@nocobase/client 1.6.25 → 1.6.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -19,7 +19,7 @@
19
19
  display: flex;
20
20
  margin: 5px 0px;
21
21
  }
22
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},dataSource={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input","x-reactions":e=>{!e.initialValue&&!e.initialized&&(e.initialValue=(0,import_shared.uid)(),e.setValue((0,import_shared.uid)()))}}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},defaultProps={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}},recordPickerViewer={type:"void",title:'{{ t("View record") }}',"x-component":"RecordPicker.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},collectionDataSource={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"},index=Object.freeze(Object.defineProperty({__proto__:null,autoFill,autoIncrement,collectionDataSource,constraintsProps,dataSource,dateTimeProps,defaultProps,operators,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]}}"}}}]})}}}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)}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 V(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 V(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>V(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 j;if(b.includes(F.name)||!F.interface||["sort","password","sequence"].includes(F.type)||o&&o(F))return;const k={type:"duplicate",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},R=P(x({},k),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(k.type="reference",R.type="reference",R.title=import_react2.default.createElement(TreeNode,P(x({},k),{type:"reference",displayType:t})),R.isLeaf=!1,R.children=p(F.target,{depth:S+1,maxDepth:C,prefix:R.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(R.isLeaf=!1,R.children=d(F.target,{depth:S+1,maxDepth:C,prefix:R.key,exclude:["id",...systemKeys]})),R}).filter(Boolean),p=(v,{prefix:b,maxDepth:S,depth:C=0,exclude:y=[]})=>C>S?[]:r(v).map(F=>{var j;if(!F.target||!F.interface||y.includes(F.name))return;const k={type:"preloading",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},R=b?`${b}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:R,isLeaf:!1,field:F,children:p(F.target,{prefix:R,depth:C+1,maxDepth:S,exclude:y})}}).filter(Boolean),g=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?g(b.children):null})),h=(0,import_react2.useCallback)((v,b,S)=>{var C,y;const F=b.index,j=(y=(C=u.initialValue)==null?void 0:C.items)==null?void 0:y[F];if(!v)return[];if(j!=null&&j.treeData||S)return g(S||j.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(k){return console.error(k),[]}},[]),_=(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:h,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const b=r(v),S=(y,F)=>{var j,k;if(!y.interface)return;const R=a(y.interface);if(!(R!=null&&R.filterable))return;const{nested:N,children:w,operators:O}=R.filterable,D={name:y.name,title:((j=y==null?void 0:y.uiSchema)==null?void 0:j.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((k=O==null?void 0:O.filter)==null?void 0:k.call(O,T=>!(T!=null&&T.visible)||T.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(w!=null&&w.length&&(D.children=w),N){const T=r(y.target),$=C(T,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...$)}return D}},C=(y,F)=>{const j=[];return y.forEach(k=>{const R=S(k,F);R&&j.push(R)}),j};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 MatchAdminContext=import_react2.default.createContext(!1);MatchAdminContext.displayName="MatchAdminContext";const MatchAdminNameContext=import_react2.default.createContext(!1);MatchAdminNameContext.displayName="MatchAdminNameContext";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})},MatchAdminProvider=({children:e})=>{const t=!!(0,import_react_router_dom.useMatch)("/admin");return(0,import_jsx_runtime.jsx)(MatchAdminContext.Provider,{value:t,children:e})},MatchAdminNameProvider=({children:e})=>{const t=!!(0,import_react_router_dom.useMatch)("/admin/:name");return(0,import_jsx_runtime.jsx)(MatchAdminNameContext.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),useMatchAdmin=()=>import_react2.default.useContext(MatchAdminContext),useMatchAdminName=()=>import_react2.default.useContext(MatchAdminNameContext),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)(MatchAdminProvider,{children:(0,import_jsx_runtime.jsx)(MatchAdminNameProvider,{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"),g=n.getSchemaAttribute("x-use-decorator-props");if(m&&p&&a(m)===r)return p;if(d&&g&&a(d)===r)return g},[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)({readPretty:n}),[n]),{resource:d,service:p,updateAssociationValues:g}=useBlockRequestContext(),h=(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:g,formBlockRef:h,collectionName:l||((v=o.getCollectionField(c))==null?void 0:v.target),formRecord:_})},[i,c,o,l,r,u,m,a,_,d,p,g]);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:h,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})})})})})},KeepAliveProvider=({children:e,active:t})=>{const o=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_LocationContext),r=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_RouteContext),i=(0,import_react2.useRef)(o),n=(0,import_react2.useRef)(r);return t&&!import_lodash.default.isEqual(import_lodash.default.omit(i.current.location,"key"),import_lodash.default.omit(o.location,"key"))&&(i.current=o),t&&!import_lodash.default.isEqual(n.current,r)&&(n.current=r),(0,import_jsx_runtime.jsx)(KeepAliveContext.Provider,{value:t,children:(0,import_jsx_runtime.jsx)(DesignableInterceptor,{active:t,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:i.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:n.current,children:e})})})})},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 o=(0,import_react2.useRef)([]);return o.current.includes(t)||(o.current.push(t),o.current.length>MAX_RENDERED_PAGE_COUNT&&(o.current=o.current.slice(-MAX_RENDERED_PAGE_COUNT))),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o.current.map(r=>(0,import_jsx_runtime.jsx)(CurrentPageUidContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r===t,children:e(r)})},r))})});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 g=o.getSourceKeyByAssociation(r),h=l instanceof CollectionRecord?l.data:l;if((0,import_lodash.isArray)(g)){const _={};for(const f of g)_[f]=h==null?void 0:h[f];return encodeURIComponent(JSON.stringify(_))}else return h[g]}},[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 DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable();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)(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(),g=useDataSourceHeaders(p.dataSource),h=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;return(S=o[r])==null?void 0:S.call(o,x(x({},C),b)).then(y=>y.data)};return useRequest((...b)=>V(this,null,function*(){const[S,C]=yield Promise.all([(a||v)(...b),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:g,sourceKey:h})]);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 V(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:g}=r,h=(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:g,params:h,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);var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(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(g=>g.uid===e.parent["x-uid"]);i.forEach(g=>{var h,_,f,v;let b=m;const S=o.find(j=>j.uid===g.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,g,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(b=m(S,g)),import_lodash.default.isFunction(d)&&(d=d(S));const C=((h=g.service.params)==null?void 0:h[0])||{},y=((f=(_=g.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[b]:{[d]:u}}]};else if((v=g.clearSelection)==null||v.call(g),delete y[r],g.dataLoadingMode==="manual")return g.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),g.defaultFilter]);g.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 FilterContext$2=(0,import_react2.createContext)(null);FilterContext$2.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$2.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(g){var h,_,f;const v=((h=this.service.params)==null?void 0:h[0])||{},b=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete b[g];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 g,h;n&&((h=(g=n.data)==null?void 0:g.clearSelectedRowKeys)==null||h.call(g))}})},[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$2),t=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),o=(0,import_react2.useCallback)(i=>{const n=e==null?void 0:e.getDataBlocks().find(a=>a.uid===i.uid);if(n){Object.assign(n,i);return}e==null||e.setDataBlocks(a=>[...a,i])},[e]),r=(0,import_react2.useCallback)(i=>{e!=null&&e.getDataBlocks().every(n=>n.uid!==i)||e==null||e.setDataBlocks(n=>n.filter(a=>a.uid!==i))},[e]);return e?{recordDataBlocks:o,getDataBlocks:t,removeDataBlock:r,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:t,removeDataBlock:import_lodash.default.noop}},useLabelUiSchemaV2=()=>{const e=useCollectionManager();return(t,o)=>{if(!t)return;const r=e==null?void 0:e.getCollectionField(`${t}.${o}`);return r==null?void 0:r.uiSchema}},useLabelUiSchema$1=(e,t)=>{const o=useCollectionManager();if(!e)return;const r=o==null?void 0:o.getCollectionField(`${e}.${t}`);return r==null?void 0:r.uiSchema},getDatePickerLabels$1=e=>{const t=(0,import_client.getDefaultFormat)(e),o=(0,import_client.str2moment)(e.value,e),r=o&&o.isValid()?o.format(t):e.value;return(0,import_shared.isArr)(r)?r.join("~"):r},toArr$2=e=>e?Array.isArray(e)?e:[e]:[],getLabelFormatValue$1=(e,t,o=!1)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t){const i=toArr$2(t).map(n=>{const a=r.find(l=>l.value===n);return o?import_react2.default.createElement(import_antd.Tag,{color:a==null?void 0:a.color},a==null?void 0:a.label):a==null?void 0:a.label});return o?i:i.join(", ")}switch(e==null?void 0:e["x-component"]){case"DatePicker":return getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t}));default:return t}},getTabFormatValue=(e,t,o)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t)return toArr$2(t).map(i=>{const n=r.find(a=>a.value===i);return import_react2.default.createElement(import_antd.Tag,{color:o||(n==null?void 0:n.color)},n==null?void 0:n.label)});switch(e==null?void 0:e["x-component"]){case"DatePicker":return import_react2.default.createElement(import_antd.Tag,{color:o},getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t})));default:return import_react2.default.createElement(import_antd.Tag,{color:o},t)}};function flatData$2(e){const t=[];for(let o=0;o<e.length;o++){const r=e[o].children;Array.isArray(r)&&t.push(...flatData$2(r)),t.push(x({},e[o]))}return t}function isSubMode(e){var t,o;const r=((t=e["x-component-props"])==null?void 0:t.mode)||((o=e.componentProps)==null?void 0:o.mode);return["Nester","SubTable","PopoverNester"].includes(r)}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?"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)}};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 conditionAnalyses=(e,t)=>V(void 0,[e,t],function*({ruleGroup:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){const l=Object.keys(o)[0]||"$and";let c=o[l].map(u=>V(void 0,null,function*(){if("$and"in u||"$or"in u)return yield conditionAnalyses({ruleGroup:u,variables:r,localVariables:i},a);const m=getInnermostKeyAndValue(u),d=m==null?void 0:m.key;if(!d)return!0;const p=targetFieldToVariableString(getTargetField$1(u),n),g=r.parseVariable(p,i,{doNotRequest:!0}).then(({value:_})=>_),h=isVariable$1(m==null?void 0:m.value)?[r.parseVariable(m==null?void 0:m.value,i).then(({value:_})=>_),g]:[m==null?void 0:m.value,g];try{const[_,f]=yield Promise.all(h),v=yield r.getCollectionField(p,i);let b=transformVariableValue(f,{targetCollectionField:v});const S=transformVariableValue(_,{targetCollectionField:v});if(v!=null&&v.type&&["datetime","date","datetimeNoTz","dateOnly","unixTimestamp"].includes(v.type)&&b){const C=inferPickerType(S),y=(0,import_client.getPickerFormat)(C);b=(0,import_client.dayjs)(b).format(y)}return a.apply({[d]:[b,S]})}catch(_){throw _}}));return c=yield Promise.all(c),l==="$and"?(0,import_lodash.every)(c,u=>u):c.length?(0,import_lodash.some)(c,u=>u):!0});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 V(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 console.log(l),t}else try{const l=yield replaceVariableValue(t,o,r);return yield i(l)}catch(l){return console.log(l),t}})}const getPath=e=>e&&e.match(REGEX_OF_VARIABLE)[0].replace(REGEX_OF_VARIABLE,"$1"),getVariableName=e=>import_lodash.default.isString(e)?getPath(e).split(".")[0]:e;var ActionType=(e=>(e.Visible="visible",e.Editable="editable",e.ReadOnly="disabled",e.ReadPretty="readPretty",e.None="none",e.Hidden="hidden",e.Required="required",e.InRequired="notRequired",e.Disabled="disabled",e.Value="value",e.Active="enabled",e.Color="color",e.BackgroundColor="backgroundColor",e.TextAlign="textAlign",e))(ActionType||{}),LinkageRuleCategory=(e=>(e.default="default",e.style="style",e))(LinkageRuleCategory||{});const LinkageRuleDataKeyMap={style:"x-linkage-style-rules",default:"x-linkage-rules"};function bindLinkageRulesToFiled({field:e,linkageRules:t,formValues:o,localVariables:r,action:i,rule:n,variables:a,variableNameOfLeftCondition:l},c){var u,m,d,p;return e.initStateOfLinkageRules={display:((u=e.initStateOfLinkageRules)==null?void 0:u.display)||getTempFieldState(!0,e.display),required:((m=e.initStateOfLinkageRules)==null?void 0:m.required)||getTempFieldState(!0,e.required||!1),pattern:((d=e.initStateOfLinkageRules)==null?void 0:d.pattern)||getTempFieldState(!0,e.pattern),value:((p=e.initStateOfLinkageRules)==null?void 0:p.value)||getTempFieldState(!0,e.value||e.initialValue)},(0,import_reactive.reaction)(()=>{const g=getFieldValuesInCondition({linkageRules:t,formValues:o}),h=getVariableValuesInCondition({linkageRules:t,localVariables:r}),_=getVariableValuesInExpression({action:i,localVariables:r});return[g,h,_].map(f=>JSON.stringify(f)).join(",")},getSubscriber({action:i,field:e,rule:n,variables:a,localVariables:r,variableNameOfLeftCondition:l},c),{fireImmediately:!0,equals:import_lodash.default.isEqual})}function getFieldValuesInCondition({linkageRules:e,formValues:t}){return e.map(o=>{const r=i=>{const n=Object.keys(i)[0]||"$and";return i[n].map(a=>{if("$and"in a||"$or"in a)return r(a);const l=getTargetField$1(a).join(".");return(0,import_client.getValuesByPath)(t,l)}).filter(Boolean)};return r(o.condition)})}function getVariableValuesInCondition({linkageRules:e,localVariables:t}){return e.map(o=>{const r=Object.keys(o.condition)[0]||"$and";return o.condition[r].map(i=>{const n=getInnermostKeyAndValue(i);return n?isVariable$1(n.value)?getVariableValue(n.value,t):n.value:null}).filter(Boolean)})}function getVariableValuesInExpression({action:e,localVariables:t}){var o;const r=e.value,i=r==null?void 0:r.mode,n=(r==null?void 0:r.value)||(r==null?void 0:r.result);if(i==="express"&&n!=null)return(o=getVariablesFromExpression(n))==null?void 0:o.map(a=>getVariableValue(a,t)).filter(Boolean)}function getVariableValue(e,t){var o;if(!isVariable$1(e))return;const r=getVariableName(e),i={[r]:(o=t.find(n=>n.name===r))==null?void 0:o.ctx};return(0,import_client.getValuesByPath)(i,getPath(e))}function getSubscriber({action:e,field:t,rule:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){return()=>{collectFieldStateOfLinkageRules({operator:e.operator,value:e.value,field:t,condition:o.condition,variables:r,localVariables:i,variableNameOfLeftCondition:n},a),setTimeout(()=>V(this,null,function*(){var l;const c=getFieldNameByOperator(e.operator);if(!((l=t.stateOfLinkageRules)!=null&&l[c]))return;let u=t.stateOfLinkageRules[c];u=yield Promise.all(u),u=u.filter(d=>d.condition);const m=u[u.length-1];c==="value"?u.length>1&&(t.value=m.value):(c==="display"&&(m==null?void 0:m.value)==="hidden"?(t.display="visible",t.data=t.data||{},t.data.hidden=!0,t.required&&(t.required=!1,t.data.prevRequired=!0),requestAnimationFrame(()=>{t.setState(d=>{d.display="visible"})})):(t[c]=m==null?void 0:m.value,t.data=t.data||{},t.data.hidden=!1,c==="display"&&(m==null?void 0:m.value)==="visible"&&t.data.prevRequired&&(delete t.data.prevRequired,t.required=!0),requestAnimationFrame(()=>{t.setState(d=>{d[c]=m==null?void 0:m.value})})),c==="display"&&(m==null?void 0:m.value)==="none"&&(t.value=null)),t.stateOfLinkageRules[c]=null}))}}function getFieldNameByOperator(e){switch(e){case ActionType.Required:case ActionType.InRequired:return"required";case ActionType.Visible:case ActionType.None:case ActionType.Hidden:return"display";case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:return"pattern";case ActionType.Value:return"value";default:return null}}const collectFieldStateOfLinkageRules=({operator:e,value:t,field:o,condition:r,variables:i,localVariables:n,variableNameOfLeftCondition:a},l)=>{var c,u,m,d,p,g,h,_;const f=((c=o==null?void 0:o.stateOfLinkageRules)==null?void 0:c.required)||[(u=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:u.required],v=((m=o==null?void 0:o.stateOfLinkageRules)==null?void 0:m.display)||[(d=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:d.display],b=((p=o==null?void 0:o.stateOfLinkageRules)==null?void 0:p.pattern)||[(g=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:g.pattern],S=((h=o==null?void 0:o.stateOfLinkageRules)==null?void 0:h.value)||[(_=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:_.value],{evaluate:C}=import_client3.evaluators.get("formula.js"),y={ruleGroup:r,variables:i,localVariables:n,variableNameOfLeftCondition:a};switch(e){case ActionType.Required:f.push(getTempFieldState(conditionAnalyses(y,l),!0)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:f});break;case ActionType.InRequired:f.push(getTempFieldState(conditionAnalyses(y,l),!1)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:f});break;case ActionType.Visible:case ActionType.None:case ActionType.Hidden:v.push(getTempFieldState(conditionAnalyses(y,l),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{display:v});break;case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:b.push(getTempFieldState(conditionAnalyses(y,l),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{pattern:b});break;case ActionType.Value:{const F=()=>V(void 0,null,function*(){var j;if((t==null?void 0:t.mode)==="express"){if((t.value||t.result)==null)return;const{exp:k,scope:R}=yield replaceVariables(t.value||t.result,{variables:i,localVariables:n});try{return C(k,x({now:()=>new Date().toString()},R))}catch(N){console.error(N)}}else return(t==null?void 0:t.mode)==="constant"?(j=t==null?void 0:t.value)!=null?j:t:null});isConditionEmpty(r)?S.push(getTempFieldState(!0,F())):S.push(getTempFieldState(conditionAnalyses(y,l),F())),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{value:S})}break;default:return null}};function getTempFieldState(e,t){return V(this,null,function*(){return[e,t]=yield Promise.all([e,t]),{condition:e,value:t}})}function isConditionEmpty(e){const t=Object.keys(e)[0]||"$and",o=e[t];return import_lodash.default.isEmpty(o)}function replaceVariables(e,t){return V(this,arguments,function*(o,{variables:r,localVariables:i}){var n;const a={},l={};if(o==null)return;const c=(n=o.match(REGEX_OF_VARIABLE_IN_EXPRESSION))==null?void 0:n.map(u=>V(this,null,function*(){const{value:m}=yield r.parseVariable(u,i,{doNotRequest:u.includes("$nForm")}),d=`_${(0,import_client.uid)()}`;return l[d]=m,a[u]=d,m}));return c&&(yield Promise.all(c)),{exp:o.replace(REGEX_OF_VARIABLE_IN_EXPRESSION,u=>`{{${a[u]||u}}}`),scope:l}})}const AppNotFound$1=()=>{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"})})};function SelectWithTitle(e){var t=e,{title:o,defaultValue:r,onChange:i,options:n,fieldNames:a}=t,l=Y(t,["title","defaultValue","onChange","options","fieldNames"]);const[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useRef)(null);return(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:d=>{d.stopPropagation(),u(p=>!p)},onMouseLeave:()=>{m.current=setTimeout(()=>{u(!1)},200)},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({},l),{open:c,"data-testid":`select-${o}`,popupMatchSelectWidth:!1,bordered:!1,defaultValue:r,onChange:i,popupClassName:`select-popup-${o.replaceAll(" ","-")}`,fieldNames:a,options:n,style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(m.current)}}))]})}class SchemaSettings{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=P(x({},o),{name:r[r.length-1]});if(r.length===1){const l=this.items.findIndex(c=>c.name===t);l===-1?this.items.push(i):this.items[l]=i;return}const n=r.slice(0,-1).join("."),a=this.get(n);if(a){a.children||(a.children=[]);const l=t.replace(`${a.name}.`,""),c=a.children.findIndex(u=>u.name===l);c===-1?a.children.push(i):a.children[c]=i}}get(t){if(!t)return;const o=t.split(".");let r=this.items;for(let i=0;i<o.length;i++){const n=o[i];if(r=r.find(a=>a.name===n),!r||i===o.length-1)return r;if(r.children)r=r.children;else return}}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)}}}class SchemaSettingsManager{constructor(t=[],o){A(this,"schemaSettings",{}),A(this,"actionList",{}),this._schemaSettings=t,this.app=o,this.app=o,this.add(...t)}add(...t){t.forEach(o=>{this.schemaSettings[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.schemaSettings[t]}getAll(){return this.schemaSettings}has(t){return!!this.get(t)}remove(t){delete this.schemaSettings[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}))}}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)",colorBorderSettingsHover:"rgba(241, 139, 98, 0.3)",motionUnit:.03,motion:!0}};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("--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.colorBorderSettingsHover,t.colorInfoBg,t.colorInfoBorder,t.colorPrimaryText,t.colorPrimaryTextActive,t.colorPrimaryTextHover,t.colorSettings,t.colorText,t.colorWarningBg,t.colorWarningBorder,t.controlHeightLG,t.marginLG,t.marginSM,t.marginXS,t.paddingContentVerticalSM,t.sizeXXL,t.colorTextHeaderMenu]),e};CSSVariableProvider.displayName="CSSVariableProvider";const dayjsLocale={"ar-EG":"ar","az-AZ":"az","bg-BG":"bg","bn-BD":"bn-bd","by-BY":"en","ca-ES":"ca","cs-CZ":"cs","da-DK":"da","de-DE":"de","el-GR":"el","en-GB":"en-gb","en-US":"en","es-ES":"es","et-EE":"et","fa-IR":"fa","fi-FI":"fi","fr-BE":"fr","fr-CA":"fr","fr-FR":"fr","ga-IE":"ga","gl-ES":"gl","he-IL":"he","hi-IN":"hi","hr-HR":"hr","hu-HU":"hu","hy-AM":"hy-am","id-ID":"id","is-IS":"is","it-IT":"it","ja-JP":"ja","ka-GE":"ka","kk-KZ":"kk","km-KH":"km","kn-IN":"kn","ko-KR":"ko","ku-IQ":"ku","lt-LT":"lt","lv-LV":"lv","mk-MK":"mk","ml-IN":"ml","mn-MN":"mn","ms-MY":"ms","nb-NO":"nb","ne-NP":"ne","nl-BE":"nl-be","nl-NL":"nl","pl-PL":"pl","pt-BR":"pt-br","pt-PT":"pt","ro-RO":"ro","ru-RU":"ru","si-LK":"si","sk-SK":"sk","sl-SI":"sl","sr-RS":"sr","sv-SE":"sv","ta-IN":"ta","th-TH":"th","tk-TK":"tk","tr-TR":"tr","uk-UA":"uk","ur-PK":"ur","vi-VN":"vi","zh-CN":"zh-cn","zh-HK":"zh-hk","zh-TW":"zh-tw"},languageCodes={"ar-EG":{label:"العربية"},"az-AZ":{label:"Azərbaycan dili"},"bg-BG":{label:"Български"},"bn-BD":{label:"Bengali"},"by-BY":{label:"Беларускі"},"ca-ES":{label:"Сatalà/Espanya"},"cs-CZ":{label:"Česky"},"da-DK":{label:"Dansk"},"de-DE":{label:"Deutsch"},"el-GR":{label:"Ελληνικά"},"en-GB":{label:"English(GB)"},"en-US":{label:"English"},"es-ES":{label:"Español"},"et-EE":{label:"Estonian (Eesti)"},"fa-IR":{label:"فارسی"},"fi-FI":{label:"Suomi"},"fr-BE":{label:"Français(BE)"},"fr-CA":{label:"Français(CA)"},"fr-FR":{label:"Français"},"ga-IE":{label:"Gaeilge"},"gl-ES":{label:"Galego"},"he-IL":{label:"עברית"},"hi-IN":{label:"हिन्दी"},"hr-HR":{label:"Hrvatski jezik"},"hu-HU":{label:"Magyar"},"hy-AM":{label:"Հայերեն"},"id-ID":{label:"Bahasa Indonesia"},"is-IS":{label:"Íslenska"},"it-IT":{label:"Italiano"},"ja-JP":{label:"日本語"},"ka-GE":{label:"ქართული"},"kk-KZ":{label:"Қазақ тілі"},"km-KH":{label:"ភាសាខ្មែរ"},"kn-IN":{label:"ಕನ್ನಡ"},"ko-KR":{label:"한국어"},"ku-IQ":{label:"کوردی"},"lt-LT":{label:"lietuvių"},"lv-LV":{label:"Latviešu valoda"},"mk-MK":{label:"македонски јазик"},"ml-IN":{label:"മലയാളം"},"mn-MN":{label:"Монгол хэл"},"ms-MY":{label:"بهاس ملايو"},"nb-NO":{label:"Norsk bokmål"},"ne-NP":{label:"नेपाली"},"nl-BE":{label:"Vlaams"},"nl-NL":{label:"Nederlands"},"pl-PL":{label:"Polski"},"pt-BR":{label:"Português brasileiro"},"pt-PT":{label:"Português"},"ro-RO":{label:"România"},"ru-RU":{label:"Русский"},"si-LK":{label:"සිංහල"},"sk-SK":{label:"Slovenčina"},"sl-SI":{label:"Slovenščina"},"sr-RS":{label:"српски језик"},"sv-SE":{label:"Svenska"},"ta-IN":{label:"Tamil"},"th-TH":{label:"ภาษาไทย"},"tk-TK":{label:"Turkmen"},"tr-TR":{label:"Türkçe"},"uk-UA":{label:"Українська"},"ur-PK":{label:"Oʻzbekcha"},"vi-VN":{label:"Tiếng Việt"},"zh-CN":{label:"简体中文"},"zh-HK":{label:"繁體中文(香港)"},"zh-TW":{label:"繁體中文(台湾)"}};function tval(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}const i18n=import_i18next.default.createInstance();Object.keys(languageCodes).forEach(e=>{languageCodes[e].resources});i18n.use(import_react_i18next.initReactI18next).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1});function defineDevPlugins(e){Object.entries(e).forEach(([t,o])=>{window.define(`${t}/client`,()=>o)})}function definePluginClient(e){window.define(`${e}/client`,["exports",e],function(t,o){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(o).forEach(function(r){r!=="__esModule"&&(r in t&&t[r]===o[r]||Object.defineProperty(t,r,{enumerable:!0,get:function(){return o[r]}}))})})}function configRequirejs(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((o,r)=>(o[r.packageName]=r.url,o),{})})}function processRemotePlugins(e,t){return(...o)=>{const r=o.map((n,a)=>[e[a].name,(n==null?void 0:n.default)||n]).filter(n=>n[1]);t(r);const i=o.map((n,a)=>n?null:a).filter(n=>n!==null).map(n=>e[n].packageName);i.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",i.join(`, \r
22
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:"HH:mm:ss",enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}},dataSource={type:"array",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"ArrayTable","x-component-props":{pagination:{pageSize:1e3}},items:{type:"object",properties:{column1:{type:"void","x-component":"ArrayTable.Column","x-component-props":{width:50,title:"",align:"center"},properties:{sort:{type:"void","x-component":"ArrayTable.SortHandle"}}},column2:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option value")}}'},properties:{value:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input","x-reactions":e=>{!e.initialValue&&!e.initialized&&(e.initialValue=(0,import_shared.uid)(),e.setValue((0,import_shared.uid)()))}}}},column3:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Option label")}}'},properties:{label:{type:"string",required:!0,"x-decorator":"FormItem","x-component":"Input"}}},column4:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:'{{t("Color")}}'},properties:{color:{type:"string","x-decorator":"FormItem","x-component":"ColorSelect"}}},column5:{type:"void","x-component":"ArrayTable.Column","x-component-props":{title:"",dataIndex:"operations",fixed:"right"},properties:{item:{type:"void","x-component":"FormItem",properties:{remove:{type:"void","x-component":"ArrayTable.Remove"}}}}}}},properties:{add:{type:"void","x-component":"ArrayTable.Addition","x-component-props":{randomValue:!0},title:"{{t('Add option')}}"}}},defaultProps={"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":"{{ !createOnly }}","x-decorator":"FormItem","x-component":"Input","x-validator":"uid",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}},recordPickerViewer={type:"void",title:'{{ t("View record") }}',"x-component":"RecordPicker.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},collectionDataSource={type:"string",title:'{{t("Options")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},enum:"{{collections}}"},index=Object.freeze(Object.defineProperty({__proto__:null,autoFill,autoIncrement,collectionDataSource,constraintsProps,dataSource,dateTimeProps,defaultProps,operators,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]}}"}}}]})}}}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)}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 V(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 V(this,null,function*(){return yield Promise.all(this.multiDataSources.map(t=>V(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 j;if(b.includes(F.name)||!F.interface||["sort","password","sequence"].includes(F.type)||o&&o(F))return;const k={type:"duplicate",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},R=P(x({},k),{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:y?`${y}.${F.name}`:F.name,isLeaf:!0,field:F});return["belongsTo","belongsToMany"].includes(F.type)?(k.type="reference",R.type="reference",R.title=import_react2.default.createElement(TreeNode,P(x({},k),{type:"reference",displayType:t})),R.isLeaf=!1,R.children=p(F.target,{depth:S+1,maxDepth:C,prefix:R.key,exclude:systemKeys})):["hasOne","hasMany"].includes(F.type)&&(R.isLeaf=!1,R.children=d(F.target,{depth:S+1,maxDepth:C,prefix:R.key,exclude:["id",...systemKeys]})),R}).filter(Boolean),p=(v,{prefix:b,maxDepth:S,depth:C=0,exclude:y=[]})=>C>S?[]:r(v).map(F=>{var j;if(!F.target||!F.interface||y.includes(F.name))return;const k={type:"preloading",tag:c((j=F.uiSchema)==null?void 0:j.title)||F.name},R=b?`${b}.${F.name}`:F.name;return{role:"button",title:import_react2.default.createElement(TreeNode,P(x({},k),{displayType:t})),key:R,isLeaf:!1,field:F,children:p(F.target,{prefix:R,depth:C+1,maxDepth:S,exclude:y})}}).filter(Boolean),g=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?g(b.children):null})),h=(0,import_react2.useCallback)((v,b,S)=>{var C,y;const F=b.index,j=(y=(C=u.initialValue)==null?void 0:C.items)==null?void 0:y[F];if(!v)return[];if(j!=null&&j.treeData||S)return g(S||j.treeData);try{return d(v,{exclude:["id",...systemKeys],maxDepth:1})}catch(k){return console.error(k),[]}},[]),_=(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:h,getOnLoadData:_,getOnCheck:f,getScopeDataSource:v=>{const b=r(v),S=(y,F)=>{var j,k;if(!y.interface)return;const R=a(y.interface);if(!(R!=null&&R.filterable))return;const{nested:N,children:w,operators:O}=R.filterable,D={name:y.name,title:((j=y==null?void 0:y.uiSchema)==null?void 0:j.title)||y.name,schema:y==null?void 0:y.uiSchema,operators:((k=O==null?void 0:O.filter)==null?void 0:k.call(O,T=>!(T!=null&&T.visible)||T.visible(y)))||[],interface:y.interface};if(!(y.target&&F>2)){if(F>2)return D;if(w!=null&&w.length&&(D.children=w),N){const T=r(y.target),$=C(T,F+1).filter(Boolean);D.children=D.children||[],D.children.push(...$)}return D}},C=(y,F)=>{const j=[];return y.forEach(k=>{const R=S(k,F);R&&j.push(R)}),j};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 MatchAdminContext=import_react2.default.createContext(!1);MatchAdminContext.displayName="MatchAdminContext";const MatchAdminNameContext=import_react2.default.createContext(!1);MatchAdminNameContext.displayName="MatchAdminNameContext";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})},MatchAdminProvider=({children:e})=>{const t=!!(0,import_react_router_dom.useMatch)("/admin");return(0,import_jsx_runtime.jsx)(MatchAdminContext.Provider,{value:t,children:e})},MatchAdminNameProvider=({children:e})=>{const t=!!(0,import_react_router_dom.useMatch)("/admin/:name");return(0,import_jsx_runtime.jsx)(MatchAdminNameContext.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),useMatchAdmin=()=>import_react2.default.useContext(MatchAdminContext),useMatchAdminName=()=>import_react2.default.useContext(MatchAdminNameContext),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)(MatchAdminProvider,{children:(0,import_jsx_runtime.jsx)(MatchAdminNameProvider,{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"),g=n.getSchemaAttribute("x-use-decorator-props");if(m&&p&&a(m)===r)return p;if(d&&g&&a(d)===r)return g},[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:g}=useBlockRequestContext(),h=(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:g,formBlockRef:h,collectionName:l||((v=o.getCollectionField(c))==null?void 0:v.target),formRecord:_})},[i,c,o,l,r,u,m,a,_,d,p,g]);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:h,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})})})})})},KeepAliveProvider=({children:e,active:t})=>{const o=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_LocationContext),r=(0,import_react2.useContext)(import_react_router_dom.UNSAFE_RouteContext),i=(0,import_react2.useRef)(o),n=(0,import_react2.useRef)(r);return t&&!import_lodash.default.isEqual(import_lodash.default.omit(i.current.location,"key"),import_lodash.default.omit(o.location,"key"))&&(i.current=o),t&&!import_lodash.default.isEqual(n.current,r)&&(n.current=r),(0,import_jsx_runtime.jsx)(KeepAliveContext.Provider,{value:t,children:(0,import_jsx_runtime.jsx)(DesignableInterceptor,{active:t,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:i.current,children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:n.current,children:e})})})})},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 o=(0,import_react2.useRef)([]);return o.current.includes(t)||(o.current.push(t),o.current.length>MAX_RENDERED_PAGE_COUNT&&(o.current=o.current.slice(-MAX_RENDERED_PAGE_COUNT))),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o.current.map(r=>(0,import_jsx_runtime.jsx)(CurrentPageUidContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r===t,children:e(r)})},r))})});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 g=o.getSourceKeyByAssociation(r),h=l instanceof CollectionRecord?l.data:l;if((0,import_lodash.isArray)(g)){const _={};for(const f of g)_[f]=h==null?void 0:h[f];return encodeURIComponent(JSON.stringify(_))}else return h[g]}},[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 DataBlockContext=(0,import_react2.createContext)({});DataBlockContext.displayName="DataBlockContext";const DataBlockResourceContext=(0,import_react2.createContext)(null),RerenderDataBlockProvider=({children:e})=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_react2.useMemo)(()=>({rerenderDataBlock:()=>{o(!0),setTimeout(()=>{o(!1)})}}),[]);return t?null:(0,import_jsx_runtime.jsx)(DataBlockResourceContext.Provider,{value:r,children:e})},AssociationOrCollectionProvider=e=>{const{collection:t,association:o,allowNull:r=!1}=e,i=(0,import_react2.useMemo)(()=>o?{Component:AssociationProvider,name:o}:{Component:SanitizedCollectionProvider,name:t},[t,o]);return(0,import_jsx_runtime.jsx)(i.Component,{name:i.name,allowNull:r,children:e.children})},DataBlockProvider=withDynamicSchemaProps(import_react2.default.memo(e=>{const t=e,{collection:o,association:r,dataSource:i,children:n,hidden:a}=t,l=Y(t,["collection","association","dataSource","children","hidden"]),{dn:c}=useDesignable();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)(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(),g=useDataSourceHeaders(p.dataSource),h=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;return(S=o[r])==null?void 0:S.call(o,x(x({},C),b)).then(y=>y.data)};return useRequest((...b)=>V(this,null,function*(){const[S,C]=yield Promise.all([(a||v)(...b),requestParentRecordData({sourceId:c,association:u,parentRecord:m,api:d,headers:g,sourceKey:h})]);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 V(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:g}=r,h=(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:g,params:h,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);var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(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(g=>g.uid===e.parent["x-uid"]);i.forEach(g=>{var h,_,f,v;let b=m;const S=o.find(j=>j.uid===g.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,g,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(b=m(S,g)),import_lodash.default.isFunction(d)&&(d=d(S));const C=((h=g.service.params)==null?void 0:h[0])||{},y=((f=(_=g.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[b]:{[d]:u}}]};else if((v=g.clearSelection)==null||v.call(g),delete y[r],g.dataLoadingMode==="manual")return g.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),g.defaultFilter]);g.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 FilterContext$2=(0,import_react2.createContext)(null);FilterContext$2.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$2.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(g){var h,_,f;const v=((h=this.service.params)==null?void 0:h[0])||{},b=((f=(_=this.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};delete b[g];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 g,h;n&&((h=(g=n.data)==null?void 0:g.clearSelectedRowKeys)==null||h.call(g))}})},[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$2),t=(0,import_react2.useCallback)(()=>(e==null?void 0:e.getDataBlocks())||[],[e]),o=(0,import_react2.useCallback)(i=>{const n=e==null?void 0:e.getDataBlocks().find(a=>a.uid===i.uid);if(n){Object.assign(n,i);return}e==null||e.setDataBlocks(a=>[...a,i])},[e]),r=(0,import_react2.useCallback)(i=>{e!=null&&e.getDataBlocks().every(n=>n.uid!==i)||e==null||e.setDataBlocks(n=>n.filter(a=>a.uid!==i))},[e]);return e?{recordDataBlocks:o,getDataBlocks:t,removeDataBlock:r,inProvider:!0}:{inProvider:!1,recordDataBlocks:import_lodash.default.noop,getDataBlocks:t,removeDataBlock:import_lodash.default.noop}},useLabelUiSchemaV2=()=>{const e=useCollectionManager();return(t,o)=>{if(!t)return;const r=e==null?void 0:e.getCollectionField(`${t}.${o}`);return r==null?void 0:r.uiSchema}},useLabelUiSchema$1=(e,t)=>{const o=useCollectionManager();if(!e)return;const r=o==null?void 0:o.getCollectionField(`${e}.${t}`);return r==null?void 0:r.uiSchema},getDatePickerLabels$1=e=>{const t=(0,import_client.getDefaultFormat)(e),o=(0,import_client.str2moment)(e.value,e),r=o&&o.isValid()?o.format(t):e.value;return(0,import_shared.isArr)(r)?r.join("~"):r},toArr$2=e=>e?Array.isArray(e)?e:[e]:[],getLabelFormatValue$1=(e,t,o=!1)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t){const i=toArr$2(t).map(n=>{const a=r.find(l=>l.value===n);return o?import_react2.default.createElement(import_antd.Tag,{color:a==null?void 0:a.color},a==null?void 0:a.label):a==null?void 0:a.label});return o?i:i.join(", ")}switch(e==null?void 0:e["x-component"]){case"DatePicker":return getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t}));default:return t}},getTabFormatValue=(e,t,o)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t)return toArr$2(t).map(i=>{const n=r.find(a=>a.value===i);return import_react2.default.createElement(import_antd.Tag,{color:o||(n==null?void 0:n.color)},n==null?void 0:n.label)});switch(e==null?void 0:e["x-component"]){case"DatePicker":return import_react2.default.createElement(import_antd.Tag,{color:o},getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t})));default:return import_react2.default.createElement(import_antd.Tag,{color:o},t)}};function flatData$2(e){const t=[];for(let o=0;o<e.length;o++){const r=e[o].children;Array.isArray(r)&&t.push(...flatData$2(r)),t.push(x({},e[o]))}return t}function isSubMode(e){var t,o;const r=((t=e["x-component-props"])==null?void 0:t.mode)||((o=e.componentProps)==null?void 0:o.mode);return["Nester","SubTable","PopoverNester"].includes(r)}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?"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)}};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 conditionAnalyses=(e,t)=>V(void 0,[e,t],function*({ruleGroup:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){const l=Object.keys(o)[0]||"$and";let c=o[l].map(u=>V(void 0,null,function*(){if("$and"in u||"$or"in u)return yield conditionAnalyses({ruleGroup:u,variables:r,localVariables:i},a);const m=getInnermostKeyAndValue(u),d=m==null?void 0:m.key;if(!d)return!0;const p=targetFieldToVariableString(getTargetField$1(u),n),g=r.parseVariable(p,i,{doNotRequest:!0}).then(({value:_})=>_),h=isVariable$1(m==null?void 0:m.value)?[r.parseVariable(m==null?void 0:m.value,i).then(({value:_})=>_),g]:[m==null?void 0:m.value,g];try{const[_,f]=yield Promise.all(h),v=yield r.getCollectionField(p,i);let b=transformVariableValue(f,{targetCollectionField:v});const S=transformVariableValue(_,{targetCollectionField:v});if(v!=null&&v.type&&["datetime","date","datetimeNoTz","dateOnly","unixTimestamp"].includes(v.type)&&b){const C=inferPickerType(S),y=(0,import_client.getPickerFormat)(C);b=(0,import_client.dayjs)(b).format(y)}return a.apply({[d]:[b,S]})}catch(_){throw _}}));return c=yield Promise.all(c),l==="$and"?(0,import_lodash.every)(c,u=>u):c.length?(0,import_lodash.some)(c,u=>u):!0});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 V(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 console.log(l),t}else try{const l=yield replaceVariableValue(t,o,r);return yield i(l)}catch(l){return console.log(l),t}})}const getPath=e=>e&&e.match(REGEX_OF_VARIABLE)[0].replace(REGEX_OF_VARIABLE,"$1"),getVariableName=e=>import_lodash.default.isString(e)?getPath(e).split(".")[0]:e;var ActionType=(e=>(e.Visible="visible",e.Editable="editable",e.ReadOnly="disabled",e.ReadPretty="readPretty",e.None="none",e.Hidden="hidden",e.Required="required",e.InRequired="notRequired",e.Disabled="disabled",e.Value="value",e.Active="enabled",e.Color="color",e.BackgroundColor="backgroundColor",e.TextAlign="textAlign",e))(ActionType||{}),LinkageRuleCategory=(e=>(e.default="default",e.style="style",e))(LinkageRuleCategory||{});const LinkageRuleDataKeyMap={style:"x-linkage-style-rules",default:"x-linkage-rules"};function bindLinkageRulesToFiled({field:e,linkageRules:t,formValues:o,localVariables:r,action:i,rule:n,variables:a,variableNameOfLeftCondition:l},c){var u,m,d,p;return e.initStateOfLinkageRules={display:((u=e.initStateOfLinkageRules)==null?void 0:u.display)||getTempFieldState(!0,e.display),required:((m=e.initStateOfLinkageRules)==null?void 0:m.required)||getTempFieldState(!0,e.required||!1),pattern:((d=e.initStateOfLinkageRules)==null?void 0:d.pattern)||getTempFieldState(!0,e.pattern),value:((p=e.initStateOfLinkageRules)==null?void 0:p.value)||getTempFieldState(!0,e.value||e.initialValue)},(0,import_reactive.reaction)(()=>{const g=getFieldValuesInCondition({linkageRules:t,formValues:o}),h=getVariableValuesInCondition({linkageRules:t,localVariables:r}),_=getVariableValuesInExpression({action:i,localVariables:r});return[g,h,_].map(f=>JSON.stringify(f)).join(",")},getSubscriber({action:i,field:e,rule:n,variables:a,localVariables:r,variableNameOfLeftCondition:l},c),{fireImmediately:!0,equals:import_lodash.default.isEqual})}function getFieldValuesInCondition({linkageRules:e,formValues:t}){return e.map(o=>{const r=i=>{const n=Object.keys(i)[0]||"$and";return i[n].map(a=>{if("$and"in a||"$or"in a)return r(a);const l=getTargetField$1(a).join(".");return(0,import_client.getValuesByPath)(t,l)}).filter(Boolean)};return r(o.condition)})}function getVariableValuesInCondition({linkageRules:e,localVariables:t}){return e.map(o=>{const r=Object.keys(o.condition)[0]||"$and";return o.condition[r].map(i=>{const n=getInnermostKeyAndValue(i);return n?isVariable$1(n.value)?getVariableValue(n.value,t):n.value:null}).filter(Boolean)})}function getVariableValuesInExpression({action:e,localVariables:t}){var o;const r=e.value,i=r==null?void 0:r.mode,n=(r==null?void 0:r.value)||(r==null?void 0:r.result);if(i==="express"&&n!=null)return(o=getVariablesFromExpression(n))==null?void 0:o.map(a=>getVariableValue(a,t)).filter(Boolean)}function getVariableValue(e,t){var o;if(!isVariable$1(e))return;const r=getVariableName(e),i={[r]:(o=t.find(n=>n.name===r))==null?void 0:o.ctx};return(0,import_client.getValuesByPath)(i,getPath(e))}function getSubscriber({action:e,field:t,rule:o,variables:r,localVariables:i,variableNameOfLeftCondition:n},a){return()=>{collectFieldStateOfLinkageRules({operator:e.operator,value:e.value,field:t,condition:o.condition,variables:r,localVariables:i,variableNameOfLeftCondition:n},a),setTimeout(()=>V(this,null,function*(){var l;const c=getFieldNameByOperator(e.operator);if(!((l=t.stateOfLinkageRules)!=null&&l[c]))return;let u=t.stateOfLinkageRules[c];u=yield Promise.all(u),u=u.filter(d=>d.condition);const m=u[u.length-1];c==="value"?u.length>1&&(t.value=m.value):(c==="display"&&(m==null?void 0:m.value)==="hidden"?(t.display="visible",t.data=t.data||{},t.data.hidden=!0,t.required&&(t.required=!1,t.data.prevRequired=!0),requestAnimationFrame(()=>{t.setState(d=>{d.display="visible"})})):(t[c]=m==null?void 0:m.value,t.data=t.data||{},t.data.hidden=!1,c==="display"&&(m==null?void 0:m.value)==="visible"&&t.data.prevRequired&&(delete t.data.prevRequired,t.required=!0),requestAnimationFrame(()=>{t.setState(d=>{d[c]=m==null?void 0:m.value})})),c==="display"&&(m==null?void 0:m.value)==="none"&&(t.value=null)),t.stateOfLinkageRules[c]=null}))}}function getFieldNameByOperator(e){switch(e){case ActionType.Required:case ActionType.InRequired:return"required";case ActionType.Visible:case ActionType.None:case ActionType.Hidden:return"display";case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:return"pattern";case ActionType.Value:return"value";default:return null}}const collectFieldStateOfLinkageRules=({operator:e,value:t,field:o,condition:r,variables:i,localVariables:n,variableNameOfLeftCondition:a},l)=>{var c,u,m,d,p,g,h,_;const f=((c=o==null?void 0:o.stateOfLinkageRules)==null?void 0:c.required)||[(u=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:u.required],v=((m=o==null?void 0:o.stateOfLinkageRules)==null?void 0:m.display)||[(d=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:d.display],b=((p=o==null?void 0:o.stateOfLinkageRules)==null?void 0:p.pattern)||[(g=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:g.pattern],S=((h=o==null?void 0:o.stateOfLinkageRules)==null?void 0:h.value)||[(_=o==null?void 0:o.initStateOfLinkageRules)==null?void 0:_.value],{evaluate:C}=import_client3.evaluators.get("formula.js"),y={ruleGroup:r,variables:i,localVariables:n,variableNameOfLeftCondition:a};switch(e){case ActionType.Required:f.push(getTempFieldState(conditionAnalyses(y,l),!0)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:f});break;case ActionType.InRequired:f.push(getTempFieldState(conditionAnalyses(y,l),!1)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{required:f});break;case ActionType.Visible:case ActionType.None:case ActionType.Hidden:v.push(getTempFieldState(conditionAnalyses(y,l),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{display:v});break;case ActionType.Editable:case ActionType.ReadOnly:case ActionType.ReadPretty:b.push(getTempFieldState(conditionAnalyses(y,l),e)),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{pattern:b});break;case ActionType.Value:{const F=()=>V(void 0,null,function*(){var j;if((t==null?void 0:t.mode)==="express"){if((t.value||t.result)==null)return;const{exp:k,scope:R}=yield replaceVariables(t.value||t.result,{variables:i,localVariables:n});try{return C(k,x({now:()=>new Date().toString()},R))}catch(N){console.error(N)}}else return(t==null?void 0:t.mode)==="constant"?(j=t==null?void 0:t.value)!=null?j:t:null});isConditionEmpty(r)?S.push(getTempFieldState(!0,F())):S.push(getTempFieldState(conditionAnalyses(y,l),F())),o.stateOfLinkageRules=P(x({},o.stateOfLinkageRules),{value:S})}break;default:return null}};function getTempFieldState(e,t){return V(this,null,function*(){return[e,t]=yield Promise.all([e,t]),{condition:e,value:t}})}function isConditionEmpty(e){const t=Object.keys(e)[0]||"$and",o=e[t];return import_lodash.default.isEmpty(o)}function replaceVariables(e,t){return V(this,arguments,function*(o,{variables:r,localVariables:i}){var n;const a={},l={};if(o==null)return;const c=(n=o.match(REGEX_OF_VARIABLE_IN_EXPRESSION))==null?void 0:n.map(u=>V(this,null,function*(){const{value:m}=yield r.parseVariable(u,i,{doNotRequest:u.includes("$nForm")}),d=`_${(0,import_client.uid)()}`;return l[d]=m,a[u]=d,m}));return c&&(yield Promise.all(c)),{exp:o.replace(REGEX_OF_VARIABLE_IN_EXPRESSION,u=>`{{${a[u]||u}}}`),scope:l}})}const AppNotFound$1=()=>{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"})})};function SelectWithTitle(e){var t=e,{title:o,defaultValue:r,onChange:i,options:n,fieldNames:a}=t,l=Y(t,["title","defaultValue","onChange","options","fieldNames"]);const[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useRef)(null);return(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},onClick:d=>{d.stopPropagation(),u(p=>!p)},onMouseLeave:()=>{m.current=setTimeout(()=>{u(!1)},200)},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({},l),{open:c,"data-testid":`select-${o}`,popupMatchSelectWidth:!1,bordered:!1,defaultValue:r,onChange:i,popupClassName:`select-popup-${o.replaceAll(" ","-")}`,fieldNames:a,options:n,style:{textAlign:"right",minWidth:100},onMouseEnter:()=>{clearTimeout(m.current)}}))]})}class SchemaSettings{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=P(x({},o),{name:r[r.length-1]});if(r.length===1){const l=this.items.findIndex(c=>c.name===t);l===-1?this.items.push(i):this.items[l]=i;return}const n=r.slice(0,-1).join("."),a=this.get(n);if(a){a.children||(a.children=[]);const l=t.replace(`${a.name}.`,""),c=a.children.findIndex(u=>u.name===l);c===-1?a.children.push(i):a.children[c]=i}}get(t){if(!t)return;const o=t.split(".");let r=this.items;for(let i=0;i<o.length;i++){const n=o[i];if(r=r.find(a=>a.name===n),!r||i===o.length-1)return r;if(r.children)r=r.children;else return}}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)}}}class SchemaSettingsManager{constructor(t=[],o){A(this,"schemaSettings",{}),A(this,"actionList",{}),this._schemaSettings=t,this.app=o,this.app=o,this.add(...t)}add(...t){t.forEach(o=>{this.schemaSettings[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.schemaSettings[t]}getAll(){return this.schemaSettings}has(t){return!!this.get(t)}remove(t){delete this.schemaSettings[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}))}}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)",colorBorderSettingsHover:"rgba(241, 139, 98, 0.3)",motionUnit:.03,motion:!0}};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("--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.colorBorderSettingsHover,t.colorInfoBg,t.colorInfoBorder,t.colorPrimaryText,t.colorPrimaryTextActive,t.colorPrimaryTextHover,t.colorSettings,t.colorText,t.colorWarningBg,t.colorWarningBorder,t.controlHeightLG,t.marginLG,t.marginSM,t.marginXS,t.paddingContentVerticalSM,t.sizeXXL,t.colorTextHeaderMenu]),e};CSSVariableProvider.displayName="CSSVariableProvider";const dayjsLocale={"ar-EG":"ar","az-AZ":"az","bg-BG":"bg","bn-BD":"bn-bd","by-BY":"en","ca-ES":"ca","cs-CZ":"cs","da-DK":"da","de-DE":"de","el-GR":"el","en-GB":"en-gb","en-US":"en","es-ES":"es","et-EE":"et","fa-IR":"fa","fi-FI":"fi","fr-BE":"fr","fr-CA":"fr","fr-FR":"fr","ga-IE":"ga","gl-ES":"gl","he-IL":"he","hi-IN":"hi","hr-HR":"hr","hu-HU":"hu","hy-AM":"hy-am","id-ID":"id","is-IS":"is","it-IT":"it","ja-JP":"ja","ka-GE":"ka","kk-KZ":"kk","km-KH":"km","kn-IN":"kn","ko-KR":"ko","ku-IQ":"ku","lt-LT":"lt","lv-LV":"lv","mk-MK":"mk","ml-IN":"ml","mn-MN":"mn","ms-MY":"ms","nb-NO":"nb","ne-NP":"ne","nl-BE":"nl-be","nl-NL":"nl","pl-PL":"pl","pt-BR":"pt-br","pt-PT":"pt","ro-RO":"ro","ru-RU":"ru","si-LK":"si","sk-SK":"sk","sl-SI":"sl","sr-RS":"sr","sv-SE":"sv","ta-IN":"ta","th-TH":"th","tk-TK":"tk","tr-TR":"tr","uk-UA":"uk","ur-PK":"ur","vi-VN":"vi","zh-CN":"zh-cn","zh-HK":"zh-hk","zh-TW":"zh-tw"},languageCodes={"ar-EG":{label:"العربية"},"az-AZ":{label:"Azərbaycan dili"},"bg-BG":{label:"Български"},"bn-BD":{label:"Bengali"},"by-BY":{label:"Беларускі"},"ca-ES":{label:"Сatalà/Espanya"},"cs-CZ":{label:"Česky"},"da-DK":{label:"Dansk"},"de-DE":{label:"Deutsch"},"el-GR":{label:"Ελληνικά"},"en-GB":{label:"English(GB)"},"en-US":{label:"English"},"es-ES":{label:"Español"},"et-EE":{label:"Estonian (Eesti)"},"fa-IR":{label:"فارسی"},"fi-FI":{label:"Suomi"},"fr-BE":{label:"Français(BE)"},"fr-CA":{label:"Français(CA)"},"fr-FR":{label:"Français"},"ga-IE":{label:"Gaeilge"},"gl-ES":{label:"Galego"},"he-IL":{label:"עברית"},"hi-IN":{label:"हिन्दी"},"hr-HR":{label:"Hrvatski jezik"},"hu-HU":{label:"Magyar"},"hy-AM":{label:"Հայերեն"},"id-ID":{label:"Bahasa Indonesia"},"is-IS":{label:"Íslenska"},"it-IT":{label:"Italiano"},"ja-JP":{label:"日本語"},"ka-GE":{label:"ქართული"},"kk-KZ":{label:"Қазақ тілі"},"km-KH":{label:"ភាសាខ្មែរ"},"kn-IN":{label:"ಕನ್ನಡ"},"ko-KR":{label:"한국어"},"ku-IQ":{label:"کوردی"},"lt-LT":{label:"lietuvių"},"lv-LV":{label:"Latviešu valoda"},"mk-MK":{label:"македонски јазик"},"ml-IN":{label:"മലയാളം"},"mn-MN":{label:"Монгол хэл"},"ms-MY":{label:"بهاس ملايو"},"nb-NO":{label:"Norsk bokmål"},"ne-NP":{label:"नेपाली"},"nl-BE":{label:"Vlaams"},"nl-NL":{label:"Nederlands"},"pl-PL":{label:"Polski"},"pt-BR":{label:"Português brasileiro"},"pt-PT":{label:"Português"},"ro-RO":{label:"România"},"ru-RU":{label:"Русский"},"si-LK":{label:"සිංහල"},"sk-SK":{label:"Slovenčina"},"sl-SI":{label:"Slovenščina"},"sr-RS":{label:"српски језик"},"sv-SE":{label:"Svenska"},"ta-IN":{label:"Tamil"},"th-TH":{label:"ภาษาไทย"},"tk-TK":{label:"Turkmen"},"tr-TR":{label:"Türkçe"},"uk-UA":{label:"Українська"},"ur-PK":{label:"Oʻzbekcha"},"vi-VN":{label:"Tiếng Việt"},"zh-CN":{label:"简体中文"},"zh-HK":{label:"繁體中文(香港)"},"zh-TW":{label:"繁體中文(台湾)"}};function tval(e,t){return t?`{{t(${JSON.stringify(e)}, ${JSON.stringify(t)})}}`:`{{t(${JSON.stringify(e)})}}`}const i18n=import_i18next.default.createInstance();Object.keys(languageCodes).forEach(e=>{languageCodes[e].resources});i18n.use(import_react_i18next.initReactI18next).init({lng:"en-US",defaultNS:"client",resources:{},keySeparator:!1,nsSeparator:!1});function defineDevPlugins(e){Object.entries(e).forEach(([t,o])=>{window.define(`${t}/client`,()=>o)})}function definePluginClient(e){window.define(`${e}/client`,["exports",e],function(t,o){Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(o).forEach(function(r){r!=="__esModule"&&(r in t&&t[r]===o[r]||Object.defineProperty(t,r,{enumerable:!0,get:function(){return o[r]}}))})})}function configRequirejs(e,t){e.requirejs.config({waitSeconds:120,paths:t.reduce((o,r)=>(o[r.packageName]=r.url,o),{})})}function processRemotePlugins(e,t){return(...o)=>{const r=o.map((n,a)=>[e[a].name,(n==null?void 0:n.default)||n]).filter(n=>n[1]);t(r);const i=o.map((n,a)=>n?null:a).filter(n=>n!==null).map(n=>e[n].packageName);i.length>0&&console.error("[nocobase load plugin error]: These plugins do not have an `export.default` exported content or there is an error in the plugins. error plugins: \r\n%s",i.join(`, \r
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 V(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=ke(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 V(this,null,function*(){yield this.initStaticPlugins(e),this.loadRemotePlugins&&(yield this.initRemotePlugins())})}initStaticPlugins(){return V(this,arguments,function*(e=[]){try{for(var t=ke(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 V(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=ke(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 V(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 V(this,null,function*(){yield this.initPlugins;for(const e of this.pluginInstances.values())yield e.beforeLoad();for(const e of this.pluginInstances.values())yield e.load(),this.app.eventBus.dispatchEvent(new CustomEvent(`plugin:${e.options.name}:loaded`,{detail:e}))})}},IconFont;const icons=new Map;function registerIcon(e,t=IconFont){icons.set(e.toLowerCase(),t)}function hasIcon(e){return e?icons.has(e.toLowerCase()):!1}function registerIcons(e){Object.keys(e).forEach(t=>{registerIcon(t,e[t])})}Object.keys(antIcons).forEach(e=>{registerIcon(e,antIcons[e])});const Icon=e=>{const t=e,{type:o="",component:r}=t,i=Y(t,["type","component"]);if(r)return(0,import_jsx_runtime.jsx)(import_icons.default,x({component:r},i));if(o&&icons.has(o.toLowerCase())){const n=icons.get(o.toLowerCase());return(0,import_jsx_runtime.jsx)(n,x({},i))}return o&&IconFont?(0,import_jsx_runtime.jsx)(IconFont,{type:o}):null};Icon.createFromIconfontCN=e=>{IconFont=(0,import_icons.createFromIconfontCN)(e)};Icon.register=e=>{registerIcons(e)};const ADMIN_SETTINGS_KEY="admin.settings.",ADMIN_SETTINGS_PATH="/admin/settings/",SNIPPET_PREFIX="pm.";class PluginSettingsManager{constructor(t,o){A(this,"settings",{}),A(this,"aclSnippets",[]),A(this,"app"),A(this,"cachedList",{}),this.app=o,Object.entries(t||{}).forEach(([r,i])=>{this.add(r,i)})}clearCache(){this.cachedList={}}setAclSnippets(t){this.aclSnippets=t}getAclSnippet(t){const o=this.settings[t];return o!=null&&o.skipAclConfigure?null:o!=null&&o.aclSnippet?o.aclSnippet:`${SNIPPET_PREFIX}${t}`}getRouteName(t){return`${ADMIN_SETTINGS_KEY}${t}`}getRoutePath(t){return`${ADMIN_SETTINGS_PATH}${t.replaceAll(".","/")}`}add(t,o){const r=t.split("."),i=r[0];this.settings[t]=P(x(P(x({},this.settings[t]),{Component:import_react_router_dom.Outlet}),o),{name:t,topLevelName:o.topLevelName||i}),r.length>1&&(0,import_lodash.set)(this.settings,r.join(".children."),this.settings[t]),this.app.router.add(this.getRouteName(t),{path:this.getRoutePath(t),Component:this.settings[t].Component})}remove(t){Object.keys(this.settings).forEach(o=>{o.startsWith(t)&&(delete this.settings[o],this.app.router.remove(`${ADMIN_SETTINGS_KEY}${o}`))})}hasAuth(t){return this.aclSnippets.includes(`!${this.getAclSnippet("*")}`)?!1:this.aclSnippets.includes(`!${this.getAclSnippet(t)}`)===!1}getSetting(t){return this.settings[t]}has(t){return this.hasAuth(t)?!!this.getSetting(t):!1}get(t,o=!0){const r=this.hasAuth(t),i=this.getSetting(t);if(o&&!r||!i)return null;const n=Object.keys(i.children||{}).sort((d,p)=>d.localeCompare(p)).map(d=>this.get(i.children[d].name,o)).filter(Boolean).sort((d,p)=>(d.sort||0)-(p.sort||0)),a=i,{title:l,icon:c,aclSnippet:u}=a,m=Y(a,["title","icon","aclSnippet"]);return P(x({isTopLevel:t===i.topLevelName},m),{aclSnippet:this.getAclSnippet(t),title:l,isAllow:r,label:l,icon:typeof c=="string"?(0,import_react2.createElement)(Icon,{type:c}):c,path:this.getRoutePath(t),key:t,children:n.length?n:void 0})}getList(t=!0){const o=JSON.stringify(t);return this.cachedList[o]?this.cachedList[o]:this.cachedList[o]=Array.from(new Set(Object.values(this.settings).map(r=>r.topLevelName))).sort((r,i)=>r.localeCompare(i)).map(r=>this.get(r,t)).filter(Boolean).sort((r,i)=>(r.sort||0)-(i.sort||0))}getAclSnippets(){return Object.keys(this.settings).map(t=>this.getAclSnippet(t)).filter(Boolean)}}const ApplicationContext=(0,import_react2.createContext)(null);ApplicationContext.displayName="ApplicationContext";const AppComponent=(0,import_reactive_react.observer)(e=>{var t=e,{children:o}=t,r=Y(t,["children"]),i;const{app:n}=r,a=(0,import_react2.useCallback)((c,u)=>{console.error(c);const m=new Error;m.stack=u.componentStack.trim(),console.error(m)},[]);(0,import_react2.useEffect)(()=>{n.load()},[n]);const l=n.getComponent("AppError");return n.loading?n.renderComponent("AppSpin",{app:n}):!n.maintained&&n.maintaining?n.renderComponent("AppMaintaining",{app:n}):(i=n.error)!=null&&i.code&&!(n.maintained&&n.maintaining)?(0,import_jsx_runtime.jsx)(l,{app:n,error:n.error}):(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:c=>(0,import_jsx_runtime.jsx)(l,x({app:n,error:n.error},c)),onError:a,children:(0,import_jsx_runtime.jsxs)(ApplicationContext.Provider,{value:n,children:[n.maintained&&n.maintaining&&n.renderComponent("AppMaintainingDialog",{app:n}),n.renderComponent("AppMain",void 0,o)]})})},{displayName:"AppComponent"}),BlankComponent=({children:e})=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e}),useApp=()=>(0,import_react2.useContext)(ApplicationContext)||{},useAppSpin=()=>{const e=useApp();return{render:(0,import_react2.useCallback)(()=>{var t;return e!=null&&e.renderComponent?(t=e==null?void 0:e.renderComponent)==null?void 0:t.call(e,"AppSpin"):import_react2.default.createElement(import_antd.Spin)},[e])}};function usePlugin(e){return useApp().pm.get(e)}const useRouter=()=>useApp().router,useGlobalVariable=e=>{const t=useApp(),o=(0,import_react2.useMemo)(()=>t.getGlobalVar(e),[t,e]);if((0,import_lodash.isFunction)(o))try{return o()}catch(r){console.error(`Error calling global variable function for key: ${e}`,r);return}return o},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=()=>(0,import_jsx_runtime.jsx)("div",{}),defaultAppComponents={AppMain:MainComponent,AppSpin:Loading,AppError:AppError$1,AppNotFound},RouterContextCleaner=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_RouteContext.Provider,{value:{outlet:null,matches:[],isDataRoute:!1},children:(0,import_jsx_runtime.jsx)(import_react_router_dom.UNSAFE_LocationContext.Provider,{value:null,children:e.children})}));RouterContextCleaner.displayName="RouterContextCleaner";class RouterManager{constructor(t={},o){A(this,"routes",{}),A(this,"options"),A(this,"app"),A(this,"router"),this.options=t,this.app=o,this.routes=t.routes||{}}get basename(){return this.router.basename}get state(){return this.router.state}get navigate(){return this.router.navigate}getRoutesTree(){const t={};for(const[r,i]of Object.entries(this.routes))(0,import_lodash.set)(t,r.split(".").join(".children."),x(x({},(0,import_lodash.get)(t,r.split(".").join(".children."))),i));const o=r=>Object.values(r).reduce((i,n)=>{if(Object.keys(n).length===1&&n.children)i.push(...o(n.children));else{const a=n,{Component:l,element:c,children:u}=a,m=Y(a,["Component","element","children"]);let d=c;l&&(typeof l=="string"?d=this.app.renderComponent(l):d=import_react2.default.createElement(l));const p=P(x({},m),{element:d,children:u?o(u):void 0});i.push(p)}return i},[]);return o(t)}getRoutes(){return this.routes}setType(t){this.options.type=t}getBasename(){return this.options.basename}setBasename(t){this.options.basename=t}getRouterComponent(t){const o=this.options,{type:r="browser"}=o,i=Y(o,["type"]),n={hash:import_react_router_dom.createHashRouter,browser:import_react_router_dom.createBrowserRouter,memory:import_react_router_dom.createMemoryRouter},a=this.getRoutesTree(),l=(0,import_react2.createContext)(null),c=()=>{const m=(0,import_react2.useContext)(l);return(0,import_jsx_runtime.jsx)(CustomRouterContextProvider,{children:(0,import_jsx_runtime.jsx)(m,{children:(0,import_jsx_runtime.jsxs)(VariablesProvider$1,{children:[(0,import_jsx_runtime.jsx)(import_react_router_dom.Outlet,{}),t]})})})},u=()=>{throw(0,import_react_router_dom.useRouteError)()};return this.router=n[r]([{element:(0,import_jsx_runtime.jsx)(c,{}),errorElement:(0,import_jsx_runtime.jsx)(u,{}),children:a}],i),({BaseLayout:m=BlankComponent})=>(0,import_jsx_runtime.jsx)(l.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(RouterContextCleaner,{children:(0,import_jsx_runtime.jsx)(import_react_router_dom.RouterProvider,{router:this.router})})})}add(t,o){this.routes[t]=o}get(t){return this.routes[t]}has(t){return!!this.get(t)}remove(t){delete this.routes[t]}}function createRouterManager(e,t){return new RouterManager(e,t)}class WebSocketClient{constructor(t){if(A(this,"_ws"),A(this,"_reconnectTimes",0),A(this,"events",[]),A(this,"options"),A(this,"app"),A(this,"enabled"),A(this,"connected",!1),A(this,"serverDown",!1),A(this,"lastMessage",{}),!t){this.enabled=!1;return}this.options=t===!0?{}:t,this.enabled=!0,(0,import_reactive.define)(this,{serverDown:import_reactive.observable.ref,connected:import_reactive.observable.ref,lastMessage:import_reactive.observable.ref})}getURL(){if(!this.app)return;const t=this.app.getApiUrl();if(!t)return;const o=(0,import_sdk.getSubAppName)(this.app.getPublicPath()),r=o?`?__appName=${o}`:"",i=this.options.basename||"/ws";if(this.options.url){const n=new URL(this.options.url);return n.hostname==="localhost"?`${location.protocol==="https:"?"wss":"ws"}://${location.hostname}:${n.port}${i}${r}`:`${this.options.url}${r}`}try{const n=new URL(t);return`${n.protocol==="https:"?"wss":"ws"}://${n.host}${i}${r}`}catch{return`${location.protocol==="https:"?"wss":"ws"}://${location.host}${i}${r}`}}get reconnectAttempts(){var t;return((t=this.options)==null?void 0:t.reconnectAttempts)||30}get reconnectInterval(){var t;return((t=this.options)==null?void 0:t.reconnectInterval)||1e3}get pingInterval(){var t;return((t=this.options)==null?void 0:t.pingInterval)||3e4}get readyState(){return this._ws?this._ws.readyState:-1}connect(){if(!this.enabled||(this._reconnectTimes===0&&console.log("[nocobase-ws]: connecting..."),this._reconnectTimes>=this.reconnectAttempts)||this.readyState===WebSocket.OPEN)return;this._reconnectTimes++;const t=new WebSocket(this.getURL(),this.options.protocols);let o;t.onopen=()=>{console.log("[nocobase-ws]: connected."),this.serverDown=!1,this._ws&&this.removeAllListeners(),this._reconnectTimes=0,this._ws=t;for(const{type:r,listener:i,options:n}of this.events)this._ws.addEventListener(r,i,n);o=setInterval(()=>this.send("ping"),this.pingInterval),this.connected=!0,this.emit("open",{})},t.onerror=()=>V(this,null,function*(){console.log("onerror",this.readyState,this._reconnectTimes)}),t.onclose=r=>V(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:g,popover:h=!0,style:_,componentProps:f}=t,v=a?a():n,b=l(c),S=(0,import_react2.useCallback)(T=>{v?v(b(T,{isInSubTable:i})):r(u,b(T,{isInSubTable:i}),{onSuccess:m})},[v,b,i,r,u,m]),{wrapSSR:C,hashId:y,componentCls:F}=useSchemaInitializerStyles(),[j,k]=(0,import_react2.useState)(!1),{token:R}=import_antd.theme.useToken(),N=useNiceDropdownMaxHeight([j]),w=(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: ${`${R.paddingXXS}px 0`};
@@ -30,7 +30,7 @@
30
30
  padding: 0;
31
31
  }
32
32
  }
33
- `,[R.paddingXXS]),D=(0,import_react2.useMemo)(()=>({maxHeight:N,overflowY:"auto"}),[N]);return!o&&d!==!0?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:console.error,children:(0,import_jsx_runtime.jsx)(SchemaInitializerContext.Provider,{value:{visible:j,setVisible:k,insert:S,options:t},children:h===!1?import_react2.default.createElement(e,w):(0,import_jsx_runtime.jsx)(import_antd.Popover,P(x({placement:"bottomLeft"},p),{arrow:!1,overlayClassName:O,open:j,onOpenChange:k,content:C((0,import_jsx_runtime.jsx)("div",{className:`${F} ${y}`,style:D,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:{components:{Menu:{itemHeight:R.marginXL,borderRadius:R.borderRadiusSM,itemBorderRadius:R.borderRadiusSM,subMenuItemBorderRadius:R.borderRadiusSM}}},children:g})})),children:import_react2.default.createElement(e,w)}))})})},{displayName:`WithInitializer(${e.displayName||e.name})`})}const SchemaInitializerSubMenuContext=import_react2.default.createContext({}),SchemaInitializerMenuProvider=e=>(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenuContext.Provider,{value:{isInMenu:!0},children:e.children}),useSchemaInitializerSubMenuContext=()=>import_react2.default.useContext(SchemaInitializerSubMenuContext),SchemaInitializerMenu=e=>{const{componentCls:t,hashId:o}=useSchemaInitializerStyles(),r=e,{items:i}=r,n=Y(r,["items"]),{token:a}=import_antd.theme.useToken(),l=(0,import_react2.useMemo)(()=>i.map(c=>P(x({},c),{popupClassName:`${o} ${t}-menu-sub`})),[t,o,i]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenuProvider,{children:(0,import_jsx_runtime.jsx)(import_antd.Menu,x({selectable:!1,expandIcon:(0,import_jsx_runtime.jsx)(import_icons.RightOutlined,{style:{fontSize:a.fontSizeSM,color:a.colorTextDescription}}),rootClassName:import_css.css`
33
+ `,[R.paddingXXS]),D=(0,import_react2.useMemo)(()=>({maxHeight:N,overflowY:"auto"}),[N]);return!o&&d!==!0?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:console.error,children:(0,import_jsx_runtime.jsx)(SchemaInitializerContext.Provider,{value:{visible:j,setVisible:k,insert:S,options:t},children:h===!1?import_react2.default.createElement(e,w):(0,import_jsx_runtime.jsx)(import_antd.Popover,P(x({zIndex:9999,placement:"bottomLeft"},p),{arrow:!1,overlayClassName:O,open:j,onOpenChange:k,content:C((0,import_jsx_runtime.jsx)("div",{className:`${F} ${y}`,style:D,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{theme:{components:{Menu:{itemHeight:R.marginXL,borderRadius:R.borderRadiusSM,itemBorderRadius:R.borderRadiusSM,subMenuItemBorderRadius:R.borderRadiusSM}}},children:g})})),children:import_react2.default.createElement(e,w)}))})})},{displayName:`WithInitializer(${e.displayName||e.name})`})}const SchemaInitializerSubMenuContext=import_react2.default.createContext({}),SchemaInitializerMenuProvider=e=>(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenuContext.Provider,{value:{isInMenu:!0},children:e.children}),useSchemaInitializerSubMenuContext=()=>import_react2.default.useContext(SchemaInitializerSubMenuContext),SchemaInitializerMenu=e=>{const{componentCls:t,hashId:o}=useSchemaInitializerStyles(),r=e,{items:i}=r,n=Y(r,["items"]),{token:a}=import_antd.theme.useToken(),l=(0,import_react2.useMemo)(()=>i.map(c=>P(x({},c),{popupClassName:`${o} ${t}-menu-sub`})),[t,o,i]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenuProvider,{children:(0,import_jsx_runtime.jsx)(import_antd.Menu,x({selectable:!1,expandIcon:(0,import_jsx_runtime.jsx)(import_icons.RightOutlined,{style:{fontSize:a.fontSizeSM,color:a.colorTextDescription}}),rootClassName:import_css.css`
34
34
  box-shadow: none !important;
35
35
  border-inline-end: 0 !important;
36
36
  .ant-menu-sub {
@@ -62,7 +62,7 @@
62
62
  width: 100%;
63
63
  }
64
64
  }
65
- `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,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:h})],[h,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:()=>V(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:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},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.6.25",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":"^5.0.1","@dnd-kit/modifiers":"^6.0.0","@dnd-kit/sortable":"^6.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.1.9","@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.6.25","@nocobase/sdk":"1.6.25","@nocobase/utils":"1.6.25",ahooks:"^3.7.2",antd:"5.12.8","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=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(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=>V(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=>V(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=>V(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 V(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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},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((g,h)=>{g["x-index"]=c,++c,l[h]=g}),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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,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)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}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$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};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=()=>V(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 g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.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},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].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(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)=>V(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(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{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$4={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$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};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:g}=e,h=(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=h==null?void 0:h["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=h==null?void 0:h["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(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);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:j})}),[y==null?void 0:y.target,d,j,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
65
+ `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,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:h})],[h,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:()=>V(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:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},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.6.26",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":"^5.0.1","@dnd-kit/modifiers":"^6.0.0","@dnd-kit/sortable":"^6.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.1.9","@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.6.26","@nocobase/sdk":"1.6.26","@nocobase/utils":"1.6.26",ahooks:"^3.7.2",antd:"5.12.8","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=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(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=>V(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=>V(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=>V(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 V(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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},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((g,h)=>{g["x-index"]=c,++c,l[h]=g}),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[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,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)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}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$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};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=()=>V(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 g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.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},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].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(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)=>V(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(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{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$4={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$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};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:g}=e,h=(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=h==null?void 0:h["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=h==null?void 0:h["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(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);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:j})}),[y==null?void 0:y.target,d,j,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};
@@ -258,7 +258,7 @@ ${JSON.stringify(z,null,2)}`)},[u,c,l,i,r,j,t,a,n,h,o,_,S,k,C,y,g]),N=(0,import_
258
258
  }
259
259
  }
260
260
  `),footer:S?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:g.address,schema:p,onlyRenderProperties:!0,filterProperties:F=>F["x-component"]===o}):!1,children:y?(0,import_jsx_runtime.jsx)(ActionModalContent,{footerNodeName:o,field:g,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"});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,overflow:"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,g=useCompile(),h=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||g(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:h}]},[i,l,o,a,p,m,d,u,h]);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:g(m)})]})}))})}));SchemaInitializerItem.displayName="SchemaInitializerItem";const SchemaInitializerItemInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,x({},e))},switchStyle={marginLeft:20},itemStyle={display:"flex",alignItems:"center",justifyContent:"space-between"},SchemaInitializerSwitch=e=>{const t=e,{title:o,checked:r}=t,i=Y(t,["title","checked"]),n=useCompile();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},i),{closeInitializerMenuWhenClick:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:itemStyle,children:[n(o),(0,import_jsx_runtime.jsx)(import_antd.Switch,{disabled:e.disabled,style:switchStyle,size:"small",checked:r})]})}))},SchemaInitializerSwitchInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSwitch,x({},e))},SchemaInitializerChildren=e=>{const{children:t}=e;return t?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:t.sort((o,r)=>(o.sort||0)-(r.sort||0)).map((o,r)=>(0,import_jsx_runtime.jsx)(SchemaInitializerChild,x({},o),o.name||o.key||r))}):null},typeComponentMap$1={item:"SchemaInitializerItemInternal",itemGroup:"SchemaInitializerItemGroupInternal",divider:"SchemaInitializerDivider",switch:"SchemaInitializerSwitchInternal",subMenu:"SchemaInitializerSubMenuInternal",actionModal:"SchemaInitializerActionModalInternal"},useChildrenDefault$1=()=>{},useVisibleDefault$1=()=>!0,useComponentPropsDefault$1=()=>{},SchemaInitializerChild=(0,import_react2.memo)(e=>{const t=e,{type:o,Component:r,component:i,children:n,useVisible:a=useVisibleDefault$1,useChildren:l=useChildrenDefault$1,useComponentProps:c=useComponentPropsDefault$1,hideIfNoChildren:u,componentProps:m,sort:d}=t,p=Y(t,["type","Component","component","children","useVisible","useChildren","useComponentProps","hideIfNoChildren","componentProps","sort"]),g=l(),h=c(),_=useFindComponent(),f=r||i,v=!f&&o&&typeComponentMap$1[o],b=(0,import_react2.useMemo)(()=>{const y=[...g||[],...n||[]];return y.length===0?void 0:y},[g,n]),S=(0,import_react2.useMemo)(()=>P(x(x(x({},p),v?h:{}),v?m:{}),{children:b}),[p,v,h,m,b]);if(!a()||!o&&!f)return null;const C=_(v?typeComponentMap$1[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),h),{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 h,_;a.current&&((h=document.activeElement)==null?void 0:h.id)!==a.current.input.id&&getPrefixAndCompare((_=document.activeElement)==null?void 0:_.id,a.current.input.id)&&a.current.focus()},g=new IntersectionObserver(h=>{h.some(_=>_.isIntersecting)&&p()});return(d=a.current)!=null&&d.input&&(a.current.input.id=l.current,g.observe(a.current.input)),()=>{g.disconnect()}},[]);const c=(0,import_react2.useRef)(!1),u=d=>{c.current||(t(d.target.value),n(d.target.value))},m=d=>{d.type==="compositionend"?(c.current=!1,u(d)):c.current=!0};return(0,import_jsx_runtime.jsxs)("div",{onClick:d=>d.stopPropagation(),children:[(0,import_jsx_runtime.jsx)(import_antd.Input,{ref:a,allowClear:!0,style:{padding:"0 4px 6px 16px",boxShadow:"none"},bordered:!1,placeholder:r("Search"),defaultValue:i,onClick:d=>{d.stopPropagation()},onChange:u,onCompositionStart:m,onCompositionEnd:m,onCompositionUpdate:m}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}})]})};let currentName=null;const useMenuSearch$1=e=>{const{children:t,showType:o,hideSearch:r,name:i}=e,n=useCompile(),[a,l]=(0,import_react2.useState)(null),c=(d,p)=>{if(!a||a===""||currentName&&currentName!==p)return d;const g=a.toLocaleLowerCase();return d.filter(h=>(h.title||h.label)&&String(n(h.title||h.label)).toLocaleLowerCase().includes(g))},u=(d,p,g=new Set)=>{var h;const _=[];return!r&&(d.length>10||a)&&!["subMenu","itemGroup"].includes((h=d[0])==null?void 0:h.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(!g.has(f))if(g.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,g);_.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=Y(o,["onClick"]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({ref:t},i),{onClick:n=>r==null?void 0:r(n.event,!1)}))}),SchemaInitializerActionModal=e=>{const{title:t,icon:o,width:r,schema:i,buttonText:n,btnStyles:a,isItem:l,component:c,onCancel:u,onSubmit:m}=e,{setVisible:d}=useSchemaInitializer(),p=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),b=useActionContext();return{run(){return V(this,null,function*(){yield u==null?void 0:u(),b.setVisible(!1),v.reset()})}}},[u]),g=(0,import_react2.useCallback)(()=>{const v=(0,import_react.useForm)(),b=useActionContext();return{run(){return V(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]),h=(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:h}:{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:g}}}}})}}}}}),[n,c,_,i,t,p,g]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:f})},SchemaInitializerActionModalInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerActionModal,x({},e))},SchemaInitializerSelect=e=>{const t=e,{title:o,options:r,value:i,onChange:n,openOnHover:a,onClick:l}=t,c=Y(t,["title","options","value","onChange","openOnHover","onClick"]),[u,m]=(0,import_react2.useState)(!1),d=(0,import_react2.useCallback)((...h)=>{m(!1),l==null||l(...h)},[m,l]),p=(0,import_react2.useCallback)(()=>m(!0),[]),g=(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:(...h)=>(m(!1),n(...h)),options:r,style:{textAlign:"right",minWidth:100},onClick:d},g))]})}))},SchemaInitializerSelectInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSelect,x({},e))},schemaInitializerComponents=Object.freeze(Object.defineProperty({__proto__:null,SchemaInitializerActionModal,SchemaInitializerActionModalInternal,SchemaInitializerChild,SchemaInitializerChildren,SchemaInitializerDivider,SchemaInitializerItem,SchemaInitializerItemGroup,SchemaInitializerItemGroupInternal,SchemaInitializerItemInternal,SchemaInitializerItems,SchemaInitializerMenu,SchemaInitializerMenuProvider,SchemaInitializerSelect,SchemaInitializerSelectInternal,SchemaInitializerSubMenu,SchemaInitializerSubMenuInternal,SchemaInitializerSwitch,SchemaInitializerSwitchInternal,useSchemaInitializerStyles,useSchemaInitializerSubMenuContext},Symbol.toStringTag,{value:"Module"})),useGetAriaLabelOfSchemaInitializer=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection()||{};return{getAriaLabel:(0,import_react2.useCallback)(o=>{if(!e)return"";const r=e["x-component"],i=typeof r=="string"?r:(r==null?void 0:r.displayName)||r.name,n=e["x-initializer"]?`-${e["x-initializer"]}`:"",a=t?`-${t}`:"";return o=o?`-${o}`:"",`schema-initializer-${i}${n}${a}${o}`},[e,t])}},SchemaInitializerButton=import_react2.default.memo(e=>{const t=e,{style:o,options:r}=t,i=Y(t,["style","options"]),n=useCompile(),{getAriaLabel:a}=useGetAriaLabelOfSchemaInitializer();return(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({"data-testid":r["data-testid"],"aria-label":a(),"aria-disabled":"false",type:"dashed",style:x({borderColor:"var(--colorSettings)",color:"var(--colorSettings)",flex:"none"},o),icon:typeof r.icon=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:r.icon}):r.icon},i),{children:r.title&&(0,import_jsx_runtime.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",width:r.icon?"calc(100% - 14px)":"100%",verticalAlign:"bottom"},children:n(r.title)})}))});SchemaInitializerButton.displayName="SchemaInitializerButton(memo)";const InitializerComponent=e=>{const t=e.Component||SchemaInitializerButton,o=e.ItemsComponent||SchemaInitializerItems,r=P(x({},e.itemsComponentProps),{options:e,items:e.items,style:e.itemsComponentStyle}),i=(0,import_react2.useMemo)(()=>withInitializer(t),[t]);return import_react2.default.createElement(i,e,import_react2.default.createElement(o,r))};InitializerComponent.displayName="InitializerComponent";function useSchemaInitializerRender(e,t){const o=useApp(),{isMobile:r}=useOpenModeContext()||{};e==="popup:common:addBlock"&&o.schemaInitializerManager.has("mobile:popup:common:addBlock")&&r&&(e="mobile:popup:common:addBlock");const i=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaInitializerManager.get(e),[o.schemaInitializerManager,e]);return(0,import_react2.useMemo)(()=>e?i?{exists:!0,render:n=>import_react2.default.createElement(InitializerComponent,x(x(x({},i.options),t),n))}:(console.error(`[nocobase]: SchemaInitializer "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null},[i,e,t])}function useSchemaInitializerMenuItems(e,t,o){const r=useGetSchemaInitializerMenuItems(o);return(0,import_react2.useMemo)(()=>r(e,t),[r,e,t])}function useGetSchemaInitializerMenuItems(e){const t=useCompile(),o=(0,import_react2.useCallback)((r,i)=>r!=null&&r.length?r.map((n,a)=>{var l,c;const u=n.component||n.Component;let m;const d=n.title||n.label?t(n.title||n.label):void 0;if(u&&(m=import_react2.default.createElement(SchemaInitializerChild,P(x({},n),{title:d}))),n.type==="divider")return{type:"divider",key:n.key||`divider-${a}`};if(n.type==="item"&&u)return n.key||(n.key=`${d}-${a}`),n.associationField?{key:n.key,label:m,associationField:n.associationField}:{key:n.key,label:m};if(n.type==="itemGroup"){const _=typeof d=="string"?d:n.title,f=n.key||`${i}-item-group-${a}`;return{type:"group",key:f,label:_,children:(l=n==null?void 0:n.children)!=null&&l.length?o(n.children,f):[]}}if(n.type==="subMenu"){const _=d,f=n.key||n.name||`${i}-sub-menu-${a}`;return{key:f,label:_,children:(c=n==null?void 0:n.children)!=null&&c.length?o(n.children,f):[]}}if(n.isMenuType)return Y(n,["isMenuType"]);const p=m||d,g=n.key||`${i}-${d}-${a}`,h=_=>{_.domEvent.stopPropagation(),_.key===g&&(n.onClick?n.onClick(P(x({},_),{item:n})):e==null||e(P(x({},_),{item:n})))};return n.associationField?{key:g,label:p,associationField:n.associationField,onClick:h}:{style:n.style,key:g,label:p,onClick:h}}):[],[t,e]);return o}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)}}}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/accessibility",()=>dndKitAccessibility),e.define("@dnd-kit/core",()=>dndKitCore),e.define("@dnd-kit/modifiers",()=>dndKitModifiers),e.define("@dnd-kit/sortable",()=>dndKitSortable),e.define("@dnd-kit/utilities",()=>dndKitUtilities),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+`
261
- 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={},g={},h=1,_=1;function f(I){var M,z;for(M=0;M<I.length;M++)if(z=I[M],z===".")I.splice(M,1),M-=1;else if(z===".."){if(M===0||M===1&&I[2]===".."||I[M-1]==="..")continue;M>0&&(I.splice(M-1,2),M-=2)}}function v(I,M,z){var E,L,U,q,G,W,H,K,J,Q,Z,te,re=M&&M.split("/"),ne=a.map,le=ne&&ne["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&re&&(te=re.slice(0,re.length-1),I=te.concat(I)),f(I),I=I.join("/")),z&&ne&&(re||le)){U=I.split("/");e:for(q=U.length;q>0;q-=1){if(W=U.slice(0,q).join("/"),re){for(G=re.length;G>0;G-=1)if(L=getOwn(ne,re.slice(0,G).join("/")),L&&(L=getOwn(L,W),L)){K=L,J=q;break e}}!Q&&le&&getOwn(le,W)&&(Q=getOwn(le,W),Z=q)}!K&&Q&&(K=Q,J=Z),K&&(U.splice(0,J,K),I=U.join("/"))}return E=getOwn(a.pkgs,I),E||I}function b(I){isBrowser&&each(scripts(),function(M){if(M.getAttribute("data-requiremodule")===I&&M.getAttribute("data-requirecontext")===r.contextName)return M.parentNode.removeChild(M),!0})}function S(I){var M=getOwn(a.paths,I);if(M&&isArray(M)&&M.length>1)return M.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function C(I){var M,z=I?I.indexOf("!"):-1;return z>-1&&(M=I.substring(0,z),I=I.substring(z+1,I.length)),[M,I]}function y(I,M,z,E){var L,U,q,G,W=null,H=M?M.name:null,K=I,J=!0,Q="";return I||(J=!1,I="_@r"+(h+=1)),G=C(I),W=G[0],I=G[1],W&&(W=v(W,H,E),U=getOwn(d,W)),I&&(W?z?Q=I:U&&U.normalize?Q=U.normalize(I,function(Z){return v(Z,H,E)}):Q=I.indexOf("!")===-1?v(I,H,E):I:(Q=v(I,H,E),G=C(Q),W=G[0],Q=G[1],z=!0,L=r.nameToUrl(Q))),q=W&&!U&&!z?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:M,unnormalized:!!q,url:L,originalName:K,isDefine:J,id:(W?W+"!"+Q:Q)+q}}function F(I){var M=I.id,z=getOwn(l,M);return z||(z=l[M]=new r.Module(I)),z}function j(I,M,z){var E=I.id,L=getOwn(l,E);hasProp(d,E)&&(!L||L.defineEmitComplete)?M==="defined"&&z(d[E]):(L=F(I),L.error&&M==="error"?z(L.error):L.on(M,z))}function k(I,M){var z=I.requireModules,E=!1;M?M(I):(each(z,function(L){var U=getOwn(l,L);U&&(U.error=I,U.events.error&&(E=!0,U.emit("error",I)))}),E||req.onError(I))}function R(){globalDefQueue.length&&(each(globalDefQueue,function(I){var M=I[0];typeof M=="string"&&(r.defQueueMap[M]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function N(I){delete l[I],delete c[I]}function w(I,M,z){var E=I.map.id;I.error?I.emit("error",I.error):(M[E]=!0,each(I.depMaps,function(L,U){var q=L.id,G=getOwn(l,q);G&&!I.depMatched[U]&&!z[q]&&(getOwn(M,q)?(I.defineDep(U,d[q]),I.check()):w(G,M,z))}),z[E]=!0)}function O(){var I,M,z=a.waitSeconds*1e3,E=z&&r.startTime+z<new Date().getTime(),L=[],U=[],q=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&E)S(K)?(M=!0,q=!0):(L.push(K),b(K));else if(!W.inited&&W.fetched&&H.isDefine&&(q=!0,!H.prefix))return G=!1}}),E&&L.length)return I=makeError("timeout","Load timeout for modules: "+L,null,L),I.contextName=r.contextName,k(I);G&&each(U,function(W){w(W,{},{})}),(!E||M)&&q&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,O()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,M,z,E){E=E||{},!this.inited&&(this.factory=M,z?this.on("error",z):this.events.error&&(z=bind(this,function(L){this.emit("error",L)})),this.depMaps=I&&I.slice(0),this.errback=z,this.inited=!0,this.ignore=E.ignore,E.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,M){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=M)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,M,z=this.map.id,E=this.depExports,L=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,z)||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{L=r.execCb(z,U,E,L)}catch(G){I=G}else L=r.execCb(z,U,E,L);if(this.map.isDefine&&L===void 0&&(M=this.module,M?L=M.exports:this.usingExports&&(L=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",k(this.error=I)}else L=U;if(this.exports=L,this.map.isDefine&&!this.ignore&&(d[z]=L,req.onResourceLoad)){var q=[];each(this.depMaps,function(G){q.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,q)}N(z),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,M=I.id,z=y(I.prefix);this.depMaps.push(z),j(z,"defined",bind(this,function(E){var L,U,q,G=getOwn(g,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){E.normalize&&(W=E.normalize(W,function(J){return v(J,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),q=getOwn(l,U.id),q&&(this.depMaps.push(U),this.events.error&&q.on("error",bind(this,function(J){this.emit("error",J)})),q.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}L=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),L.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[M],eachProp(l,function(Q){Q.map.id.indexOf(M+"_unnormalized")===0&&N(Q.map.id)}),k(J)}),L.fromText=bind(this,function(J,Q){var Z=I.name,te=y(Z),re=useInteractive;Q&&(J=Q),re&&(useInteractive=!1),F(te),hasProp(a.config,M)&&(a.config[Z]=a.config[M]);try{req.exec(J)}catch(ne){return k(makeError("fromtexteval","fromText eval for "+M+" failed: "+ne,ne,[M]))}re&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(Z),K([Z],L)}),E.load(I.name,K,L,a)})),r.enable(z,this),this.pluginMaps[z.id]=z},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,M){var z,E,L;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[M]=I,L=getOwn(i,I.id),L){this.depExports[M]=L(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep(M,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}z=I.id,E=l[z],!hasProp(i,z)&&E&&!E.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var M=getOwn(l,I.id);M&&!M.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,M){var z=this.events[I];z||(z=this.events[I]=[]),z.push(M)},emit:function(I,M){each(this.events[I],function(z){z(M)}),I==="error"&&delete this.events[I]}};function D(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function T(I,M,z,E){I.detachEvent&&!isOpera?E&&I.detachEvent(E,M):I.removeEventListener(z,M,!1)}function $(I){var M=I.currentTarget||I.srcElement;return T(M,r.onScriptLoad,"load","onreadystatechange"),T(M,r.onScriptError,"error"),{node:M,id:M&&M.getAttribute("data-requiremodule")}}function B(){var I;for(R();m.length;){if(I=m.shift(),I[0]===null)return k(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));D(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:k,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var M=I.urlArgs;I.urlArgs=function(L,U){return(U.indexOf("?")===-1?"?":"&")+M}}var z=a.shim,E={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(L,U){E[U]?(a[U]||(a[U]={}),mixin(a[U],L,!0,!0)):a[U]=L}),I.bundles&&eachProp(I.bundles,function(L,U){each(L,function(q){q!==U&&(g[q]=U)})}),I.shim&&(eachProp(I.shim,function(L,U){isArray(L)&&(L={deps:L}),(L.exports||L.init)&&!L.exportsFn&&(L.exportsFn=r.makeShimExports(L)),z[U]=L}),a.shim=z),I.packages&&each(I.packages,function(L){var U,q;L=typeof L=="string"?{name:L}:L,q=L.name,U=L.location,U&&(a.paths[q]=L.location),a.pkgs[q]=L.name+"/"+(L.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(L,U){!L.inited&&!L.map.unnormalized&&(L.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function M(){var z;return I.init&&(z=I.init.apply(global,arguments)),z||I.exports&&getGlobal(I.exports)}return M},makeRequire:function(I,M){M=M||{};function z(E,L,U){var q,G,W;return M.enableBuildCallback&&L&&isFunction(L)&&(L.__requireJsBuild=!0),typeof E=="string"?isFunction(L)?k(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,E)?i[E](l[I.id]):req.get?req.get(r,E,I,z):(G=y(E,I,!1,!0),q=G.id,hasProp(d,q)?d[q]:k(makeError("notloaded",'Module name "'+q+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(B(),r.nextTick(function(){B(),W=F(y(null,I)),W.skipMap=M.skipMap,W.init(E,L,U,{enabled:!0}),O()}),z)}return mixin(z,{isBrowser,toUrl:function(E){var L,U=E.lastIndexOf("."),q=E.split("/")[0],G=q==="."||q==="..";return U!==-1&&(!G||U>1)&&(L=E.substring(U,E.length),E=E.substring(0,U)),r.nameToUrl(v(E,I&&I.id,!0),L,!0)},defined:function(E){return hasProp(d,y(E,I,!1,!0).id)},specified:function(E){return E=y(E,I,!1,!0).id,hasProp(d,E)||hasProp(l,E)}}),I||(z.undef=function(E){R();var L=y(E,I,!0),U=getOwn(l,E);U.undefed=!0,b(E),delete d[E],delete p[L.url],delete u[E],eachReverse(m,function(q,G){q[0]===E&&m.splice(G,1)}),delete r.defQueueMap[E],U&&(U.events.defined&&(u[E]=U.events),N(E))}),z},enable:function(I){var M=getOwn(l,I.id);M&&F(I).enable()},completeLoad:function(I){var M,z,E,L=getOwn(a.shim,I)||{},U=L.exports;for(R();m.length;){if(z=m.shift(),z[0]===null){if(z[0]=I,M)break;M=!0}else z[0]===I&&(M=!0);D(z)}if(r.defQueueMap={},E=getOwn(l,I),!M&&!hasProp(d,I)&&E&&!E.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:k(makeError("nodefine","No define call for "+I,null,[I]));D([I,L.deps||[],L.exportsFn])}O()},nameToUrl:function(I,M,z){var E,L,U,q,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(g,I),H)return r.nameToUrl(H,M,z);if(req.jsExtRegExp.test(I))G=I+(M||"");else{for(E=a.paths,L=I.split("/"),U=L.length;U>0;U-=1)if(q=L.slice(0,U).join("/"),W=getOwn(E,q),W){isArray(W)&&(W=W[0]),L.splice(0,U,W);break}G=L.join("/"),G+=M||(/^data\:|^blob\:|\?/.test(G)||z?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,M){req.load(r,I,M)},execCb:function(I,M,z,E){return M.apply(E,z)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var M=$(I);r.completeLoad(M.id)}},onScriptError:function(I){var M=$(I);if(!S(M.id)){var z=[];return eachProp(l,function(E,L){L.indexOf("_@r")!==0&&each(E.depMaps,function(U){if(U.id===M.id)return z.push(L),!0})}),k(makeError("scripterror",'Script error for "'+M.id+(z.length?'", needed by: '+z.join(", "):'"'),I,[M.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 isPatternDisabled=e=>{var t;return((t=e==null?void 0:e["x-component-props"])==null?void 0:t["pattern-disable"])==!0},DefaultValueContext=import_react2.default.createContext(null),DefaultValueProvider=e=>{const t=(0,import_react2.useMemo)(()=>({isAllowToSetDefaultValue:e.isAllowToSetDefaultValue}),[e.isAllowToSetDefaultValue]);return(0,import_jsx_runtime.jsx)(DefaultValueContext.Provider,{value:t,children:e.children})},useIsAllowToSetDefaultValue=({form:e,fieldSchema:t,collectionField:o}={})=>{const r=useDataSourceManager(),i=useCollectionManager(),n=useCollection(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),{type:c}=useFormBlockType(),{isAllowToSetDefaultValue:u=_isAllowToSetDefaultValue}=(0,import_react2.useContext)(DefaultValueContext)||{};return{isAllowToSetDefaultValue:(0,import_react2.useCallback)(m=>{const d=n.getField(l.name)||i.getCollectionField(l["x-collection-field"]);return u({collectionField:o||d,getInterface:r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface.bind(r==null?void 0:r.collectionFieldInterfaceManager),form:e||a,formBlockType:c,fieldSchema:t||l,isSubTableColumn:m})},[i,n,o,r==null?void 0:r.collectionFieldInterfaceManager,t,e,l,a,u,c])}},interfacesOfUnsupportedDefaultValue=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];function _isAllowToSetDefaultValue({collectionField:e,getInterface:t,formBlockType:o,form:r,fieldSchema:i,isSubTableColumn:n}){var a;return n?!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t):!e||e.target&&(a=i["x-component-props"])!=null&&a.mode&&!["Picker","Select"].includes(i["x-component-props"].mode)||o!=="create"?!1:!(r!=null&&r.readPretty)&&!isPatternDisabled(i)&&!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t)}const 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)},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$1(r,"content",d["x-content"]),setFieldProps$1(r,"title",d.title),setFieldProps$1(r,"description",d.description),u!=null&&u.form){const g=l()?i.default||a:void 0;g!=null&&setFieldProps$1(r,"initialValue",g)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const g=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=g}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired$1(r,i,d),r.dataSource=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,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 DataSourceApplicationProvider=e=>{var t=e,{children:o,dataSourceManager:r}=t,i=Y(t,["children","dataSourceManager"]);return(0,import_jsx_runtime.jsx)(DataSourceManagerProvider,{dataSourceManager:r,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,P(x({},i),{children:o}))})},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.some(n=>!o.truthy(n)):!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==null?void 0:i.length)===0?!0:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.every(l=>!n.some(c=>l.includes(c)))):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){return!i||!n?!1:i===n},$dateBefore:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a<l},$dateNotBefore:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a>=l},$dateAfter:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);return a>l},$dateNotAfter:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a<=l},$dateBetween:function(i,n){if(!i||!n)return!1;const a=parseFullDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a>=l&&a<=c},$dateNotOn:function(i,n){return!i||!n?!1:i!==n},$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},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 g=String(a).split("."),h=r;for(c=0;c<g.length;c++){if(!h.hasOwnProperty(g[c]))throw new Error("Unrecognized operation "+a+" (failed at "+g.slice(0,c+1).join(".")+")");h=h[g[c]]}return h.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)}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){let t=Array.isArray(e)?e[1]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/.test(t)?new Date(t):/^\d{4}-\d{2}-\d{2}$/.test(t)?parseFullDate(t):/^\d{4}-\d{2}$/.test(t)?parseMonth(t):/^\d{4}Q[1-4]$/.test(t)?parseQuarter(t):/^\d{4}$/.test(t)?parseYear(t):null}const 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}}};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,"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 V(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 V(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)}addGlobalVar(t,o){(0,import_set.default)(this.globalVars,t,o)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,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:g}=useDesignable(),h=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({},h),_)),onSubmit(C){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:C,valueKeys:r});return S?(g.emit("patch",{schema:y}),g.refresh()):g.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(),g=i(r),h=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:g,value:import_lodash.default.get(m,n,h),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:g}=(0,import_react_i18next.useTranslation)(),{fieldSchema:h}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(g):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});h?(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 SchemaSettingItemContext=(0,import_react2.createContext)({});SchemaSettingItemContext.displayName="SchemaSettingItemContext";function useSchemaSettingsItem(){return(0,import_react2.useContext)(SchemaSettingItemContext)}function useSchemaSettingsRender(e,t){const o=useApp(),r=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaSettingsManager.get(e),[o.schemaSettingsManager,e]);return e?r?{exists:!0,render:(i={})=>import_react2.default.createElement(SchemaSettingsWrapper,x(x(x({},r.options),t),i))}:(console.error(`[nocobase]: SchemaSettings "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null}}const SchemaToolbarContext=(0,import_react2.createContext)({});SchemaToolbarContext.displayName="SchemaToolbarContext";const SchemaToolbarProvider=e=>{const t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(SchemaToolbarContext.Provider,{value:r,children:o})};function useSchemaToolbar(){return(0,import_react2.useContext)(SchemaToolbarContext)}const EditableTitle=e=>{const[t,o]=(0,import_react2.useState)(e.title),[r,i]=(0,import_react2.useState)(!1),{refresh:n}=useSchemaTemplateManager();useAPIClient();const{run:a}=useRequest({resource:"uiSchemaTemplates",action:"update",params:{filterByTk:e.filterByTk}},{manual:!0,debounceWait:500,onSuccess(){n()}});return(0,import_jsx_runtime.jsx)("div",{children:r?(0,import_jsx_runtime.jsx)(import_antd.Input,{defaultValue:t,size:"large",onBlur:()=>{i(!1)},onChange:l=>{o(l.target.value),a({filterByTk:e.filterByTk,values:{name:l.target.value}})}}):(0,import_jsx_runtime.jsx)("div",{onClick:()=>{i(!0)},children:t||(0,import_jsx_runtime.jsx)("span",{style:{color:"#bbb"},children:"未命名"})})})},BlockTemplateDetails=()=>{var e,t;const o=useNavigateNoUpdate(),r=(0,import_react_router_dom.useParams)(),i=r==null?void 0:r.key,n=(0,import_react2.useContext)(SchemaComponentContext),a=(0,import_react2.useMemo)(()=>P(x({},n),{designable:!0}),[n]),{data:l,loading:c}=useRequest({resource:"uiSchemaTemplates",action:"get",params:{filterByTk:i}});return c?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},onBack:()=>{o("/admin/plugins/block-templates")},ghost:!1,title:(0,import_jsx_runtime.jsx)(EditableTitle,{filterByTk:i,title:(e=l==null?void 0:l.data)==null?void 0:e.name})}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(t=l==null?void 0:l.data)==null?void 0:t.uid})})})]})},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();if(a){const[g]=a.split("."),{name:h,title:_}=o.getCollection(g);r=h,i=_}const u=o.getCollectionField(a),m=o.getCollection(l||(u==null?void 0:u.target)),d=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,p=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:u,associationCollection:m,compile:c}),d].filter(Boolean),[i,r,u,m,c,d]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,x({title:p},e))};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 useSpecialCase=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionField:r}=useCollectionManager_deprecated(),i=(0,import_react2.useMemo)(()=>o(t.name),[t.name,o]),n=(0,import_react2.useCallback)(()=>isSpecialCaseField({collectionField:i,fieldSchema:t,getCollectionField:r}),[i,t,r]),a=(0,import_react2.useCallback)(l=>{const c=getParentFieldSchema(t);if(c){const u=e.query(c.name).take();if(u){const m=import_lodash.default.isEmpty(l)?[]:import_lodash.default.map(transformValue(l,{field:u,subFieldSchema:t}),d=>markRecordAsNew(d));isSubset(m,u.initialValue)||u.setInitialValue(m)}}},[t,e]);return{isSpecialCase:n,setDefaultValue:a}};function getParentFieldSchema(e){for(;e!=null&&e.parent;)if(e=e.parent,isSubMode(e))return e;return e}function isSpecialCaseField({collectionField:e,fieldSchema:t,getCollectionField:o}){if(!t.default||!t.default.includes("$context"))return!1;if(e&&["hasOne","belongsTo"].includes(e.type)&&t){const r=getParentFieldSchema(t);if(r&&r["x-collection-field"]){const i=o(r["x-collection-field"]);if(["hasMany","belongsToMany"].includes(i==null?void 0:i.type))return!0}}return!1}function transformValue(e,t){const{field:o,subFieldSchema:r}=t,i=o.value;let n=null;return Array.isArray(e)?n=e.map(a=>({[r.name]:a})):n=[{[r.name]:e}],import_lodash.default.assignWith([...i],n,(a,l)=>(!a&&l&&(l.__notFromDatabase=!0),import_lodash.default.assign(x({},i[0]),l)))}const useSubTableSpecialCase=({rootField:e,rootSchema:t})=>{const{hasUsedVariable:o}=useHasUsedVariable();(0,import_react2.useEffect)(()=>{if(import_lodash.default.isEmpty(e.value)&&o("$context",t)){const r=e.value,i=[markRecordAsNew({})];e.value=i,setTimeout(()=>{JSON.stringify(e.value)===JSON.stringify(i)&&(e.value=r)})}},[e,t,o])};function isSubset(e,t){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){const r=e[o],i=t[o];if(!import_lodash.default.isMatch(import_lodash.default.omitBy(i,import_lodash.default.isNil),import_lodash.default.omitBy(r,import_lodash.default.isNil)))return!1}return!0}const checkSchema=(e,t)=>{if(e["x-decorator"]==="FormItem"){const r=e.default;if(r&&typeof r=="string"&&isVariable$1(r)&&r.includes(t))return!0}let o=!1;return e.mapProperties(r=>{checkSchema(r,t)&&(o=!0)}),o};function useHasUsedVariable(){return{hasUsedVariable:(0,import_react2.useCallback)((e,t)=>checkSchema(t,e),[])}}const BaseVariableContext=import_react2.default.createContext(null),BaseVariableProvider=e=>(0,import_jsx_runtime.jsx)(BaseVariableContext.Provider,{value:e,children:e.children}),getChildren$2=(e,{collectionField:t,uiSchema:o,depth:r,maxDepth:i,noDisabled:n,loadChildren:a,compile:l,isDisabled:c,targetFieldSchema:u,getCollectionField:m,deprecated:d})=>e.map(p=>!p.target||p.target==="chinaRegions"?{key:p.name,value:p.name,label:l(p.title),disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),isLeaf:!0,depth:r}:r>=i?null:{key:p.name,value:p.name,label:l(p.title),isLeaf:!1,field:p,depth:r,disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),loadChildren:a}).filter(Boolean),getLabelWithTooltip=(e,t)=>t?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{placement:"left",title:t,zIndex:9999,children:(0,import_jsx_runtime.jsx)("span",{style:{position:"relative",display:"inline-block",marginLeft:-14,paddingLeft:14,marginRight:-80,paddingRight:80,zIndex:1},children:e})}):e,useBaseVariable=({collectionField:e,uiSchema:t,targetFieldSchema:o,maxDepth:r=3,name:i,title:n,collectionName:a,noChildren:l=!1,noDisabled:c=!0,dataSource:u,returnFields:m=g=>g,deprecated:d,tooltip:p})=>{const g=useCompile(),h=useGetFilterOptions(),{isDisabled:_}=(0,import_react2.useContext)(BaseVariableContext)||{},f=useCollectionManager(),v=b=>{var S;if(!((S=b.field)!=null&&S.target))return Promise.resolve(void 0);const C=b.field.target;return new Promise(y=>{setTimeout(()=>{const F=(getChildren$2(m(h(C,u,!0),b),{collectionField:e,uiSchema:t,targetFieldSchema:o,depth:b.depth+1,maxDepth:r,noDisabled:c,loadChildren:v,compile:g,isDisabled:_||isDisabledDefault,getCollectionField:f.getCollectionField,deprecated:d})||[]).sort((j,k)=>j.isLeaf&&!k.isLeaf?-1:!j.isLeaf&&k.isLeaf?1:0).sort((j,k)=>j.disabled&&!k.disabled?1:!j.disabled&&k.disabled?-1:0);if(F.length===0){b.disabled=!0,b.isLeaf=!0,y();return}b.children=F,y()},5)})};return(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(n,p),value:i,key:i,isLeaf:l,field:{target:a},depth:0,loadChildren:v,children:[],disabled:!!d,deprecated:d}),[t==null?void 0:t["x-component"]])};function isDisabledDefault(e){var t,o;const{option:r,collectionField:i,uiSchema:n,targetFieldSchema:a,getCollectionField:l}=e;return!n||!i?!0:i.interface==="json"?!1:!i.target&&["hasMany","belongsToMany"].includes(r.type)?!0:!i.target&&["hasOne","belongsTo"].includes(r.type)||r.target&&isSpecialCaseField({collectionField:i,fieldSchema:a,getCollectionField:l})?!1:["hasOne","belongsTo"].includes(i.type)&&["hasMany","belongsToMany"].includes(r.type)?!0:["hasOne","belongsTo"].includes(i.type)&&["hasOne","belongsTo"].includes(r.type)||["hasMany","belongsToMany"].includes(i.type)&&r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const CurrentRecordContext=(0,import_react2.createContext)(null),CurrentRecordContextProvider=e=>{const t=(0,import_react2.useMemo)(()=>({recordData:e.recordData,collectionName:e.collectionName}),[e.recordData,e.collectionName]);return(0,import_jsx_runtime.jsxs)(CurrentRecordContext.Provider,{value:t,children:[" ",e.children," "]})},useCurrentRecord=()=>(0,import_react2.useContext)(CurrentRecordContext),useCurrentRecordContext=()=>{const e=useCurrentRecord(),{name:t}=useBlockContext()||{},o=useCollection(),r=useCollectionRecordData(),{formRecord:i,collectionName:n}=useFormBlockContext();let a=i!=null&&i.data?n:o==null?void 0:o.name;return a=(e==null?void 0:e.collectionName)||a,{currentRecordCtx:(e==null?void 0:e.recordData)||(i==null?void 0:i.data)||r,shouldDisplayCurrentRecord:!import_lodash.default.isEmpty(import_lodash.default.omit(r,["__collectionName","__parent"]))||!!(i!=null&&i.data),collectionName:a,blockType:t,dataSource:o==null?void 0:o.dataSource}},useCurrentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i,blockType:n,dataSource:a}=useCurrentRecordContext();return{currentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nRecord",title:t("Current record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,deprecated:n==="form",tooltip:n==="form"?t('This variable has been deprecated and can be replaced with "Current form"'):"",dataSource:a}),currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i}},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)||{},g=(0,import_react2.useRef)(),h=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:g}),[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:h,children:(0,import_jsx_runtime.jsx)("div",{ref:g,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,dataSource:n,action:a}=e;useCollectionManager_deprecated(n);const{__collection:l}=r||{},{designable:c}=useDesignable(),u=e.collection;let m=!0;!c&&l&&a==="get"&&!i&&(m=l===u);const d=(0,import_ahooks.useUpdate)();return!m||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:d,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();let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(){return useParamsFromRecord()}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 useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}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,g,h,_,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,j=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,k=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,R=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,N=(h=(g=y==null?void 0:y.data)==null?void 0:g.current)==null?void 0:h.wrapSchema,w=(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||!j){e==null||e(i);return}if(F===j){e==null||e(i);return}if(F.parent===j&&k==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:T=!0}={})=>t({refreshParentSchema:T}),current:j});if(D.loadAPIClientEvents(),F.parent===j.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(k){D.insertAdjacent(k,F,{wrap:N,breakRemoveOn:R,removeParentsIfNoChildren:O,onSuccess:w}),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$g=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,g=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let h=!0;if(g===1)if(e.first)h=p!==e.cols[0];else{const j=e.cols[e.index],k=e.cols[e.index+1];h=p!==j&&k!==p}const _=e.cols[e.index],f=e.cols[e.index+1],{attributes:v,listeners:b,setNodeRef:S,isDragging:C}=(0,import_core2.useDraggable)({disabled:e.first||e.last||!l,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f}}),[y,F]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(j){if(!l||!C)return;n.current=j.active.id;const k=m.current,R=k.previousElementSibling,N=k.nextElementSibling;F([R.clientWidth,N.clientWidth])},onDragMove(j){if(!l||!C)return;n.current===j.active.id&&(n.current=n.current+"_move");const k=m.current,R=k.previousElementSibling,N=k.nextElementSibling;R.style.width=`${y[0]+j.delta.x}px`,N.style.width=`${y[1]-j.delta.x}px`},onDragEnd(j){var k;if(!l||!n.current||(k=n.current)!=null&&k.startsWith(j.active.id)&&!n.current.endsWith("_move")||y[0]<=0||y[1]<=0||(F([0,0]),!_||!f))return;const R=m.current,N=R.previousElementSibling,w=R.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const O=R.clientWidth*(e.cols.length+1)/e.cols.length,D=(100*(N.getBoundingClientRect().width+O)/R.parentElement.clientWidth).toFixed(2),T=(100*(w.getBoundingClientRect().width+O)/R.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",D),import_lodash.default.set(f,"x-component-props.width",T),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:j=>{h&&(u(j),m.current=j)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:S},b),v),{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],g=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,h=(0,import_react2.useMemo)(()=>g==null?void 0:g.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[g]);let _=!0;if(h===1)if(e.first)_=g!==e.rows[0];else{const f=e.rows[e.index+1];_=g!==p&&f!==g}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)(v=>a(v),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$g(),g=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 h=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=(0,import_react2.useCallback)(()=>{_==null||_()},[_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:f,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:h,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((v,b)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[g?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:v.name,schema:v,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:v.name,schema:v,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:b,id:`${c}_${b+1}`,data:getRowDividerData(v,"afterEnd")}):null]},b))]}),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 g=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),h=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:h,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 g=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},h=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var b;h!=null&&h.current&&((b=h.current.parentElement)==null||b.scrollIntoView({block:"start"}))},[h]),f=(0,import_react2.useMemo)(()=>({pageSize:g==null?void 0:g.pageSize,total:g==null?void 0:g.count,current:g==null?void 0:g.page,onChange:_}),[g==null?void 0:g.count,g==null?void 0:g.page,g==null?void 0:g.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=>V(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,j,k,R,N,w,O,D,T,$;const B=(k=(j=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:j.params)==null?void 0:k.sort,I=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:B||d.dragSortBy,M=S||((w=(N=(R=l.parent)==null?void 0:R["x-decorator-props"])==null?void 0:N.params)==null?void 0:w.pageSize),z=P(x({},(T=(D=(O=p.current)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T[0]),{page:b||1,pageSize:M});I&&(z.sort=I),($=p.current)==null||$.service.run(z)},[l.parent]),onClickRow:(0,import_react2.useCallback)((b,S,C)=>{const{targets:y,uid:F}=findFilterTargets(l),j=m();if(!y||!y.some(R=>j.some(N=>N.uid===R.uid))){S(R=>R.length?[]:R);return}const k=j.find(R=>R.uid===l.parent["x-uid"]);j.forEach(R=>{var N,w,O,D;const T=y.find(E=>E.uid===R.uid);if(!T)return;const $=getSourceKey(k,T.field)||d.rowKey||"id",B=[b[$]],I=((N=R.service.params)==null?void 0:N[0])||{},M=((O=(w=R.service.params)==null?void 0:w[1])==null?void 0:O.filters)||{};if(C.includes(b[d.rowKey])){if((D=R.clearSelection)==null||D.call(R),R.dataLoadingMode==="manual")return R.clearData();delete M[F]}else M[F]={$and:[{[T.field||d.rowKey]:{[T.field?"$in":"$eq"]:B}}]};const z=mergeFilter([...Object.values(M).map(E=>removeNullCondition(E)),R.defaultFilter]);return R.doFilter(P(x({},I),{page:1,filter:z}),{filters:M})}),S(R=>R!=null&&R.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 NOOP=()=>{},CollectOperatorsContext=(0,import_react2.createContext)(null),CollectOperators=e=>{const t=(0,import_react2.useRef)(e.defaultOperators||{}),o=(0,import_react2.useCallback)((a,l)=>{t.current[a]=l},[]),r=(0,import_react2.useCallback)(()=>x({},t.current),[]),i=(0,import_react2.useCallback)(a=>t.current[a],[]),n=(0,import_react2.useCallback)(a=>{delete t.current[a]},[]);return(0,import_jsx_runtime.jsx)(CollectOperatorsContext.Provider,{value:{collectOperator:o,getOperators:r,getOperator:i,removeOperator:n},children:e.children})},useOperators=()=>{const{getOperator:e=NOOP,getOperators:t=NOOP,collectOperator:o=NOOP,removeOperator:r=NOOP}=import_react2.default.useContext(CollectOperatorsContext)||{};return{getOperator:e,getOperators:t,collectOperator:o,removeOperator:r}},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=(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)},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:g}=useCollectionField(),{isAllowToSetDefaultValue:h}=useIsAllowToSetDefaultValue(),_=m(g),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(c,"content",y["x-content"]),setFieldProps(c,"title",y.title),setFieldProps(c,"description",y.description),b!=null&&b.form){const j=h()?u.default||p:void 0;j!=null&&setFieldProps(c,"initialValue",j)}if(!c.validator&&(y["x-validator"]||u["x-validator"])){const j=(0,import_lodash.concat)([],y["x-validator"]||[],u["x-validator"]||[]);c.validator=j}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired(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)(ActionBarProvider,{forceProps:{style:{overflowX:"auto",maxWidth:"100%",float:"right"}},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)(g=>{var h;(h=l==null?void 0:l.form)==null||h.setValuesIn(a,g.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var g;const h=((g=l==null?void 0:l.form)==null?void 0:g.values[a])||{};m.reset(),(0,import_client.forEach)(h,(_,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(),g=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(g)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(g),(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 V(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 V(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return V(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 V(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 V(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,g,h;(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=(h=(g=u==null?void 0:u.field)==null?void 0:g.data)==null?void 0:h.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$1=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent$1(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$1(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(),g=useAssociationNames$1(e.collection);let h=x({},e.params);e.dragSort&&(h.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(h.tree=!0,u.name==="parent"&&(h.filter=P(x({},(t=h.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(h).includes("appends")||(h.appends=g);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}})}_&&(h!=null&&h.filter?h.filter={$and:[_,h.filter]}:h.filter=_);try{h.filter=mergeFilter([o.filter,h.filter]),h=x(x({},o),h)}catch(b){console.error(b)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:h==null?void 0:h.filter});return!import_lodash.default.isEmpty(h==null?void 0:h.filter)&&import_lodash.default.isEmpty(f)||v?null:(h!=null&&h.filter&&(h.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:h,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:h,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),b=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),C=recursiveParent$1(b,"CollectionField"),y=S(C==null?void 0:C["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,j,k,R,N,w,O,D,T,$,B,I,M;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const z=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(E=>E);f.value=z,(R=f==null?void 0:f.setInitialValue)==null||R.call(f,z),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(O=(w=(N=v==null?void 0:v.service)==null?void 0:N.data)==null?void 0:w.meta)==null?void 0:O.pageSize,f.componentProps.pagination.total=($=(T=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:T.meta)==null?void 0:$.count,f.componentProps.pagination.current=(M=(I=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:I.meta)==null?void 0:M.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,(g=v==null?void 0:v.service)==null?void 0:g.loading,f]),{loading:(h=v==null?void 0:v.service)==null?void 0:h.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,j){var k;v.field.data=((k=v==null?void 0:v.field)==null?void 0:k.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=j},onRowDragEnd(F){return V(this,arguments,function*({from:j,to:k}){yield v.resource.move({sourceId:j[v.rowKey||"id"],targetId:k[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:j}){var k;v.service.run(P(x({},(k=v.service.params)==null?void 0:k[0]),{page:F,pageSize:j}))}}},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,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useFormItemProps,useDataFormItemProps}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return V(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,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,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(),c=u=>{var m,d;i["x-linkage-rules"]=((m=u==null?void 0:u.data)==null?void 0:m["x-linkage-rules"])||[],i.setProperties((d=u==null?void 0:u.data)==null?void 0:d.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:c})}):(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=>V(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=>V(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=>V(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={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options),i=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:a}=yield o.request(options);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 V(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 V(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 V(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 V(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:{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",icon:"EditOutlined",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":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}},column1:{type:"void","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}}}}}}}}}},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}),BlockTemplateContext=(0,import_react2.createContext)({componentNamePrefix:""}),BlockTemplateProvider=e=>(0,import_jsx_runtime.jsx)(BlockTemplateContext.Provider,{value:P(x({},e),{componentNamePrefix:e.componentNamePrefix||""}),children:e.children}),useBlockTemplateContext=()=>(0,import_react2.useContext)(BlockTemplateContext),itemsMerge=e=>e,gridRowColWrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[(e==null?void 0:e.name)||(0,import_shared.uid)()]:e}}}}),removeTableColumn=(e,t)=>{t(e.parent)},removeGridFormItem=(e,t)=>{t(e,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})},useRemoveGridFormItem=()=>{const e=(0,import_react.useForm)();return(t,o)=>{var r;o(t,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}),(r=e.values)==null||delete r[t.name]}},findTableColumn=(e,t,o,r)=>e.reduceProperties((i,n)=>n[t]===o&&(!r||n.name===r)?n:n.reduceProperties((l,c)=>c[t]===o&&(!r||c.name===r)?c:l)||i),quickEditField$1=["attachment","textarea","markdown","json","richText","polygon","circle","point","lineString"];function useTableColumnInitializerFields(){const{name:e,currentFields:t=[]}=useCollection_deprecated(),{getInterface:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",n=(0,import_react.useForm)(),a=i?n.readPretty:!0;return t.filter(l=>!l.collectionName||l.collectionName===e).filter(l=>(l==null?void 0:l.interface)&&(l==null?void 0:l.interface)!=="subTable"&&!(l!=null&&l.treeChildren)).map(l=>{var c,u,m,d;const p=o(l.interface),g=(l==null?void 0:l.target)&&((c=r(l==null?void 0:l.target))==null?void 0:c.template)==="file",h=((u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component"])==="Preview",_={name:l.name,"x-collection-field":`${e}.${l.name}`,"x-component":"CollectionField","x-component-props":g?{fieldNames:{label:"preview",value:"id"}}:h?{size:"small"}:{},"x-read-pretty":a||((m=l.uiSchema)==null?void 0:m["x-read-pretty"]),"x-decorator":i?quickEditField$1.includes(l.interface)||g?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{type:"item",name:l.name,title:((d=l==null?void 0:l.uiSchema)==null?void 0:d.title)||l.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:f=>{var v;(v=p==null?void 0:p.schemaInitialize)==null||v.call(p,f,{field:l,readPretty:a,block:"Table",targetCollection:r(l.target)})},field:l,schema:_}})}function useAssociatedTableColumnInitializerFields(){var e;const{fields:t}=useCollection_deprecated(),{t:o}=(0,import_react_i18next.useTranslation)(),{getInterface:r,getCollectionFields:i,getCollection:n}=useCollectionManager_deprecated();return(e=t==null?void 0:t.filter(a=>["o2o","oho","obo","m2o"].includes(a.interface)))==null?void 0:e.map(a=>getGroupItemForTable({getCollectionFields:i,field:a,getInterface:r,getCollection:n,schemaName:a.name,maxDepth:2,depth:1,t:o}))}function getGroupItemForTable({getCollectionFields:e,field:t,getInterface:o,getCollection:r,schemaName:i,maxDepth:n,depth:a,t:l}){var c,u;const m=e(t.target),d=(c=m==null?void 0:m.filter(g=>(g==null?void 0:g.interface)&&!["subTable"].includes(g==null?void 0:g.interface)&&!(g!=null&&g.treeChildren)))==null?void 0:c.map(g=>{var h;const _=o(g.interface),f=`${i}.${g.name}`,v={name:f,"x-component":"CollectionField","x-read-pretty":!0,"x-collection-field":`${t.target}.${g.name}`,"x-component-props":{}};return{type:"item",key:`${t.target}_${g.name}_${f}`,name:f,title:((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||g.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:b=>{var S;(S=_==null?void 0:_.schemaInitialize)==null||S.call(_,b,{field:g,readPretty:!0,block:"Table",targetCollection:r(t.target)})},field:g,schema:v}}),p=[{type:"itemGroup",key:`${t.target}_${i}_displayFields`,name:`${i}-displayCollectionFields`,title:l("Display fields"),children:d}];if(a<n){const g=m==null?void 0:m.filter(h=>["o2o","oho","obo","m2o"].includes(h.interface)).map(h=>getGroupItemForTable({getCollectionFields:e,field:h,getInterface:o,getCollection:r,schemaName:`${i}.${h.name}`,maxDepth:n,depth:a+1,t:l}));if(g.length){const h={type:"itemGroup",key:`${t.target}_${i}_associationFields`,name:`${i}-associationFields`,title:l("Display association fields"),children:g};p.push(h)}}return{type:"subMenu",key:`${t.target}_${i}_submenu`,name:i,title:(u=t.uiSchema)==null?void 0:u.title,children:p}}function useInheritsTableColumnInitializerFields(){const{name:e}=useCollection_deprecated(),{getInterface:t,getInheritCollections:o,getCollection:r,getParentCollectionFields:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",a=(0,import_react.useForm)(),l=n?a.readPretty:!0,c=o(e);return c==null?void 0:c.map(u=>{const m=i(u,e),d=r(u);return{[d==null?void 0:d.title]:m==null?void 0:m.filter(p=>p==null?void 0:p.interface).map(p=>{var g,h,_,f;const v=t(p.interface),b=(p==null?void 0:p.target)&&((g=r(p==null?void 0:p.target))==null?void 0:g.template)==="file",S={name:`${p.name}`,"x-component":"CollectionField","x-read-pretty":l||((h=p.uiSchema)==null?void 0:h["x-read-pretty"]),"x-collection-field":`${e}.${p.name}`,"x-component-props":b?{fieldNames:{label:"preview",value:"id"}}:{},"x-decorator":n?quickEditField$1.includes(p.interface)||b?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{name:((_=p==null?void 0:p.uiSchema)==null?void 0:_.title)||p.name,type:"item",title:((f=p==null?void 0:p.uiSchema)==null?void 0:f.title)||p.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:C=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,C,{field:p,readPretty:!0,block:"Table",targetCollection:r(p==null?void 0:p.target)})},field:p,schema:S}})}})}const useFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="Form"}=e||{},{fieldSchema:m}=useActionContext(),d=m==null?void 0:m["x-action"];return(o=(t=i.filter(p=>!p.collectionName||p.collectionName===r))==null?void 0:t.filter(p=>(p==null?void 0:p.interface)&&!(p!=null&&p.treeChildren)))==null?void 0:o.map(p=>{var g,h,_,f,v;const b=n(p.interface),S=a(p.target),C=(p==null?void 0:p.target)&&((g=a(p==null?void 0:p.target))==null?void 0:g.template)==="file",y=S,F=(_=(h=p==null?void 0:p.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames,j={type:"string",name:p.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${r}.${p.name}`,"x-component-props":C?{fieldNames:{label:"preview",value:"id"}}:y&&F?{fieldNames:P(x({},F),{label:(S==null?void 0:S.titleField)||F.label})}:{},"x-read-pretty":(f=p==null?void 0:p.uiSchema)==null?void 0:f["x-read-pretty"]},k={type:"item",name:p.name,title:((v=p==null?void 0:p.uiSchema)==null?void 0:v.title)||p.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:R=>{var N;(N=b==null?void 0:b.schemaInitialize)==null||N.call(b,R,{field:p,block:u,readPretty:c,action:d,targetCollection:S})},schema:j};return u=="Kanban"&&(k.find=(R,N,w)=>{const O=findSchema(R,"x-component",u);return findSchema(O,N,w)}),k})},useFilterFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="FilterForm"}=e||{},{snapshot:m,fieldSchema:d}=useActionContext(),p=d==null?void 0:d["x-action"];return(o=(t=i.filter(g=>!g.collectionName||g.collectionName===r))==null?void 0:t.filter(g=>{var h;return(g==null?void 0:g.interface)&&((h=n(g.interface))==null?void 0:h.filterable)}))==null?void 0:o.map(g=>{var h,_,f;const v=n(g.interface),b=a(g.target);let S={type:"string",name:g.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${g.name}`,"x-component-props":{utc:!1}};return isAssocField(g)&&(S={type:"string",name:`${g.name}`,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${g.name}`,"x-component-props":P(x({},(h=g.uiSchema)==null?void 0:h["x-component-props"]),{utc:!1})}),{name:((_=g==null?void 0:g.uiSchema)==null?void 0:_.title)||g.name,type:"item",title:((f=g==null?void 0:g.uiSchema)==null?void 0:f.title)||g.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:C=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,C,{field:g,block:u,readPretty:c,action:p,targetCollection:b})},schema:S}})},useAssociatedFormItemInitializerFields=e=>{var t;const{name:o,fields:r}=useCollection_deprecated(),{getInterface:i,getCollectionFields:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{t:c}=(0,import_react_i18next.useTranslation)(),{readPretty:u=l.readPretty,block:m="Form"}=e||{},d=m==="Form"?["m2o","obo","oho"]:["o2o","oho","obo","m2o"];return(t=r==null?void 0:r.filter(p=>d.includes(p.interface)))==null?void 0:t.map(p=>getGroupItemForForm({getCollectionFields:n,field:p,getInterface:i,getCollection:a,readPretty:u,block:m,schemaName:p.name,maxDepth:2,depth:1,t:c}))},associationFieldToMenu=(e,t,o,r,i)=>{var n,a,l;if(e.target&&e.uiSchema){if(i.includes(e.target)||i.length>=1)return;const u=r(e.target);return u!=null&&u.length?{type:"subMenu",name:t,title:(n=e.uiSchema)==null?void 0:n.title,children:u.map(m=>associationFieldToMenu(m,`${t}.${m.name}`,o,r,[...i,e.target])).filter(Boolean)}:void 0}if(!e.uiSchema)return;const c={type:"string",name:t,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-designer-props":{interface:e.interface},"x-component":"CollectionField","x-component-props":{utc:!1},"x-read-pretty":!1,"x-decorator":"FormItem","x-collection-field":`${o}.${t}`};return{name:((a=e.uiSchema)==null?void 0:a.title)||e.name,type:"item",title:((l=e.uiSchema)==null?void 0:l.title)||e.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schema:c}},useFilterAssociatedFormItemInitializerFields=()=>{const{name:e,fields:t}=useCollection_deprecated(),{getCollectionFields:o}=useCollectionManager_deprecated(),r=["o2o","oho","obo","m2o","m2m"];return t==null?void 0:t.filter(i=>i.target&&i.uiSchema&&r.includes(i.interface)).map(i=>associationFieldToMenu(i,i.name,e,o,[])).filter(Boolean)},useInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const m=n(c,t),{readPretty:d=l.readPretty,block:p="Form",component:g="CollectionField"}=e||{},h=i(c);return{[h==null?void 0:h.title]:(u=m==null?void 0:m.filter(_=>_==null?void 0:_.interface))==null?void 0:u.map(_=>{var f,v,b,S;const C=o(_.interface),y=i(_.target),F={type:"string",name:_.name,title:((f=_==null?void 0:_.uiSchema)==null?void 0:f.title)||_.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":g,"x-decorator":"FormItem","x-collection-field":`${t}.${_.name}`,"x-component-props":{},"x-read-pretty":(v=_==null?void 0:_.uiSchema)==null?void 0:v["x-read-pretty"]};return{name:((b=_==null?void 0:_.uiSchema)==null?void 0:b.title)||_.name,type:"item",title:((S=_==null?void 0:_.uiSchema)==null?void 0:S.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:j=>{var k;(k=C==null?void 0:C.schemaInitialize)==null||k.call(C,j,{field:_,block:p,readPretty:d,targetCollection:y})},schema:F}})}})},useFilterInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const m=n(c,t),{readPretty:d=l.readPretty,block:p="Form"}={};return{[i(c).title]:(u=m==null?void 0:m.filter(g=>{var h;return(g==null?void 0:g.interface)&&((h=o(g.interface))==null?void 0:h.filterable)}))==null?void 0:u.map(g=>{var h,_,f,v;const b=o(g.interface),S=i(g.target),C={type:"string",name:g.name,title:((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||g.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${t}.${g.name}`,"x-component-props":{utc:!1},"x-read-pretty":(_=g==null?void 0:g.uiSchema)==null?void 0:_["x-read-pretty"]};return{name:((f=g==null?void 0:g.uiSchema)==null?void 0:f.title)||g.name,type:"item",title:((v=g==null?void 0:g.uiSchema)==null?void 0:v.title)||g.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:y=>{var F;(F=b==null?void 0:b.schemaInitialize)==null||F.call(b,y,{field:g,block:p,readPretty:d,targetCollection:S})},schema:C}})}})},useCustomFormItemInitializerFields=e=>{var t;const{name:o,currentFields:r}=useCollection_deprecated(),{getInterface:i,getCollection:n}=useCollectionManager_deprecated(),a=(0,import_react.useForm)(),{readPretty:l=a.readPretty,block:c="Form"}=e||{},u=useRemoveGridFormItem();return(t=r==null?void 0:r.filter(m=>!m.inherit&&(m==null?void 0:m.interface)&&m.interface!=="snapshot"&&m.type!=="sequence"))==null?void 0:t.map(m=>{var d,p,g;const h=i(m.interface),_={type:"string",name:m.name,title:((d=m==null?void 0:m.uiSchema)==null?void 0:d.title)||m.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"AssignedField","x-decorator":"FormItem","x-collection-field":`${o}.${m.name}`};return{name:((p=m==null?void 0:m.uiSchema)==null?void 0:p.title)||m.name,type:"item",title:((g=m==null?void 0:m.uiSchema)==null?void 0:g.title)||m.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:f=>{var v;(v=h==null?void 0:h.schemaInitialize)==null||v.call(h,f,{field:m,block:c,readPretty:l,targetCollection:n(m.target)})},schema:_}})},findSchema=(e,t,o,r)=>import_react.Schema.isSchemaInstance(e)?e.reduceProperties((i,n)=>{if(n[t]===o&&(!r||n.name===r))return n;if(n["x-component"]&&n["x-component"]!=="Action.Container"&&!n["x-component"].includes("AssociationField")){const a=findSchema(n,t,o,r);if(a)return a}return i}):null,removeSchema=(e,t)=>t(e),recursiveParent=e=>e.parent?e.parent["x-initializer"]?e.parent:recursiveParent(e.parent):null,useCurrentSchema=(e,t,o=findSchema,r=removeSchema,i)=>{const{removeActiveFieldName:n}=useFormActiveFields()||{},{form:a}=useFormBlockContext();let l=(0,import_react.useFieldSchema)();if(!(l!=null&&l["x-initializer"])&&(l==null?void 0:l["x-decorator"])==="FormItem"){const m=recursiveParent(l);m&&(l=m)}const{remove:c}=useDesignable(),u=o(l,t,e,i);return{schema:u,exists:!!u,remove(){n==null||n(u.name),a==null||a.query(new RegExp(`${u.parent.name}.${u.name}$`)).forEach(m=>{var d,p;(d=m.setValue)==null||d.call(m,void 0),(p=m.setInitialValue)==null||p.call(m,void 0)}),u&&r(u,c)}}},useRecordCollectionDataSourceItems=(e,t=null,o=null,r=null)=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCollection_deprecated(),{getTemplatesByCollection:a}=useSchemaTemplateManager(),l=a(n.dataSource,o||n.name).filter(u=>e&&u.componentName===e).filter(u=>["FormItem","ReadPrettyFormItem"].includes(e)||u.resourceName===r);if(!l.length)return[];const c=0;return[{key:`${o||e}_table_blank`,type:"item",name:n.name,title:i("Blank block"),item:t},{type:"divider"},{key:`${o||e}_table_subMenu_${c}_copy`,type:"subMenu",name:"copy",title:i("Duplicate template"),children:l.map(u=>{const m=["FormItem","ReadPrettyFormItem"].includes(u==null?void 0:u.componentName)?`${u==null?void 0:u.name} ${i("(Fields only)")}`:u==null?void 0:u.name;return{type:"item",mode:"copy",name:n.name,template:u,item:t,title:m||i("Untitled")}})},{key:`${o||e}_table_subMenu_${c}_ref`,type:"subMenu",name:"ref",title:i("Reference template"),children:l.map(u=>{const m=["FormItem","ReadPrettyFormItem"].includes(u==null?void 0:u.componentName)?`${u==null?void 0:u.name} ${i("(Fields only)")}`:u==null?void 0:u.name;return{type:"item",mode:"reference",name:n.name,template:u,item:t,title:m||i("Untitled")}})}]},useCollectionDataSourceItems=({name:e,componentName:t,filter:o=()=>!0,onlyCurrentDataSource:r=!1,showAssociationFields:i,filterDataSource:n,dataBlockInitializerProps:a,hideOtherRecordsInPopup:l,onClick:c,filterOtherRecordsCollection:u,currentText:m,otherText:d})=>{const{componentNamePrefix:p}=useBlockTemplateContext(),{t:g}=(0,import_react_i18next.useTranslation)(),h=useDataSourceManager(),_=useDataSourceKey(),f=useCollection(),v=useAssociationFields({componentName:p+t,filterCollections:o,showAssociationFields:i,componentNamePrefix:p}),b=useAssociationName();let S=h.getAllCollections({filterCollection:F=>r&&F.dataSource!==_?!1:o({collection:F}),filterDataSource:n});r&&(S=S.filter(F=>F.key===_));const{getTemplatesByCollection:C}=useSchemaTemplateManager(),y=(0,import_react2.useMemo)(()=>S.map(({key:F,displayName:j,collections:k})=>({name:F,label:j,type:"subMenu",children:[...getChildren$1({name:e,association:b,collections:k,componentName:p+t,searchValue:"",dataSource:F,getTemplatesByCollection:C,t:g,componentNamePrefix:p}).sort(R=>{const N=import_lodash.default.toArray((f==null?void 0:f.inherits)||[]);if(R.name===(f==null?void 0:f.name)||N.some(w=>w===R.name))return-1})]})),[S,f==null?void 0:f.inherits,f==null?void 0:f.name,t,C,g]);return i?(0,import_react2.useMemo)(()=>{var F;const j={name:"currentRecord",collectionName:f.name,dataSource:f.dataSource,Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:m||g("Current record"),name:"currentRecord",hideSearch:!1,hideChildrenIfSingleCollection:!0,items:y})},k={name:"associationRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:g("Associated records"),name:"associationRecords",hideSearch:!1,items:[{name:"associationFields",label:g("Association fields"),type:"subMenu",children:v}]})},R={ReadPrettyFormItem:"Details"},N={name:"otherRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{hideSearch:!1,icon:null,title:d||g("Other records"),name:"otherRecords",showAssociationFields:!1,onlyCurrentDataSource:!1,hideChildrenIfSingleCollection:!1,fromOthersInPopup:!0,componentType:R[t]||t,filter({collection:D,associationField:T}){return u?u(D):!0},onClick(D){c(P(x({},D),{fromOthersInPopup:!0}))}})};let w;const O=v.length?k:null;if(y[0].children.length&&v.length)l?w=[j,O]:w=[j,O,N];else if(y[0].children.length)if(l){if(y[0].children.length<=1)return y[0].children=((F=y[0].children[0])==null?void 0:F.children)||[],y;w=[j]}else w=[j,N];else l?w=[O]:w=[O,N];return[{name:"records",label:g("Records"),type:"subMenu",children:w.filter(Boolean)}]},[v,f.dataSource,f.name,t,a,u,l,y,c,g]):y},createDetailsBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="detailsWithPaging:configureActions",collection:i,dataSource:n,association:a,template:l,settings:c,action:u="list"}=t,m=Y(t,["formItemInitializers","actionInitializers","collection","dataSource","association","template","settings","action"]),d=a||i;return{type:"void","x-acl-action":u==="get"?`${d}:get`:`${d}:view`,"x-decorator":"DetailsBlockProvider","x-decorator-props":x(x({dataSource:n,collection:i,association:a,readPretty:!0,action:u},u==="list"?{params:{pageSize:1}}:{}),m),"x-toolbar":"BlockSchemaToolbar","x-settings":c,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-use-component-props":"useDetailsBlockProps","x-read-pretty":!0,properties:x({[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:l||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}},u==="list"?{pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}:{})}}}},createFormBlockSchema=e=>{const t=e,{formItemInitializers:o="form:configureFields",actionInitializers:r="createForm:configureActions",collection:i,resource:n,dataSource:a,association:l,action:c,actions:u={},"x-designer":m="FormV2.Designer",template:d,title:p,settings:g}=t,h=Y(t,["formItemInitializers","actionInitializers","collection","resource","dataSource","association","action","actions","x-designer","template","title","settings"]),_=n||l||i;return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!c},"x-acl-action":c?`${_}:update`:`${_}:create`,"x-decorator":"FormBlockProvider","x-decorator-props":P(x({},h),{action:c,dataSource:a,resource:_,collection:i,association:l}),"x-toolbar":"BlockSchemaToolbar"},g?{"x-settings":g}:{"x-designer":m}),{"x-component":"CardItem","x-component-props":{title:p},properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{grid:d||{type:"void","x-component":"Grid","x-initializer":o,properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:u}}}}})},createReadPrettyFormBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="details:configureActions",collection:i,association:n,dataSource:a,resource:l,template:c,settings:u}=t,m=Y(t,["formItemInitializers","actionInitializers","collection","association","dataSource","resource","template","settings"]),d=l||n||i;return{type:"void","x-acl-action":`${d}:get`,"x-decorator":"FormBlockProvider","x-decorator-props":x({resource:d,collection:i,association:n,dataSource:a,readPretty:!0,action:"get",useParams:"{{ useParamsFromRecord }}"},m),"x-toolbar":"BlockSchemaToolbar","x-settings":u,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps","x-read-pretty":!0,properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:c||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}}}}}},createTableBlockSchema=e=>{const t=e,{collection:o,rowKey:r,tableActionInitializers:i,tableColumnInitializers:n,tableActionColumnInitializers:a,tableBlockProvider:l,disableTemplate:c,dataSource:u,blockType:m,pageSize:d=20}=t,p=Y(t,["collection","rowKey","tableActionInitializers","tableColumnInitializers","tableActionColumnInitializers","tableBlockProvider","disableTemplate","dataSource","blockType","pageSize"]);return{type:"void","x-decorator":l??"TableBlockProvider","x-acl-action":`${o}:list`,"x-decorator-props":x({collection:o,dataSource:u,action:"list",params:{pageSize:d},rowKey:r,showIndex:!0,dragSort:!1,disableTemplate:c??!1,blockType:m},p),"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":i??"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":n??"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":a??"table:configureItemActions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{},properties:{}}}}}}}}},getChildren$1=({name:e,association:t,collections:o,dataSource:r,componentName:i,searchValue:n,getTemplatesByCollection:a,t:l,componentNamePrefix:c})=>{var u;return(u=o==null?void 0:o.filter(m=>{if(m.inherit)return!1;if(m.filterTargetKey){if([c+"Kanban",c+"FormItem"].includes(i)&&(m.template==="view"&&!m.writableView||m.template==="sql")||m.template==="file"&&[c+"Kanban",c+"FormItem",c+"Calendar"].includes(i))return!1;{const d=m.title||m.tableName;return d?d.toUpperCase().includes(n.toUpperCase())&&!(m!=null&&m.isThrough&&m!=null&&m.autoCreate):!1}}else return!1}))==null?void 0:u.map((m,d)=>{const p=m.title||m.tableName||m.label,g=a(r,m.name).filter(h=>{var _;const f=e!=="otherRecords"&&t;return f?h.resourceName!==t?!1:i&&h.componentName===i:!f&&(_=h==null?void 0:h.resourceName)!=null&&_.includes(".")?!1:i&&h.componentName===i});return g.length?{key:`${i}_table_subMenu_${d}`,type:"subMenu",name:`${m.name}_${d}`,title:p,dataSource:r,children:[{type:"item",name:m.name,dataSource:r,title:l("Blank block")},{type:"divider"},{key:`${i}_table_subMenu_${d}_copy`,type:"subMenu",name:"copy",dataSource:r,title:l("Duplicate template"),children:g.map(h=>{const _=[c+"FormItem",c+"ReadPrettyFormItem"].includes(h==null?void 0:h.componentName)?`${h==null?void 0:h.name} ${l("(Fields only)")}`:h==null?void 0:h.name;return{type:"item",mode:"copy",name:m.name,template:h,dataSource:r,title:_||l("Untitled")}})},{key:`${i}_table_subMenu_${d}_ref`,type:"subMenu",name:"ref",dataSource:r,title:l("Reference template"),children:g.map(h=>{const _=[c+"FormItem",c+"ReadPrettyFormItem"].includes(h==null?void 0:h.componentName)?`${h==null?void 0:h.name} ${l("(Fields only)")}`:h==null?void 0:h.name;return{type:"item",mode:"reference",name:m.name,template:h,dataSource:r,title:_||l("Untitled")}})}]}:{type:"item",name:m.name,title:p,dataSource:r}})};function getGroupItemForForm({getCollectionFields:e,field:t,getInterface:o,getCollection:r,readPretty:i,block:n,maxDepth:a,depth:l,schemaName:c,t:u}){var m,d;const p=e(t.target),g=(m=p==null?void 0:p.filter(_=>(_==null?void 0:_.interface)&&!["subTable"].includes(_==null?void 0:_.interface)&&!_.treeChildren))==null?void 0:m.map(_=>{var f,v;const b=o(_.interface),S=(t==null?void 0:t.target)&&((f=r(t==null?void 0:t.target))==null?void 0:f.template)==="file",C=`${c}.${_.name}`,y={type:"string",name:C,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-read-pretty":i,"x-component-props":{"pattern-disable":n==="Form"&&i,fieldNames:S?{label:"preview",value:"id"}:void 0},"x-decorator":"FormItem","x-collection-field":`${t.target}.${_.name}`};return{name:C,type:"item",title:((v=_==null?void 0:_.uiSchema)==null?void 0:v.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:F=>{var j;(j=b==null?void 0:b.schemaInitialize)==null||j.call(b,F,{field:_,block:n,readPretty:i,targetCollection:r(t.target)})},schema:y}}),h=[{type:"itemGroup",name:`${c}-displayCollectionFields`,title:u("Display fields"),children:g}];if(l<a){const _=p==null?void 0:p.filter(f=>["o2o","oho","obo","m2o"].includes(f.interface)).map(f=>getGroupItemForForm({getCollectionFields:e,field:f,getInterface:o,getCollection:r,schemaName:`${c}.${f.name}`,readPretty:i,block:n,maxDepth:a,depth:l+1,t:u}));if(_.length){const f={type:"itemGroup",name:`${c}-associationFields`,title:u("Display association fields"),children:_};h.push(f)}}return{type:"subMenu",name:`${c}.${t.name}`,title:(d=t.uiSchema)==null?void 0:d.title,children:h}}function useAssociationFields({componentName:e,filterCollections:t,showAssociationFields:o,componentNamePrefix:r}){const i=(0,import_react.useFieldSchema)(),{getCollectionFields:n}=useCollectionManager_deprecated(),a=useCollection_deprecated();useCollectionManager();const l=useDataSourceKey(),{getTemplatesByCollection:c}=useSchemaTemplateManager(),{t:u}=(0,import_react_i18next.useTranslation)(),m=useCompile();return(0,import_react2.useMemo)(()=>{if(!o)return[];let d=[];if(i["x-initializer"])d=a.fields;else{const p=recursiveParent(i.parent);p&&(d=n(p))}return d.filter(p=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(p.interface)).filter(p=>t({associationField:p})).map((p,g)=>{const h=m(p.uiSchema.title||p.name),_=c(l,p.target).filter(f=>f.resourceName!==`${p.collectionName}.${p.name}`?!1:e===r+"ReadPrettyFormItem"?["hasOne","belongsTo"].includes(p.type)?f.componentName===r+"ReadPrettyFormItem":f.componentName===r+"Details":f.componentName===e);return _.length?{key:`associationFiled_${e}_table_subMenu_${g}`,type:"subMenu",name:`${p.target}_${g}`,title:h,dataSource:l,children:[{type:"item",name:`${p.collectionName}.${p.name}`,collectionName:p.target,dataSource:l,title:u("Blank block"),associationField:p},{type:"divider"},{key:`associationFiled_${e}_table_subMenu_${g}_copy`,type:"subMenu",name:"copy",dataSource:l,title:u("Duplicate template"),children:_.map(f=>{const v=[r+"FormItem",r+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${u("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"copy",name:`${p.collectionName}.${p.name}`,collectionName:p.target,template:f,dataSource:l,title:v||u("Untitled"),associationField:p}})},{key:`associationFiled_${e}_table_subMenu_${g}_ref`,type:"subMenu",name:"ref",dataSource:l,title:u("Reference template"),children:_.map(f=>{const v=[r+"FormItem",r+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${u("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"reference",name:`${p.collectionName}.${p.name}`,collectionName:p.target,template:f,dataSource:l,title:v||u("Untitled"),associationField:p}})}]}:{type:"item",name:`${p.collectionName}.${p.name}`,collectionName:p.target,title:h,dataSource:l,associationField:p}})},[a.fields,m,e,l,i,t,n,c,o,u,r])}const useGetAriaLabelOfDesigner=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated();return{getAriaLabel:(0,import_react2.useCallback)((o,r)=>{if(!e)return`designer-${o}-${r}`;const i=e["x-component"],n=typeof i=="string"?i:(i==null?void 0:i.displayName)||(i==null?void 0:i.name),a=e["x-designer"]?`-${e["x-designer"]}`:"",l=e["x-settings"]?`-${e["x-settings"]}`:"",c=e["x-collection-field"]?`-${e["x-collection-field"]}`:"",u=t?`-${t}`:"";return r=r?`-${r}`:"",`designer-${o}-${n}${a}${l}${u}${c}${r}`},[e,t])}},useStyles$f=genStyleHook("nb-schema-toolbar",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute",zIndex:999,top:0,left:0,right:0,bottom:0,border:"2px solid var(--colorBorderSettingsHover)",background:"var(--colorBgSettingsHover)",pointerEvents:"none","&.hidden":{transform:"scale(0)",pointerEvents:"none"},"&.hidden-e2e":{display:"none"},".ant-space-item .anticon":{margin:0},".toolbar-title":{pointerEvents:"none",position:"absolute",fontSize:12,padding:0,lineHeight:"16px",height:"16px",borderBottomRightRadius:2,borderRadius:2,top:2,left:2},".toolbar-title-tag":{padding:"0 3px",borderRadius:2,background:"var(--colorSettings)",color:"#fff",display:"block"},".toolbar-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}}}}),titleCss=import_css.css`
261
+ 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={},g={},h=1,_=1;function f(I){var M,z;for(M=0;M<I.length;M++)if(z=I[M],z===".")I.splice(M,1),M-=1;else if(z===".."){if(M===0||M===1&&I[2]===".."||I[M-1]==="..")continue;M>0&&(I.splice(M-1,2),M-=2)}}function v(I,M,z){var E,L,U,q,G,W,H,K,J,Q,Z,te,re=M&&M.split("/"),ne=a.map,le=ne&&ne["*"];if(I&&(I=I.split("/"),H=I.length-1,a.nodeIdCompat&&jsSuffixRegExp.test(I[H])&&(I[H]=I[H].replace(jsSuffixRegExp,"")),I[0].charAt(0)==="."&&re&&(te=re.slice(0,re.length-1),I=te.concat(I)),f(I),I=I.join("/")),z&&ne&&(re||le)){U=I.split("/");e:for(q=U.length;q>0;q-=1){if(W=U.slice(0,q).join("/"),re){for(G=re.length;G>0;G-=1)if(L=getOwn(ne,re.slice(0,G).join("/")),L&&(L=getOwn(L,W),L)){K=L,J=q;break e}}!Q&&le&&getOwn(le,W)&&(Q=getOwn(le,W),Z=q)}!K&&Q&&(K=Q,J=Z),K&&(U.splice(0,J,K),I=U.join("/"))}return E=getOwn(a.pkgs,I),E||I}function b(I){isBrowser&&each(scripts(),function(M){if(M.getAttribute("data-requiremodule")===I&&M.getAttribute("data-requirecontext")===r.contextName)return M.parentNode.removeChild(M),!0})}function S(I){var M=getOwn(a.paths,I);if(M&&isArray(M)&&M.length>1)return M.shift(),r.require.undef(I),r.makeRequire(null,{skipMap:!0})([I]),!0}function C(I){var M,z=I?I.indexOf("!"):-1;return z>-1&&(M=I.substring(0,z),I=I.substring(z+1,I.length)),[M,I]}function y(I,M,z,E){var L,U,q,G,W=null,H=M?M.name:null,K=I,J=!0,Q="";return I||(J=!1,I="_@r"+(h+=1)),G=C(I),W=G[0],I=G[1],W&&(W=v(W,H,E),U=getOwn(d,W)),I&&(W?z?Q=I:U&&U.normalize?Q=U.normalize(I,function(Z){return v(Z,H,E)}):Q=I.indexOf("!")===-1?v(I,H,E):I:(Q=v(I,H,E),G=C(Q),W=G[0],Q=G[1],z=!0,L=r.nameToUrl(Q))),q=W&&!U&&!z?"_unnormalized"+(_+=1):"",{prefix:W,name:Q,parentMap:M,unnormalized:!!q,url:L,originalName:K,isDefine:J,id:(W?W+"!"+Q:Q)+q}}function F(I){var M=I.id,z=getOwn(l,M);return z||(z=l[M]=new r.Module(I)),z}function j(I,M,z){var E=I.id,L=getOwn(l,E);hasProp(d,E)&&(!L||L.defineEmitComplete)?M==="defined"&&z(d[E]):(L=F(I),L.error&&M==="error"?z(L.error):L.on(M,z))}function k(I,M){var z=I.requireModules,E=!1;M?M(I):(each(z,function(L){var U=getOwn(l,L);U&&(U.error=I,U.events.error&&(E=!0,U.emit("error",I)))}),E||req.onError(I))}function R(){globalDefQueue.length&&(each(globalDefQueue,function(I){var M=I[0];typeof M=="string"&&(r.defQueueMap[M]=!0),m.push(I)}),globalDefQueue=[])}i={require:function(I){return I.require?I.require:I.require=r.makeRequire(I.map)},exports:function(I){if(I.usingExports=!0,I.map.isDefine)return I.exports?d[I.map.id]=I.exports:I.exports=d[I.map.id]={}},module:function(I){return I.module?I.module:I.module={id:I.map.id,uri:I.map.url,config:function(){return getOwn(a.config,I.map.id)||{}},exports:I.exports||(I.exports={})}}};function N(I){delete l[I],delete c[I]}function w(I,M,z){var E=I.map.id;I.error?I.emit("error",I.error):(M[E]=!0,each(I.depMaps,function(L,U){var q=L.id,G=getOwn(l,q);G&&!I.depMatched[U]&&!z[q]&&(getOwn(M,q)?(I.defineDep(U,d[q]),I.check()):w(G,M,z))}),z[E]=!0)}function O(){var I,M,z=a.waitSeconds*1e3,E=z&&r.startTime+z<new Date().getTime(),L=[],U=[],q=!1,G=!0;if(!t){if(t=!0,eachProp(c,function(W){var H=W.map,K=H.id;if(W.enabled&&(H.isDefine||U.push(W),!W.error)){if(!W.inited&&E)S(K)?(M=!0,q=!0):(L.push(K),b(K));else if(!W.inited&&W.fetched&&H.isDefine&&(q=!0,!H.prefix))return G=!1}}),E&&L.length)return I=makeError("timeout","Load timeout for modules: "+L,null,L),I.contextName=r.contextName,k(I);G&&each(U,function(W){w(W,{},{})}),(!E||M)&&q&&(isBrowser||isWebWorker)&&!n&&(n=setTimeout(function(){n=0,O()},50)),t=!1}}o=function(I){this.events=getOwn(u,I.id)||{},this.map=I,this.shim=getOwn(a.shim,I.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},o.prototype={init:function(I,M,z,E){E=E||{},!this.inited&&(this.factory=M,z?this.on("error",z):this.events.error&&(z=bind(this,function(L){this.emit("error",L)})),this.depMaps=I&&I.slice(0),this.errback=z,this.inited=!0,this.ignore=E.ignore,E.enabled||this.enabled?this.enable():this.check())},defineDep:function(I,M){this.depMatched[I]||(this.depMatched[I]=!0,this.depCount-=1,this.depExports[I]=M)},fetch:function(){if(!this.fetched){this.fetched=!0,r.startTime=new Date().getTime();var I=this.map;if(this.shim)r.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return I.prefix?this.callPlugin():this.load()}));else return I.prefix?this.callPlugin():this.load()}},load:function(){var I=this.map.url;p[I]||(p[I]=!0,r.load(this.map.id,I))},check:function(){if(!(!this.enabled||this.enabling)){var I,M,z=this.map.id,E=this.depExports,L=this.exports,U=this.factory;if(!this.inited)hasProp(r.defQueueMap,z)||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{L=r.execCb(z,U,E,L)}catch(G){I=G}else L=r.execCb(z,U,E,L);if(this.map.isDefine&&L===void 0&&(M=this.module,M?L=M.exports:this.usingExports&&(L=this.exports)),I)return I.requireMap=this.map,I.requireModules=this.map.isDefine?[this.map.id]:null,I.requireType=this.map.isDefine?"define":"require",k(this.error=I)}else L=U;if(this.exports=L,this.map.isDefine&&!this.ignore&&(d[z]=L,req.onResourceLoad)){var q=[];each(this.depMaps,function(G){q.push(G.normalizedMap||G)}),req.onResourceLoad(r,this.map,q)}N(z),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var I=this.map,M=I.id,z=y(I.prefix);this.depMaps.push(z),j(z,"defined",bind(this,function(E){var L,U,q,G=getOwn(g,this.map.id),W=this.map.name,H=this.map.parentMap?this.map.parentMap.name:null,K=r.makeRequire(I.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){E.normalize&&(W=E.normalize(W,function(J){return v(J,H,!0)})||""),U=y(I.prefix+"!"+W,this.map.parentMap,!0),j(U,"defined",bind(this,function(J){this.map.normalizedMap=U,this.init([],function(){return J},null,{enabled:!0,ignore:!0})})),q=getOwn(l,U.id),q&&(this.depMaps.push(U),this.events.error&&q.on("error",bind(this,function(J){this.emit("error",J)})),q.enable());return}if(G){this.map.url=r.nameToUrl(G),this.load();return}L=bind(this,function(J){this.init([],function(){return J},null,{enabled:!0})}),L.error=bind(this,function(J){this.inited=!0,this.error=J,J.requireModules=[M],eachProp(l,function(Q){Q.map.id.indexOf(M+"_unnormalized")===0&&N(Q.map.id)}),k(J)}),L.fromText=bind(this,function(J,Q){var Z=I.name,te=y(Z),re=useInteractive;Q&&(J=Q),re&&(useInteractive=!1),F(te),hasProp(a.config,M)&&(a.config[Z]=a.config[M]);try{req.exec(J)}catch(ne){return k(makeError("fromtexteval","fromText eval for "+M+" failed: "+ne,ne,[M]))}re&&(useInteractive=!0),this.depMaps.push(te),r.completeLoad(Z),K([Z],L)}),E.load(I.name,K,L,a)})),r.enable(z,this),this.pluginMaps[z.id]=z},enable:function(){c[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(I,M){var z,E,L;if(typeof I=="string"){if(I=y(I,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[M]=I,L=getOwn(i,I.id),L){this.depExports[M]=L(this);return}this.depCount+=1,j(I,"defined",bind(this,function(U){this.undefed||(this.defineDep(M,U),this.check())})),this.errback?j(I,"error",bind(this,this.errback)):this.events.error&&j(I,"error",bind(this,function(U){this.emit("error",U)}))}z=I.id,E=l[z],!hasProp(i,z)&&E&&!E.enabled&&r.enable(I,this)})),eachProp(this.pluginMaps,bind(this,function(I){var M=getOwn(l,I.id);M&&!M.enabled&&r.enable(I,this)})),this.enabling=!1,this.check()},on:function(I,M){var z=this.events[I];z||(z=this.events[I]=[]),z.push(M)},emit:function(I,M){each(this.events[I],function(z){z(M)}),I==="error"&&delete this.events[I]}};function D(I){hasProp(d,I[0])||F(y(I[0],null,!0)).init(I[1],I[2])}function T(I,M,z,E){I.detachEvent&&!isOpera?E&&I.detachEvent(E,M):I.removeEventListener(z,M,!1)}function $(I){var M=I.currentTarget||I.srcElement;return T(M,r.onScriptLoad,"load","onreadystatechange"),T(M,r.onScriptError,"error"),{node:M,id:M&&M.getAttribute("data-requiremodule")}}function B(){var I;for(R();m.length;){if(I=m.shift(),I[0]===null)return k(makeError("mismatch","Mismatched anonymous define() module: "+I[I.length-1]));D(I)}r.defQueueMap={}}return r={config:a,contextName:e,registry:l,defined:d,urlFetched:p,defQueue:m,defQueueMap:{},Module:o,makeModuleMap:y,nextTick:req.nextTick,onError:k,configure:function(I){if(I.baseUrl&&I.baseUrl.charAt(I.baseUrl.length-1)!=="/"&&(I.baseUrl+="/"),typeof I.urlArgs=="string"){var M=I.urlArgs;I.urlArgs=function(L,U){return(U.indexOf("?")===-1?"?":"&")+M}}var z=a.shim,E={paths:!0,bundles:!0,config:!0,map:!0};eachProp(I,function(L,U){E[U]?(a[U]||(a[U]={}),mixin(a[U],L,!0,!0)):a[U]=L}),I.bundles&&eachProp(I.bundles,function(L,U){each(L,function(q){q!==U&&(g[q]=U)})}),I.shim&&(eachProp(I.shim,function(L,U){isArray(L)&&(L={deps:L}),(L.exports||L.init)&&!L.exportsFn&&(L.exportsFn=r.makeShimExports(L)),z[U]=L}),a.shim=z),I.packages&&each(I.packages,function(L){var U,q;L=typeof L=="string"?{name:L}:L,q=L.name,U=L.location,U&&(a.paths[q]=L.location),a.pkgs[q]=L.name+"/"+(L.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(l,function(L,U){!L.inited&&!L.map.unnormalized&&(L.map=y(U,null,!0))}),(I.deps||I.callback)&&r.require(I.deps||[],I.callback)},makeShimExports:function(I){function M(){var z;return I.init&&(z=I.init.apply(global,arguments)),z||I.exports&&getGlobal(I.exports)}return M},makeRequire:function(I,M){M=M||{};function z(E,L,U){var q,G,W;return M.enableBuildCallback&&L&&isFunction(L)&&(L.__requireJsBuild=!0),typeof E=="string"?isFunction(L)?k(makeError("requireargs","Invalid require call"),U):I&&hasProp(i,E)?i[E](l[I.id]):req.get?req.get(r,E,I,z):(G=y(E,I,!1,!0),q=G.id,hasProp(d,q)?d[q]:k(makeError("notloaded",'Module name "'+q+'" has not been loaded yet for context: '+e+(I?"":". Use require([])")))):(B(),r.nextTick(function(){B(),W=F(y(null,I)),W.skipMap=M.skipMap,W.init(E,L,U,{enabled:!0}),O()}),z)}return mixin(z,{isBrowser,toUrl:function(E){var L,U=E.lastIndexOf("."),q=E.split("/")[0],G=q==="."||q==="..";return U!==-1&&(!G||U>1)&&(L=E.substring(U,E.length),E=E.substring(0,U)),r.nameToUrl(v(E,I&&I.id,!0),L,!0)},defined:function(E){return hasProp(d,y(E,I,!1,!0).id)},specified:function(E){return E=y(E,I,!1,!0).id,hasProp(d,E)||hasProp(l,E)}}),I||(z.undef=function(E){R();var L=y(E,I,!0),U=getOwn(l,E);U.undefed=!0,b(E),delete d[E],delete p[L.url],delete u[E],eachReverse(m,function(q,G){q[0]===E&&m.splice(G,1)}),delete r.defQueueMap[E],U&&(U.events.defined&&(u[E]=U.events),N(E))}),z},enable:function(I){var M=getOwn(l,I.id);M&&F(I).enable()},completeLoad:function(I){var M,z,E,L=getOwn(a.shim,I)||{},U=L.exports;for(R();m.length;){if(z=m.shift(),z[0]===null){if(z[0]=I,M)break;M=!0}else z[0]===I&&(M=!0);D(z)}if(r.defQueueMap={},E=getOwn(l,I),!M&&!hasProp(d,I)&&E&&!E.inited){if(a.enforceDefine&&(!U||!getGlobal(U)))return S(I)?void 0:k(makeError("nodefine","No define call for "+I,null,[I]));D([I,L.deps||[],L.exportsFn])}O()},nameToUrl:function(I,M,z){var E,L,U,q,G,W,H,K=getOwn(a.pkgs,I);if(K&&(I=K),H=getOwn(g,I),H)return r.nameToUrl(H,M,z);if(req.jsExtRegExp.test(I))G=I+(M||"");else{for(E=a.paths,L=I.split("/"),U=L.length;U>0;U-=1)if(q=L.slice(0,U).join("/"),W=getOwn(E,q),W){isArray(W)&&(W=W[0]),L.splice(0,U,W);break}G=L.join("/"),G+=M||(/^data\:|^blob\:|\?/.test(G)||z?"":".js"),G=(G.charAt(0)==="/"||G.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+G}return a.urlArgs&&!/^blob\:/.test(G)?G+a.urlArgs(I,G):G},load:function(I,M){req.load(r,I,M)},execCb:function(I,M,z,E){return M.apply(E,z)},onScriptLoad:function(I){if(I.type==="load"||readyRegExp.test((I.currentTarget||I.srcElement).readyState)){interactiveScript=null;var M=$(I);r.completeLoad(M.id)}},onScriptError:function(I){var M=$(I);if(!S(M.id)){var z=[];return eachProp(l,function(E,L){L.indexOf("_@r")!==0&&each(E.depMaps,function(U){if(U.id===M.id)return z.push(L),!0})}),k(makeError("scripterror",'Script error for "'+M.id+(z.length?'", needed by: '+z.join(", "):'"'),I,[M.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 isPatternDisabled=e=>{var t;return((t=e==null?void 0:e["x-component-props"])==null?void 0:t["pattern-disable"])==!0},DefaultValueContext=import_react2.default.createContext(null),DefaultValueProvider=e=>{const t=(0,import_react2.useMemo)(()=>({isAllowToSetDefaultValue:e.isAllowToSetDefaultValue}),[e.isAllowToSetDefaultValue]);return(0,import_jsx_runtime.jsx)(DefaultValueContext.Provider,{value:t,children:e.children})},useIsAllowToSetDefaultValue=({form:e,fieldSchema:t,collectionField:o}={})=>{const r=useDataSourceManager(),i=useCollectionManager(),n=useCollection(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),{type:c}=useFormBlockType(),{isAllowToSetDefaultValue:u=_isAllowToSetDefaultValue}=(0,import_react2.useContext)(DefaultValueContext)||{};return{isAllowToSetDefaultValue:(0,import_react2.useCallback)(m=>{const d=n.getField(l.name)||i.getCollectionField(l["x-collection-field"]);return u({collectionField:o||d,getInterface:r==null?void 0:r.collectionFieldInterfaceManager.getFieldInterface.bind(r==null?void 0:r.collectionFieldInterfaceManager),form:e||a,formBlockType:c,fieldSchema:t||l,isSubTableColumn:m})},[i,n,o,r==null?void 0:r.collectionFieldInterfaceManager,t,e,l,a,u,c])}},interfacesOfUnsupportedDefaultValue=["o2o","oho","obo","o2m","attachment","expression","point","lineString","circle","polygon","sequence","formula"];function _isAllowToSetDefaultValue({collectionField:e,getInterface:t,formBlockType:o,form:r,fieldSchema:i,isSubTableColumn:n}){var a;return n?!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t):!e||e.target&&(a=i["x-component-props"])!=null&&a.mode&&!["Picker","Select"].includes(i["x-component-props"].mode)||o!=="create"?!1:!(r!=null&&r.readPretty)&&!isPatternDisabled(i)&&!interfacesOfUnsupportedDefaultValue.includes(e==null?void 0:e.interface)&&!isSystemField(e,t)}const 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)},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$1(r,"content",d["x-content"]),setFieldProps$1(r,"title",d.title),setFieldProps$1(r,"description",d.description),u!=null&&u.form){const g=l()?i.default||a:void 0;g!=null&&setFieldProps$1(r,"initialValue",g)}if(!r.validator&&(d["x-validator"]||i["x-validator"])){const g=(0,import_lodash.concat)([],d["x-validator"]||[],i["x-validator"]||[]);r.validator=g}i["x-disabled"]===!0&&(r.disabled=!0),i["x-read-pretty"]===!0&&(r.readPretty=!0),setRequired$1(r,i,d),r.dataSource=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,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 DataSourceApplicationProvider=e=>{var t=e,{children:o,dataSourceManager:r}=t,i=Y(t,["children","dataSourceManager"]);return(0,import_jsx_runtime.jsx)(DataSourceManagerProvider,{dataSourceManager:r,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider,P(x({},i),{children:o}))})},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.some(n=>!o.truthy(n)):!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==null?void 0:i.length)===0?!0:Array.isArray(i)&&Array.isArray(n)&&i.some(a=>Array.isArray(a))?i.some(a=>a.every(l=>!n.some(c=>l.includes(c)))):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){return!i||!n?!1:i===n},$dateBefore:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a<l},$dateNotBefore:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a>=l},$dateAfter:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);return a>l},$dateNotAfter:function(i,n){if(!i||!n)return!1;const a=parseDate(i),l=parseDate(n);if(!a||!l)throw new Error("Invalid date format");return a<=l},$dateBetween:function(i,n){if(!i||!n)return!1;const a=parseFullDate(i),l=parseFullDate(n[0]),c=parseFullDate(n[1]);if(!a||!l||!c)throw new Error("Invalid date format");return a>=l&&a<=c},$dateNotOn:function(i,n){return!i||!n?!1:i!==n},$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},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 g=String(a).split("."),h=r;for(c=0;c<g.length;c++){if(!h.hasOwnProperty(g[c]))throw new Error("Unrecognized operation "+a+" (failed at "+g.slice(0,c+1).join(".")+")");h=h[g[c]]}return h.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)}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){let t=Array.isArray(e)?e[1]:e;return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/.test(t)?new Date(t):/^\d{4}-\d{2}-\d{2}$/.test(t)?parseFullDate(t):/^\d{4}-\d{2}$/.test(t)?parseMonth(t):/^\d{4}Q[1-4]$/.test(t)?parseQuarter(t):/^\d{4}$/.test(t)?parseYear(t):null}const 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}}};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,"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 V(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 V(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)}addGlobalVar(t,o){(0,import_set.default)(this.globalVars,t,o)}getGlobalVar(t){return(0,import_get.default)(this.globalVars,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:g}=useDesignable(),h=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({},h),_)),onSubmit(C){const y=getNewSchema({fieldSchema:p,parentSchemaKey:o,value:C,valueKeys:r});return S?(g.emit("patch",{schema:y}),g.refresh()):g.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(),g=i(r),h=u(c),_=useCompile(),{t:f}=(0,import_react_i18next.useTranslation)();return{title:typeof o=="function"?o(f):_(o),options:g,value:import_lodash.default.get(m,n,h),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:g}=(0,import_react_i18next.useTranslation)(),{fieldSchema:h}=useColumnSchema$1()||{},_=c==null?void 0:c();return{title:typeof i=="function"?i(g):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});h?(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 SchemaSettingItemContext=(0,import_react2.createContext)({});SchemaSettingItemContext.displayName="SchemaSettingItemContext";function useSchemaSettingsItem(){return(0,import_react2.useContext)(SchemaSettingItemContext)}function useSchemaSettingsRender(e,t){const o=useApp(),r=(0,import_react2.useMemo)(()=>typeof e=="object"?e:o.schemaSettingsManager.get(e),[o.schemaSettingsManager,e]);return e?r?{exists:!0,render:(i={})=>import_react2.default.createElement(SchemaSettingsWrapper,x(x(x({},r.options),t),i))}:(console.error(`[nocobase]: SchemaSettings "${e}" not found`),{exists:!1,render:()=>null}):{exists:!1,render:()=>null}}const SchemaToolbarContext=(0,import_react2.createContext)({});SchemaToolbarContext.displayName="SchemaToolbarContext";const SchemaToolbarProvider=e=>{const t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(SchemaToolbarContext.Provider,{value:r,children:o})};function useSchemaToolbar(){return(0,import_react2.useContext)(SchemaToolbarContext)}const EditableTitle=e=>{const[t,o]=(0,import_react2.useState)(e.title),[r,i]=(0,import_react2.useState)(!1),{refresh:n}=useSchemaTemplateManager();useAPIClient();const{run:a}=useRequest({resource:"uiSchemaTemplates",action:"update",params:{filterByTk:e.filterByTk}},{manual:!0,debounceWait:500,onSuccess(){n()}});return(0,import_jsx_runtime.jsx)("div",{children:r?(0,import_jsx_runtime.jsx)(import_antd.Input,{defaultValue:t,size:"large",onBlur:()=>{i(!1)},onChange:l=>{o(l.target.value),a({filterByTk:e.filterByTk,values:{name:l.target.value}})}}):(0,import_jsx_runtime.jsx)("div",{onClick:()=>{i(!0)},children:t||(0,import_jsx_runtime.jsx)("span",{style:{color:"#bbb"},children:"未命名"})})})},BlockTemplateDetails=()=>{var e,t;const o=useNavigateNoUpdate(),r=(0,import_react_router_dom.useParams)(),i=r==null?void 0:r.key,n=(0,import_react2.useContext)(SchemaComponentContext),a=(0,import_react2.useMemo)(()=>P(x({},n),{designable:!0}),[n]),{data:l,loading:c}=useRequest({resource:"uiSchemaTemplates",action:"get",params:{filterByTk:i}});return c?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},onBack:()=>{o("/admin/plugins/block-templates")},ghost:!1,title:(0,import_jsx_runtime.jsx)(EditableTitle,{filterByTk:i,title:(e=l==null?void 0:l.data)==null?void 0:e.name})}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(t=l==null?void 0:l.data)==null?void 0:t.uid})})})]})},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();if(a){const[g]=a.split("."),{name:h,title:_}=o.getCollection(g);r=h,i=_}const u=o.getCollectionField(a),m=o.getCollection(l||(u==null?void 0:u.target)),d=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,p=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:u,associationCollection:m,compile:c}),d].filter(Boolean),[i,r,u,m,c,d]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,x({title:p},e))};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 useSpecialCase=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionField:r}=useCollectionManager_deprecated(),i=(0,import_react2.useMemo)(()=>o(t.name),[t.name,o]),n=(0,import_react2.useCallback)(()=>isSpecialCaseField({collectionField:i,fieldSchema:t,getCollectionField:r}),[i,t,r]),a=(0,import_react2.useCallback)(l=>{const c=getParentFieldSchema(t);if(c){const u=e.query(c.name).take();if(u){const m=import_lodash.default.isEmpty(l)?[]:import_lodash.default.map(transformValue(l,{field:u,subFieldSchema:t}),d=>markRecordAsNew(d));isSubset(m,u.initialValue)||u.setInitialValue(m)}}},[t,e]);return{isSpecialCase:n,setDefaultValue:a}};function getParentFieldSchema(e){for(;e!=null&&e.parent;)if(e=e.parent,isSubMode(e))return e;return e}function isSpecialCaseField({collectionField:e,fieldSchema:t,getCollectionField:o}){if(!t.default||!t.default.includes("$context"))return!1;if(e&&["hasOne","belongsTo"].includes(e.type)&&t){const r=getParentFieldSchema(t);if(r&&r["x-collection-field"]){const i=o(r["x-collection-field"]);if(["hasMany","belongsToMany"].includes(i==null?void 0:i.type))return!0}}return!1}function transformValue(e,t){const{field:o,subFieldSchema:r}=t,i=o.value;let n=null;return Array.isArray(e)?n=e.map(a=>({[r.name]:a})):n=[{[r.name]:e}],import_lodash.default.assignWith([...i],n,(a,l)=>(!a&&l&&(l.__notFromDatabase=!0),import_lodash.default.assign(x({},i[0]),l)))}const useSubTableSpecialCase=({rootField:e,rootSchema:t})=>{const{hasUsedVariable:o}=useHasUsedVariable();(0,import_react2.useEffect)(()=>{if(import_lodash.default.isEmpty(e.value)&&o("$context",t)){const r=e.value,i=[markRecordAsNew({})];e.value=i,setTimeout(()=>{JSON.stringify(e.value)===JSON.stringify(i)&&(e.value=r)})}},[e,t,o])};function isSubset(e,t){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){const r=e[o],i=t[o];if(!import_lodash.default.isMatch(import_lodash.default.omitBy(i,import_lodash.default.isNil),import_lodash.default.omitBy(r,import_lodash.default.isNil)))return!1}return!0}const checkSchema=(e,t)=>{if(e["x-decorator"]==="FormItem"){const r=e.default;if(r&&typeof r=="string"&&isVariable$1(r)&&r.includes(t))return!0}let o=!1;return e.mapProperties(r=>{checkSchema(r,t)&&(o=!0)}),o};function useHasUsedVariable(){return{hasUsedVariable:(0,import_react2.useCallback)((e,t)=>checkSchema(t,e),[])}}const BaseVariableContext=import_react2.default.createContext(null),BaseVariableProvider=e=>(0,import_jsx_runtime.jsx)(BaseVariableContext.Provider,{value:e,children:e.children}),getChildren$2=(e,{collectionField:t,uiSchema:o,depth:r,maxDepth:i,noDisabled:n,loadChildren:a,compile:l,isDisabled:c,targetFieldSchema:u,getCollectionField:m,deprecated:d})=>e.map(p=>!p.target||p.target==="chinaRegions"?{key:p.name,value:p.name,label:l(p.title),disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),isLeaf:!0,depth:r}:r>=i?null:{key:p.name,value:p.name,label:l(p.title),isLeaf:!1,field:p,depth:r,disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),loadChildren:a}).filter(Boolean),getLabelWithTooltip=(e,t)=>t?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{placement:"left",title:t,zIndex:9999,children:(0,import_jsx_runtime.jsx)("span",{style:{position:"relative",display:"inline-block",marginLeft:-14,paddingLeft:14,marginRight:-80,paddingRight:80,zIndex:1},children:e})}):e,useBaseVariable=({collectionField:e,uiSchema:t,targetFieldSchema:o,maxDepth:r=3,name:i,title:n,collectionName:a,noChildren:l=!1,noDisabled:c=!0,dataSource:u,returnFields:m=g=>g,deprecated:d,tooltip:p})=>{const g=useCompile(),h=useGetFilterOptions(),{isDisabled:_}=(0,import_react2.useContext)(BaseVariableContext)||{},f=useCollectionManager(),v=b=>{var S;if(!((S=b.field)!=null&&S.target))return Promise.resolve(void 0);const C=b.field.target;return new Promise(y=>{setTimeout(()=>{const F=(getChildren$2(m(h(C,u,!0),b),{collectionField:e,uiSchema:t,targetFieldSchema:o,depth:b.depth+1,maxDepth:r,noDisabled:c,loadChildren:v,compile:g,isDisabled:_||isDisabledDefault,getCollectionField:f.getCollectionField,deprecated:d})||[]).sort((j,k)=>j.isLeaf&&!k.isLeaf?-1:!j.isLeaf&&k.isLeaf?1:0).sort((j,k)=>j.disabled&&!k.disabled?1:!j.disabled&&k.disabled?-1:0);if(F.length===0){b.disabled=!0,b.isLeaf=!0,y();return}b.children=F,y()},5)})};return(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(n,p),value:i,key:i,isLeaf:l,field:{target:a},depth:0,loadChildren:v,children:[],disabled:!!d,deprecated:d}),[t==null?void 0:t["x-component"]])};function isDisabledDefault(e){var t,o;const{option:r,collectionField:i,uiSchema:n,targetFieldSchema:a,getCollectionField:l}=e;return!n||!i?!0:i.interface==="json"?!1:!i.target&&["hasMany","belongsToMany"].includes(r.type)?!0:!i.target&&["hasOne","belongsTo"].includes(r.type)||r.target&&isSpecialCaseField({collectionField:i,fieldSchema:a,getCollectionField:l})?!1:["hasOne","belongsTo"].includes(i.type)&&["hasMany","belongsToMany"].includes(r.type)?!0:["hasOne","belongsTo"].includes(i.type)&&["hasOne","belongsTo"].includes(r.type)||["hasMany","belongsToMany"].includes(i.type)&&r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const CurrentRecordContext=(0,import_react2.createContext)(null),CurrentRecordContextProvider=e=>{const t=(0,import_react2.useMemo)(()=>({recordData:e.recordData,collectionName:e.collectionName}),[e.recordData,e.collectionName]);return(0,import_jsx_runtime.jsxs)(CurrentRecordContext.Provider,{value:t,children:[" ",e.children," "]})},useCurrentRecord=()=>(0,import_react2.useContext)(CurrentRecordContext),useCurrentRecordContext=()=>{const e=useCurrentRecord(),{name:t}=useBlockContext()||{},o=useCollection(),r=useCollectionRecordData(),{formRecord:i,collectionName:n}=useFormBlockContext();let a=i!=null&&i.data?n:o==null?void 0:o.name;return a=(e==null?void 0:e.collectionName)||a,{currentRecordCtx:(e==null?void 0:e.recordData)||(i==null?void 0:i.data)||r,shouldDisplayCurrentRecord:!import_lodash.default.isEmpty(import_lodash.default.omit(r,["__collectionName","__parent"]))||!!(i!=null&&i.data),collectionName:a,blockType:t,dataSource:o==null?void 0:o.dataSource}},useCurrentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i,blockType:n,dataSource:a}=useCurrentRecordContext();return{currentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nRecord",title:t("Current record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,deprecated:n==="form",tooltip:n==="form"?t('This variable has been deprecated and can be replaced with "Current form"'):"",dataSource:a}),currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i}},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)||{},g=(0,import_react2.useRef)(),h=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:g}),[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:h,children:(0,import_jsx_runtime.jsx)("div",{ref:g,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,dataSource:n,action:a}=e;useCollectionManager_deprecated(n);const{__collection:l}=r||{},{designable:c}=useDesignable(),u=e.collection;let m=!0;!c&&l&&a==="get"&&!i&&(m=l===u);const d=(0,import_ahooks.useUpdate)();return!m||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:d,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();let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(){return useParamsFromRecord()}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 useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}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,g,h,_,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,j=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,k=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,R=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,N=(h=(g=y==null?void 0:y.data)==null?void 0:g.current)==null?void 0:h.wrapSchema,w=(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||!j){e==null||e(i);return}if(F===j){e==null||e(i);return}if(F.parent===j&&k==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:T=!0}={})=>t({refreshParentSchema:T}),current:j});if(D.loadAPIClientEvents(),F.parent===j.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(k){D.insertAdjacent(k,F,{wrap:N,breakRemoveOn:R,removeParentsIfNoChildren:O,onSuccess:w}),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$g=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,g=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let h=!0;if(g===1)if(e.first)h=p!==e.cols[0];else{const j=e.cols[e.index],k=e.cols[e.index+1];h=p!==j&&k!==p}const _=e.cols[e.index],f=e.cols[e.index+1],{attributes:v,listeners:b,setNodeRef:S,isDragging:C}=(0,import_core2.useDraggable)({disabled:e.first||e.last||!l,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f}}),[y,F]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(j){if(!l||!C)return;n.current=j.active.id;const k=m.current,R=k.previousElementSibling,N=k.nextElementSibling;F([R.clientWidth,N.clientWidth])},onDragMove(j){if(!l||!C)return;n.current===j.active.id&&(n.current=n.current+"_move");const k=m.current,R=k.previousElementSibling,N=k.nextElementSibling;R.style.width=`${y[0]+j.delta.x}px`,N.style.width=`${y[1]-j.delta.x}px`},onDragEnd(j){var k;if(!l||!n.current||(k=n.current)!=null&&k.startsWith(j.active.id)&&!n.current.endsWith("_move")||y[0]<=0||y[1]<=0||(F([0,0]),!_||!f))return;const R=m.current,N=R.previousElementSibling,w=R.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const O=R.clientWidth*(e.cols.length+1)/e.cols.length,D=(100*(N.getBoundingClientRect().width+O)/R.parentElement.clientWidth).toFixed(2),T=(100*(w.getBoundingClientRect().width+O)/R.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",D),import_lodash.default.set(f,"x-component-props.width",T),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:j=>{h&&(u(j),m.current=j)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:S},b),v),{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],g=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,h=(0,import_react2.useMemo)(()=>g==null?void 0:g.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[g]);let _=!0;if(h===1)if(e.first)_=g!==e.rows[0];else{const f=e.rows[e.index+1];_=g!==p&&f!==g}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)(v=>a(v),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$g(),g=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 h=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=(0,import_react2.useCallback)(()=>{_==null||_()},[_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:f,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:h,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((v,b)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[g?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:v.name,schema:v,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:v.name,schema:v,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:b,id:`${c}_${b+1}`,data:getRowDividerData(v,"afterEnd")}):null]},b))]}),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 g=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),h=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:h,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 g=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},h=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var b;h!=null&&h.current&&((b=h.current.parentElement)==null||b.scrollIntoView({block:"start"}))},[h]),f=(0,import_react2.useMemo)(()=>({pageSize:g==null?void 0:g.pageSize,total:g==null?void 0:g.count,current:g==null?void 0:g.page,onChange:_}),[g==null?void 0:g.count,g==null?void 0:g.page,g==null?void 0:g.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=>V(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,j,k,R,N,w,O,D,T,$;const B=(k=(j=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:j.params)==null?void 0:k.sort,I=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:B||d.dragSortBy,M=S||((w=(N=(R=l.parent)==null?void 0:R["x-decorator-props"])==null?void 0:N.params)==null?void 0:w.pageSize),z=P(x({},(T=(D=(O=p.current)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T[0]),{page:b||1,pageSize:M});I&&(z.sort=I),($=p.current)==null||$.service.run(z)},[l.parent]),onClickRow:(0,import_react2.useCallback)((b,S,C)=>{const{targets:y,uid:F}=findFilterTargets(l),j=m();if(!y||!y.some(R=>j.some(N=>N.uid===R.uid))){S(R=>R.length?[]:R);return}const k=j.find(R=>R.uid===l.parent["x-uid"]);j.forEach(R=>{var N,w,O,D;const T=y.find(E=>E.uid===R.uid);if(!T)return;const $=getSourceKey(k,T.field)||d.rowKey||"id",B=[b[$]],I=((N=R.service.params)==null?void 0:N[0])||{},M=((O=(w=R.service.params)==null?void 0:w[1])==null?void 0:O.filters)||{};if(C.includes(b[d.rowKey])){if((D=R.clearSelection)==null||D.call(R),R.dataLoadingMode==="manual")return R.clearData();delete M[F]}else M[F]={$and:[{[T.field||d.rowKey]:{[T.field?"$in":"$eq"]:B}}]};const z=mergeFilter([...Object.values(M).map(E=>removeNullCondition(E)),R.defaultFilter]);return R.doFilter(P(x({},I),{page:1,filter:z}),{filters:M})}),S(R=>R!=null&&R.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 NOOP=()=>{},CollectOperatorsContext=(0,import_react2.createContext)(null),CollectOperators=e=>{const t=(0,import_react2.useRef)(e.defaultOperators||{}),o=(0,import_react2.useCallback)((a,l)=>{t.current[a]=l},[]),r=(0,import_react2.useCallback)(()=>x({},t.current),[]),i=(0,import_react2.useCallback)(a=>t.current[a],[]),n=(0,import_react2.useCallback)(a=>{delete t.current[a]},[]);return(0,import_jsx_runtime.jsx)(CollectOperatorsContext.Provider,{value:{collectOperator:o,getOperators:r,getOperator:i,removeOperator:n},children:e.children})},useOperators=()=>{const{getOperator:e=NOOP,getOperators:t=NOOP,collectOperator:o=NOOP,removeOperator:r=NOOP}=import_react2.default.useContext(CollectOperatorsContext)||{};return{getOperator:e,getOperators:t,collectOperator:o,removeOperator:r}},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=(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)},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:g}=useCollectionField(),{isAllowToSetDefaultValue:h}=useIsAllowToSetDefaultValue(),_=m(g),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(c,"content",y["x-content"]),setFieldProps(c,"title",y.title),setFieldProps(c,"description",y.description),b!=null&&b.form){const j=h()?u.default||p:void 0;j!=null&&setFieldProps(c,"initialValue",j)}if(!c.validator&&(y["x-validator"]||u["x-validator"])){const j=(0,import_lodash.concat)([],y["x-validator"]||[],u["x-validator"]||[]);c.validator=j}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired(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)(g=>{var h;(h=l==null?void 0:l.form)==null||h.setValuesIn(a,g.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var g;const h=((g=l==null?void 0:l.form)==null?void 0:g.values[a])||{};m.reset(),(0,import_client.forEach)(h,(_,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(),g=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(g)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(g),(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 V(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 V(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return V(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 V(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 V(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,g,h;(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=(h=(g=u==null?void 0:u.field)==null?void 0:g.data)==null?void 0:h.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$1=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent$1(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$1(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(),g=useAssociationNames$1(e.collection);let h=x({},e.params);e.dragSort&&(h.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(h.tree=!0,u.name==="parent"&&(h.filter=P(x({},(t=h.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(h).includes("appends")||(h.appends=g);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}})}_&&(h!=null&&h.filter?h.filter={$and:[_,h.filter]}:h.filter=_);try{h.filter=mergeFilter([o.filter,h.filter]),h=x(x({},o),h)}catch(b){console.error(b)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:h==null?void 0:h.filter});return!import_lodash.default.isEmpty(h==null?void 0:h.filter)&&import_lodash.default.isEmpty(f)||v?null:(h!=null&&h.filter&&(h.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:h,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:h,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),b=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),C=recursiveParent$1(b,"CollectionField"),y=S(C==null?void 0:C["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,j,k,R,N,w,O,D,T,$,B,I,M;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const z=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(E=>E);f.value=z,(R=f==null?void 0:f.setInitialValue)==null||R.call(f,z),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(O=(w=(N=v==null?void 0:v.service)==null?void 0:N.data)==null?void 0:w.meta)==null?void 0:O.pageSize,f.componentProps.pagination.total=($=(T=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:T.meta)==null?void 0:$.count,f.componentProps.pagination.current=(M=(I=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:I.meta)==null?void 0:M.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,(g=v==null?void 0:v.service)==null?void 0:g.loading,f]),{loading:(h=v==null?void 0:v.service)==null?void 0:h.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,j){var k;v.field.data=((k=v==null?void 0:v.field)==null?void 0:k.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=j},onRowDragEnd(F){return V(this,arguments,function*({from:j,to:k}){yield v.resource.move({sourceId:j[v.rowKey||"id"],targetId:k[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:j}){var k;v.service.run(P(x({},(k=v.service.params)==null?void 0:k[0]),{page:F,pageSize:j}))}}},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,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useFormItemProps,useDataFormItemProps}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return V(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,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,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(),c=u=>{var m,d;i["x-linkage-rules"]=((m=u==null?void 0:u.data)==null?void 0:m["x-linkage-rules"])||[],i.setProperties((d=u==null?void 0:u.data)==null?void 0:d.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:c})}):(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=>V(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=>V(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=>V(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={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options),i=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:a}=yield o.request(options);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 V(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 V(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 V(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 V(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:{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",icon:"EditOutlined",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":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}},column1:{type:"void","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}}}}}}}}}},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}),BlockTemplateContext=(0,import_react2.createContext)({componentNamePrefix:""}),BlockTemplateProvider=e=>(0,import_jsx_runtime.jsx)(BlockTemplateContext.Provider,{value:P(x({},e),{componentNamePrefix:e.componentNamePrefix||""}),children:e.children}),useBlockTemplateContext=()=>(0,import_react2.useContext)(BlockTemplateContext),itemsMerge=e=>e,gridRowColWrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[(e==null?void 0:e.name)||(0,import_shared.uid)()]:e}}}}),removeTableColumn=(e,t)=>{t(e.parent)},removeGridFormItem=(e,t)=>{t(e,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})},useRemoveGridFormItem=()=>{const e=(0,import_react.useForm)();return(t,o)=>{var r;o(t,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}),(r=e.values)==null||delete r[t.name]}},findTableColumn=(e,t,o,r)=>e.reduceProperties((i,n)=>n[t]===o&&(!r||n.name===r)?n:n.reduceProperties((l,c)=>c[t]===o&&(!r||c.name===r)?c:l)||i),quickEditField$1=["attachment","textarea","markdown","json","richText","polygon","circle","point","lineString"];function useTableColumnInitializerFields(){const{name:e,currentFields:t=[]}=useCollection_deprecated(),{getInterface:o,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",n=(0,import_react.useForm)(),a=i?n.readPretty:!0;return t.filter(l=>!l.collectionName||l.collectionName===e).filter(l=>(l==null?void 0:l.interface)&&(l==null?void 0:l.interface)!=="subTable"&&!(l!=null&&l.treeChildren)).map(l=>{var c,u,m,d;const p=o(l.interface),g=(l==null?void 0:l.target)&&((c=r(l==null?void 0:l.target))==null?void 0:c.template)==="file",h=((u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component"])==="Preview",_={name:l.name,"x-collection-field":`${e}.${l.name}`,"x-component":"CollectionField","x-component-props":g?{fieldNames:{label:"preview",value:"id"}}:h?{size:"small"}:{},"x-read-pretty":a||((m=l.uiSchema)==null?void 0:m["x-read-pretty"]),"x-decorator":i?quickEditField$1.includes(l.interface)||g?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{type:"item",name:l.name,title:((d=l==null?void 0:l.uiSchema)==null?void 0:d.title)||l.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:f=>{var v;(v=p==null?void 0:p.schemaInitialize)==null||v.call(p,f,{field:l,readPretty:a,block:"Table",targetCollection:r(l.target)})},field:l,schema:_}})}function useAssociatedTableColumnInitializerFields(){var e;const{fields:t}=useCollection_deprecated(),{t:o}=(0,import_react_i18next.useTranslation)(),{getInterface:r,getCollectionFields:i,getCollection:n}=useCollectionManager_deprecated();return(e=t==null?void 0:t.filter(a=>["o2o","oho","obo","m2o"].includes(a.interface)))==null?void 0:e.map(a=>getGroupItemForTable({getCollectionFields:i,field:a,getInterface:r,getCollection:n,schemaName:a.name,maxDepth:2,depth:1,t:o}))}function getGroupItemForTable({getCollectionFields:e,field:t,getInterface:o,getCollection:r,schemaName:i,maxDepth:n,depth:a,t:l}){var c,u;const m=e(t.target),d=(c=m==null?void 0:m.filter(g=>(g==null?void 0:g.interface)&&!["subTable"].includes(g==null?void 0:g.interface)&&!(g!=null&&g.treeChildren)))==null?void 0:c.map(g=>{var h;const _=o(g.interface),f=`${i}.${g.name}`,v={name:f,"x-component":"CollectionField","x-read-pretty":!0,"x-collection-field":`${t.target}.${g.name}`,"x-component-props":{}};return{type:"item",key:`${t.target}_${g.name}_${f}`,name:f,title:((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||g.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:b=>{var S;(S=_==null?void 0:_.schemaInitialize)==null||S.call(_,b,{field:g,readPretty:!0,block:"Table",targetCollection:r(t.target)})},field:g,schema:v}}),p=[{type:"itemGroup",key:`${t.target}_${i}_displayFields`,name:`${i}-displayCollectionFields`,title:l("Display fields"),children:d}];if(a<n){const g=m==null?void 0:m.filter(h=>["o2o","oho","obo","m2o"].includes(h.interface)).map(h=>getGroupItemForTable({getCollectionFields:e,field:h,getInterface:o,getCollection:r,schemaName:`${i}.${h.name}`,maxDepth:n,depth:a+1,t:l}));if(g.length){const h={type:"itemGroup",key:`${t.target}_${i}_associationFields`,name:`${i}-associationFields`,title:l("Display association fields"),children:g};p.push(h)}}return{type:"subMenu",key:`${t.target}_${i}_submenu`,name:i,title:(u=t.uiSchema)==null?void 0:u.title,children:p}}function useInheritsTableColumnInitializerFields(){const{name:e}=useCollection_deprecated(),{getInterface:t,getInheritCollections:o,getCollection:r,getParentCollectionFields:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)()["x-component"]==="AssociationField.SubTable",a=(0,import_react.useForm)(),l=n?a.readPretty:!0,c=o(e);return c==null?void 0:c.map(u=>{const m=i(u,e),d=r(u);return{[d==null?void 0:d.title]:m==null?void 0:m.filter(p=>p==null?void 0:p.interface).map(p=>{var g,h,_,f;const v=t(p.interface),b=(p==null?void 0:p.target)&&((g=r(p==null?void 0:p.target))==null?void 0:g.template)==="file",S={name:`${p.name}`,"x-component":"CollectionField","x-read-pretty":l||((h=p.uiSchema)==null?void 0:h["x-read-pretty"]),"x-collection-field":`${e}.${p.name}`,"x-component-props":b?{fieldNames:{label:"preview",value:"id"}}:{},"x-decorator":n?quickEditField$1.includes(p.interface)||b?"QuickEdit":"FormItem":null,"x-decorator-props":{labelStyle:{display:"none"}}};return{name:((_=p==null?void 0:p.uiSchema)==null?void 0:_.title)||p.name,type:"item",title:((f=p==null?void 0:p.uiSchema)==null?void 0:f.title)||p.name,Component:"TableCollectionFieldInitializer",find:findTableColumn,remove:removeTableColumn,schemaInitialize:C=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,C,{field:p,readPretty:!0,block:"Table",targetCollection:r(p==null?void 0:p.target)})},field:p,schema:S}})}})}const useFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="Form"}=e||{},{fieldSchema:m}=useActionContext(),d=m==null?void 0:m["x-action"];return(o=(t=i.filter(p=>!p.collectionName||p.collectionName===r))==null?void 0:t.filter(p=>(p==null?void 0:p.interface)&&!(p!=null&&p.treeChildren)))==null?void 0:o.map(p=>{var g,h,_,f,v;const b=n(p.interface),S=a(p.target),C=(p==null?void 0:p.target)&&((g=a(p==null?void 0:p.target))==null?void 0:g.template)==="file",y=S,F=(_=(h=p==null?void 0:p.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames,j={type:"string",name:p.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${r}.${p.name}`,"x-component-props":C?{fieldNames:{label:"preview",value:"id"}}:y&&F?{fieldNames:P(x({},F),{label:(S==null?void 0:S.titleField)||F.label})}:{},"x-read-pretty":(f=p==null?void 0:p.uiSchema)==null?void 0:f["x-read-pretty"]},k={type:"item",name:p.name,title:((v=p==null?void 0:p.uiSchema)==null?void 0:v.title)||p.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:R=>{var N;(N=b==null?void 0:b.schemaInitialize)==null||N.call(b,R,{field:p,block:u,readPretty:c,action:d,targetCollection:S})},schema:j};return u=="Kanban"&&(k.find=(R,N,w)=>{const O=findSchema(R,"x-component",u);return findSchema(O,N,w)}),k})},useFilterFormItemInitializerFields=e=>{var t,o;const{name:r,currentFields:i}=useCollection_deprecated(),{getInterface:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{readPretty:c=l.readPretty,block:u="FilterForm"}=e||{},{snapshot:m,fieldSchema:d}=useActionContext(),p=d==null?void 0:d["x-action"];return(o=(t=i.filter(g=>!g.collectionName||g.collectionName===r))==null?void 0:t.filter(g=>{var h;return(g==null?void 0:g.interface)&&((h=n(g.interface))==null?void 0:h.filterable)}))==null?void 0:o.map(g=>{var h,_,f;const v=n(g.interface),b=a(g.target);let S={type:"string",name:g.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${g.name}`,"x-component-props":{utc:!1}};return isAssocField(g)&&(S={type:"string",name:`${g.name}`,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-use-decorator-props":"useFormItemProps","x-collection-field":`${r}.${g.name}`,"x-component-props":P(x({},(h=g.uiSchema)==null?void 0:h["x-component-props"]),{utc:!1})}),{name:((_=g==null?void 0:g.uiSchema)==null?void 0:_.title)||g.name,type:"item",title:((f=g==null?void 0:g.uiSchema)==null?void 0:f.title)||g.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:C=>{var y;(y=v==null?void 0:v.schemaInitialize)==null||y.call(v,C,{field:g,block:u,readPretty:c,action:p,targetCollection:b})},schema:S}})},useAssociatedFormItemInitializerFields=e=>{var t;const{name:o,fields:r}=useCollection_deprecated(),{getInterface:i,getCollectionFields:n,getCollection:a}=useCollectionManager_deprecated(),l=(0,import_react.useForm)(),{t:c}=(0,import_react_i18next.useTranslation)(),{readPretty:u=l.readPretty,block:m="Form"}=e||{},d=m==="Form"?["m2o","obo","oho"]:["o2o","oho","obo","m2o"];return(t=r==null?void 0:r.filter(p=>d.includes(p.interface)))==null?void 0:t.map(p=>getGroupItemForForm({getCollectionFields:n,field:p,getInterface:i,getCollection:a,readPretty:u,block:m,schemaName:p.name,maxDepth:2,depth:1,t:c}))},associationFieldToMenu=(e,t,o,r,i)=>{var n,a,l;if(e.target&&e.uiSchema){if(i.includes(e.target)||i.length>=1)return;const u=r(e.target);return u!=null&&u.length?{type:"subMenu",name:t,title:(n=e.uiSchema)==null?void 0:n.title,children:u.map(m=>associationFieldToMenu(m,`${t}.${m.name}`,o,r,[...i,e.target])).filter(Boolean)}:void 0}if(!e.uiSchema)return;const c={type:"string",name:t,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-designer-props":{interface:e.interface},"x-component":"CollectionField","x-component-props":{utc:!1},"x-read-pretty":!1,"x-decorator":"FormItem","x-collection-field":`${o}.${t}`};return{name:((a=e.uiSchema)==null?void 0:a.title)||e.name,type:"item",title:((l=e.uiSchema)==null?void 0:l.title)||e.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schema:c}},useFilterAssociatedFormItemInitializerFields=()=>{const{name:e,fields:t}=useCollection_deprecated(),{getCollectionFields:o}=useCollectionManager_deprecated(),r=["attachmentURL"];return t==null?void 0:t.filter(i=>i.target&&i.uiSchema&&!r.includes(i.interface)).map(i=>associationFieldToMenu(i,i.name,e,o,[])).filter(Boolean)},useInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const m=n(c,t),{readPretty:d=l.readPretty,block:p="Form",component:g="CollectionField"}=e||{},h=i(c);return{[h==null?void 0:h.title]:(u=m==null?void 0:m.filter(_=>_==null?void 0:_.interface))==null?void 0:u.map(_=>{var f,v,b,S;const C=o(_.interface),y=i(_.target),F={type:"string",name:_.name,title:((f=_==null?void 0:_.uiSchema)==null?void 0:f.title)||_.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":g,"x-decorator":"FormItem","x-collection-field":`${t}.${_.name}`,"x-component-props":{},"x-read-pretty":(v=_==null?void 0:_.uiSchema)==null?void 0:v["x-read-pretty"]};return{name:((b=_==null?void 0:_.uiSchema)==null?void 0:b.title)||_.name,type:"item",title:((S=_==null?void 0:_.uiSchema)==null?void 0:S.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:j=>{var k;(k=C==null?void 0:C.schemaInitialize)==null||k.call(C,j,{field:_,block:p,readPretty:d,targetCollection:y})},schema:F}})}})},useFilterInheritsFormItemInitializerFields=e=>{const{name:t}=useCollection_deprecated(),{getInterface:o,getInheritCollections:r,getCollection:i,getParentCollectionFields:n}=useCollectionManager_deprecated(),a=r(t);useActionContext();const l=(0,import_react.useForm)();return a==null?void 0:a.map(c=>{var u;const m=n(c,t),{readPretty:d=l.readPretty,block:p="Form"}={};return{[i(c).title]:(u=m==null?void 0:m.filter(g=>{var h;return(g==null?void 0:g.interface)&&((h=o(g.interface))==null?void 0:h.filterable)}))==null?void 0:u.map(g=>{var h,_,f,v;const b=o(g.interface),S=i(g.target),C={type:"string",name:g.name,title:((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||g.name,required:!1,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FilterFormItem","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":`${t}.${g.name}`,"x-component-props":{utc:!1},"x-read-pretty":(_=g==null?void 0:g.uiSchema)==null?void 0:_["x-read-pretty"]};return{name:((f=g==null?void 0:g.uiSchema)==null?void 0:f.title)||g.name,type:"item",title:((v=g==null?void 0:g.uiSchema)==null?void 0:v.title)||g.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:y=>{var F;(F=b==null?void 0:b.schemaInitialize)==null||F.call(b,y,{field:g,block:p,readPretty:d,targetCollection:S})},schema:C}})}})},useCustomFormItemInitializerFields=e=>{var t;const{name:o,currentFields:r}=useCollection_deprecated(),{getInterface:i,getCollection:n}=useCollectionManager_deprecated(),a=(0,import_react.useForm)(),{readPretty:l=a.readPretty,block:c="Form"}=e||{},u=useRemoveGridFormItem();return(t=r==null?void 0:r.filter(m=>!m.inherit&&(m==null?void 0:m.interface)&&m.interface!=="snapshot"&&m.type!=="sequence"))==null?void 0:t.map(m=>{var d,p,g;const h=i(m.interface),_={type:"string",name:m.name,title:((d=m==null?void 0:m.uiSchema)==null?void 0:d.title)||m.name,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"AssignedField","x-decorator":"FormItem","x-collection-field":`${o}.${m.name}`};return{name:((p=m==null?void 0:m.uiSchema)==null?void 0:p.title)||m.name,type:"item",title:((g=m==null?void 0:m.uiSchema)==null?void 0:g.title)||m.name,Component:"CollectionFieldInitializer",remove:u,schemaInitialize:f=>{var v;(v=h==null?void 0:h.schemaInitialize)==null||v.call(h,f,{field:m,block:c,readPretty:l,targetCollection:n(m.target)})},schema:_}})},findSchema=(e,t,o,r)=>import_react.Schema.isSchemaInstance(e)?e.reduceProperties((i,n)=>{if(n[t]===o&&(!r||n.name===r))return n;if(n["x-component"]&&n["x-component"]!=="Action.Container"&&!n["x-component"].includes("AssociationField")){const a=findSchema(n,t,o,r);if(a)return a}return i}):null,removeSchema=(e,t)=>t(e),recursiveParent=e=>e.parent?e.parent["x-initializer"]?e.parent:recursiveParent(e.parent):null,useCurrentSchema=(e,t,o=findSchema,r=removeSchema,i)=>{const{removeActiveFieldName:n}=useFormActiveFields()||{},{form:a}=useFormBlockContext();let l=(0,import_react.useFieldSchema)();if(!(l!=null&&l["x-initializer"])&&(l==null?void 0:l["x-decorator"])==="FormItem"){const m=recursiveParent(l);m&&(l=m)}const{remove:c}=useDesignable(),u=o(l,t,e,i);return{schema:u,exists:!!u,remove(){n==null||n(u.name),a==null||a.query(new RegExp(`${u.parent.name}.${u.name}$`)).forEach(m=>{var d,p;(d=m.setValue)==null||d.call(m,void 0),(p=m.setInitialValue)==null||p.call(m,void 0)}),u&&r(u,c)}}},useRecordCollectionDataSourceItems=(e,t=null,o=null,r=null)=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCollection_deprecated(),{getTemplatesByCollection:a}=useSchemaTemplateManager(),l=a(n.dataSource,o||n.name).filter(u=>e&&u.componentName===e).filter(u=>["FormItem","ReadPrettyFormItem"].includes(e)||u.resourceName===r);if(!l.length)return[];const c=0;return[{key:`${o||e}_table_blank`,type:"item",name:n.name,title:i("Blank block"),item:t},{type:"divider"},{key:`${o||e}_table_subMenu_${c}_copy`,type:"subMenu",name:"copy",title:i("Duplicate template"),children:l.map(u=>{const m=["FormItem","ReadPrettyFormItem"].includes(u==null?void 0:u.componentName)?`${u==null?void 0:u.name} ${i("(Fields only)")}`:u==null?void 0:u.name;return{type:"item",mode:"copy",name:n.name,template:u,item:t,title:m||i("Untitled")}})},{key:`${o||e}_table_subMenu_${c}_ref`,type:"subMenu",name:"ref",title:i("Reference template"),children:l.map(u=>{const m=["FormItem","ReadPrettyFormItem"].includes(u==null?void 0:u.componentName)?`${u==null?void 0:u.name} ${i("(Fields only)")}`:u==null?void 0:u.name;return{type:"item",mode:"reference",name:n.name,template:u,item:t,title:m||i("Untitled")}})}]},useCollectionDataSourceItems=({name:e,componentName:t,filter:o=()=>!0,onlyCurrentDataSource:r=!1,showAssociationFields:i,filterDataSource:n,dataBlockInitializerProps:a,hideOtherRecordsInPopup:l,onClick:c,filterOtherRecordsCollection:u,currentText:m,otherText:d})=>{const{componentNamePrefix:p}=useBlockTemplateContext(),{t:g}=(0,import_react_i18next.useTranslation)(),h=useDataSourceManager(),_=useDataSourceKey(),f=useCollection(),v=useAssociationFields({componentName:p+t,filterCollections:o,showAssociationFields:i,componentNamePrefix:p}),b=useAssociationName();let S=h.getAllCollections({filterCollection:F=>r&&F.dataSource!==_?!1:o({collection:F}),filterDataSource:n});r&&(S=S.filter(F=>F.key===_));const{getTemplatesByCollection:C}=useSchemaTemplateManager(),y=(0,import_react2.useMemo)(()=>S.map(({key:F,displayName:j,collections:k})=>({name:F,label:j,type:"subMenu",children:[...getChildren$1({name:e,association:b,collections:k,componentName:p+t,searchValue:"",dataSource:F,getTemplatesByCollection:C,t:g,componentNamePrefix:p}).sort(R=>{const N=import_lodash.default.toArray((f==null?void 0:f.inherits)||[]);if(R.name===(f==null?void 0:f.name)||N.some(w=>w===R.name))return-1})]})),[S,f==null?void 0:f.inherits,f==null?void 0:f.name,t,C,g]);return i?(0,import_react2.useMemo)(()=>{var F;const j={name:"currentRecord",collectionName:f.name,dataSource:f.dataSource,Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:m||g("Current record"),name:"currentRecord",hideSearch:!1,hideChildrenIfSingleCollection:!0,items:y})},k={name:"associationRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{icon:null,title:g("Associated records"),name:"associationRecords",hideSearch:!1,items:[{name:"associationFields",label:g("Association fields"),type:"subMenu",children:v}]})},R={ReadPrettyFormItem:"Details"},N={name:"otherRecords",Component:DataBlockInitializer,onClick(){},componentProps:P(x({},a),{hideSearch:!1,icon:null,title:d||g("Other records"),name:"otherRecords",showAssociationFields:!1,onlyCurrentDataSource:!1,hideChildrenIfSingleCollection:!1,fromOthersInPopup:!0,componentType:R[t]||t,filter({collection:D,associationField:T}){return u?u(D):!0},onClick(D){c(P(x({},D),{fromOthersInPopup:!0}))}})};let w;const O=v.length?k:null;if(y[0].children.length&&v.length)l?w=[j,O]:w=[j,O,N];else if(y[0].children.length)if(l){if(y[0].children.length<=1)return y[0].children=((F=y[0].children[0])==null?void 0:F.children)||[],y;w=[j]}else w=[j,N];else l?w=[O]:w=[O,N];return[{name:"records",label:g("Records"),type:"subMenu",children:w.filter(Boolean)}]},[v,f.dataSource,f.name,t,a,u,l,y,c,g]):y},createDetailsBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="detailsWithPaging:configureActions",collection:i,dataSource:n,association:a,template:l,settings:c,action:u="list"}=t,m=Y(t,["formItemInitializers","actionInitializers","collection","dataSource","association","template","settings","action"]),d=a||i;return{type:"void","x-acl-action":u==="get"?`${d}:get`:`${d}:view`,"x-decorator":"DetailsBlockProvider","x-decorator-props":x(x({dataSource:n,collection:i,association:a,readPretty:!0,action:u},u==="list"?{params:{pageSize:1}}:{}),m),"x-toolbar":"BlockSchemaToolbar","x-settings":c,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-use-component-props":"useDetailsBlockProps","x-read-pretty":!0,properties:x({[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:l||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}},u==="list"?{pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}:{})}}}},createFormBlockSchema=e=>{const t=e,{formItemInitializers:o="form:configureFields",actionInitializers:r="createForm:configureActions",collection:i,resource:n,dataSource:a,association:l,action:c,actions:u={},"x-designer":m="FormV2.Designer",template:d,title:p,settings:g}=t,h=Y(t,["formItemInitializers","actionInitializers","collection","resource","dataSource","association","action","actions","x-designer","template","title","settings"]),_=n||l||i;return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!c},"x-acl-action":c?`${_}:update`:`${_}:create`,"x-decorator":"FormBlockProvider","x-decorator-props":P(x({},h),{action:c,dataSource:a,resource:_,collection:i,association:l}),"x-toolbar":"BlockSchemaToolbar"},g?{"x-settings":g}:{"x-designer":m}),{"x-component":"CardItem","x-component-props":{title:p},properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{grid:d||{type:"void","x-component":"Grid","x-initializer":o,properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:u}}}}})},createReadPrettyFormBlockSchema=e=>{const t=e,{formItemInitializers:o="details:configureFields",actionInitializers:r="details:configureActions",collection:i,association:n,dataSource:a,resource:l,template:c,settings:u}=t,m=Y(t,["formItemInitializers","actionInitializers","collection","association","dataSource","resource","template","settings"]),d=l||n||i;return{type:"void","x-acl-action":`${d}:get`,"x-decorator":"FormBlockProvider","x-decorator-props":x({resource:d,collection:i,association:n,dataSource:a,readPretty:!0,action:"get",useParams:"{{ useParamsFromRecord }}"},m),"x-toolbar":"BlockSchemaToolbar","x-settings":u,"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps","x-read-pretty":!0,properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":r,"x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:c||{type:"void","x-component":"Grid","x-initializer":o,properties:{}}}}}}},createTableBlockSchema=e=>{const t=e,{collection:o,rowKey:r,tableActionInitializers:i,tableColumnInitializers:n,tableActionColumnInitializers:a,tableBlockProvider:l,disableTemplate:c,dataSource:u,blockType:m,pageSize:d=20}=t,p=Y(t,["collection","rowKey","tableActionInitializers","tableColumnInitializers","tableActionColumnInitializers","tableBlockProvider","disableTemplate","dataSource","blockType","pageSize"]);return{type:"void","x-decorator":l??"TableBlockProvider","x-acl-action":`${o}:list`,"x-decorator-props":x({collection:o,dataSource:u,action:"list",params:{pageSize:d},rowKey:r,showIndex:!0,dragSort:!1,disableTemplate:c??!1,blockType:m},p),"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":i??"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":n??"table:configureColumns","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-designer":"TableV2.ActionColumnDesigner","x-initializer":a??"table:configureItemActions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{},properties:{}}}}}}}}},getChildren$1=({name:e,association:t,collections:o,dataSource:r,componentName:i,searchValue:n,getTemplatesByCollection:a,t:l,componentNamePrefix:c})=>{var u;return(u=o==null?void 0:o.filter(m=>{if(m.inherit)return!1;if(m.filterTargetKey){if([c+"Kanban",c+"FormItem"].includes(i)&&(m.template==="view"&&!m.writableView||m.template==="sql")||m.template==="file"&&[c+"Kanban",c+"FormItem",c+"Calendar"].includes(i))return!1;{const d=m.title||m.tableName;return d?d.toUpperCase().includes(n.toUpperCase())&&!(m!=null&&m.isThrough&&m!=null&&m.autoCreate):!1}}else return!1}))==null?void 0:u.map((m,d)=>{const p=m.title||m.tableName||m.label,g=a(r,m.name).filter(h=>{var _;const f=e!=="otherRecords"&&t;return f?h.resourceName!==t?!1:i&&h.componentName===i:!f&&(_=h==null?void 0:h.resourceName)!=null&&_.includes(".")?!1:i&&h.componentName===i});return g.length?{key:`${i}_table_subMenu_${d}`,type:"subMenu",name:`${m.name}_${d}`,title:p,dataSource:r,children:[{type:"item",name:m.name,dataSource:r,title:l("Blank block")},{type:"divider"},{key:`${i}_table_subMenu_${d}_copy`,type:"subMenu",name:"copy",dataSource:r,title:l("Duplicate template"),children:g.map(h=>{const _=[c+"FormItem",c+"ReadPrettyFormItem"].includes(h==null?void 0:h.componentName)?`${h==null?void 0:h.name} ${l("(Fields only)")}`:h==null?void 0:h.name;return{type:"item",mode:"copy",name:m.name,template:h,dataSource:r,title:_||l("Untitled")}})},{key:`${i}_table_subMenu_${d}_ref`,type:"subMenu",name:"ref",dataSource:r,title:l("Reference template"),children:g.map(h=>{const _=[c+"FormItem",c+"ReadPrettyFormItem"].includes(h==null?void 0:h.componentName)?`${h==null?void 0:h.name} ${l("(Fields only)")}`:h==null?void 0:h.name;return{type:"item",mode:"reference",name:m.name,template:h,dataSource:r,title:_||l("Untitled")}})}]}:{type:"item",name:m.name,title:p,dataSource:r}})};function getGroupItemForForm({getCollectionFields:e,field:t,getInterface:o,getCollection:r,readPretty:i,block:n,maxDepth:a,depth:l,schemaName:c,t:u}){var m,d;const p=e(t.target),g=(m=p==null?void 0:p.filter(_=>(_==null?void 0:_.interface)&&!["subTable"].includes(_==null?void 0:_.interface)&&!_.treeChildren))==null?void 0:m.map(_=>{var f,v;const b=o(_.interface),S=(t==null?void 0:t.target)&&((f=r(t==null?void 0:t.target))==null?void 0:f.template)==="file",C=`${c}.${_.name}`,y={type:"string",name:C,"x-toolbar":"FormItemSchemaToolbar","x-settings":"fieldSettings:FormItem","x-component":"CollectionField","x-read-pretty":i,"x-component-props":{"pattern-disable":n==="Form"&&i,fieldNames:S?{label:"preview",value:"id"}:void 0},"x-decorator":"FormItem","x-collection-field":`${t.target}.${_.name}`};return{name:C,type:"item",title:((v=_==null?void 0:_.uiSchema)==null?void 0:v.title)||_.name,Component:"CollectionFieldInitializer",remove:removeGridFormItem,schemaInitialize:F=>{var j;(j=b==null?void 0:b.schemaInitialize)==null||j.call(b,F,{field:_,block:n,readPretty:i,targetCollection:r(t.target)})},schema:y}}),h=[{type:"itemGroup",name:`${c}-displayCollectionFields`,title:u("Display fields"),children:g}];if(l<a){const _=p==null?void 0:p.filter(f=>["o2o","oho","obo","m2o"].includes(f.interface)).map(f=>getGroupItemForForm({getCollectionFields:e,field:f,getInterface:o,getCollection:r,schemaName:`${c}.${f.name}`,readPretty:i,block:n,maxDepth:a,depth:l+1,t:u}));if(_.length){const f={type:"itemGroup",name:`${c}-associationFields`,title:u("Display association fields"),children:_};h.push(f)}}return{type:"subMenu",name:`${c}.${t.name}`,title:(d=t.uiSchema)==null?void 0:d.title,children:h}}function useAssociationFields({componentName:e,filterCollections:t,showAssociationFields:o,componentNamePrefix:r}){const i=(0,import_react.useFieldSchema)(),{getCollectionFields:n}=useCollectionManager_deprecated(),a=useCollection_deprecated();useCollectionManager();const l=useDataSourceKey(),{getTemplatesByCollection:c}=useSchemaTemplateManager(),{t:u}=(0,import_react_i18next.useTranslation)(),m=useCompile();return(0,import_react2.useMemo)(()=>{if(!o)return[];let d=[];if(i["x-initializer"])d=a.fields;else{const p=recursiveParent(i.parent);p&&(d=n(p))}return d.filter(p=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(p.interface)).filter(p=>t({associationField:p})).map((p,g)=>{const h=m(p.uiSchema.title||p.name),_=c(l,p.target).filter(f=>f.resourceName!==`${p.collectionName}.${p.name}`?!1:e===r+"ReadPrettyFormItem"?["hasOne","belongsTo"].includes(p.type)?f.componentName===r+"ReadPrettyFormItem":f.componentName===r+"Details":f.componentName===e);return _.length?{key:`associationFiled_${e}_table_subMenu_${g}`,type:"subMenu",name:`${p.target}_${g}`,title:h,dataSource:l,children:[{type:"item",name:`${p.collectionName}.${p.name}`,collectionName:p.target,dataSource:l,title:u("Blank block"),associationField:p},{type:"divider"},{key:`associationFiled_${e}_table_subMenu_${g}_copy`,type:"subMenu",name:"copy",dataSource:l,title:u("Duplicate template"),children:_.map(f=>{const v=[r+"FormItem",r+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${u("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"copy",name:`${p.collectionName}.${p.name}`,collectionName:p.target,template:f,dataSource:l,title:v||u("Untitled"),associationField:p}})},{key:`associationFiled_${e}_table_subMenu_${g}_ref`,type:"subMenu",name:"ref",dataSource:l,title:u("Reference template"),children:_.map(f=>{const v=[r+"FormItem",r+"ReadPrettyFormItem"].includes(f==null?void 0:f.componentName)?`${f==null?void 0:f.name} ${u("(Fields only)")}`:f==null?void 0:f.name;return{type:"item",mode:"reference",name:`${p.collectionName}.${p.name}`,collectionName:p.target,template:f,dataSource:l,title:v||u("Untitled"),associationField:p}})}]}:{type:"item",name:`${p.collectionName}.${p.name}`,collectionName:p.target,title:h,dataSource:l,associationField:p}})},[a.fields,m,e,l,i,t,n,c,o,u,r])}const useGetAriaLabelOfDesigner=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated();return{getAriaLabel:(0,import_react2.useCallback)((o,r)=>{if(!e)return`designer-${o}-${r}`;const i=e["x-component"],n=typeof i=="string"?i:(i==null?void 0:i.displayName)||(i==null?void 0:i.name),a=e["x-designer"]?`-${e["x-designer"]}`:"",l=e["x-settings"]?`-${e["x-settings"]}`:"",c=e["x-collection-field"]?`-${e["x-collection-field"]}`:"",u=t?`-${t}`:"";return r=r?`-${r}`:"",`designer-${o}-${n}${a}${l}${u}${c}${r}`},[e,t])}},useStyles$f=genStyleHook("nb-schema-toolbar",e=>{const{componentCls:t}=e;return{[t]:{position:"absolute",zIndex:999,top:0,left:0,right:0,bottom:0,border:"2px solid var(--colorBorderSettingsHover)",background:"var(--colorBgSettingsHover)",pointerEvents:"none","&.hidden":{transform:"scale(0)",pointerEvents:"none"},"&.hidden-e2e":{display:"none"},".ant-space-item .anticon":{margin:0},".toolbar-title":{pointerEvents:"none",position:"absolute",fontSize:12,padding:0,lineHeight:"16px",height:"16px",borderBottomRightRadius:2,borderRadius:2,top:2,left:2},".toolbar-title-tag":{padding:"0 3px",borderRadius:2,background:"var(--colorSettings)",color:"#fff",display:"block"},".toolbar-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}}}}),titleCss=import_css.css`
262
262
  pointer-events: none;
263
263
  position: absolute;
264
264
  font-size: 12px;
@@ -617,7 +617,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
617
617
  .ant-pagination-simple-pager {
618
618
  display: none !important;
619
619
  }
620
- `}:{simple:!0,hidden:f<=1,current:((h=(g=(p=_.service)==null?void 0:p.data)==null?void 0:g.meta)==null?void 0:h.page)||1,total:f,pageSize:1,showSizeChanger:!1,onChange(b){return V(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"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),g=n.name,h=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:h,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:b=>{var S,C,y,F;const j=((C=(S=a.params)==null?void 0:S[1])==null?void 0:C.filters)||{};b.length?j[`af.${g}`]={[`${g}.${m}.$in`]:b}:delete j[`af.${g}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:b=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:b.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:g}=useFilterBlock(),h=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),b=useCollectionManager(),{filter:S,parseVariableLoading:C}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,k,R,N,w,O;N=m!=null&&m.target?(o=b==null?void 0:b.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:R,params:j,run:k}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&C===!1&&k()},[m,w,k,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,C]);const D=(0,import_react2.useCallback)(T=>{const{targets:$,uid:B}=findFilterTargets(d);g().forEach(I=>{var M,z,E,L;if(!$.find(H=>H.uid===I.uid))return;const U=`${B}${d.name}`,q=((M=I.service.params)==null?void 0:M[0])||{};(E=(z=I.service.params)==null?void 0:z[1])!=null&&E.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[O]:T};else{if((L=I.clearSelection)==null||L.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},q),{page:1,filter:W}),{filters:G})})},[d,O,g]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},B=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=B,j={},k=()=>{},O=`${T.name}.${$[T.interface]}`,F=I=>{const M=I.target.value;if(!M){y=B;return}y=B.filter(z=>z.label.includes(M))}}else O=`${h}.${N}.$in`,y=(R==null?void 0:R.data)||[],F=T=>{k(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:D,handleSearchInput:F,params:j,run:k,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return V(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>V(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,g=c["x-collection-field"]&&i(c["x-collection-field"],a),h=c.name.includes("."),_=g&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=b=>{const S=Object.keys(b)[0]||"$and";b[S].forEach(C=>{if("$and"in C||"$or"in C)return v(C);const y=getTargetField(C);y.length>1&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:b})=>{v(b)})}const f=_&&((u=n(g.target,a))==null?void 0:u.template)==="tree";if(g&&(_||h)&&c["x-component"]!=="TableField"){const v=!_&&h?getAssociationPath(c.name):c.name,b=p===""||!p?v:p+"."+v;if(f)r.add(b),r.add(`${b}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${b}(sort=${S})`)}else r.add(b);if(isSubMode(c)){o.add(b);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return V(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>V(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return V(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return V(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return V(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>V(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(h=>(_,{exclude:f=[],depth:v=0,maxDepth:b,prefix:S="",disabled:C=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${b}-${S}`,j=h.get(F);if(j)return j;if(v>b)return[];const k=i(_).map(R=>{var N;if(f.includes(R.name)||!R.interface||["sort","password","sequence"].includes(R.type))return;const w={type:"duplicate",tag:c((N=R.uiSchema)==null?void 0:N.title)||R.name},O=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${R.name}`:R.name,isLeaf:!0,field:R,disabled:C}),D=y.find(T=>T.name===O.key);if(["belongsTo","belongsToMany"].includes(R.type)&&(!D||["Select","Picker"].includes(D==null?void 0:D.fieldMode)))w.type="reference",O.type="reference",O.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),O.isLeaf=!1,O.children=p(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(R.type)||["Nester","SubTable"].includes(D==null?void 0:D.fieldMode)){let T=!1;["hasOne","hasMany"].includes(R.type)&&["Select","Picker"].includes(D==null?void 0:D.fieldMode)&&(T=!0),O.disabled=!0,O.isLeaf=!1,O.children=d(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:["id",...systemKeys],disabled:T},y)}return O}).filter(Boolean);return h.set(F,k),k})(new import_lru_cache.default({max:100})),p=(h=>(_,{prefix:f,maxDepth:v,depth:b=0,exclude:S=[]})=>{const C=`${_}-${S.join(",")}-${b}-${v}-${f}`,y=h.get(C);if(y)return y;if(b>v)return[];const F=i(_).map(j=>{var k,R;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((k=j.uiSchema)==null?void 0:k.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((R=j.uiSchema)==null?void 0:R.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:b+1,maxDepth:v,exclude:S})}}).filter(Boolean);return h.set(C,F),F})(new import_lru_cache.default({max:100})),g=(0,import_react2.useCallback)((h,_)=>{if(!h)return[];try{return d(h,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return V(this,null,function*(){var h;const _=new Set([]),f=new Set([]),v=(S,C)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var k,R,N;const w=F||C,O=j["x-collection-field"]&&r(j["x-collection-field"]),D=j.name.includes("."),T=O&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(O.type),$=!T&&D?getAssociationPath(j.name):j.name,B=w===""||!w?$:w+"."+$;if(O&&!(["hasOne","hasMany"].includes(O.type)||["SubForm","Nester"].includes((k=j["x-component-props"])==null?void 0:k.mode))&&f.add(B),O&&(T||D)&&j["x-component"]!=="TableField"){if(_.add({name:B,fieldMode:((R=j["x-component-props"])==null?void 0:R.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,C)},C)};v(e,"");const b=g((l==null?void 0:l.collection)||t,[..._]);o?o(b,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=b)}),n==null||n.field.value.splice(a,1,P(x({},(h=n==null?void 0:n.field)==null?void 0:h.value[a]),{fields:[...f],treeData:b}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const g=c.map(h=>{const _=`${d(h.collection.title)} #${h.uid.slice(0,4)}`,f=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display="block"),S.style.boxShadow="0 0 10px rgba(0, 0, 0, 0.2)",S.scrollIntoView({behavior:"smooth",block:"center"})},v=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display=null),S.style.boxShadow="none"};if(isSameCollection(h.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===h.uid),onChange:S=>{S?u.push({uid:h.uid}):(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid);const b=u.find(S=>S.uid===h.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(b==null?void 0:b.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),h).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,h).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)):(u=u.filter(C=>C.uid!==h.uid),u.push({uid:h.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:g.length?g:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:g,addonBefore:h,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:g||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:h},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const b={"x-uid":r["x-uid"]};b["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),b["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const C=S.join(".");i.query(`${C}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:b}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:g,setNodeRef:h}=p,_=x({},a);return g&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[i==="a"?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:h,style:_}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),common=Object.freeze(Object.defineProperty({__proto__:null,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||c;const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]);return(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),g=h=>h!=null&&!Number.isNaN(h);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},p),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit:h=>{var _;const f=[];for(const S of h.rules)f.push(import_lodash.default.pickBy(S,g));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const b=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=b,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:g=>{const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=g,h["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=g,l.emit("patch",{schema:h}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,g,h;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(g=t["x-component-props"])!=null&&g.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(h=_.schema)==null?void 0:h["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(g=>!(g!=null&&g.target)&&g.type!=="boolean").map(g=>{var h;return{value:g==null?void 0:g.name,label:m((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||(g==null?void 0:g.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:g=>{var h,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(h=d==null?void 0:d.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:g});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o}=useCollectionManager_deprecated(),r=(0,import_react.useForm)(),i=(0,import_react.useFieldSchema)(),n=useVariables$1(),a=(0,import_react.useField)(),{formValue:l}=useSubFormValue(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},{getAssociationAppends:m}=useAssociationNames(),d=i.name.toString(),p=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);p.current==null&&isDisplayField(d)&&(p.current=o(`${t}.${d}`)),g.current==null&&isDisplayField(d)&&(g.current=o(`${t}.${d.split(".")[0]}`));const h=(0,import_react2.useMemo)(()=>!isDisplayField(d)||!n||t==="fields"||!p.current,[d,n,t,p.current]),_=h?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(c||u?l:r.values)),f=isDisplayField(d)&&g.current?import_lodash.default.get(_,`${d.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{if(h||import_lodash.default.isEmpty(_))return;const v={name:"$nForm",ctx:_,collectionName:t},b=`{{ $nForm.${d} }}`;if(f==null)return;const{appends:S}=m();n.parseVariable(b,v,{appends:S}).then(({value:C})=>{(0,import_client.nextTick)(()=>{const y=transformVariableValue(C,{targetCollectionField:p.current});import_lodash.default.isEmpty(y)&&!import_lodash.default.isNumber(y)?a.value=null:(a.value=y,a.componentProps=P(x({},a.componentProps),{readOnlySubmit:!0}))})}).catch(C=>{console.error(C)})},[f,h])};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var g,h;return(h=(g=u==null?void 0:u.data)==null?void 0:g.filter)==null?void 0:h.call(g,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:g,defaultValue:h}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:b}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:C}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:C||a,collectionName:j},{name:"$form",ctx:C,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:g,defaultValue:h},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:b},{name:"$nForm",ctx:C,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,C,c,u,m,d,_,p,g,S,n,i,y,h,b,o,t,r,F])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(e)return(t=e["x-linkage-rules"])==null?void 0:t.filter(o=>!o.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),g=useRecordIndex(),{type:h,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),b=(0,import_react2.useCallback)(S=>{let C=o==null?void 0:o.getVariable(S);return C||(C=r.find(y=>y.name===S)),C},[r,o]);(0,import_react2.useEffect)(()=>{var S,C;if(h==="update"&&t.default&&e.form===_&&((C=e.setValue)==null||C.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>V(void 0,[...j],function*({forceUpdate:k=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||k)){e.loading=!0;const R=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:O="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(R!=null&&R.target&&w&&R.target!==w&&!isInherit({collectionName:R.target,targetCollectionName:w,dm:v,dataSource:O})){e.loading=!1;return}const D=transformVariableValue(N,{targetCollectionField:R});D==null||D===""?e.mounted&&(e.setInitialValue(null),yield e.reset({forceClear:!0})):d()?g===0&&p(D):e.setInitialValue(D),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),k=b(j);return k?(y(),(0,import_reactive.reaction)(()=>{const R={[j]:(k==null?void 0:k.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(R,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,h,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
620
+ `}:{simple:!0,hidden:f<=1,current:((h=(g=(p=_.service)==null?void 0:p.data)==null?void 0:g.meta)==null?void 0:h.page)||1,total:f,pageSize:1,showSizeChanger:!1,onChange(b){return V(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"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),g=n.name,h=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:h,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:b=>{var S,C,y,F;const j=((C=(S=a.params)==null?void 0:S[1])==null?void 0:C.filters)||{};b.length?j[`af.${g}`]={[`${g}.${m}.$in`]:b}:delete j[`af.${g}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:b=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:b.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:g}=useFilterBlock(),h=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),b=useCollectionManager(),{filter:S,parseVariableLoading:C}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,k,R,N,w,O;N=m!=null&&m.target?(o=b==null?void 0:b.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:R,params:j,run:k}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&C===!1&&k()},[m,w,k,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,C]);const D=(0,import_react2.useCallback)(T=>{const{targets:$,uid:B}=findFilterTargets(d);g().forEach(I=>{var M,z,E,L;if(!$.find(H=>H.uid===I.uid))return;const U=`${B}${d.name}`,q=((M=I.service.params)==null?void 0:M[0])||{};(E=(z=I.service.params)==null?void 0:z[1])!=null&&E.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[O]:T};else{if((L=I.clearSelection)==null||L.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},q),{page:1,filter:W}),{filters:G})})},[d,O,g]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},B=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=B,j={},k=()=>{},O=`${T.name}.${$[T.interface]}`,F=I=>{const M=I.target.value;if(!M){y=B;return}y=B.filter(z=>z.label.includes(M))}}else O=`${h}.${N}.$in`,y=(R==null?void 0:R.data)||[],F=T=>{k(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:D,handleSearchInput:F,params:j,run:k,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return V(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>V(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,g=c["x-collection-field"]&&i(c["x-collection-field"],a),h=c.name.includes("."),_=g&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=b=>{const S=Object.keys(b)[0]||"$and";b[S].forEach(C=>{if("$and"in C||"$or"in C)return v(C);const y=getTargetField(C);y.length>1&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:b})=>{v(b)})}const f=_&&((u=n(g.target,a))==null?void 0:u.template)==="tree";if(g&&(_||h)&&c["x-component"]!=="TableField"){const v=!_&&h?getAssociationPath(c.name):c.name,b=p===""||!p?v:p+"."+v;if(f)r.add(b),r.add(`${b}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${b}(sort=${S})`)}else r.add(b);if(isSubMode(c)){o.add(b);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return V(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>V(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return V(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return V(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return V(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>V(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(h=>(_,{exclude:f=[],depth:v=0,maxDepth:b,prefix:S="",disabled:C=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${b}-${S}`,j=h.get(F);if(j)return j;if(v>b)return[];const k=i(_).map(R=>{var N;if(f.includes(R.name)||!R.interface||["sort","password","sequence"].includes(R.type))return;const w={type:"duplicate",tag:c((N=R.uiSchema)==null?void 0:N.title)||R.name},O=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${R.name}`:R.name,isLeaf:!0,field:R,disabled:C}),D=y.find(T=>T.name===O.key);if(["belongsTo","belongsToMany"].includes(R.type)&&(!D||["Select","Picker"].includes(D==null?void 0:D.fieldMode)))w.type="reference",O.type="reference",O.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),O.isLeaf=!1,O.children=p(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(R.type)||["Nester","SubTable"].includes(D==null?void 0:D.fieldMode)){let T=!1;["hasOne","hasMany"].includes(R.type)&&["Select","Picker"].includes(D==null?void 0:D.fieldMode)&&(T=!0),O.disabled=!0,O.isLeaf=!1,O.children=d(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:["id",...systemKeys],disabled:T},y)}return O}).filter(Boolean);return h.set(F,k),k})(new import_lru_cache.default({max:100})),p=(h=>(_,{prefix:f,maxDepth:v,depth:b=0,exclude:S=[]})=>{const C=`${_}-${S.join(",")}-${b}-${v}-${f}`,y=h.get(C);if(y)return y;if(b>v)return[];const F=i(_).map(j=>{var k,R;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((k=j.uiSchema)==null?void 0:k.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((R=j.uiSchema)==null?void 0:R.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:b+1,maxDepth:v,exclude:S})}}).filter(Boolean);return h.set(C,F),F})(new import_lru_cache.default({max:100})),g=(0,import_react2.useCallback)((h,_)=>{if(!h)return[];try{return d(h,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return V(this,null,function*(){var h;const _=new Set([]),f=new Set([]),v=(S,C)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var k,R,N;const w=F||C,O=j["x-collection-field"]&&r(j["x-collection-field"]),D=j.name.includes("."),T=O&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(O.type),$=!T&&D?getAssociationPath(j.name):j.name,B=w===""||!w?$:w+"."+$;if(O&&!(["hasOne","hasMany"].includes(O.type)||["SubForm","Nester"].includes((k=j["x-component-props"])==null?void 0:k.mode))&&f.add(B),O&&(T||D)&&j["x-component"]!=="TableField"){if(_.add({name:B,fieldMode:((R=j["x-component-props"])==null?void 0:R.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,C)},C)};v(e,"");const b=g((l==null?void 0:l.collection)||t,[..._]);o?o(b,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=b)}),n==null||n.field.value.splice(a,1,P(x({},(h=n==null?void 0:n.field)==null?void 0:h.value[a]),{fields:[...f],treeData:b}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const g=c.map(h=>{const _=`${d(h.collection.title)} #${h.uid.slice(0,4)}`,f=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display="block"),S.style.boxShadow="0 0 10px rgba(0, 0, 0, 0.2)",S.scrollIntoView({behavior:"smooth",block:"center"})},v=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display=null),S.style.boxShadow="none"};if(isSameCollection(h.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===h.uid),onChange:S=>{S?u.push({uid:h.uid}):(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid);const b=u.find(S=>S.uid===h.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(b==null?void 0:b.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),h).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,h).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)):(u=u.filter(C=>C.uid!==h.uid),u.push({uid:h.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:g.length?g:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:g,addonBefore:h,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:g||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:h},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const b={"x-uid":r["x-uid"]};b["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),b["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const C=S.join(".");i.query(`${C}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:b}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:g,setNodeRef:h}=p,_=x({},a);return g&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[i==="a"?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:h,style:_}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),common=Object.freeze(Object.defineProperty({__proto__:null,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||c;const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]);return(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),g=h=>h!=null&&!Number.isNaN(h);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},p),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit:h=>{var _;const f=[];for(const S of h.rules)f.push(import_lodash.default.pickBy(S,g));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const b=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=b,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:g=>{const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=g,h["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=g,l.emit("patch",{schema:h}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,g,h;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(g=t["x-component-props"])!=null&&g.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(h=_.schema)==null?void 0:h["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(g=>!(g!=null&&g.target)&&g.type!=="boolean").map(g=>{var h;return{value:g==null?void 0:g.name,label:m((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||(g==null?void 0:g.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:g=>{var h,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(h=d==null?void 0:d.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:g});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o}=useCollectionManager_deprecated(),r=(0,import_react.useForm)(),i=(0,import_react.useFieldSchema)(),n=useVariables$1(),a=(0,import_react.useField)(),{formValue:l}=useSubFormValue(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},{getAssociationAppends:m}=useAssociationNames(),d=i.name.toString(),p=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);p.current==null&&isDisplayField(d)&&(p.current=o(`${t}.${d}`)),g.current==null&&isDisplayField(d)&&(g.current=o(`${t}.${d.split(".")[0]}`));const h=(0,import_react2.useMemo)(()=>!isDisplayField(d)||!n||t==="fields"||!p.current,[d,n,t,p.current]),_=h?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(c||u?l:r.values)),f=isDisplayField(d)&&g.current?import_lodash.default.get(_,`${d.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{if(h||import_lodash.default.isEmpty(_))return;const v={name:"$nForm",ctx:_,collectionName:t},b=`{{ $nForm.${d} }}`;if(f==null)return;const{appends:S}=m();n.parseVariable(b,v,{appends:S}).then(({value:C})=>{(0,import_client.nextTick)(()=>{const y=transformVariableValue(C,{targetCollectionField:p.current});import_lodash.default.isEmpty(y)&&!import_lodash.default.isNumber(y)?a.value=null:(a.value=y,a.componentProps=P(x({},a.componentProps),{readOnlySubmit:!0}))})}).catch(C=>{console.error(C)})},[f,h])};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var g,h;return(h=(g=u==null?void 0:u.data)==null?void 0:g.filter)==null?void 0:h.call(g,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:g,defaultValue:h}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:b}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:C}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:C||a,collectionName:j},{name:"$form",ctx:C,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:g,defaultValue:h},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:b},{name:"$nForm",ctx:C,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,C,c,u,m,d,_,p,g,S,n,i,y,h,b,o,t,r,F])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(!e)return;const o=e["x-linkage-rules"]||((t=e==null?void 0:e.parent)==null?void 0:t["x-linkage-rules"])||[];return o==null?void 0:o.filter(r=>!r.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),g=useRecordIndex(),{type:h,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),b=(0,import_react2.useCallback)(S=>{let C=o==null?void 0:o.getVariable(S);return C||(C=r.find(y=>y.name===S)),C},[r,o]);(0,import_react2.useEffect)(()=>{var S,C;if(h==="update"&&t.default&&e.form===_&&((C=e.setValue)==null||C.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>V(void 0,[...j],function*({forceUpdate:k=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||k)){e.loading=!0;const R=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:O="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(R!=null&&R.target&&w&&R.target!==w&&!isInherit({collectionName:R.target,targetCollectionName:w,dm:v,dataSource:O})){e.loading=!1;return}const D=transformVariableValue(N,{targetCollectionField:R});D==null||D===""?e.mounted&&(e.setInitialValue(null),yield e.reset({forceClear:!0})):d()?g===0&&p(D):e.setInitialValue(D),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),k=b(j);return k?(y(),(0,import_reactive.reaction)(()=>{const R={[j]:(k==null?void 0:k.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(R,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,h,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
621
621
  & .ant-space {
622
622
  flex-wrap: wrap;
623
623
  }
@@ -661,7 +661,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
661
661
  console.error(error);
662
662
  return false;
663
663
  }
664
- }}}`,message:'{{t("Invalid JSON format")}}'},requestSettingsSchema={type:"object",properties:{url:{type:"string",title:'{{t("Request URL")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},method:{type:"string",title:'{{t("Request method")}}',"x-decorator":"FormItem","x-component":"Select",default:"POST",enum:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},headers:{type:"string",title:'{{t("Request headers")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},params:{type:"string",title:'{{t("Request query parameters")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},data:{type:"string",title:'{{t("Request body")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1}}},linkageAction=(e,t)=>V(void 0,[e,t],function*({operator:o,field:r,condition:i,variables:n,localVariables:a},l){var c,u,m;const d=((c=r==null?void 0:r.stateOfLinkageRules)==null?void 0:c.disabled)||[!1],p=((u=r==null?void 0:r.stateOfLinkageRules)==null?void 0:u.display)||["visible"];switch(o){case ActionType.Visible:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))&&(p.push(o),r.data=r.data||{},r.data.hidden=!1),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{display:p}),r.display=(0,import_lodash.last)(p);break;case ActionType.Hidden:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))?(r.data=r.data||{},r.data.hidden=!0):(r.data=r.data||{},r.data.hidden=!1);break;case ActionType.Disabled:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))&&d.push(!0),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:d}),r.disabled=(0,import_lodash.last)(d),r.componentProps.disabled=(0,import_lodash.last)(d);break;case ActionType.Active:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))?d.push(!1):d.push(!!((m=r.componentProps)!=null&&m.disabled)),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:d}),r.disabled=(0,import_lodash.last)(d),r.componentProps.disabled=(0,import_lodash.last)(d);break;default:return null}}),setInitialActionState=e=>{e.data=e.data||{},e.display="visible",e.disabled=!1,e.data.hidden=!1,e.componentProps.disabled=!1},MenuGroup=e=>e.children;function ButtonEditor$1(e){var t,o,r,i;const n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(e==null?void 0:e.isLink)||a["x-component"]==="Action.Link";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Edit button"),schema:{type:"object",title:c("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:c("Button title"),default:a.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:c("Button icon"),default:(t=a==null?void 0:a["x-component-props"])==null?void 0:t.icon,"x-component-props":{},"x-visible":!u},iconColor:{title:c("Color"),required:!0,default:((o=a==null?void 0:a["x-component-props"])==null?void 0:o.iconColor)||"#1677FF","x-hidden":!e.hasIconColor,"x-component":"ColorPicker","x-decorator":"FormItem"},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:c("Button background color"),default:(r=a==null?void 0:a["x-component-props"])!=null&&r.danger?"danger":((i=a==null?void 0:a["x-component-props"])==null?void 0:i.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}],"x-visible":!e.hasIconColor&&!u}}},onSubmit:({title:m,icon:d,type:p,iconColor:g})=>{n.address.toString()===a.name?(n.title=m,n.componentProps.iconColor=g,n.componentProps.icon=d,n.componentProps.danger=p==="danger",n.componentProps.type=p||n.componentProps.type):n.form.query(new RegExp(`.${a.name}$`)).forEach(h=>{h.title=m,h.componentProps.iconColor=g,h.componentProps.icon=d,h.componentProps.danger=p==="danger",h.componentProps.type=p||h.componentProps.type}),a.title=m,a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"].iconColor=g,a["x-component-props"].icon=d,a["x-component-props"].danger=p==="danger",a["x-component-props"].type=p||n.componentProps.type,l.emit("patch",{schema:{"x-uid":a["x-uid"],title:m,"x-component-props":x({},a["x-component-props"])}}),l.refresh()}})}function AssignedFieldValues(){var e,t,o;const{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),a={type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid","x-initializer":"assignFieldValuesForm:configureFields"},l={"customize:update":i("After clicking the custom button, the following fields of the current record will be saved according to the following form."),"customize:save":i("After clicking the custom button, the following fields of the current record will be saved according to the following form.")},c=(e=n["x-action"])!=null?e:"",u=(0,import_react2.useCallback)(m=>{n["x-action-settings"].assignedValues=m,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}})},[r,n]);return(0,import_jsx_runtime.jsx)(FlagProvider,{isInAssignFieldValues:!0,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:i("Assign field values"),initialSchema:a,initialValues:(t=n==null?void 0:n["x-action-settings"])==null?void 0:t.assignedValues,modalTip:l[c],uid:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.schemaUid,onSubmit:u})})})}function RequestSettings(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:o("Request settings"),schema:requestSettingsSchema,initialValues:(e=r==null?void 0:r["x-action-settings"])==null?void 0:e.requestSettings,onSubmit:i=>{r["x-action-settings"].requestSettings=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}}),t.refresh()}})}function SkipValidation(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Skip required validation"),checked:!!((e=r==null?void 0:r["x-action-settings"])!=null&&e.skipValidator),onChange:i=>{r["x-action-settings"].skipValidator=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":x({},r["x-action-settings"])}})}})}function AfterSuccess(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{onSuccess:r}=(o==null?void 0:o["x-action-settings"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:t("After successful submission"),initialValues:r?x({actionAfterSuccess:r!=null&&r.redirecting?"redirect":"previous"},r):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:t("After successful submission"),properties:{successMessage:{title:t("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:t("Message popup close method"),enum:[{label:t("Automatic close"),value:!1},{label:t("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:t("Then"),"x-hidden":!0,enum:[{label:t("Stay on current page"),value:!1},{label:t("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:t("Action after successful submission"),enum:[{label:t("Stay on the current popup or page"),value:"stay"},{label:t("Return to the previous popup or page"),value:"previous"},{label:t("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:t("Link"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:i=>{o["x-action-settings"].onSuccess=i,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-action-settings":o["x-action-settings"]}})}})}function RemoveButton(e={}){const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)();return(o==null?void 0:o.parent["x-component"])!=="CollectionField"&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:r=>r["x-component"]==="Space"||r["x-component"].endsWith("ActionBar"),disabled:e.disabled,confirm:{title:t("Delete action"),onOk:e.onConfirmOk}})]})}const actionSettingsItems=[{name:"Customize",Component:MenuGroup,children:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:e=>(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},e)),useVisible(){const e=useLinkageAction(),{linkageAction:t}=useSchemaToolbar();return t||e},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),t=(0,import_react.useFieldSchema)(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o&&!e,openSize:o&&!e}}},{name:"secondConFirm",Component:SecondConFirm,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return!["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"")&&!((e=t==null?void 0:t["x-action-settings"])!=null&&e.disableSecondConFirm)}},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.assignedValues)}},{name:"requestSettings",Component:RequestSettings,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.requestSettings)}},{name:"skipValidator",Component:SkipValidation,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.skipValidator)}},{name:"afterSuccess",Component:AfterSuccess,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.onSuccess)}},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getChildrenCollections:o}=useCollectionManager_deprecated();return o(t).length>0&&e["x-action"]==="create"},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.triggerWorkflows)}},{type:"switch",name:"clearDefaultValue",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Clear default value"),checked:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.clearDefaultValue,onChange:i=>{r.deepMerge({"x-uid":o["x-uid"],"x-component-props":{clearDefaultValue:i}})}}},useVisible(){return(0,import_react.useFieldSchema)()["x-use-component-props"]==="useResetBlockActionProps"}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.removable)!==!1}}]}];function SecondConFirm(){var e,t,o,r,i,n,a,l;const{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react.useField)(),p=useCompile();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:m("Secondary confirmation"),initialValues:{title:p((t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.confirm)==null?void 0:t.title)||m("Perform the {{title}}",{title:p(u.title)}),content:p((r=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.confirm)==null?void 0:r.content)||m("Are you sure you want to perform the {{title}} action?",{title:p(u.title)})},schema:{type:"object",title:m("Secondary confirmation"),properties:{enable:{"x-decorator":"FormItem","x-component":"Checkbox","x-content":m("Enable secondary confirmation"),default:((n=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.confirm)==null?void 0:n.enable)!==!1&&!!((l=(a=u==null?void 0:u["x-component-props"])==null?void 0:a.confirm)!=null&&l.content),"x-component-props":{}},title:{"x-decorator":"FormItem","x-component":"Input.TextArea",title:m("Title"),"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}},content:{"x-decorator":"FormItem","x-component":"Input.TextArea",title:m("Content"),"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}}}},onSubmit:({enable:g,title:h,content:_})=>{var f;u["x-component-props"]=u["x-component-props"]||{},u["x-component-props"].confirm={},u["x-component-props"].confirm.enable=g,u["x-component-props"].confirm.title=h,u["x-component-props"].confirm.content=_,d.componentProps.confirm=x({},(f=u["x-component-props"])==null?void 0:f.confirm),c.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":x({},u["x-component-props"])}}),c.refresh()}})}const actionSettings=new SchemaSettings({name:"ActionSettings",items:actionSettingsItems}),ActionDesigner=e=>{const t=e,{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a,schemaSettings:l="ActionSettings",enableDrag:c=!0}=t,u=Y(t,["modalTip","linkageAction","removeButtonProps","buttonEditorProps","linkageRulesProps","schemaSettings","enableDrag"]),m=useApp(),d=(0,import_react.useFieldSchema)(),p=(d==null?void 0:d.parent["x-component"])!=="CollectionField"&&c,g=`ActionSettings:${d["x-action"]}`,h=l||"ActionSettings",_=m.schemaSettingsManager.has(g);return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,P(x({schemaSettings:_?g:h,contextValue:{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a}},u),{disableInitializer:!0,draggable:p}))};function RefreshDataBlockRequest(e){const{dn:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{refreshDataBlockRequest:i}=(o==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:r("Refresh data on action"),checked:i!==!1,onChange:n=>{o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].refreshDataBlockRequest=n,t.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}})}})}ActionDesigner.ButtonEditor=ButtonEditor$1;ActionDesigner.RemoveButton=RemoveButton;const addChildActionSettings=new SchemaSettings({name:"actionSettings:addChild",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"delete",type:"remove"}]}),addNewActionSettings=new SchemaSettings({name:"actionSettings:addNew",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}},useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeAddRecordActionSettings=new SchemaSettings({name:"actionSettings:addRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),bulkDeleteActionSettings=new SchemaSettings({name:"actionSettings:bulkDelete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),deleteActionSettings=new SchemaSettings({name:"actionSettings:delete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",type:"remove"}]}),disassociateActionSettings=new SchemaSettings({name:"actionSettings:disassociate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]}),associateActionSettings=new SchemaSettings({name:"actionSettings:associate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]});function ButtonEditor(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),{titleExpand:a,titleCollapse:l,iconExpand:c,iconCollapse:u}=r["x-component-props"]||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{titleExpand:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Expand all")}`,default:a},titleCollapse:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Collapse all")}`,default:l},iconExpand:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Expand all")}`,default:c},iconCollapse:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Collapse all")}`,default:u},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:n("Button background color"),default:(e=r==null?void 0:r["x-component-props"])!=null&&e.danger?"danger":((t=r==null?void 0:r["x-component-props"])==null?void 0:t.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}]}}},onSubmit:({titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:g,type:h})=>{r.title=n("Expand/Collapse"),o.title=n("Expand/Collapse"),o.componentProps.icon=p,o.componentProps.danger=h==="danger",o.componentProps.type=h,r["x-component-props"]=P(x({},r["x-component-props"]||{}),{titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:g,type:h,danger:h==="danger"}),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"],title:r.title}}),i.refresh()}})}const expendableActionSettings=new SchemaSettings({name:"actionSettings:expendable",items:[{name:"editButton",Component:ButtonEditor,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),filterActionSettings=new SchemaSettings({name:"actionSettings:filter",items:[{name:"FilterableFields",Component:FilterableFieldsSchemaSettingsItem},{name:"divider",type:"divider"},{name:"EditButton",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return{title:i("Edit button"),schema:{type:"object",title:i("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Button title"),default:o.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:i("Button icon"),default:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.icon,"x-component-props":{}}}},onSubmit:({title:n,icon:a})=>{o.title=n,t.title=n,t.componentProps.icon=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].icon=a,r.emit("patch",{schema:{"x-uid":o["x-uid"],title:n,"x-component-props":x({},o["x-component-props"])}}),r.refresh()}}}},{name:"divider2",type:"divider"},{name:"delete",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:e=>e["x-component"]==="Space"||e["x-component"]==="ActionBar"}}]}),SchemaSettingsActionLinkItem=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{urlSchema:i,paramsSchema:n,openInNewWindowSchema:a}=useURLAndHTMLSchema(),l=t["x-component-props"]||{},c={url:l.url,params:l.params||[{}],openInNewWindow:l.openInNewWindow};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit link"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Edit link"),properties:{url:P(x({},i),{required:!0}),params:n,openInNewWindow:a}},onSubmit:({url:u,params:m,openInNewWindow:d})=>{l.url=u,l.params=m,l.openInNewWindow=d,t["x-component-props"]=l,e.componentProps.url=u,e.componentProps.params=m,e.componentProps.openInNewWindow=d,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":l}}),o.refresh()},initialValues:c})},customizeLinkActionSettings=new SchemaSettings({name:"actionSettings:link",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"editLink",Component:SchemaSettingsActionLinkItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useVisible(){const e=useCollectionRecord();return!import_lodash.default.isEmpty(e==null?void 0:e.data)},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),refreshActionSettings=new SchemaSettings({name:"actionSettings:refresh",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeSaveRecordActionSettings=new SchemaSettings({name:"actionSettings:saveRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"skipRequiredValidation",Component:SkipValidation},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),updateSubmitActionSettings=new SchemaSettings({name:"actionSettings:updateSubmit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})},useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"skipRequiredValidation",Component:SkipValidation,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),submitActionSettings=new SchemaSettings({name:"actionSettings:submit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeUpdateRecordActionSettings=new SchemaSettings({name:"actionSettings:updateRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizePopupActionSettings=new SchemaSettings({name:"actionSettings:popup",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})},useVisible(){const{collection:e}=useCurrentPopupRecord()||{},t=useCollection();return!e||(e==null?void 0:e.name)===(t==null?void 0:t.name)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),editActionSettings=new SchemaSettings({name:"actionSettings:edit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",type:"remove"}]}),viewActionSettings=new SchemaSettings({name:"actionSettings:view",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),commonItems$1=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e,readPretty:!0}}},{name:"dataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),{service:l}=useDetailsBlockContext();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,noRecord:!0,onSubmit:({filter:c})=>{c=removeNullCondition(c);const u=n.decoratorProps.params||{};u.filter=c,n.decoratorProps.params=u,r["x-decorator-props"].params=u,a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}}),l.params[0].page=1}}}},{name:"sortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{service:a}=useDetailsBlockContext(),{dn:l}=useDesignable(),c=useSortFields(o),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:c,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit({sort:d}){var p;const g=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),h=n.decoratorProps.params||{};h.sort=g,n.decoratorProps.params=h,i["x-decorator-props"].params=h,l.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:g}))}}}},setDataLoadingModeSettingsItem,{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Details`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],multiDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:multiDataDetails",items:commonItems$1}),detailsWithPaginationSettings=new SchemaSettings({name:"blockSettings:detailsWithPagination",items:commonItems$1}),commonItems=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection();return{collectionName:e,readPretty:!0}}},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{insertAdjacentPosition:"beforeEnd",componentName:`${i}ReadPrettyFormItem`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],singleDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:singleDataDetails",items:commonItems}),detailsBlockSettings=new SchemaSettings({name:"blockSettings:details",items:commonItems}),createFormBlockSettings=new SchemaSettings({name:"blockSettings:createForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return!e&&(t==null?void 0:t["x-acl-action"].includes("create"))},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),editFormBlockSettings=new SchemaSettings({name:"blockSettings:editForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext();return!e},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentSettingsItem={name:"fieldComponent",type:"select",useVisible(){const e=useCollectionField(),t=useDataSourceManager();if(!e)return!1;const o=t.collectionFieldInterfaceManager.getFieldInterface(e==null?void 0:e.interface);return Array.isArray(o==null?void 0:o.componentOptions)&&o.componentOptions.length>1&&o.componentOptions.filter(r=>!r.useVisible||r.useVisible()).length>1},useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useCollectionField(),c=useDataSourceManager().collectionFieldInterfaceManager.getFieldInterface(l==null?void 0:l.interface),{fieldSchema:u}=useColumnSchema$1(),m=u||a,{dn:d}=useDesignable(),p=useCompile(),g=((t=(e=c==null?void 0:c.componentOptions)==null?void 0:e.filter(h=>!h.useVisible||h.useVisible()))==null?void 0:t.map(h=>({label:p(h.label),value:h.value,useProps:h.useProps})))||[];return{title:i("Field component"),options:g,value:((o=m["x-component-props"])==null?void 0:o.component)||((r=g[0])==null?void 0:r.value),onChange(h){var _;const f=g.find(b=>b.value===h),v=x({component:h},((_=f==null?void 0:f.useProps)==null?void 0:_.call(f))||{});import_lodash.default.set(m,"x-component-props",v),n.componentProps=v,d.emit("patch",{schema:{"x-uid":m["x-uid"],"x-component-props":v}})}}}},fieldSettingsFormItem=new SchemaSettings({name:"fieldSettings:FormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCompile(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(i.name)||a(i["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=n(d),i.title=d,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Display title"),checked:(e=r.decoratorProps.showTitle)!=null?e:!0,onChange(n){i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].showTitle=n,r.decoratorProps.showTitle=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":P(x({},i["x-decorator-props"]),{showTitle:n})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}})}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"required",type:"switch",useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&o},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable();return{title:e("Required"),checked:t.required,onChange(n){const a={"x-uid":o["x-uid"]};t.required=n,o.required=n,a.required=n,r.emit("patch",{schema:a}),i()}}}},{name:"setDefaultValue",useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()},Component:SchemaSettingsDefaultValue},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const g={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=h,t.required=o.required,o["x-validator"]=p,g["x-validator"]=p,r.emit("patch",{schema:g}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){return useIsFieldReadPretty()},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${t}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),pageSizeOptions$2=[12,24,60,96,120],gridSizes=["xs","md","lg","xxl"],screenSizeTitleMaps={xs:"Phone device",md:"Tablet device",lg:"Desktop device",xxl:"Large screen device"},screenSizeMaps={xs:"< 768",md:"≥ 768",lg:"≥ 992",xxl:"≥ 1600"},defaultColumnCount={xs:1,md:2,lg:3,xxl:4},columnCountMarks=[1,2,3,4,6,8,12,24].reduce((e,t)=>(e[t]=t,e),{}),GridCardDesigner=()=>{var e,t,o,r,i,n,a,l;const{name:c,title:u}=useCollection_deprecated(),m=useSchemaTemplate(),{t:d}=(0,import_react_i18next.useTranslation)(),p=(0,import_react.useFieldSchema)(),{form:g}=useFormBlockContext(),h=(0,import_react.useField)(),{dn:_}=useDesignable(),f=useSortFields(c),{componentNamePrefix:v}=useBlockTemplateContext(),b=((t=(e=p==null?void 0:p["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],S=((o=p==null?void 0:p["x-decorator-props"])==null?void 0:o.resource)||((r=p==null?void 0:p["x-decorator-props"])==null?void 0:r.association),C=b==null?void 0:b.map(y=>y.startsWith("-")?{field:y.substring(1),direction:"desc"}:{field:y,direction:"asc"});return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{template:m,title:u||c,children:(0,import_jsx_runtime.jsxs)(SchemaComponentOptions,{components:{Slider:import_antd.Slider},children:[(0,import_jsx_runtime.jsx)(SetTheCountOfColumnsDisplayedInARow,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:c,defaultFilter:((n=(i=p==null?void 0:p["x-decorator-props"])==null?void 0:i.params)==null?void 0:n.filter)||{},form:g,onSubmit:({filter:y})=>{y=removeNullCondition(y),import_lodash.default.set(p,"x-decorator-props.params.filter",y),h.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:d("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:d("Set default sorting rules"),properties:{sort:{type:"array",default:C,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:f,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:d("ASC"),value:"asc"},{label:d("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:d("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:y})=>{const F=y.map(j=>j.direction==="desc"?`-${j.field}`:j.field);import_lodash.default.set(p,"x-decorator-props.params.sort",F),h.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SetDataLoadingMode,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:d("Records per page"),value:((l=(a=h.decoratorProps)==null?void 0:a.params)==null?void 0:l.pageSize)||20,options:pageSizeOptions$2.map(y=>({value:y})),onChange:y=>{import_lodash.default.set(p,"x-decorator-props.params.pageSize",y),h.decoratorProps.params=P(x({},p["x-decorator-props"].params),{page:1}),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${v}GridCard`,collectionName:c,resourceName:S}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})})};function SetTheCountOfColumnsDisplayedInARow(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{dn:r}=useDesignable(),i=o.decoratorProps.columnCount||defaultColumnCount,n=(0,import_react2.useMemo)(()=>({"x-component":"Slider","x-decorator":"FormItem","x-component-props":{min:1,max:24,marks:columnCountMarks,tooltip:{formatter:l=>`${l}${e("Column")}`},step:null}}),[e]),a=(0,import_react2.useMemo)(()=>gridSizes.reduce((l,c)=>(l[c]=P(x({},n),{title:e(screenSizeTitleMaps[c]),description:`${e("Screen size")} ${screenSizeMaps[c]} ${e("pixels")}`}),l),{}),[n,e]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Set the count of columns displayed in a row"),initialValues:i,schema:{type:"object",title:e("Set the count of columns displayed in a row"),properties:a},onSubmit:l=>{import_lodash.default.set(t,"x-decorator-props.columnCount",l),o.decoratorProps.columnCount=l,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}})}const gridCardBlockSettings=new SchemaSettings({name:"blockSettings:gridCard",items:[{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"SetTheCountOfColumnsDisplayedInARow",Component:SetTheCountOfColumnsDisplayedInARow},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=x({},r["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=x({},i["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:pageSizeOptions$2.map(a=>({value:a})),onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}GridCard`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),listBlockSettings=new SchemaSettings({name:"blockSettings:list",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=P(x({},i["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}List`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),tableSelectorBlockSettings=new SchemaSettings({name:"blockSettings:tableSelector",items:[{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps:()=>{var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{form:n}=useFormBlockContext(),{service:a,extraFilter:l}=useTableSelectorContext(),{dn:c}=useDesignable(),u=useDataLoadingMode(),m=(0,import_react2.useCallback)(({filter:d})=>{d=removeNullCondition(d);const p=r.decoratorProps.params||{};p.filter=d,r.decoratorProps.params=p,i["x-decorator-props"].params=p,(0,import_lodash.cloneDeep)(d),c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})},[r.decoratorProps,i,l,u,c,a]);return{collectionName:o,defaultFilter:((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:n,onSubmit:m}}},{name:"treeTable",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{service:o}=useTableSelectorContext(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Tree table"),defaultChecked:!0,checked:e.decoratorProps.treeTable,onChange:n=>{var a;e.form.clearFormGraph(`${e.address}.*`),e.decoratorProps.treeTable=n,t["x-decorator-props"].treeTable=n;const l=P(x({},(a=o.params)==null?void 0:a[0]),{tree:n?!0:null});i.emit("patch",{schema:t}),i.refresh(),o.run(l)}}},useVisible:()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)(),o=useCollection_deprecated(),r=recursiveParent$1(t,"CollectionField"),i=e(r==null?void 0:r["x-collection-field"]);return(o==null?void 0:o.tree)&&(i==null?void 0:i.target)===(i==null?void 0:i.collectionName)}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useSortFields(o),{service:a}=useTableSelectorContext(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c}=useDesignable(),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{var p;const g=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),h=r.decoratorProps.params||{};h.sort=g,r.decoratorProps.params=h,i["x-decorator-props"].params=h,c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:g}))}}},useVisible(){const e=(0,import_react.useField)(),{dragSort:t}=e.decoratorProps;return!t}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableSelectorContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),useCollection_deprecated=()=>{var e;const t=useCollection(),o=useAPIClient(),r=o==null?void 0:o.resource(t==null?void 0:t.name),i=(0,import_react2.useMemo)(()=>(t==null?void 0:t.fields)||[],[t]),n=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getInheritedFields)==null?void 0:d.call(t))||[]},[t]),a=(0,import_react2.useMemo)(()=>{var d,p;return((d=t==null?void 0:t.getAllFields)==null?void 0:d.call(t))||((p=t==null?void 0:t.getFields)==null?void 0:p.call(t))||[]},[t]),l=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getForeignKeyFields)==null?void 0:d.call(t))||[]},[t]),c=(0,import_react2.useCallback)(()=>a==null?void 0:a.find(d=>d.treeParent),[a]),u=(0,import_react2.useCallback)(d=>{var p;return(p=t==null?void 0:t.getField)==null?void 0:p.call(t,d)},[t]),m=(0,import_react2.useCallback)(()=>t==null?void 0:t.getPrimaryKey(),[t]);return P(x({},(e=t==null?void 0:t.getOptions)==null?void 0:e.call(t)),{resource:r,getTreeParentField:c,fields:a,getField:u,getPrimaryKey:m,currentFields:i,inheritedFields:n,foreignKeyFields:l})};function SchemaSettingsSortField(){const{fields:e}=useCollection_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useCompile(),{service:a,association:l}=useTableBlockContext(),{getCollectionJoinField:c}=useCollectionManager_deprecated(),u=c(l),m=e.filter(d=>!(d!=null&&d.target)&&d.interface==="sort").map(d=>{var p;return{value:d==null?void 0:d.name,label:n((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||(d==null?void 0:d.name),disabled:(d==null?void 0:d.scopeKey)&&(u==null?void 0:u.foreignKey)!==d.scopeKey}});return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Drag and drop sorting field"),options:m,value:t.decoratorProps.dragSortBy,onChange:d=>{var p;o["x-decorator-props"].dragSortBy=d,a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:d})),t.decoratorProps.dragSortBy=d,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"sort-field")}const tableBlockSettings=new SchemaSettings({name:"blockSettings:table",items:[{name:"editBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"treeTable",type:"switch",useComponentProps:()=>{var e;const{getCollectionField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{service:n}=useTableBlockContext(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCollection_deprecated(),{resource:u}=r.decoratorProps,m=u&&t(u),d=u!=null&&u.includes(".")?(e=o(m==null?void 0:m.target))==null?void 0:e.tree:!!(c!=null&&c.tree);return{title:a("Tree table"),defaultChecked:!0,checked:d?r.decoratorProps.treeTable:!1,onChange:p=>{var g;r.decoratorProps.treeTable=p,i["x-decorator-props"].treeTable=p,p===!1&&(i["x-decorator-props"].expandFlag=!1);const h=P(x({},(g=n.params)==null?void 0:g[0]),{tree:p?!0:null});l.emit("patch",{schema:i}),l.refresh(),n.run(h)}}},useVisible:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=useCollection_deprecated(),{resource:r}=t.decoratorProps,i=r&&e(r);return(o==null?void 0:o.tree)&&(i==null?void 0:i.collectionName)===(i==null?void 0:i.target)}},createSwitchSettingsItem({name:"expandFlag",title:e=>e("Expand All"),defaultValue:!1,schemaKey:"x-decorator-props.expandFlag",useVisible(){return(0,import_react.useField)().decoratorProps.treeTable}}),{name:"enableDragAndDropSorting",type:"switch",useComponentProps:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{service:r}=useTableBlockContext(),{t:i}=(0,import_react_i18next.useTranslation)(),{dn:n}=useDesignable(),{resource:a}=t.decoratorProps,l=a&&e(a),c=useAPIClient();return{title:i("Enable drag and drop sorting"),checked:t.decoratorProps.dragSort,onChange:u=>V(void 0,null,function*(){var m,d,p;if(u&&l){const{data:g}=yield c.resource("collections.fields",l.collectionName).update({filterByTk:l.name,values:{sortable:!0}}),h=(d=(m=g==null?void 0:g.data)==null?void 0:m[0])==null?void 0:d.sortBy;o["x-decorator-props"].dragSortBy=h}t.decoratorProps.dragSort=u,o["x-decorator-props"].dragSort=u,r.run(P(x({},(p=r.params)==null?void 0:p[0]),{sort:o["x-decorator-props"].dragSortBy})),n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}})})}}},{name:"SortField",Component:SchemaSettingsSortField,useVisible(){return(0,import_react.useField)().decoratorProps.dragSort}},setTheDataScopeSchemaSettingsItem,setDefaultSortingRulesSchemaSettingsItem,setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableBlockContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"tableSize",type:"select",useComponentProps(){var e;(0,import_react.useField)();const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=t.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2")return a},null);return{title:o("Table size"),value:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.size)||"small",options:[{label:o("Large"),value:"large"},{label:o("Middle"),value:"middle"},{label:o("Small"),value:"small"}],onChange:n=>{i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].size=n,r.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.TABLE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider",sort:7e3,useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"ConvertReferenceToDuplicate",sort:8e3,Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Table`,collectionName:o,resourceName:n}},useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"divider2",type:"divider",sort:9e3},{name:"delete",type:"remove",sort:1e4,useComponentProps:()=>({removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})}]}),tableColumnSettings=new SchemaSettings({name:"fieldSettings:TableColumn",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},children:[{name:"customColumnTitle",type:"modal",useComponentProps(){var e;const{fieldSchema:t,collectionField:o}=useColumnSchema$1(),r=(0,import_react.useField)(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),{dn:a}=useDesignable();return{title:i("Custom column title"),schema:{type:"object",title:i("Custom column title"),properties:{title:{title:i("Column title"),default:n==null?void 0:n.title,description:`${i("Original field title: ")}${((e=o==null?void 0:o.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{r.title=l,n.title=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),a.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.tooltip)||"","x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.componentProps.tooltip=n,i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){var e,t;const{fieldSchema:o}=useColumnSchema$1(),{isInSubTable:r}=useFlag(),i=(0,import_react.useField)();if(!r)return!0;const n=(t=i.path)==null?void 0:t.splice(((e=i.path)==null?void 0:e.length)-1,1);return o?i.form.query(`${n.concat("*."+o.name)}`).get("readPretty"):!1},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"columnWidth",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:o("Column width"),schema:{type:"object",title:o("Column width"),properties:{width:{default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:n})=>{const a=r["x-component-props"]||{};a.width=n;const l={"x-uid":r["x-uid"]};l["x-component-props"]=a,r["x-component-props"]=a,t.componentProps.width=n,i.emit("patch",{schema:l}),i.refresh()}}}},{name:"sortable",type:"switch",useVisible(){const e=useCollection(),{collectionField:t}=useColumnSchema$1(),{getInterface:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.interface),{currentMode:i}=useAssociationFieldContext();return(r==null?void 0:r.sortable)===!0&&!i&&((e==null?void 0:e.name)===(t==null?void 0:t.collectionName)||!(t!=null&&t.collectionName)||(t==null?void 0:t.inherit))},useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Sortable"),checked:e.componentProps.sorter,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{sorter:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.sorter=i,r.emit("patch",{schema:n}),r.refresh()}}}},{name:"setDefaultValue",useVisible(){const{fieldSchema:e}=useColumnSchema$1();return e?!(e!=null&&e["x-read-pretty"]):!1},Component:SchemaSettingsDefaultValue,useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}}},{name:"required",type:"switch",useVisible(){const{uiSchema:e,fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useField)();return t?["QuickEdit","FormItem"].includes(t["x-decorator"])&&!o.readPretty&&!(e!=null&&e["x-read-pretty"]):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{key:"required",title:o("Required"),checked:e==null?void 0:e.required,onChange:i=>{var n,a;if(!e)return console.error("fieldSchema is required");const l={"x-uid":e["x-uid"]};e.required=i,l.required=i;const c=(a=t.path)==null?void 0:a.splice(((n=t.path)==null?void 0:n.length)-1,1);t.form.query(`${c.concat("*."+e.name)}`).forEach(u=>{u.required=i}),r.emit("patch",{schema:l}),r.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{fieldSchema:e,collectionField:t}=useColumnSchema$1(),o=(0,import_react.useField)();return e?["QuickEdit","FormItem"].includes(e["x-decorator"])&&!(o!=null&&o.readPretty)&&(t==null?void 0:t.interface)!=="o2m"&&!isPatternDisabled(e):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();let i="editable";return e?(e["x-disabled"]===!0&&(i="readonly"),e["x-read-pretty"]===!0&&(i="read-pretty"),{key:"pattern",title:o("Pattern"),options:[{label:o("Editable"),value:"editable"},{label:o("Readonly"),value:"readonly"},{label:o("Easy-reading"),value:"read-pretty"}],value:i,onChange:n=>{var a,l;const c={"x-uid":e["x-uid"]},u=(l=t.path)==null?void 0:l.splice(((a=t.path)==null?void 0:a.length)-1,1);switch(n){case"readonly":{e["x-read-pretty"]=!1,e["x-disabled"]=!0,c["x-read-pretty"]=!1,c["x-disabled"]=!0,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readonly=!0,m.disabled=!0});break}case"read-pretty":{e["x-read-pretty"]=!0,e["x-disabled"]=!1,c["x-read-pretty"]=!0,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!0});break}default:{e["x-read-pretty"]=!1,e["x-disabled"]=!1,c["x-read-pretty"]=!1,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!1,m.disabled+!1});break}}r.emit("patch",{schema:c}),r.refresh()}}):console.error("fieldSchema is required")}},{name:"fixed",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Fixed"),options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}],value:((e=o.componentProps)==null?void 0:e.fixed)||"none",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].fixed=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.fixed=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"hidden",type:"switch",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:(0,import_jsx_runtime.jsxs)("span",{children:[t("Hide column"),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:t("In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect."),children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{marginLeft:4,opacity:.65}})})]}),checked:e.componentProps.columnHidden,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{columnHidden:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.columnHidden=i,r.emit("patch",{schema:n}),r.refresh()}}}},fieldComponentSettingsItem]},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o={Select:"Select",DatePicker:"DatePicker",Nester:"Nester",SubTable:"SubTable",Picker:"Picker",PopoverNester:"PopoverNester",Tag:"Tag"},r=e.schemaSettingsManager.get(`fieldSettings:component:${o[t]||t}`);return(r==null?void 0:r.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!1,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseBlockSettings=new SchemaSettings({name:"blockSettings:filterCollapse",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}FilterCollapse`,collectionName:o,resourceName:n}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.COLLAPSE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterCollapseItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"customTitle",type:"modal",useComponentProps(){var e;const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),{getField:i}=useCollection_deprecated(),n=i(t.name)||r(t["x-collection-field"]),{dn:a}=useDesignable();return{title:o("Custom title"),schema:{type:"object",title:o("Custom title"),properties:{title:{default:t==null?void 0:t.title,description:`${o("Original title: ")}${((e=n==null?void 0:n.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{l&&(t.title=l,a.emit("patch",{schema:{"x-uid":t["x-uid"],title:t.title}})),a.refresh()}}}},{name:"defaultCollapse",type:"switch",useComponentProps(){const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Default collapse"),checked:t.componentProps.defaultCollapse,onChange:i=>{t.componentProps.defaultCollapse=i,import_lodash.default.set(e,"x-component-props.defaultCollapse",i),r.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]}}),r.refresh()}}}},{name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),{getCollectionJoinField:n}=useCollectionManager_deprecated(),{getField:a}=useCollection_deprecated(),l=a(o.name)||n(o["x-collection-field"]),{dn:c}=useDesignable();return{collectionName:l==null?void 0:l.target,defaultFilter:((t=(e=o==null?void 0:o["x-component-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:r,onSubmit:({filter:u})=>{var m;import_lodash.default.set(i.componentProps,"params",P(x({},(m=i.componentProps)==null?void 0:m.params),{filter:u})),o["x-component-props"].params=i.componentProps.params,c.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultSortingRules",Component:SchemaSettingsDefaultSortingRules,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=o(e.name)||t(e["x-collection-field"]);return{name:r==null?void 0:r.target}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"titleField",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=n(o.name)||i(o["x-collection-field"]),l=useCollectionManager(),c=useCompile(),{dn:u}=useDesignable(),m=(a!=null&&a.target?l.getCollectionFields(a==null?void 0:a.target):[]).filter(p=>!(p!=null&&p.target)&&p.type!=="boolean").map(p=>{var g;return{value:p==null?void 0:p.name,label:c((g=p==null?void 0:p.uiSchema)==null?void 0:g.title)||(p==null?void 0:p.name)}}),d=p=>{var g,h,_;const f={"x-uid":o["x-uid"]},v=P(x(x({},(h=(g=a==null?void 0:a.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),(_=o["x-component-props"])==null?void 0:_.fieldNames),{label:p});o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fieldNames=v,f["x-component-props"]=o["x-component-props"],u.emit("patch",{schema:f}),u.refresh()};return{key:"title-field",title:r("Title field"),options:m,value:(t=(e=o["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange:d}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue,componentProps:{hideVariableButton:!0}}]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterFormBlockSettings=new SchemaSettings({name:"blockSettings:filterForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FilterFormItem`,collectionName:r,resourceName:n}}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"connectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.FORM,emptyDescription:e("No blocks to connect")}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentNameMap=e=>e==="Select"?"FilterSelect":e,filterFormItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=useCompile(),n=(0,import_react.useFieldSchema)(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(n.name)||a(n["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=i(d),n.title=d,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)();return{title:o("Display title"),checked:(t=(e=n["x-decorator-props"])==null?void 0:e.showTitle)!=null?t:!0,onChange(a){n["x-decorator-props"]=n["x-decorator-props"]||{},n["x-decorator-props"].showTitle=a,i.decoratorProps.showTitle=a,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-decorator-props":P(x({},n["x-decorator-props"]),{showTitle:a})}}),r.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}}),t.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const g={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=h,t.required=o.required,o["x-validator"]=p,g["x-validator"]=p,r.emit("patch",{schema:g}),i()}}},useVisible(){return!!useValidateSchema()}},{name:"operator",Component:EditOperator},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${fieldComponentNameMap(t)}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),markdownBlockSettings=new SchemaSettings({name:"blockSettings:markdown",items:[{name:"EditMarkdown",type:"item",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}}},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"setBlockTemplate",Component:SchemaSettingsRenderEngine},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),ellipsisSettingsItem={name:"ellipsis",type:"switch",useComponentProps(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=useTableFieldInstanceList(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),l=t||r,c=t?o[0]?!o[0].readPretty:!t["x-read-pretty"]:!i.readPretty;return{title:a("Ellipsis overflow content"),checked:!!((e=l["x-component-props"])!=null&&e.ellipsis),hidden:c,onChange:u=>V(this,null,function*(){t&&o?o.forEach(m=>{m.componentProps.ellipsis=u}):i.componentProps.ellipsis=u,import_lodash.default.set(l,"x-component-props.ellipsis",u),yield n.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":P(x({},l["x-component-props"]),{ellipsis:u})}})})}}},enableLinkSettingsItem={name:"enableLink",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o,{name:i}=useBlockContext()||{};return i!=="kanban"&&((r==null?void 0:r["x-read-pretty"])||e.readPretty)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableLink,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},openModeSettingsItem={name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return{openMode:!e,openSize:!e,targetSchema:t||o}},useVisible(){var e;const t=(0,import_react.useField)(),{fieldSchema:o}=useColumnSchema$1(),r=(0,import_react.useFieldSchema)(),i=o||r;return((i==null?void 0:i["x-read-pretty"])||t.readPretty)&&((e=i==null?void 0:i["x-component-props"])==null?void 0:e.enableLink)}},inputComponentSettings=new SchemaSettings({name:"fieldSettings:component:Input",items:[ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),enableLink$1={name:"enableLink",type:"switch",useVisible(){return(0,import_react.useField)().readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField$2={name:"titleField",type:"select",useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useTitleFieldOptions(),{uiSchema:c,fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,g=useCollectionField(),h=m||g,_=x(x(x({},(t=(e=h==null?void 0:h.uiSchema)==null?void 0:e["x-component-props"])==null?void 0:t.fieldNames),(o=n==null?void 0:n.componentProps)==null?void 0:o.fieldNames),(r=p==null?void 0:p["x-component-props"])==null?void 0:r.fieldNames);return{title:i("Title field"),options:l,value:_==null?void 0:_.label,onChange(f){var v,b,S,C,y;const F={"x-uid":p["x-uid"]},j=P(x(x({},(b=(v=h==null?void 0:h.uiSchema)==null?void 0:v["x-component-props"])==null?void 0:b.fieldNames),(S=p["x-component-props"])==null?void 0:S.fieldNames),{label:f});p["x-component-props"]=p["x-component-props"]||{},p["x-component-props"].fieldNames=j,F["x-component-props"]=p["x-component-props"],n.componentProps.fieldNames=p["x-component-props"].fieldNames;const k=(y=n.path)==null?void 0:y.splice(((C=n.path)==null?void 0:C.length)-1,1);n.form.query(`${k.concat("*."+p.name)}`).forEach(R=>{R.componentProps.fieldNames=_}),a.emit("patch",{schema:F}),a.refresh()}}}},getAllowMultiple=e=>{const t=(e==null?void 0:e.title)||"Allow multiple";return{name:"allowMultiple",type:"switch",useVisible(){return useIsAssociationField()},useComponentProps(){var o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c,refresh:u}=useDesignable();return{title:r(t),checked:((o=l["x-component-props"])==null?void 0:o.multiple)===void 0?!0:l["x-component-props"].multiple,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},i.componentProps=i.componentProps||{},l["x-component-props"].multiple=m,i.componentProps.multiple=m,d["x-component-props"]=l["x-component-props"],c.emit("patch",{schema:d}),u()}}}}},quickCreate={name:"quickCreate",type:"select",useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,m)=>m["x-component"]==="Action"?m:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},setDefaultSortingRules$1={name:"setDefaultSortingRules",Component:SchemaSettingsSortingRule},setTheDataScope={name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),{fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,g=m||n(p.name)||r(p["x-collection-field"]),h=useVariables$1(),_=useLocalVariables$1(),{dn:f}=useDesignable();return{collectionName:g==null?void 0:g.target,defaultFilter:((o=(t=(e=p==null?void 0:p["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:v=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},v),{form:a,collectionField:v.collectionField,record:l,shouldChange:getShouldChange({collectionField:v.collectionField,variables:h,localVariables:_,getAllCollectionsInheritChain:i})})),onSubmit:({filter:v})=>{v=removeNullCondition(v),import_lodash.default.set(p["x-component-props"],"service.params.filter",v),import_lodash.default.set(c.componentProps,"service.params.filter",v),f.emit("patch",{schema:{"x-uid":p["x-uid"],"x-component-props":p["x-component-props"]}})}}}},fieldComponent$7={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),l=useIsAddNewForm(),c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:a,value:c,onChange(m){var d,p;const g={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,g["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&l&&(g.default=null,n.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},selectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Select",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},quickCreate),{useVisible(){const e=useIsAssociationField(),t=useIsFieldReadPretty(),{fieldSchema:o}=useColumnSchema$1(),{type:r}=useDataBlockProps()||{};return e&&!o&&!t&&r!=="publicForm"}}),P(x({},getAllowMultiple()),{useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useIsShowMultipleSwitch();return!e&&t&&o()}}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}}),ellipsisSettingsItem,P(x({},enableLinkSettingsItem),{useVisible(){const e=useCollectionField(),t=useIsFieldReadPretty();return!useIsAssociationField()&&t&&e.interface!=="multipleSelect"}}),P(x({},openModeSettingsItem),{useVisible(){var e,t;const o=(0,import_react.useField)(),r=useIsAssociationField(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n;return((a==null?void 0:a["x-read-pretty"])||o.readPretty)&&(((e=a==null?void 0:a["x-component-props"])==null?void 0:e.enableLink)||r&&((t=a==null?void 0:a["x-component-props"])==null?void 0:t.enableLink)!==!1)}})]}),filterSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterSelect",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),getAllowMultiple({title:"Allow multiple selection"}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}})]}),fieldComponent$6={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},titleField$1={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,m;const d={"x-uid":i["x-uid"]},p=P(x(x({},(m=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,d["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:d}),n.refresh()}}}},cascadeSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:CascadeSelect",items:[fieldComponent$6,titleField$1,ellipsisSettingsItem,setTheDataScope]}),SchemaSettingsDateRange=function e(t){var o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v;const{fieldSchema:b}=t,S=(0,import_react.useField)(),{dn:C}=useDesignable(),{t:y}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:F}=useCollectionManager_deprecated(),{isInSubForm:j,isInSubTable:k}=useFlag()||{},R=F(b==null?void 0:b["x-collection-field"])||{},N=((o=b==null?void 0:b["x-component-props"])==null?void 0:o.showTime)||((i=(r=R==null?void 0:R.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.showTime)||!1,w=((n=b==null?void 0:b["x-component-props"])==null?void 0:n.dateFormat)||((l=(a=R==null?void 0:R.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.dateFormat)||"YYYY-MM-DD",O=((c=b==null?void 0:b["x-component-props"])==null?void 0:c.timeFormat)||((m=(u=R==null?void 0:R.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.timeFormat)||"HH:mm:ss",D=((d=b==null?void 0:b["x-component-props"])==null?void 0:d.picker)||((g=(p=R==null?void 0:R.uiSchema)==null?void 0:p["x-component-props"])==null?void 0:g.picker)||"date";b["x-read-pretty"]||S.readOnly||S.readPretty;const T=(h=b==null?void 0:b["x-component-props"])==null?void 0:h._minDate,$=(_=b==null?void 0:b["x-component-props"])==null?void 0:_._maxDate,B=((f=R==null?void 0:R.uiSchema)==null?void 0:f["x-component-props"].gmt)||!1,I=((v=R==null?void 0:R.uiSchema)==null?void 0:v["x-component-props"].utc)||!1,M=useRecord(),{form:z}=useFormBlockContext(),E=(0,import_react2.useCallback)(q=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{"x-component":"DatePicker","x-component-props":{dateFormat:w,timeFormat:O,gmt:B,utc:I,picker:D,showTime:N,placeholder:'{{t("Please select time or variable")}}',style:{minWidth:385}},name:"value","x-read-pretty":!1,"x-validator":void 0,"x-decorator":void 0}}),[w,B,D,N,O,I]),L=(0,import_react2.useCallback)(q=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},q),{form:z,record:M,noDisabled:!0,renderSchemaComponent:E})),[b,z,M,E]);function U(q){if(q!=null){if(typeof q=="string")return q;if(typeof q=="object"&&Object.prototype.hasOwnProperty.call(q,"value"))return U(q.value)}}return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:y("Date range limit"),schema:{type:"object","x-decorator":"",properties:{_minDate:{type:"string",title:'{{t("MinDate")}}',"x-decorator":"FormItem","x-component":L,"x-component-props":{name:"_minDate"},default:isVariable$1(T)?T:{value:T}},_maxDate:{type:"string",title:'{{t("MaxDate")}}',"x-decorator":"FormItem","x-component":L,"x-component-props":{name:"_maxDate"},default:isVariable$1($)?$:{value:$}}}},onSubmit:q=>{const G={"x-uid":b["x-uid"]};G["x-component-props"]=S.componentProps||{},b["x-component-props"]=P(x({},S.componentProps||{}),{_maxDate:U(q==null?void 0:q._maxDate),_minDate:U(q==null?void 0:q._minDate)}),G["x-component-props"]=b["x-component-props"],S.componentProps=b["x-component-props"];const W=S.path.entire.split(".");W.pop();const H=W.join(".");S.query(`${H}.*[0:].${b.name}`).forEach(K=>{K.props.name===b.name&&K.setComponentProps({_maxDate:U(q==null?void 0:q._maxDate),_minDate:U(q==null?void 0:q._minDate)})}),C.emit("patch",{schema:G}),C.refresh()},ModalContextProvider:q=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInFormDataTemplate:!0,children:q.children})})},datePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},{name:"dateScopeSelect",Component:SchemaSettingsDateRange,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useFieldSchema)(),o=e||t;return!(o!=null&&o["x-read-pretty"])}},ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),rangePickerPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker.RangePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},ellipsisSettingsItem]}),fieldComponent$5={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},showFileName={name:"showFileName",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Show file name"),checked:((e=n["x-component-props"])==null?void 0:e.showFileName)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.showFileName=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].showFileName=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}}},fileManagerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FileManager",items:[fieldComponent$5,{name:"quickUpload",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Quick upload"),checked:((e=n["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.quickUpload=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].quickUpload=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"selectFile",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Select file"),checked:((e=n["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.selectFile=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].selectFile=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),{fieldSchema:t}=useColumnSchema$1();return e&&!t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName,P(x({},getAllowMultiple()),{useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()}})]}),designerCss$3=import_css.css`
664
+ }}}`,message:'{{t("Invalid JSON format")}}'},requestSettingsSchema={type:"object",properties:{url:{type:"string",title:'{{t("Request URL")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},method:{type:"string",title:'{{t("Request method")}}',"x-decorator":"FormItem","x-component":"Select",default:"POST",enum:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},headers:{type:"string",title:'{{t("Request headers")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},params:{type:"string",title:'{{t("Request query parameters")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},data:{type:"string",title:'{{t("Request body")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1}}},linkageAction=(e,t)=>V(void 0,[e,t],function*({operator:o,field:r,condition:i,variables:n,localVariables:a},l){var c,u,m;const d=((c=r==null?void 0:r.stateOfLinkageRules)==null?void 0:c.disabled)||[!1],p=((u=r==null?void 0:r.stateOfLinkageRules)==null?void 0:u.display)||["visible"];switch(o){case ActionType.Visible:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))&&(p.push(o),r.data=r.data||{},r.data.hidden=!1),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{display:p}),r.display=(0,import_lodash.last)(p);break;case ActionType.Hidden:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))?(r.data=r.data||{},r.data.hidden=!0):(r.data=r.data||{},r.data.hidden=!1);break;case ActionType.Disabled:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))&&d.push(!0),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:d}),r.disabled=(0,import_lodash.last)(d),r.componentProps.disabled=(0,import_lodash.last)(d);break;case ActionType.Active:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a},l))?d.push(!1):d.push(!!((m=r.componentProps)!=null&&m.disabled)),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:d}),r.disabled=(0,import_lodash.last)(d),r.componentProps.disabled=(0,import_lodash.last)(d);break;default:return null}}),setInitialActionState=e=>{e.data=e.data||{},e.display="visible",e.disabled=!1,e.data.hidden=!1,e.componentProps.disabled=!1},MenuGroup=e=>e.children;function ButtonEditor$1(e){var t,o,r,i;const n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(e==null?void 0:e.isLink)||a["x-component"]==="Action.Link";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Edit button"),schema:{type:"object",title:c("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:c("Button title"),default:a.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:c("Button icon"),default:(t=a==null?void 0:a["x-component-props"])==null?void 0:t.icon,"x-component-props":{},"x-visible":!u},iconColor:{title:c("Color"),required:!0,default:((o=a==null?void 0:a["x-component-props"])==null?void 0:o.iconColor)||"#1677FF","x-hidden":!e.hasIconColor,"x-component":"ColorPicker","x-decorator":"FormItem"},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:c("Button background color"),default:(r=a==null?void 0:a["x-component-props"])!=null&&r.danger?"danger":((i=a==null?void 0:a["x-component-props"])==null?void 0:i.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}],"x-visible":!e.hasIconColor&&!u}}},onSubmit:({title:m,icon:d,type:p,iconColor:g})=>{n.address.toString()===a.name?(n.title=m,n.componentProps.iconColor=g,n.componentProps.icon=d,n.componentProps.danger=p==="danger",n.componentProps.type=p||n.componentProps.type):n.form.query(new RegExp(`.${a.name}$`)).forEach(h=>{h.title=m,h.componentProps.iconColor=g,h.componentProps.icon=d,h.componentProps.danger=p==="danger",h.componentProps.type=p||h.componentProps.type}),a.title=m,a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"].iconColor=g,a["x-component-props"].icon=d,a["x-component-props"].danger=p==="danger",a["x-component-props"].type=p||n.componentProps.type,l.emit("patch",{schema:{"x-uid":a["x-uid"],title:m,"x-component-props":x({},a["x-component-props"])}}),l.refresh()}})}function AssignedFieldValues(){var e,t,o;const{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),a={type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid","x-initializer":"assignFieldValuesForm:configureFields"},l={"customize:update":i("After clicking the custom button, the following fields of the current record will be saved according to the following form."),"customize:save":i("After clicking the custom button, the following fields of the current record will be saved according to the following form.")},c=(e=n["x-action"])!=null?e:"",u=(0,import_react2.useCallback)(m=>{n["x-action-settings"].assignedValues=m,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}})},[r,n]);return(0,import_jsx_runtime.jsx)(FlagProvider,{isInAssignFieldValues:!0,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:i("Assign field values"),initialSchema:a,initialValues:(t=n==null?void 0:n["x-action-settings"])==null?void 0:t.assignedValues,modalTip:l[c],uid:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.schemaUid,onSubmit:u})})})}function RequestSettings(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:o("Request settings"),schema:requestSettingsSchema,initialValues:(e=r==null?void 0:r["x-action-settings"])==null?void 0:e.requestSettings,onSubmit:i=>{r["x-action-settings"].requestSettings=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}}),t.refresh()}})}function SkipValidation(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Skip required validation"),checked:!!((e=r==null?void 0:r["x-action-settings"])!=null&&e.skipValidator),onChange:i=>{r["x-action-settings"].skipValidator=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":x({},r["x-action-settings"])}})}})}function AfterSuccess(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{onSuccess:r}=(o==null?void 0:o["x-action-settings"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:t("After successful submission"),initialValues:r?x({actionAfterSuccess:r!=null&&r.redirecting?"redirect":"previous"},r):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:t("After successful submission"),properties:{successMessage:{title:t("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:t("Message popup close method"),enum:[{label:t("Automatic close"),value:!1},{label:t("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:t("Then"),"x-hidden":!0,enum:[{label:t("Stay on current page"),value:!1},{label:t("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:t("Action after successful submission"),enum:[{label:t("Stay on the current popup or page"),value:"stay"},{label:t("Return to the previous popup or page"),value:"previous"},{label:t("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:t("Link"),"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:i=>{o["x-action-settings"].onSuccess=i,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-action-settings":o["x-action-settings"]}})}})}function RemoveButton(e={}){const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)();return(o==null?void 0:o.parent["x-component"])!=="CollectionField"&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:r=>r["x-component"]==="Space"||r["x-component"].endsWith("ActionBar"),disabled:e.disabled,confirm:{title:t("Delete action"),onOk:e.onConfirmOk}})]})}const actionSettingsItems=[{name:"Customize",Component:MenuGroup,children:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:e=>(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},e)),useVisible(){const e=useLinkageAction(),{linkageAction:t}=useSchemaToolbar();return t||e},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),t=(0,import_react.useFieldSchema)(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o&&!e,openSize:o&&!e}}},{name:"secondConFirm",Component:SecondConFirm,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return!["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"")&&!((e=t==null?void 0:t["x-action-settings"])!=null&&e.disableSecondConFirm)}},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.assignedValues)}},{name:"requestSettings",Component:RequestSettings,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.requestSettings)}},{name:"skipValidator",Component:SkipValidation,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.skipValidator)}},{name:"afterSuccess",Component:AfterSuccess,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.onSuccess)}},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getChildrenCollections:o}=useCollectionManager_deprecated();return o(t).length>0&&e["x-action"]==="create"},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.triggerWorkflows)}},{type:"switch",name:"clearDefaultValue",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Clear default value"),checked:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.clearDefaultValue,onChange:i=>{r.deepMerge({"x-uid":o["x-uid"],"x-component-props":{clearDefaultValue:i}})}}},useVisible(){return(0,import_react.useFieldSchema)()["x-use-component-props"]==="useResetBlockActionProps"}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.removable)!==!1}}]}];function SecondConFirm(){var e,t,o,r,i,n,a,l;const{dn:c}=useDesignable(),u=(0,import_react.useFieldSchema)(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react.useField)(),p=useCompile();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:m("Secondary confirmation"),initialValues:{title:p((t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.confirm)==null?void 0:t.title)||m("Perform the {{title}}",{title:p(u.title)}),content:p((r=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.confirm)==null?void 0:r.content)||m("Are you sure you want to perform the {{title}} action?",{title:p(u.title)})},schema:{type:"object",title:m("Secondary confirmation"),properties:{enable:{"x-decorator":"FormItem","x-component":"Checkbox","x-content":m("Enable secondary confirmation"),default:((n=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.confirm)==null?void 0:n.enable)!==!1&&!!((l=(a=u==null?void 0:u["x-component-props"])==null?void 0:a.confirm)!=null&&l.content),"x-component-props":{}},title:{"x-decorator":"FormItem","x-component":"Input.TextArea",title:m("Title"),"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}},content:{"x-decorator":"FormItem","x-component":"Input.TextArea",title:m("Content"),"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}}}},onSubmit:({enable:g,title:h,content:_})=>{var f;u["x-component-props"]=u["x-component-props"]||{},u["x-component-props"].confirm={},u["x-component-props"].confirm.enable=g,u["x-component-props"].confirm.title=h,u["x-component-props"].confirm.content=_,d.componentProps.confirm=x({},(f=u["x-component-props"])==null?void 0:f.confirm),c.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":x({},u["x-component-props"])}}),c.refresh()}})}const actionSettings=new SchemaSettings({name:"ActionSettings",items:actionSettingsItems}),ActionDesigner=e=>{const t=e,{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a,schemaSettings:l="ActionSettings",enableDrag:c=!0}=t,u=Y(t,["modalTip","linkageAction","removeButtonProps","buttonEditorProps","linkageRulesProps","schemaSettings","enableDrag"]),m=useApp(),d=(0,import_react.useFieldSchema)(),p=(d==null?void 0:d.parent["x-component"])!=="CollectionField"&&c,g=`ActionSettings:${d["x-action"]}`,h=l||"ActionSettings",_=m.schemaSettingsManager.has(g);return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,P(x({schemaSettings:_?g:h,contextValue:{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a}},u),{disableInitializer:!0,draggable:p}))};function RefreshDataBlockRequest(e){const{dn:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{refreshDataBlockRequest:i}=(o==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:r("Refresh data on action"),checked:i!==!1,onChange:n=>{o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].refreshDataBlockRequest=n,t.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}})}})}ActionDesigner.ButtonEditor=ButtonEditor$1;ActionDesigner.RemoveButton=RemoveButton;const addChildActionSettings=new SchemaSettings({name:"actionSettings:addChild",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"delete",type:"remove"}]}),addNewActionSettings=new SchemaSettings({name:"actionSettings:addNew",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}},useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeAddRecordActionSettings=new SchemaSettings({name:"actionSettings:addRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),associateActionSettings=new SchemaSettings({name:"actionSettings:associate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]}),bulkDeleteActionSettings=new SchemaSettings({name:"actionSettings:bulkDelete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),deleteActionSettings=new SchemaSettings({name:"actionSettings:delete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",type:"remove"}]}),disassociateActionSettings=new SchemaSettings({name:"actionSettings:disassociate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]});function ButtonEditor(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),{titleExpand:a,titleCollapse:l,iconExpand:c,iconCollapse:u}=r["x-component-props"]||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{titleExpand:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Expand all")}`,default:a},titleCollapse:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Collapse all")}`,default:l},iconExpand:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Expand all")}`,default:c},iconCollapse:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Collapse all")}`,default:u},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:n("Button background color"),default:(e=r==null?void 0:r["x-component-props"])!=null&&e.danger?"danger":((t=r==null?void 0:r["x-component-props"])==null?void 0:t.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}]}}},onSubmit:({titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:g,type:h})=>{r.title=n("Expand/Collapse"),o.title=n("Expand/Collapse"),o.componentProps.icon=p,o.componentProps.danger=h==="danger",o.componentProps.type=h,r["x-component-props"]=P(x({},r["x-component-props"]||{}),{titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:g,type:h,danger:h==="danger"}),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"],title:r.title}}),i.refresh()}})}const expendableActionSettings=new SchemaSettings({name:"actionSettings:expendable",items:[{name:"editButton",Component:ButtonEditor,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),filterActionSettings=new SchemaSettings({name:"actionSettings:filter",items:[{name:"FilterableFields",Component:FilterableFieldsSchemaSettingsItem},{name:"divider",type:"divider"},{name:"EditButton",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return{title:i("Edit button"),schema:{type:"object",title:i("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:i("Button title"),default:o.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:i("Button icon"),default:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.icon,"x-component-props":{}}}},onSubmit:({title:n,icon:a})=>{o.title=n,t.title=n,t.componentProps.icon=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].icon=a,r.emit("patch",{schema:{"x-uid":o["x-uid"],title:n,"x-component-props":x({},o["x-component-props"])}}),r.refresh()}}}},{name:"divider2",type:"divider"},{name:"delete",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:e=>e["x-component"]==="Space"||e["x-component"]==="ActionBar"}}]}),SchemaSettingsActionLinkItem=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{urlSchema:i,paramsSchema:n,openInNewWindowSchema:a}=useURLAndHTMLSchema(),l=t["x-component-props"]||{},c={url:l.url,params:l.params||[{}],openInNewWindow:l.openInNewWindow};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit link"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Edit link"),properties:{url:P(x({},i),{required:!0}),params:n,openInNewWindow:a}},onSubmit:({url:u,params:m,openInNewWindow:d})=>{l.url=u,l.params=m,l.openInNewWindow=d,t["x-component-props"]=l,e.componentProps.url=u,e.componentProps.params=m,e.componentProps.openInNewWindow=d,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":l}}),o.refresh()},initialValues:c})},customizeLinkActionSettings=new SchemaSettings({name:"actionSettings:link",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"editLink",Component:SchemaSettingsActionLinkItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useVisible(){const e=useCollectionRecord();return!import_lodash.default.isEmpty(e==null?void 0:e.data)},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),refreshActionSettings=new SchemaSettings({name:"actionSettings:refresh",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeSaveRecordActionSettings=new SchemaSettings({name:"actionSettings:saveRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"skipRequiredValidation",Component:SkipValidation},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),updateSubmitActionSettings=new SchemaSettings({name:"actionSettings:updateSubmit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})},useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"skipRequiredValidation",Component:SkipValidation,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),submitActionSettings=new SchemaSettings({name:"actionSettings:submit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeUpdateRecordActionSettings=new SchemaSettings({name:"actionSettings:updateRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizePopupActionSettings=new SchemaSettings({name:"actionSettings:popup",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})},useVisible(){const{collection:e}=useCurrentPopupRecord()||{},t=useCollection();return!e||(e==null?void 0:e.name)===(t==null?void 0:t.name)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),editActionSettings=new SchemaSettings({name:"actionSettings:edit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",type:"remove"}]}),viewActionSettings=new SchemaSettings({name:"actionSettings:view",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),commonItems$1=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e,readPretty:!0}}},{name:"dataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),{service:l}=useDetailsBlockContext();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,noRecord:!0,onSubmit:({filter:c})=>{c=removeNullCondition(c);const u=n.decoratorProps.params||{};u.filter=c,n.decoratorProps.params=u,r["x-decorator-props"].params=u,a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}}),l.params[0].page=1}}}},{name:"sortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{service:a}=useDetailsBlockContext(),{dn:l}=useDesignable(),c=useSortFields(o),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:c,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit({sort:d}){var p;const g=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),h=n.decoratorProps.params||{};h.sort=g,n.decoratorProps.params=h,i["x-decorator-props"].params=h,l.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:g}))}}}},setDataLoadingModeSettingsItem,{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Details`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],multiDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:multiDataDetails",items:commonItems$1}),detailsWithPaginationSettings=new SchemaSettings({name:"blockSettings:detailsWithPagination",items:commonItems$1}),commonItems=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection();return{collectionName:e,readPretty:!0}}},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{insertAdjacentPosition:"beforeEnd",componentName:`${i}ReadPrettyFormItem`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],singleDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:singleDataDetails",items:commonItems}),detailsBlockSettings=new SchemaSettings({name:"blockSettings:details",items:commonItems}),createFormBlockSettings=new SchemaSettings({name:"blockSettings:createForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return!e&&(t==null?void 0:t["x-acl-action"].includes("create"))},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),editFormBlockSettings=new SchemaSettings({name:"blockSettings:editForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext();return!e},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentSettingsItem={name:"fieldComponent",type:"select",useVisible(){const e=useCollectionField(),t=useDataSourceManager();if(!e)return!1;const o=t.collectionFieldInterfaceManager.getFieldInterface(e==null?void 0:e.interface);return Array.isArray(o==null?void 0:o.componentOptions)&&o.componentOptions.length>1&&o.componentOptions.filter(r=>!r.useVisible||r.useVisible()).length>1},useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useCollectionField(),c=useDataSourceManager().collectionFieldInterfaceManager.getFieldInterface(l==null?void 0:l.interface),{fieldSchema:u}=useColumnSchema$1(),m=u||a,{dn:d}=useDesignable(),p=useCompile(),g=((t=(e=c==null?void 0:c.componentOptions)==null?void 0:e.filter(h=>!h.useVisible||h.useVisible()))==null?void 0:t.map(h=>({label:p(h.label),value:h.value,useProps:h.useProps})))||[];return{title:i("Field component"),options:g,value:((o=m["x-component-props"])==null?void 0:o.component)||((r=g[0])==null?void 0:r.value),onChange(h){var _;const f=g.find(b=>b.value===h),v=x({component:h},((_=f==null?void 0:f.useProps)==null?void 0:_.call(f))||{});import_lodash.default.set(m,"x-component-props",v),n.componentProps=v,d.emit("patch",{schema:{"x-uid":m["x-uid"],"x-component-props":v}})}}}},fieldSettingsFormItem=new SchemaSettings({name:"fieldSettings:FormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCompile(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(i.name)||a(i["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=n(d),i.title=d,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Display title"),checked:(e=r.decoratorProps.showTitle)!=null?e:!0,onChange(n){i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].showTitle=n,r.decoratorProps.showTitle=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":P(x({},i["x-decorator-props"]),{showTitle:n})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}})}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"required",type:"switch",useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&o},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable();return{title:e("Required"),checked:t.required,onChange(n){const a={"x-uid":o["x-uid"]};t.required=n,o.required=n,a.required=n,r.emit("patch",{schema:a}),i()}}}},{name:"setDefaultValue",useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()},Component:SchemaSettingsDefaultValue},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const g={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=h,t.required=o.required,o["x-validator"]=p,g["x-validator"]=p,r.emit("patch",{schema:g}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){return useIsFieldReadPretty()},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${t}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),pageSizeOptions$2=[12,24,60,96,120],gridSizes=["xs","md","lg","xxl"],screenSizeTitleMaps={xs:"Phone device",md:"Tablet device",lg:"Desktop device",xxl:"Large screen device"},screenSizeMaps={xs:"< 768",md:"≥ 768",lg:"≥ 992",xxl:"≥ 1600"},defaultColumnCount={xs:1,md:2,lg:3,xxl:4},columnCountMarks=[1,2,3,4,6,8,12,24].reduce((e,t)=>(e[t]=t,e),{}),GridCardDesigner=()=>{var e,t,o,r,i,n,a,l;const{name:c,title:u}=useCollection_deprecated(),m=useSchemaTemplate(),{t:d}=(0,import_react_i18next.useTranslation)(),p=(0,import_react.useFieldSchema)(),{form:g}=useFormBlockContext(),h=(0,import_react.useField)(),{dn:_}=useDesignable(),f=useSortFields(c),{componentNamePrefix:v}=useBlockTemplateContext(),b=((t=(e=p==null?void 0:p["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],S=((o=p==null?void 0:p["x-decorator-props"])==null?void 0:o.resource)||((r=p==null?void 0:p["x-decorator-props"])==null?void 0:r.association),C=b==null?void 0:b.map(y=>y.startsWith("-")?{field:y.substring(1),direction:"desc"}:{field:y,direction:"asc"});return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{template:m,title:u||c,children:(0,import_jsx_runtime.jsxs)(SchemaComponentOptions,{components:{Slider:import_antd.Slider},children:[(0,import_jsx_runtime.jsx)(SetTheCountOfColumnsDisplayedInARow,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:c,defaultFilter:((n=(i=p==null?void 0:p["x-decorator-props"])==null?void 0:i.params)==null?void 0:n.filter)||{},form:g,onSubmit:({filter:y})=>{y=removeNullCondition(y),import_lodash.default.set(p,"x-decorator-props.params.filter",y),h.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:d("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:d("Set default sorting rules"),properties:{sort:{type:"array",default:C,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:f,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:d("ASC"),value:"asc"},{label:d("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:d("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:y})=>{const F=y.map(j=>j.direction==="desc"?`-${j.field}`:j.field);import_lodash.default.set(p,"x-decorator-props.params.sort",F),h.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SetDataLoadingMode,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:d("Records per page"),value:((l=(a=h.decoratorProps)==null?void 0:a.params)==null?void 0:l.pageSize)||20,options:pageSizeOptions$2.map(y=>({value:y})),onChange:y=>{import_lodash.default.set(p,"x-decorator-props.params.pageSize",y),h.decoratorProps.params=P(x({},p["x-decorator-props"].params),{page:1}),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${v}GridCard`,collectionName:c,resourceName:S}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})})};function SetTheCountOfColumnsDisplayedInARow(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{dn:r}=useDesignable(),i=o.decoratorProps.columnCount||defaultColumnCount,n=(0,import_react2.useMemo)(()=>({"x-component":"Slider","x-decorator":"FormItem","x-component-props":{min:1,max:24,marks:columnCountMarks,tooltip:{formatter:l=>`${l}${e("Column")}`},step:null}}),[e]),a=(0,import_react2.useMemo)(()=>gridSizes.reduce((l,c)=>(l[c]=P(x({},n),{title:e(screenSizeTitleMaps[c]),description:`${e("Screen size")} ${screenSizeMaps[c]} ${e("pixels")}`}),l),{}),[n,e]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Set the count of columns displayed in a row"),initialValues:i,schema:{type:"object",title:e("Set the count of columns displayed in a row"),properties:a},onSubmit:l=>{import_lodash.default.set(t,"x-decorator-props.columnCount",l),o.decoratorProps.columnCount=l,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}})}const gridCardBlockSettings=new SchemaSettings({name:"blockSettings:gridCard",items:[{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"SetTheCountOfColumnsDisplayedInARow",Component:SetTheCountOfColumnsDisplayedInARow},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=x({},r["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=x({},i["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:pageSizeOptions$2.map(a=>({value:a})),onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}GridCard`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),listBlockSettings=new SchemaSettings({name:"blockSettings:list",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=P(x({},i["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}List`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),tableSelectorBlockSettings=new SchemaSettings({name:"blockSettings:tableSelector",items:[{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps:()=>{var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{form:n}=useFormBlockContext(),{service:a,extraFilter:l}=useTableSelectorContext(),{dn:c}=useDesignable(),u=useDataLoadingMode(),m=(0,import_react2.useCallback)(({filter:d})=>{d=removeNullCondition(d);const p=r.decoratorProps.params||{};p.filter=d,r.decoratorProps.params=p,i["x-decorator-props"].params=p,(0,import_lodash.cloneDeep)(d),c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})},[r.decoratorProps,i,l,u,c,a]);return{collectionName:o,defaultFilter:((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:n,onSubmit:m}}},{name:"treeTable",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{service:o}=useTableSelectorContext(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Tree table"),defaultChecked:!0,checked:e.decoratorProps.treeTable,onChange:n=>{var a;e.form.clearFormGraph(`${e.address}.*`),e.decoratorProps.treeTable=n,t["x-decorator-props"].treeTable=n;const l=P(x({},(a=o.params)==null?void 0:a[0]),{tree:n?!0:null});i.emit("patch",{schema:t}),i.refresh(),o.run(l)}}},useVisible:()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)(),o=useCollection_deprecated(),r=recursiveParent$1(t,"CollectionField"),i=e(r==null?void 0:r["x-collection-field"]);return(o==null?void 0:o.tree)&&(i==null?void 0:i.target)===(i==null?void 0:i.collectionName)}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useSortFields(o),{service:a}=useTableSelectorContext(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c}=useDesignable(),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{var p;const g=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),h=r.decoratorProps.params||{};h.sort=g,r.decoratorProps.params=h,i["x-decorator-props"].params=h,c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:g}))}}},useVisible(){const e=(0,import_react.useField)(),{dragSort:t}=e.decoratorProps;return!t}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableSelectorContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),useCollection_deprecated=()=>{var e;const t=useCollection(),o=useAPIClient(),r=o==null?void 0:o.resource(t==null?void 0:t.name),i=(0,import_react2.useMemo)(()=>(t==null?void 0:t.fields)||[],[t]),n=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getInheritedFields)==null?void 0:d.call(t))||[]},[t]),a=(0,import_react2.useMemo)(()=>{var d,p;return((d=t==null?void 0:t.getAllFields)==null?void 0:d.call(t))||((p=t==null?void 0:t.getFields)==null?void 0:p.call(t))||[]},[t]),l=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getForeignKeyFields)==null?void 0:d.call(t))||[]},[t]),c=(0,import_react2.useCallback)(()=>a==null?void 0:a.find(d=>d.treeParent),[a]),u=(0,import_react2.useCallback)(d=>{var p;return(p=t==null?void 0:t.getField)==null?void 0:p.call(t,d)},[t]),m=(0,import_react2.useCallback)(()=>t==null?void 0:t.getPrimaryKey(),[t]);return P(x({},(e=t==null?void 0:t.getOptions)==null?void 0:e.call(t)),{resource:r,getTreeParentField:c,fields:a,getField:u,getPrimaryKey:m,currentFields:i,inheritedFields:n,foreignKeyFields:l})};function SchemaSettingsSortField(){const{fields:e}=useCollection_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useCompile(),{service:a,association:l}=useTableBlockContext(),{getCollectionJoinField:c}=useCollectionManager_deprecated(),u=c(l),m=e.filter(d=>!(d!=null&&d.target)&&d.interface==="sort").map(d=>{var p;return{value:d==null?void 0:d.name,label:n((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||(d==null?void 0:d.name),disabled:(d==null?void 0:d.scopeKey)&&(u==null?void 0:u.foreignKey)!==d.scopeKey}});return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Drag and drop sorting field"),options:m,value:t.decoratorProps.dragSortBy,onChange:d=>{var p;o["x-decorator-props"].dragSortBy=d,a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:d})),t.decoratorProps.dragSortBy=d,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"sort-field")}const tableBlockSettings=new SchemaSettings({name:"blockSettings:table",items:[{name:"editBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"treeTable",type:"switch",useComponentProps:()=>{var e;const{getCollectionField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{service:n}=useTableBlockContext(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCollection_deprecated(),{resource:u}=r.decoratorProps,m=u&&t(u),d=u!=null&&u.includes(".")?(e=o(m==null?void 0:m.target))==null?void 0:e.tree:!!(c!=null&&c.tree);return{title:a("Tree table"),defaultChecked:!0,checked:d?r.decoratorProps.treeTable:!1,onChange:p=>{var g;r.decoratorProps.treeTable=p,i["x-decorator-props"].treeTable=p,p===!1&&(i["x-decorator-props"].expandFlag=!1);const h=P(x({},(g=n.params)==null?void 0:g[0]),{tree:p?!0:null});l.emit("patch",{schema:i}),l.refresh(),n.run(h)}}},useVisible:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=useCollection_deprecated(),{resource:r}=t.decoratorProps,i=r&&e(r);return(o==null?void 0:o.tree)&&(i==null?void 0:i.collectionName)===(i==null?void 0:i.target)}},createSwitchSettingsItem({name:"expandFlag",title:e=>e("Expand All"),defaultValue:!1,schemaKey:"x-decorator-props.expandFlag",useVisible(){return(0,import_react.useField)().decoratorProps.treeTable}}),{name:"enableDragAndDropSorting",type:"switch",useComponentProps:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{service:r}=useTableBlockContext(),{t:i}=(0,import_react_i18next.useTranslation)(),{dn:n}=useDesignable(),{resource:a}=t.decoratorProps,l=a&&e(a),c=useAPIClient();return{title:i("Enable drag and drop sorting"),checked:t.decoratorProps.dragSort,onChange:u=>V(void 0,null,function*(){var m,d,p;if(u&&l){const{data:g}=yield c.resource("collections.fields",l.collectionName).update({filterByTk:l.name,values:{sortable:!0}}),h=(d=(m=g==null?void 0:g.data)==null?void 0:m[0])==null?void 0:d.sortBy;o["x-decorator-props"].dragSortBy=h}t.decoratorProps.dragSort=u,o["x-decorator-props"].dragSort=u,r.run(P(x({},(p=r.params)==null?void 0:p[0]),{sort:o["x-decorator-props"].dragSortBy})),n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}})})}}},{name:"SortField",Component:SchemaSettingsSortField,useVisible(){return(0,import_react.useField)().decoratorProps.dragSort}},setTheDataScopeSchemaSettingsItem,setDefaultSortingRulesSchemaSettingsItem,setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableBlockContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"tableSize",type:"select",useComponentProps(){var e;(0,import_react.useField)();const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=t.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2")return a},null);return{title:o("Table size"),value:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.size)||"small",options:[{label:o("Large"),value:"large"},{label:o("Middle"),value:"middle"},{label:o("Small"),value:"small"}],onChange:n=>{i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].size=n,r.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.TABLE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider",sort:7e3,useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"ConvertReferenceToDuplicate",sort:8e3,Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Table`,collectionName:o,resourceName:n}},useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"divider2",type:"divider",sort:9e3},{name:"delete",type:"remove",sort:1e4,useComponentProps:()=>({removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})}]}),tableColumnSettings=new SchemaSettings({name:"fieldSettings:TableColumn",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},children:[{name:"customColumnTitle",type:"modal",useComponentProps(){var e;const{fieldSchema:t,collectionField:o}=useColumnSchema$1(),r=(0,import_react.useField)(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),{dn:a}=useDesignable();return{title:i("Custom column title"),schema:{type:"object",title:i("Custom column title"),properties:{title:{title:i("Column title"),default:n==null?void 0:n.title,description:`${i("Original field title: ")}${((e=o==null?void 0:o.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{r.title=l,n.title=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),a.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.tooltip)||"","x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.componentProps.tooltip=n,i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){var e,t;const{fieldSchema:o}=useColumnSchema$1(),{isInSubTable:r}=useFlag(),i=(0,import_react.useField)();if(!r)return!0;const n=(t=i.path)==null?void 0:t.splice(((e=i.path)==null?void 0:e.length)-1,1);return o?i.form.query(`${n.concat("*."+o.name)}`).get("readPretty"):!1},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"columnWidth",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:o("Column width"),schema:{type:"object",title:o("Column width"),properties:{width:{default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:n})=>{const a=r["x-component-props"]||{};a.width=n;const l={"x-uid":r["x-uid"]};l["x-component-props"]=a,r["x-component-props"]=a,t.componentProps.width=n,i.emit("patch",{schema:l}),i.refresh()}}}},{name:"sortable",type:"switch",useVisible(){const e=useCollection(),{collectionField:t}=useColumnSchema$1(),{getInterface:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.interface),{currentMode:i}=useAssociationFieldContext();return(r==null?void 0:r.sortable)===!0&&!i&&((e==null?void 0:e.name)===(t==null?void 0:t.collectionName)||!(t!=null&&t.collectionName)||(t==null?void 0:t.inherit))},useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Sortable"),checked:e.componentProps.sorter,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{sorter:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.sorter=i,r.emit("patch",{schema:n}),r.refresh()}}}},{name:"setDefaultValue",useVisible(){const{fieldSchema:e}=useColumnSchema$1();return e?!(e!=null&&e["x-read-pretty"]):!1},Component:SchemaSettingsDefaultValue,useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}}},{name:"required",type:"switch",useVisible(){const{uiSchema:e,fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useField)();return t?["QuickEdit","FormItem"].includes(t["x-decorator"])&&!o.readPretty&&!(e!=null&&e["x-read-pretty"]):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{key:"required",title:o("Required"),checked:e==null?void 0:e.required,onChange:i=>{var n,a;if(!e)return console.error("fieldSchema is required");const l={"x-uid":e["x-uid"]};e.required=i,l.required=i;const c=(a=t.path)==null?void 0:a.splice(((n=t.path)==null?void 0:n.length)-1,1);t.form.query(`${c.concat("*."+e.name)}`).forEach(u=>{u.required=i}),r.emit("patch",{schema:l}),r.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{fieldSchema:e,collectionField:t}=useColumnSchema$1(),o=(0,import_react.useField)();return e?["QuickEdit","FormItem"].includes(e["x-decorator"])&&!(o!=null&&o.readPretty)&&(t==null?void 0:t.interface)!=="o2m"&&!isPatternDisabled(e):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();let i="editable";return e?(e["x-disabled"]===!0&&(i="readonly"),e["x-read-pretty"]===!0&&(i="read-pretty"),{key:"pattern",title:o("Pattern"),options:[{label:o("Editable"),value:"editable"},{label:o("Readonly"),value:"readonly"},{label:o("Easy-reading"),value:"read-pretty"}],value:i,onChange:n=>{var a,l;const c={"x-uid":e["x-uid"]},u=(l=t.path)==null?void 0:l.splice(((a=t.path)==null?void 0:a.length)-1,1);switch(n){case"readonly":{e["x-read-pretty"]=!1,e["x-disabled"]=!0,c["x-read-pretty"]=!1,c["x-disabled"]=!0,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readonly=!0,m.disabled=!0});break}case"read-pretty":{e["x-read-pretty"]=!0,e["x-disabled"]=!1,c["x-read-pretty"]=!0,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!0});break}default:{e["x-read-pretty"]=!1,e["x-disabled"]=!1,c["x-read-pretty"]=!1,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!1,m.disabled+!1});break}}r.emit("patch",{schema:c}),r.refresh()}}):console.error("fieldSchema is required")}},{name:"fixed",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Fixed"),options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}],value:((e=o.componentProps)==null?void 0:e.fixed)||"none",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].fixed=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.fixed=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"hidden",type:"switch",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:(0,import_jsx_runtime.jsxs)("span",{children:[t("Hide column"),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:t("In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect."),children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{marginLeft:4,opacity:.65}})})]}),checked:e.componentProps.columnHidden,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{columnHidden:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.columnHidden=i,r.emit("patch",{schema:n}),r.refresh()}}}},fieldComponentSettingsItem]},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o={Select:"Select",DatePicker:"DatePicker",Nester:"Nester",SubTable:"SubTable",Picker:"Picker",PopoverNester:"PopoverNester",Tag:"Tag"},r=e.schemaSettingsManager.get(`fieldSettings:component:${o[t]||t}`);return(r==null?void 0:r.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!1,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseBlockSettings=new SchemaSettings({name:"blockSettings:filterCollapse",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}FilterCollapse`,collectionName:o,resourceName:n}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.COLLAPSE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterCollapseItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"customTitle",type:"modal",useComponentProps(){var e;const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),{getField:i}=useCollection_deprecated(),n=i(t.name)||r(t["x-collection-field"]),{dn:a}=useDesignable();return{title:o("Custom title"),schema:{type:"object",title:o("Custom title"),properties:{title:{default:t==null?void 0:t.title,description:`${o("Original title: ")}${((e=n==null?void 0:n.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{l&&(t.title=l,a.emit("patch",{schema:{"x-uid":t["x-uid"],title:t.title}})),a.refresh()}}}},{name:"defaultCollapse",type:"switch",useComponentProps(){const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Default collapse"),checked:t.componentProps.defaultCollapse,onChange:i=>{t.componentProps.defaultCollapse=i,import_lodash.default.set(e,"x-component-props.defaultCollapse",i),r.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]}}),r.refresh()}}}},{name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),{getCollectionJoinField:n}=useCollectionManager_deprecated(),{getField:a}=useCollection_deprecated(),l=a(o.name)||n(o["x-collection-field"]),{dn:c}=useDesignable();return{collectionName:l==null?void 0:l.target,defaultFilter:((t=(e=o==null?void 0:o["x-component-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:r,onSubmit:({filter:u})=>{var m;import_lodash.default.set(i.componentProps,"params",P(x({},(m=i.componentProps)==null?void 0:m.params),{filter:u})),o["x-component-props"].params=i.componentProps.params,c.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultSortingRules",Component:SchemaSettingsDefaultSortingRules,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=o(e.name)||t(e["x-collection-field"]);return{name:r==null?void 0:r.target}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"titleField",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=n(o.name)||i(o["x-collection-field"]),l=useCollectionManager(),c=useCompile(),{dn:u}=useDesignable(),m=(a!=null&&a.target?l.getCollectionFields(a==null?void 0:a.target):[]).filter(p=>!(p!=null&&p.target)&&p.type!=="boolean").map(p=>{var g;return{value:p==null?void 0:p.name,label:c((g=p==null?void 0:p.uiSchema)==null?void 0:g.title)||(p==null?void 0:p.name)}}),d=p=>{var g,h,_;const f={"x-uid":o["x-uid"]},v=P(x(x({},(h=(g=a==null?void 0:a.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),(_=o["x-component-props"])==null?void 0:_.fieldNames),{label:p});o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fieldNames=v,f["x-component-props"]=o["x-component-props"],u.emit("patch",{schema:f}),u.refresh()};return{key:"title-field",title:r("Title field"),options:m,value:(t=(e=o["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange:d}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue,componentProps:{hideVariableButton:!0}}]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterFormBlockSettings=new SchemaSettings({name:"blockSettings:filterForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FilterFormItem`,collectionName:r,resourceName:n}}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"connectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.FORM,emptyDescription:e("No blocks to connect")}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentNameMap=e=>e==="Select"?"FilterSelect":e==="Picker"?"FilterPicker":e,filterFormItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=useCompile(),n=(0,import_react.useFieldSchema)(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(n.name)||a(n["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=i(d),n.title=d,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)();return{title:o("Display title"),checked:(t=(e=n["x-decorator-props"])==null?void 0:e.showTitle)!=null?t:!0,onChange(a){n["x-decorator-props"]=n["x-decorator-props"]||{},n["x-decorator-props"].showTitle=a,i.decoratorProps.showTitle=a,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-decorator-props":P(x({},n["x-decorator-props"]),{showTitle:a})}}),r.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}}),t.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},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 validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const g={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const h=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=h,t.required=o.required,o["x-validator"]=p,g["x-validator"]=p,r.emit("patch",{schema:g}),i()}}},useVisible(){return!!useValidateSchema()}},{name:"operator",Component:EditOperator},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${fieldComponentNameMap(t)}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),markdownBlockSettings=new SchemaSettings({name:"blockSettings:markdown",items:[{name:"EditMarkdown",type:"item",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}}},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"setBlockTemplate",Component:SchemaSettingsRenderEngine},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),ellipsisSettingsItem={name:"ellipsis",type:"switch",useComponentProps(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=useTableFieldInstanceList(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),l=t||r,c=t?o[0]?!o[0].readPretty:!t["x-read-pretty"]:!i.readPretty;return{title:a("Ellipsis overflow content"),checked:!!((e=l["x-component-props"])!=null&&e.ellipsis),hidden:c,onChange:u=>V(this,null,function*(){t&&o?o.forEach(m=>{m.componentProps.ellipsis=u}):i.componentProps.ellipsis=u,import_lodash.default.set(l,"x-component-props.ellipsis",u),yield n.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":P(x({},l["x-component-props"]),{ellipsis:u})}})})}}},enableLinkSettingsItem={name:"enableLink",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o,{name:i}=useBlockContext()||{};return i!=="kanban"&&((r==null?void 0:r["x-read-pretty"])||e.readPretty)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableLink,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},openModeSettingsItem={name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return{openMode:!e,openSize:!e,targetSchema:t||o}},useVisible(){var e;const t=(0,import_react.useField)(),{fieldSchema:o}=useColumnSchema$1(),r=(0,import_react.useFieldSchema)(),i=o||r;return((i==null?void 0:i["x-read-pretty"])||t.readPretty)&&((e=i==null?void 0:i["x-component-props"])==null?void 0:e.enableLink)}},inputComponentSettings=new SchemaSettings({name:"fieldSettings:component:Input",items:[ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),enableLink$1={name:"enableLink",type:"switch",useVisible(){return(0,import_react.useField)().readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField$2={name:"titleField",type:"select",useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useTitleFieldOptions(),{uiSchema:c,fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,g=useCollectionField(),h=m||g,_=x(x(x({},(t=(e=h==null?void 0:h.uiSchema)==null?void 0:e["x-component-props"])==null?void 0:t.fieldNames),(o=n==null?void 0:n.componentProps)==null?void 0:o.fieldNames),(r=p==null?void 0:p["x-component-props"])==null?void 0:r.fieldNames);return{title:i("Title field"),options:l,value:_==null?void 0:_.label,onChange(f){var v,b,S,C,y;const F={"x-uid":p["x-uid"]},j=P(x(x({},(b=(v=h==null?void 0:h.uiSchema)==null?void 0:v["x-component-props"])==null?void 0:b.fieldNames),(S=p["x-component-props"])==null?void 0:S.fieldNames),{label:f});p["x-component-props"]=p["x-component-props"]||{},p["x-component-props"].fieldNames=j,F["x-component-props"]=p["x-component-props"],n.componentProps.fieldNames=p["x-component-props"].fieldNames;const k=(y=n.path)==null?void 0:y.splice(((C=n.path)==null?void 0:C.length)-1,1);n.form.query(`${k.concat("*."+p.name)}`).forEach(R=>{R.componentProps.fieldNames=_}),a.emit("patch",{schema:F}),a.refresh()}}}},getAllowMultiple=e=>{const t=(e==null?void 0:e.title)||"Allow multiple";return{name:"allowMultiple",type:"switch",useVisible(){return useIsAssociationField()},useComponentProps(){var o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c,refresh:u}=useDesignable();return{title:r(t),checked:((o=l["x-component-props"])==null?void 0:o.multiple)===void 0?!0:l["x-component-props"].multiple,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},i.componentProps=i.componentProps||{},l["x-component-props"].multiple=m,i.componentProps.multiple=m,d["x-component-props"]=l["x-component-props"],c.emit("patch",{schema:d}),u()}}}}},quickCreate={name:"quickCreate",type:"select",useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,m)=>m["x-component"]==="Action"?m:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},setDefaultSortingRules$1={name:"setDefaultSortingRules",Component:SchemaSettingsSortingRule},setTheDataScope={name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),{fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,g=m||n(p.name)||r(p["x-collection-field"]),h=useVariables$1(),_=useLocalVariables$1(),{dn:f}=useDesignable();return{collectionName:g==null?void 0:g.target,defaultFilter:((o=(t=(e=p==null?void 0:p["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:v=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},v),{form:a,collectionField:v.collectionField,record:l,shouldChange:getShouldChange({collectionField:v.collectionField,variables:h,localVariables:_,getAllCollectionsInheritChain:i})})),onSubmit:({filter:v})=>{v=removeNullCondition(v),import_lodash.default.set(p["x-component-props"],"service.params.filter",v),import_lodash.default.set(c.componentProps,"service.params.filter",v),f.emit("patch",{schema:{"x-uid":p["x-uid"],"x-component-props":p["x-component-props"]}})}}}},fieldComponent$7={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),l=useIsAddNewForm(),c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:a,value:c,onChange(m){var d,p;const g={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,g["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&l&&(g.default=null,n.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},selectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Select",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},quickCreate),{useVisible(){const e=useIsAssociationField(),t=useIsFieldReadPretty(),{fieldSchema:o}=useColumnSchema$1(),{type:r}=useDataBlockProps()||{};return e&&!o&&!t&&r!=="publicForm"}}),P(x({},getAllowMultiple()),{useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useIsShowMultipleSwitch();return!e&&t&&o()}}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}}),ellipsisSettingsItem,P(x({},enableLinkSettingsItem),{useVisible(){const e=useCollectionField(),t=useIsFieldReadPretty();return!useIsAssociationField()&&t&&e.interface!=="multipleSelect"}}),P(x({},openModeSettingsItem),{useVisible(){var e,t;const o=(0,import_react.useField)(),r=useIsAssociationField(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n;return((a==null?void 0:a["x-read-pretty"])||o.readPretty)&&(((e=a==null?void 0:a["x-component-props"])==null?void 0:e.enableLink)||r&&((t=a==null?void 0:a["x-component-props"])==null?void 0:t.enableLink)!==!1)}})]}),filterSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterSelect",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),getAllowMultiple({title:"Allow multiple selection"}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}})]}),fieldComponent$6={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},titleField$1={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,m;const d={"x-uid":i["x-uid"]},p=P(x(x({},(m=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,d["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:d}),n.refresh()}}}},cascadeSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:CascadeSelect",items:[fieldComponent$6,titleField$1,ellipsisSettingsItem,setTheDataScope]}),SchemaSettingsDateRange=function e(t){var o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v;const{fieldSchema:b}=t,S=(0,import_react.useField)(),{dn:C}=useDesignable(),{t:y}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:F}=useCollectionManager_deprecated(),{isInSubForm:j,isInSubTable:k}=useFlag()||{},R=F(b==null?void 0:b["x-collection-field"])||{},N=((o=b==null?void 0:b["x-component-props"])==null?void 0:o.showTime)||((i=(r=R==null?void 0:R.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.showTime)||!1,w=((n=b==null?void 0:b["x-component-props"])==null?void 0:n.dateFormat)||((l=(a=R==null?void 0:R.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.dateFormat)||"YYYY-MM-DD",O=((c=b==null?void 0:b["x-component-props"])==null?void 0:c.timeFormat)||((m=(u=R==null?void 0:R.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.timeFormat)||"HH:mm:ss",D=((d=b==null?void 0:b["x-component-props"])==null?void 0:d.picker)||((g=(p=R==null?void 0:R.uiSchema)==null?void 0:p["x-component-props"])==null?void 0:g.picker)||"date";b["x-read-pretty"]||S.readOnly||S.readPretty;const T=(h=b==null?void 0:b["x-component-props"])==null?void 0:h._minDate,$=(_=b==null?void 0:b["x-component-props"])==null?void 0:_._maxDate,B=((f=R==null?void 0:R.uiSchema)==null?void 0:f["x-component-props"].gmt)||!1,I=((v=R==null?void 0:R.uiSchema)==null?void 0:v["x-component-props"].utc)||!1,M=useRecord(),{form:z}=useFormBlockContext(),E=(0,import_react2.useCallback)(q=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{"x-component":"DatePicker","x-component-props":{dateFormat:w,timeFormat:O,gmt:B,utc:I,picker:D,showTime:N,placeholder:'{{t("Please select time or variable")}}',style:{minWidth:385}},name:"value","x-read-pretty":!1,"x-validator":void 0,"x-decorator":void 0}}),[w,B,D,N,O,I]),L=(0,import_react2.useCallback)(q=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},q),{form:z,record:M,noDisabled:!0,renderSchemaComponent:E})),[b,z,M,E]);function U(q){if(q!=null){if(typeof q=="string")return q;if(typeof q=="object"&&Object.prototype.hasOwnProperty.call(q,"value"))return U(q.value)}}return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:y("Date range limit"),schema:{type:"object","x-decorator":"",properties:{_minDate:{type:"string",title:'{{t("MinDate")}}',"x-decorator":"FormItem","x-component":L,"x-component-props":{name:"_minDate"},default:isVariable$1(T)?T:{value:T}},_maxDate:{type:"string",title:'{{t("MaxDate")}}',"x-decorator":"FormItem","x-component":L,"x-component-props":{name:"_maxDate"},default:isVariable$1($)?$:{value:$}}}},onSubmit:q=>{const G={"x-uid":b["x-uid"]};G["x-component-props"]=S.componentProps||{},b["x-component-props"]=P(x({},S.componentProps||{}),{_maxDate:U(q==null?void 0:q._maxDate),_minDate:U(q==null?void 0:q._minDate)}),G["x-component-props"]=b["x-component-props"],S.componentProps=b["x-component-props"];const W=S.path.entire.split(".");W.pop();const H=W.join(".");S.query(`${H}.*[0:].${b.name}`).forEach(K=>{K.props.name===b.name&&K.setComponentProps({_maxDate:U(q==null?void 0:q._maxDate),_minDate:U(q==null?void 0:q._minDate)})}),C.emit("patch",{schema:G}),C.refresh()},ModalContextProvider:q=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInFormDataTemplate:!0,children:q.children})})},datePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},{name:"dateScopeSelect",Component:SchemaSettingsDateRange,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useFieldSchema)(),o=e||t;return!(o!=null&&o["x-read-pretty"])}},ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),rangePickerPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker.RangePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},ellipsisSettingsItem]}),fieldComponent$5={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},showFileName={name:"showFileName",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Show file name"),checked:((e=n["x-component-props"])==null?void 0:e.showFileName)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.showFileName=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].showFileName=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}}},fileManagerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FileManager",items:[fieldComponent$5,{name:"quickUpload",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Quick upload"),checked:((e=n["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.quickUpload=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].quickUpload=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"selectFile",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Select file"),checked:((e=n["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.selectFile=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].selectFile=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),{fieldSchema:t}=useColumnSchema$1();return e&&!t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName,P(x({},getAllowMultiple()),{useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()}})]}),designerCss$3=import_css.css`
665
665
  position: relative;
666
666
  &:hover {
667
667
  > .general-schema-designer {
@@ -699,7 +699,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
699
699
  }
700
700
  }
701
701
  }
702
- `,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),m=n(u.name)||r(u["x-collection-field"]),d=useVariables$1(),p=useLocalVariables$1(),{dn:g}=useDesignable();return{collectionName:m==null?void 0:m.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:h=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:a,collectionField:h.collectionField,record:l,shouldChange:getShouldChange({collectionField:h.collectionField,variables:d,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:h})=>{h=removeNullCondition(h),import_lodash.default.set(c.componentProps,"service.params.filter",h),u["x-component-props"]=c.componentProps,g.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=(0,import_react.useFieldSchema)(),{multiple:t}=e["x-component-props"],o=useIsFieldReadPretty(),r=useCollectionField();return!o&&t!==!1&&["hasMany","belongsToMany"].includes(r==null?void 0:r.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(m=>m!=null&&m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=d,o["x-component-props"].sortArr=d,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useCollectionManager().getCollectionField(t["x-collection-field"]),{rerenderDataBlock:r}=useRerenderDataBlock();return{collectionName:o==null?void 0:o.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:r}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){var d,p;const g={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,g["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(g.default=null,l.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$2]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(m){const d={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,d["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&c&&(d.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:d}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$2,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),m=n||u,{dn:d}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var g,h;const _={"x-uid":l["x-uid"]},f=P(x(x({},(h=(g=m==null?void 0:m.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=f,_["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,d.emit("patch",{schema:_}),d.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:m}=useDesignable(),d=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:d,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const g={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,g["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,m.emit("patch",{schema:g}),m.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),SchemaSettingsTimeFormat=function e(t){var o,r,i;const{fieldSchema:n}=t,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:u}=useCollectionManager_deprecated(),m=u(n==null?void 0:n["x-collection-field"])||{},d=((o=n==null?void 0:n["x-component-props"])==null?void 0:o.format)||((i=(r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.format)||"HH:mm:ss";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Time format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{format:{type:"string",title:'{{t("Time format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{className:import_css.css`
702
+ `,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),m=n(u.name)||r(u["x-collection-field"]),d=useVariables$1(),p=useLocalVariables$1(),{dn:g}=useDesignable();return{collectionName:m==null?void 0:m.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:h=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:a,collectionField:h.collectionField,record:l,shouldChange:getShouldChange({collectionField:h.collectionField,variables:d,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:h})=>{h=removeNullCondition(h),import_lodash.default.set(c.componentProps,"service.params.filter",h),u["x-component-props"]=c.componentProps,g.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=(0,import_react.useFieldSchema)(),{multiple:t}=e["x-component-props"],o=useIsFieldReadPretty(),r=useCollectionField();return!o&&t!==!1&&["hasMany","belongsToMany"].includes(r==null?void 0:r.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(m=>m!=null&&m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=d,o["x-component-props"].sortArr=d,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1(),r=o||t,i=useCollectionManager().getCollectionField(r["x-collection-field"]),{rerenderDataBlock:n}=useRerenderDataBlock();return{collectionName:i==null?void 0:i.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:n}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){var d,p;const g={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,g["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(g.default=null,l.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$2]}),filterRecordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterPicker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,getAllowMultiple({title:"Allow multiple selection"}),titleField$2]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(m){const d={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,d["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&c&&(d.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:d}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$2,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),m=n||u,{dn:d}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var g,h;const _={"x-uid":l["x-uid"]},f=P(x(x({},(h=(g=m==null?void 0:m.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=f,_["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,d.emit("patch",{schema:_}),d.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:m}=useDesignable(),d=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:d,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const g={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,g["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,m.emit("patch",{schema:g}),m.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),SchemaSettingsTimeFormat=function e(t){var o,r,i;const{fieldSchema:n}=t,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:u}=useCollectionManager_deprecated(),m=u(n==null?void 0:n["x-collection-field"])||{},d=((o=n==null?void 0:n["x-component-props"])==null?void 0:o.format)||((i=(r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.format)||"HH:mm:ss";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Time format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{format:{type:"string",title:'{{t("Time format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{className:import_css.css`
703
703
  margin-bottom: 0px;
704
704
  `},"x-component-props":{className:import_css.css`
705
705
  color: red;
@@ -707,7 +707,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
707
707
  display: flex;
708
708
  margin: 5px 0px;
709
709
  }
710
- `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const g={"x-uid":n["x-uid"]};g["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),g["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const h=a.path.entire.split(".");h.pop();const _=h.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:g}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]});class SchemaSettingsPlugin extends Plugin{load(){return V(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?paginate=false",belongsTo:"get",hasOne:"get",belongsToMany:"list?paginate=false",belongsToArray:"list?paginate=false"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){var S,C;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:R,dataSource:N,variableOption:w}=getFieldPath$1(F,j);let O=R;const{fieldPath:D}=getFieldPath$1(f,j),T=y.length===1?w==null?void 0:w.collectionName:(S=i(D,N))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let B=0;B<y.length;B++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:N,collectionName:T};const I=y[B],M=y.slice(0,B+1).join("."),{fieldPath:z}=getFieldPath$1(M,j),E=i(z,N),L=(C=n(O,N))==null?void 0:C.getPrimaryKey();if(Array.isArray(k)){const U=k.map(q=>{if(!(b!=null&&b.doNotRequest)&&shouldToRequest(q==null?void 0:q[I])&&(q==null?void 0:q[L])!=null&&E!=null&&E.target){const G=`/${O}/${q[E.sourceKey||L]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const W=r.request({headers:getDataSourceHeaders(N),url:G,params:{appends:b==null?void 0:b.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,W),W}return q==null?void 0:q[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(b!=null&&b.doNotRequest)&&shouldToRequest(k[I])&&k[L]!=null&&E!=null&&E.target){const U=`/${O}/${k[E.sourceKey||L]}/${I}:${getAction(E.type)}`;let q=null;if(hasRequested(U))q=yield getRequested(U);else{const W=r.request({headers:getDataSourceHeaders(N),url:U,params:{appends:b==null?void 0:b.appends}});stashRequested(U,W),q=yield W,clearRequested(U)}const G=q.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(O=E.target)}const $=a(import_lodash.default.isFunction(k)?k({fieldOperator:b==null?void 0:b.fieldOperator,isParsingVariable:!0}):k);return{value:$===void 0?w.defaultValue:$,dataSource:N,collectionName:T}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const b=x({},v);return delete b[f],b}),delete variablesStore[f]},[c]),g=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),C=yield u(S,v,b);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((f,v)=>V(void 0,null,function*(){var b;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(C,S);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(b=S[C])==null?void 0:b.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:m,getVariable:d,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,d,g,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v,b,S;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=C(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(b=this.props.schema)==null?void 0:b["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(g=_)}if((0,import_shared.isFn)(i)&&i(g,m)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:g}=e,h=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:b}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:C}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&g&&(y.parent=g,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(O=>{O===y.name&&(w.properties[O]=_.current)}),S(),C==null||C()},[y,C,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=b,createMergedSchemaInstance(y,v,n)):y,[v,b,y,n,p]),k=useFieldProps(j),R=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:h,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},N=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?R():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:h,children:R})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:h})):j.type==="void"?n?R():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:h,children:R})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:h})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:h,schema:j}):R();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:N()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.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:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return V(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:g,disabled:h,actionCallback:_,confirm:f,addChild:v,onMouseEnter:b,refreshDataBlockRequest:S,confirmTitle:C}=o,y=Y(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),R=useCompile(),N=useCollectionRecordData(),w=R((t=k["x-component-props"])==null?void 0:t.confirm)||f,O=(0,import_react2.useMemo)(()=>(k==null?void 0:k["x-linkage-rules"])||[],[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),T=useComponent(n)||n,$=useVariables$1(),B=useLocalVariables$1({currentForm:{values:N,readPretty:!1}}),{visibleWithURL:I,setVisibleWithURL:M}=usePopupUtils(),{setSubmitted:z}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),L=useCollectionParentRecordData(),U=useApp();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(G=>!G.disabled).forEach(G=>{var W;(W=G.actions)==null||W.forEach(H=>{linkageAction({operator:H.operator,field:j,condition:G.condition,variables:$,localVariables:B},U.jsonLogic)})})},[j,O,B,$]);const q=(0,import_react2.useCallback)(G=>{b==null||b(G)},[b]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:q,tarComponent:T,className:l,type:e.type,Designer:F,onClick:m,confirm:w,confirmTitle:C,popover:r,addChild:v,recordData:N,title:u,style:d,propsDisabled:h,useAction:a,visibleWithURL:I,setVisibleWithURL:M,setSubmitted:z,getAriaLabel:E,parentRecordData:L,actionCallback:_},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:g,handleMouseEnter:h,tarComponent:_,className:f,type:v,Designer:b,onClick:S,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:k,title:R,style:N,propsDisabled:w,useAction:O,actionCallback:D,visibleWithURL:T,setVisibleWithURL:$,setSubmitted:B,getAriaLabel:I,parentRecordData:M}=l,z=Y(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,L]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$8(),[W,H]=(0,import_react2.useState)(!1),K=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),re=(0,import_react.useForm)(),ne=useACLActionParamsContext(),{run:le,element:me,disabled:xe}=(O==null?void 0:O(D))||{},ce=re.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},N),{opacity:m&&(((se=d==null?void 0:d.data)==null?void 0:se.hidden)||!ne)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":N==null?void 0:N.color})},[ne,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,N,ce]),he={designable:m,field:d,aclCtx:ne,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:_,designerProps:K,componentCls:q,hashId:G,className:f,others:z,getAriaLabel:I,type:v,Designer:b,onClick:S,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:L,run:le,confirm:C,modal:te,setSubmitted:B,confirmTitle:y,title:R},ge=(0,import_react2.useCallback)(se=>{L==null||L(se),$==null||$(se)},[$]);let de=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:E||T,setVisible:ge,formValueChanged:W,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:B,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),me]})});return isBulkEditAction(u)&&(de=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:de})),U(j?(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:de}):de)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:g,getAriaLabel:h,type:_,Designer:f,onClick:v,refreshDataBlockRequest:b,fieldSchema:S,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:R,title:N})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:T}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=T;const B=(0,import_react2.useCallback)((I,M=!0)=>{if(!(M&&(0,import_client.isPortalInBody)(I.target))&&(I.preventDefault(),I.stopPropagation(),!n&&o)){const z=()=>{v?v(I,()=>{var E,L;b!==!1&&(k==null||k(!0),(L=(E=w())==null?void 0:E.refresh)==null||L.call(E))}):isBulkEditAction(S)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:R||N||(t==null?void 0:t.title)}),content:O(F.content,{title:R||N||(t==null?void 0:t.title)}),onOk:z}):z()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,R,n,t,S,D,j,v,b,y,k,C,O,N,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:B,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:N},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:_,hashId:f,className:v,type:b,Designer:S,designerProps:C,title:y,isLink:F}=r,j=Y(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink"]),k=(0,import_react2.useCallback)((0,import_debounce.default)((T,$=!0)=>{g(T,$)},300,{leading:!0,trailing:!1}),[g]);if((0,import_react2.useEffect)(()=>()=>{k.cancel()},[]),!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const R=y||(n==null?void 0:n.title),N=m,{opacity:w}=N,O=Y(N,["opacity"]),D=F&&w?{opacity:w}:void 0;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},j),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:D}):l,disabled:u,style:F?O:m,onClick:k,component:h||import_antd.Button,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:b==="danger"?void 0:b,children:[R&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:D,children:R}),(0,import_jsx_runtime.jsx)(S,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=Y(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return V(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));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"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=Y(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$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(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})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=Y(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return V(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=Y(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(f=>f).map(f=>(0,import_client.isPlainObject)(f)?f[n.value]:f),_=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(f=>({label:f[n.label],value:f[n.value]}));return["tags","multiple"].includes(a)||e.multiple?_:_.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:d(o),defaultValue:d(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,_;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((_=g==null?void 0:g[n.label||"label"])!=null?_:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=Y(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const m=d=>["tags","multiple"].includes(e.mode)||e.multiple?d?(0,import_shared.toArr)(d):void 0:d;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:m(i),defaultValue:m(a),tagRender:d=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":d.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},d),{children:d.label}))},c(l)),{onChange:d=>{var p;(p=e.onChange)==null||p.call(e,d===void 0?null:d)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>V(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:m=!0,mapOptions:d,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:_,toOptionsItem:f=W=>W,popupMatchSelectWidth:v=!1}=r,b=Y(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),S=useDataSourceKey(),C=useDataSourceHeaders(_||S),y=(0,import_react2.useRef)(!1),F=(0,import_react.useFieldSchema)(),j=((t=F["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:k}=useCollection_deprecated(),R=(0,import_react2.useRef)(null),{getCollectionJoinField:N,getInterface:w}=useCollectionManager_deprecated(),O=F["x-collection-field"]||F.name,D=k(O)||N(O),T=p||(D==null?void 0:D.target)&&(i==null?void 0:i.label)&&N(`${D.target}.${i.label}`),$=(0,import_react2.useMemo)(()=>{var W;if(T!=null&&T.interface){const H=w(T.interface),K=((W=H==null?void 0:H.filterable)==null?void 0:W.operators[0].value)||"$includes";return T.type==="string"?"$includes":K}return"$includes"},[T]),B=useCompile(),I=(0,import_react2.useCallback)(W=>{try{return W.filter(H=>["number","string"].includes(typeof H[i.value])||!H[i.value]).map(H=>{var K;let J=B(H[i.label]);if((K=T==null?void 0:T.uiSchema)!=null&&K.enum)if(Array.isArray(J))J=J.map((Q,Z)=>{const te=T.uiSchema.enum.find(re=>re.value===Q);return te?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,style:{marginRight:3},children:(te==null?void 0:te.label)||Q},Z):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:Q},Q)}).reverse();else{const Q=T.uiSchema.enum.find(Z=>Z.value===J);Q&&(J=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:Q.color,children:Q.label}))}return(T==null?void 0:T.type)==="date"&&(J=(0,import_dayjs.default)(J).format("YYYY-MM-DD")),d?d({[i.label]:J||EMPTY$1,[i.value]:H[i.value]}):P(x({},H),{[i.label]:J||EMPTY$1,[i.value]:H[i.value]})}).filter(Boolean)}catch(H){return console.error(H),W}},[T==null?void 0:T.uiSchema,i]),{data:M,run:z,loading:E}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:m,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),L=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),U=(0,import_react2.useCallback)(()=>R.current&&g?(0,import_jsx_runtime.jsx)(g,{search:R.current,callBack:()=>{R.current=null}}):null,[R.current]);(0,import_react2.useEffect)(()=>{y.current&&z()},[L]);const q=W=>V(void 0,null,function*(){var H;z({filter:mergeFilter([W?{[i.label]:{[$]:W}}:{},(H=n==null?void 0:n.params)==null?void 0:H.filter])}),R.current=W}),G=(0,import_react2.useMemo)(()=>{var W;const H=l||c;if(!((W=M==null?void 0:M.data)!=null&&W.length))return H!=null?Array.isArray(H)?H:[H]:[];const K=H!=null&&(Array.isArray(H)?H.map(Q=>P(x({},Q),{[i.value]:Q[i.value]||Q})):[P(x({},H),{[i.value]:H[i.value]||H})])||[],J=typeof h=="function"?M.data.filter(h):M.data;return(0,import_lodash.uniqBy)(J.concat(K??[]),i.value)},[l,c,M==null?void 0:M.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:q,onDropdownVisibleChange:W=>{R.current=null,W&&z(),y.current=!0},objectValue:u,value:l,defaultValue:c},b),{loading:M?E:!0,options:f(I(G)),rawOptions:G,dropdownRender:W=>{const H=G.some(K=>K[i.label]===R.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:j?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((M==null?void 0:M.data.length)===0&&R!=null&&R.current)&&W,(M==null?void 0:M.data.length)>0&&(R==null?void 0:R.current)&&!H&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!H&&(0,import_jsx_runtime.jsx)(U,{})]}):W})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(m=>r(`${c.collection}.${m}`)?m:"").filter(Boolean)}catch(m){(0,import_client.error)(m),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,m]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[d,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=useDataSourceKey(),f=useDataSourceHeaders(_);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,f))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||S("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),b=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),S=(0,import_react2.useCallback)(F=>V(void 0,null,function*(){m(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,k)=>V(void 0,null,function*(){const R=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,R,k).then(N=>(t&&N&&(t.reset(),t.__template=!0,(0,import_client.forEach)(N,(w,O)=>{var D;w&&(t.values[O]=w,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,w))})),N)).catch(N=>{console.error(N)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:b,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:S}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:d,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),f),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return V(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:m,enabled:d}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),_=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,f=c?u:0,v=useDataBlockRequestData(),{count:b,pageSize:S}=(v==null?void 0:v.meta)||{},C=b>S?n.controlHeightSM+24:0,y=m&&d?n.controlHeight+2*n.padding+n.margin:0;return r-_-n.paddingLG-f-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:m}=import_antd.theme.useToken(),{layout:d="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};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:d},i),{labelAlign:p,labelWidth:d==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
710
+ `,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const g={"x-uid":n["x-uid"]};g["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),g["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const h=a.path.entire.split(".");h.pop();const _=h.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:g}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});class SchemaSettingsPlugin extends Plugin{load(){return V(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(filterRecordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?paginate=false",belongsTo:"get",hasOne:"get",belongsToMany:"list?paginate=false",belongsToArray:"list?paginate=false"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){var S,C;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:R,dataSource:N,variableOption:w}=getFieldPath$1(F,j);let O=R;const{fieldPath:D}=getFieldPath$1(f,j),T=y.length===1?w==null?void 0:w.collectionName:(S=i(D,N))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let B=0;B<y.length;B++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:N,collectionName:T};const I=y[B],M=y.slice(0,B+1).join("."),{fieldPath:z}=getFieldPath$1(M,j),E=i(z,N),L=(C=n(O,N))==null?void 0:C.getPrimaryKey();if(Array.isArray(k)){const U=k.map(q=>{if(!(b!=null&&b.doNotRequest)&&shouldToRequest(q==null?void 0:q[I])&&(q==null?void 0:q[L])!=null&&E!=null&&E.target){const G=`/${O}/${q[E.sourceKey||L]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const W=r.request({headers:getDataSourceHeaders(N),url:G,params:{appends:b==null?void 0:b.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,W),W}return q==null?void 0:q[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(b!=null&&b.doNotRequest)&&shouldToRequest(k[I])&&k[L]!=null&&E!=null&&E.target){const U=`/${O}/${k[E.sourceKey||L]}/${I}:${getAction(E.type)}`;let q=null;if(hasRequested(U))q=yield getRequested(U);else{const W=r.request({headers:getDataSourceHeaders(N),url:U,params:{appends:b==null?void 0:b.appends}});stashRequested(U,W),q=yield W,clearRequested(U)}const G=q.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(O=E.target)}const $=a(import_lodash.default.isFunction(k)?k({fieldOperator:b==null?void 0:b.fieldOperator,isParsingVariable:!0}):k);return{value:$===void 0?w.defaultValue:$,dataSource:N,collectionName:T}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const b=x({},v);return delete b[f],b}),delete variablesStore[f]},[c]),g=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),C=yield u(S,v,b);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((f,v)=>V(void 0,null,function*(){var b;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(C,S);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(b=S[C])==null?void 0:b.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:m,getVariable:d,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,d,g,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v,b,S;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=C(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(b=this.props.schema)==null?void 0:b["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(g=_)}if((0,import_shared.isFn)(i)&&i(g,m)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:g}=e,h=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:b}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:C}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&g&&(y.parent=g,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(O=>{O===y.name&&(w.properties[O]=_.current)}),S(),C==null||C()},[y,C,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=b,createMergedSchemaInstance(y,v,n)):y,[v,b,y,n,p]),k=useFieldProps(j),R=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:h,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},N=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?R():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:h,children:R})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:h})):j.type==="void"?n?R():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:h,children:R})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:h})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:h,schema:j}):R();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:N()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.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:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return V(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:g,disabled:h,actionCallback:_,confirm:f,addChild:v,onMouseEnter:b,refreshDataBlockRequest:S,confirmTitle:C}=o,y=Y(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),R=useCompile(),N=useCollectionRecordData(),w=R((t=k["x-component-props"])==null?void 0:t.confirm)||f,O=(0,import_react2.useMemo)(()=>(k==null?void 0:k["x-linkage-rules"])||[],[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),T=useComponent(n)||n,$=useVariables$1(),B=useLocalVariables$1({currentForm:{values:N,readPretty:!1}}),{visibleWithURL:I,setVisibleWithURL:M}=usePopupUtils(),{setSubmitted:z}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),L=useCollectionParentRecordData(),U=useApp();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(G=>!G.disabled).forEach(G=>{var W;(W=G.actions)==null||W.forEach(H=>{linkageAction({operator:H.operator,field:j,condition:G.condition,variables:$,localVariables:B},U.jsonLogic)})})},[j,O,B,$]);const q=(0,import_react2.useCallback)(G=>{b==null||b(G)},[b]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:q,tarComponent:T,className:l,type:e.type,Designer:F,onClick:m,confirm:w,confirmTitle:C,popover:r,addChild:v,recordData:N,title:u,style:d,propsDisabled:h,useAction:a,visibleWithURL:I,setVisibleWithURL:M,setSubmitted:z,getAriaLabel:E,parentRecordData:L,actionCallback:_},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:g,handleMouseEnter:h,tarComponent:_,className:f,type:v,Designer:b,onClick:S,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:k,title:R,style:N,propsDisabled:w,useAction:O,actionCallback:D,visibleWithURL:T,setVisibleWithURL:$,setSubmitted:B,getAriaLabel:I,parentRecordData:M}=l,z=Y(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,L]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$8(),[W,H]=(0,import_react2.useState)(!1),K=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),re=(0,import_react.useForm)(),ne=useACLActionParamsContext(),{run:le,element:me,disabled:xe}=(O==null?void 0:O(D))||{},ce=re.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},N),{opacity:m&&(((se=d==null?void 0:d.data)==null?void 0:se.hidden)||!ne)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":N==null?void 0:N.color})},[ne,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,N,ce]),he={designable:m,field:d,aclCtx:ne,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:_,designerProps:K,componentCls:q,hashId:G,className:f,others:z,getAriaLabel:I,type:v,Designer:b,onClick:S,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:L,run:le,confirm:C,modal:te,setSubmitted:B,confirmTitle:y,title:R},ge=(0,import_react2.useCallback)(se=>{L==null||L(se),$==null||$(se)},[$]);let de=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:E||T,setVisible:ge,formValueChanged:W,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:B,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),me]})});return isBulkEditAction(u)&&(de=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:de})),U(j?(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:de}):de)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:g,getAriaLabel:h,type:_,Designer:f,onClick:v,refreshDataBlockRequest:b,fieldSchema:S,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:R,title:N})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:T}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=T;const B=(0,import_react2.useCallback)((I,M=!0)=>{if(!(M&&(0,import_client.isPortalInBody)(I.target))&&(I.preventDefault(),I.stopPropagation(),!n&&o)){const z=()=>{v?v(I,()=>{var E,L;b!==!1&&(k==null||k(!0),(L=(E=w())==null?void 0:E.refresh)==null||L.call(E))}):isBulkEditAction(S)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:R||N||(t==null?void 0:t.title)}),content:O(F.content,{title:R||N||(t==null?void 0:t.title)}),onOk:z}):z()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,R,n,t,S,D,j,v,b,y,k,C,O,N,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:B,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:N},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:_,hashId:f,className:v,type:b,Designer:S,designerProps:C,title:y,isLink:F}=r,j=Y(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink"]),k=(0,import_react2.useCallback)((0,import_debounce.default)((T,$=!0)=>{g(T,$)},300,{leading:!0,trailing:!1}),[g]);if((0,import_react2.useEffect)(()=>()=>{k.cancel()},[]),!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const R=y||(n==null?void 0:n.title),N=m,{opacity:w}=N,O=Y(N,["opacity"]),D=F&&w?{opacity:w}:void 0;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},j),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:D}):l,disabled:u,style:F?O:m,onClick:k,component:h||import_antd.Button,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:b==="danger"?void 0:b,children:[R&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:D,children:R}),(0,import_jsx_runtime.jsx)(S,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=Y(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return V(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));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"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=Y(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$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(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})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=Y(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return V(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=Y(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(f=>f).map(f=>(0,import_client.isPlainObject)(f)?f[n.value]:f),_=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(f=>({label:f[n.label],value:f[n.value]}));return["tags","multiple"].includes(a)||e.multiple?_:_.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:d(o),defaultValue:d(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,_;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((_=g==null?void 0:g[n.label||"label"])!=null?_:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=Y(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const m=d=>["tags","multiple"].includes(e.mode)||e.multiple?d?(0,import_shared.toArr)(d):void 0:d;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:m(i),defaultValue:m(a),tagRender:d=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":d.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},d),{children:d.label}))},c(l)),{onChange:d=>{var p;(p=e.onChange)==null||p.call(e,d===void 0?null:d)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>V(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:m=!0,mapOptions:d,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:_,toOptionsItem:f=W=>W,popupMatchSelectWidth:v=!1}=r,b=Y(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),S=useDataSourceKey(),C=useDataSourceHeaders(_||S),y=(0,import_react2.useRef)(!1),F=(0,import_react.useFieldSchema)(),j=((t=F["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:k}=useCollection_deprecated(),R=(0,import_react2.useRef)(null),{getCollectionJoinField:N,getInterface:w}=useCollectionManager_deprecated(),O=F["x-collection-field"]||F.name,D=k(O)||N(O),T=p||(D==null?void 0:D.target)&&(i==null?void 0:i.label)&&N(`${D.target}.${i.label}`),$=(0,import_react2.useMemo)(()=>{var W;if(T!=null&&T.interface){const H=w(T.interface),K=((W=H==null?void 0:H.filterable)==null?void 0:W.operators[0].value)||"$includes";return T.type==="string"?"$includes":K}return"$includes"},[T]),B=useCompile(),I=(0,import_react2.useCallback)(W=>{try{return W.filter(H=>["number","string"].includes(typeof H[i.value])||!H[i.value]).map(H=>{var K;let J=B(H[i.label]);if((K=T==null?void 0:T.uiSchema)!=null&&K.enum)if(Array.isArray(J))J=J.map((Q,Z)=>{const te=T.uiSchema.enum.find(re=>re.value===Q);return te?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,style:{marginRight:3},children:(te==null?void 0:te.label)||Q},Z):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:Q},Q)}).reverse();else{const Q=T.uiSchema.enum.find(Z=>Z.value===J);Q&&(J=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:Q.color,children:Q.label}))}return(T==null?void 0:T.type)==="date"&&(J=(0,import_dayjs.default)(J).format("YYYY-MM-DD")),d?d({[i.label]:J||EMPTY$1,[i.value]:H[i.value]}):P(x({},H),{[i.label]:J||EMPTY$1,[i.value]:H[i.value]})}).filter(Boolean)}catch(H){return console.error(H),W}},[T==null?void 0:T.uiSchema,i]),{data:M,run:z,loading:E}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:m,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),L=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),U=(0,import_react2.useCallback)(()=>R.current&&g?(0,import_jsx_runtime.jsx)(g,{search:R.current,callBack:()=>{R.current=null}}):null,[R.current]);(0,import_react2.useEffect)(()=>{y.current&&z()},[L]);const q=W=>V(void 0,null,function*(){var H;z({filter:mergeFilter([W?{[i.label]:{[$]:W}}:{},(H=n==null?void 0:n.params)==null?void 0:H.filter])}),R.current=W}),G=(0,import_react2.useMemo)(()=>{var W;const H=l||c;if(!((W=M==null?void 0:M.data)!=null&&W.length))return H!=null?Array.isArray(H)?H:[H]:[];const K=H!=null&&(Array.isArray(H)?H.map(Q=>P(x({},Q),{[i.value]:Q[i.value]||Q})):[P(x({},H),{[i.value]:H[i.value]||H})])||[],J=typeof h=="function"?M.data.filter(h):M.data;return(0,import_lodash.uniqBy)(J.concat(K??[]),i.value)},[l,c,M==null?void 0:M.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:q,onDropdownVisibleChange:W=>{R.current=null,W&&z(),y.current=!0},objectValue:u,value:l,defaultValue:c},b),{loading:M?E:!0,options:f(I(G)),rawOptions:G,dropdownRender:W=>{const H=G.some(K=>K[i.label]===R.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:j?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((M==null?void 0:M.data.length)===0&&R!=null&&R.current)&&W,(M==null?void 0:M.data.length)>0&&(R==null?void 0:R.current)&&!H&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!H&&(0,import_jsx_runtime.jsx)(U,{})]}):W})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(m=>r(`${c.collection}.${m}`)?m:"").filter(Boolean)}catch(m){(0,import_client.error)(m),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,m]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[d,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=useDataSourceKey(),f=useDataSourceHeaders(_);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,f))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||S("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),b=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),S=(0,import_react2.useCallback)(F=>V(void 0,null,function*(){m(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,k)=>V(void 0,null,function*(){const R=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,R,k).then(N=>(t&&N&&(t.reset(),t.__template=!0,(0,import_client.forEach)(N,(w,O)=>{var D;w&&(t.values[O]=w,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,w))})),N)).catch(N=>{console.error(N)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:b,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:S}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:d,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),f),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return V(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:m,enabled:d}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),_=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,f=c?u:0,v=useDataBlockRequestData(),{count:b,pageSize:S}=(v==null?void 0:v.meta)||{},C=b>S?n.controlHeightSM+24:0,y=m&&d?n.controlHeight+2*n.padding+n.margin:0;return r-_-n.paddingLG-f-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:m}=import_antd.theme.useToken(),{layout:d="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};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:d},i),{labelAlign:p,labelWidth:d==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
711
711
  .nb-grid-container {
712
712
  height: ${u?u+"px":"100%"};
713
713
  overflow-y: auto;
@@ -928,7 +928,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
928
928
  white-space: ${h?"break-all":"nowrap"};
929
929
  }
930
930
  }
931
- `),children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address,schema:i,filterProperties:f=>f["x-component"]==="AssociationField.Nester"})})})})})},{displayName:"InternalNester"}),useTableSelectorProps$2=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const g=flatData$2(e.value)||[],h=(0,import_lodash.differenceBy)(i||[],g,c),_=(0,import_lodash.unionBy)(h,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})},InternalPicker=(0,import_react.observer)(e=>{var t;const o=e,{value:r,multiple:i,openSize:n,onChange:a,quickUpload:l,selectFile:c,shouldMountElement:u}=o,m=Y(o,["value","multiple","openSize","onChange","quickUpload","selectFile","shouldMountElement"]),d=(0,import_react.useField)(),p=useFieldNames$1(e),[g,h]=(0,import_react2.useState)(!1),_=(0,import_react.useFieldSchema)(),f=useInsertSchema$1("Selector"),{options:v}=useAssociationFieldContext(),{collectionName:b}=useFormBlockContext(),S=useCompile(),C=useLabelUiSchema$1(v,(p==null?void 0:p.label)||"label"),y=_["x-add-new"],[F,j]=(0,import_react2.useState)([]),k=useCollectionRecordData(),R=(0,import_react2.useMemo)(()=>r&&Object.keys(r).length>0?(Array.isArray(r)?r:r?[r]:[]).filter(Boolean).map(T=>{const $=T==null?void 0:T[p.label];return P(x({},T),{[p.label]:getLabelFormatValue$1(S(C),S($))})}):[],[r,p==null?void 0:p.label]),N={size:"small",fieldNames:p,multiple:i!==!1&&["o2m","m2m","mbm"].includes(v==null?void 0:v.interface),association:{target:v==null?void 0:v.target},options:R,onChange:e==null?void 0:e.onChange,selectedRows:F,setSelectedRows:j,collectionField:v,currentFormCollection:b},w=()=>{var T;return i==null?null:Array.isArray(r)?(T=r.filter(Boolean))==null?void 0:T.map($=>$==null?void 0:$[p.value]):r==null?void 0:r[p.value]},O=()=>{const T=(v==null?void 0:v.targetKey)||"id",$=R.map(B=>B[T]).filter(Boolean);return $.length?{$and:[{[`${T}.$ne`]:$}]}:{}},D=()=>{const{setVisible:T}=useActionContext(),{multiple:$,selectedRows:B,onChange:I,options:M,collectionField:z}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){I($?(0,import_lodash.unionBy)(B,M,(z==null?void 0:z.targetKey)||"id"):(B==null?void 0:B[0])||null),T(!1)},style:{display:$!==!1&&["o2m","m2m","mbm"].includes(z==null?void 0:z.interface)?"block":"none"}}};return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex",lineHeight:"32px"},children:[(0,import_jsx_runtime.jsx)("div",{style:{width:"100%"},children:(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":"select-data-picker",style:{width:"100%"},popupMatchSelectWidth:!1},m),{mode:i?"multiple":e.mode,fieldNames:p,onDropdownVisibleChange:T=>{f(schema$1.Selector),h(!0)},allowClear:!0,onChange:T=>{if(T){if(Array.isArray(T)){if(!T.length){a([]),j([]);return}const $=R==null?void 0:R.filter(B=>T.includes(B[p.value]));a($),j($)}}else{const $=i?[]:null;a($),j($)}},options:R,value:w(),open:!1}))}),y&&(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:k,children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:d.address,schema:_,filterProperties:T=>T["x-component"]==="Action"})})})]}),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openSize:((t=_["x-component-props"])==null?void 0:t.openSize)||n,openMode:"drawer",visible:g,setVisible:h},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},N),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:v==null?void 0:v.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:O()},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:D,useTableSelectorProps:useTableSelectorProps$2},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:d.address,schema:_,filterProperties:T=>T["x-component"]==="AssociationField.Selector"})})})})})}))})]})},{displayName:"InternalPicker"}),toValue$4=(e,t)=>e??t;function isObject(e){return typeof e=="object"&&e!==null}const RenderRecord=import_react2.default.memo(({fieldNames:e,isTreeCollection:t,compile:o,getLabelUiSchema:r,collectionField:i,snapshot:n,enableLink:a,designable:l,insertViewer:c,fieldSchema:u,openPopup:m,recordData:d,ellipsisWithTooltipRef:p,value:g,setBtnHover:h,onClick:_})=>{const[f,v]=(0,import_react2.useState)(!0),[b,S]=(0,import_react2.useState)([]),C=(0,import_react2.useRef)(!1),y=(0,import_react2.useRef)(u);y.current=u;const F=(0,import_react2.useCallback)(()=>y.current,[]);return(0,import_react2.useEffect)(()=>{const j=(0,import_shared.toArr)(g).map((k,R,N)=>{const w=k==null?void 0:k[(e==null?void 0:e.label)||"label"],O=t?transformNestedData(k).map(B=>B==null?void 0:B[(e==null?void 0:e.label)||"label"]).join(" / "):isObject(w)?JSON.stringify(w):w,D=toValue$4(o(O),"N/A"),T=r((k==null?void 0:k.__collection)||(i==null?void 0:i.target),(e==null?void 0:e.label)||"label"),$=getLabelFormatValue$1(o(T),D,!0);return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[(0,import_jsx_runtime.jsx)("span",{children:n?$:a!==!1?(0,import_jsx_runtime.jsx)("a",{onMouseEnter:()=>{h(!0)},onClick:B=>{var I;h(!0),B.stopPropagation(),B.preventDefault(),l&&!u.properties&&(c(schema$1.Viewer),C.current=!0),C.current?(setTimeout(()=>{_==null||_({recordData:k}),m({recordData:k,parentRecordData:d,customActionSchema:F()})}),C.current=!1):u.properties&&(_==null||_({recordData:k}),m({recordData:k,parentRecordData:d})),(I=p==null?void 0:p.current)==null||I.setPopoverVisible(!1)},children:$}):$}),R<N.length-1?(0,import_jsx_runtime.jsx)("span",{style:{marginRight:4,color:"#aaa"},children:","}):null]},`${k==null?void 0:k.id}_${R}`)});S(j),v(!1)},[i==null?void 0:i.target,o,l,p,a,e==null?void 0:e.label,u,r,c,t,m,d,h,n,g,F]),f?null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:b})});RenderRecord.displayName="RenderRecord";const ButtonLinkList=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),o=useCollectionManager(),{enableLink:r}=t["x-component-props"]||{},i=useFieldNames$1({fieldNames:e.fieldNames}),n=useInsertSchema$1("Viewer"),{options:a}=useAssociationFieldContext(),l=useCompile(),{designable:c}=useDesignable(),{snapshot:u}=useActionContext(),m=o.getCollection(a==null?void 0:a.target),d=(m==null?void 0:m.template)==="tree",p=(0,import_react2.useRef)(),g=useLabelUiSchemaV2(),{openPopup:h}=usePopupUtils(),_=useCollectionRecordData();return(0,import_jsx_runtime.jsx)(RenderRecord,{fieldNames:i,isTreeCollection:d,compile:l,getLabelUiSchema:g,collectionField:a,snapshot:u,enableLink:r,designable:c,insertViewer:n,fieldSchema:t,openPopup:h,recordData:_,ellipsisWithTooltipRef:p,value:e.value,setBtnHover:e.setBtnHover,onClick:e.onClick})});ButtonLinkList.displayName="ButtonLinkList";const getSourceData=(e,t)=>{const o=t.name.split(".").filter((r,i,n)=>i<n.length-1).join(".");return o?import_lodash.default.get(e,o):e},ReadPrettyInternalViewer=e=>{const{value:t,ButtonList:o=ButtonLinkList}=e,r=(0,import_react.useFieldSchema)(),{enableLink:i,openMode:n,openSize:a}=r["x-component-props"]||{},l=(0,import_react.useField)(),[c,u]=(0,import_react2.useState)(!1),{options:m}=useAssociationFieldContext(),{visibleWithURL:d,setVisibleWithURL:p}=usePopupUtils(),[g,h]=(0,import_react2.useState)(!!d),{defaultOpenMode:_}=useOpenModeContext(),f=useCollectionRecordData(),[v,b]=(0,import_react2.useState)(null),{isPopupVisibleControlledByURL:S}=usePopupSettings(),C=(0,import_react2.useCallback)(j=>{b(j.recordData)},[]),y=(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:getSourceData(f,r),children:(0,import_jsx_runtime.jsx)(o,{setBtnHover:h,value:t,fieldNames:e.fieldNames,onClick:C})})}),F=(0,import_react2.useMemo)(()=>({visible:c||d,setVisible:j=>{u==null||u(j),p==null||p(j)},openMode:n||_,snapshot:(m==null?void 0:m.interface)==="snapshot",fieldSchema:r,openSize:a}),[m==null?void 0:m.interface,_,r,p,c,d]);return i===!1?y:(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{value:F,children:[y,g&&(S()?(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:r,onlyRenderProperties:!0,basePath:l.address,filterProperties:j=>j["x-component"]!=="Action"})})}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:v,parentRecord:f,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:r,onlyRenderProperties:!0,basePath:l.address})})})}))]})})},InternalPopoverNesterContentCss=import_css.css`
931
+ `),children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address,schema:i,filterProperties:f=>f["x-component"]==="AssociationField.Nester"})})})})})},{displayName:"InternalNester"}),useTableSelectorProps$2=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const g=flatData$2(e.value)||[],h=(0,import_lodash.differenceBy)(i||[],g,c),_=(0,import_lodash.unionBy)(h,p,c),f=_.map(v=>v[c]);r==null||r(_),l==null||l(f,_)}else r==null||r(p),l==null||l(d,p),n((p==null?void 0:p[0])||null),m(!1)}})},InternalPicker=(0,import_react.observer)(e=>{var t;const o=e,{value:r,multiple:i,openSize:n,onChange:a,quickUpload:l,selectFile:c,shouldMountElement:u}=o,m=Y(o,["value","multiple","openSize","onChange","quickUpload","selectFile","shouldMountElement"]),d=(0,import_react.useField)(),p=useFieldNames$1(e),[g,h]=(0,import_react2.useState)(!1),_=(0,import_react.useFieldSchema)(),f=useInsertSchema$1("Selector"),{options:v}=useAssociationFieldContext(),{collectionName:b}=useFormBlockContext(),S=useCompile(),C=useLabelUiSchema$1(v,(p==null?void 0:p.label)||"label"),y=_["x-add-new"],[F,j]=(0,import_react2.useState)([]),k=useCollectionRecordData(),R=(0,import_react2.useMemo)(()=>r&&Object.keys(r).length>0?(Array.isArray(r)?r:r?[r]:[]).filter(Boolean).map(T=>{const $=T==null?void 0:T[p.label];return P(x({},T),{[p.label]:getLabelFormatValue$1(S(C),S($))})}):[],[r,p==null?void 0:p.label]),N={size:"small",fieldNames:p,multiple:i===!0?!0:i!==!1&&["o2m","m2m","mbm"].includes(v==null?void 0:v.interface),association:{target:v==null?void 0:v.target},options:R,onChange:e==null?void 0:e.onChange,selectedRows:F,setSelectedRows:j,collectionField:v,currentFormCollection:b},w=()=>{var T;return i==null?null:Array.isArray(r)?(T=r.filter(Boolean))==null?void 0:T.map($=>$==null?void 0:$[p.value]):r==null?void 0:r[p.value]},O=()=>{const T=(v==null?void 0:v.targetKey)||"id",$=R.map(B=>B[T]).filter(Boolean);return $.length?{$and:[{[`${T}.$ne`]:$}]}:{}},D=()=>{const{setVisible:T}=useActionContext(),{multiple:$,selectedRows:B,onChange:I,options:M,collectionField:z}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){I($?(0,import_lodash.unionBy)(B,M,(z==null?void 0:z.targetKey)||"id"):(B==null?void 0:B[0])||null),T(!1)},style:{display:$===!1?"none":"block"}}};return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex",lineHeight:"32px"},children:[(0,import_jsx_runtime.jsx)("div",{style:{width:"100%"},children:(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":"select-data-picker",style:{width:"100%"},popupMatchSelectWidth:!1},m),{mode:i?"multiple":e.mode,fieldNames:p,onDropdownVisibleChange:T=>{f(schema$1.Selector),h(!0)},allowClear:!0,onChange:T=>{if(T){if(Array.isArray(T)){if(!T.length){a([]),j([]);return}const $=R==null?void 0:R.filter(B=>T.includes(B[p.value]));a($),j($)}}else{const $=i?[]:null;a($),j($)}},options:R,value:w(),open:!1}))}),y&&(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:k,children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:d.address,schema:_,filterProperties:T=>T["x-component"]==="Action"})})})]}),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openSize:((t=_["x-component-props"])==null?void 0:t.openSize)||n,openMode:"drawer",visible:g,setVisible:h},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},N),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:v==null?void 0:v.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:O()},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:D,useTableSelectorProps:useTableSelectorProps$2},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:d.address,schema:_,filterProperties:T=>T["x-component"]==="AssociationField.Selector"})})})})})}))})]})},{displayName:"InternalPicker"}),toValue$4=(e,t)=>e??t;function isObject(e){return typeof e=="object"&&e!==null}const RenderRecord=import_react2.default.memo(({fieldNames:e,isTreeCollection:t,compile:o,getLabelUiSchema:r,collectionField:i,snapshot:n,enableLink:a,designable:l,insertViewer:c,fieldSchema:u,openPopup:m,recordData:d,ellipsisWithTooltipRef:p,value:g,setBtnHover:h,onClick:_})=>{const[f,v]=(0,import_react2.useState)(!0),[b,S]=(0,import_react2.useState)([]),C=(0,import_react2.useRef)(!1),y=(0,import_react2.useRef)(u);y.current=u;const F=(0,import_react2.useCallback)(()=>y.current,[]);return(0,import_react2.useEffect)(()=>{const j=(0,import_shared.toArr)(g).map((k,R,N)=>{const w=k==null?void 0:k[(e==null?void 0:e.label)||"label"],O=t?transformNestedData(k).map(B=>B==null?void 0:B[(e==null?void 0:e.label)||"label"]).join(" / "):isObject(w)?JSON.stringify(w):w,D=toValue$4(o(O),"N/A"),T=r((k==null?void 0:k.__collection)||(i==null?void 0:i.target),(e==null?void 0:e.label)||"label"),$=getLabelFormatValue$1(o(T),D,!0);return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[(0,import_jsx_runtime.jsx)("span",{children:n?$:a!==!1?(0,import_jsx_runtime.jsx)("a",{onMouseEnter:()=>{h(!0)},onClick:B=>{var I;h(!0),B.stopPropagation(),B.preventDefault(),l&&!u.properties&&(c(schema$1.Viewer),C.current=!0),C.current?(setTimeout(()=>{_==null||_({recordData:k}),m({recordData:k,parentRecordData:d,customActionSchema:F()})}),C.current=!1):u.properties&&(_==null||_({recordData:k}),m({recordData:k,parentRecordData:d})),(I=p==null?void 0:p.current)==null||I.setPopoverVisible(!1)},children:$}):$}),R<N.length-1?(0,import_jsx_runtime.jsx)("span",{style:{marginRight:4,color:"#aaa"},children:","}):null]},`${k==null?void 0:k.id}_${R}`)});S(j),v(!1)},[i==null?void 0:i.target,o,l,p,a,e==null?void 0:e.label,u,r,c,t,m,d,h,n,g,F]),f?null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:b})});RenderRecord.displayName="RenderRecord";const ButtonLinkList=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),o=useCollectionManager(),{enableLink:r}=t["x-component-props"]||{},i=useFieldNames$1({fieldNames:e.fieldNames}),n=useInsertSchema$1("Viewer"),{options:a}=useAssociationFieldContext(),l=useCompile(),{designable:c}=useDesignable(),{snapshot:u}=useActionContext(),m=o.getCollection(a==null?void 0:a.target),d=(m==null?void 0:m.template)==="tree",p=(0,import_react2.useRef)(),g=useLabelUiSchemaV2(),{openPopup:h}=usePopupUtils(),_=useCollectionRecordData();return(0,import_jsx_runtime.jsx)(RenderRecord,{fieldNames:i,isTreeCollection:d,compile:l,getLabelUiSchema:g,collectionField:a,snapshot:u,enableLink:r,designable:c,insertViewer:n,fieldSchema:t,openPopup:h,recordData:_,ellipsisWithTooltipRef:p,value:e.value,setBtnHover:e.setBtnHover,onClick:e.onClick})});ButtonLinkList.displayName="ButtonLinkList";const getSourceData=(e,t)=>{const o=t.name.split(".").filter((r,i,n)=>i<n.length-1).join(".");return o?import_lodash.default.get(e,o):e},ReadPrettyInternalViewer=e=>{const{value:t,ButtonList:o=ButtonLinkList}=e,r=(0,import_react.useFieldSchema)(),{enableLink:i,openMode:n,openSize:a}=r["x-component-props"]||{},l=(0,import_react.useField)(),[c,u]=(0,import_react2.useState)(!1),{options:m}=useAssociationFieldContext(),{visibleWithURL:d,setVisibleWithURL:p}=usePopupUtils(),[g,h]=(0,import_react2.useState)(!!d),{defaultOpenMode:_}=useOpenModeContext(),f=useCollectionRecordData(),[v,b]=(0,import_react2.useState)(null),{isPopupVisibleControlledByURL:S}=usePopupSettings(),C=(0,import_react2.useCallback)(j=>{b(j.recordData)},[]),y=(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:getSourceData(f,r),children:(0,import_jsx_runtime.jsx)(o,{setBtnHover:h,value:t,fieldNames:e.fieldNames,onClick:C})})}),F=(0,import_react2.useMemo)(()=>({visible:c||d,setVisible:j=>{u==null||u(j),p==null||p(j)},openMode:n||_,snapshot:(m==null?void 0:m.interface)==="snapshot",fieldSchema:r,openSize:a}),[m==null?void 0:m.interface,_,r,p,c,d]);return i===!1?y:(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{value:F,children:[y,g&&(S()?(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:r,onlyRenderProperties:!0,basePath:l.address,filterProperties:j=>j["x-component"]!=="Action"})})}):(0,import_jsx_runtime.jsx)(CollectionRecordProvider,{isNew:!1,record:v,parentRecord:f,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:r,onlyRenderProperties:!0,basePath:l.address})})})}))]})})},InternalPopoverNesterContentCss=import_css.css`
932
932
  min-width: 600px;
933
933
  max-width: 800px;
934
934
  max-height: 440px;
@@ -1113,6 +1113,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1113
1113
  .ant-table-footer {
1114
1114
  margin-top: 10px;
1115
1115
  background: inherit;
1116
+ min-height: 22px;
1116
1117
  }
1117
1118
  `,tableClassName=import_css.css`
1118
1119
  .ant-formily-item-feedback-layout-popover {