@nocobase/client 1.6.30 → 1.6.32

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
@@ -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.30",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.30","@nocobase/sdk":"1.6.30","@nocobase/utils":"1.6.30",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.32",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.32","@nocobase/sdk":"1.6.32","@nocobase/utils":"1.6.32",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};
@@ -232,7 +232,7 @@
232
232
  &:hover > td {
233
233
  background-color: ${r.controlItemBgActiveHover} !important;
234
234
  }
235
- `,[r.controlItemBgActive,r.controlItemBgActiveHover]),K=useTableBlockContextBasicValue();(0,import_react2.useEffect)(()=>{var X;K!=null&&K.field&&(K.field.data=((X=K.field)==null?void 0:X.data)||{},K.field.data.clearSelectedRowKeys=()=>{K.field.data.selectedRowKeys=[],L([])},K.field.data.setSelectedRowKeys=L)},[K==null?void 0:K.field]);const J=(0,import_react2.useMemo)(()=>y?H:"",[H,y]),Q=(0,import_react2.useMemo)(()=>y?(X,ee)=>({onClick:oe=>{(0,import_client.isPortalInBody)(oe.target)||y(X,q,U)},rowIndex:ee,record:X}):(X,ee)=>({rowIndex:ee,record:X}),[y,U]);(0,import_ahooks.useDeepCompareEffect)(()=>{const X=D?T:[];import_lodash.default.isEqual(X,M)||z(X)},[D,T]);const Z=(0,import_react2.useCallback)(X=>{if(v)return te(X);if(X.key)return X.key;if(W.current.has(X))return W.current.get(X);const ee=(0,import_shared.uid)();return W.current.set(X,ee),ee},[]),te=(0,import_react2.useCallback)(X=>{var ee;return Array.isArray(v)?v.map(oe=>{var ie;return((ie=X[oe])==null?void 0:ie.toString())||""}).join("-"):typeof v=="string"?X[v]:(ee=(v??Z)(X))==null?void 0:ee.toString()},[JSON.stringify(v),Z]),re=(0,import_react2.useMemo)(()=>(Array.isArray(F)?F:[]).filter(Boolean),[F,F==null?void 0:F.length]),ne=(0,import_react2.useMemo)(()=>X=>{const ee=(0,import_react2.useCallback)(oe=>{var ie,ae,ue,_e,fe,ve;if(!oe.active||!oe.over){console.warn("move cancel");return}const Ce=(ue=(ae=(ie=oe.active)==null?void 0:ie.data.current)==null?void 0:ae.sortable)==null?void 0:ue.index,Se=(ve=(fe=(_e=oe.over)==null?void 0:_e.data.current)==null?void 0:fe.sortable)==null?void 0:ve.index,ye=(F==null?void 0:F[Ce])||oe.active,Pe=(F==null?void 0:F[Se])||oe.over;k.move(Ce,Se),$({from:ye,to:Pe})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:ee,children:(0,import_jsx_runtime.jsx)("tbody",x({},X))})},[k,$]);ne.displayName="BodyWrapperComponent";const le=(0,import_react2.useMemo)(()=>({header:{wrapper:HeaderWrapperComponent$1,cell:HeaderCellComponent$1},body:{wrapper:ne,row:BodyRowComponent$1,cell:BodyCellComponent$1}}),[ne]),me=(0,import_react2.useMemo)(()=>f,[JSON.stringify(f)]),xe=(0,import_react2.useMemo)(()=>({rowSelection:me?x({type:"checkbox",selectedRowKeys:E,onChange(X,ee){k.data=k.data||{},k.data.selectedRowKeys=X,k.data.selectedRowData=ee,L(X),h==null||h(X,ee,L)},onSelect:(X,ee,oe,ie)=>{var ae;K&&(K.field.data=((ae=K.field)==null?void 0:ae.data)||{},K.field.data.selectedRecord=X,K.field.data.selected=ee)},getCheckboxProps(X){return{"aria-label":"checkbox"}},renderCell:(X,ee,oe,ie)=>{if(!p&&!g)return ie;const ae=B==null?void 0:B.current,ue=(B==null?void 0:B.pageSize)||20;return ae?oe=oe+(ae-1)*ue+1:oe=oe+1,ee.__index&&(oe=extractIndex(ee.__index)),(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":`table-index-${oe}`,className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxWrapperClass$1,{[rowSelectCheckboxWrapperClassHover$1]:G}),children:[(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxContentClass$1),children:[p&&(0,import_jsx_runtime.jsx)(SortHandle$2,{id:te(ee)}),g&&(0,import_jsx_runtime.jsx)(TableIndex$3,{index:oe})]}),G&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-origin-node",X?"checked":null,rowSelectCheckboxCheckedClassHover$1),children:ie})]})}},me):void 0}),[me,E,h,g,p,k,te,G,me,B,K]),ce=(0,import_react2.useCallback)(({children:X})=>{var ee;return p?import_react2.default.createElement(import_sortable.SortableContext,{items:((ee=F==null?void 0:F.map)==null?void 0:ee.call(F,te))||[]},X):import_react2.default.createElement(import_react2.default.Fragment,{},X)},[p,te]),{height:pe,tableSizeRefCallback:he}=useTableSize(),ge=(0,import_react2.useMemo)(()=>({x:"max-content",y:pe}),[pe,re]),de=(0,import_react2.useCallback)(X=>U.includes(X[v])?J:"",[U,J,JSON.stringify(v)]),se=(0,import_react2.useCallback)((X,ee)=>{const oe=X?[...M,ee[w.getPrimaryKey()]]:M.filter(ie=>ee[w.getPrimaryKey()]!==ie);z(oe),S==null||S(X,ee)},[M,S,w]),be=(0,import_react2.useMemo)(()=>({onExpand:se,expandedRowKeys:M}),[M,se]);return(0,import_jsx_runtime.jsx)(HighPerformanceSpin,{spinning:!!C,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(InternalNocoBaseTable$1,P(x(x({tableHeight:pe,SortableWrapper:ce,tableSizeRefCallback:he,defaultRowKey:Z,dataSource:re},j),xe),{paginationProps:B,components:le,onTableChange:_,onRow:Q,rowClassName:de,scroll:ge,columns:I,expandable:be,field:k,size:N}))})})}),{useLoading(){const e=useDataBlockRequest(),{isInSubTable:t}=useFlag();return t?!1:!!(e!=null&&e.loading)},SkeletonComponent:TableSkeleton}),{displayName:"NocoBaseTable"}),TableBlockContext=(0,import_react2.createContext)({});TableBlockContext.displayName="TableBlockContext";const TableBlockContextBasicValue=(0,import_react2.createContext)(null);TableBlockContextBasicValue.displayName="TableBlockContextBasicValue";function getIdsWithChildren(e){const t=[];if(e)for(const o of e)o!=null&&o.children&&o.children.length>0&&(t.push(o.id),t.push(...getIdsWithChildren(o==null?void 0:o.children)));return t}const InternalTableBlockProvider=e=>{const{params:t,showIndex:o,dragSort:r,rowKey:i,childrenColumnName:n,expandFlag:a=!1,fieldNames:l,collection:c}=e,u=(0,import_react.useField)(),{resource:m,service:d}=useBlockRequestContext(),p=(0,import_react.useFieldSchema)(),[g,h]=(0,import_react2.useState)(!!(l||a)),{heightProps:_}=useBlockHeightProps(),f=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>{h(l||a)},[l||a]);const v=(0,import_react2.useMemo)(()=>{var y;const{treeTable:F}=(p==null?void 0:p["x-decorator-props"])||{},j=(y=d==null?void 0:d.data)==null?void 0:y.data;if(F)return getIdsWithChildren(j)},[d==null?void 0:d.loading,p]),b=(0,import_react2.useCallback)(y=>{h(y||!g)},[g]),S=(0,import_react2.useMemo)(()=>({field:u,rowKey:i,childrenColumnName:n,showIndex:o,dragSort:r,dragSortBy:e.dragSortBy}),[u,i,n,o,r,e.dragSortBy]),C=(0,import_react2.useMemo)(()=>({collection:c,field:u,service:d,resource:m,params:t,showIndex:o,dragSort:r,rowKey:i,expandFlag:g,childrenColumnName:n,allIncludesChildren:v,setExpandFlag:b,heightProps:_}),[v,n,c,r,g,u,_,t,m,i,d,b,o]);return(0,import_jsx_runtime.jsx)(TableElementRefContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(TableBlockContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(TableBlockContextBasicValue.Provider,{value:S,children:e.children})})})},useTableBlockParamsCompat=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e.params,r=e.parseVariableLoading;else{const i=useTableBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},TableBlockProvider=withDynamicSchemaProps(e=>{const t=e.resource||e.association,o=(0,import_react.useFieldSchema)(),{getCollection:r,getCollectionField:i}=useCollectionManager_deprecated(e.dataSource),n=r(e.collection,e.dataSource),{treeTable:a}=(o==null?void 0:o["x-decorator-props"])||{},{params:l,parseVariableLoading:c}=useTableBlockParamsCompat(e);let u="__nochildren__";if(a)if(u="children",t!=null&&t.includes(".")){const d=i(t);d!=null&&d.treeChildren&&(u=d.name),l.tree=!0}else{const d=n==null?void 0:n.fields.find(p=>p.treeChildren);d&&(u=d.name),l.tree=!0}else u="__nochildren__";const m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[a]);return c?null:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:a},children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"table"},e),{params:l,runWhenParamsChanged:!0,children:(0,import_jsx_runtime.jsx)(InternalTableBlockProvider,P(x({},e),{childrenColumnName:u,params:l}))}))})})}),useTableBlockContext=()=>(0,import_react2.useContext)(TableBlockContext),useTableBlockContextBasicValue=()=>(0,import_react2.useContext)(TableBlockContextBasicValue),HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){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("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingContentVertical+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,m=getPageHeaderHeight(n,a,l,t,i.pathname);return c+m+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:m,height:d,title:p}=a;if(!(a!=null&&a.heightMode)||m===HeightMode.DEFAULT)return;const g=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,h=t.controlHeight+t.padding+t.marginLG,_=g||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return m===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-h:d-v-_-f-h},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t;return e?e["x-component"]==="Action.Container"?((t=e==null?void 0:e.parent["x-component-props"])==null?void 0:t.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,m=e==null?void 0:e.fieldSchema,{getField:d}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||d(a.name)||r(a["x-collection-field"]),{label:g}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(p.type))return;const h=i(p.target);if((h==null?void 0:h.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((h==null?void 0:h.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Cascade Select"),value:"CascadeSelect"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!m&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,g])||[]).filter(Boolean)},useRequestSchema$1=({uid:e,type:t="getJsonSchema",onSuccess:o})=>{const r={url:`/uiSchemas:${t}/${e}`},{data:i,loading:n}=useRequest(r,{refreshDeps:[e],onSuccess(a){o&&o(a)}});return{schema:i==null?void 0:i.data,loading:n}},defaultTransform=e=>e,RequestSchemaComponent=e=>{const{noForm:t,onlyRenderProperties:o,hidden:r,scope:i,uid:n,components:a,onSuccess:l,NotFoundPage:c,schemaTransform:u=defaultTransform,onPageNotFind:m}=e,d=o?"getProperties":"getJsonSchema",p=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[n]),{schema:g,loading:h}=useRequestSchema$1({uid:n,type:d,onSuccess:b=>{l&&l(b)}}),_=useComponent(c),f=useRemoteCollectionManagerLoading(),v=(0,import_react.useFieldSchema)();return f||h||r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{width:"100%",marginTop:20},delay:LOADING_DELAY}):!g||Object.keys(g).length===0?(m&&m(),_?(0,import_jsx_runtime.jsx)(_,{}):null):t?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{}),parentSchema:v}):(0,import_jsx_runtime.jsx)(FormProvider,{form:p,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{}),parentSchema:v})})},RemoteSchemaComponent=(0,import_react2.memo)(e=>e.uid?(0,import_jsx_runtime.jsx)(RequestSchemaComponent,x({},e)):null);RemoteSchemaComponent.displayName="RemoteSchemaComponent";const randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,g]=(0,import_react2.useState)(t),h=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>b=>{typeof h!="boolean"&&g(b),o==null||o(b)},[h,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:h,setDesignable:_}),[r,h,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return V(this,null,function*(){})}beforeLoad(){return V(this,null,function*(){})}load(){return V(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}class SchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),PopupSettingsContext=import_react2.default.createContext({enableURL:!0}),PopupSettingsProvider=e=>{const{enableURL:t=!0}=e,o=(0,import_react2.useMemo)(()=>({enableURL:t}),[t]);return(0,import_jsx_runtime.jsx)(PopupSettingsContext.Provider,{value:o,children:e.children})},usePopupSettings=()=>{const{enableURL:e}=import_react2.default.useContext(PopupSettingsContext),t=useIsInSettingsPage();return{isPopupVisibleControlledByURL:(0,import_react2.useCallback)(()=>{const o=window.location.pathname,r=window.location.hash,i=(o==null?void 0:o.includes("/mobile/"))||(r==null?void 0:r.includes("/mobile/")),n=o==null?void 0:o.includes("/m/");return((o==null?void 0:o.includes("/admin/"))||n)&&!i&&e&&!t},[e,t])}},randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],ActionContext=(0,import_react2.createContext)({});ActionContext.displayName="ActionContext";const ActionContextProvider=import_react2.default.memo(e=>{const[t,o]=(0,import_react2.useState)(!1),{visible:r}=x(x({},e),e.value),{setSubmitted:i}=x(x({},e),e.value),n=useBlockServiceInActionButton(),{isSubPageClosedByPageMenu:a,reset:l}=useIsSubPageClosedByPageMenu((0,import_react.useFieldSchema)());(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){r===!1&&n&&!n.loading&&(t||a())&&(l(),n.loading=!0,yield n.refreshAsync(),n.loading=!1,o(!1),i==null||i(!0))})},[r,n,i,a,t,l]);const c=(0,import_react2.useMemo)(()=>P(x(x({},e),e==null?void 0:e.value),{submitted:t,setSubmitted:o}),[e,t]);return(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:c,children:e.children})});ActionContextProvider.displayName="ActionContextProvider";const useBlockServiceInActionButton=()=>{var e,t;const{params:o}=useCurrentPopupContext(),r=(e=(0,import_react.useFieldSchema)())==null?void 0:e["x-uid"],i=useDataBlockRequest(),n=o==null?void 0:o.popupuid;return(0,import_react2.useEffect)(()=>{r&&n!==r&&storeBlockService(r,{service:i})},[n,r,i]),n===r&&((t=getBlockService(n))==null?void 0:t.service)||i},ActionContextNoRerender=import_react2.default.memo(e=>{const t=(0,import_react2.useContext)(ActionContext),o=(0,import_react2.useRef)({});return Object.assign(o.current,t),(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:o.current,children:e.children})});ActionContextNoRerender.displayName="ActionContextNoRerender";const popupLayerStates={},setPopupLayerState=(e,t)=>{popupLayerStates[e]=t},getPopupLayerState=e=>{var t;return(t=popupLayerStates[e])!=null?t:!1},removePopupLayerState=e=>{delete popupLayerStates[e]},CONTEXT_SCHEMA_KEY="x-action-context",usePopupContextInActionOrAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),{dn:t}=useDesignable();return{updatePopupContext:(0,import_react2.useCallback)((o,r)=>{const i=r||e,n=getPopupContextFromActionOrAssociationFieldSchema(i);if(o=import_lodash.default.omitBy(o,import_lodash.default.isNil),!(import_lodash.default.isEqual(o,n)||n!=null&&n.doNotUpdateContext))return i[CONTEXT_SCHEMA_KEY]=o,t.emit("initializeActionContext",{schema:{"x-uid":i["x-uid"],[CONTEXT_SCHEMA_KEY]:o}})},[e,t])}};function getPopupContextFromActionOrAssociationFieldSchema(e){return e[CONTEXT_SCHEMA_KEY]}const popupsContextStorage={},getStoredPopupContext=e=>popupsContextStorage[e],storePopupContext=(e,t)=>{popupsContextStorage[e]=t},deletePopupContext=e=>{delete popupsContextStorage[e]},blockServicesStorage={},getBlockService=e=>blockServicesStorage[e],storeBlockService=(e,t)=>{blockServicesStorage[e]=t},getPopupParamsFromPath=import_lodash.default.memoize(e=>e.split("/popups/").filter(Boolean).map(t=>{const[o,...r]=t.split("/").filter(Boolean),i={};for(let n=0;n<r.length;n+=2)i[r[n]]=decodePathValue(r[n+1]);return x({popupuid:o},i)})),getPopupPathFromParams=e=>{const{popupuid:t,tab:o,filterbytk:r,sourceid:i,collection:n,puid:a}=e;return`/popups/${[t,a&&"puid",a,n&&"collection",n,r&&"filterbytk",r,i&&"sourceid",i,o&&"tab",o].filter(Boolean).map(l=>encodePathValue(l)).join("/")}`},usePopupUtils=(e={})=>{const t=useNavigateNoUpdate(),o=useLocationNoUpdate(),r=(0,import_react.useFieldSchema)(),i=useDataSourceKey(),n=useCollectionRecord(),a=useCollectionParentRecord(),l=useCollection(),c=useCollectionManager(),u=useAssociationName(),{visible:m,setVisible:d}=(0,import_react2.useContext)(PopupVisibleProviderContext)||{visible:!1,setVisible:import_lodash.default.noop},{params:p,currentLevel:g=0}=useCurrentPopupContext(),{getDataBlockRequest:h}=useDataBlockRequestGetter(),{isPopupVisibleControlledByURL:_}=usePopupSettings(),{setVisible:f}=(0,import_react2.useContext)(ActionContext),{updatePopupContext:v}=usePopupContextInActionOrAssociationField(),b=useCurrentPopupContext(),S=(0,import_react2.useCallback)(T=>{var $;return($=T||(a==null?void 0:a.data))==null?void 0:$[c.getSourceKeyByAssociation(u)]},[a,u]),C=useDataBlockRequestData(),y=useTableBlockContextBasicValue()||{},F=e.setVisible||f,j=(0,import_react2.useCallback)(({tabKey:T,popupUid:$,recordData:B,sourceId:I,collection:M,puid:z})=>{const E=c.getFilterByTK(u||l,B);return getPopupPathFromParams({popupuid:$,puid:z,collection:M,filterbytk:E,sourceid:I,tab:T})},[u,c,l,i,a==null?void 0:a.data,u]),k=(0,import_react2.useCallback)(()=>{const T={dataSource:i,collection:u||l==null?void 0:l.name,association:u};return import_lodash.default.omitBy(T,import_lodash.default.isNil)},[i,l,u]),R=(0,import_react2.useCallback)(({recordData:T,parentRecordData:$,collectionNameUsedInURL:B,popupUidUsedInURL:I,customActionSchema:M}={})=>{if(!_())return F==null?void 0:F(!0);const z=M||r,E=z==null?void 0:z["x-uid"],L=S($);T=T||(n==null?void 0:n.data);const U=j({popupUid:E,recordData:T,sourceId:L,collection:B,puid:I});let q=o.pathname;if(import_lodash.default.last(q)==="/"&&(q=q.slice(0,-1)),storePopupContext(E,{schema:z,record:new CollectionRecord({isNew:!1,data:T}),parentRecord:$?new CollectionRecord({isNew:!1,data:$}):a,service:h(),dataSource:i,collection:l==null?void 0:l.name,association:u,sourceId:L,tableBlockContext:P(x({},y),{collection:l==null?void 0:l.name,blockData:C})}),v(k(),M),z.properties){const G=g+1;if(getPopupLayerState(G))return;t(withSearchParams(`${q}${U}`)),setPopupLayerState(G,!0)}else console.error(`[NocoBase] The popup schema is invalid, please check the schema:
235
+ `,[r.controlItemBgActive,r.controlItemBgActiveHover]),K=useTableBlockContextBasicValue();(0,import_react2.useEffect)(()=>{var X;K!=null&&K.field&&(K.field.data=((X=K.field)==null?void 0:X.data)||{},K.field.data.clearSelectedRowKeys=()=>{K.field.data.selectedRowKeys=[],L([])},K.field.data.setSelectedRowKeys=L)},[K==null?void 0:K.field]);const J=(0,import_react2.useMemo)(()=>y?H:"",[H,y]),Q=(0,import_react2.useMemo)(()=>y?(X,ee)=>({onClick:oe=>{(0,import_client.isPortalInBody)(oe.target)||y(X,q,U)},rowIndex:ee,record:X}):(X,ee)=>({rowIndex:ee,record:X}),[y,U]);(0,import_ahooks.useDeepCompareEffect)(()=>{const X=D?T:[];import_lodash.default.isEqual(X,M)||z(X)},[D,T]);const Z=(0,import_react2.useCallback)(X=>{if(v)return te(X);if(X.key)return X.key;if(W.current.has(X))return W.current.get(X);const ee=(0,import_shared.uid)();return W.current.set(X,ee),ee},[]),te=(0,import_react2.useCallback)(X=>{var ee;return Array.isArray(v)?v.map(oe=>{var ie;return((ie=X[oe])==null?void 0:ie.toString())||""}).join("-"):typeof v=="string"?X[v]:(ee=(v??Z)(X))==null?void 0:ee.toString()},[JSON.stringify(v),Z]),re=(0,import_react2.useMemo)(()=>(Array.isArray(F)?F:[]).filter(Boolean),[F,F==null?void 0:F.length]),ne=(0,import_react2.useMemo)(()=>X=>{const ee=(0,import_react2.useCallback)(oe=>{var ie,ae,ue,_e,fe,ve;if(!oe.active||!oe.over){console.warn("move cancel");return}const Ce=(ue=(ae=(ie=oe.active)==null?void 0:ie.data.current)==null?void 0:ae.sortable)==null?void 0:ue.index,Se=(ve=(fe=(_e=oe.over)==null?void 0:_e.data.current)==null?void 0:fe.sortable)==null?void 0:ve.index,ye=(F==null?void 0:F[Ce])||oe.active,Pe=(F==null?void 0:F[Se])||oe.over;k.move(Ce,Se),$({from:ye,to:Pe})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:ee,children:(0,import_jsx_runtime.jsx)("tbody",x({},X))})},[k,$]);ne.displayName="BodyWrapperComponent";const le=(0,import_react2.useMemo)(()=>({header:{wrapper:HeaderWrapperComponent$1,cell:HeaderCellComponent$1},body:{wrapper:ne,row:BodyRowComponent$1,cell:BodyCellComponent$1}}),[ne]),me=(0,import_react2.useMemo)(()=>f,[JSON.stringify(f)]),xe=(0,import_react2.useMemo)(()=>({rowSelection:me?x({type:"checkbox",selectedRowKeys:E,onChange(X,ee){k.data=k.data||{},k.data.selectedRowKeys=X,k.data.selectedRowData=ee,L(X),h==null||h(X,ee,L)},onSelect:(X,ee,oe,ie)=>{var ae;K&&(K.field.data=((ae=K.field)==null?void 0:ae.data)||{},K.field.data.selectedRecord=X,K.field.data.selected=ee)},getCheckboxProps(X){return{"aria-label":"checkbox"}},renderCell:(X,ee,oe,ie)=>{if(!p&&!g)return ie;const ae=B==null?void 0:B.current,ue=(B==null?void 0:B.pageSize)||20;return ae?oe=oe+(ae-1)*ue+1:oe=oe+1,ee.__index&&(oe=extractIndex(ee.__index)),(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":`table-index-${oe}`,className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxWrapperClass$1,{[rowSelectCheckboxWrapperClassHover$1]:G}),children:[(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxContentClass$1),children:[p&&(0,import_jsx_runtime.jsx)(SortHandle$2,{id:te(ee)}),g&&(0,import_jsx_runtime.jsx)(TableIndex$3,{index:oe})]}),G&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-origin-node",X?"checked":null,rowSelectCheckboxCheckedClassHover$1),children:ie})]})}},me):void 0}),[me,E,h,g,p,k,te,G,me,B,K]),ce=(0,import_react2.useCallback)(({children:X})=>{var ee;return p?import_react2.default.createElement(import_sortable.SortableContext,{items:((ee=F==null?void 0:F.map)==null?void 0:ee.call(F,te))||[]},X):import_react2.default.createElement(import_react2.default.Fragment,{},X)},[p,te]),{height:pe,tableSizeRefCallback:he}=useTableSize(),ge=(0,import_react2.useMemo)(()=>({x:"max-content",y:pe}),[pe,re]),de=(0,import_react2.useCallback)(X=>U.includes(X[v])?J:"",[U,J,JSON.stringify(v)]),se=(0,import_react2.useCallback)((X,ee)=>{const oe=X?[...M,ee[w.getPrimaryKey()]]:M.filter(ie=>ee[w.getPrimaryKey()]!==ie);z(oe),S==null||S(X,ee)},[M,S,w]),be=(0,import_react2.useMemo)(()=>({onExpand:se,expandedRowKeys:M}),[M,se]);return(0,import_jsx_runtime.jsx)(HighPerformanceSpin,{spinning:!!C,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(InternalNocoBaseTable$1,P(x(x({tableHeight:pe,SortableWrapper:ce,tableSizeRefCallback:he,defaultRowKey:Z,dataSource:re},j),xe),{paginationProps:B,components:le,onTableChange:_,onRow:Q,rowClassName:de,scroll:ge,columns:I,expandable:be,field:k,size:N}))})})}),{useLoading(){const e=useDataBlockRequest(),{isInSubTable:t}=useFlag();return t?!1:!!(e!=null&&e.loading)},SkeletonComponent:TableSkeleton}),{displayName:"NocoBaseTable"}),TableBlockContext=(0,import_react2.createContext)({});TableBlockContext.displayName="TableBlockContext";const TableBlockContextBasicValue=(0,import_react2.createContext)(null);TableBlockContextBasicValue.displayName="TableBlockContextBasicValue";function getIdsWithChildren(e){const t=[];if(e)for(const o of e)o!=null&&o.children&&o.children.length>0&&(t.push(o.id),t.push(...getIdsWithChildren(o==null?void 0:o.children)));return t}const InternalTableBlockProvider=e=>{const{params:t,showIndex:o,dragSort:r,rowKey:i,childrenColumnName:n,expandFlag:a=!1,fieldNames:l,collection:c,association:u}=e,m=(0,import_react.useField)(),{resource:d,service:p}=useBlockRequestContext(),g=(0,import_react.useFieldSchema)(),[h,_]=(0,import_react2.useState)(!!(l||a)),{heightProps:f}=useBlockHeightProps(),v=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>{_(l||a)},[l||a]);const b=(0,import_react2.useMemo)(()=>{var F;const{treeTable:j}=(g==null?void 0:g["x-decorator-props"])||{},k=(F=p==null?void 0:p.data)==null?void 0:F.data;if(j)return getIdsWithChildren(k)},[p==null?void 0:p.loading,g]),S=(0,import_react2.useCallback)(F=>{_(F||!h)},[h]),C=(0,import_react2.useMemo)(()=>({field:m,rowKey:i,childrenColumnName:n,showIndex:o,dragSort:r,dragSortBy:e.dragSortBy}),[m,i,n,o,r,e.dragSortBy]),y=(0,import_react2.useMemo)(()=>({collection:c,field:m,service:p,resource:d,params:t,showIndex:o,dragSort:r,rowKey:i,expandFlag:h,childrenColumnName:n,allIncludesChildren:b,setExpandFlag:S,heightProps:f,association:u}),[b,n,c,r,h,m,f,t,d,i,p,S,o,u]);return(0,import_jsx_runtime.jsx)(TableElementRefContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(TableBlockContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(TableBlockContextBasicValue.Provider,{value:C,children:e.children})})})},useTableBlockParamsCompat=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e.params,r=e.parseVariableLoading;else{const i=useTableBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},TableBlockProvider=withDynamicSchemaProps(e=>{const t=e.resource||e.association,o=(0,import_react.useFieldSchema)(),{getCollection:r,getCollectionField:i}=useCollectionManager_deprecated(e.dataSource),n=r(e.collection,e.dataSource),{treeTable:a}=(o==null?void 0:o["x-decorator-props"])||{},{params:l,parseVariableLoading:c}=useTableBlockParamsCompat(e);let u="__nochildren__";if(a)if(u="children",t!=null&&t.includes(".")){const d=i(t);d!=null&&d.treeChildren&&(u=d.name),l.tree=!0}else{const d=n==null?void 0:n.fields.find(p=>p.treeChildren);d&&(u=d.name),l.tree=!0}else u="__nochildren__";const m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[a]);return c?null:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:a},children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"table"},e),{params:l,runWhenParamsChanged:!0,children:(0,import_jsx_runtime.jsx)(InternalTableBlockProvider,P(x({},e),{childrenColumnName:u,params:l}))}))})})}),useTableBlockContext=()=>(0,import_react2.useContext)(TableBlockContext),useTableBlockContextBasicValue=()=>(0,import_react2.useContext)(TableBlockContextBasicValue),HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){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("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingContentVertical+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,m=getPageHeaderHeight(n,a,l,t,i.pathname);return c+m+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:m,height:d,title:p}=a;if(!(a!=null&&a.heightMode)||m===HeightMode.DEFAULT)return;const g=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,h=t.controlHeight+t.padding+t.marginLG,_=g||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return m===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-h:d-v-_-f-h},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t;return e?e["x-component"]==="Action.Container"?((t=e==null?void 0:e.parent["x-component-props"])==null?void 0:t.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,m=e==null?void 0:e.fieldSchema,{getField:d}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||d(a.name)||r(a["x-collection-field"]),{label:g}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(p.type))return;const h=i(p.target);if((h==null?void 0:h.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((h==null?void 0:h.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Cascade Select"),value:"CascadeSelect"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!m&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,g])||[]).filter(Boolean)},useRequestSchema$1=({uid:e,type:t="getJsonSchema",onSuccess:o})=>{const r={url:`/uiSchemas:${t}/${e}`},{data:i,loading:n}=useRequest(r,{refreshDeps:[e],onSuccess(a){o&&o(a)}});return{schema:i==null?void 0:i.data,loading:n}},defaultTransform=e=>e,RequestSchemaComponent=e=>{const{noForm:t,onlyRenderProperties:o,hidden:r,scope:i,uid:n,components:a,onSuccess:l,NotFoundPage:c,schemaTransform:u=defaultTransform,onPageNotFind:m}=e,d=o?"getProperties":"getJsonSchema",p=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[n]),{schema:g,loading:h}=useRequestSchema$1({uid:n,type:d,onSuccess:b=>{l&&l(b)}}),_=useComponent(c),f=useRemoteCollectionManagerLoading(),v=(0,import_react.useFieldSchema)();return f||h||r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{width:"100%",marginTop:20},delay:LOADING_DELAY}):!g||Object.keys(g).length===0?(m&&m(),_?(0,import_jsx_runtime.jsx)(_,{}):null):t?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{}),parentSchema:v}):(0,import_jsx_runtime.jsx)(FormProvider,{form:p,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{}),parentSchema:v})})},RemoteSchemaComponent=(0,import_react2.memo)(e=>e.uid?(0,import_jsx_runtime.jsx)(RequestSchemaComponent,x({},e)):null);RemoteSchemaComponent.displayName="RemoteSchemaComponent";const randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,g]=(0,import_react2.useState)(t),h=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>b=>{typeof h!="boolean"&&g(b),o==null||o(b)},[h,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:h,setDesignable:_}),[r,h,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return V(this,null,function*(){})}beforeLoad(){return V(this,null,function*(){})}load(){return V(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}class SchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),PopupSettingsContext=import_react2.default.createContext({enableURL:!0}),PopupSettingsProvider=e=>{const{enableURL:t=!0}=e,o=(0,import_react2.useMemo)(()=>({enableURL:t}),[t]);return(0,import_jsx_runtime.jsx)(PopupSettingsContext.Provider,{value:o,children:e.children})},usePopupSettings=()=>{const{enableURL:e}=import_react2.default.useContext(PopupSettingsContext),t=useIsInSettingsPage();return{isPopupVisibleControlledByURL:(0,import_react2.useCallback)(()=>{const o=window.location.pathname,r=window.location.hash,i=(o==null?void 0:o.includes("/mobile/"))||(r==null?void 0:r.includes("/mobile/")),n=o==null?void 0:o.includes("/m/");return((o==null?void 0:o.includes("/admin/"))||n)&&!i&&e&&!t},[e,t])}},randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],ActionContext=(0,import_react2.createContext)({});ActionContext.displayName="ActionContext";const ActionContextProvider=import_react2.default.memo(e=>{const[t,o]=(0,import_react2.useState)(!1),{visible:r}=x(x({},e),e.value),{setSubmitted:i}=x(x({},e),e.value),n=useBlockServiceInActionButton(),{isSubPageClosedByPageMenu:a,reset:l}=useIsSubPageClosedByPageMenu((0,import_react.useFieldSchema)());(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){r===!1&&n&&!n.loading&&(t||a())&&(l(),n.loading=!0,yield n.refreshAsync(),n.loading=!1,o(!1),i==null||i(!0))})},[r,n,i,a,t,l]);const c=(0,import_react2.useMemo)(()=>P(x(x({},e),e==null?void 0:e.value),{submitted:t,setSubmitted:o}),[e,t]);return(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:c,children:e.children})});ActionContextProvider.displayName="ActionContextProvider";const useBlockServiceInActionButton=()=>{var e,t;const{params:o}=useCurrentPopupContext(),r=(e=(0,import_react.useFieldSchema)())==null?void 0:e["x-uid"],i=useDataBlockRequest(),n=o==null?void 0:o.popupuid;return(0,import_react2.useEffect)(()=>{r&&n!==r&&storeBlockService(r,{service:i})},[n,r,i]),n===r&&((t=getBlockService(n))==null?void 0:t.service)||i},ActionContextNoRerender=import_react2.default.memo(e=>{const t=(0,import_react2.useContext)(ActionContext),o=(0,import_react2.useRef)({});return Object.assign(o.current,t),(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:o.current,children:e.children})});ActionContextNoRerender.displayName="ActionContextNoRerender";const popupLayerStates={},setPopupLayerState=(e,t)=>{popupLayerStates[e]=t},getPopupLayerState=e=>{var t;return(t=popupLayerStates[e])!=null?t:!1},removePopupLayerState=e=>{delete popupLayerStates[e]},CONTEXT_SCHEMA_KEY="x-action-context",usePopupContextInActionOrAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),{dn:t}=useDesignable();return{updatePopupContext:(0,import_react2.useCallback)((o,r)=>{const i=r||e,n=getPopupContextFromActionOrAssociationFieldSchema(i);if(o=import_lodash.default.omitBy(o,import_lodash.default.isNil),!(import_lodash.default.isEqual(o,n)||n!=null&&n.doNotUpdateContext))return i[CONTEXT_SCHEMA_KEY]=o,t.emit("initializeActionContext",{schema:{"x-uid":i["x-uid"],[CONTEXT_SCHEMA_KEY]:o}})},[e,t])}};function getPopupContextFromActionOrAssociationFieldSchema(e){return e[CONTEXT_SCHEMA_KEY]}const popupsContextStorage={},getStoredPopupContext=e=>popupsContextStorage[e],storePopupContext=(e,t)=>{popupsContextStorage[e]=t},deletePopupContext=e=>{delete popupsContextStorage[e]},blockServicesStorage={},getBlockService=e=>blockServicesStorage[e],storeBlockService=(e,t)=>{blockServicesStorage[e]=t},getPopupParamsFromPath=import_lodash.default.memoize(e=>e.split("/popups/").filter(Boolean).map(t=>{const[o,...r]=t.split("/").filter(Boolean),i={};for(let n=0;n<r.length;n+=2)i[r[n]]=decodePathValue(r[n+1]);return x({popupuid:o},i)})),getPopupPathFromParams=e=>{const{popupuid:t,tab:o,filterbytk:r,sourceid:i,collection:n,puid:a}=e;return`/popups/${[t,a&&"puid",a,n&&"collection",n,r&&"filterbytk",r,i&&"sourceid",i,o&&"tab",o].filter(Boolean).map(l=>encodePathValue(l)).join("/")}`},usePopupUtils=(e={})=>{const t=useNavigateNoUpdate(),o=useLocationNoUpdate(),r=(0,import_react.useFieldSchema)(),i=useDataSourceKey(),n=useCollectionRecord(),a=useCollectionParentRecord(),l=useCollection(),c=useCollectionManager(),u=useAssociationName(),{visible:m,setVisible:d}=(0,import_react2.useContext)(PopupVisibleProviderContext)||{visible:!1,setVisible:import_lodash.default.noop},{params:p,currentLevel:g=0}=useCurrentPopupContext(),{getDataBlockRequest:h}=useDataBlockRequestGetter(),{isPopupVisibleControlledByURL:_}=usePopupSettings(),{setVisible:f}=(0,import_react2.useContext)(ActionContext),{updatePopupContext:v}=usePopupContextInActionOrAssociationField(),b=useCurrentPopupContext(),S=(0,import_react2.useCallback)(T=>{var $;return($=T||(a==null?void 0:a.data))==null?void 0:$[c.getSourceKeyByAssociation(u)]},[a,u]),C=useDataBlockRequestData(),y=useTableBlockContextBasicValue()||{},F=e.setVisible||f,j=(0,import_react2.useCallback)(({tabKey:T,popupUid:$,recordData:B,sourceId:I,collection:M,puid:z})=>{const E=c.getFilterByTK(u||l,B);return getPopupPathFromParams({popupuid:$,puid:z,collection:M,filterbytk:E,sourceid:I,tab:T})},[u,c,l,i,a==null?void 0:a.data,u]),k=(0,import_react2.useCallback)(()=>{const T={dataSource:i,collection:u||l==null?void 0:l.name,association:u};return import_lodash.default.omitBy(T,import_lodash.default.isNil)},[i,l,u]),R=(0,import_react2.useCallback)(({recordData:T,parentRecordData:$,collectionNameUsedInURL:B,popupUidUsedInURL:I,customActionSchema:M}={})=>{if(!_())return F==null?void 0:F(!0);const z=M||r,E=z==null?void 0:z["x-uid"],L=S($);T=T||(n==null?void 0:n.data);const U=j({popupUid:E,recordData:T,sourceId:L,collection:B,puid:I});let q=o.pathname;if(import_lodash.default.last(q)==="/"&&(q=q.slice(0,-1)),storePopupContext(E,{schema:z,record:new CollectionRecord({isNew:!1,data:T}),parentRecord:$?new CollectionRecord({isNew:!1,data:$}):a,service:h(),dataSource:i,collection:l==null?void 0:l.name,association:u,sourceId:L,tableBlockContext:P(x({},y),{collection:l==null?void 0:l.name,blockData:C})}),v(k(),M),z.properties){const G=g+1;if(getPopupLayerState(G))return;t(withSearchParams(`${q}${U}`)),setPopupLayerState(G,!0)}else console.error(`[NocoBase] The popup schema is invalid, please check the schema:
236
236
  ${JSON.stringify(z,null,2)}`)},[u,c,l,i,r,j,t,a,n,h,o,_,S,k,C,y,g]),N=(0,import_react2.useCallback)(()=>{if(!_())return F==null?void 0:F(!1);t(withSearchParams(removeLastPopupPath(o.pathname)),{replace:!0}),removePopupLayerState(g),p!=null&&p.popupuid&&deletePopupContext(p.popupuid)},[_,F,t,o==null?void 0:o.pathname,g,p==null?void 0:p.popupuid]),w=(0,import_react2.useCallback)(T=>{const $=S(),B=j({tabKey:T,popupUid:p==null?void 0:p.popupuid,recordData:n==null?void 0:n.data,sourceId:$});let I=removeLastPopupPath(o.pathname);import_lodash.default.last(I)==="/"&&(I=I.slice(0,-1)),t(`${I}${B}`,{replace:!0})},[j,t,p==null?void 0:p.popupuid,n==null?void 0:n.data,o]),O=(0,import_react2.useCallback)((T,$)=>{$.__popup=T},[]),D=(0,import_react2.useCallback)(T=>T.__popup,[]);return{openPopup:R,closePopup:N,savePopupSchemaToSchema:O,getPopupSchemaFromSchema:D,context:b,visibleWithURL:m,setVisibleWithURL:d,popupParams:p,changeTab:w,getPopupContext:k}};function removeLastPopupPath(e){if(!e.includes("popups"))return e;const t=e.split("popups").slice(0,-1).join("popups");return t.endsWith("/")?t.slice(0,-1):t}function withSearchParams(e){return`${e}${window.location.search}`}function encodePathValue(e){const t=encodeURIComponent(e);return t==="popups"?window.btoa(e):t}function decodePathValue(e){return e===window.btoa("popups")?"popups":decodeURIComponent(e)}const PopupVisibleProviderContext=import_react2.default.createContext(null),PopupParamsProviderContext=import_react2.default.createContext(null),AllPopupsPropsProviderContext=import_react2.default.createContext(null);PopupVisibleProviderContext.displayName="PopupVisibleProviderContext";PopupParamsProviderContext.displayName="PopupParamsProviderContext";AllPopupsPropsProviderContext.displayName="AllPopupsPropsProviderContext";const PopupVisibleProvider=import_react2.default.memo(({children:e,visible:t,setVisible:o})=>{const r=(0,import_react2.useMemo)(()=>({visible:t,setVisible:o}),[t,o]);return(0,import_jsx_runtime.jsx)(PopupVisibleProviderContext.Provider,{value:r,children:e})});PopupVisibleProvider.displayName="PopupVisibleProvider";const VisibleProvider=import_react2.default.memo(({children:e,popupuid:t})=>{const{closePopup:o}=usePopupUtils(),[r,i]=(0,import_react2.useState)(!0),n=(0,import_react2.useCallback)(a=>{a||(i(!1),setTimeout(()=>{o(),deleteRandomNestedSchemaKey(t)},300))},[o,t]);return(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:r,setVisible:n,children:e})}),PopupParamsProvider=e=>{const t=(0,import_react2.useMemo)(()=>({params:e.params,context:e.context,currentLevel:e.currentLevel}),[e.params,e.context,e.currentLevel]);return(0,import_jsx_runtime.jsx)(PopupParamsProviderContext.Provider,{value:t,children:e.children})},PopupTabsPropsProvider=({children:e})=>{const{params:t}=useCurrentPopupContext(),{changeTab:o}=usePopupUtils(),r=(0,import_react2.useCallback)(n=>{o(n)},[o]),{isPopupVisibleControlledByURL:i}=usePopupSettings();return i()?(0,import_jsx_runtime.jsx)(TabsContextProvider,{activeKey:t==null?void 0:t.tab,onChange:r,children:e}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})},displayNone$2={display:"none"},PagePopupsItemProvider=({params:e,context:t,currentLevel:o,children:r})=>{const i=x({},getStoredPopupContext(e.popupuid));return(0,import_react2.useEffect)(()=>(setPopupLayerState(o,!0),()=>{removePopupLayerState(o)}),[o]),t||(t=import_lodash.default.omitBy({dataSource:i.dataSource,collection:i.collection,association:i.association},import_lodash.default.isNil)),import_lodash.default.isEmpty(t)?(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$2,children:r})})}):(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,{dataSource:t.dataSource,collection:e.collection||t.collection,association:t.association,sourceId:e.sourceid,filterByTk:parseQueryString(e.filterbytk),record:i.record,parentRecord:i.parentRecord,action:"get",children:(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:i.service,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$2,children:r})})})})})})},insertChildToParentSchema=({childSchema:e,props:t,parentSchema:o,getPopupSchema:r=i=>import_lodash.default.get(i.properties,Object.keys(i.properties)[0])})=>{const{params:i,context:n,currentLevel:a}=t,l={type:"void","x-component":"PagePopupsItemProvider","x-component-props":{params:i,context:n,currentLevel:a},properties:{popupAction:e}},c=getRandomNestedSchemaKey(i.popupuid);if(o.properties){const u=r(o);import_lodash.default.isEmpty(import_lodash.default.get(u,`properties.${c}`))&&import_lodash.default.set(u,`properties.${c}`,l)}},InternalPagePopups=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react_router_dom.useLocation)(),r=e.paramsList||getPopupParamsFromPath(getPopupPath(o)),{requestSchema:i}=useRequestSchema(),[n,a]=(0,import_react2.useState)(null),l=(0,import_react2.useRef)([]),{savePopupSchemaToSchema:c,getPopupSchemaFromSchema:u}=usePopupUtils();(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){const d=r.map(_=>{var f;return((f=getStoredPopupContext(_.popupuid))==null?void 0:f.schema)||findSchemaByUid(_.popupuid,t==null?void 0:t.root)||i(_.popupuid)}),p=yield Promise.all(d),g=yield Promise.all(p.map((_,f)=>V(void 0,null,function*(){if(import_lodash.default.isEmpty(_))return get404Schema();const v=r[f];if(v.puid){const S=findSchemaByUid(v.puid,t==null?void 0:t.root);if(S)c(import_lodash.default.omit(S,"parent"),_);else try{const C=yield i(v.puid);C&&c(C,_)}catch(C){console.error("Failed to fetch schema for puid:",v.puid,C)}}const b=import_lodash.default.cloneDeepWith(import_lodash.default.omit(_,"parent"),S=>{if((S==null?void 0:S["x-component"])==="Tabs")return S});return b["x-read-pretty"]=!0,b})));l.current=g.map((_,f,v)=>{const b=getPopupContextFromActionOrAssociationFieldSchema(_);let S=!1;for(let C=f+1;C<v.length;C++)if(isSubPageSchema(v[C])){S=!0;break}return{params:r[f],context:b,hidden:S,currentLevel:f+1,isSubPage:isSubPageSchema(_)}});const h=g[0];for(let _=1;_<g.length;_++)insertChildToParentSchema({childSchema:g[_],props:l.current[_],parentSchema:g[_-1],getPopupSchema:f=>u(f)||import_lodash.default.get(f.properties,Object.keys(f.properties)[0])});a(h)})},[t,u,r,i,c]);const m=(0,import_react2.useMemo)(()=>({PagePopupsItemProvider}),[]);return n?(0,import_jsx_runtime.jsx)(AllPopupsPropsProviderContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(PagePopupsItemProvider,{params:l.current[0].params,context:l.current[0].context,currentLevel:1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:m,schema:n,onlyRenderProperties:!0})})}):null},PagePopups=e=>{const{active:t}=useKeepAlive();return t?(0,import_jsx_runtime.jsx)(InternalPagePopups,x({},e)):null},useRequestSchema=()=>{const e=useAPIClient();return{requestSchema:(0,import_react2.useCallback)(t=>V(void 0,null,function*(){var o;try{return(o=(yield e.request({url:`/uiSchemas:getJsonSchema/${t}`})).data)==null?void 0:o.data}catch(r){return console.error(r),null}}),[])}},getPopupPath=e=>{const[,...t]=e.pathname.split("/popups/");return t.join("/popups/")};function isSubPageSchema(e){return import_lodash.default.get(e,"x-component-props.openMode")==="page"}const useCurrentPopupContext=()=>{const{currentLevel:e}=import_react2.default.useContext(PopupParamsProviderContext)||{},t=import_react2.default.useContext(AllPopupsPropsProviderContext);return(t==null?void 0:t[e-1])||{}};function get404Schema(){return{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:'{{ t("Error message") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action.Link","x-component-props":{openMode:"drawer"},"x-action-context":{},"x-decorator":"ACLActionProvider","x-designer-props":{linkageAction:!0},properties:{drawer:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"Error message","x-component":"Action.Container","x-component-props":{className:"nb-action-popup",level:99},properties:{tabs:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"404","x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":function(){return(0,import_jsx_runtime.jsx)(AppNotFound$1,{})},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},name:(0,import_shared.uid)(),"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":2,"x-read-pretty":!0}}function findSchemaByUid(e,t,o={value:null}){var r;return o=o||{value:null},(r=t==null?void 0:t.mapProperties)==null||r.call(t,i=>{i["x-uid"]===e?o.value=i:findSchemaByUid(e,i,o)}),o.value}function parseQueryString(e){var t;return(t=e==null?void 0:e.includes)!=null&&t.call(e,"=")?decodeURIComponent(e).split("&").reduce((o,r)=>{const[i,n]=r.split("=");return o[i]=n,o},{}):e}const useStyles$h=genStyleHook("nb-action-drawer",e=>{const{componentCls:t}=e;return{[t]:{overflow:"hidden","&.reset":{"&.nb-action-popup":{".ant-drawer-header":{display:"none"},".ant-drawer-body":{paddingTop:e.paddingContentVerticalLG,backgroundColor:e.colorBgLayout,paddingBottom:0}},"&.nb-record-picker-selector":{".ant-drawer-wrapper-body":{backgroundColor:e.colorBgLayout},".nb-block-item":{marginBottom:e.marginBlock,".general-schema-designer":{top:-e.sizeXS,bottom:-e.sizeXS,left:-e.sizeXS,right:-e.sizeXS}}}},".footer":{display:"flex",justifyContent:"flex-end",width:"100%",".ant-btn":{marginRight:e.marginXS}},".ant-drawer-content-wrapper":{borderLeft:"1px solid rgba(255, 255, 255, 0.1)"},".ant-tabs-nav":{paddingLeft:e.paddingLG-e.paddingPageHorizontal,paddingRight:e.paddingLG-e.paddingPageHorizontal,marginLeft:e.paddingPageHorizontal-e.paddingLG,marginRight:e.paddingPageHorizontal-e.paddingLG}}}}),useActionContext=()=>{const e=(0,import_react2.useContext)(ActionContext),{t}=(0,import_react_i18next.useTranslation)(),{modal:o}=import_antd.App.useApp();return P(x({},e),{setVisible:(0,import_react2.useCallback)((r,i=!1)=>{var n,a;r?(a=e.setVisible)==null||a.call(e,r):i&&e.formValueChanged?o.confirm({title:t("Unsaved changes"),content:t("Are you sure you don't want to save?"),onOk(){return V(this,null,function*(){var l;e.setFormValueChanged(!1),(l=e.setVisible)==null||l.call(e,!1)})}}):(n=e.setVisible)==null||n.call(e,!1)},[o,t,e.formValueChanged,e.setVisible,e.setFormValueChanged])})},useCloseAction$1=()=>{const{setVisible:e}=(0,import_react2.useContext)(ActionContext),t=(0,import_react.useForm)();return{run(){return V(this,null,function*(){e(!1),t.submit(o=>{console.log(o)})})}}},useLinkageAction=()=>{const e=(0,import_react.useFieldSchema)(),t=useIsDetailBlock();return["Action.Link","Action"].includes(e["x-component"])&&t&&e["x-action"]},useGetAriaLabelOfDrawer=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`drawer-${o}${i}${n}${a}`),[i,o,n])}},zIndexContext=import_react2.default.createContext(100),useZIndexContext=()=>import_react2.default.useContext(zIndexContext),getZIndex=(e,t,o)=>{let r=t;return e==="page"&&!window.location.pathname.includes("/embed/")?(r=t+o,r>200?r-200:r):(r=t+o,r<200?r+200:r)},MemoizeRecursionField$1=import_react2.default.memo(import_react.RecursionField);MemoizeRecursionField$1.displayName="MemoizeRecursionField";const DrawerErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Drawer,{open:t,onClose:()=>o(!1,!0),width:"50%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap$1=new Map([["small","30%"],["middle","50%"],["large","70%"]]),ActionDrawerContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(a=>a["x-component"]!==e,[e]);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n}):null});ActionDrawerContent.displayName="ActionDrawerContent";const InternalActionDrawer=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Drawer.Footer",zIndex:r,onClose:i}=t,n=Y(t,["footerNodeName","zIndex","onClose"]),{visible:a,setVisible:l,openSize:c="middle",drawerProps:u}=useActionContext(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),{componentCls:p,hashId:g}=useStyles$h(),h=useTabsContext(),_=useZIndexContext(),f=m.reduceProperties((F,j)=>j["x-component"]===o?j:F),{hidden:v}=useCurrentPopupContext(),b=(0,import_react2.useMemo)(()=>P(x(x({},u==null?void 0:u.style),n==null?void 0:n.style),{display:v?"none":"block"}),[v,u==null?void 0:u.style,n==null?void 0:n.style]),S=getZIndex("drawer",r||_,e.level||0),C=(0,import_react2.useCallback)(F=>{l(!1,!0),i==null||i(F)},[l,i]),y=(0,import_react2.useCallback)(F=>F["x-component"]===o,[o]);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},h),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Drawer,P(x(x({zIndex:S,width:openSizeWidthMap$1.get(c),title:d.title},n),u),{rootStyle:b,destroyOnClose:!0,open:a,onClose:C,rootClassName:(0,import_classnames.default)(p,g,u==null?void 0:u.className,n.className,"reset"),footer:f&&(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:d.address,schema:m,onlyRenderProperties:!0,filterProperties:y})}),children:(0,import_jsx_runtime.jsx)(ActionDrawerContent,{footerNodeName:o,field:d,schema:m})}))}))})})},{displayName:"InternalActionDrawer"}),ActionDrawer=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:DrawerErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionDrawer,x({},e))}));ActionDrawer.displayName="ActionDrawer";ActionDrawer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionDrawer.Footer"});ActionDrawer.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-drawer-footer",style:{position:"absolute",bottom:0,right:0,left:0},children:(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})})})},{displayName:"ActionDrawer.FootBar"});const useGetAriaLabelOfModal=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`modal-${o}${i}${n}${a}`),[i,o,n])}},ModalErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:t,onCancel:()=>o(!1,!0),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap=new Map([["small","40%"],["middle","60%"],["large","80%"]]),ActionModalContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n=>n["x-component"]!==e}):null});function useDelayedVisible(e,t=200){const[o,r]=(0,import_react2.useState)(t===0);return(0,import_react2.useEffect)(()=>{if(!o)if(e){const i=setTimeout(()=>r(!0),t);return()=>clearTimeout(i)}else r(!1)},[t,o,e]),o}const InternalActionModal=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Modal.Footer",width:r,zIndex:i,delay:n=200}=t,a=Y(t,["footerNodeName","width","zIndex","delay"]),{visible:l,setVisible:c,openSize:u="middle",modalProps:m}=useActionContext(),d=r??openSizeWidthMap.get(u),p=(0,import_react.useFieldSchema)(),g=(0,import_react.useField)(),{token:h}=useToken(),_=useTabsContext(),f=useZIndexContext(),v=p.reduceProperties((F,j)=>j["x-component"]===o?j:F),{hidden:b}=useCurrentPopupContext(),S=!!v,C=getZIndex("modal",i||f,e.level||0),y=useDelayedVisible(l,n);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},_),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x(x({zIndex:b?-1:C,width:d,title:g.title},a),m),{style:x(x({},m==null?void 0:m.style),a==null?void 0:a.style),destroyOnClose:!0,open:l,onCancel:()=>{c(!1,!0)},className:(0,import_classnames.default)(a.className,m==null?void 0:m.className,import_css.css`
237
237
  &.nb-action-popup {
238
238
  .ant-modal-header {
@@ -613,11 +613,11 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
613
613
  z-index: 200;
614
614
  transition: left 0.2s;
615
615
  }
616
- `,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),g=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(g==null?void 0:g.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i;return(i=r==null?void 0:r.componentProps)==null?void 0:i.readOnlySubmit}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!z)return;import_antd.message.success(h(z))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>V(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return V(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return V(this,null,function*(){var d,p,g,h,_;const{triggerWorkflows:f}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:f!=null&&f.length?f.map(C=>[C.workflowKey,C.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:v=0,page:b=0,pageSize:S=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};v%S===1&&b!==1&&o.run(P(x({},(g=o==null?void 0:o.params)==null?void 0:g[0]),{page:b-1})),m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((_=(h=i==null?void 0:i.service)==null?void 0:h.refresh)==null||_.call(h),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return V(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,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"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
616
+ `,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),g=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(g==null?void 0:g.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i,n;const a=((i=r.path)==null?void 0:i.segments)||[],l=a.length<=1?a.join("."):a.slice(0,-1).join(".");return((n=r==null?void 0:r.componentProps)==null?void 0:n.readOnlySubmit)&&!(0,import_get.default)(t,l)[r==null?void 0:r.componentProps.filterTargetKey]}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!z)return;import_antd.message.success(h(z))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>V(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return V(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return V(this,null,function*(){var d,p,g,h,_,f,v;const{triggerWorkflows:b}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:b!=null&&b.length?b.map(F=>[F.workflowKey,F.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:S=0,page:C=0,pageSize:y=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};if(S%y===1&&C!==1){const F=(g=o.params[0])==null?void 0:g.page,j=(_=(h=o.data)==null?void 0:h.meta)==null?void 0:_.totalPage;F===j&&o.params[0]&&F!==1&&(o.params[0].page=F-1)}m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((v=(f=i==null?void 0:i.service)==null?void 0:f.refresh)==null||v.call(f),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return V(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,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"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
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),f=(0,import_react.useFieldSchema)(),v=(f==null?void 0:f["x-component"])==="Action.Link"||i==="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)&&(_[v?"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:_,setNodeRef:h}),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`
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),f=(0,import_react.useFieldSchema)(),v=(f==null?void 0:f["x-component"])==="Action.Link"||i==="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)&&(_[v?"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:_,setNodeRef:h}),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,getCollection:r}=useCollectionManager_deprecated(),i=(0,import_react.useForm)(),n=(0,import_react.useFieldSchema)(),a=useVariables$1(),l=(0,import_react.useField)(),{formValue:c}=useSubFormValue(),{isInSubForm:u,isInSubTable:m}=useFlag()||{},{getAssociationAppends:d}=useAssociationNames(),p=n.name.toString(),g=(0,import_react2.useRef)(null),h=(0,import_react2.useRef)(null);g.current==null&&isDisplayField(p)&&(g.current=o(`${t}.${p}`)),h.current==null&&isDisplayField(p)&&(h.current=o(`${t}.${p.split(".")[0]}`));const _=(0,import_react2.useMemo)(()=>!isDisplayField(p)||!a||t==="fields"||!g.current,[p,a,t,g.current]),f=_?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(u||m?c:i.values)),v=isDisplayField(p)&&h.current?import_lodash.default.get(f,`${p.split(".")[0]}.${((e=h.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{var b;if(_||import_lodash.default.isEmpty(f))return;const S={name:"$nForm",ctx:f,collectionName:t},C=`{{ $nForm.${p} }}`;if(v==null)return;const{appends:y}=d(),F=r((b=g.current)==null?void 0:b.collectionName);a.parseVariable(C,S,{appends:y}).then(({value:j})=>{(0,import_client.nextTick)(()=>{const k=transformVariableValue(j,{targetCollectionField:g.current});import_lodash.default.isEmpty(k)&&!import_lodash.default.isNumber(k)?l.value=null:(l.value=k,l.componentProps=P(x({},l.componentProps),{readOnlySubmit:!0,filterTargetKey:(F==null?void 0:F.filterTargetKey)||"id"}))})}).catch(j=>{console.error(j)})},[v,_])};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
  }
@@ -884,7 +884,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
884
884
  display: none;
885
885
  }
886
886
  }
887
- `,displayBlock={display:"block"},displayNone$1={display:"none"},TabPane=import_react2.default.memo(({active:e,uid:t})=>{const o=(0,import_react2.useRef)(!1),{active:r}=useKeepAlive();return e&&!o.current&&(o.current=!0),o.current?(0,import_jsx_runtime.jsx)("div",{style:e?displayBlock:displayNone$1,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r&&e,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:t})})}):null}),InternalPageContent=e=>{var t,o,r,i;const{loading:n,disablePageHeader:a,enablePageTabs:l,activeKey:c}=e,u=useCurrentRoute(),m=useNavigateNoUpdate(),d=useLocationNoUpdate(),p=((u==null?void 0:u.children)||[]).every(h=>h.schemaUid!==c&&h.tabSchemaName!==c);if(c&&p)return(0,import_jsx_runtime.jsx)(AppNotFound$1,{});const g=(t=u==null?void 0:u.children)==null?void 0:t.find(h=>h.tabSchemaName===c);if(g){const h=new URLSearchParams(d.search);h.has("tab")&&h.get("tab")===c&&h.delete("tab");const _=h.toString()?`?${h.toString()}`:"",f=d.pathname+(d.pathname.endsWith("/")?`tabs/${g.schemaUid}`:`/tabs/${g.schemaUid}`);return m(f+_),null}return!a&&l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(o=u.children)==null?void 0:o.map(h=>(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(TabPane,{active:h.schemaUid===c,uid:h.schemaUid})},h.schemaUid))}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(r=u==null?void 0:u.children)==null?void 0:r[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(i=u==null?void 0:u.children)==null?void 0:i[0].schemaUid})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),g=useCurrentRoute(),{createRoute:h}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>V(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),R=(0,import_shared.uid)();yield h({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:g.id,tabSchemaName:R}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:R}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=g.enableTabs,b=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=g==null?void 0:g.children)==null?void 0:y.map(F=>{if(!F||F.hideInMenu)return null;const j={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:j,children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{})]})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),g]),{onDragEnd:C}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:C,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:b,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),m=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,d=useCurrentRoute(),p=d.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:h}=useToken$1();return(0,import_react2.useEffect)(()=>{const _=a(i.title)||a(d==null?void 0:d.title);_&&(n(_),u(_))},[i.title,c,n,a,d==null?void 0:d.title]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!m&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||p?"":"height0"),style:{paddingBottom:d.enableTabs||g?0:h.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return V(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}}},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return V(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return V(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}}}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e).filter(isAssociation),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const AppendsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u}=t,m=Y(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData"]),d=useCompile(),{t:p}=(0,import_react_i18next.useTranslation)(),[g,h]=(0,import_react2.useState)({}),_=a({collection:n}),[f,v]=parseCollectionName(_),b=useApp(),{collectionManager:S}=b.dataSourceManager.getDataSource(f),C=(O,D)=>{const T=S.getCollection(O);return T?T.getAllFields(D):[]},y=Object.values(g),F=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(O=>g[O]).filter(Boolean):r,[r,e.multiple,g]),j=(0,import_react2.useCallback)(O=>V(void 0,null,function*(){if(u!=null)return u(O);if(!O.isLeaf&&O.loadChildren){const D=O.loadChildren(O);h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))}}),[u]);(0,import_react2.useEffect)(()=>{const O=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,D=(u===null?[]:getCollectionFieldOptions.call({compile:d,getCollectionFields:C,filter:l},v,O)).reduce((T,$)=>Object.assign(T,{[$.value]:$}),{});O&&(D[O.value]=O),h(D)},[_,c,l,u]),(0,import_react2.useEffect)(()=>{const O=e.multiple?r:r?[r]:[];if(!(O!=null&&O.length)||O.every(T=>!!g[T]))return;const D=[];O.forEach(T=>{const $=T.split(".");let B=g[$[0]];for(let I=1;I<$.length&&B;I++){const M=$.slice(0,I+1).join(".");if(g[M]){B=g[M];break}if(!B.isLeaf&&B.loadChildren){const z=B.loadChildren(B);z!=null&&z.length&&(D.push(...z),B=z.find(E=>E.value===$.slice(0,I+1).join(".")))}}}),h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))},[r,y.length,e.multiple]);const k=(0,import_react2.useCallback)(O=>{if(!e.multiple){i(O);return}const D=O.map(B=>B.value).filter(Boolean),T=new Set(D),$=F.find(B=>!T.has(B.value));if($){const B=`${$.value}.`;Object.keys(g).forEach(I=>{I.startsWith(B)&&T.delete(I)})}else D.forEach(B=>{const I=B.split(".");if(I.length)for(let M=1;M<=I.length;M++)T.add(I.slice(0,M).join("."))});i(Array.from(T))},[e.multiple,F,i,g]),R=(0,import_react2.useCallback)(O=>{var D;const{value:T,onClose:$,disabled:B,closable:I}=O;if(!T)return null;const{fullTitle:M}=(D=g[T])!=null?D:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:I&&!B,onClose:$,children:M==null?void 0:M.join(" / ")})},[g]),N=Array.isArray(F)?F.filter(O=>O.value in g):F,w=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:N,placeholder:p("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:w,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:R,onChange:k,treeDataSimpleMode:!0,treeData:y,loadData:j},m))},removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=Y(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,g]=(0,import_react2.useState)(d),h=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),b=useAPIClient().resource(u.target),S=useCollectionRecordData(),C=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const N=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(N)?N.filter(Boolean):N,O=removeIfKeyEmpty(w,j);g(O),(0,import_lodash.isEqual)(a.value,O)||(a.value=O)},[a.value,j]),(0,import_react2.useEffect)(()=>{const N=(0,import_shared.uid)();return v.addEffects(N,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var O,D,T,$,B,I;const M=filterAnalyses((T=(D=(O=a.componentProps)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T.filter)||[],z=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);M.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((B=w==null?void 0:w.props)==null?void 0:B.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(z,E))&&(a.setValue(null),g(null))})}),()=>{v.removeEffects(N)}},[]);const k=N=>V(void 0,null,function*(){var w,O;const{search:D,callBack:T}=N,{data:{data:$}}=yield b.create({values:{[((O=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:O.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const B=v.getValuesIn(a.path)||[];B.push($),v.setValuesIn(a.path,B),a.onInput(B)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(T)&&(T==null||T()),import_antd.message.success(_("Saved successfully"))}}),R=N=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(N),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${N.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:N=>{var w;const O=(N==null?void 0:N.length)!==0?N:null;(w=e.onChange)==null||w.call(e,O)},CustomDropdownRender:h==="quickAdd"&&R})),h==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},C),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:N=>N["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:g})=>{c({percent:Math.round(g/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;return typeof e=="string"?{url:e}:((t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data)),P(x({},e),{id:e.id||e.uid,title:e.title||e.name}))},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
887
+ `,displayBlock={display:"block"},displayNone$1={display:"none"},TabPane=import_react2.default.memo(({active:e,uid:t})=>{const o=(0,import_react2.useRef)(!1),{active:r}=useKeepAlive();return e&&!o.current&&(o.current=!0),o.current?(0,import_jsx_runtime.jsx)("div",{style:e?displayBlock:displayNone$1,children:(0,import_jsx_runtime.jsx)(KeepAliveProvider,{active:r&&e,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:t})})}):null}),InternalPageContent=e=>{var t,o,r,i;const{loading:n,disablePageHeader:a,enablePageTabs:l,activeKey:c}=e,u=useCurrentRoute(),m=useNavigateNoUpdate(),d=useLocationNoUpdate(),p=((u==null?void 0:u.children)||[]).every(h=>h.schemaUid!==c&&h.tabSchemaName!==c);if(c&&p)return(0,import_jsx_runtime.jsx)(AppNotFound$1,{});const g=(t=u==null?void 0:u.children)==null?void 0:t.find(h=>h.tabSchemaName===c);if(g){const h=new URLSearchParams(d.search);h.has("tab")&&h.get("tab")===c&&h.delete("tab");const _=h.toString()?`?${h.toString()}`:"",f=d.pathname+(d.pathname.endsWith("/")?`tabs/${g.schemaUid}`:`/tabs/${g.schemaUid}`);return m(f+_),null}return!a&&l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(o=u.children)==null?void 0:o.map(h=>(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(TabPane,{active:h.schemaUid===c,uid:h.schemaUid})},h.schemaUid))}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(r=u==null?void 0:u.children)==null?void 0:r[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(i=u==null?void 0:u.children)==null?void 0:i[0].schemaUid})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),g=useCurrentRoute(),{createRoute:h}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>V(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),R=(0,import_shared.uid)();yield h({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:g.id,tabSchemaName:R}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:R}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=g.enableTabs,b=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=g==null?void 0:g.children)==null?void 0:y.map(F=>{if(!F||F.hideInMenu)return null;const j={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:j,children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{})]})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),g]),{onDragEnd:C}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:C,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:b,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),m=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,d=useCurrentRoute(),p=d.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:h}=useToken$1();return(0,import_react2.useEffect)(()=>{const _=a(i.title)||a(d==null?void 0:d.title);_&&(n(_),u(_))},[i.title,c,n,a,d==null?void 0:d.title]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!m&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||p?"":"height0"),style:{paddingBottom:d.enableTabs||g?0:h.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return V(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}}},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return V(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return V(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}}}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e).filter(isAssociation),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const AppendsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u}=t,m=Y(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData"]),d=useCompile(),{t:p}=(0,import_react_i18next.useTranslation)(),[g,h]=(0,import_react2.useState)({}),_=a({collection:n}),[f,v]=parseCollectionName(_),b=useApp(),{collectionManager:S}=b.dataSourceManager.getDataSource(f),C=(O,D)=>{const T=S.getCollection(O);return T?T.getAllFields(D):[]},y=Object.values(g),F=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(O=>g[O]).filter(Boolean):r,[r,e.multiple,g]),j=(0,import_react2.useCallback)(O=>V(void 0,null,function*(){if(u!=null)return u(O);if(!O.isLeaf&&O.loadChildren){const D=O.loadChildren(O);h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))}}),[u]);(0,import_react2.useEffect)(()=>{const O=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,D=(u===null?[]:getCollectionFieldOptions.call({compile:d,getCollectionFields:C,filter:l},v,O)).reduce((T,$)=>Object.assign(T,{[$.value]:$}),{});O&&(D[O.value]=O),h(D)},[_,c,l,u]),(0,import_react2.useEffect)(()=>{const O=e.multiple?r:r?[r]:[];if(!(O!=null&&O.length)||O.every(T=>!!g[T]))return;const D=[];O.forEach(T=>{const $=T.split(".");let B=g[$[0]];for(let I=1;I<$.length&&B;I++){const M=$.slice(0,I+1).join(".");if(g[M]){B=g[M];break}if(!B.isLeaf&&B.loadChildren){const z=B.loadChildren(B);z!=null&&z.length&&(D.push(...z),B=z.find(E=>E.value===$.slice(0,I+1).join(".")))}}}),h(T=>D.reduce(($,B)=>Object.assign($,{[B.value]:B}),x({},T)))},[r,y.length,e.multiple]);const k=(0,import_react2.useCallback)(O=>{if(!e.multiple){i(O);return}const D=O.map(B=>B.value).filter(Boolean),T=new Set(D),$=F.find(B=>!T.has(B.value));if($){const B=`${$.value}.`;Object.keys(g).forEach(I=>{I.startsWith(B)&&T.delete(I)})}else D.forEach(B=>{const I=B.split(".");if(I.length)for(let M=1;M<=I.length;M++)T.add(I.slice(0,M).join("."))});i(Array.from(T))},[e.multiple,F,i,g]),R=(0,import_react2.useCallback)(O=>{var D;const{value:T,onClose:$,disabled:B,closable:I}=O;if(!T)return null;const{fullTitle:M}=(D=g[T])!=null?D:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:I&&!B,onClose:$,children:M==null?void 0:M.join(" / ")})},[g]),N=Array.isArray(F)?F.filter(O=>O.value in g):F,w=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:N,placeholder:p("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:w,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:R,onChange:k,treeDataSimpleMode:!0,treeData:y,loadData:j},m))},removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=Y(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,g]=(0,import_react2.useState)(d),h=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),b=useAPIClient().resource(u.target),S=useCollectionRecordData(),C=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const N=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(N)?N.filter(Boolean):N,O=removeIfKeyEmpty(w,j);g(O),(0,import_lodash.isEqual)(a.value,O)||(a.value=O)},[a.value,j]),(0,import_react2.useEffect)(()=>{const N=(0,import_shared.uid)();return v.addEffects(N,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var O,D,T,$,B,I;const M=filterAnalyses((T=(D=(O=a.componentProps)==null?void 0:O.service)==null?void 0:D.params)==null?void 0:T.filter)||[],z=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);M.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((B=w==null?void 0:w.props)==null?void 0:B.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(z,E))&&(a.setValue(null),g(null))})}),()=>{v.removeEffects(N)}},[]);const k=N=>V(void 0,null,function*(){var w,O;const{search:D,callBack:T}=N,{data:{data:$}}=yield b.create({values:{[((O=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:O.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const B=v.getValuesIn(a.path)||[];B.push($),v.setValuesIn(a.path,B),a.onInput(B)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(T)&&(T==null||T()),import_antd.message.success(_("Saved successfully"))}}),R=N=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(N),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${N.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:N=>{var w;const O=Array.isArray(N)&&N.length===0?null:N;(w=e.onChange)==null||w.call(e,O)},CustomDropdownRender:h==="quickAdd"&&R})),h==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},C),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:N=>N["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:g})=>{c({percent:Math.round(g/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;return typeof e=="string"?{url:e}:((t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data)),P(x({},e),{id:e.id||e.uid,title:e.title||e.name}))},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
888
888
  .ReactModal__Overlay.ReactModal__Overlay--after-open {
889
889
  z-index: 3000 !important; // 避免预览图片时被遮挡
890
890
  }
@@ -893,7 +893,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
893
893
  width: ${a}px !important;
894
894
  height: ${a}px !important;
895
895
  }
896
- `),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),g=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:h=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(h,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:g}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:b=>b.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const g=toFileList(r);c(g)},[r]);const d=(0,import_react2.useCallback)(g=>{const h=l.findIndex(_=>_.id===g.id);m(h)},[l]),p=(0,import_react2.useCallback)(g=>{i(o?r.filter(h=>h.id!==g.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((g,h)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:g,index:h,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},g.id||g.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:g}=(0,import_react_i18next.useTranslation)(),{componentCls:h}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const N=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[N.length?g("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,g]);const b=(0,import_react2.useCallback)(N=>{var w;const O=N.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(O),n){const D=N.fileList.filter(T=>T.status==="done");if(D.length){const T=[...u,...D.map($=>{var B;return c((B=$.response)==null?void 0:B.data)})];O.length?m(T):(l==null||l([...a||[],...T]),m([]))}}else{const D=N.fileList.find(T=>T.uid===N.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(N=>{p(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),C=(0,import_react2.useCallback)(N=>{m(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),R=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:C},N.id)),d.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:S},N.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),style:R?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:b,showUploadList:!1,children:R?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",g("Upload")]}):null}))})}),R&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),h=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),b=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:C}=c;C==null||C(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:b,beforeUpload:h}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${g}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${g}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const 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)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),{useFileCollectionStorageRules:h,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=h(),b=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-wrapper`,`${g}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${g}-list`,`${g}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},b),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),g=useInsertSchema$1("Selector"),h=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,b]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),C=S(f.props.name),y=useLabelUiSchema$1(C==null?void 0:C.target,(h==null?void 0:h.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?g(schema$1.Selector):c.reduceProperties((O,D)=>D["x-component"]==="AssociationField.Selector"?D:O,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(O=>{const D=O[h.label];return P(x({},O),{[h.label]:getLabelFormatValue$1(F(y),F(D))})});b(w)}else b([])},[i,h==null?void 0:h.label]);const R={size:"small",fieldNames:h,multiple:["o2m","m2m","mbm"].includes(C==null?void 0:C.interface)&&n,association:{target:C==null?void 0:C.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:C},N=()=>{const{setVisible:w}=useActionContext(),{multiple:O,selectedRows:D,onChange:T,options:$,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){T(O?(0,import_lodash.unionBy)(D,$,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${C==null?void 0:C.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},R),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:C==null?void 0:C.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:N,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o(t.name)||r(t["x-collection-field"]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:i?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null})}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),g=useAPIClient(),h=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=g.resource(_.target),{getCollectionJoinField:b,getInterface:S}=useCollectionManager_deprecated(),C=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(C==null?void 0:C.label)&&b(`${_.target}.${C.label}`),F=(0,import_react2.useMemo)(()=>{var D,T;return y!=null&&y.interface&&((T=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:T.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const T=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),$=(D=T==null?void 0:T.map)==null?void 0:D.call(T,B=>({key:B.parentId,children:[],value:B}));l($)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(T=>["number","string"].includes(typeof T[C.value])).map(T=>{var $,B,I;let M=p(T[C.label]);if(($=y==null?void 0:y.uiSchema)!=null&&$.enum)if(Array.isArray(M))M=M.map((z,E)=>{var L,U;const q=(U=(L=y.uiSchema.enum).find)==null?void 0:U.call(L,G=>G.value===z);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||z},E):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:z},z)}).reverse();else{const z=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,E=>E.value===M);z&&(M=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:z.color,children:z.label}))}return(y==null?void 0:y.type)==="date"&&(M=(0,import_dayjs.default)(M).format("YYYY-MM-DD")),r?r({[C.label]:M||EMPTY,[C.value]:T[C.value]}):P(x({},T),{[C.label]:M||EMPTY,[C.value]:T[C.value]})}).filter(Boolean)}catch(T){return console.error(T),D}},[y==null?void 0:y.uiSchema,C]),R=D=>V(void 0,null,function*(){var T,$;const B=yield v.list({pageSize:200,params:h==null?void 0:h.params,filter:mergeFilter([D,(T=h==null?void 0:h.params)==null?void 0:T.filter]),tree:D.parentId?void 0:!0});return($=B==null?void 0:B.data)==null?void 0:$.data}),N=(D,T,$)=>V(void 0,null,function*(){const B=yield R({parentId:T==null?void 0:T.id}),I=[...a];if(I.splice($+1),I[$]=P(x({},I[$]),{value:T}),T!=null&&T.id&&(I[$+1]={key:T==null?void 0:T.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const M=Array.isArray(f.fieldValue)?f.fieldValue:[];M[j.index]=T,f.fieldValue=M}else f.value=T;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,T,$)=>V(void 0,null,function*(){var B,I,M;if(D){d(!0);const z=yield R({parentId:T==null?void 0:T.key});if(d(!1),u(z),$===(a==null?void 0:a.length)-1&&(B=T==null?void 0:T.value)!=null&&B.id){const E=yield R({parentId:(I=T==null?void 0:T.value)==null?void 0:I.id}),L=[...a];L.splice($+1),L[$]=P(x({},L[$]),{value:T==null?void 0:T.value}),L[$+1]={key:(M=T==null?void 0:T.value)==null?void 0:M.id,children:(E==null?void 0:E.length)>0?E:null},l(L),i==null||i(L)}}}),O=(D,T)=>V(void 0,null,function*(){const $=D?{[C.label]:{[F]:D}}:{};d(!0);const B=yield R(P(x({},$),{parentId:T==null?void 0:T.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,T)=>{var $,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:($=D==null?void 0:D.value)==null?void 0:$[C.label],value:(B=D==null?void 0:D.value)==null?void 0:B[C.value]},labelInValue:!0,onSearch:M=>O(M,D),fieldNames:C,style:{minWidth:150},onChange:(M,z)=>N(M,z,T),options:m?[]:k(c),onDropdownVisibleChange:M=>w(M,D,T),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${C.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{var t;const{options:o}=useAssociationFieldContext(),r=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{loading:l,data:c}=useDataBlockRequest()||{},u=(t=c==null?void 0:c.data)==null?void 0:t[a.name],m=(0,import_lodash.debounce)(p=>{var g,h;if(o.interface==="m2o"){const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g[a.name]);setTimeout(()=>{p.setValuesIn(a.name,_),n.value=_})}else{const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{n.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return r.addEffects(p,()=>{(0,import_core.onFormValuesChange)(g=>{m(g)})}),()=>{r.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(u)&&u.length>0?u:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
896
+ `),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${m}-list`,`${m}-list-picture-card`),children:(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:i,readPretty:!0,multiple:n,value:o,onChange:r},l))})}))}const Upload=(0,import_react.connect)(InternalUpload,(0,import_react.mapProps)({value:"fileList"}),(0,import_react.mapReadPretty)(ReadPretty$9));Upload.ReadPretty=ReadPretty$9;function useSizeHint(e){const t=e??FILE_SIZE_LIMIT_DEFAULT,{t:o,i18n:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_filesize.default)(t,{base:2,standard:"jedec",locale:r.language});return t!==0?o("File size should not exceed {{size}}.",{size:i}):""}function DefaultThumbnailPreviewer({file:e}){var t;const{componentCls:o}=useStyles$6(),{getThumbnailURL:r=getThumbnailPlaceholderURL}=(t=attachmentFileTypes.getTypeByFile(e))!=null?t:{},i=r(e);return(0,import_jsx_runtime.jsx)("img",{src:i,alt:e.title,className:`${o}-list-item-image`})}function AttachmentListItem(e){var t,o;const{file:r,disabled:i,onPreview:n,onDelete:a,readPretty:l,showFileName:c}=e,{componentCls:u}=useStyles$6(),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),n==null||n(r)},[r,n]),p=(0,import_react2.useCallback)(()=>{a==null||a(r)},[r,a]),g=(0,import_react2.useCallback)(()=>{(0,import_file_saver.saveAs)(r.url,`${r.title}${r.extname}`)},[r]),{ThumbnailPreviewer:h=DefaultThumbnailPreviewer}=(t=attachmentFileTypes.getTypeByFile(r))!=null?t:{},_=[(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-thumbnail`,children:(0,import_jsx_runtime.jsx)(h,{file:r})},"thumbnail"),c!==!1&&r.title?(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-name`,title:r.title,children:r.status==="uploading"?m("Uploading"):r.title},"title"):null],f=r.url?(0,import_jsx_runtime.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r.url,onClick:d,children:_}):(0,import_jsx_runtime.jsx)("span",{className:`${u}-span`,children:_}),v=(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${u}-list-item`,`${u}-list-item-${(o=r.status)!=null?o:"done"}`,`${u}-list-item-list-type-picture-card`),children:[(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-info`,children:f}),(0,import_jsx_runtime.jsx)("span",{className:`${u}-list-item-actions`,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,children:[!l&&r.url&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DownloadOutlined,{}),onClick:g}),!l&&!i&&r.status!=="uploading"&&(0,import_jsx_runtime.jsx)(import_antd.Button,{size:"small",type:"text",icon:(0,import_jsx_runtime.jsx)(import_icons.DeleteOutlined,{}),onClick:p})]})}),r.status==="uploading"&&(0,import_jsx_runtime.jsx)("div",{className:`${u}-list-item-progress`,children:(0,import_jsx_runtime.jsx)(import_antd.Progress,{strokeWidth:4,type:"line",showInfo:!1,percent:Number(r.percent)})})]});return(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:c!==!1&&r.title?"28px":"0px"},className:`${u}-list-picture-card-container ${u}-list-item-container`,children:r.status==="error"?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:r.response,getPopupContainer:b=>b.parentNode,children:v}):v})}function Previewer({index:e,onSwitchIndex:t,list:o}){var r;if(e==null)return null;const i=o[e],{Previewer:n=IframePreviewer}=(r=attachmentFileTypes.getTypeByFile(i))!=null?r:{};return(0,import_jsx_runtime.jsx)(n,{index:e,list:o,onSwitchIndex:t})}function AttachmentList(e){const{disabled:t,multiple:o,value:r,onChange:i,readPretty:n,showFileName:a}=e,[l,c]=(0,import_react2.useState)([]),[u,m]=(0,import_react2.useState)(null);(0,import_react2.useEffect)(()=>{const g=toFileList(r);c(g)},[r]);const d=(0,import_react2.useCallback)(g=>{const h=l.findIndex(_=>_.id===g.id);m(h)},[l]),p=(0,import_react2.useCallback)(g=>{i(o?r.filter(h=>h.id!==g.id):null)},[o,i,r]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[l.map((g,h)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:g,index:h,disabled:t,onPreview:d,onDelete:p,readPretty:n,showFileName:a},g.id||g.url)),(0,import_jsx_runtime.jsx)(Previewer,{index:u,onSwitchIndex:m,list:l})]})}function Uploader(e){var t=e,{rules:o}=t,r=Y(t,["rules"]);const{disabled:i,multiple:n,value:a,onChange:l,toValueItem:c=toValueItem}=r,[u,m]=(0,import_react2.useState)([]),[d,p]=(0,import_react2.useState)([]),{t:g}=(0,import_react_i18next.useTranslation)(),{componentCls:h}=useStyles$6(),_=(0,import_react.useField)(),f=useUploadProps(r),v=useBeforeUpload(o);(0,import_react2.useEffect)(()=>{if(d.length){const N=d.filter(w=>w.status==="error");_.setFeedback({type:"error",code:"ValidateError",messages:[N.length?g("Some files are not uploaded correctly, please check."):" "]})}else _.setFeedback({})},[_,d,g]);const b=(0,import_react2.useCallback)(N=>{var w;const O=N.fileList.filter(D=>D.status!=="done").map(normalizeFile);if(p(O),n){const D=N.fileList.filter(T=>T.status==="done");if(D.length){const T=[...u,...D.map($=>{var B;return c((B=$.response)==null?void 0:B.data)})];O.length?m(T):(l==null||l([...a||[],...T]),m([]))}}else{const D=N.fileList.find(T=>T.uid===N.file.uid);D.status==="done"&&(l==null||l(c((w=D.response)==null?void 0:w.data)),p([]))}},[n,a,u,c,l]),S=(0,import_react2.useCallback)(N=>{p(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),C=(0,import_react2.useCallback)(N=>{m(w=>{const O=w.indexOf(N);return w.splice(O,1),[...w]})},[]),y=useComponent("QRCodeUploader"),{mimetype:F,size:j}=o??{},k=useSizeHint(j),R=!i&&(n||(!a||Array.isArray(a)&&!a.length)&&!d.length);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[u.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:C},N.id)),d.map((N,w)=>(0,import_jsx_runtime.jsx)(AttachmentListItem,{file:N,index:w,disabled:i,onDelete:S},N.uid)),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${h}-list-picture-card-container`,`${h}-list-item-container`),style:R?{}:{display:"none"},children:(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:k,children:(0,import_jsx_runtime.jsx)(import_antd.Upload,P(x({accept:F},f),{disabled:i,multiple:n,listType:"picture-card",fileList:d,beforeUpload:v,onChange:b,showUploadList:!1,children:R?(0,import_jsx_runtime.jsxs)("span",{children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("br",{})," ",g("Upload")]}):null}))})}),R&&y&&(0,import_jsx_runtime.jsx)(y,{disabled:i,multiple:n,value:a,onChange:l})]})}function Attachment(e){const{wrapSSR:t,hashId:o,componentCls:r}=useStyles$6();return t((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${r}-wrapper`,`${r}-picture-card-wrapper`,"nb-upload",o),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${r}-list`,`${r}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({},e)),(0,import_jsx_runtime.jsx)(Uploader,x({},e))]})}))}Attachment.ReadPretty=ReadPretty$9;Upload.Attachment=withDynamicSchemaProps((0,import_react.connect)(Attachment,(0,import_react.mapReadPretty)(Attachment.ReadPretty)),{displayName:"Upload.Attachment"});Upload.Dragger=(0,import_react.connect)(e=>{const t=e,{tipContent:o,onChange:r}=t,i=Y(t,["tipContent","onChange"]),{wrapSSR:n,hashId:a,componentCls:l}=useStyles$6(),c=(0,import_react2.useCallback)(u=>{r==null||r(toFileList(u.fileList))},[r]);return n((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${l}-dragger`,a),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(i)),{onChange:c,children:[o,e.children]}))}))},(0,import_react.mapProps)({value:"fileList"}));Upload.DraggerV2=withDynamicSchemaProps((0,import_react.connect)(e=>{var t=e,{rules:o}=t,r=Y(t,["rules"]);const{t:i}=(0,import_react_i18next.useTranslation)(),n=i("Click or drag file to this area to upload"),a=useProps(r),{title:l=n}=a,c=Y(a,["title"]),[u,m]=(0,import_react2.useState)(!1),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),h=useBeforeUpload(o),{size:_,mimetype:f}=o??{},v=useSizeHint(_),b=(0,import_react2.useCallback)(({fileList:S})=>{const{onChange:C}=c;C==null||C(S),S.some(y=>y.status==="uploading")?m(!0):m(!1)},[c]);return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-dragger`,p),children:(0,import_jsx_runtime.jsxs)(import_antd.Upload.Dragger,P(x({},useUploadProps(P(x(x({},r),c),{accept:f,onChange:b,beforeUpload:h}))),{children:[(0,import_jsx_runtime.jsx)("p",{className:`${g}-drag-icon`,children:u?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{style:{fontSize:36},spin:!0}):(0,import_jsx_runtime.jsx)(import_icons.InboxOutlined,{})}),(0,import_jsx_runtime.jsx)("p",{className:`${g}-text`,children:l}),(0,import_jsx_runtime.jsxs)("ul",{children:[(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:i("Support for a single or bulk upload.")}),(0,import_jsx_runtime.jsx)("li",{className:`${g}-hint`,children:v})]})]}))}))},(0,import_react.mapProps)({value:"fileList"})),{displayName:"Upload.DraggerV2"});const schema$1={Nester:{type:"void","x-component":"AssociationField.Nester",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"form:configureFields"}}},AddNewer:{type:"void","x-component":"AssociationField.AddNewer","x-action":"create",title:'{{ t("Add record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab","x-initializer-props":{gridInitializer:"popup:addNew:addBlock"},properties:{tab1:{type:"void",title:'{{t("Add new")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:addNew:addBlock",properties:{}}}}}}}},Selector:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}},Viewer:{type:"void",title:'{{ t("View record") }}',"x-component":"AssociationField.Viewer","x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},SubTable:{type:"void","x-component":"AssociationField.SubTable","x-initializer":"table:configureColumns","x-initializer-props":{action:!1},properties:{}}},useTableSelectorProps$3=()=>{const e=(0,import_react.useField)(),{multiple:t,options:o=[],setSelectedRows:r,selectedRows:i=[],onChange:n}=(0,import_react2.useContext)(RecordPickerContext),a=useTableSelectorProps$4(),{onRowSelectionChange:l,rowKey:c="id"}=a,u=Y(a,["onRowSelectionChange","rowKey"]),{setVisible:m}=useActionContext();return P(x({},u),{rowKey:c,rowSelection:{type:t?"checkbox":"radio",selectedRowKeys:i==null?void 0:i.filter(d=>o.every(p=>p[c]!==d[c])).map(d=>d[c])},onRowSelectionChange(d,p){if(t){const 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)}})};function FileSelector(e){const t=e,{disabled:o,multiple:r,value:i,onChange:n,action:a,onSelect:l,quickUpload:c,selectFile:u}=t,m=Y(t,["disabled","multiple","value","onChange","action","onSelect","quickUpload","selectFile"]),{wrapSSR:d,hashId:p,componentCls:g}=useStyles$6(),{useFileCollectionStorageRules:h,useAttachmentFieldProps:_}=(0,import_react.useExpressionScope)(),{t:f}=(0,import_react_i18next.useTranslation)(),v=h(),b=_(),S=u===void 0&&c===void 0;return d((0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-wrapper`,`${g}-picture-card-wrapper`,"nb-upload",p),children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(`${g}-list`,`${g}-list-picture-card`),children:[(0,import_jsx_runtime.jsx)(AttachmentList,x({disabled:o,multiple:r,value:i,onChange:n},m)),S?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null,c?(0,import_jsx_runtime.jsx)(Uploader,x(P(x({},b),{value:i,multiple:r,onChange:n,action:a,rules:v,disabled:o}),m)):null,u&&(r||!i)?(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`${g}-list-picture-card-container`,`${g}-list-item-container`),children:(0,import_jsx_runtime.jsx)(import_antd.Upload,{disabled:o,multiple:r,listType:"picture-card",showUploadList:!1,children:(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},onClick:l,children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),f("Select")]})})}):null]})}))}const InternalFileManager=e=>{var t,o;const r=e,{value:i,multiple:n,onChange:a}=r,l=Y(r,["value","multiple","onChange"]),c=(0,import_react.useFieldSchema)(),[u,m]=(0,import_react2.useState)(!1),[d,p]=(0,import_react2.useState)([]),g=useInsertSchema$1("Selector"),h=useFieldNames$1(e),{designable:_}=useDesignable(),f=(0,import_react.useField)(),[v,b]=(0,import_react2.useState)([]),{getField:S}=useCollection_deprecated(),C=S(f.props.name),y=useLabelUiSchema$1(C==null?void 0:C.target,(h==null?void 0:h.label)||"label"),F=useCompile(),{modalProps:j}=useActionContext(),k=w=>{w.stopPropagation(),w.preventDefault(),_?g(schema$1.Selector):c.reduceProperties((O,D)=>D["x-component"]==="AssociationField.Selector"?D:O,null)||c.addProperty("selector",schema$1.Selector),m(!0),p([])};(0,import_react2.useEffect)(()=>{if(i&&Object.keys(i).length>0){const w=(Array.isArray(i)?i:i?[i]:[]).filter(Boolean).map(O=>{const D=O[h.label];return P(x({},O),{[h.label]:getLabelFormatValue$1(F(y),F(D))})});b(w)}else b([])},[i,h==null?void 0:h.label]);const R={size:"small",fieldNames:h,multiple:["o2m","m2m","mbm"].includes(C==null?void 0:C.interface)&&n,association:{target:C==null?void 0:C.target},options:v,onChange:e==null?void 0:e.onChange,selectedRows:d,setSelectedRows:p,collectionField:C},N=()=>{const{setVisible:w}=useActionContext(),{multiple:O,selectedRows:D,onChange:T,options:$,collectionField:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){T(O?(0,import_lodash.unionBy)(D,$,(B==null?void 0:B.targetKey)||"id"):(D==null?void 0:D[0])||null),w(!1)}}};return(0,import_jsx_runtime.jsxs)("div",{style:{width:"100%",overflow:"auto"},children:[(0,import_jsx_runtime.jsx)(FileSelector,P(x({},l),{value:n?v:v==null?void 0:v[0],multiple:n,quickUpload:((t=c["x-component-props"])==null?void 0:t.quickUpload)!==!1,selectFile:((o=c["x-component-props"])==null?void 0:o.selectFile)!==!1,action:`${C==null?void 0:C.target}:create`,onSelect:k,onChange:a})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openMode:"drawer",visible:u,setVisible:m,modalProps:{getContainer:(l==null?void 0:l.getContainer)||(j==null?void 0:j.getContainer)},formValueChanged:!1},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},R),{children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:C==null?void 0:C.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:N,useTableSelectorProps:useTableSelectorProps$3},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:f.address,schema:c,filterProperties:w=>w["x-component"]==="AssociationField.Selector"})})})})})}))})]})},FileManageReadPretty=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o(t.name)||r(t["x-collection-field"]);return(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:!0,children:i?(0,import_jsx_runtime.jsx)(Upload.ReadPretty,x({},e)):null})}),EMPTY="N/A",SchemaField=(0,import_react.createSchemaField)({components:{Space:import_antd.Space,Input:import_antd.Input,ArrayItems:import_antd_v5.ArrayItems,FormItem:import_antd_v5.FormItem}}),CascadeSelect=(0,import_react.connect)(e=>{var t;const{data:o,mapOptions:r,onChange:i,value:n}=e,[a,l]=(0,import_react2.useState)([{key:void 0,children:[],value:null}]),[c,u]=(0,import_react2.useState)(o),[m,d]=(0,import_react2.useState)(!1),p=useCompile(),g=useAPIClient(),h=useServiceOptions$1(e),{options:_,field:f}=useAssociationFieldContext(),v=g.resource(_.target),{getCollectionJoinField:b,getInterface:S}=useCollectionManager_deprecated(),C=(t=f==null?void 0:f.componentProps)==null?void 0:t.fieldNames,y=(_==null?void 0:_.target)&&(C==null?void 0:C.label)&&b(`${_.target}.${C.label}`),F=(0,import_react2.useMemo)(()=>{var D,T;return y!=null&&y.interface&&((T=(D=S(y.interface))==null?void 0:D.filterable)==null?void 0:T.operators[0].value)||"$includes"},[y]),j=(0,import_react.useField)();(0,import_react2.useEffect)(()=>{var D;if(n){const T=Array.isArray(n)?extractLastNonNullValueObjects(n==null?void 0:n.filter(B=>B.value),!0):transformNestedData(n),$=(D=T==null?void 0:T.map)==null?void 0:D.call(T,B=>({key:B.parentId,children:[],value:B}));l($)}},[]);const k=(0,import_react2.useCallback)(D=>{try{return D==null?void 0:D.filter(T=>["number","string"].includes(typeof T[C.value])).map(T=>{var $,B,I;let M=p(T[C.label]);if(($=y==null?void 0:y.uiSchema)!=null&&$.enum)if(Array.isArray(M))M=M.map((z,E)=>{var L,U;const q=(U=(L=y.uiSchema.enum).find)==null?void 0:U.call(L,G=>G.value===z);return q?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:q.color,style:{marginRight:3},children:(q==null?void 0:q.label)||z},E):(0,import_jsx_runtime.jsx)(import_antd.Tag,{children:z},z)}).reverse();else{const z=(I=(B=y.uiSchema.enum).find)==null?void 0:I.call(B,E=>E.value===M);z&&(M=(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:z.color,children:z.label}))}return(y==null?void 0:y.type)==="date"&&(M=(0,import_dayjs.default)(M).format("YYYY-MM-DD")),r?r({[C.label]:M||EMPTY,[C.value]:T[C.value]}):P(x({},T),{[C.label]:M||EMPTY,[C.value]:T[C.value]})}).filter(Boolean)}catch(T){return console.error(T),D}},[y==null?void 0:y.uiSchema,C]),R=D=>V(void 0,null,function*(){var T,$;const B=yield v.list({pageSize:200,params:h==null?void 0:h.params,filter:mergeFilter([D,(T=h==null?void 0:h.params)==null?void 0:T.filter]),tree:D.parentId?void 0:!0});return($=B==null?void 0:B.data)==null?void 0:$.data}),N=(D,T,$)=>V(void 0,null,function*(){const B=yield R({parentId:T==null?void 0:T.id}),I=[...a];if(I.splice($+1),I[$]=P(x({},I[$]),{value:T}),T!=null&&T.id&&(I[$+1]={key:T==null?void 0:T.id,children:(B==null?void 0:B.length)>0?B:null}),l(I),["o2m","m2m"].includes(_.interface)){const M=Array.isArray(f.fieldValue)?f.fieldValue:[];M[j.index]=T,f.fieldValue=M}else f.value=T;I.length===1&&!I[0].value?i==null||i(null):i==null||i(I)}),w=(D,T,$)=>V(void 0,null,function*(){var B,I,M;if(D){d(!0);const z=yield R({parentId:T==null?void 0:T.key});if(d(!1),u(z),$===(a==null?void 0:a.length)-1&&(B=T==null?void 0:T.value)!=null&&B.id){const E=yield R({parentId:(I=T==null?void 0:T.value)==null?void 0:I.id}),L=[...a];L.splice($+1),L[$]=P(x({},L[$]),{value:T==null?void 0:T.value}),L[$+1]={key:(M=T==null?void 0:T.value)==null?void 0:M.id,children:(E==null?void 0:E.length)>0?E:null},l(L),i==null||i(L)}}}),O=(D,T)=>V(void 0,null,function*(){const $=D?{[C.label]:{[F]:D}}:{};d(!0);const B=yield R(P(x({},$),{parentId:T==null?void 0:T.key}));d(!1),u(B)});return(0,import_jsx_runtime.jsx)(import_antd.Space,{wrap:!0,children:a.map((D,T)=>{var $,B,I;return D.children&&(0,import_jsx_runtime.jsx)(import_antd.Select,{disabled:f.disabled,allowClear:!0,showSearch:!0,autoClearSearchValue:!0,filterOption:!1,filterSort:null,defaultValue:{label:($=D==null?void 0:D.value)==null?void 0:$[C.label],value:(B=D==null?void 0:D.value)==null?void 0:B[C.value]},labelInValue:!0,onSearch:M=>O(M,D),fieldNames:C,style:{minWidth:150},onChange:(M,z)=>N(M,z,T),options:m?[]:k(c),onDropdownVisibleChange:M=>w(M,D,T),notFoundContent:m?(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small"}):null},`${(I=D.value)==null?void 0:I.id}+ ${D.key} + ${C.label}`)})})}),AssociationCascadeSelect=(0,import_react.connect)(e=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(CascadeSelect,x({},e))})),InternalCascadeSelect=(0,import_react.observer)(e=>{const{options:t}=useAssociationFieldContext(),o=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{loading:a,data:l}=useDataBlockRequest()||{},c=(0,import_react2.useMemo)(()=>{var p;return(p=l==null?void 0:l.data)==null?void 0:p[n.name]},[a]),u=!l||n.name in((l==null?void 0:l.data)||{}),m=(0,import_lodash.debounce)(p=>{var g,h;if(t.interface==="m2o"){const _=extractLastNonNullValueObjects((g=p.values)==null?void 0:g[n.name]);setTimeout(()=>{p.setValuesIn(n.name,_),i.value=_})}else{const _=extractLastNonNullValueObjects((h=p.values)==null?void 0:h.select_array).filter(f=>f&&Object.keys(f).length>0);setTimeout(()=>{i.value=_})}},300);(0,import_react2.useEffect)(()=>{const p=(0,import_shared.uid)();return o.addEffects(p,()=>{(0,import_core.onFormValuesChange)(g=>{m(g)})}),()=>{o.removeEffects(p),m.cancel()}},[]);const d={type:"object",properties:{select_array:{type:"array","x-component":"ArrayItems","x-decorator":"FormItem",default:Array.isArray(c)&&c.length>0?c:[{}],items:{type:"void","x-component":"Space","x-component-props":{style:{width:"100%",display:"flex"},className:import_css.css`
897
897
  .ant-formily-item-control {
898
898
  max-width: 100% !important;
899
899
  }
@@ -904,7 +904,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
904
904
  .ant-space-item:nth-child(2) {
905
905
  flex: 3;
906
906
  }
907
- `},properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},select:{type:"string","x-decorator":"FormItem","x-component":AssociationCascadeSelect,"x-component-props":x({},e)},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}},properties:{add:{type:"void",title:i("Add new"),"x-component":"ArrayItems.Addition"}}}}};return!l&&(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:r,children:o.interface==="m2o"?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{FormItem:import_antd_v5.FormItem},schema:P(x({},a),{default:u,title:"","x-component":AssociationCascadeSelect,"x-component-props":x({},e)})}):(0,import_jsx_runtime.jsx)(SchemaField,{schema:d})})},{displayName:"InternalCascadeSelect"});function extractLastNonNullValueObjects(e,t){var o,r;let i=[];if(!Array.isArray(e))return e;for(const n of e){let a=null;if(Array.isArray(n)){for(let l=(n==null?void 0:n.length)-1;l>=0;l--)if(n[l].value){a=n[l].value;break}a&&i.push(a)}else n!=null&&n.value?a=n.value:a=null,a?t?(o=i==null?void 0:i.push)==null||o.call(i,a):i=a:(r=i==null?void 0:i.push)==null||r.call(i,n)}return i}function transformNestedData(e){const t=[];function o(r){if(r!=null&&r.parent){const{parent:a}=r;o(a)}const i=r,n=Y(i,["parent"]);t.push(n)}return e&&o(e),t}const InternalNesterCardCss=import_css.css`
907
+ `},properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},select:{type:"string","x-decorator":"FormItem","x-component":AssociationCascadeSelect,"x-component-props":x({},e)},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}},properties:{add:{type:"void",title:r("Add new"),"x-component":"ArrayItems.Addition"}}}}};return!a&&u&&(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:o,children:t.interface==="m2o"?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{FormItem:import_antd_v5.FormItem},schema:P(x({},n),{default:c,title:"","x-component":AssociationCascadeSelect,"x-component-props":x({},e)})}):(0,import_jsx_runtime.jsx)(SchemaField,{schema:d})})},{displayName:"InternalCascadeSelect"});function extractLastNonNullValueObjects(e,t){var o,r;let i=[];if(!Array.isArray(e))return e;for(const n of e){let a=null;if(Array.isArray(n)){for(let l=(n==null?void 0:n.length)-1;l>=0;l--)if(n[l].value){a=n[l].value;break}a&&i.push(a)}else n!=null&&n.value?a=n.value:a=null,a?t?(o=i==null?void 0:i.push)==null||o.call(i,a):i=a:(r=i==null?void 0:i.push)==null||r.call(i,n)}return i}function transformNestedData(e){const t=[];function o(r){if(r!=null&&r.parent){const{parent:a}=r;o(a)}const i=r,n=Y(i,["parent"]);t.push(n)}return e&&o(e),t}const InternalNesterCardCss=import_css.css`
908
908
  .ant-card-bordered {
909
909
  border: none;
910
910
  }
@@ -1463,7 +1463,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1463
1463
  const targetValue = field.query('.min').value();
1464
1464
  field.selfErrors =
1465
1465
  !!targetValue && !!field.value && targetValue > field.value ? '${i18n.t("Max length must greater than min length")}' : ''
1466
- }}}`},min:{type:"number",title:'{{ t("Min length") }}',minimum:0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{precision:0},"x-reactions":{dependencies:[".max"],fulfill:{state:{selfErrors:`{{!!$deps[0] && !!$self.value && $deps[0] < $self.value ? '${i18n.t("Min length must less than max length")}' : ''}}`}}}}})),A(this,"filterable",{operators:string})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class TimeFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","time"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",4),A(this,"title",'{{t("Time")}}'),A(this,"sortable",!0),A(this,"default",{type:"time",uiSchema:{type:"string","x-component":"TimePicker"}}),A(this,"availableTypes",["time"]),A(this,"hasDefaultValue",!0),A(this,"properties",x(x({},defaultProps),timeProps)),A(this,"filterable",{operators:time}),A(this,"titleUsable",!0)}}class UpdatedAtFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","updatedAt"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",2),A(this,"title",'{{t("Last updated at")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),A(this,"description",'{{t("Store the last update time of each record")}}'),A(this,"availableTypes",[]),A(this,"properties",x(x({},defaultProps),dateTimeProps)),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class UpdatedByFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","updatedBy"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",4),A(this,"title",'{{t("Last updated by")}}'),A(this,"isAssociation",!0),A(this,"default",{type:"belongsTo",target:"users",foreignKey:"updatedById",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}),A(this,"availableTypes",["belongsTo"]),A(this,"properties",x({},defaultProps)),A(this,"filterable",{nested:!0,children:[]}),A(this,"description",'{{t("Store the last update user of each record")}}')}schemaInitialize(t,{block:o}){t.properties={viewer:(0,import_lodash.cloneDeep)(recordPickerViewer)},["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class UrlFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","url"),A(this,"type","string"),A(this,"group","basic"),A(this,"order",5),A(this,"title",'{{t("URL")}}'),A(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Input.URL"}}),A(this,"componentOptions",[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}]),A(this,"availableTypes",["string","text"]),A(this,"properties",x({},defaultProps)),A(this,"titleUsable",!0),A(this,"filterable",{operators:string})}schemaInitialize(t,{block:o}){}}class UUIDFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","uuid"),A(this,"type","object"),A(this,"group","advanced"),A(this,"order",0),A(this,"title",'{{t("UUID")}}'),A(this,"hidden",!1),A(this,"sortable",!0),A(this,"default",{type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}}),A(this,"availableTypes",["uid","uuid"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},autoFill,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}}),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}}class NanoidFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","nanoid"),A(this,"type","object"),A(this,"group","advanced"),A(this,"order",0),A(this,"title",'{{t("Nano ID")}}'),A(this,"hidden",!1),A(this,"sortable",!0),A(this,"default",{type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}}),A(this,"availableTypes",["nanoid"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},customAlphabet:{type:"string",title:'{{t("Alphabet")}}',default:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","x-decorator":"FormItem","x-component":"Input"},size:{type:"number",title:'{{t("Length")}}',default:21,"x-decorator":"FormItem","x-component":"InputNumber"},autoFill,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}}),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}}class UnixTimestampFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","unixTimestamp"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",4),A(this,"title",'{{t("Unix Timestamp")}}'),A(this,"sortable",!0),A(this,"default",{type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}}),A(this,"availableTypes",["unixTimestamp"]),A(this,"hasDefaultValue",!1),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{accuracy:{type:"string",title:'{{t("Accuracy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:"second",enum:[{value:"millisecond",label:'{{t("Millisecond")}}'},{value:"second",label:'{{t("Second")}}'}]},defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class DateFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","date"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",3),A(this,"title",'{{t("DateOnly")}}'),A(this,"sortable",!0),A(this,"default",{type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0}}}),A(this,"availableTypes",["dateOnly"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{"uiSchema.x-component-props.showTime":{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-visible":!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class DatetimeNoTzFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","datetimeNoTz"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",2),A(this,"title",'{{t("Datetime (without time zone)")}}'),A(this,"sortable",!0),A(this,"default",{type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}}),A(this,"availableTypes",["string","datetimeNoTz"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current server time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp to the current server time on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class InheritanceCollectionMixin extends Collection{constructor(){super(...arguments),A(this,"parentCollectionsName"),A(this,"parentCollections"),A(this,"childrenCollections",{}),A(this,"childrenCollectionsName",{}),A(this,"inheritsFields"),A(this,"currentFields"),A(this,"allFields"),A(this,"parentCollectionFields",{}),A(this,"allCollectionsInheritChain"),A(this,"inheritCollectionsChain"),A(this,"inheritChain"),A(this,"foreignKeyFields")}getParentCollectionsName(){if(this.parentCollectionsName)return this.parentCollectionsName.slice();const t=[],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i;if(n)for(let a=0;a<n.length;a++){const l=n[a];t.push(l),o(l)}}return(0,import_lodash.uniq)(t)};return this.parentCollectionsName=o(this.name),this.parentCollectionsName}getParentCollections(){return this.parentCollections?this.parentCollections.slice():(this.parentCollections=this.getParentCollectionsName().map(t=>this.collectionManager.getCollection(t)),this.parentCollections)}getChildrenCollectionsName(t=!1){const o=t?"supportView":"notSupportView";if(this.childrenCollectionsName[o])return this.childrenCollectionsName[o].slice();const r=[],i=this.collectionManager.getCollections(),n=a=>(i.filter(l=>{var c;return(c=l.inherits)==null?void 0:c.includes(a)}).forEach(l=>{const c=l.name;return r.push(c),n(c)}),t&&i.filter(l=>{var c;return((c=l.sources)==null?void 0:c.length)===1&&(l==null?void 0:l.sources[0])===a}).forEach(l=>{const c=l.name;return r.push(l.name),n(c)}),(0,import_lodash.uniq)(r));return this.childrenCollectionsName[o]=n(this.name),this.childrenCollectionsName[o]}getChildrenCollections(t=!1){const o=t?"supportView":"notSupportView";return this.childrenCollections[o]?this.childrenCollections[o].slice():(this.childrenCollections[o]=this.getChildrenCollectionsName(t).map(r=>this.collectionManager.getCollection(r)),this.childrenCollections[o])}getInheritedFields(){if(this.inheritsFields)return this.inheritsFields.slice();const t=this.getParentCollectionsName();return this.inheritsFields=t.map(o=>{var r;return(r=this.collectionManager.getCollection(o))==null?void 0:r.getFields()}).flat().filter(Boolean),this.inheritsFields}getFieldsMap(){return this.fieldsMap?this.fieldsMap:(this.fieldsMap=this.getAllFields().reduce((t,o)=>(t[o.name]=o,t),{}),this.fieldsMap)}getCurrentFields(t){return super.getFields(t)}getParentCollectionFields(t){if(this.parentCollectionFields||(this.parentCollectionFields={}),this.parentCollectionFields[t])return this.parentCollectionFields[t];const o=this.getCurrentFields(),r=this.getParentCollectionsName(),i=this.collectionManager.getCollection(t).getCurrentFields(),n=r.indexOf(t);let a=o;return n>0&&(r.splice(n),r.forEach(l=>{const c=this.collectionManager.getCollection(l);a=a.concat(c.getCurrentFields())})),this.parentCollectionFields[t]=i.filter(l=>a.find(c=>c.name===l.name).collectionName!==this.name),this.parentCollectionFields[t]}getAllCollectionsInheritChain(){if(this.allCollectionsInheritChain)return this.allCollectionsInheritChain.slice();const t=[this.name],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i,a=i.getChildrenCollectionsName();if(n)for(let l=0;l<n.length;l++){const c=n[l];t.includes(c)||(t.push(c),o(c))}if(a)for(let l=0;l<a.length;l++){const c=this.collectionManager.getCollection(a[l]).name;t.includes(c)||(t.push(c),o(c))}}return t};return this.allCollectionsInheritChain=o(this.name),this.allCollectionsInheritChain||[]}getInheritCollectionsChain(){if(this.inheritCollectionsChain)return this.inheritCollectionsChain.slice();const t=[this.name],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i;if(n)for(let a=0;a<n.length;a++){const l=n[a];t.includes(l)||(t.push(l),o(l))}}return t};return this.inheritCollectionsChain=o(this.name),this.inheritCollectionsChain}getInheritChain(){if(this.inheritChain)return this.inheritChain.slice();const t=this.getInheritCollectionsChain(),o=this.getChildrenCollectionsName(),r=[...t],i=n=>{for(const a of n)if(!r.includes(a)){r.push(a);const l=this.collectionManager.getCollection(a);if(l){const c=l.getChildrenCollectionsName();i(c)}}};return i(o),this.inheritChain=r,this.inheritChain}getAllFields(t){if(this.allFields)return this.allFields.slice();const o=this.getCurrentFields(),r=this.getInheritedFields(),i=(0,import_lodash.unionBy)((o==null?void 0:o.concat(r))||[],"name");return this.allFields=i,t?(0,import_lodash.filter)(i,t):i}getForeignKeyFields(){if(this.foreignKeyFields)return this.foreignKeyFields.slice();const t=this.getCurrentFields(),o=this.getInheritedFields();return(0,import_lodash.unionBy)((t==null?void 0:t.concat(o))||[],"name")}}class GeneralCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","general"),A(this,"title",'{{t("General collection")}}'),A(this,"order",1),A(this,"color","blue"),A(this,"default",{fields:[]}),A(this,"configurableProperties",getConfigurableProperties("title","name","inherits","category","description","simplePaginate","presetFields"))}}class TreeCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","tree"),A(this,"title",'{{t("Tree collection")}}'),A(this,"order",3),A(this,"color","blue"),A(this,"default",{tree:"adjacencyList",fields:[{interface:"integer",name:"parentId",type:"bigInt",isForeignKey:!0,uiSchema:{type:"number",title:'{{t("Parent ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},{interface:"m2o",type:"belongsTo",name:"parent",foreignKey:"parentId",treeParent:!0,onDelete:"CASCADE",uiSchema:{title:'{{t("Parent")}}',"x-component":"AssociationField","x-component-props":{multiple:!1,fieldNames:{label:"id",value:"id"}}}},{interface:"o2m",type:"hasMany",name:"children",foreignKey:"parentId",treeChildren:!0,onDelete:"CASCADE",uiSchema:{title:'{{t("Children")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"id",value:"id"}}}}]}),A(this,"presetFieldsDisabledIncludes",["id"]),A(this,"events",{beforeSubmit(t){Array.isArray(t==null?void 0:t.fields)&&(t==null||t.fields.map(o=>{!o.target&&["belongsToMany","belongsTo","hasMany","hasOne"].includes(o.type)&&(o.target=t.name)}))}}),A(this,"configurableProperties",getConfigurableProperties("title","name","inherits","category","description","presetFields"))}}class ViewCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","view"),A(this,"title",'{{t("Connect to database view")}}'),A(this,"order",4),A(this,"color","yellow"),A(this,"default",{fields:[]}),A(this,"divider",!0),A(this,"configurableProperties",x({title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},databaseView:{title:'{{t("Connect to database view")}}',type:"single",required:!0,"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource(loadDBViews)}}"],"x-disabled":"{{ !createOnly }}","x-visible":"{{!createMainOnly}}"},name:{type:"string",title:'{{t("Collection 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.')}}","x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{initialValue:"{{$deps[0]&&$deps[0].match(/^([^_]+)_(.*)$/)?.[2]}}"}},otherwise:{state:{value:null}}}},schema:{type:"string","x-hidden":!0,"x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{value:"{{$deps[0].split('@')?.[0]}}"}},otherwise:{state:{value:null}}}},viewName:{type:"string","x-hidden":!0,"x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{value:"{{$deps[0].split('@')?.[1]}}"}},otherwise:{state:{value:"{{$deps[0]}}"}}}},writableView:{type:"boolean","x-content":'{{t("Allow add new, update and delete actions")}}',"x-decorator":"FormItem","x-component":"Checkbox",default:!1,"x-visible":"{{!createMainOnly}}"},sources:{type:"array",title:'{{ t("Source collections") }}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadCollections)}}"],"x-disabled":!0,"x-visible":"{{!createMainOnly}}"},fields:{type:"array","x-component":PreviewFields,"x-hidden":"{{ !createOnly }}","x-decorator":"FormItem","x-reactions":{dependencies:["name"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}},description:'{{t("Fields can only be used correctly if they are defined with an interface.")}}'},preview:{type:"void","x-visible":"{{ createOnly }}","x-component":PreviewTable$1,"x-reactions":{dependencies:["name","fields"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}}},filterTargetKey:{title:'{{ t("Record unique key")}}',type:"single",description:'{{t( "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]}},getConfigurableProperties("category","description")))}}class SqlCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","sql"),A(this,"title",'{{t("SQL collection")}}'),A(this,"order",4),A(this,"color","yellow"),A(this,"default",{fields:[]}),A(this,"configurableProperties",x({title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Collection 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.')}}"},config:{type:"void","x-decorator":SQLRequestProvider,properties:{sql:{type:"string",title:'{{t("SQL")}}',"x-decorator":"FormItem","x-component":SQLInput,required:!0,"x-validator":(t,o,{form:r})=>r.query("sql").take().componentProps.disabled?"":i18n.t("Please confirm the SQL statement first")},sources:{type:"array",title:'{{t("Source collections")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]},fields:{type:"array",title:'{{t("Fields")}}',"x-decorator":"FormItem","x-component":FieldsConfigure,required:!0},table:{type:"void",title:'{{t("Preview")}}',"x-decorator":"FormItem","x-component":PreviewTable}}},filterTargetKey:{title:'{{ t("Record unique key")}}',type:"single",description:'{{t( "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]}},getConfigurableProperties("category","description")))}}class MainDataSource extends DataSource{getDataSource(){return V(this,null,function*(){var t;const o=yield this.app.apiClient.request({resource:"collections",action:"listMeta"});return{collections:((t=o==null?void 0:o.data)==null?void 0:t.data)||[]}})}}class CollectionPlugin extends Plugin{load(){return V(this,null,function*(){this.dataSourceManager.addCollectionMixins([InheritanceCollectionMixin]),this.addFieldInterfaces(),this.addCollectionTemplates(),this.addFieldInterfaces(),this.addFieldInterfaceGroups(),this.addMainDataSource()})}addMainDataSource(){var t,o;((o=(t=this.options)==null?void 0:t.config)==null?void 0:o.enableRemoteDataSource)!==!1&&this.dataSourceManager.addDataSource(MainDataSource,{key:DEFAULT_DATA_SOURCE_KEY,displayName:DEFAULT_DATA_SOURCE_TITLE})}addFieldInterfaceGroups(){this.dataSourceManager.addFieldInterfaceGroups({basic:{label:'{{t("Basic")}}'},choices:{label:'{{t("Choices")}}'},media:{label:'{{t("Media")}}'},datetime:{label:'{{t("Date & Time")}}'},relation:{label:'{{t("Relation")}}'},advanced:{label:'{{t("Advanced type")}}'},systemInfo:{label:'{{t("System info")}}'},others:{label:'{{t("Others")}}'}})}addFieldInterfaces(){this.dataSourceManager.addFieldInterfaces([CheckboxFieldInterface,CheckboxGroupFieldInterface,CollectionSelectFieldInterface,ColorFieldInterface,CreatedAtFieldInterface,CreatedByFieldInterface,DatetimeFieldInterface,EmailFieldInterface,IconFieldInterface,IdFieldInterface,InputFieldInterface,IntegerFieldInterface,JsonFieldInterface,LinkToFieldInterface,M2MFieldInterface,M2OFieldInterface,MarkdownFieldInterface,MultipleSelectFieldInterface,NumberFieldInterface,O2MFieldInterface,O2OFieldInterface,OHOFieldInterface,OBOFieldInterface,PasswordFieldInterface,PercentFieldInterface,PhoneFieldInterface,RadioGroupFieldInterface,RichTextFieldInterface,SelectFieldInterface,SubTableFieldInterface,TableoidFieldInterface,TextareaFieldInterface,TimeFieldInterface,UpdatedAtFieldInterface,UpdatedByFieldInterface,UrlFieldInterface,UUIDFieldInterface,NanoidFieldInterface,UnixTimestampFieldInterface,DateFieldInterface,DatetimeNoTzFieldInterface])}addCollectionTemplates(){this.dataSourceManager.addCollectionTemplates([GeneralCollectionTemplate,SqlCollectionTemplate,TreeCollectionTemplate,ViewCollectionTemplate])}}function parseCollectionName(e){var t;if(!e)return[];const o=e.split(":"),r=o.pop();return[(t=o[0])!=null?t:"main",r]}function joinCollectionName(e,t){return!e||e==="main"?t:`${e}:${t}`}const useSourceId=()=>{const{sourceId:e,association:t}=useDataBlockProps()||{},o=useSourceKey(t),r=useDataBlockParentRecord({association:t});return e||(r==null?void 0:r[o])},BlockResourceContext=(0,import_react2.createContext)(null);BlockResourceContext.displayName="BlockResourceContext";const BlockAssociationContext=(0,import_react2.createContext)(null);BlockAssociationContext.displayName="BlockAssociationContext";const BlockRequestContext_deprecated=(0,import_react2.createContext)({});BlockRequestContext_deprecated.displayName="BlockRequestContext_deprecated";const useBlockResource=()=>{const e=useDataBlockResource();return(0,import_react2.useContext)(BlockResourceContext)||e},MaybeCollectionProvider=e=>{const{collection:t}=e;return t?(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:t,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:e.children})}):e.children},BlockRequestProvider_deprecated=e=>{const t=(0,import_react.useField)(),o=useDataBlockResource(),r=useDataBlockRequest(),i=useCollectionRecord(),n=useCollectionParentRecord(),a=useBlockRequestContext(),l=(0,import_react2.useMemo)(()=>({block:e.block,props:e,field:t,service:r,resource:o,__parent:a,updateAssociationValues:(e==null?void 0:e.updateAssociationValues)||[]}),[a,t,e,o,r]);return(0,import_jsx_runtime.jsx)(BlockRequestContext_deprecated.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:i==null?void 0:i.isNew,record:i==null?void 0:i.data,parent:n==null?void 0:n.data,children:e.children})})},useBlockRequestContext=()=>(0,import_react2.useContext)(BlockRequestContext_deprecated),RenderChildrenWithAssociationFilter=e=>{var t;const o=(0,import_react.useFieldSchema)(),{findComponent:r}=useDesignable(),i=(0,import_react.useField)(),n=r((t=i.component)==null?void 0:t[0])||import_react2.default.Fragment;return o.reduceProperties((a,l)=>l["x-component"]==="AssociationFilter"?l:a,null)?(0,import_jsx_runtime.jsx)(n,P(x({},i.componentProps),{children:(0,import_jsx_runtime.jsxs)(import_antd.Row,{style:{height:"100%"},gutter:16,wrap:!1,children:[(0,import_jsx_runtime.jsx)(import_antd.Col,{style:x({width:200,flex:"0 0 auto"},e.associationFilterStyle||{}),children:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:o,onlyRenderProperties:!0,filterProperties:a=>a["x-component"]==="AssociationFilter"})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{style:{flex:"1 1 auto",minWidth:0},children:(0,import_jsx_runtime.jsx)("div",{style:{height:"100%",display:"flex",flexDirection:"column"},children:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:o,onlyRenderProperties:!0,filterProperties:a=>a["x-component"]!=="AssociationFilter"})})})]})})):e.children},BlockContext=(0,import_react2.createContext)(null);BlockContext.displayName="BlockContext";const useBlockContext=()=>(0,import_react2.useContext)(BlockContext),useCompatDataBlockParentRecord=e=>(0,import_react.useFieldSchema)()["x-use-decorator-props"]?e.parentRecord:useDataBlockParentRecord(e),BlockProvider=e=>{const{name:t,dataSource:o,useParams:r,parentRecord:i}=e,n=useCompatDataBlockParentRecord(e),a=useRefreshComponent(),l=(0,import_ahooks.useUpdate)(),c=(0,import_react2.useCallback)(()=>{l(),a==null||a()},[l,a]),u=r==null?void 0:r(),{getAssociationAppends:m}=useAssociationNames(o),{appends:d,updateAssociationValues:p}=m(),g=(0,import_react2.useMemo)(()=>{var _;return(_=e.params)!=null&&_.appends?x(x({},e.params),u):x(P(x({},e.params),{appends:d}),u)},[d,u,e.params]),h=(0,import_react2.useMemo)(()=>({name:t}),[t]);return(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,P(x({},e),{params:g,parentRecord:i||n,children:(0,import_jsx_runtime.jsx)(BlockRequestProvider_deprecated,P(x({},e),{updateAssociationValues:p,params:g,children:(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:c,children:e.children})}))}))})},useBlockAssociationContext=()=>{const{association:e}=useDataBlockProps();return(0,import_react2.useContext)(BlockAssociationContext)||e},useFilterByTk=e=>{const{resource:t,__parent:o}=useBlockRequestContext(),r=useRecordIndex(),i=useCollectionRecordData(),n=useCollection_deprecated(),a=useBlockAssociationContext(),l=(e==null?void 0:e.association)||a,c=(0,import_react2.useContext)(WithoutTableFieldResource),u=useCollectionManager();if(!c&&(t instanceof TableFieldResource||(o==null?void 0:o.block)==="TableField"))return r;if(l){const m=u.getCollectionField(l);return i==null?void 0:i[m.targetKey||m.sourceKey||"id"]}if((0,import_lodash.isArray)(n.filterTargetKey)){const m={};for(const d of n.filterTargetKey)m[d]=i==null?void 0:i[d];return m}else return i==null?void 0:i[n.filterTargetKey||"id"]},useSourceIdFromRecord=()=>{const e=useRecord(),{getCollectionField:t}=useCollectionManager_deprecated(),o=useBlockAssociationContext();if(o){const r=t(o);return e==null?void 0:e[r.sourceKey||"id"]}},useSourceIdFromParentRecord=()=>useSourceId(),useParamsFromRecord=e=>{var t,o;const r=useFilterByTk(e),i=useRecord(),{fields:n}=useCollection_deprecated(),a=(0,import_react.useFieldSchema)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(((t=a==null?void 0:a["x-decorator-props"])==null?void 0:t.resource)||((o=a==null?void 0:a["x-decorator-props"])==null?void 0:o.association)),u=n.filter(p=>["boolean","date","integer","radio","sort","string","time","uid","uuid"].includes(p.type)).map(p=>p.name),m=Object.keys(i).filter(p=>u.includes(p)).reduce((p,g)=>(p[g]=i[g],p),{}),d={filterByTk:r};return i.__collection&&c&&!["oho","m2o","obo"].includes(c.interface)&&(d.targetCollection=i.__collection),!r&&Object.keys(m).length>0&&(d.filter=m),d},RecordLink=e=>{const t=(0,import_react.useField)(),o=useRecord(),r=e,{title:i,to:n}=r,a=Y(r,["title","to"]),l=(0,import_template.default)(n||"");return(0,import_jsx_runtime.jsx)(import_react_router_dom.Link,P(x({},a),{to:l({record:o||{}}),children:t.title}))},ACLContext=(0,import_react2.createContext)({});ACLContext.displayName="ACLContext";const ACLProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{ACLCollectionFieldProvider,ACLActionProvider,ACLMenuItemProvider,ACLCollectionProvider},children:e.children}),ACLRolesCheckProvider=e=>{const{setDesignable:t}=useDesignable(),{render:o}=useAppSpin(),r=useAPIClient(),i=useApp(),n=useRequest({url:"roles:check"},{manual:!r.auth.token,onSuccess(a){var l,c,u,m;(l=a==null?void 0:a.data)!=null&&l.snippets.includes("ui.*")||t(!1),((c=a==null?void 0:a.data)==null?void 0:c.role)!==r.auth.role&&r.auth.setRole((u=a==null?void 0:a.data)==null?void 0:u.role),i.pluginSettingsManager.setAclSnippets(((m=a==null?void 0:a.data)==null?void 0:m.snippets)||[])}});return n.loading?o():(0,import_jsx_runtime.jsx)(ACLContext.Provider,{value:n,children:e.children})},useRoleRecheck=()=>{const e=(0,import_react2.useContext)(ACLContext),{allowAll:t}=useACLRoleContext();return()=>{t||e.refresh()}},useACLContext=()=>(0,import_react2.useContext)(ACLContext),ACLActionParamsContext=(0,import_react2.createContext)({});ACLActionParamsContext.displayName="ACLActionParamsContext";const ACLCustomContext=(0,import_react2.createContext)({});ACLCustomContext.displayName="ACLCustomContext";const useACLCustomContext=()=>(0,import_react2.useContext)(ACLCustomContext),useACLRolesCheck=()=>{var e,t,o;const r=(0,import_react2.useContext)(ACLContext),i=useDataSourceKey(),{dataSources:n}=((e=r==null?void 0:r.data)==null?void 0:e.meta)||{},a=x(x({},(t=r==null?void 0:r.data)==null?void 0:t.data),(0,import_lodash.omit)(n==null?void 0:n[i],"snippets")),l=(0,import_react2.useCallback)(c=>{var u;const m=c.split(":").pop();return((u=a==null?void 0:a.actionAlias)==null?void 0:u[m])||m},[a==null?void 0:a.actionAlias]);return{data:a,getActionAlias:l,inResources:(0,import_react2.useCallback)(c=>{var u,m;return(m=(u=a==null?void 0:a.resources)==null?void 0:u.includes)==null?void 0:m.call(u,c)},[a==null?void 0:a.resources]),getResourceActionParams:(0,import_react2.useCallback)(c=>{var u,m;const[d]=c.split(":"),p=l(c);return((u=a==null?void 0:a.actions)==null?void 0:u[`${d}:${p}`])||((m=a==null?void 0:a.actions)==null?void 0:m[c])},[a==null?void 0:a.actions,l]),getStrategyActionParams:(0,import_react2.useCallback)(c=>{var u,m;const d=l(c);return(m=(u=a==null?void 0:a.strategy)==null?void 0:u.actions)!=null&&m.find(p=>{const[g]=p.split(":");return g===d})?{}:null},[(o=a==null?void 0:a.strategy)==null?void 0:o.actions,l])}},getIgnoreScope=(e={})=>{var t;const{schema:o,recordPkValue:r}=e;let i=!1;return e.ignoreScope&&(i=!0),o!=null&&o["x-acl-ignore-scope"]&&(i=!0),(t=o==null?void 0:o["x-acl-action-props"])!=null&&t.skipScopeCheck&&(i=!0),r||(i=!0),i},useAllowedActions=()=>{var e,t,o,r;const i=useResourceActionContext(),n=useDataBlockRequest();return((t=(e=i==null?void 0:i.data)==null?void 0:e.meta)==null?void 0:t.allowedActions)||((r=(o=n==null?void 0:n.data)==null?void 0:o.meta)==null?void 0:r.allowedActions)},useResourceName=()=>{var e;const t=useResourceActionContext(),o=useDataBlockProps();return(o==null?void 0:o.resource)||(o==null?void 0:o.association)||(o==null?void 0:o.collection)||((e=t==null?void 0:t.defaultRequest)==null?void 0:e.resource)};function useACLRoleContext(){const{data:e,getActionAlias:t,inResources:o,getResourceActionParams:r,getStrategyActionParams:i}=useACLRolesCheck(),n=useAllowedActions(),a=useCollectionManager(),l=(0,import_react2.useCallback)((c,u)=>{const m=t(c);return Array.isArray(n==null?void 0:n[m])?n[m].includes(u):null},[n,t]);return P(x({},e),{parseAction:(0,import_react2.useCallback)((c,u={})=>{var m;const[d,p]=(c==null?void 0:c.split(":"))||[],g=(d==null?void 0:d.includes("."))&&((m=a.getCollectionField(d))==null?void 0:m.target);if(!getIgnoreScope(u)){const h=l(p,u.recordPkValue);if(h!==null)return h?{}:null}return e!=null&&e.allowAll?{}:o(g)?r(`${g}:${p}`):o(d)?r(c):i(c)},[a,e==null?void 0:e.allowAll,r,i,o,l])})}function useUIConfigurationPermissions(){const{allowAll:e,snippets:t}=useACLRoleContext();return{allowConfigUI:e||t.includes("ui.*")}}const ACLCollectionProvider=e=>{var t,o;const{allowAll:r,parseAction:i}=useACLRoleContext(),{allowAll:n}=useACLCustomContext(),a=useApp(),l=(0,import_react.useFieldSchema)();let c=(l==null?void 0:l["x-acl-action"])||e.actionPath;const u=((t=l==null?void 0:l["x-decorator-props"])==null?void 0:t.association)||((o=l==null?void 0:l["x-decorator-props"])==null?void 0:o.collection);c==="undefined:list"&&u&&u!=="undefined"&&(c=`${u}:list`);const m=(0,import_react2.useMemo)(()=>c?i(c,{schema:l}):null,[i,c,l]);if(r||a.disableAcl||n)return e.children;if(!c)return(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:{},children:e.children});if(!m)return(0,import_jsx_runtime.jsx)(CollectionNotAllowViewPlaceholder,{});const[d,p]=c.split(":");return m.actionName=p,(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:m,children:e.children})},useACLActionParamsContext=()=>(0,import_react2.useContext)(ACLActionParamsContext),useRecordPkValue=()=>{const e=useCollection(),t=useCollectionRecordData();if(!e)return;const o=e.getPrimaryKey();return t==null?void 0:t[o]},ACLActionProvider=e=>{const t=useCollection(),o=useRecordPkValue(),r=useResourceName(),{parseAction:i,uiButtonSchemasBlacklist:n}=useACLRoleContext(),a=(0,import_react.useFieldSchema)(),l=a["x-uid"];let c=a["x-acl-action"];const u=["create","update","destroy","importXlsx","export"],m=["create","update","destroy","importXlsx","bulkDestroy","bulkUpdate"];!c&&r&&a["x-action"]&&u.includes(a["x-action"])&&(c=`${r}:${a["x-action"]}`),c&&!(c!=null&&c.includes(":"))&&(c=`${r}:${c}`);const d=(0,import_react2.useMemo)(()=>c&&i(c,{schema:a,recordPkValue:o}),[i,c,a,o]);return n!=null&&n.includes(l)?(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:!1,children:e.children}):c?r?d?m.includes(c)||m.includes(c==null?void 0:c.split(":")[1])?t&&t.template!=="view"||t!=null&&t.writableView?(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:!1,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},useACLFieldWhitelist=()=>{const e=(0,import_react2.useContext)(ACLActionParamsContext),t=(0,import_react2.useMemo)(()=>[].concat((e==null?void 0:e.whitelist)||[]).concat((e==null?void 0:e.fields)||[]).concat((e==null?void 0:e.appends)||[]),[e==null?void 0:e.whitelist,e==null?void 0:e.fields,e==null?void 0:e.appends]);return{whitelist:t,schemaInWhitelist:(0,import_react2.useCallback)((o,r)=>{if(r||t.length===0||!o||!o["x-collection-field"])return!0;const[i,n]=o["x-collection-field"].split("."),[a]=o.name.split(".");return t==null?void 0:t.includes(a||n||i)},[t])}},ACLCollectionFieldProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{allowAll:r}=useACLRoleContext(),{whitelist:i}=useACLFieldWhitelist(),[n]=t.name.split("."),a=!t["x-acl-ignore"]&&i.length>0&&t!=null&&t["x-collection-field"]?i.includes(n):!0;return(0,import_react2.useEffect)(()=>{a||(o.required=!1,o.display="hidden")},[a,o]),r?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):t["x-collection-field"]?a?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},ACLMenuItemProvider=e=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}),useAdminSchemaUid=()=>"nocobase-admin-menu",useViewportMeta=()=>{const e=(0,import_react2.useRef)("initial-scale=0.1"),t=(0,import_react2.useRef)();return(0,import_react2.useEffect)(()=>{let o=document.querySelector('meta[name="viewport"]');o?e.current=o.content:(o=document.createElement("meta"),o.name="viewport"),o&&(o.content="width=device-width, initial-scale=1, user-scalable=0",t.current=o)},[]),{metaRef:t,restore:()=>{t.current&&(t.current.content=e.current)}}};function useViewport(){const{metaRef:e,restore:t}=useViewportMeta();(0,import_react2.useEffect)(()=>{if(e.current)return document.head.insertBefore(e.current,document.head.firstChild),()=>{t()}},[])}const MenuItemsContext=(0,import_react2.createContext)(null);MenuItemsContext.displayName="MenuItemsContext";const toItems=(e={})=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const r=e[o],i={title:r.title,uid:r["x-uid"]};r.properties&&(i.children=toItems(r.properties)),t.push(i)}return t},useMenuItems=()=>(0,import_react2.useContext)(MenuItemsContext),MenuItemsProvider=e=>{var t,o;const r={url:`uiSchemas:getProperties/${useAdminSchemaUid()}`},i=useRequest(r);if(i.loading)return(0,import_jsx_runtime.jsx)(import_antd.Spin,{});const n=toItems((o=(t=i.data)==null?void 0:t.data)==null?void 0:o.properties);return(0,import_jsx_runtime.jsx)(MenuItemsContext.Provider,{value:{service:i,items:n},children:e.children})},findUids=e=>{if(!Array.isArray(e))return[];const t=[];for(const o of e)t.push(o.uid),t.push(...findUids(o.children));return t},getParentUids=(e,t,o=[])=>{if(!e)return[];for(const r of e){if(o.push(r.uid),t(r))return o;if(r.children){const i=getParentUids(r.children,t,o);if(i.length)return i}o.pop()}return[]},getChildrenUids=(e=[],t=[])=>{for(const o of e)t.push(o.uid),o.children&&o.children.length&&getChildrenUids(o.children,t);return t},MenuConfigure=()=>{const e=useRecord(),t=useAPIClient(),{items:o}=useMenuItems(),{t:r}=(0,import_react_i18next.useTranslation)(),i=findUids(o),[n,a]=(0,import_react2.useState)([]),{loading:l,refresh:c}=useRequest({resource:"roles.menuUiSchemas",resourceOf:e.name,action:"list",params:{paginate:!1}},{onSuccess(g){var h;a(((h=g==null?void 0:g.data)==null?void 0:h.map(_=>_["x-uid"]))||[])}}),u=t.resource("roles.menuUiSchemas",e.name),m=i.length===n.length,d=(g,h)=>V(void 0,null,function*(){const _=getParentUids(o,v=>v.uid===h.uid),f=getChildrenUids(h==null?void 0:h.children,[]);if(g){const v=f.concat(h.uid),b=n.filter(S=>!v.includes(S));a([...b]),yield u.remove({values:v})}else{const v=f.concat(_);a(b=>(0,import_lodash.uniq)([...b,...v])),yield u.add({values:v})}import_antd.message.success(r("Saved successfully"))}),p=g=>g.map(h=>{const _=r(h.title);return h.children?P(x({},h),{title:_,children:p(h.children)}):P(x({},h),{title:_})});return(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,loading:l,rowKey:"uid",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:r("Menu item title")},{dataIndex:"accessible",title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:m,onChange:g=>V(void 0,null,function*(){m?yield u.set({values:[]}):yield u.set({values:i}),c(),import_antd.message.success(r("Saved successfully"))})})," ",r("Accessible")]}),render:(g,h)=>{const _=n.includes(h.uid);return(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:_,onChange:()=>d(_,h)})}}],dataSource:p(o)})},SettingCenterPermissionProvider=e=>{var t;const{currentRecord:o}=(0,import_react2.useContext)(PermissionContext);return(t=o==null?void 0:o.snippets)!=null&&t.includes("pm.*")?(0,import_jsx_runtime.jsx)("div",{children:e.children}):null},PermissionContext=(0,import_react2.createContext)(null);PermissionContext.displayName="PermissionContext";const PermissionProvider=e=>{const t=useAPIClient(),o=useRecord(),{t:r}=(0,import_react_i18next.useTranslation)(),{snippets:i}=o;i==null||i.forEach(l=>{o[l]=!0});const[n,a]=(0,import_react2.useState)(o);return(0,import_jsx_runtime.jsx)(PermissionContext.Provider,{value:{currentRecord:n,update:(l,c)=>V(void 0,null,function*(){const{path:u,value:m}=l.getState();if(["ui.*","pm","pm.*"].includes(u)){const d=t.resource("roles.snippets",o.name);m?yield d.add({values:[u]}):yield d.remove({values:[u]}),a(P(x(x({},n),c.values),{[u]:m}))}else yield t.resource("roles").update({filterByTk:o.name,values:c.values}),a(x(x({},n),c.values));import_antd.message.success(r("Saved successfully"))})},children:e.children})},SnippetCheckboxGroup=(0,import_react.connect)(e=>{const{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Checkbox.Group,{style:{width:"100%",display:"block"},value:e.value,onChange:o=>{const r=["ui.*","pm","pm.*","app"],i=r.map(a=>`!${a}`),n=(0,import_uniq.default)([...e.value||[],...o]).filter(a=>a&&!i.includes(a)).map(a=>!r.includes(a)||o!=null&&o.includes(a)?a:`!${a}`);for(const a of r)!n.includes(a)&&!n.includes(`!${a}`)&&n.push(`!${a}`);e.onChange(n)},children:[(0,import_jsx_runtime.jsx)("div",{style:{marginTop:16},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"ui.*",children:t("Allows to configure interface")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"pm",children:t("Allows to install, activate, disable plugins")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"pm.*",children:t("Allows to configure plugins")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"app",children:t("Allows to clear cache, reboot application")})})]})}),RoleConfigure=()=>{const{update:e,currentRecord:t}=(0,import_react2.useContext)(PermissionContext),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{SnippetCheckboxGroup},schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:r=>{const i=useAPIClient();return useRequest(()=>i.resource("roles").get({filterByTk:t.name}).then(n=>{var a,l;const c=(a=n==null?void 0:n.data)==null?void 0:a.data;return(l=c.snippets)==null||l.forEach(u=>{c[u]=!0}),{data:c}}),r)},effects(){(0,import_core.onFieldChange)("*",(r,i)=>V(this,null,function*(){i.modified&&(yield e(r,i))}))}},properties:{snippets:{title:o("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"},allowNewMenu:{title:o("Menu permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":o("New menu items are allowed to be accessed by default.")}}}})},collection={name:"roles",filterTargetKey:"name",targetKey:"name",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Role display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Role UID")}}',type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{title:'{{t("Default role")}}',type:"boolean","x-component":"Checkbox"}}]},roleSchema={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection,resourceName:"roles",request:{resource:"roles",action:"list",params:{pageSize:50,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete role')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add role")}}',"x-component":"Action","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const t=useActionContext();return useRequest(()=>Promise.resolve({data:{name:`r_${(0,import_shared.uid)()}`,snippets:["!ui.*","!pm","!pm.*"]}}),P(x({},e),{refreshDeps:[t.visible]}))}},title:'{{t("Add role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},default:{"x-component":"CollectionField","x-decorator":"FormItem",title:"","x-content":'{{t("Default role")}}'},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{default:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:{tab1:{type:"void",title:'{{t("General permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{role:{"x-component":"RoleConfigure"}}},tab3:{type:"void",title:'{{t("Menu permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{menu:{"x-decorator":"MenuItemsProvider","x-component":"MenuConfigure"}}},tab4:{type:"void",title:'{{t("Plugin settings permissions")}}',"x-decorator":"SettingCenterPermissionProvider","x-component":"Tabs.TabPane","x-component-props":{},properties:{menu:{"x-decorator":"SettingCenterProvider","x-component":"SettingsCenterConfigure"}}}}}}}}},update:{type:"void",title:'{{t("Edit")}}',"x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:e=>{const t=useRecord(),o=useRequest(()=>Promise.resolve({data:(0,import_pick.default)(t,["title","name","default"])}),P(x({},e),{manual:!0})),r=useActionContext();return(0,import_react2.useEffect)(()=>{r.visible&&o.run()},[r.visible]),o}},title:'{{t("Edit role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":!0},default:{title:"","x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default role")}}'},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-acl-action":"roles:destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete role')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{cm.useDestroyAction}}"}}}}}}}}}}}},AvailableActionsContext=(0,import_react2.createContext)([]);AvailableActionsContext.displayName="AvailableActionsContext";const AvailableActionsProver=e=>{const{data:t,loading:o}=useRequest({resource:"availableActions",action:"list"});return o?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(AvailableActionsContext.Provider,{value:t==null?void 0:t.data,children:e.children})},useAvailableActions=()=>(0,import_react2.useContext)(AvailableActionsContext),RoleTable=()=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:{designable:!1},children:(0,import_jsx_runtime.jsx)(AvailableActionsProver,{children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:roleSchema,components:{MenuItemsProvider,SettingCenterPermissionProvider,PermissionProvider}})})})}),rolesResourcesScopesCollection={name:"rolesResourcesScopes",fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]},useFormBlockProps=()=>{const{name:e}=(0,import_react2.useContext)(RoleResourceCollectionContext),t=useFormBlockContext();return(0,import_react2.useEffect)(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},scopesSchema={type:"object",properties:{scope:{"x-component":"RecordPicker","x-component-props":{size:"small",fieldNames:{label:"name",value:"id"},multiple:!1,association:{target:"rolesResourcesScopes"},onChange:"{{ onChange }}"},properties:{selector:{type:"void",title:'{{ t("Select record") }}',"x-component":"RecordPicker.Selector","x-component-props":{className:"nb-record-picker-selector"},properties:{tableBlock:{type:"void","x-decorator":"TableSelectorProvider","x-decorator-props":{collection:rolesResourcesScopesCollection,resource:"rolesResourcesScopes",action:"list",params:{pageSize:20},useParams(){return{filter:{$or:[{resourceName:(0,import_react2.useContext)(RoleResourceCollectionContext).name},{resourceName:null}]}}},rowKey:"id"},"x-component":"BlockItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{ t("Add new") }}',"x-action":"create","x-component":"Action","x-component-props":{icon:"PlusOutlined",openMode:"drawer",type:"primary"},properties:{drawer:{type:"void",title:'{{ t("Add record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"rolesResourcesScopes",collection:rolesResourcesScopesCollection},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":useFormBlockProps,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const e=(0,import_react2.useContext)(RoleResourceCollectionContext);return{options:useFilterOptions(e.name)}},"x-component-props":{dynamicComponent:VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"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-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{openMode:"drawer",icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"rolesResourcesScopes",collection:rolesResourcesScopesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const e=(0,import_react2.useContext)(RoleResourceCollectionContext);return{options:useFilterOptions(e.name)}},"x-component-props":{dynamicComponent:VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},RolesResourcesScopesSelectedRowKeysContext=(0,import_react2.createContext)(null);RolesResourcesScopesSelectedRowKeysContext.displayName="RolesResourcesScopesSelectedRowKeysContext";const RolesResourcesScopesSelectedRowKeysProvider=e=>{const[t,o]=(0,import_react2.useState)([]);return(0,import_jsx_runtime.jsx)(RolesResourcesScopesSelectedRowKeysContext.Provider,{value:[t,o],children:e.children})},useRolesResourcesScopesSelectedRowKeys=()=>(0,import_react2.useContext)(RolesResourcesScopesSelectedRowKeysContext),ScopeSelect=e=>{const t=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({values:{scope:e.value}}),[]);return(0,import_jsx_runtime.jsx)(FormProvider,{form:t,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider},scope:{onChange(o){var r;(r=e==null?void 0:e.onChange)==null||r.call(e,o)}},schema:scopesSchema})})},toActionMap=e=>{var t;const o={};return(t=e==null?void 0:e.forEach)==null||t.call(e,r=>{r.name&&(o[r.name]=r,o[r.name].scope=(0,import_lodash.isEmpty)(r.scope)?null:r.scope)}),o},RoleResourceCollectionContext=(0,import_react2.createContext)({});RoleResourceCollectionContext.displayName="RoleResourceCollectionContext";const RolesResourcesActions=(0,import_react.connect)(e=>{var t,o,r,i;const n=F=>{const j=F.map(k=>P(x({},k),{scope:(0,import_lodash.isEmpty)(k.scope)?null:k.scope}));e.onChange(j)};(0,import_react.useForm)();const a=useRecord(),l=useAvailableActions(),{getCollection:c,getCollectionFields:u}=useCollectionManager_deprecated(),m=c(a.collectionName),d=u(a.collectionName),p=useCompile(),{t:g}=(0,import_react_i18next.useTranslation)(),h=(0,import_react.useField)(),_=toActionMap(h.value||[]),f=(F,j)=>{var k;const R=_==null?void 0:_[F];return R?(k=R==null?void 0:R.fields)==null?void 0:k.includes(j):!1},v=l.filter(F=>F.allowConfigureFields),b=(t=d==null?void 0:d.filter(F=>F.interface))==null?void 0:t.map(F=>{const j=x({},F);for(const k of v)j[k.name]=f(k.name,F.name);return j}),S=F=>{var j,k;_[F]?delete _[F]:_[F]={name:F,fields:(k=(j=d==null?void 0:d.filter(R=>R.interface))==null?void 0:j.map)==null?void 0:k.call(j,R=>R.name)},n(Object.values(_))},C=(F,j)=>{_[F]?(_[F].scope=j,n(Object.values(_))):(S(F),_[F].scope=j)},y={};for(const F of v)y[F.name]=((o=d==null?void 0:d.filter(j=>j.interface))==null?void 0:o.length)===((i=(r=_==null?void 0:_[F.name])==null?void 0:r.fields)==null?void 0:i.length);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(RoleResourceCollectionContext.Provider,{value:m,children:(0,import_jsx_runtime.jsxs)(import_antd_v5.FormLayout,{layout:"vertical",children:[(0,import_jsx_runtime.jsx)(import_antd_v5.FormItem,{label:g("Action permission"),children:(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:g("Action display name"),render:F=>p(F)},{dataIndex:"onNewRecord",title:g("Action type"),render:F=>F?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"green",children:g("Action on new records")}):(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"geekblue",children:g("Action on existing records")})},{dataIndex:"enabled",title:g("Allow"),render:(F,j)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:F,onChange:()=>{S(j.name)}})},{dataIndex:"scope",title:g("Data scope"),render:(F,j)=>!j.onNewRecord&&(0,import_jsx_runtime.jsx)(ScopeSelect,{value:F,onChange:k=>{C(j.name,k)}})}],dataSource:l==null?void 0:l.map(F=>{let j=!1,k=null;return _[F.name]&&(j=!0,F.onNewRecord||(k=_[F.name].scope)),P(x({},F),{enabled:j,scope:k})})})}),(0,import_jsx_runtime.jsx)(import_antd_v5.FormItem,{label:g("Field permission"),children:(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:g("Field display name"),render:F=>p(F)},...v.map(F=>{const j=y==null?void 0:y[F.name];return{dataIndex:F.name,title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:j,onChange:()=>{var k;const R=_[F.name]||{name:F.name};j?R.fields=[]:R.fields=(k=d==null?void 0:d.map)==null?void 0:k.call(d,N=>N.name),_[F.name]=R,n(Object.values(_))}})," ",p(F.displayName)]}),render:(k,R)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:k,"aria-label":`${F.name}_checkbox`,onChange:()=>{const N=_[F.name]||{name:F.name},w=N.fields||[];if(k){const O=w.indexOf(R.name);w.splice(O,1)}else w.push(R.name);N.fields=w,_[F.name]=N,n(Object.values(_))}})}})]})})]})})})}),toScopes=e=>{var t;if(!e)return{};const o={};return(t=e==null?void 0:e.forEach)==null||t.call(e,r=>{const[i,n]=r.split(":");o[i]=n||"all"}),o},toFieldValue=e=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const r=e[o];r==="all"?t.push(o):t.push(`${o}:${r}`)}return t},StrategyActions=(0,import_react.connect)(e=>{const{onChange:t}=e,o=useAvailableActions(),r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=toScopes(n.value);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Table,{size:"small",pagination:!1,rowKey:"name",columns:[{dataIndex:"displayName",title:i("Action display name"),render:l=>r(l)},{dataIndex:"onNewRecord",title:i("Action type"),render:l=>l?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"green",children:i("Action on new records")}):(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"geekblue",children:i("Action on existing records")})},{dataIndex:"enabled",title:i("Allow"),render:(l,c)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:l,"aria-label":`${c.name}_checkbox`,onChange:u=>{l?delete a[c.name]:a[c.name]="all",t(toFieldValue(a))}})},{dataIndex:"scope",title:i("Data scope"),render:(l,c)=>!c.onNewRecord&&(0,import_jsx_runtime.jsx)(import_antd.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:i("All records"),value:"all"},{label:i("Own records"),value:"own"}],onChange:u=>{a[c.name]=u,t(toFieldValue(a))}})}],dataSource:o==null?void 0:o.map(l=>{let c="all",u=!1;return a[l.name]&&(u=!0,c=a[l.name]),P(x({},l),{enabled:u,scope:c})})})})}),PluginManagerLink=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useNavigateNoUpdate(),{token:o}=useToken();return(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:e("Plugin manager"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"plugin-manager-button",icon:(0,import_jsx_runtime.jsx)(import_icons.ApiOutlined,{style:{color:o.colorTextHeaderMenu}}),title:e("Plugin manager"),onClick:()=>{t("/admin/pm/list")}})})},SettingsCenterDropdown=()=>{const e=useCompile(),{t}=(0,import_react_i18next.useTranslation)(),{token:o}=useToken(),r=useApp(),i=(0,import_react2.useMemo)(()=>r.pluginSettingsManager.getList().filter(n=>n.isTopLevel!==!1).map(n=>({key:n.name,icon:n.icon,label:n.link?(0,import_jsx_runtime.jsx)("div",{onClick:()=>window.open(n.link),children:e(n.title)}):(0,import_jsx_runtime.jsx)(import_react_router_dom.Link,{to:n.path,children:e(n.title)})})),[r,t]);return(0,import_react2.useEffect)(()=>()=>{r.pluginSettingsManager.clearCache()},[r.pluginSettingsManager]),(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:{style:{maxHeight:"70vh",overflow:"auto"},items:i},children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"plugin-settings-button",icon:(0,import_jsx_runtime.jsx)(import_icons.SettingOutlined,{style:{color:o.colorTextHeaderMenu}})})})},useStyles$1=(0,import_antd_style.createStyles)(({token:e})=>({cardActionDisabled:{color:e.colorTextDisabled,cursor:"not-allowed"},pageHeader:{backgroundColor:e.colorBgContainer,paddingTop:e.paddingSM,paddingBottom:0,paddingInline:e.paddingLG,".ant-page-header-footer":{marginBlockStart:"0"},"& .ant-tabs-nav":{marginBottom:0},".ant-page-header-heading-title":{color:e.colorText}},pageContent:{margin:e.marginLG},PluginDetailBaseInfo:{display:"flex",flexDirection:"column",marginBottom:e.margin},PluginDocument:{background:e.colorBgContainer,padding:e.paddingLG,height:"60vh",overflowY:"auto"},avatar:{".ant-card-meta-avatar":{marginTop:"8px",".ant-avatar":{borderRadius:"2px"}}},version:{display:"block",color:e.colorTextDescription,fontWeight:"normal",fontSize:e.fontSize}}));import_dayjs.default.extend(import_relativeTime.default);const PluginDetail=({plugin:e,onCancel:t})=>{var o,r,i,n,a,l,c,u;const{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>[{title:m("Name"),dataIndex:"name",key:"name"},{title:m("Version range"),dataIndex:"versionRange",key:"versionRange"},{title:m("Plugin's version"),dataIndex:"packageVersion",key:"packageVersion"},{title:m("Result"),dataIndex:"result",key:"result",render:S=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:S?"success":"error",children:S?"Yes":"No"})}],[m]),{data:p,loading:g}=useRequest({url:"pm:get",params:{filterByTk:e.name}},{refreshDeps:[e.name],ready:!!e.name}),h=(0,import_react2.useMemo)(()=>{var S,C,y;if(!((C=(S=p==null?void 0:p.data)==null?void 0:S.packageJson)!=null&&C.repository))return null;const F=(y=p==null?void 0:p.data)==null?void 0:y.packageJson.repository;return(typeof F=="string"?F:F.url).replace(/\.git$/,"").replace(/^git\+/,"")},[p]),_=(0,import_react2.useMemo)(()=>{var S;const C=(S=p==null?void 0:p.data)==null?void 0:S.packageJson.author;return C?typeof C=="string"?C:C.name:null},[p]),{styles:f,theme:v}=useStyles$1(),b=[{key:"readme",label:m("Readme"),children:(0,import_jsx_runtime.jsxs)(import_antd.Row,{gutter:20,children:[e.name&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Name")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.name})]})}),e.displayName&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("DisplayName")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.displayName})]})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("PackageName")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.packageName})]})}),h&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Repository")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:h})]})}),((o=p==null?void 0:p.data)==null?void 0:o.homepage)&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Homepage")}),(0,import_jsx_runtime.jsx)("a",{href:(r=p==null?void 0:p.data)==null?void 0:r.homepage,target:"_blank",rel:"noreferrer",children:(i=p==null?void 0:p.data)==null?void 0:i.homepage})]})}),e.description&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Description")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.description})]})}),((n=p==null?void 0:p.data)==null?void 0:n.packageJson.license)&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("License")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:(a=p==null?void 0:p.data)==null?void 0:a.packageJson.license})]})}),_&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Author")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:_})]})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Version")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e==null?void 0:e.version})]})})]})},{key:"dependencies",label:m("Dependencies compatibility check"),children:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:((l=p==null?void 0:p.data)==null?void 0:l.depsCompatible)===!1?(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"danger",children:m("`dist/externalVersion.js` not found or failed to `require`. Please rebuild this plugin.")}):(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((c=p==null?void 0:p.data)!=null&&c.isCompatible)&&(0,import_jsx_runtime.jsx)(import_antd.Alert,{showIcon:!0,type:"error",message:m("Plugin dependencies check failed, you should change the dependent version to meet the version requirements.")}),(0,import_jsx_runtime.jsx)(import_antd.Table,{style:{marginTop:v.margin},rowKey:"name",pagination:!1,columns:d,dataSource:(u=p==null?void 0:p.data)==null?void 0:u.depsCompatible})]})})}];return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:!!e,footer:!1,destroyOnClose:!0,width:600,onCancel:t,children:g?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):e&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Title,{level:3,children:e.packageName}),(0,import_jsx_runtime.jsx)(import_antd.Space,{split:(0,import_jsx_runtime.jsx)("span",{children:" • "}),children:(0,import_jsx_runtime.jsx)("span",{children:e.version})}),(0,import_jsx_runtime.jsx)(import_antd.Tabs,{style:{minHeight:"50vh"},items:b,defaultActiveKey:e.isCompatible?void 0:"dependencies"})]})})},PluginNpmForm=({onClose:e,isUpgrade:t,pluginData:o})=>{import_antd.App.useApp();const r=[],i=()=>{const c=useAPIClient();(0,import_react_i18next.useTranslation)();const u=(0,import_react.useForm)();return{run(){return V(this,null,function*(){yield u.submit(),c.request({url:t?"pm:update":"pm:add",method:"post",data:x({},u.values)}),e(!0)})}}},n=c=>useRequest(()=>Promise.resolve({data:t?(0,import_lodash.pick)(o,["name","packageName","version"]):{}}),c),a=()=>({run(){e()}}),l=(0,import_react2.useMemo)(()=>{const c=(0,import_shared.uid)(),u={type:"object",properties:{[c]:{"x-decorator":"Form","x-component":"div",type:"void","x-decorator-props":{useValues:"{{ useValuesFromProps }}"},properties:{packageName:{type:"string",title:"{{t('Npm package name')}}","x-decorator":"FormItem","x-component":"Input",required:!0,"x-component-props":{disabled:!0}},registry:{type:"string",title:"{{t('Registry url')}}",default:"https://registry.npmjs.org/","x-decorator":"FormItem","x-component":"Input","x-decorator-props":{tooltip:"Example: https://registry.npmjs.org/"}},authToken:{type:"string",title:"{{t('Npm authToken')}}","x-decorator":"FormItem","x-component":"Input"},version:{type:"string",title:"{{t('Version')}}","x-decorator":"FormItem","x-component":"Input"},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}};return u.properties[c].properties.packageName["x-component-props"].disabled=t,t||delete u.properties[c].properties.version,u},[t]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:a,useSaveValues:i,versionList:r,useValuesFromProps:n},schema:l})};PluginNpmForm.displayName="PluginNpmForm";const PluginUploadForm=({onClose:e,pluginData:t,isUpgrade:o})=>{const{message:r}=import_antd.App.useApp(),i=()=>{const l=useAPIClient(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react.useForm)();return{run(){return V(this,null,function*(){var m,d;yield u.submit();const p=new FormData;p.append("file",(d=(m=u.values.uploadFile)==null?void 0:m[0])==null?void 0:d.originFileObj),t!=null&&t.packageName&&p.append("packageName",t.packageName),yield l.request({url:`pm:${o?"update":"add"}`,method:"post",data:p}),import_antd.Modal.info({icon:null,width:520,content:(0,import_jsx_runtime.jsx)(import_antd.Result,{icon:(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}),title:c("Plugin uploading"),subTitle:c("Plugin is uploading, please wait...")}),footer:null}),e(!0);function g(){l.silent().request({url:"__health_check",method:"get"}).then(h=>{(h==null?void 0:h.data)==="ok"&&window.location.reload()}).catch(h=>{})}setInterval(g,1e3)})}}},n=()=>({run(){e()}}),a=(0,import_react2.useMemo)(()=>({type:"object",properties:{[(0,import_shared.uid)()]:{"x-decorator":"Form","x-component":"div",type:"void",properties:{uploadFile:{type:"string","x-decorator":"FormItem","x-component":"Upload.Dragger",required:!0,"x-component-props":{action:"",multiple:!1,maxCount:1,height:"150px",tipContent:"{{t('Drag and drop the file here or click to upload, file size should not exceed 30M')}}",beforeUpload:l=>(/\.(zip|rar|tar|gz|bz2|tgz)$/.test(l.name)||r.error("File only support zip, rar, tar, gz, bz2!"),l.size/1024/1024<30||r.error("File must smaller than 30MB!"),!1)}},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}}),[r]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:n,useSaveValues:i},schema:a})},PluginUrlForm=({onClose:e,pluginData:t,isUpgrade:o})=>{import_antd.App.useApp();const r=()=>{const l=useAPIClient();(0,import_react_i18next.useTranslation)();const c=(0,import_react.useForm)();return{run(){return V(this,null,function*(){const u=c.values.compressedFileUrl;if(!u)return;yield c.submit();const m={compressedFileUrl:u};t!=null&&t.packageName&&(m.packageName=t.packageName),l.request({url:`pm:${o?"update":"add"}`,method:"post",data:m}),e(!0)})}}},i=l=>useRequest(()=>Promise.resolve({data:{compressedFileUrl:t.compressedFileUrl}}),l),n=()=>({run(){e()}}),a=(0,import_react2.useMemo)(()=>({type:"object",properties:{[(0,import_shared.uid)()]:{"x-decorator":"Form","x-component":"div",type:"void","x-decorator-props":{useValues:"{{ useValuesFromProps }}"},properties:{compressedFileUrl:{type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:n,useValuesFromProps:i,useSaveValues:r},schema:a})},PluginUpgradeModal=({onClose:e,isShow:t,pluginData:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),{theme:i}=useStyles$1(),[n,a]=(0,import_react2.useState)("npm");return(0,import_jsx_runtime.jsxs)(import_antd.Modal,{onCancel:()=>e(),footer:null,destroyOnClose:!0,title:r("Update plugin"),width:580,open:t,children:[(0,import_jsx_runtime.jsx)("div",{style:{marginTop:i.marginLG,marginBottom:i.marginLG},children:(0,import_jsx_runtime.jsxs)(import_antd.Radio.Group,{optionType:"button",defaultValue:n,onChange:l=>a(l.target.value),children:[(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"npm",children:r("Npm package")}),(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"upload",children:r("Upload plugin")}),(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"url",children:r("Compressed file url")})]})}),n==="npm"&&(0,import_jsx_runtime.jsx)(PluginNpmForm,{isUpgrade:!0,onClose:e,pluginData:o}),n==="upload"&&(0,import_jsx_runtime.jsx)(PluginUploadForm,{isUpgrade:!0,onClose:e,pluginData:o}),n==="url"&&(0,import_jsx_runtime.jsx)(PluginUrlForm,{isUpgrade:!0,onClose:e,pluginData:o})]})};function PluginInfo(e){const{data:t,onClick:o}=e,r=useApp(),{name:i,displayName:n,isCompatible:a,packageName:l,updatable:c,builtIn:u,enabled:m,removable:d,description:p,error:g,homepage:h}=t,{styles:_,theme:f}=useStyles$1(),v=(0,import_react_router_dom.useNavigate)(),{t:b}=(0,import_react_i18next.useTranslation)(),S=useAPIClient(),{modal:C}=import_antd.App.useApp(),[y,F]=(0,import_react2.useState)(!1),j=n||i||l;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[y&&(0,import_jsx_runtime.jsx)(PluginUpgradeModal,{isShow:y,pluginData:t,onClose:k=>{F(!1)}}),(0,import_jsx_runtime.jsx)(import_antd.Card,{role:"button","aria-label":j,size:"small",bordered:!1,onClick:()=>{!g&&o()},headStyle:{border:"none",minHeight:"inherit",paddingTop:14},bodyStyle:{paddingTop:10},title:(0,import_jsx_runtime.jsx)("div",{children:j}),hoverable:!0,className:import_css.css`
1466
+ }}}`},min:{type:"number",title:'{{ t("Min length") }}',minimum:0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{precision:0},"x-reactions":{dependencies:[".max"],fulfill:{state:{selfErrors:`{{!!$deps[0] && !!$self.value && $deps[0] < $self.value ? '${i18n.t("Min length must less than max length")}' : ''}}`}}}}})),A(this,"filterable",{operators:string})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class TimeFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","time"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",4),A(this,"title",'{{t("Time")}}'),A(this,"sortable",!0),A(this,"default",{type:"time",uiSchema:{type:"string","x-component":"TimePicker"}}),A(this,"availableTypes",["time"]),A(this,"hasDefaultValue",!0),A(this,"properties",x(x({},defaultProps),timeProps)),A(this,"filterable",{operators:time}),A(this,"titleUsable",!0)}}class UpdatedAtFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","updatedAt"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",2),A(this,"title",'{{t("Last updated at")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",field:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),A(this,"description",'{{t("Store the last update time of each record")}}'),A(this,"availableTypes",[]),A(this,"properties",x(x({},defaultProps),dateTimeProps)),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class UpdatedByFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","updatedBy"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",4),A(this,"title",'{{t("Last updated by")}}'),A(this,"isAssociation",!0),A(this,"default",{type:"belongsTo",target:"users",foreignKey:"updatedById",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}),A(this,"availableTypes",["belongsTo"]),A(this,"properties",x({},defaultProps)),A(this,"filterable",{nested:!0,children:[]}),A(this,"description",'{{t("Store the last update user of each record")}}')}schemaInitialize(t,{block:o}){t.properties={viewer:(0,import_lodash.cloneDeep)(recordPickerViewer)},["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class UrlFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","url"),A(this,"type","string"),A(this,"group","basic"),A(this,"order",5),A(this,"title",'{{t("URL")}}'),A(this,"default",{type:"text",uiSchema:{type:"string","x-component":"Input.URL"}}),A(this,"componentOptions",[{label:"URL",value:"Input.URL"},{label:"Preview",value:"Input.Preview"}]),A(this,"availableTypes",["string","text"]),A(this,"properties",x({},defaultProps)),A(this,"titleUsable",!0),A(this,"filterable",{operators:string})}schemaInitialize(t,{block:o}){}}class UUIDFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","uuid"),A(this,"type","object"),A(this,"group","advanced"),A(this,"order",0),A(this,"title",'{{t("UUID")}}'),A(this,"hidden",!1),A(this,"sortable",!0),A(this,"default",{type:"uuid",uiSchema:{type:"string","x-component":"Input","x-validator":"uuid"}}),A(this,"availableTypes",["uid","uuid"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},autoFill,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}}),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}}class NanoidFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","nanoid"),A(this,"type","object"),A(this,"group","advanced"),A(this,"order",0),A(this,"title",'{{t("Nano ID")}}'),A(this,"hidden",!1),A(this,"sortable",!0),A(this,"default",{type:"nanoid",uiSchema:{type:"string","x-component":"NanoIDInput"}}),A(this,"availableTypes",["nanoid"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"},customAlphabet:{type:"string",title:'{{t("Alphabet")}}',default:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","x-decorator":"FormItem","x-component":"Input"},size:{type:"number",title:'{{t("Length")}}',default:21,"x-decorator":"FormItem","x-component":"InputNumber"},autoFill,layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}}),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}}class UnixTimestampFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","unixTimestamp"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",4),A(this,"title",'{{t("Unix Timestamp")}}'),A(this,"sortable",!0),A(this,"default",{type:"unixTimestamp",accuracy:"second",timezone:!0,defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,uiSchema:{type:"number","x-component":"UnixTimestamp","x-component-props":{showTime:!0}}}),A(this,"availableTypes",["unixTimestamp"]),A(this,"hasDefaultValue",!1),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{accuracy:{type:"string",title:'{{t("Accuracy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:"second",enum:[{value:"millisecond",label:'{{t("Millisecond")}}'},{value:"second",label:'{{t("Second")}}'}]},defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class DateFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","date"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",3),A(this,"title",'{{t("DateOnly")}}'),A(this,"sortable",!0),A(this,"default",{type:"dateOnly",uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{dateOnly:!0}}}),A(this,"availableTypes",["dateOnly"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{"uiSchema.x-component-props.showTime":{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-visible":!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class DatetimeNoTzFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","datetimeNoTz"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",2),A(this,"title",'{{t("Datetime (without time zone)")}}'),A(this,"sortable",!0),A(this,"default",{type:"datetimeNoTz",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!1,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!1}}}),A(this,"availableTypes",["string","datetimeNoTz"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current server time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp to the current server time on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class InheritanceCollectionMixin extends Collection{constructor(){super(...arguments),A(this,"parentCollectionsName"),A(this,"parentCollections"),A(this,"childrenCollections",{}),A(this,"childrenCollectionsName",{}),A(this,"inheritsFields"),A(this,"currentFields"),A(this,"allFields"),A(this,"parentCollectionFields",{}),A(this,"allCollectionsInheritChain"),A(this,"inheritCollectionsChain"),A(this,"inheritChain"),A(this,"foreignKeyFields")}getParentCollectionsName(){if(this.parentCollectionsName)return this.parentCollectionsName.slice();const t=[],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i;if(n)for(let a=0;a<n.length;a++){const l=n[a];t.push(l),o(l)}}return(0,import_lodash.uniq)(t)};return this.parentCollectionsName=o(this.name),this.parentCollectionsName}getParentCollections(){return this.parentCollections?this.parentCollections.slice():(this.parentCollections=this.getParentCollectionsName().map(t=>this.collectionManager.getCollection(t)),this.parentCollections)}getChildrenCollectionsName(t=!1){const o=t?"supportView":"notSupportView";if(this.childrenCollectionsName[o])return this.childrenCollectionsName[o].slice();const r=[],i=this.collectionManager.getCollections(),n=a=>(i.filter(l=>{var c;return(c=l.inherits)==null?void 0:c.includes(a)}).forEach(l=>{const c=l.name;return r.push(c),n(c)}),t&&i.filter(l=>{var c;return((c=l.sources)==null?void 0:c.length)===1&&(l==null?void 0:l.sources[0])===a}).forEach(l=>{const c=l.name;return r.push(l.name),n(c)}),(0,import_lodash.uniq)(r));return this.childrenCollectionsName[o]=n(this.name),this.childrenCollectionsName[o]}getChildrenCollections(t=!1){const o=t?"supportView":"notSupportView";return this.childrenCollections[o]?this.childrenCollections[o].slice():(this.childrenCollections[o]=this.getChildrenCollectionsName(t).map(r=>this.collectionManager.getCollection(r)),this.childrenCollections[o])}getInheritedFields(){if(this.inheritsFields)return this.inheritsFields.slice();const t=this.getParentCollectionsName();return this.inheritsFields=t.map(o=>{var r;return(r=this.collectionManager.getCollection(o))==null?void 0:r.getFields()}).flat().filter(Boolean),this.inheritsFields}getFieldsMap(){return this.fieldsMap?this.fieldsMap:(this.fieldsMap=this.getAllFields().reduce((t,o)=>(t[o.name]=o,t),{}),this.fieldsMap)}getCurrentFields(t){return super.getFields(t)}getParentCollectionFields(t){if(this.parentCollectionFields||(this.parentCollectionFields={}),this.parentCollectionFields[t])return this.parentCollectionFields[t];const o=this.getCurrentFields(),r=this.getParentCollectionsName(),i=this.collectionManager.getCollection(t).getCurrentFields(),n=r.indexOf(t);let a=o;return n>0&&(r.splice(n),r.forEach(l=>{const c=this.collectionManager.getCollection(l);a=a.concat(c.getCurrentFields())})),this.parentCollectionFields[t]=i.filter(l=>a.find(c=>c.name===l.name).collectionName!==this.name),this.parentCollectionFields[t]}getAllCollectionsInheritChain(){if(this.allCollectionsInheritChain)return this.allCollectionsInheritChain.slice();const t=[this.name],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i,a=i.getChildrenCollectionsName();if(n)for(let l=0;l<n.length;l++){const c=n[l];t.includes(c)||(t.push(c),o(c))}if(a)for(let l=0;l<a.length;l++){const c=this.collectionManager.getCollection(a[l]).name;t.includes(c)||(t.push(c),o(c))}}return t};return this.allCollectionsInheritChain=o(this.name),this.allCollectionsInheritChain||[]}getInheritCollectionsChain(){if(this.inheritCollectionsChain)return this.inheritCollectionsChain.slice();const t=[this.name],o=r=>{const i=this.collectionManager.getCollection(r);if(i){const{inherits:n}=i;if(n)for(let a=0;a<n.length;a++){const l=n[a];t.includes(l)||(t.push(l),o(l))}}return t};return this.inheritCollectionsChain=o(this.name),this.inheritCollectionsChain}getInheritChain(){if(this.inheritChain)return this.inheritChain.slice();const t=this.getInheritCollectionsChain(),o=this.getChildrenCollectionsName(),r=[...t],i=n=>{for(const a of n)if(!r.includes(a)){r.push(a);const l=this.collectionManager.getCollection(a);if(l){const c=l.getChildrenCollectionsName();i(c)}}};return i(o),this.inheritChain=r,this.inheritChain}getAllFields(t){if(this.allFields)return this.allFields.slice();const o=this.getCurrentFields(),r=this.getInheritedFields(),i=(0,import_lodash.unionBy)((o==null?void 0:o.concat(r))||[],"name");return this.allFields=i,t?(0,import_lodash.filter)(i,t):i}getForeignKeyFields(){if(this.foreignKeyFields)return this.foreignKeyFields.slice();const t=this.getCurrentFields(),o=this.getInheritedFields();return(0,import_lodash.unionBy)((t==null?void 0:t.concat(o))||[],"name")}}class GeneralCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","general"),A(this,"title",'{{t("General collection")}}'),A(this,"order",1),A(this,"color","blue"),A(this,"default",{fields:[]}),A(this,"configurableProperties",getConfigurableProperties("title","name","inherits","category","description","simplePaginate","presetFields"))}}class TreeCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","tree"),A(this,"title",'{{t("Tree collection")}}'),A(this,"order",3),A(this,"color","blue"),A(this,"default",{tree:"adjacencyList",fields:[{interface:"integer",name:"parentId",type:"bigInt",isForeignKey:!0,uiSchema:{type:"number",title:'{{t("Parent ID")}}',"x-component":"InputNumber","x-read-pretty":!0}},{interface:"m2o",type:"belongsTo",name:"parent",foreignKey:"parentId",treeParent:!0,onDelete:"CASCADE",uiSchema:{title:'{{t("Parent")}}',"x-component":"AssociationField","x-component-props":{multiple:!1,fieldNames:{label:"id",value:"id"}}}},{interface:"o2m",type:"hasMany",name:"children",foreignKey:"parentId",treeChildren:!0,onDelete:"CASCADE",uiSchema:{title:'{{t("Children")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"id",value:"id"}}}}]}),A(this,"presetFieldsDisabledIncludes",["id"]),A(this,"events",{beforeSubmit(t){Array.isArray(t==null?void 0:t.fields)&&(t==null||t.fields.map(o=>{!o.target&&["belongsToMany","belongsTo","hasMany","hasOne"].includes(o.type)&&(o.target=t.name)}))}}),A(this,"configurableProperties",getConfigurableProperties("title","name","inherits","category","description","presetFields"))}}class ViewCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","view"),A(this,"title",'{{t("Connect to database view")}}'),A(this,"order",4),A(this,"color","yellow"),A(this,"default",{fields:[]}),A(this,"divider",!0),A(this,"configurableProperties",x({title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},databaseView:{title:'{{t("Connect to database view")}}',type:"single",required:!0,"x-decorator":"FormItem","x-component":"Select","x-reactions":["{{useAsyncDataSource(loadDBViews)}}"],"x-disabled":"{{ !createOnly }}","x-visible":"{{!createMainOnly}}"},name:{type:"string",title:'{{t("Collection 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.')}}","x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{initialValue:"{{$deps[0]&&$deps[0].match(/^([^_]+)_(.*)$/)?.[2]}}"}},otherwise:{state:{value:null}}}},schema:{type:"string","x-hidden":!0,"x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{value:"{{$deps[0].split('@')?.[0]}}"}},otherwise:{state:{value:null}}}},viewName:{type:"string","x-hidden":!0,"x-reactions":{dependencies:["databaseView"],when:"{{isPG}}",fulfill:{state:{value:"{{$deps[0].split('@')?.[1]}}"}},otherwise:{state:{value:"{{$deps[0]}}"}}}},writableView:{type:"boolean","x-content":'{{t("Allow add new, update and delete actions")}}',"x-decorator":"FormItem","x-component":"Checkbox",default:!1,"x-visible":"{{!createMainOnly}}"},sources:{type:"array",title:'{{ t("Source collections") }}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadCollections)}}"],"x-disabled":!0,"x-visible":"{{!createMainOnly}}"},fields:{type:"array","x-component":PreviewFields,"x-hidden":"{{ !createOnly }}","x-decorator":"FormItem","x-reactions":{dependencies:["name"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}},description:'{{t("Fields can only be used correctly if they are defined with an interface.")}}'},preview:{type:"void","x-visible":"{{ createOnly }}","x-component":PreviewTable$1,"x-reactions":{dependencies:["name","fields"],fulfill:{schema:{"x-component-props":"{{$form.values}}"}}}},filterTargetKey:{title:'{{ t("Record unique key")}}',type:"single",description:'{{t( "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]}},getConfigurableProperties("category","description")))}}class SqlCollectionTemplate extends CollectionTemplate{constructor(){super(...arguments),A(this,"name","sql"),A(this,"title",'{{t("SQL collection")}}'),A(this,"order",4),A(this,"color","yellow"),A(this,"default",{fields:[]}),A(this,"configurableProperties",x({title:{type:"string",title:'{{ t("Collection display name") }}',required:!0,"x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Collection 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.')}}"},config:{type:"void","x-decorator":SQLRequestProvider,properties:{sql:{type:"string",title:'{{t("SQL")}}',"x-decorator":"FormItem","x-component":SQLInput,required:!0,"x-validator":(t,o,{form:r})=>r.query("sql").take().componentProps.disabled?"":i18n.t("Please confirm the SQL statement first")},sources:{type:"array",title:'{{t("Source collections")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]},fields:{type:"array",title:'{{t("Fields")}}',"x-decorator":"FormItem","x-component":FieldsConfigure,required:!0},table:{type:"void",title:'{{t("Preview")}}',"x-decorator":"FormItem","x-component":PreviewTable}}},filterTargetKey:{title:'{{ t("Record unique key")}}',type:"single",description:'{{t( "If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")}}',"x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!0},"x-reactions":["{{useAsyncDataSource(loadFilterTargetKeys)}}"]}},getConfigurableProperties("category","description")))}}class MainDataSource extends DataSource{getDataSource(){return V(this,null,function*(){var t;const o=yield this.app.apiClient.request({resource:"collections",action:"listMeta"});return{collections:((t=o==null?void 0:o.data)==null?void 0:t.data)||[]}})}}class CollectionPlugin extends Plugin{load(){return V(this,null,function*(){this.dataSourceManager.addCollectionMixins([InheritanceCollectionMixin]),this.addFieldInterfaces(),this.addCollectionTemplates(),this.addFieldInterfaces(),this.addFieldInterfaceGroups(),this.addMainDataSource()})}addMainDataSource(){var t,o;((o=(t=this.options)==null?void 0:t.config)==null?void 0:o.enableRemoteDataSource)!==!1&&this.dataSourceManager.addDataSource(MainDataSource,{key:DEFAULT_DATA_SOURCE_KEY,displayName:DEFAULT_DATA_SOURCE_TITLE})}addFieldInterfaceGroups(){this.dataSourceManager.addFieldInterfaceGroups({basic:{label:'{{t("Basic")}}'},choices:{label:'{{t("Choices")}}'},media:{label:'{{t("Media")}}'},datetime:{label:'{{t("Date & Time")}}'},relation:{label:'{{t("Relation")}}'},advanced:{label:'{{t("Advanced type")}}'},systemInfo:{label:'{{t("System info")}}'},others:{label:'{{t("Others")}}'}})}addFieldInterfaces(){this.dataSourceManager.addFieldInterfaces([CheckboxFieldInterface,CheckboxGroupFieldInterface,CollectionSelectFieldInterface,ColorFieldInterface,CreatedAtFieldInterface,CreatedByFieldInterface,DatetimeFieldInterface,EmailFieldInterface,IconFieldInterface,IdFieldInterface,InputFieldInterface,IntegerFieldInterface,JsonFieldInterface,LinkToFieldInterface,M2MFieldInterface,M2OFieldInterface,MarkdownFieldInterface,MultipleSelectFieldInterface,NumberFieldInterface,O2MFieldInterface,O2OFieldInterface,OHOFieldInterface,OBOFieldInterface,PasswordFieldInterface,PercentFieldInterface,PhoneFieldInterface,RadioGroupFieldInterface,RichTextFieldInterface,SelectFieldInterface,SubTableFieldInterface,TableoidFieldInterface,TextareaFieldInterface,TimeFieldInterface,UpdatedAtFieldInterface,UpdatedByFieldInterface,UrlFieldInterface,UUIDFieldInterface,NanoidFieldInterface,UnixTimestampFieldInterface,DateFieldInterface,DatetimeNoTzFieldInterface])}addCollectionTemplates(){this.dataSourceManager.addCollectionTemplates([GeneralCollectionTemplate,SqlCollectionTemplate,TreeCollectionTemplate,ViewCollectionTemplate])}}function parseCollectionName(e){var t;if(!e)return[];const o=e.split(":"),r=o.pop();return[(t=o[0])!=null?t:"main",r]}function joinCollectionName(e,t){return!e||e==="main"?t:`${e}:${t}`}const useSourceId=()=>{const{sourceId:e,association:t}=useDataBlockProps()||{},o=useSourceKey(t),r=useDataBlockParentRecord({association:t});return e||(r==null?void 0:r[o])},BlockResourceContext=(0,import_react2.createContext)(null);BlockResourceContext.displayName="BlockResourceContext";const BlockAssociationContext=(0,import_react2.createContext)(null);BlockAssociationContext.displayName="BlockAssociationContext";const BlockRequestContext_deprecated=(0,import_react2.createContext)({});BlockRequestContext_deprecated.displayName="BlockRequestContext_deprecated";const useBlockResource=()=>{const e=useDataBlockResource();return(0,import_react2.useContext)(BlockResourceContext)||e},MaybeCollectionProvider=e=>{const{collection:t}=e;return t?(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:t,children:(0,import_jsx_runtime.jsx)(ACLCollectionProvider,{children:e.children})}):e.children},BlockRequestProvider_deprecated=e=>{const t=(0,import_react.useField)(),o=useDataBlockResource(),r=useDataBlockRequest(),i=useCollectionRecord(),n=useCollectionParentRecord(),a=useBlockRequestContext(),l=(0,import_react2.useMemo)(()=>({block:e.block,props:e,field:t,service:r,resource:o,__parent:a,updateAssociationValues:(e==null?void 0:e.updateAssociationValues)||[]}),[a,t,e,o,r]);return(0,import_jsx_runtime.jsx)(BlockRequestContext_deprecated.Provider,{value:l,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:i==null?void 0:i.isNew,record:i==null?void 0:i.data,parent:n==null?void 0:n.data,children:e.children})})},useBlockRequestContext=()=>(0,import_react2.useContext)(BlockRequestContext_deprecated),RenderChildrenWithAssociationFilter=e=>{var t;const o=(0,import_react.useFieldSchema)(),{findComponent:r}=useDesignable(),i=(0,import_react.useField)(),n=r((t=i.component)==null?void 0:t[0])||import_react2.default.Fragment;return o.reduceProperties((a,l)=>l["x-component"]==="AssociationFilter"?l:a,null)?(0,import_jsx_runtime.jsx)(n,P(x({},i.componentProps),{children:(0,import_jsx_runtime.jsxs)(import_antd.Row,{style:{height:"100%"},gutter:16,wrap:!1,children:[(0,import_jsx_runtime.jsx)(import_antd.Col,{style:x({width:200,flex:"0 0 auto"},e.associationFilterStyle||{}),children:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:o,onlyRenderProperties:!0,filterProperties:a=>a["x-component"]==="AssociationFilter"})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{style:{flex:"1 1 auto",minWidth:0},children:(0,import_jsx_runtime.jsx)("div",{style:{height:"100%",display:"flex",flexDirection:"column"},children:(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:o,onlyRenderProperties:!0,filterProperties:a=>a["x-component"]!=="AssociationFilter"})})})]})})):e.children},BlockContext=(0,import_react2.createContext)(null);BlockContext.displayName="BlockContext";const useBlockContext=()=>(0,import_react2.useContext)(BlockContext),useCompatDataBlockParentRecord=e=>(0,import_react.useFieldSchema)()["x-use-decorator-props"]?e.parentRecord:useDataBlockParentRecord(e),BlockProvider=e=>{const{name:t,dataSource:o,useParams:r,parentRecord:i}=e,n=useCompatDataBlockParentRecord(e),a=useRefreshComponent(),l=(0,import_ahooks.useUpdate)(),c=(0,import_react2.useCallback)(()=>{l(),a==null||a()},[l,a]),u=r==null?void 0:r(),{getAssociationAppends:m}=useAssociationNames(o),{appends:d,updateAssociationValues:p}=m(),g=(0,import_react2.useMemo)(()=>{var _;return(_=e.params)!=null&&_.appends?x(x({},e.params),u):x(P(x({},e.params),{appends:d}),u)},[d,u,e.params]),h=(0,import_react2.useMemo)(()=>({name:t}),[t]);return(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,P(x({},e),{params:g,parentRecord:i||n,children:(0,import_jsx_runtime.jsx)(BlockRequestProvider_deprecated,P(x({},e),{updateAssociationValues:p,params:g,children:(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:c,children:e.children})}))}))})},useBlockAssociationContext=()=>{const{association:e}=useDataBlockProps();return(0,import_react2.useContext)(BlockAssociationContext)||e},useFilterByTk=e=>{const{resource:t,__parent:o}=useBlockRequestContext(),r=useRecordIndex(),i=useCollectionRecordData(),n=useCollection_deprecated(),a=useBlockAssociationContext(),l=(e==null?void 0:e.association)||a,c=(0,import_react2.useContext)(WithoutTableFieldResource),u=useCollectionManager();if(!c&&(t instanceof TableFieldResource||(o==null?void 0:o.block)==="TableField"))return r;if(l){const m=u.getCollectionField(l);return i==null?void 0:i[m.targetKey||m.sourceKey||"id"]}if((0,import_lodash.isArray)(n.filterTargetKey)){const m={};for(const d of n.filterTargetKey)m[d]=i==null?void 0:i[d];return m}else return i==null?void 0:i[n.filterTargetKey||"id"]},useSourceIdFromRecord=()=>{const e=useRecord(),{getCollectionField:t}=useCollectionManager_deprecated(),o=useBlockAssociationContext();if(o){const r=t(o);return e==null?void 0:e[r.sourceKey||"id"]}},useSourceIdFromParentRecord=()=>useSourceId(),useParamsFromRecord=e=>{var t,o;const r=useFilterByTk(e),i=useRecord(),{fields:n}=useCollection_deprecated(),a=(0,import_react.useFieldSchema)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(((t=a==null?void 0:a["x-decorator-props"])==null?void 0:t.resource)||((o=a==null?void 0:a["x-decorator-props"])==null?void 0:o.association)),u=n.filter(p=>["boolean","date","integer","radio","sort","string","time","uid","uuid"].includes(p.type)).map(p=>p.name),m=Object.keys(i).filter(p=>u.includes(p)).reduce((p,g)=>(p[g]=i[g],p),{}),d={filterByTk:r};return i.__collection&&c&&!["oho","m2o","obo"].includes(c.interface)&&(d.targetCollection=i.__collection),!r&&Object.keys(m).length>0&&(d.filter=m),d},RecordLink=e=>{const t=(0,import_react.useField)(),o=useRecord(),r=e,{title:i,to:n}=r,a=Y(r,["title","to"]),l=(0,import_template.default)(n||"");return(0,import_jsx_runtime.jsx)(import_react_router_dom.Link,P(x({},a),{to:l({record:o||{}}),children:t.title}))},ACLContext=(0,import_react2.createContext)({});ACLContext.displayName="ACLContext";const ACLProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{ACLCollectionFieldProvider,ACLActionProvider,ACLMenuItemProvider,ACLCollectionProvider},children:e.children}),ACLRolesCheckProvider=e=>{const{setDesignable:t}=useDesignable(),{render:o}=useAppSpin(),r=useAPIClient(),i=useApp(),n=useRequest({url:"roles:check"},{manual:!r.auth.token,onSuccess(a){var l,c,u,m;(l=a==null?void 0:a.data)!=null&&l.snippets.includes("ui.*")||t(!1),((c=a==null?void 0:a.data)==null?void 0:c.role)!==r.auth.role&&r.auth.setRole((u=a==null?void 0:a.data)==null?void 0:u.role),i.pluginSettingsManager.setAclSnippets(((m=a==null?void 0:a.data)==null?void 0:m.snippets)||[])}});return n.loading?o():(0,import_jsx_runtime.jsx)(ACLContext.Provider,{value:n,children:e.children})},useRoleRecheck=()=>{const e=(0,import_react2.useContext)(ACLContext),{allowAll:t}=useACLRoleContext();return()=>{t||e.refresh()}},useACLContext=()=>(0,import_react2.useContext)(ACLContext),ACLActionParamsContext=(0,import_react2.createContext)({});ACLActionParamsContext.displayName="ACLActionParamsContext";const ACLCustomContext=(0,import_react2.createContext)({});ACLCustomContext.displayName="ACLCustomContext";const useACLCustomContext=()=>(0,import_react2.useContext)(ACLCustomContext),useACLRolesCheck=()=>{var e,t,o;const r=(0,import_react2.useContext)(ACLContext),i=useDataSourceKey(),{dataSources:n}=((e=r==null?void 0:r.data)==null?void 0:e.meta)||{},a=x(x({},(t=r==null?void 0:r.data)==null?void 0:t.data),(0,import_lodash.omit)(n==null?void 0:n[i],"snippets")),l=(0,import_react2.useCallback)(c=>{var u;const m=c.split(":").pop();return((u=a==null?void 0:a.actionAlias)==null?void 0:u[m])||m},[a==null?void 0:a.actionAlias]);return{data:a,getActionAlias:l,inResources:(0,import_react2.useCallback)(c=>{var u,m;return(m=(u=a==null?void 0:a.resources)==null?void 0:u.includes)==null?void 0:m.call(u,c)},[a==null?void 0:a.resources]),getResourceActionParams:(0,import_react2.useCallback)(c=>{var u,m;const[d]=c.split(":"),p=l(c);return((u=a==null?void 0:a.actions)==null?void 0:u[`${d}:${p}`])||((m=a==null?void 0:a.actions)==null?void 0:m[c])},[a==null?void 0:a.actions,l]),getStrategyActionParams:(0,import_react2.useCallback)(c=>{var u,m;const d=l(c);return(m=(u=a==null?void 0:a.strategy)==null?void 0:u.actions)!=null&&m.find(p=>{const[g]=p.split(":");return g===d})?{}:null},[(o=a==null?void 0:a.strategy)==null?void 0:o.actions,l])}},getIgnoreScope=(e={})=>{var t;const{schema:o,recordPkValue:r}=e;let i=!1;return e.ignoreScope&&(i=!0),o!=null&&o["x-acl-ignore-scope"]&&(i=!0),(t=o==null?void 0:o["x-acl-action-props"])!=null&&t.skipScopeCheck&&(i=!0),r||(i=!0),i},useAllowedActions=()=>{var e,t,o,r;const i=useResourceActionContext(),n=useDataBlockRequest();return((t=(e=i==null?void 0:i.data)==null?void 0:e.meta)==null?void 0:t.allowedActions)||((r=(o=n==null?void 0:n.data)==null?void 0:o.meta)==null?void 0:r.allowedActions)},useResourceName=()=>{var e;const t=useResourceActionContext(),o=useDataBlockProps();return(o==null?void 0:o.resource)||(o==null?void 0:o.association)||(o==null?void 0:o.collection)||((e=t==null?void 0:t.defaultRequest)==null?void 0:e.resource)};function useACLRoleContext(){const{data:e,getActionAlias:t,inResources:o,getResourceActionParams:r,getStrategyActionParams:i}=useACLRolesCheck(),n=useAllowedActions(),a=useCollectionManager(),l=(0,import_react2.useCallback)((c,u)=>{const m=t(c);return Array.isArray(n==null?void 0:n[m])?n[m].includes(u):null},[n,t]);return P(x({},e),{snippets:(e==null?void 0:e.snippets)||[],parseAction:(0,import_react2.useCallback)((c,u={})=>{var m;const[d,p]=(c==null?void 0:c.split(":"))||[],g=(d==null?void 0:d.includes("."))&&((m=a.getCollectionField(d))==null?void 0:m.target);if(!getIgnoreScope(u)){const h=l(p,u.recordPkValue);if(h!==null)return h?{}:null}return e!=null&&e.allowAll?{}:o(g)?r(`${g}:${p}`):o(d)?r(c):i(c)},[a,e==null?void 0:e.allowAll,r,i,o,l])})}function useUIConfigurationPermissions(){const{allowAll:e,snippets:t}=useACLRoleContext();return{allowConfigUI:e||t.includes("ui.*")}}const ACLCollectionProvider=e=>{var t,o;const{allowAll:r,parseAction:i}=useACLRoleContext(),{allowAll:n}=useACLCustomContext(),a=useApp(),l=(0,import_react.useFieldSchema)();let c=(l==null?void 0:l["x-acl-action"])||e.actionPath;const u=((t=l==null?void 0:l["x-decorator-props"])==null?void 0:t.association)||((o=l==null?void 0:l["x-decorator-props"])==null?void 0:o.collection);c==="undefined:list"&&u&&u!=="undefined"&&(c=`${u}:list`);const m=(0,import_react2.useMemo)(()=>c?i(c,{schema:l}):null,[i,c,l]);if(r||a.disableAcl||n)return e.children;if(!c)return(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:{},children:e.children});if(!m)return(0,import_jsx_runtime.jsx)(CollectionNotAllowViewPlaceholder,{});const[d,p]=c.split(":");return m.actionName=p,(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:m,children:e.children})},useACLActionParamsContext=()=>(0,import_react2.useContext)(ACLActionParamsContext),useRecordPkValue=()=>{const e=useCollection(),t=useCollectionRecordData();if(!e)return;const o=e.getPrimaryKey();return t==null?void 0:t[o]},ACLActionProvider=e=>{const t=useCollection(),o=useRecordPkValue(),r=useResourceName(),{parseAction:i,uiButtonSchemasBlacklist:n}=useACLRoleContext(),a=(0,import_react.useFieldSchema)(),l=a["x-uid"];let c=a["x-acl-action"];const u=["create","update","destroy","importXlsx","export"],m=["create","update","destroy","importXlsx","bulkDestroy","bulkUpdate"];!c&&r&&a["x-action"]&&u.includes(a["x-action"])&&(c=`${r}:${a["x-action"]}`),c&&!(c!=null&&c.includes(":"))&&(c=`${r}:${c}`);const d=(0,import_react2.useMemo)(()=>c&&i(c,{schema:a,recordPkValue:o}),[i,c,a,o]);return n!=null&&n.includes(l)?(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:!1,children:e.children}):c?r?d?m.includes(c)||m.includes(c==null?void 0:c.split(":")[1])?t&&t.template!=="view"||t!=null&&t.writableView?(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:!1,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(ACLActionParamsContext.Provider,{value:d,children:e.children}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},useACLFieldWhitelist=()=>{const e=(0,import_react2.useContext)(ACLActionParamsContext),t=(0,import_react2.useMemo)(()=>[].concat((e==null?void 0:e.whitelist)||[]).concat((e==null?void 0:e.fields)||[]).concat((e==null?void 0:e.appends)||[]),[e==null?void 0:e.whitelist,e==null?void 0:e.fields,e==null?void 0:e.appends]);return{whitelist:t,schemaInWhitelist:(0,import_react2.useCallback)((o,r)=>{if(r||t.length===0||!o||!o["x-collection-field"])return!0;const[i,n]=o["x-collection-field"].split("."),[a]=o.name.split(".");return t==null?void 0:t.includes(a||n||i)},[t])}},ACLCollectionFieldProvider=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{allowAll:r}=useACLRoleContext(),{whitelist:i}=useACLFieldWhitelist(),[n]=t.name.split("."),a=!t["x-acl-ignore"]&&i.length>0&&t!=null&&t["x-collection-field"]?i.includes(n):!0;return(0,import_react2.useEffect)(()=>{a||(o.required=!1,o.display="hidden")},[a,o]),r?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):t["x-collection-field"]?a?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):null:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},ACLMenuItemProvider=e=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}),useAdminSchemaUid=()=>"nocobase-admin-menu",useViewportMeta=()=>{const e=(0,import_react2.useRef)("initial-scale=0.1"),t=(0,import_react2.useRef)();return(0,import_react2.useEffect)(()=>{let o=document.querySelector('meta[name="viewport"]');o?e.current=o.content:(o=document.createElement("meta"),o.name="viewport"),o&&(o.content="width=device-width, initial-scale=1, user-scalable=0",t.current=o)},[]),{metaRef:t,restore:()=>{t.current&&(t.current.content=e.current)}}};function useViewport(){const{metaRef:e,restore:t}=useViewportMeta();(0,import_react2.useEffect)(()=>{if(e.current)return document.head.insertBefore(e.current,document.head.firstChild),()=>{t()}},[])}const MenuItemsContext=(0,import_react2.createContext)(null);MenuItemsContext.displayName="MenuItemsContext";const toItems=(e={})=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const r=e[o],i={title:r.title,uid:r["x-uid"]};r.properties&&(i.children=toItems(r.properties)),t.push(i)}return t},useMenuItems=()=>(0,import_react2.useContext)(MenuItemsContext),MenuItemsProvider=e=>{var t,o;const r={url:`uiSchemas:getProperties/${useAdminSchemaUid()}`},i=useRequest(r);if(i.loading)return(0,import_jsx_runtime.jsx)(import_antd.Spin,{});const n=toItems((o=(t=i.data)==null?void 0:t.data)==null?void 0:o.properties);return(0,import_jsx_runtime.jsx)(MenuItemsContext.Provider,{value:{service:i,items:n},children:e.children})},findUids=e=>{if(!Array.isArray(e))return[];const t=[];for(const o of e)t.push(o.uid),t.push(...findUids(o.children));return t},getParentUids=(e,t,o=[])=>{if(!e)return[];for(const r of e){if(o.push(r.uid),t(r))return o;if(r.children){const i=getParentUids(r.children,t,o);if(i.length)return i}o.pop()}return[]},getChildrenUids=(e=[],t=[])=>{for(const o of e)t.push(o.uid),o.children&&o.children.length&&getChildrenUids(o.children,t);return t},MenuConfigure=()=>{const e=useRecord(),t=useAPIClient(),{items:o}=useMenuItems(),{t:r}=(0,import_react_i18next.useTranslation)(),i=findUids(o),[n,a]=(0,import_react2.useState)([]),{loading:l,refresh:c}=useRequest({resource:"roles.menuUiSchemas",resourceOf:e.name,action:"list",params:{paginate:!1}},{onSuccess(g){var h;a(((h=g==null?void 0:g.data)==null?void 0:h.map(_=>_["x-uid"]))||[])}}),u=t.resource("roles.menuUiSchemas",e.name),m=i.length===n.length,d=(g,h)=>V(void 0,null,function*(){const _=getParentUids(o,v=>v.uid===h.uid),f=getChildrenUids(h==null?void 0:h.children,[]);if(g){const v=f.concat(h.uid),b=n.filter(S=>!v.includes(S));a([...b]),yield u.remove({values:v})}else{const v=f.concat(_);a(b=>(0,import_lodash.uniq)([...b,...v])),yield u.add({values:v})}import_antd.message.success(r("Saved successfully"))}),p=g=>g.map(h=>{const _=r(h.title);return h.children?P(x({},h),{title:_,children:p(h.children)}):P(x({},h),{title:_})});return(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,loading:l,rowKey:"uid",pagination:!1,expandable:{defaultExpandAllRows:!0},columns:[{dataIndex:"title",title:r("Menu item title")},{dataIndex:"accessible",title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:m,onChange:g=>V(void 0,null,function*(){m?yield u.set({values:[]}):yield u.set({values:i}),c(),import_antd.message.success(r("Saved successfully"))})})," ",r("Accessible")]}),render:(g,h)=>{const _=n.includes(h.uid);return(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:_,onChange:()=>d(_,h)})}}],dataSource:p(o)})},SettingCenterPermissionProvider=e=>{var t;const{currentRecord:o}=(0,import_react2.useContext)(PermissionContext);return(t=o==null?void 0:o.snippets)!=null&&t.includes("pm.*")?(0,import_jsx_runtime.jsx)("div",{children:e.children}):null},PermissionContext=(0,import_react2.createContext)(null);PermissionContext.displayName="PermissionContext";const PermissionProvider=e=>{const t=useAPIClient(),o=useRecord(),{t:r}=(0,import_react_i18next.useTranslation)(),{snippets:i}=o;i==null||i.forEach(l=>{o[l]=!0});const[n,a]=(0,import_react2.useState)(o);return(0,import_jsx_runtime.jsx)(PermissionContext.Provider,{value:{currentRecord:n,update:(l,c)=>V(void 0,null,function*(){const{path:u,value:m}=l.getState();if(["ui.*","pm","pm.*"].includes(u)){const d=t.resource("roles.snippets",o.name);m?yield d.add({values:[u]}):yield d.remove({values:[u]}),a(P(x(x({},n),c.values),{[u]:m}))}else yield t.resource("roles").update({filterByTk:o.name,values:c.values}),a(x(x({},n),c.values));import_antd.message.success(r("Saved successfully"))})},children:e.children})},SnippetCheckboxGroup=(0,import_react.connect)(e=>{const{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Checkbox.Group,{style:{width:"100%",display:"block"},value:e.value,onChange:o=>{const r=["ui.*","pm","pm.*","app"],i=r.map(a=>`!${a}`),n=(0,import_uniq.default)([...e.value||[],...o]).filter(a=>a&&!i.includes(a)).map(a=>!r.includes(a)||o!=null&&o.includes(a)?a:`!${a}`);for(const a of r)!n.includes(a)&&!n.includes(`!${a}`)&&n.push(`!${a}`);e.onChange(n)},children:[(0,import_jsx_runtime.jsx)("div",{style:{marginTop:16},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"ui.*",children:t("Allows to configure interface")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"pm",children:t("Allows to install, activate, disable plugins")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"pm.*",children:t("Allows to configure plugins")})}),(0,import_jsx_runtime.jsx)("div",{style:{marginTop:8},children:(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{value:"app",children:t("Allows to clear cache, reboot application")})})]})}),RoleConfigure=()=>{const{update:e,currentRecord:t}=(0,import_react2.useContext)(PermissionContext),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{SnippetCheckboxGroup},schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:r=>{const i=useAPIClient();return useRequest(()=>i.resource("roles").get({filterByTk:t.name}).then(n=>{var a,l;const c=(a=n==null?void 0:n.data)==null?void 0:a.data;return(l=c.snippets)==null||l.forEach(u=>{c[u]=!0}),{data:c}}),r)},effects(){(0,import_core.onFieldChange)("*",(r,i)=>V(this,null,function*(){i.modified&&(yield e(r,i))}))}},properties:{snippets:{title:o("Configure permissions"),type:"boolean","x-decorator":"FormItem","x-component":"SnippetCheckboxGroup"},allowNewMenu:{title:o("Menu permissions"),"x-decorator":"FormItem","x-component":"Checkbox","x-content":o("New menu items are allowed to be accessed by default.")}}}})},collection={name:"roles",filterTargetKey:"name",targetKey:"name",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Role display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Role UID")}}',type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{title:'{{t("Default role")}}',type:"boolean","x-component":"Checkbox"}}]},roleSchema={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection,resourceName:"roles",request:{resource:"roles",action:"list",params:{pageSize:50,filter:{"name.$ne":"root"},showAnonymous:!0,sort:["createdAt"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete role')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add role")}}',"x-component":"Action","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues(e){const t=useActionContext();return useRequest(()=>Promise.resolve({data:{name:`r_${(0,import_shared.uid)()}`,snippets:["!ui.*","!pm","!pm.*"]}}),P(x({},e),{refreshDeps:[t.visible]}))}},title:'{{t("Add role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem",description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},default:{"x-component":"CollectionField","x-decorator":"FormItem",title:"","x-content":'{{t("Default role")}}'},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{default:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:{tab1:{type:"void",title:'{{t("General permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{role:{"x-component":"RoleConfigure"}}},tab3:{type:"void",title:'{{t("Menu permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{menu:{"x-decorator":"MenuItemsProvider","x-component":"MenuConfigure"}}},tab4:{type:"void",title:'{{t("Plugin settings permissions")}}',"x-decorator":"SettingCenterPermissionProvider","x-component":"Tabs.TabPane","x-component-props":{},properties:{menu:{"x-decorator":"SettingCenterProvider","x-component":"SettingsCenterConfigure"}}}}}}}}},update:{type:"void",title:'{{t("Edit")}}',"x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:e=>{const t=useRecord(),o=useRequest(()=>Promise.resolve({data:(0,import_pick.default)(t,["title","name","default"])}),P(x({},e),{manual:!0})),r=useActionContext();return(0,import_react2.useEffect)(()=>{r.visible&&o.run()},[r.visible]),o}},title:'{{t("Edit role")}}',properties:{title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":!0},default:{title:"","x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default role")}}'},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-acl-action":"roles:destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete role')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{cm.useDestroyAction}}"}}}}}}}}}}}},AvailableActionsContext=(0,import_react2.createContext)([]);AvailableActionsContext.displayName="AvailableActionsContext";const AvailableActionsProver=e=>{const{data:t,loading:o}=useRequest({resource:"availableActions",action:"list"});return o?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(AvailableActionsContext.Provider,{value:t==null?void 0:t.data,children:e.children})},useAvailableActions=()=>(0,import_react2.useContext)(AvailableActionsContext),RoleTable=()=>(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:{designable:!1},children:(0,import_jsx_runtime.jsx)(AvailableActionsProver,{children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:roleSchema,components:{MenuItemsProvider,SettingCenterPermissionProvider,PermissionProvider}})})})}),rolesResourcesScopesCollection={name:"rolesResourcesScopes",fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]},useFormBlockProps=()=>{const{name:e}=(0,import_react2.useContext)(RoleResourceCollectionContext),t=useFormBlockContext();return(0,import_react2.useEffect)(()=>{t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},scopesSchema={type:"object",properties:{scope:{"x-component":"RecordPicker","x-component-props":{size:"small",fieldNames:{label:"name",value:"id"},multiple:!1,association:{target:"rolesResourcesScopes"},onChange:"{{ onChange }}"},properties:{selector:{type:"void",title:'{{ t("Select record") }}',"x-component":"RecordPicker.Selector","x-component-props":{className:"nb-record-picker-selector"},properties:{tableBlock:{type:"void","x-decorator":"TableSelectorProvider","x-decorator-props":{collection:rolesResourcesScopesCollection,resource:"rolesResourcesScopes",action:"list",params:{pageSize:20},useParams(){return{filter:{$or:[{resourceName:(0,import_react2.useContext)(RoleResourceCollectionContext).name},{resourceName:null}]}}},rowKey:"id"},"x-component":"BlockItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{ t("Add new") }}',"x-action":"create","x-component":"Action","x-component-props":{icon:"PlusOutlined",openMode:"drawer",type:"primary"},properties:{drawer:{type:"void",title:'{{ t("Add record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"rolesResourcesScopes",collection:rolesResourcesScopesCollection},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":useFormBlockProps,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const e=(0,import_react2.useContext)(RoleResourceCollectionContext);return{options:useFilterOptions(e.name)}},"x-component-props":{dynamicComponent:VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"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-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{openMode:"drawer",icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"rolesResourcesScopes",collection:rolesResourcesScopesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":"Filter","x-use-component-props":()=>{const e=(0,import_react2.useContext)(RoleResourceCollectionContext);return{options:useFilterOptions(e.name)}},"x-component-props":{dynamicComponent:VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-use-component-props":"useDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},RolesResourcesScopesSelectedRowKeysContext=(0,import_react2.createContext)(null);RolesResourcesScopesSelectedRowKeysContext.displayName="RolesResourcesScopesSelectedRowKeysContext";const RolesResourcesScopesSelectedRowKeysProvider=e=>{const[t,o]=(0,import_react2.useState)([]);return(0,import_jsx_runtime.jsx)(RolesResourcesScopesSelectedRowKeysContext.Provider,{value:[t,o],children:e.children})},useRolesResourcesScopesSelectedRowKeys=()=>(0,import_react2.useContext)(RolesResourcesScopesSelectedRowKeysContext),ScopeSelect=e=>{const t=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({values:{scope:e.value}}),[]);return(0,import_jsx_runtime.jsx)(FormProvider,{form:t,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider},scope:{onChange(o){var r;(r=e==null?void 0:e.onChange)==null||r.call(e,o)}},schema:scopesSchema})})},toActionMap=e=>{var t;const o={};return(t=e==null?void 0:e.forEach)==null||t.call(e,r=>{r.name&&(o[r.name]=r,o[r.name].scope=(0,import_lodash.isEmpty)(r.scope)?null:r.scope)}),o},RoleResourceCollectionContext=(0,import_react2.createContext)({});RoleResourceCollectionContext.displayName="RoleResourceCollectionContext";const RolesResourcesActions=(0,import_react.connect)(e=>{var t,o,r,i;const n=F=>{const j=F.map(k=>P(x({},k),{scope:(0,import_lodash.isEmpty)(k.scope)?null:k.scope}));e.onChange(j)};(0,import_react.useForm)();const a=useRecord(),l=useAvailableActions(),{getCollection:c,getCollectionFields:u}=useCollectionManager_deprecated(),m=c(a.collectionName),d=u(a.collectionName),p=useCompile(),{t:g}=(0,import_react_i18next.useTranslation)(),h=(0,import_react.useField)(),_=toActionMap(h.value||[]),f=(F,j)=>{var k;const R=_==null?void 0:_[F];return R?(k=R==null?void 0:R.fields)==null?void 0:k.includes(j):!1},v=l.filter(F=>F.allowConfigureFields),b=(t=d==null?void 0:d.filter(F=>F.interface))==null?void 0:t.map(F=>{const j=x({},F);for(const k of v)j[k.name]=f(k.name,F.name);return j}),S=F=>{var j,k;_[F]?delete _[F]:_[F]={name:F,fields:(k=(j=d==null?void 0:d.filter(R=>R.interface))==null?void 0:j.map)==null?void 0:k.call(j,R=>R.name)},n(Object.values(_))},C=(F,j)=>{_[F]?(_[F].scope=j,n(Object.values(_))):(S(F),_[F].scope=j)},y={};for(const F of v)y[F.name]=((o=d==null?void 0:d.filter(j=>j.interface))==null?void 0:o.length)===((i=(r=_==null?void 0:_[F.name])==null?void 0:r.fields)==null?void 0:i.length);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(RoleResourceCollectionContext.Provider,{value:m,children:(0,import_jsx_runtime.jsxs)(import_antd_v5.FormLayout,{layout:"vertical",children:[(0,import_jsx_runtime.jsx)(import_antd_v5.FormItem,{label:g("Action permission"),children:(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:g("Action display name"),render:F=>p(F)},{dataIndex:"onNewRecord",title:g("Action type"),render:F=>F?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"green",children:g("Action on new records")}):(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"geekblue",children:g("Action on existing records")})},{dataIndex:"enabled",title:g("Allow"),render:(F,j)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:F,onChange:()=>{S(j.name)}})},{dataIndex:"scope",title:g("Data scope"),render:(F,j)=>!j.onNewRecord&&(0,import_jsx_runtime.jsx)(ScopeSelect,{value:F,onChange:k=>{C(j.name,k)}})}],dataSource:l==null?void 0:l.map(F=>{let j=!1,k=null;return _[F.name]&&(j=!0,F.onNewRecord||(k=_[F.name].scope)),P(x({},F),{enabled:j,scope:k})})})}),(0,import_jsx_runtime.jsx)(import_antd_v5.FormItem,{label:g("Field permission"),children:(0,import_jsx_runtime.jsx)(import_antd.Table,{className:antTableCell,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:g("Field display name"),render:F=>p(F)},...v.map(F=>{const j=y==null?void 0:y[F.name];return{dataIndex:F.name,title:(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:j,onChange:()=>{var k;const R=_[F.name]||{name:F.name};j?R.fields=[]:R.fields=(k=d==null?void 0:d.map)==null?void 0:k.call(d,N=>N.name),_[F.name]=R,n(Object.values(_))}})," ",p(F.displayName)]}),render:(k,R)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:k,"aria-label":`${F.name}_checkbox`,onChange:()=>{const N=_[F.name]||{name:F.name},w=N.fields||[];if(k){const O=w.indexOf(R.name);w.splice(O,1)}else w.push(R.name);N.fields=w,_[F.name]=N,n(Object.values(_))}})}})]})})]})})})}),toScopes=e=>{var t;if(!e)return{};const o={};return(t=e==null?void 0:e.forEach)==null||t.call(e,r=>{const[i,n]=r.split(":");o[i]=n||"all"}),o},toFieldValue=e=>{const t=[];for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const r=e[o];r==="all"?t.push(o):t.push(`${o}:${r}`)}return t},StrategyActions=(0,import_react.connect)(e=>{const{onChange:t}=e,o=useAvailableActions(),r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=toScopes(n.value);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Table,{size:"small",pagination:!1,rowKey:"name",columns:[{dataIndex:"displayName",title:i("Action display name"),render:l=>r(l)},{dataIndex:"onNewRecord",title:i("Action type"),render:l=>l?(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"green",children:i("Action on new records")}):(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:"geekblue",children:i("Action on existing records")})},{dataIndex:"enabled",title:i("Allow"),render:(l,c)=>(0,import_jsx_runtime.jsx)(import_antd.Checkbox,{checked:l,"aria-label":`${c.name}_checkbox`,onChange:u=>{l?delete a[c.name]:a[c.name]="all",t(toFieldValue(a))}})},{dataIndex:"scope",title:i("Data scope"),render:(l,c)=>!c.onNewRecord&&(0,import_jsx_runtime.jsx)(import_antd.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:l,options:[{label:i("All records"),value:"all"},{label:i("Own records"),value:"own"}],onChange:u=>{a[c.name]=u,t(toFieldValue(a))}})}],dataSource:o==null?void 0:o.map(l=>{let c="all",u=!1;return a[l.name]&&(u=!0,c=a[l.name]),P(x({},l),{enabled:u,scope:c})})})})}),PluginManagerLink=()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),t=useNavigateNoUpdate(),{token:o}=useToken();return(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:e("Plugin manager"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"plugin-manager-button",icon:(0,import_jsx_runtime.jsx)(import_icons.ApiOutlined,{style:{color:o.colorTextHeaderMenu}}),title:e("Plugin manager"),onClick:()=>{t("/admin/pm/list")}})})},SettingsCenterDropdown=()=>{const e=useCompile(),{t}=(0,import_react_i18next.useTranslation)(),{token:o}=useToken(),r=useApp(),i=(0,import_react2.useMemo)(()=>r.pluginSettingsManager.getList().filter(n=>n.isTopLevel!==!1).map(n=>({key:n.name,icon:n.icon,label:n.link?(0,import_jsx_runtime.jsx)("div",{onClick:()=>window.open(n.link),children:e(n.title)}):(0,import_jsx_runtime.jsx)(import_react_router_dom.Link,{to:n.path,children:e(n.title)})})),[r,t]);return(0,import_react2.useEffect)(()=>()=>{r.pluginSettingsManager.clearCache()},[r.pluginSettingsManager]),(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:{style:{maxHeight:"70vh",overflow:"auto"},items:i},children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"plugin-settings-button",icon:(0,import_jsx_runtime.jsx)(import_icons.SettingOutlined,{style:{color:o.colorTextHeaderMenu}})})})},useStyles$1=(0,import_antd_style.createStyles)(({token:e})=>({cardActionDisabled:{color:e.colorTextDisabled,cursor:"not-allowed"},pageHeader:{backgroundColor:e.colorBgContainer,paddingTop:e.paddingSM,paddingBottom:0,paddingInline:e.paddingLG,".ant-page-header-footer":{marginBlockStart:"0"},"& .ant-tabs-nav":{marginBottom:0},".ant-page-header-heading-title":{color:e.colorText}},pageContent:{margin:e.marginLG},PluginDetailBaseInfo:{display:"flex",flexDirection:"column",marginBottom:e.margin},PluginDocument:{background:e.colorBgContainer,padding:e.paddingLG,height:"60vh",overflowY:"auto"},avatar:{".ant-card-meta-avatar":{marginTop:"8px",".ant-avatar":{borderRadius:"2px"}}},version:{display:"block",color:e.colorTextDescription,fontWeight:"normal",fontSize:e.fontSize}}));import_dayjs.default.extend(import_relativeTime.default);const PluginDetail=({plugin:e,onCancel:t})=>{var o,r,i,n,a,l,c,u;const{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>[{title:m("Name"),dataIndex:"name",key:"name"},{title:m("Version range"),dataIndex:"versionRange",key:"versionRange"},{title:m("Plugin's version"),dataIndex:"packageVersion",key:"packageVersion"},{title:m("Result"),dataIndex:"result",key:"result",render:S=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:S?"success":"error",children:S?"Yes":"No"})}],[m]),{data:p,loading:g}=useRequest({url:"pm:get",params:{filterByTk:e.name}},{refreshDeps:[e.name],ready:!!e.name}),h=(0,import_react2.useMemo)(()=>{var S,C,y;if(!((C=(S=p==null?void 0:p.data)==null?void 0:S.packageJson)!=null&&C.repository))return null;const F=(y=p==null?void 0:p.data)==null?void 0:y.packageJson.repository;return(typeof F=="string"?F:F.url).replace(/\.git$/,"").replace(/^git\+/,"")},[p]),_=(0,import_react2.useMemo)(()=>{var S;const C=(S=p==null?void 0:p.data)==null?void 0:S.packageJson.author;return C?typeof C=="string"?C:C.name:null},[p]),{styles:f,theme:v}=useStyles$1(),b=[{key:"readme",label:m("Readme"),children:(0,import_jsx_runtime.jsxs)(import_antd.Row,{gutter:20,children:[e.name&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Name")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.name})]})}),e.displayName&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("DisplayName")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.displayName})]})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("PackageName")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.packageName})]})}),h&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Repository")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:h})]})}),((o=p==null?void 0:p.data)==null?void 0:o.homepage)&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Homepage")}),(0,import_jsx_runtime.jsx)("a",{href:(r=p==null?void 0:p.data)==null?void 0:r.homepage,target:"_blank",rel:"noreferrer",children:(i=p==null?void 0:p.data)==null?void 0:i.homepage})]})}),e.description&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Description")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e.description})]})}),((n=p==null?void 0:p.data)==null?void 0:n.packageJson.license)&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("License")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:(a=p==null?void 0:p.data)==null?void 0:a.packageJson.license})]})}),_&&(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Author")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:_})]})}),(0,import_jsx_runtime.jsx)(import_antd.Col,{span:24,children:(0,import_jsx_runtime.jsxs)("div",{className:f.PluginDetailBaseInfo,children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"secondary",children:m("Version")}),(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{strong:!0,children:e==null?void 0:e.version})]})})]})},{key:"dependencies",label:m("Dependencies compatibility check"),children:(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:((l=p==null?void 0:p.data)==null?void 0:l.depsCompatible)===!1?(0,import_jsx_runtime.jsx)(import_antd.Typography.Text,{type:"danger",children:m("`dist/externalVersion.js` not found or failed to `require`. Please rebuild this plugin.")}):(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((c=p==null?void 0:p.data)!=null&&c.isCompatible)&&(0,import_jsx_runtime.jsx)(import_antd.Alert,{showIcon:!0,type:"error",message:m("Plugin dependencies check failed, you should change the dependent version to meet the version requirements.")}),(0,import_jsx_runtime.jsx)(import_antd.Table,{style:{marginTop:v.margin},rowKey:"name",pagination:!1,columns:d,dataSource:(u=p==null?void 0:p.data)==null?void 0:u.depsCompatible})]})})}];return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:!!e,footer:!1,destroyOnClose:!0,width:600,onCancel:t,children:g?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):e&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_antd.Typography.Title,{level:3,children:e.packageName}),(0,import_jsx_runtime.jsx)(import_antd.Space,{split:(0,import_jsx_runtime.jsx)("span",{children:" • "}),children:(0,import_jsx_runtime.jsx)("span",{children:e.version})}),(0,import_jsx_runtime.jsx)(import_antd.Tabs,{style:{minHeight:"50vh"},items:b,defaultActiveKey:e.isCompatible?void 0:"dependencies"})]})})},PluginNpmForm=({onClose:e,isUpgrade:t,pluginData:o})=>{import_antd.App.useApp();const r=[],i=()=>{const c=useAPIClient();(0,import_react_i18next.useTranslation)();const u=(0,import_react.useForm)();return{run(){return V(this,null,function*(){yield u.submit(),c.request({url:t?"pm:update":"pm:add",method:"post",data:x({},u.values)}),e(!0)})}}},n=c=>useRequest(()=>Promise.resolve({data:t?(0,import_lodash.pick)(o,["name","packageName","version"]):{}}),c),a=()=>({run(){e()}}),l=(0,import_react2.useMemo)(()=>{const c=(0,import_shared.uid)(),u={type:"object",properties:{[c]:{"x-decorator":"Form","x-component":"div",type:"void","x-decorator-props":{useValues:"{{ useValuesFromProps }}"},properties:{packageName:{type:"string",title:"{{t('Npm package name')}}","x-decorator":"FormItem","x-component":"Input",required:!0,"x-component-props":{disabled:!0}},registry:{type:"string",title:"{{t('Registry url')}}",default:"https://registry.npmjs.org/","x-decorator":"FormItem","x-component":"Input","x-decorator-props":{tooltip:"Example: https://registry.npmjs.org/"}},authToken:{type:"string",title:"{{t('Npm authToken')}}","x-decorator":"FormItem","x-component":"Input"},version:{type:"string",title:"{{t('Version')}}","x-decorator":"FormItem","x-component":"Input"},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}};return u.properties[c].properties.packageName["x-component-props"].disabled=t,t||delete u.properties[c].properties.version,u},[t]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:a,useSaveValues:i,versionList:r,useValuesFromProps:n},schema:l})};PluginNpmForm.displayName="PluginNpmForm";const PluginUploadForm=({onClose:e,pluginData:t,isUpgrade:o})=>{const{message:r}=import_antd.App.useApp(),i=()=>{const l=useAPIClient(),{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react.useForm)();return{run(){return V(this,null,function*(){var m,d;yield u.submit();const p=new FormData;p.append("file",(d=(m=u.values.uploadFile)==null?void 0:m[0])==null?void 0:d.originFileObj),t!=null&&t.packageName&&p.append("packageName",t.packageName),yield l.request({url:`pm:${o?"update":"add"}`,method:"post",data:p}),import_antd.Modal.info({icon:null,width:520,content:(0,import_jsx_runtime.jsx)(import_antd.Result,{icon:(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}),title:c("Plugin uploading"),subTitle:c("Plugin is uploading, please wait...")}),footer:null}),e(!0);function g(){l.silent().request({url:"__health_check",method:"get"}).then(h=>{(h==null?void 0:h.data)==="ok"&&window.location.reload()}).catch(h=>{})}setInterval(g,1e3)})}}},n=()=>({run(){e()}}),a=(0,import_react2.useMemo)(()=>({type:"object",properties:{[(0,import_shared.uid)()]:{"x-decorator":"Form","x-component":"div",type:"void",properties:{uploadFile:{type:"string","x-decorator":"FormItem","x-component":"Upload.Dragger",required:!0,"x-component-props":{action:"",multiple:!1,maxCount:1,height:"150px",tipContent:"{{t('Drag and drop the file here or click to upload, file size should not exceed 30M')}}",beforeUpload:l=>(/\.(zip|rar|tar|gz|bz2|tgz)$/.test(l.name)||r.error("File only support zip, rar, tar, gz, bz2!"),l.size/1024/1024<30||r.error("File must smaller than 30MB!"),!1)}},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}}),[r]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:n,useSaveValues:i},schema:a})},PluginUrlForm=({onClose:e,pluginData:t,isUpgrade:o})=>{import_antd.App.useApp();const r=()=>{const l=useAPIClient();(0,import_react_i18next.useTranslation)();const c=(0,import_react.useForm)();return{run(){return V(this,null,function*(){const u=c.values.compressedFileUrl;if(!u)return;yield c.submit();const m={compressedFileUrl:u};t!=null&&t.packageName&&(m.packageName=t.packageName),l.request({url:`pm:${o?"update":"add"}`,method:"post",data:m}),e(!0)})}}},i=l=>useRequest(()=>Promise.resolve({data:{compressedFileUrl:t.compressedFileUrl}}),l),n=()=>({run(){e()}}),a=(0,import_react2.useMemo)(()=>({type:"object",properties:{[(0,import_shared.uid)()]:{"x-decorator":"Form","x-component":"div",type:"void","x-decorator-props":{useValues:"{{ useValuesFromProps }}"},properties:{compressedFileUrl:{type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},footer:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{justifyContent:"right"}},properties:{cancel:{title:"Cancel","x-component":"Action","x-component-props":{useAction:"{{ useCancel }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",htmlType:"submit",useAction:"{{ useSaveValues }}"}}}}}}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponent,{scope:{useCancel:n,useValuesFromProps:i,useSaveValues:r},schema:a})},PluginUpgradeModal=({onClose:e,isShow:t,pluginData:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),{theme:i}=useStyles$1(),[n,a]=(0,import_react2.useState)("npm");return(0,import_jsx_runtime.jsxs)(import_antd.Modal,{onCancel:()=>e(),footer:null,destroyOnClose:!0,title:r("Update plugin"),width:580,open:t,children:[(0,import_jsx_runtime.jsx)("div",{style:{marginTop:i.marginLG,marginBottom:i.marginLG},children:(0,import_jsx_runtime.jsxs)(import_antd.Radio.Group,{optionType:"button",defaultValue:n,onChange:l=>a(l.target.value),children:[(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"npm",children:r("Npm package")}),(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"upload",children:r("Upload plugin")}),(0,import_jsx_runtime.jsx)(import_antd.Radio,{value:"url",children:r("Compressed file url")})]})}),n==="npm"&&(0,import_jsx_runtime.jsx)(PluginNpmForm,{isUpgrade:!0,onClose:e,pluginData:o}),n==="upload"&&(0,import_jsx_runtime.jsx)(PluginUploadForm,{isUpgrade:!0,onClose:e,pluginData:o}),n==="url"&&(0,import_jsx_runtime.jsx)(PluginUrlForm,{isUpgrade:!0,onClose:e,pluginData:o})]})};function PluginInfo(e){const{data:t,onClick:o}=e,r=useApp(),{name:i,displayName:n,isCompatible:a,packageName:l,updatable:c,builtIn:u,enabled:m,removable:d,description:p,error:g,homepage:h}=t,{styles:_,theme:f}=useStyles$1(),v=(0,import_react_router_dom.useNavigate)(),{t:b}=(0,import_react_i18next.useTranslation)(),S=useAPIClient(),{modal:C}=import_antd.App.useApp(),[y,F]=(0,import_react2.useState)(!1),j=n||i||l;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[y&&(0,import_jsx_runtime.jsx)(PluginUpgradeModal,{isShow:y,pluginData:t,onClose:k=>{F(!1)}}),(0,import_jsx_runtime.jsx)(import_antd.Card,{role:"button","aria-label":j,size:"small",bordered:!1,onClick:()=>{!g&&o()},headStyle:{border:"none",minHeight:"inherit",paddingTop:14},bodyStyle:{paddingTop:10},title:(0,import_jsx_runtime.jsx)("div",{children:j}),hoverable:!0,className:import_css.css`
1467
1467
  .ant-card-actions {
1468
1468
  li .ant-space {
1469
1469
  gap: 2px !important;
@@ -1623,7 +1623,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1623
1623
  }
1624
1624
  }
1625
1625
  }
1626
- `),children:[(0,import_jsx_runtime.jsx)(o,{}),e.children,n()]})})};AssociationFilter.Provider=TableBlockProvider;AssociationFilter.Item=AssociationFilterItem;AssociationFilter.Item.Designer=AssociationFilterItemDesigner;AssociationFilter.BlockDesigner=AssociationFilterBlockDesigner;AssociationFilter.useAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),t=useCollection();return import_react2.default.useMemo(()=>t.getField(e.name),[e.name])};class AssociationFilterPlugin extends Plugin{load(){return V(this,null,function*(){this.app.schemaInitializerManager.add(associationFilterFilterBlockInitializer),this.app.schemaInitializerManager.add(filterCollapseItemInitializer_deprecated),this.app.schemaInitializerManager.add(filterCollapseItemInitializer),this.app.schemaInitializerManager.add(associationFilterInitializer)})}}const AssociationFilterDesignerDelete=()=>{const e=useSchemaInitializerItem(),{refresh:t}=(0,import_react2.useContext)(SchemaComponentContext),o=(0,import_react.useFieldSchema)(),r=useAPIClient(),{t:i}=(0,import_react_i18next.useTranslation)(),n=createDesignable({t:i,api:r,refresh:t,current:o});return n.loadAPIClientEvents(),(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{onClick:()=>{n.remove(o)},children:(0,import_jsx_runtime.jsx)("div",{children:e.title})})},AssociationFilterDesignerDisplayField=()=>{const e=useSchemaInitializerItem(),{schema:t}=e,{exists:o,remove:r}=useCurrentSchema(t.name,"name",e.find,e.remove),{insert:i}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerSwitch,{checked:o,title:e.title,onClick:()=>{var n;if(o)return r();const a=(0,import_shared.merge)(t||{},e.schema||{});(n=e==null?void 0:e.schemaInitialize)==null||n.call(e,a),i(a)}})},BlockInitializer=e=>{const t=e,{item:o,schema:r}=t,i=Y(t,["item","schema"]),{insert:n}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},i),{onClick:()=>{var a,l;const c=(0,import_shared.merge)(r||{},o.schema||{});(a=o==null?void 0:o.schemaInitialize)==null||a.call(o,c),n(c),(l=e.onClick)==null||l.call(e,c)}}))},BlockItemInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["schema"]);return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{item:e}))},CreateFilterActionInitializer=e=>{const t={title:'{{ t("Filter") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useFilterBlockActionProps","x-designer":"Action.Designer","x-component-props":{type:"primary",htmlType:"submit"}};return(0,import_jsx_runtime.jsx)(ActionInitializer,P(x({},e),{schema:t}))},CreateResetActionInitializer=e=>{const t={title:'{{ t("Reset") }}',"x-component":"Action","x-use-component-props":"useResetBlockActionProps","x-designer":"Action.Designer"};return(0,import_jsx_runtime.jsx)(ActionInitializer,P(x({},e),{schema:t}))},CustomizeActionInitializer=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},e),{item:e}))},MENU_ITEM_HEIGHT=32,STEP=15,SearchCollections=({value:e,onChange:t})=>{const{t:o}=(0,import_react_i18next.useTranslation)(),[r,i]=(0,import_react2.useState)(e),n=import_react2.default.useRef(null);return(0,import_react2.useEffect)(()=>{i(e)},[e]),(0,import_react2.useEffect)(()=>{n.current.input.focus();const a=new IntersectionObserver(l=>{l[0].isIntersecting&&n.current.input.focus()});return a.observe(n.current.input),()=>{a.disconnect()}},[]),(0,import_jsx_runtime.jsxs)("div",{style:{width:210},onClick:a=>a.stopPropagation(),children:[(0,import_jsx_runtime.jsx)(import_antd.Input,{ref:n,allowClear:!0,style:{padding:"0 4px 6px",boxShadow:"none"},bordered:!1,placeholder:o("Search and select collection"),value:r,onClick:a=>{a.stopPropagation()},onChange:a=>{t(a.target.value),i(a.target.value)}}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}})]})},LoadingItem=({loadMore:e,maxHeight:t})=>{const o=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>{const r=o.current;if(!r)return;let i=r.parentElement;for(;i&&i.tagName!=="UL";)i=i.parentElement;const n=function(){i&&Math.abs(i.scrollHeight-i.scrollTop-i.clientHeight)<=MENU_ITEM_HEIGHT&&e()};return i&&(i.style.height=`${t-MENU_ITEM_HEIGHT}px`,i.style.maxHeight="inherit",i.style.overflowY="scroll",i.addEventListener("scroll",n)),()=>{i&&(i.removeEventListener("scroll",n),delete i.style.height)}},[e,t]),(0,import_jsx_runtime.jsx)("div",{ref:o,onClick:r=>r.stopPropagation(),children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small",style:{width:"100%"}})})};function useMenuSearch({data:e,openKeys:t,showType:o,hideSearch:r}){const[i,n]=(0,import_react2.useState)(""),[a,l]=(0,import_react2.useState)(STEP),c=(0,import_react2.useMemo)(()=>e.length>1,[e]),u=(0,import_react2.useMemo)(()=>c?t==null?void 0:t[1]:(t==null?void 0:t.length)>0,[t]);(0,import_react2.useEffect)(()=>{u||n("")},[u]);const m=(0,import_react2.useMemo)(()=>{var _,f;return c?u?((_=e.find(v=>(v.key||v.name)===u))==null?void 0:_.children)||[]:[]:((f=e[0])==null?void 0:f.children)||[]},[e,c,u]),d=(0,import_react2.useMemo)(()=>{if(!i)return m;const _=i.toLocaleLowerCase();return m.filter(f=>(f.label||f.title)&&String(f.label||f.title).toLocaleLowerCase().includes(_))},[i,m]),p=(0,import_react2.useMemo)(()=>d.length>a,[a,d]),g=(0,import_react2.useMemo)(()=>d.slice(0,a),[d,a]),h=(0,import_react2.useMemo)(()=>{const _=[];return r||_.push(Object.assign({key:"search",label:(0,import_jsx_runtime.jsx)(SearchCollections,{value:i,onChange:f=>{l(STEP),n(f)}}),onClick({domEvent:f}){f.stopPropagation()}},o?{isMenuType:!0}:{})),g.length>0?(_.push(...g),p&&_.push(Object.assign({key:"load-more",label:(0,import_jsx_runtime.jsx)(LoadingItem,{maxHeight:STEP*MENU_ITEM_HEIGHT,loadMore:()=>{l(f=>f+STEP)}})},o?{isMenuType:!0}:{}))):_.push(Object.assign({key:"empty",style:{height:150},label:(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}:{})),_},[r,g,i,p,o]);return(0,import_react2.useMemo)(()=>c?e.map(_=>u&&_.key===u?P(x({},_),{children:h}):P(x({},_),{children:[]})):h,[e,c,u,h])}const DataBlockInitializer=e=>{var t,o;const{templateWrap:r,onCreateBlockSchema:i,componentType:n,icon:a=import_icons.TableOutlined,name:l,title:c,filter:u,onlyCurrentDataSource:m,hideSearch:d,showAssociationFields:p,hideChildrenIfSingleCollection:g,filterDataSource:h,items:_,hideOtherRecordsInPopup:f,onClick:v,filterOtherRecordsCollection:b,currentText:S,otherText:C,alwaysRenderMenu:y}=e,{insert:F,setVisible:j}=useSchemaInitializer(),k=useCompile(),{getTemplateSchemaByMode:R}=useSchemaTemplateManager(),N=(0,import_react2.useCallback)(M=>V(void 0,null,function*(){const{item:z,fromOthersInPopup:E}=M;if(v)return v(M);if(z.template){const L=yield R(z);F(r?r(L,{item:z,fromOthersInPopup:E}):L)}else i&&i({item:z,fromOthersInPopup:E});j(!1)}),[R,F,j,i,v,r]),w=_||useCollectionDataSourceItems({name:l,componentName:n,filter:u,filterDataSource:h,filterOtherRecordsCollection:b,onlyCurrentDataSource:m,showAssociationFields:p,dataBlockInitializerProps:e,hideOtherRecordsInPopup:f,onClick:N,currentText:S,otherText:C}),O=useGetSchemaInitializerMenuItems(N),D=(0,import_react2.useMemo)(()=>O(w,l),[O,w,l]),[T,$]=(0,import_react2.useState)([]),B=useMenuSearch({data:D,openKeys:T,hideSearch:d}),I=(0,import_react2.useMemo)(()=>{let M=B.filter(z=>z.key!=="search"&&z.key!=="empty");return g&&M.length===1?M=M[0].children:M=B,[{key:l,label:k(c),icon:typeof a=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:a}):a,onClick:z=>{z.key===l&&N(P(x({},z),{item:e}))},children:M}]},[B,g,l,k,c,a,N,e]);return D.length>1||D.length===1&&((o=(t=D[0])==null?void 0:t.children)==null?void 0:o.length)>0||y?(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:M=>{$(M)},items:I}):(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},e),{onClick:N}))},G2PlotInitializer=()=>{const e=useSchemaInitializerItem(),{insert:t}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},e),{onClick:()=>{t(x({},e.schema))}}))},createTableBlockUISchema=e=>{const{collectionName:t,dataSource:o,association:r}=e;if(!o)throw new Error("dataSource is required");return{type:"void","x-decorator":"TableBlockProvider","x-acl-action":`${r||t}:list`,"x-use-decorator-props":"useTableBlockDecoratorProps","x-decorator-props":{collection:t,association:r,dataSource:o,action:"list",params:{pageSize:20},showIndex:!0,dragSort:!1},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":"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-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{initializer:"table:configureItemActions"},properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"}}}}}}}}},RecordAssociationBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createTableBlockUISchema({dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("Table",e,a.target,c)}))};function useCreateAssociationTableBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationTableBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createTableBlockUISchema({dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}function createDetailsWithPaginationUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i,hideActionInitializer:n,rowKey:a}=e,l=r||t;if(!o||!a)throw new Error("dataSource and rowKey are required");return{type:"void","x-acl-action":`${l}:view`,"x-decorator":"DetailsBlockProvider","x-use-decorator-props":"useDetailsWithPaginationDecoratorProps","x-decorator-props":{dataSource:o,collection:t,association:r,readPretty:!0,action:"list",params:{pageSize:1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:detailsWithPagination","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-read-pretty":!0,"x-use-component-props":"useDetailsWithPaginationProps",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":n?void 0:"details:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields",properties:{}},pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}}}}}const RecordAssociationDetailsBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createDetailsWithPaginationUISchema({dataSource:l.dataSource,association:c,rowKey:l.filterTargetKey||"id"}))}),items:useRecordCollectionDataSourceItems("Details",e,a.target,c)}))};function useCreateAssociationDetailsBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationDetailsBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createDetailsWithPaginationUISchema({dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`,rowKey:i.filterTargetKey||"id"}))},[t,e])}}function createCreateFormBlockUISchema(e){const{collectionName:t,association:o,dataSource:r,templateSchema:i,isCusomeizeCreate:n}=e,a=o||t;if(!r)throw new Error("dataSource are required");return{type:"void","x-acl-action-props":{skipScopeCheck:!0},"x-acl-action":`${a}:create`,"x-decorator":"FormBlockProvider","x-use-decorator-props":"useCreateFormBlockDecoratorProps","x-decorator-props":{dataSource:r,collection:t,association:o,isCusomeizeCreate:n},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:createForm","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useCreateFormBlockProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"form:configureFields",properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":"createForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column"}}}}}}}const RecordAssociationFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getCollection:i}=useCollectionManager_deprecated(),{getTemplateSchemaByMode:n}=useSchemaTemplateManager(),a=e.field,l=a.target,c=(0,import_react2.useMemo)(()=>i(l),[l]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield n(m);if(m.template.componentName==="FormItem"){const p=createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${a.collectionName}.${a.name}`,templateSchema:d});m.mode==="reference"&&(p["x-template-key"]=m.template.key),r(p)}else r(d)}else r(createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${a.collectionName}.${a.name}`}))}),items:useRecordCollectionDataSourceItems("FormItem",e,c,`${a.collectionName}.${a.name}`)}))};function useCreateAssociationFormBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated(),{componentNamePrefix:o}=useBlockTemplateContext(),r=(0,import_react2.useCallback)(({item:n})=>{const a=n.associationField,l=t(a.target);e(createCreateFormBlockUISchema({dataSource:l.dataSource,association:`${a.collectionName}.${a.name}`}))},[t,e]),i=(0,import_react2.useCallback)((n,{item:a})=>{if(a.template.componentName===`${o}FormItem`&&a.associationField){const l=a.associationField,c=t(l.target),u=createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${l.collectionName}.${l.name}`,templateSchema:n});return a.mode==="reference"&&(u["x-template-key"]=a.template.key),u}else return n},[t,o]);return{createAssociationFormBlock:r,templateWrap:i}}const createGridCardBlockUISchema=e=>{const{collectionName:t,association:o,templateSchema:r,dataSource:i,rowKey:n}=e,a=o||t;if(!i)throw new Error("dataSource are required");return{type:"void","x-acl-action":`${a}:view`,"x-decorator":"GridCard.Decorator","x-use-decorator-props":"useGridCardBlockDecoratorProps","x-decorator-props":{collection:t,association:o,dataSource:i,readPretty:!0,action:"list",params:{pageSize:12},runWhenParamsChanged:!0,rowKey:n},"x-component":"BlockItem","x-use-component-props":"useGridCardBlockItemProps","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:gridCard",properties:{actionBar:{type:"void","x-initializer":"gridCard:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},list:{type:"array","x-component":"GridCard","x-use-component-props":"useGridCardBlockProps",properties:{item:{type:"object","x-component":"GridCard.Item","x-read-pretty":!0,"x-use-component-props":"useGridCardItemProps",properties:{grid:r||{type:"void","x-component":"Grid","x-initializer":"details:configureFields"},actionBar:{type:"void","x-align":"left","x-initializer":"gridCard:configureItemActions","x-component":"ActionBar","x-use-component-props":"useGridCardActionBarProps","x-component-props":{layout:"one-column"}}}}}}}}},RecordAssociationGridCardBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createGridCardBlockUISchema({rowKey:l.filterTargetKey,dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("GridCard",e,a.target,c)}))};function useCreateAssociationGridCardBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationGridCardBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createGridCardBlockUISchema({rowKey:i.filterTargetKey,dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}const createListBlockUISchema=e=>{const{collectionName:t,dataSource:o,association:r,templateSchema:i,rowKey:n}=e;return{type:"void","x-acl-action":`${r||t}:view`,"x-decorator":"List.Decorator","x-use-decorator-props":"useListBlockDecoratorProps","x-decorator-props":{collection:t,dataSource:o,association:r,readPretty:!0,action:"list",params:{pageSize:10},runWhenParamsChanged:!0,rowKey:n},"x-component":"CardItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:list",properties:{actionBar:{type:"void","x-initializer":"list:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},list:{type:"array","x-component":"List","x-use-component-props":"useListBlockProps",properties:{item:{type:"object","x-component":"List.Item","x-read-pretty":!0,"x-use-component-props":"useListItemProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields"},actionBar:{type:"void","x-align":"left","x-initializer":"list:configureItemActions","x-component":"ActionBar","x-use-component-props":"useListActionBarProps","x-component-props":{layout:"one-column"}}}}}}}}},RecordAssociationListBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createListBlockUISchema({rowKey:l.filterTargetKey,dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("List",e,a.target,c)}))};function useCreateAssociationListBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationListBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createListBlockUISchema({rowKey:i.filterTargetKey,dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}function createDetailsUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i}=e,n=r||t,a=e.isCurrent?{"x-is-current":!0}:{};if(!o)throw new Error("dataSource are required");return P(x({type:"void","x-acl-action":`${n}:get`,"x-decorator":"DetailsBlockProvider","x-use-decorator-props":"useDetailsDecoratorProps","x-decorator-props":{dataSource:o,collection:t,association:r,readPretty:!0,action:"get"},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:details","x-component":"CardItem"},a),{properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-read-pretty":!0,"x-use-component-props":"useDetailsProps",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":"details:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields",properties:{}}}}}})}const RecordReadPrettyAssociationFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getCollection:i}=useCollectionManager_deprecated(),{getTemplateSchemaByMode:n}=useSchemaTemplateManager(),a=e.field,l=a.target,c=i(l),u=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:m=>V(void 0,[m],function*({item:d}){if(d.template){const p=yield n(d);if(d.template.componentName==="ReadPrettyFormItem"){const g=createDetailsUISchema({dataSource:c.dataSource,association:u,templateSchema:p});d.mode==="reference"&&(g["x-template-key"]=d.template.key),r(g)}else r(p)}else r(createDetailsUISchema({association:u,dataSource:c.dataSource}))}),items:useRecordCollectionDataSourceItems("ReadPrettyFormItem",e,c,u)}))};function useCreateAssociationDetailsWithoutPagination(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated(),{componentNamePrefix:o}=useBlockTemplateContext(),r=(0,import_react2.useCallback)(({item:n})=>{const a=n.associationField,l=t(a.target);e(createDetailsUISchema({dataSource:l.dataSource,association:`${a.collectionName}.${a.name}`}))},[t,e]),i=(0,import_react2.useCallback)((n,{item:a})=>{const l=a.associationField,c=t(l.target);if(a.template.componentName===`${o}ReadPrettyFormItem`){const u=createDetailsUISchema({dataSource:c.dataSource,association:`${l.collectionName}.${l.name}`,templateSchema:n});return a.mode==="reference"&&(u["x-template-key"]=a.template.key),u}else return n},[t,o]);return{createAssociationDetailsWithoutPagination:r,templateWrap:i}}const SelectActionInitializer=e=>{const t={type:"void",title:'{{ t("Select") }}',"x-action":"update","x-designer":"Action.Designer","x-component":"Action","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:t}))},SubmitActionInitializer=e=>{const t={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:t}))},TableActionColumnInitializer=()=>{const e={type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{initializer:"table:configureItemActions"},"x-action-column":"actions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{}}}},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{schema:e,item:t,type:"x-action-column"}))};function ModalActionSchemaInitializerItem(e){const t=e,{modalSchema:o={},components:r={}}=t,i=Y(t,["modalSchema","components"]),n=o,{properties:a}=n,l=Y(n,["properties"]),[c,u]=(0,import_react2.useState)(!1),{setVisible:m}=(0,import_client4.useSchemaInitializer)(),d=(0,import_react2.useMemo)(()=>P(x({name:(0,import_client.uid)(),"x-component":"Action.Modal","x-component-props":{width:"520px"},type:"void","x-decorator":"FormV2","x-decorator-props":{}},l),{properties:P(x({},a),{footer1:{"x-component":"Action.Modal.Footer",type:"void",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":()=>({onClick(){var p;u(!1),(p=e==null?void 0:e.onCancel)==null||p.call(e)}})},submit:{title:"OK","x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":()=>{const p=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){var g;yield p.submit(),u(!1),(g=e==null?void 0:e.onSubmit)==null||g.call(e,p.values)})}}}}}}})}),[c]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_client4.SchemaInitializerItem,P(x({},i),{onClick:p=>{var g;m(!1),u(!0),(g=e==null?void 0:e.onClick)==null||g.call(e,p)}})),(0,import_jsx_runtime.jsx)(import_client4.ActionContextProvider,{value:{visible:c,setVisible:u},children:(0,import_jsx_runtime.jsx)(import_client4.SchemaComponent,{components:x({Action:import_client4.Action},r),schema:d})})]})}const items=Object.freeze(Object.defineProperty({__proto__:null,ActionBarAssociationFilterAction,ActionInitializer,ActionInitializerItem,AssociationFilter,AssociationFilterDesignerDelete,AssociationFilterDesignerDisplayField,AssociationFilterPlugin,BlockInitializer,BlockItemInitializer,CreateFilterActionInitializer,CreateResetActionInitializer,CustomizeActionInitializer,DataBlockInitializer,G2PlotInitializer,InitializerWithSwitch,ModalActionSchemaInitializerItem,RecordAssociationBlockInitializer,RecordAssociationDetailsBlockInitializer,RecordAssociationFormBlockInitializer,RecordAssociationGridCardBlockInitializer,RecordAssociationListBlockInitializer,RecordReadPrettyAssociationFormBlockInitializer,SearchCollections,SelectActionInitializer,SubmitActionInitializer,TableActionColumnInitializer,useCreateAssociationDetailsBlock,useCreateAssociationDetailsWithoutPagination,useCreateAssociationFormBlock,useCreateAssociationGridCardBlock,useCreateAssociationListBlock,useCreateAssociationTableBlock,useMenuSearch},Symbol.toStringTag,{value:"Module"})),UpdateRecordActionInitializer=e=>{const t={title:'{{ t("Update record") }}',"x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-use-component-props":"useCustomizeUpdateActionProps","x-action":"customize:update","x-decorator":"ACLActionProvider","x-acl-action":"update","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateRecord","x-action-settings":{assignedValues:{},onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Updated successfully")}}'},triggerWorkflows:[]}},o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{schema:t,item:o}))},PopupActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Popup") }}',"x-action":"customize:popup","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-component-props":{openMode:t,refreshDataBlockRequest:!0},"x-decorator":"ACLActionProvider",properties:{drawer:{type:"void",title:'{{ t("Popup") }}',"x-component":"Action.Container","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":(e==null?void 0:e["x-initializer"])||"popup:common:addBlock",properties:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()},i=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},i),{schema:r,item:i}))},LinkActionInitializer=e=>{const t={type:"void",title:'{{ t("Link") }}',"x-action":"customize:link","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:link","x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-use-component-props":"useLinkActionProps","x-decorator":"ACLActionProvider"},o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{schema:t,item:o}))},recordFormBlockInitializers=new SchemaInitializer({name:"RecordFormBlockInitializers",title:'{{ t("Add block") }}',icon:"PlusOutlined",wrap:gridRowColWrap,items:[{type:"itemGroup",title:'{{ t("Data blocks") }}',name:"dataBlocks",children:[{name:"form",title:'{{ t("Form") }}',Component:"RecordFormBlockInitializer"}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),UpdateActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-acl-action":"update","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:edit","x-component":"Action","x-component-props":{openMode:t,icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","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("Edit")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:r}))},ViewActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("View") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action","x-component-props":{openMode:t},properties:{drawer:{type:"void",title:'{{ t("View record") }}',"x-component":"Action.Container","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:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:r}))},useActionAvailable=e=>{var t,o;const r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?(t=n==null?void 0:n.includes)==null?void 0:t.call(n,e):i?!((o=i==null?void 0:i.includes)!=null&&o.call(i,e)):!0},commonOptions$k={title:'{{t("Configure actions")}}',icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")}]}]},detailsActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"DetailsActionInitializers"},commonOptions$k)),detailsActionInitializers=new CompatibleSchemaInitializer(x({name:"detailsWithPaging:configureActions"},commonOptions$k),detailsActionInitializers_deprecated),DetailsBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,componentType:r="Details",createBlockSchema:i,templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l})=>{const c=useSchemaInitializerItem(),{createDetailsBlock:u}=useCreateDetailsBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},c),{icon:(0,import_jsx_runtime.jsx)(import_icons.ProfileOutlined,{}),componentType:r,onCreateBlockSchema:m=>V(void 0,null,function*(){if(i)return i(m);u(m)}),onlyCurrentDataSource:!!t,hideSearch:o,filter:e,templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l}))},useCreateDetailsBlock=()=>{const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createDetailsBlock:(0,import_react2.useCallback)(({item:o})=>{const r=t(o.name,o.dataSource),i=createDetailsWithPaginationUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id",hideActionInitializer:!((r.template!=="view"||r!=null&&r.writableView)&&r.template!=="sql")});e(i)},[t,e])}},commonOptions$j={title:'{{t("Configure actions")}}',icon:"SettingOutlined",style:{marginLeft:8},items:[{title:'{{t("Edit")}}',name:"edit",Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible:()=>useActionAvailable("update")},{title:'{{t("Delete")}}',name:"delete",Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")},{type:"item",title:'{{t("Disassociate")}}',name:"disassociate",Component:"DisassociateActionInitializer",schema:{"x-component":"Action","x-action":"disassociate","x-acl-action":"update","x-decorator":"ACLActionProvider"},useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action"}}},{name:"updateRecord",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useComponentProps(){return{"x-component":"Action"}},useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action"}}}]},readPrettyFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ReadPrettyFormActionInitializers"},commonOptions$j)),readPrettyFormActionInitializers=new CompatibleSchemaInitializer(x({name:"details:configureActions"},commonOptions$j),readPrettyFormActionInitializers_deprecated),ParentCollectionFields$3=()=>{const e=useInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields$2=()=>{const e=useAssociatedFormItemInitializerFields({readPretty:!0,block:"Form"}),{t}=(0,import_react_i18next.useTranslation)();if(e.length===0)return null;const o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},commonOptions$i={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$3},{name:"associationFields",Component:AssociatedFields$2},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-decorator-props":{engine:"handlebars"},"x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}},{name:"addDivider",title:'{{t("Add group")}}',Component:"BlockItemInitializer",schema:{type:"void","x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:divider","x-component":"Divider","x-component-props":{children:'{{t("Group")}}'}}}]},readPrettyFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ReadPrettyFormItemInitializers"},commonOptions$i)),readPrettyFormItemInitializers=new CompatibleSchemaInitializer(x({name:"details:configureFields"},commonOptions$i),readPrettyFormItemInitializers_deprecated),RecordReadPrettyFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),{icon:t=!0,targetCollection:o}=e,r=Y(e,["icon","targetCollection"]),i=useCollection_deprecated(),n=o||i,{createSingleDetailsSchema:a}=useCreateSingleDetailsSchema();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:t&&(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},r),{onClick:l=>a(l),items:useRecordCollectionDataSourceItems("ReadPrettyFormItem",null,n==null?void 0:n.name)}))};function useCreateSingleDetailsSchema(){const{insert:e}=useSchemaInitializer(),{getTemplateSchemaByMode:t}=useSchemaTemplateManager(),o=useAssociationName(),r=useCollectionManager(),{componentNamePrefix:i}=useBlockTemplateContext(),n=(0,import_react2.useCallback)((a,l)=>{const{item:c}=l;if(c.template.componentName===`${i}ReadPrettyFormItem`){const u=c.collectionName||c.name,m=r.getCollection(u),d=createDetailsUISchema(o?{association:o,collectionName:m.isInherited()?u:void 0,dataSource:c.dataSource,templateSchema:a,isCurrent:!0}:{collectionName:u,dataSource:c.dataSource,templateSchema:a});return c.mode==="reference"&&(d["x-template-key"]=c.template.key),d}else return a},[o,r,i]);return{createSingleDetailsSchema:(0,import_react2.useCallback)(a=>V(this,[a],function*({item:l}){if(l.template){const c=yield t(l);e(n(c,{item:l}))}else{const c=l.collectionName||l.name,u=r.getCollection(c);e(createDetailsUISchema(o?{association:o,collectionName:u.isInherited()?c:void 0,dataSource:l.dataSource,isCurrent:!0}:{collectionName:c,dataSource:l.dataSource}))}}),[o,r,t,e,n]),templateWrap:n}}const FormBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l,hideOtherRecordsInPopup:c,currentText:u,otherText:m})=>{const d=useSchemaInitializerItem(),{createFormBlock:p,templateWrap:g}=useCreateFormBlock(),h=(0,import_react2.useCallback)(f=>{if(r)return r(f);p(f)},[r,p]),_=(0,import_react2.useCallback)((f,v)=>n?n(f,v):g(f,v),[n,g]);return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},d),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),componentType:i,templateWrap:_,onCreateBlockSchema:h,filter:e,onlyCurrentDataSource:t,hideSearch:o,showAssociationFields:a,hideChildrenIfSingleCollection:l,hideOtherRecordsInPopup:c,currentText:u,otherText:m}))},useCreateFormBlock=()=>{const{insert:e}=useSchemaInitializer(),t=useAssociationName(),{isCusomeizeCreate:o}=useSchemaInitializerItem(),r=(0,import_react2.useCallback)(({item:n,fromOthersInPopup:a})=>{e(createCreateFormBlockUISchema(a?{collectionName:n.collectionName||n.name,dataSource:n.dataSource,isCusomeizeCreate:!0}:t?{association:t,dataSource:n.dataSource,isCusomeizeCreate:o}:{collectionName:n.collectionName||n.name,dataSource:n.dataSource,isCusomeizeCreate:o}))},[t,e,o]),i=(0,import_react2.useCallback)((n,{item:a,fromOthersInPopup:l})=>{let c;return l?c=createCreateFormBlockUISchema({dataSource:a.dataSource,templateSchema:n,collectionName:a.name,isCusomeizeCreate:!0}):c=createCreateFormBlockUISchema(t?{dataSource:a.dataSource,templateSchema:n,collectionName:a.name,association:t,isCusomeizeCreate:o}:{dataSource:a.dataSource,templateSchema:n,collectionName:a.name,isCusomeizeCreate:o}),a.template&&a.mode==="reference"&&(c["x-template-key"]=a.template.key),c},[t,o]);return{createFormBlock:r,templateWrap:i}};function createEditFormBlockUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i}=e,n=r||t,a=e.isCurrent?{"x-is-current":!0}:{};if(!o)throw new Error("dataSource are required");return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!1},"x-acl-action":`${n}:update`,"x-decorator":"FormBlockProvider","x-use-decorator-props":"useEditFormBlockDecoratorProps","x-decorator-props":{action:"get",dataSource:o,collection:t,association:r},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:editForm","x-component":"CardItem"},a),{properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useEditFormBlockProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"form:configureFields",properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":"editForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column"}}}}}})}const RecordFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),{targetCollection:t}=e,o=Y(e,["targetCollection"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),n=useCollection_deprecated(),a=t||n,{createEditFormBlock:l,templateWrap:c}=useCreateEditFormBlock();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(c(d,{item:m}))}else l({item:m})}),items:useRecordCollectionDataSourceItems("FormItem",null,a==null?void 0:a.name)}))};function useCreateEditFormBlock(){const{insert:e}=useSchemaInitializer(),t=useAssociationName(),o=useCollectionManager(),{componentNamePrefix:r}=useBlockTemplateContext(),i=(0,import_react2.useCallback)(({item:a})=>{const l=a.collectionName||a.name,c=o.getCollection(l);e(createEditFormBlockUISchema(t?{association:t,collectionName:c.isInherited()?l:void 0,dataSource:a.dataSource,isCurrent:!0}:{collectionName:l,dataSource:a.dataSource}))},[t,o,e]),n=(0,import_react2.useCallback)((a,{item:l})=>{if(l.template.componentName===`${r}FormItem`){const c=l.collectionName||l.name,u=o.getCollection(c),m=createEditFormBlockUISchema(t?{association:t,collectionName:u.isInherited()?c:void 0,dataSource:l.dataSource,templateSchema:a,isCurrent:!0}:{collectionName:c,dataSource:l.dataSource,templateSchema:a});return l.mode==="reference"&&(m["x-template-key"]=l.template.key),m}else return a},[t,o,r]);return{createEditFormBlock:i,templateWrap:n}}const commonOptions$h={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"CreateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",useVisible(){const{type:e}=useDataBlockProps()||{};return e!=="publicForm"}}]},createFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"CreateFormActionInitializers"},commonOptions$h)),createFormActionInitializers=new CompatibleSchemaInitializer(x({name:"createForm:configureActions"},commonOptions$h),createFormActionInitializers_deprecated),formActionInitializers=new SchemaInitializer({name:"FormActionInitializers",title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"CreateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"}]}),ParentCollectionFields$2=()=>{const e=useInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields$1=()=>{const e=useAssociatedFormItemInitializerFields({readPretty:!0,block:"Form"}),{t}=(0,import_react_i18next.useTranslation)();if(e.length===0)return null;const o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},FilterParentCollectionFields=()=>{const e=useFilterInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile(),r=[];return(e==null?void 0:e.length)>0&&e.forEach(i=>{Object.values(i)[0].length&&r.push({divider:!0,type:"itemGroup",title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},FilterAssociatedFields=()=>{const e=useFilterAssociatedFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},commonOptions$g={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$2},{name:"associationFields",Component:AssociatedFields$1},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"MarkdownFormItemInitializer"},{name:"addDivider",title:'{{t("Add group")}}',Component:"DividerFormItemInitializer"}]},formItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FormItemInitializers"},commonOptions$g)),formItemInitializers=new CompatibleSchemaInitializer(x({name:"form:configureFields"},commonOptions$g),formItemInitializers_deprecated),commonOptions$f={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"UpdateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action"}}},{type:"item",name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"}]},updateFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"UpdateFormActionInitializers"},commonOptions$f)),updateFormActionInitializers=new CompatibleSchemaInitializer(x({name:"editForm:configureActions"},commonOptions$f),updateFormActionInitializers_deprecated),commonOptions$e={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{name:"refresh",title:"{{t('Refresh')}}",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"import",title:"{{t('Import')}}",Component:"ImportActionInitializer",schema:{"x-align":"right","x-acl-action":"importXlsx","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("import")},{name:"export",title:"{{t('Export')}}",Component:"ExportActionInitializer",useVisible:()=>useActionAvailable("export"),schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},gridCardActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"GridCardActionInitializers"},commonOptions$e)),gridCardActionInitializers=new CompatibleSchemaInitializer(x({name:"gridCard:configureActions"},commonOptions$e),gridCardActionInitializers_deprecated),GridCardBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a})=>{const l=useSchemaInitializerItem(),{createGridCardBlock:c}=useCreateGridCardBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},l),{icon:(0,import_jsx_runtime.jsx)(import_icons.AppstoreOutlined,{}),componentType:"GridCard",onCreateBlockSchema:u=>V(void 0,null,function*(){if(r)return r(u);c(u)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:a}))},useCreateGridCardBlock=()=>{const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createGridCardBlock:({item:o})=>{const r=t(o.name,o.dataSource),i=createGridCardBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});e(i)}}},commonOptions$d={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"view",title:'{{t("View")}}',Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("get")},{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("destroy")},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}},{name:"update-record",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},gridCardItemActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"GridCardItemActionInitializers"},commonOptions$d)),gridCardItemActionInitializers=new CompatibleSchemaInitializer(x({name:"gridCard:configureItemActions"},commonOptions$d),gridCardItemActionInitializers_deprecated),commonOptions$c={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{name:"refresh",title:"{{t('Refresh')}}",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"import",title:"{{t('Import')}}",Component:"ImportActionInitializer",schema:{"x-align":"right","x-acl-action":"importXlsx","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("import")},{name:"export",title:"{{t('Export')}}",Component:"ExportActionInitializer",useVisible:()=>useActionAvailable("export"),schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},listActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ListActionInitializers"},commonOptions$c)),listActionInitializers=new CompatibleSchemaInitializer(x({name:"list:configureActions"},commonOptions$c),listActionInitializers_deprecated),ListBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a})=>{const l=useSchemaInitializerItem(),{createListBlock:c}=useCreateListBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},l),{icon:(0,import_jsx_runtime.jsx)(import_icons.OrderedListOutlined,{}),componentType:"List",onCreateBlockSchema:u=>V(void 0,null,function*(){if(r)return r(u);c(u)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:a}))},useCreateListBlock=()=>{const{getCollection:e}=useCollectionManager_deprecated(),{insert:t}=useSchemaInitializer();return{createListBlock:({item:o})=>{const r=e(o.name,o.dataSource),i=createListBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});t(i)}}},commonOptions$b={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"view",title:'{{t("View")}}',Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("get")},{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("destroy")},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}},{name:"updateRecord",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},listItemActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ListItemActionInitializers"},commonOptions$b)),listItemActionInitializers=new CompatibleSchemaInitializer(x({name:"list:configureItemActions"},commonOptions$b),listItemActionInitializers_deprecated),createTableSelectorUISchema=e=>{const{collectionName:t,dataSource:o,rowKey:r}=e;if(!t||!o||!r)throw new Error("collectionName, dataSource, rowKey is required");return{type:"void","x-acl-action":`${t}:list`,"x-decorator":"TableSelectorProvider","x-use-decorator-props":"useTableSelectorDecoratorProps","x-decorator-props":{collection:t,dataSource:o,action:"list",params:{pageSize:20},rowKey:r},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:tableSelector","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},value:{type:"array","x-initializer":"table:configureColumns","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowSelection:{type:"checkbox"}}}}}},TableSelectorInitializer=()=>{const e=useSchemaInitializerItem(),t=Y(e,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:o}=useSchemaInitializer(),r=useCollection_deprecated();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},t),{onClick:()=>V(void 0,null,function*(){o(createTableSelectorUISchema({rowKey:r.filterTargetKey,collectionName:r.name,dataSource:r.dataSource}))})}))},Resizable=()=>{var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaInitializerActionModal,{title:t("Column width"),component:import_react2.default.forwardRef((i,n)=>{const a=i,{children:l,onClick:c}=a,u=Y(a,["children","onClick"]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({ref:n,onClick:({event:m})=>{c(m)}},u),{title:t("Column width")}))}),schema:{type:"object",title:t("Column width"),properties:{width:{"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{},default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100}}},onSubmit:({width:i})=>{const n=r["x-component-props"]||{};n.width=i;const a={"x-uid":r["x-uid"]};a["x-component-props"]=n,r["x-component-props"]=n,o.emit("patch",{schema:a}),o.refresh()}})},SchemaSettingsFixed=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=[{label:r("Not fixed"),value:"none"},{label:r("Left fixed"),value:"left"},{label:r("Right fixed"),value:"right"}];return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{children:(0,import_jsx_runtime.jsx)(SelectWithTitle,{title:r("Fixed"),options:n,defaultValue:((e=t.componentProps)==null?void 0:e.fixed)||"none",onChange:a=>{const l={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fixed=a,l["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.fixed=a,i.emit("patch",{schema:l}),i.refresh()}},"fixed")})},commonOptions$a={insertPosition:"beforeEnd",useInsert:function e(){const{refresh:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),r=useAPIClient(),{t:i}=(0,import_react_i18next.useTranslation)();return function(n){const a=o.reduceProperties((c,u)=>u["x-component"]==="Space"?u:c,null);if(!a)return;import_lodash.default.set(n,"x-designer-props.linkageAction",!0);const l=createDesignable({t:i,api:r,refresh:t,current:a});l.loadAPIClientEvents(),l.insertBeforeEnd(n)}},Component:e=>{const{getAriaLabel:t}=useGetAriaLabelOfDesigner();return(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},e),{role:"button","aria-label":t("schema-initializer"),style:{cursor:"pointer"}}))},items:[{type:"item",title:'{{t("View")}}',name:"view",Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("get")},{type:"item",name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("update")},{type:"item",title:'{{t("Delete")}}',name:"delete",Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")},{type:"item",title:'{{t("Disassociate")}}',name:"disassociate",Component:"DisassociateActionInitializer",schema:{"x-component":"Action.Link","x-action":"disassociate","x-acl-action":"update","x-decorator":"ACLActionProvider"},useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{type:"item",title:'{{t("Add child")}}',name:"addChildren",Component:"CreateChildInitializer",schema:{"x-component":"Action.Link","x-action":"create","x-decorator":"ACLActionProvider"},useVisible(){var e;const t=(0,import_react.useFieldSchema)(),o=useCollection(),{treeTable:r}=((e=t==null?void 0:t.parent)==null?void 0:e.parent["x-decorator-props"])||{};return o.tree&&r}},{type:"item",title:'{{t("Popup")}}',name:"popup",Component:"PopupActionInitializer"},{type:"item",title:'{{t("Update record")}}',name:"updateRecord",Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},tableActionColumnInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableActionColumnInitializers"},commonOptions$a)),tableActionColumnInitializers=new CompatibleSchemaInitializer(x({name:"table:configureItemActions"},commonOptions$a),tableActionColumnInitializers_deprecated),commonOptions$9={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"item",name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{type:"item",title:"{{t('Add new')}}",name:"addNew",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{type:"item",title:'{{t("Associate")}}',name:"associate",Component:"AssociateActionInitializer",useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{type:"item",title:"{{t('Popup')}}",name:"popup",Component:"PopupActionInitializer",componentProps:{"x-component":"Action","x-initializer":"page:addBlock"},schema:{"x-align":"right"}},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroyMany")},{type:"item",title:"{{t('Refresh')}}",name:"refresh",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{type:"item",title:"{{t('Link')}}",name:"link",Component:"LinkActionInitializer",schema:{"x-align":"right"},useComponentProps(){return{"x-component":"Action"}}},{name:"toggle",title:"{{t('Expand/Collapse')}}",Component:"ExpandableActionInitializer",schema:{"x-align":"right"},useVisible(){var e;const t=(0,import_react.useFieldSchema)(),o=useCollection(),{treeTable:r}=((e=t==null?void 0:t.parent)==null?void 0:e["x-decorator-props"])||{};return o.tree&&r}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},tableActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableActionInitializers"},commonOptions$9)),tableActionInitializers=new CompatibleSchemaInitializer(x({name:"table:configureActions"},commonOptions$9),tableActionInitializers_deprecated),TableBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,templateWrap:i,showAssociationFields:n})=>{const a=useSchemaInitializerItem(),{createTableBlock:l}=useCreateTableBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},a),{icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{}),componentType:"Table",onCreateBlockSchema:c=>V(void 0,null,function*(){if(r)return r(c);l(c)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:n}))},useCreateTableBlock=()=>{const{insert:e}=useSchemaInitializer();return{createTableBlock:({item:t})=>{const o=createTableBlockUISchema({collectionName:t.name,dataSource:t.dataSource});e(o)}}},ParentCollectionFields$1=()=>{const e=useInheritsTableColumnInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields=()=>{const e=useAssociatedTableColumnInitializerFields(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react2.useMemo)(()=>[{type:"itemGroup",title:o("Display association fields"),children:e}],[e,o]);return!(e!=null&&e.length)||t["x-component"]==="AssociationField.SubTable"?null:(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},commonOptions$8={insertPosition:"beforeEnd",icon:"SettingOutlined",title:'{{t("Configure columns")}}',wrap:(e,{isInSubTable:t})=>e["x-action-column"]?e:{type:"void","x-decorator":"TableV2.Column.Decorator","x-toolbar":"TableColumnSchemaToolbar","x-settings":"fieldSettings:TableColumn","x-component":"TableV2.Column",properties:{[e.name]:x({},e)}},items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:useTableColumnInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$1},{name:"associationFields",Component:AssociatedFields},{name:"divider",type:"divider",useVisible(){return(0,import_react.useFieldSchema)()["x-component"]!=="AssociationField.SubTable"}},{type:"item",name:"add",title:'{{t("Action column")}}',Component:"TableActionColumnInitializer",useVisible(){return(0,import_react.useFieldSchema)()["x-component"]!=="AssociationField.SubTable"}}]},tableColumnInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableColumnInitializers"},commonOptions$8)),tableColumnInitializers=new CompatibleSchemaInitializer(x({name:"table:configureColumns"},commonOptions$8),tableColumnInitializers_deprecated),createCollapseBlockSchema=e=>{const{collectionName:t,dataSource:o,blockType:r}=e;return{type:"void","x-decorator":"AssociationFilter.Provider","x-use-decorator-props":"useCollapseBlockDecoratorProps","x-decorator-props":{collection:t,dataSource:o,blockType:r,associationFilterStyle:{width:"100%"},name:"filter-collapse"},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:filterCollapse","x-component":"CardItem","x-filter-targets":[],properties:{[(0,import_shared.uid)()]:{type:"void","x-action":"associateFilter","x-initializer":"filterCollapse:configureFields","x-component":"AssociationFilter"}}}},FilterCollapseBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideChildrenIfSingleCollection:o})=>{const r=useSchemaInitializerItem(),{insert:i}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},r),{onlyCurrentDataSource:t,icon:(0,import_jsx_runtime.jsx)(import_icons.RightSquareOutlined,{}),componentType:"FilterCollapse",onCreateBlockSchema:n=>V(void 0,[n],function*({item:a}){const l=createCollapseBlockSchema({dataSource:a.dataSource,collectionName:a.collectionName||a.name,blockType:"filter"});i(l)}),filter:e,hideChildrenIfSingleCollection:o}))},commonOptions$7={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"filter",title:'{{t("Filter")}}',Component:"CreateFilterActionInitializer",schema:{"x-action-settings":{}}},{name:"reset",title:'{{t("Reset")}}',Component:"CreateResetActionInitializer",schema:{"x-action-settings":{}}}]},filterFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FilterFormActionInitializers"},commonOptions$7)),filterFormActionInitializers=new CompatibleSchemaInitializer(x({name:"filterForm:configureActions"},commonOptions$7),filterFormActionInitializers_deprecated),FilterBlockInitializer=DataBlockInitializer,createFilterFormBlockSchema=e=>{const{collectionName:t,dataSource:o,templateSchema:r}=e;if(!t||!o)throw new Error("collectionName and dataSource are required");return{type:"void","x-decorator":"FilterFormBlockProvider","x-use-decorator-props":"useFilterFormBlockDecoratorProps","x-decorator-props":{dataSource:o,collection:t},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:filterForm","x-component":"CardItem","x-filter-targets":[],properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFilterFormBlockProps",properties:{grid:r||{type:"void","x-component":"Grid","x-initializer":"filterForm:configureFields"},[(0,import_shared.uid)()]:{type:"void","x-initializer":"filterForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{float:"right",overflow:"hidden"}}}}}}}},FilterFormBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideChildrenIfSingleCollection:o})=>{const r=useSchemaInitializerItem(),{insert:i}=useSchemaInitializer(),{componentNamePrefix:n}=useBlockTemplateContext();return(0,import_jsx_runtime.jsx)(FilterBlockInitializer,P(x({},r),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onlyCurrentDataSource:t,componentType:`${n}FilterFormItem`,templateWrap:(a,{item:l})=>{const c=createFilterFormBlockSchema({templateSchema:a,dataSource:l.dataSource,collectionName:l.name||l.collectionName});return l.template&&l.mode==="reference"&&(c["x-template-key"]=l.template.key),c},onCreateBlockSchema:({item:a})=>i(createFilterFormBlockSchema({collectionName:a.collectionName||a.name,dataSource:a.dataSource})),filter:e,hideChildrenIfSingleCollection:o}))},commonOptions$6={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFilterFormItemInitializerFields},{name:"parentCollectionFields",Component:FilterParentCollectionFields},{name:"associationFields",Component:FilterAssociatedFields},{name:"divider",type:"divider"},{title:'{{t("Add Markdown")}}',Component:"MarkdownFormItemInitializer",name:"addText"}]},filterFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FilterFormItemInitializers"},commonOptions$6)),filterFormItemInitializers=new CompatibleSchemaInitializer(x({name:"filterForm:configureFields"},commonOptions$6),filterFormItemInitializers_deprecated),MarkdownBlockInitializer=()=>{const{insert:e}=useSchemaInitializer(),{t}=(0,import_react_i18next.useTranslation)(),o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},o),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onClick:()=>{e({type:"void","x-settings":"blockSettings:markdown","x-decorator":"CardItem","x-decorator-props":{name:"markdown",engine:"handlebars"},"x-component":"Markdown.Void","x-editable":!1,"x-component-props":{content:t("This is a demo text, **supports Markdown syntax**.")}})}}))},MarkdownFormItemInitializer=()=>{const{insert:e}=useSchemaInitializer(),t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},t),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onClick:()=>{e({type:"void","x-editable":!1,"x-decorator":"FormItem","x-decorator-props":{engine:"handlebars"},"x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}})}}))},commonOptions$5={wrap:gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Selector")}}',name:"selector",children:[{name:"title",title:"Table",Component:"TableSelectorInitializer"}]},{type:"itemGroup",title:'{{t("Filter blocks")}}',name:"filterBlocks",useChildren(){const{name:e,dataSource:t}=useCollection_deprecated();return[{name:"filterFormBlockInTableSelector",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer",componentProps:{filterCollections(){return!1},onlyCurrentDataSource:!0},collectionName:e,dataSource:t},{name:"filterCollapseBlockInTableSelector",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer",componentProps:{filterCollections(){return!1},onlyCurrentDataSource:!0},collectionName:e,dataSource:t}]}},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},tableSelectorInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableSelectorInitializers"},commonOptions$5)),tableSelectorInitializers=new CompatibleSchemaInitializer(x({name:"popup:tableSelector:addBlock"},commonOptions$5),tableSelectorInitializers_deprecated),CollectionFieldInitializer=()=>{const e={},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{item:t,schema:e,type:"x-collection-field"}))},TableCollectionFieldInitializer=()=>{const e={},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{schema:e,item:t,type:"x-collection-field"}))},commonOptions$4={title:'{{t("Add block")}}',icon:"PlusOutlined",wrap:gridRowColWrap,items:[{name:"dataBlocks",title:'{{t("Data blocks")}}',type:"itemGroup",children:[{name:"table",title:'{{t("Table")}}',Component:"TableBlockInitializer"},{name:"form",title:'{{t("Form")}}',Component:"FormBlockInitializer",useComponentProps:()=>({filterCollections:({collection:e})=>{var t,o;const{unavailableActions:r,availableActions:i}=(e==null?void 0:e.options)||{};return i?(t=i.includes)==null?void 0:t.call(i,"create"):r?!((o=r==null?void 0:r.includes)!=null&&o.call(r,"create")):!0}})},{name:"details",title:'{{t("Details")}}',Component:"DetailsBlockInitializer"},{name:"list",title:'{{t("List")}}',Component:"ListBlockInitializer"},{name:"gridCard",title:'{{t("Grid Card")}}',Component:"GridCardBlockInitializer"}]},{name:"filterBlocks",title:'{{t("Filter blocks")}}',type:"itemGroup",children:[{name:"filterForm",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer"},{name:"filterCollapse",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer"}]},{name:"otherBlocks",type:"itemGroup",title:'{{t("Other blocks")}}',children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},blockInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"BlockInitializers"},commonOptions$4)),blockInitializers=new CompatibleSchemaInitializer(x({name:"page:addBlock"},commonOptions$4),blockInitializers_deprecated),DividerFormItemInitializer=()=>{const{insert:e}=useSchemaInitializer(),t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},t),{icon:(0,import_jsx_runtime.jsx)(import_icons.LineOutlined,{}),onClick:()=>{e({type:"void","x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:divider","x-component":"Divider","x-component-props":{children:'{{t("Group")}}'}})}}))},AssociateActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Associate") }}',"x-action":"associate","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":"Action","x-component-props":{openMode:t,refreshDataBlockRequest:!0},properties:{drawer:{type:"void","x-component":"Action.Container",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},"x-decorator":"AssociateActionProvider",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()},i=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},i),{schema:r,item:i}))},useTableSelectorProps=()=>{const{setSelectedRows:e}=(0,import_react2.useContext)(RecordPickerContext),t=useTableSelectorProps$4(),{onRowSelectionChange:o,rowKey:r="id"}=t,i=Y(t,["onRowSelectionChange","rowKey"]);return P(x({},i),{rowKey:r,rowSelection:{type:"checkbox"},onRowSelectionChange(n,a){e==null||e(n),o==null||o(n,a)}})},AssociateActionProvider=e=>{const[t,o]=(0,import_react2.useState)([]),r=useCollection(),{resource:i,block:n,__parent:a}=useBlockRequestContext(),l=useActionContext(),{isMobile:c}=useOpenModeContext()||{},[u,m]=(0,import_react2.useState)([]);(0,import_react2.useEffect)(()=>{var h;(h=i==null?void 0:i.list)==null||h.call(i).then(_=>{var f;m(((f=_.data)==null?void 0:f.data)||[])})},[i]);const d={size:"small",onChange:e==null?void 0:e.onChange,selectedRows:t,setSelectedRows:o},p=()=>{const{selectedRows:h}=(0,import_react2.useContext)(RecordPickerContext),{setVisible:_,setSubmitted:f,setFormValueChanged:v}=useActionContext();return{onClick(b,S){return V(this,null,function*(){var C,y;yield i.add({values:h}),S&&(S==null||S()),_==null||_(!1),f==null||f(!0),n&&n!=="TableField"&&((y=(C=a==null?void 0:a.service)==null?void 0:C.refresh)==null||y.call(C),_==null||_(!1),v==null||v(!1))})}}},g=()=>{const h=(r==null?void 0:r.filterTargetKey)||"id";if(u){const _=u.map(f=>f[h]).filter(Boolean);return _.length?{$and:[{[`${h}.$ne`]:_}]}:{}}return{}};return(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:P(x({},l),{openMode:c?"drawer":l.openMode}),children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},d),{children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{useTableSelectorProps,usePickActionProps:p},children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:g()},children:e.children})})}))})},ParentCollectionFields=()=>{const e=useInheritsFormItemInitializerFields({component:"AssignedField"}),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},commonOptions$3={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",title:'{{t("Configure fields")}}',name:"configureFields",useChildren:useCustomFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields}]},customFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"CustomFormItemInitializers"},commonOptions$3)),customFormItemInitializers=new CompatibleSchemaInitializer(x({name:"assignFieldValuesForm:configureFields"},commonOptions$3),customFormItemInitializers_deprecated),canMakeAssociationBlock=e=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(e.interface);function useRecordBlocks(){const e=useCollection(),{getChildrenCollections:t}=useCollectionManager_deprecated(),o=t(e==null?void 0:e.name,!0,e==null?void 0:e.dataSource).filter(r=>r==null?void 0:r.filterTargetKey);return[{name:"details",title:'{{t("Details")}}',Component:"DetailsBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const r=useCollection(),{createSingleDetailsSchema:i,templateWrap:n}=useCreateSingleDetailsSchema(),{createAssociationDetailsBlock:a}=useCreateAssociationDetailsBlock(),{createAssociationDetailsWithoutPagination:l,templateWrap:c}=useCreateAssociationDetailsWithoutPagination(),{createDetailsBlock:u}=useCreateDetailsBlock(),m=[r,...o],d=(0,import_react2.useCallback)(({item:p,fromOthersInPopup:g})=>g?u({item:p}):p.associationField?["hasOne","belongsTo"].includes(p.associationField.type)?l({item:p}):a({item:p}):i({item:p}),[a,l,u,i]);return{filterCollections({collection:p,associationField:g}){return p?m.some(h=>h.name===p.name):!!g},onlyCurrentDataSource:!0,hideSearch:!0,componentType:"ReadPrettyFormItem",createBlockSchema:d,templateWrap:(0,import_react2.useCallback)((p,{item:g})=>g.associationField?["hasOne","belongsTo"].includes(g.associationField.type)?c(p,{item:g}):p:n(p,{item:g}),[n,c]),showAssociationFields:!0}}},{name:"editForm",title:'{{t("Form (Edit)")}}',Component:"FormBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const r=useCollection(),{createEditFormBlock:i,templateWrap:n}=useCreateEditFormBlock(),a=[r,...o];return{filterCollections({collection:l}){return l?a.some(c=>c.name===l.name):!1},onlyCurrentDataSource:!0,hideSearch:!0,hideOtherRecordsInPopup:!0,componentType:"FormItem",createBlockSchema:i,templateWrap:n,showAssociationFields:!0}},useVisible:()=>useActionAvailable("update")},{name:"createForm",title:'{{t("Form (Add new)")}}',Component:"FormBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const{createAssociationFormBlock:r,templateWrap:i}=useCreateAssociationFormBlock(),{createFormBlock:n,templateWrap:a}=useCreateFormBlock();return{filterCollections({collection:l,associationField:c}){return c?["hasMany","belongsToMany"].includes(c.type):!1},onlyCurrentDataSource:!0,hideSearch:!0,componentType:"FormItem",createBlockSchema:({item:l,fromOthersInPopup:c})=>{if(c)return n({item:l,fromOthersInPopup:c});r({item:l})},templateWrap:(l,{item:c,fromOthersInPopup:u})=>u?a(l,{item:c,fromOthersInPopup:u}):i(l,{item:c}),showAssociationFields:!0}}},{name:"table",title:'{{t("Table")}}',Component:"TableBlockInitializer",useComponentProps(){const{createAssociationTableBlock:r}=useCreateAssociationTableBlock(),{createTableBlock:i}=useCreateTableBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}},{name:"list",title:'{{t("List")}}',Component:"ListBlockInitializer",useComponentProps(){const{createAssociationListBlock:r}=useCreateAssociationListBlock(),{createListBlock:i}=useCreateListBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}},{name:"gridCard",title:'{{t("Grid Card")}}',Component:"GridCardBlockInitializer",useComponentProps(){const{createAssociationGridCardBlock:r}=useCreateAssociationGridCardBlock(),{createGridCardBlock:i}=useCreateGridCardBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}}]}const commonOptions$2={wrap:gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",name:"dataBlocks",title:'{{t("Data blocks")}}',useChildren:useRecordBlocks},{name:"filterBlocks",title:'{{t("Filter blocks")}}',type:"itemGroup",children:[{name:"filterForm",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer",useComponentProps(){return{filterCollections({collection:e}){return!0}}}},{name:"filterCollapse",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer",useComponentProps(){return{filterCollections({collection:e}){return!0}}}}]},{type:"itemGroup",name:"otherBlocks",title:'{{t("Other blocks")}}',children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},recordBlockInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"RecordBlockInitializers"},commonOptions$2)),recordBlockInitializers=new CompatibleSchemaInitializer(x({name:"popup:common:addBlock"},commonOptions$2),recordBlockInitializers_deprecated),commonOptions$1={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",title:"{{t('Enable actions')}}",name:"enableActions",children:[{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right"}},{name:"delete",title:"{{t('Delete')}}",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right"}}]}]},subTableActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"SubTableActionInitializers"},commonOptions$1)),subTableActionInitializers=new CompatibleSchemaInitializer(x({name:"subTable:configureActions"},commonOptions$1),subTableActionInitializers_deprecated),TabPaneInitializers=e=>{const{designable:t,insertBeforeEnd:o}=useDesignable(),{isCreate:r,isBulkEdit:i,options:n}=e,{gridInitializer:a}=n,{getAriaLabel:l}=useGetAriaLabelOfSchemaInitializer(),{isMobile:c}=useOpenModeContext()||{},u=useRecord(),m=useCollection(),d=()=>{const g=(0,import_react.useForm)(),h=useActionContext();let _=a;return m||(_="page:addBlock",c&&(_="mobile:addBlock")),_||(_="popup:common:addBlock",r||!u?_="popup:addNew:addBlock":i&&(_="popup:bulkEdit:addBlock")),{run(){return V(this,null,function*(){yield g.submit();const{title:f,icon:v}=g.values;o({type:"void",title:f,"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{icon:v},properties:{grid:{type:"void","x-component":"Grid","x-initializer":_,properties:{}}}}),yield g.reset(),h.setVisible(!1)})}}},p=(0,import_react2.useMemo)(()=>({type:"void",properties:{action1:{type:"void","x-component":"Action","x-component-props":{icon:"PlusOutlined",style:{borderColor:"var(--colorSettings)",color:"var(--colorSettings)"},type:"dashed","aria-label":l()},title:'{{t("Add tab")}}',properties:{drawer1:{"x-decorator":"Form","x-component":"Action.Modal","x-component-props":{width:520,zIndex:2e3},type:"void",title:'{{t("Add tab")}}',properties:{title:{title:'{{t("Tab name")}}',required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:'{{t("Icon")}}',"x-component":"IconPicker","x-decorator":"FormItem"},footer:{"x-component":"Action.Modal.Footer",type:"void",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:()=>{const g=useActionContext();return{run(){return V(this,null,function*(){g.setVisible(!1)})}}}}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:d}}}}}}}}}}),[]);return t?(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:p}):null},TabPaneInitializersForCreateFormBlock=e=>(0,import_jsx_runtime.jsx)(TabPaneInitializers,P(x({},e),{isCreate:!0})),TabPaneInitializersForBulkEditFormBlock=e=>(0,import_jsx_runtime.jsx)(TabPaneInitializers,P(x({},e),{isBulkEdit:!0})),commonOptions={Component:TabPaneInitializers,popover:!1},tabPaneInitializers_deprecated=new SchemaInitializer(x({name:"TabPaneInitializers"},commonOptions)),tabPaneInitializers=new SchemaInitializer(x({name:"popup:addTab"},commonOptions)),tabPaneInitializersForRecordBlock=new SchemaInitializer({name:"TabPaneInitializersForCreateFormBlock",Component:TabPaneInitializersForCreateFormBlock,popover:!1}),tabPaneInitializersForBulkEditFormBlock=new SchemaInitializer({name:"TabPaneInitializersForBulkEditFormBlock",Component:TabPaneInitializersForBulkEditFormBlock,popover:!1});class SchemaInitializerPlugin extends Plugin{load(){return V(this,null,function*(){this.app.addComponents(P(x(x({},initializerComponents),items),{DestroyActionInitializer,FormBlockInitializer,RecordFormBlockInitializer,TableBlockInitializer,TableSelectorInitializer,RecordReadPrettyFormBlockInitializer,DetailsBlockInitializer,ListBlockInitializer,GridCardBlockInitializer,FilterFormBlockInitializer,FilterCollapseBlockInitializer,MarkdownBlockInitializer,MarkdownFormItemInitializer,TableCollectionFieldInitializer,CollectionFieldInitializer,CreateActionInitializer,CreateChildInitializer,ViewActionInitializer,UpdateActionInitializer,PopupActionInitializer,LinkActionInitializer,UpdateRecordActionInitializer,CreateSubmitActionInitializer,UpdateSubmitActionInitializer,BulkDestroyActionInitializer,ExpandableActionInitializer,DisassociateActionInitializer,FilterActionInitializer,RefreshActionInitializer,DividerFormItemInitializer,AssociateActionInitializer,AssociateActionProvider})),this.app.schemaInitializerManager.add(blockInitializers_deprecated),this.app.schemaInitializerManager.add(blockInitializers),this.app.schemaInitializerManager.add(tableActionInitializers_deprecated),this.app.schemaInitializerManager.add(tableActionInitializers),this.app.schemaInitializerManager.add(tableColumnInitializers_deprecated),this.app.schemaInitializerManager.add(tableColumnInitializers),this.app.schemaInitializerManager.add(tableActionColumnInitializers_deprecated),this.app.schemaInitializerManager.add(tableActionColumnInitializers),this.app.schemaInitializerManager.add(formItemInitializers_deprecated),this.app.schemaInitializerManager.add(formItemInitializers),this.app.schemaInitializerManager.add(formActionInitializers),this.app.schemaInitializerManager.add(detailsActionInitializers_deprecated),this.app.schemaInitializerManager.add(detailsActionInitializers),this.app.schemaInitializerManager.add(readPrettyFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(readPrettyFormItemInitializers),this.app.schemaInitializerManager.add(readPrettyFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(readPrettyFormActionInitializers),this.app.schemaInitializerManager.add(createFormBlockInitializers_deprecated),this.app.schemaInitializerManager.add(createFormBlockInitializers),this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers_deprecated),this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers),this.app.schemaInitializerManager.add(customFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(customFormItemInitializers),this.app.schemaInitializerManager.add(filterFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(filterFormActionInitializers),this.app.schemaInitializerManager.add(createFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(createFormActionInitializers),this.app.schemaInitializerManager.add(updateFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(updateFormActionInitializers),this.app.schemaInitializerManager.add(filterFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(filterFormItemInitializers),this.app.schemaInitializerManager.add(gridCardActionInitializers_deprecated),this.app.schemaInitializerManager.add(gridCardActionInitializers),this.app.schemaInitializerManager.add(gridCardItemActionInitializers_deprecated),this.app.schemaInitializerManager.add(gridCardItemActionInitializers),this.app.schemaInitializerManager.add(listActionInitializers_deprecated),this.app.schemaInitializerManager.add(listActionInitializers),this.app.schemaInitializerManager.add(listItemActionInitializers_deprecated),this.app.schemaInitializerManager.add(listItemActionInitializers),this.app.schemaInitializerManager.add(recordBlockInitializers_deprecated),this.app.schemaInitializerManager.add(recordBlockInitializers),this.app.schemaInitializerManager.add(recordFormBlockInitializers),this.app.schemaInitializerManager.add(subTableActionInitializers_deprecated),this.app.schemaInitializerManager.add(subTableActionInitializers),this.app.schemaInitializerManager.add(tableSelectorInitializers_deprecated),this.app.schemaInitializerManager.add(tableSelectorInitializers),this.app.schemaInitializerManager.add(tabPaneInitializers_deprecated),this.app.schemaInitializerManager.add(tabPaneInitializers),this.app.schemaInitializerManager.add(tabPaneInitializersForRecordBlock),this.app.schemaInitializerManager.add(tabPaneInitializersForBulkEditFormBlock),this.app.schemaInitializerManager.add(menuItemInitializer_deprecated),this.app.schemaInitializerManager.add(menuItemInitializer)})}}class LocalePlugin extends Plugin{constructor(){super(...arguments),A(this,"locales",{})}afterAdd(){return V(this,null,function*(){var t,o,r,i,n,a,l;const c=this.app.apiClient,u=c.auth.locale;try{const m=yield c.request({url:"app:getLang",params:{locale:u},headers:{"X-Role":"anonymous"}}),d=m==null?void 0:m.data;this.locales=(d==null?void 0:d.data)||{},this.app.use(import_antd.ConfigProvider,{locale:this.locales.antd,popupMatchSelectWidth:!1}),this.app.use(import_antd.App,{component:!1}),(t=d==null?void 0:d.data)!=null&&t.lang&&(c.auth.setLocale((o=d==null?void 0:d.data)==null?void 0:o.lang),this.app.i18n.changeLanguage((r=d==null?void 0:d.data)==null?void 0:r.lang)),Object.keys(((i=d==null?void 0:d.data)==null?void 0:i.resources)||{}).forEach(g=>{var h,_;this.app.i18n.addResources((h=d==null?void 0:d.data)==null?void 0:h.lang,g,((_=d==null?void 0:d.data)==null?void 0:_.resources[g])||{})}),(0,import_validator.setValidateLanguage)((n=d==null?void 0:d.data)==null?void 0:n.lang),loadConstrueLocale(d==null?void 0:d.data);const p=dayjsLocale[(a=d==null?void 0:d.data)==null?void 0:a.lang]||"en";yield import(`dayjs/locale/${p}`),import_dayjs.default.locale(p),window.cronLocale=(l=d==null?void 0:d.data)==null?void 0:l.cron}catch(m){throw m}})}}const AppSpin=()=>(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{position:"fixed",top:"50%",left:"50%",fontSize:72,transform:"translate(-50%, -50%)"}}),AppError=(0,import_reactive_react.observer)(({app:e,error:t})=>{const o=getProps(e);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Result,x(P(x({className:import_css.css`
1626
+ `),children:[(0,import_jsx_runtime.jsx)(o,{}),e.children,n()]})})};AssociationFilter.Provider=TableBlockProvider;AssociationFilter.Item=AssociationFilterItem;AssociationFilter.Item.Designer=AssociationFilterItemDesigner;AssociationFilter.BlockDesigner=AssociationFilterBlockDesigner;AssociationFilter.useAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),t=useCollection();return import_react2.default.useMemo(()=>t.getField(e.name),[e.name])};class AssociationFilterPlugin extends Plugin{load(){return V(this,null,function*(){this.app.schemaInitializerManager.add(associationFilterFilterBlockInitializer),this.app.schemaInitializerManager.add(filterCollapseItemInitializer_deprecated),this.app.schemaInitializerManager.add(filterCollapseItemInitializer),this.app.schemaInitializerManager.add(associationFilterInitializer)})}}const AssociationFilterDesignerDelete=()=>{const e=useSchemaInitializerItem(),{refresh:t}=(0,import_react2.useContext)(SchemaComponentContext),o=(0,import_react.useFieldSchema)(),r=useAPIClient(),{t:i}=(0,import_react_i18next.useTranslation)(),n=createDesignable({t:i,api:r,refresh:t,current:o});return n.loadAPIClientEvents(),(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{onClick:()=>{n.remove(o)},children:(0,import_jsx_runtime.jsx)("div",{children:e.title})})},AssociationFilterDesignerDisplayField=()=>{const e=useSchemaInitializerItem(),{schema:t}=e,{exists:o,remove:r}=useCurrentSchema(t.name,"name",e.find,e.remove),{insert:i}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerSwitch,{checked:o,title:e.title,onClick:()=>{var n;if(o)return r();const a=(0,import_shared.merge)(t||{},e.schema||{});(n=e==null?void 0:e.schemaInitialize)==null||n.call(e,a),i(a)}})},BlockInitializer=e=>{const t=e,{item:o,schema:r}=t,i=Y(t,["item","schema"]),{insert:n}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},i),{onClick:()=>{var a,l;const c=(0,import_shared.merge)(r||{},o.schema||{});(a=o==null?void 0:o.schemaInitialize)==null||a.call(o,c),n(c),(l=e.onClick)==null||l.call(e,c)}}))},BlockItemInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["schema"]);return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{item:e}))},CreateFilterActionInitializer=e=>{const t={title:'{{ t("Filter") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useFilterBlockActionProps","x-designer":"Action.Designer","x-component-props":{type:"primary",htmlType:"submit"}};return(0,import_jsx_runtime.jsx)(ActionInitializer,P(x({},e),{schema:t}))},CreateResetActionInitializer=e=>{const t={title:'{{ t("Reset") }}',"x-component":"Action","x-use-component-props":"useResetBlockActionProps","x-designer":"Action.Designer"};return(0,import_jsx_runtime.jsx)(ActionInitializer,P(x({},e),{schema:t}))},CustomizeActionInitializer=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},e),{item:e}))},MENU_ITEM_HEIGHT=32,STEP=15,SearchCollections=({value:e,onChange:t})=>{const{t:o}=(0,import_react_i18next.useTranslation)(),[r,i]=(0,import_react2.useState)(e),n=import_react2.default.useRef(null);return(0,import_react2.useEffect)(()=>{i(e)},[e]),(0,import_react2.useEffect)(()=>{n.current.input.focus();const a=new IntersectionObserver(l=>{l[0].isIntersecting&&n.current.input.focus()});return a.observe(n.current.input),()=>{a.disconnect()}},[]),(0,import_jsx_runtime.jsxs)("div",{style:{width:210},onClick:a=>a.stopPropagation(),children:[(0,import_jsx_runtime.jsx)(import_antd.Input,{ref:n,allowClear:!0,style:{padding:"0 4px 6px",boxShadow:"none"},bordered:!1,placeholder:o("Search and select collection"),value:r,onClick:a=>{a.stopPropagation()},onChange:a=>{t(a.target.value),i(a.target.value)}}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}})]})},LoadingItem=({loadMore:e,maxHeight:t})=>{const o=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>{const r=o.current;if(!r)return;let i=r.parentElement;for(;i&&i.tagName!=="UL";)i=i.parentElement;const n=function(){i&&Math.abs(i.scrollHeight-i.scrollTop-i.clientHeight)<=MENU_ITEM_HEIGHT&&e()};return i&&(i.style.height=`${t-MENU_ITEM_HEIGHT}px`,i.style.maxHeight="inherit",i.style.overflowY="scroll",i.addEventListener("scroll",n)),()=>{i&&(i.removeEventListener("scroll",n),delete i.style.height)}},[e,t]),(0,import_jsx_runtime.jsx)("div",{ref:o,onClick:r=>r.stopPropagation(),children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{size:"small",style:{width:"100%"}})})};function useMenuSearch({data:e,openKeys:t,showType:o,hideSearch:r}){const[i,n]=(0,import_react2.useState)(""),[a,l]=(0,import_react2.useState)(STEP),c=(0,import_react2.useMemo)(()=>e.length>1,[e]),u=(0,import_react2.useMemo)(()=>c?t==null?void 0:t[1]:(t==null?void 0:t.length)>0,[t]);(0,import_react2.useEffect)(()=>{u||n("")},[u]);const m=(0,import_react2.useMemo)(()=>{var _,f;return c?u?((_=e.find(v=>(v.key||v.name)===u))==null?void 0:_.children)||[]:[]:((f=e[0])==null?void 0:f.children)||[]},[e,c,u]),d=(0,import_react2.useMemo)(()=>{if(!i)return m;const _=i.toLocaleLowerCase();return m.filter(f=>(f.label||f.title)&&String(f.label||f.title).toLocaleLowerCase().includes(_))},[i,m]),p=(0,import_react2.useMemo)(()=>d.length>a,[a,d]),g=(0,import_react2.useMemo)(()=>d.slice(0,a),[d,a]),h=(0,import_react2.useMemo)(()=>{const _=[];return r||_.push(Object.assign({key:"search",label:(0,import_jsx_runtime.jsx)(SearchCollections,{value:i,onChange:f=>{l(STEP),n(f)}}),onClick({domEvent:f}){f.stopPropagation()}},o?{isMenuType:!0}:{})),g.length>0?(_.push(...g),p&&_.push(Object.assign({key:"load-more",label:(0,import_jsx_runtime.jsx)(LoadingItem,{maxHeight:STEP*MENU_ITEM_HEIGHT,loadMore:()=>{l(f=>f+STEP)}})},o?{isMenuType:!0}:{}))):_.push(Object.assign({key:"empty",style:{height:150},label:(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}:{})),_},[r,g,i,p,o]);return(0,import_react2.useMemo)(()=>c?e.map(_=>u&&_.key===u?P(x({},_),{children:h}):P(x({},_),{children:[]})):h,[e,c,u,h])}const DataBlockInitializer=e=>{var t,o;const{templateWrap:r,onCreateBlockSchema:i,componentType:n,icon:a=import_icons.TableOutlined,name:l,title:c,filter:u,onlyCurrentDataSource:m,hideSearch:d,showAssociationFields:p,hideChildrenIfSingleCollection:g,filterDataSource:h,items:_,hideOtherRecordsInPopup:f,onClick:v,filterOtherRecordsCollection:b,currentText:S,otherText:C,alwaysRenderMenu:y}=e,{insert:F,setVisible:j}=useSchemaInitializer(),k=useCompile(),{getTemplateSchemaByMode:R}=useSchemaTemplateManager(),N=(0,import_react2.useCallback)(M=>V(void 0,null,function*(){const{item:z,fromOthersInPopup:E}=M;if(v)return v(M);if(z.template){const L=yield R(z);F(r?r(L,{item:z,fromOthersInPopup:E}):L)}else i&&i({item:z,fromOthersInPopup:E});j(!1)}),[R,F,j,i,v,r]),w=_||useCollectionDataSourceItems({name:l,componentName:n,filter:u,filterDataSource:h,filterOtherRecordsCollection:b,onlyCurrentDataSource:m,showAssociationFields:p,dataBlockInitializerProps:e,hideOtherRecordsInPopup:f,onClick:N,currentText:S,otherText:C}),O=useGetSchemaInitializerMenuItems(N),D=(0,import_react2.useMemo)(()=>O(w,l),[O,w,l]),[T,$]=(0,import_react2.useState)([]),B=useMenuSearch({data:D,openKeys:T,hideSearch:d}),I=(0,import_react2.useMemo)(()=>{let M=B.filter(z=>z.key!=="search"&&z.key!=="empty");return g&&M.length===1?M=M[0].children:M=B,[{key:l,label:k(c),icon:typeof a=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:a}):a,onClick:z=>{z.key===l&&N(P(x({},z),{item:e}))},children:M}]},[B,g,l,k,c,a,N,e]);return D.length>1||D.length===1&&((o=(t=D[0])==null?void 0:t.children)==null?void 0:o.length)>0||y?(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:M=>{$(M)},items:I}):(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},e),{onClick:N}))},G2PlotInitializer=()=>{const e=useSchemaInitializerItem(),{insert:t}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},e),{onClick:()=>{t(x({},e.schema))}}))},createTableBlockUISchema=e=>{const{collectionName:t,dataSource:o,association:r}=e;if(!o)throw new Error("dataSource is required");return{type:"void","x-decorator":"TableBlockProvider","x-acl-action":`${r||t}:list`,"x-use-decorator-props":"useTableBlockDecoratorProps","x-decorator-props":{collection:t,association:r,dataSource:o,action:"list",params:{pageSize:20},showIndex:!0,dragSort:!1},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:table","x-component":"CardItem","x-filter-targets":[],properties:{actions:{type:"void","x-initializer":"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{}},[(0,import_shared.uid)()]:{type:"array","x-initializer":"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-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{initializer:"table:configureItemActions"},properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"}}}}}}}}},RecordAssociationBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createTableBlockUISchema({dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("Table",e,a.target,c)}))};function useCreateAssociationTableBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationTableBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createTableBlockUISchema({dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}function createDetailsWithPaginationUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i,hideActionInitializer:n,rowKey:a}=e,l=r||t;if(!o||!a)throw new Error("dataSource and rowKey are required");return{type:"void","x-acl-action":`${l}:view`,"x-decorator":"DetailsBlockProvider","x-use-decorator-props":"useDetailsWithPaginationDecoratorProps","x-decorator-props":{dataSource:o,collection:t,association:r,readPretty:!0,action:"list",params:{pageSize:1}},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:detailsWithPagination","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-read-pretty":!0,"x-use-component-props":"useDetailsWithPaginationProps",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":n?void 0:"details:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields",properties:{}},pagination:{type:"void","x-component":"Pagination","x-use-component-props":"useDetailsPaginationProps"}}}}}}const RecordAssociationDetailsBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createDetailsWithPaginationUISchema({dataSource:l.dataSource,association:c,rowKey:l.filterTargetKey||"id"}))}),items:useRecordCollectionDataSourceItems("Details",e,a.target,c)}))};function useCreateAssociationDetailsBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationDetailsBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createDetailsWithPaginationUISchema({dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`,rowKey:i.filterTargetKey||"id"}))},[t,e])}}function createCreateFormBlockUISchema(e){const{collectionName:t,association:o,dataSource:r,templateSchema:i,isCusomeizeCreate:n}=e,a=o||t;if(!r)throw new Error("dataSource are required");return{type:"void","x-acl-action-props":{skipScopeCheck:!0},"x-acl-action":`${a}:create`,"x-decorator":"FormBlockProvider","x-use-decorator-props":"useCreateFormBlockDecoratorProps","x-decorator-props":{dataSource:r,collection:t,association:o,isCusomeizeCreate:n},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:createForm","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useCreateFormBlockProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"form:configureFields",properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":"createForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column"}}}}}}}const RecordAssociationFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getCollection:i}=useCollectionManager_deprecated(),{getTemplateSchemaByMode:n}=useSchemaTemplateManager(),a=e.field,l=a.target,c=(0,import_react2.useMemo)(()=>i(l),[l]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield n(m);if(m.template.componentName==="FormItem"){const p=createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${a.collectionName}.${a.name}`,templateSchema:d});m.mode==="reference"&&(p["x-template-key"]=m.template.key),r(p)}else r(d)}else r(createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${a.collectionName}.${a.name}`}))}),items:useRecordCollectionDataSourceItems("FormItem",e,c,`${a.collectionName}.${a.name}`)}))};function useCreateAssociationFormBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated(),{componentNamePrefix:o}=useBlockTemplateContext(),r=(0,import_react2.useCallback)(({item:n})=>{const a=n.associationField,l=t(a.target);e(createCreateFormBlockUISchema({dataSource:l.dataSource,association:`${a.collectionName}.${a.name}`}))},[t,e]),i=(0,import_react2.useCallback)((n,{item:a})=>{if(a.template.componentName===`${o}FormItem`&&a.associationField){const l=a.associationField,c=t(l.target),u=createCreateFormBlockUISchema({dataSource:c.dataSource,association:`${l.collectionName}.${l.name}`,templateSchema:n});return a.mode==="reference"&&(u["x-template-key"]=a.template.key),u}else return n},[t,o]);return{createAssociationFormBlock:r,templateWrap:i}}const createGridCardBlockUISchema=e=>{const{collectionName:t,association:o,templateSchema:r,dataSource:i,rowKey:n}=e,a=o||t;if(!i)throw new Error("dataSource are required");return{type:"void","x-acl-action":`${a}:view`,"x-decorator":"GridCard.Decorator","x-use-decorator-props":"useGridCardBlockDecoratorProps","x-decorator-props":{collection:t,association:o,dataSource:i,readPretty:!0,action:"list",params:{pageSize:12},runWhenParamsChanged:!0,rowKey:n},"x-component":"BlockItem","x-use-component-props":"useGridCardBlockItemProps","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:gridCard",properties:{actionBar:{type:"void","x-initializer":"gridCard:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},list:{type:"array","x-component":"GridCard","x-use-component-props":"useGridCardBlockProps",properties:{item:{type:"object","x-component":"GridCard.Item","x-read-pretty":!0,"x-use-component-props":"useGridCardItemProps",properties:{grid:r||{type:"void","x-component":"Grid","x-initializer":"details:configureFields"},actionBar:{type:"void","x-align":"left","x-initializer":"gridCard:configureItemActions","x-component":"ActionBar","x-use-component-props":"useGridCardActionBarProps","x-component-props":{layout:"one-column"}}}}}}}}},RecordAssociationGridCardBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createGridCardBlockUISchema({rowKey:l.filterTargetKey,dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("GridCard",e,a.target,c)}))};function useCreateAssociationGridCardBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationGridCardBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createGridCardBlockUISchema({rowKey:i.filterTargetKey,dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}const createListBlockUISchema=e=>{const{collectionName:t,dataSource:o,association:r,templateSchema:i,rowKey:n}=e;return{type:"void","x-acl-action":`${r||t}:view`,"x-decorator":"List.Decorator","x-use-decorator-props":"useListBlockDecoratorProps","x-decorator-props":{collection:t,dataSource:o,association:r,readPretty:!0,action:"list",params:{pageSize:10},runWhenParamsChanged:!0,rowKey:n},"x-component":"CardItem","x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:list",properties:{actionBar:{type:"void","x-initializer":"list:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},list:{type:"array","x-component":"List","x-use-component-props":"useListBlockProps",properties:{item:{type:"object","x-component":"List.Item","x-read-pretty":!0,"x-use-component-props":"useListItemProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields"},actionBar:{type:"void","x-align":"left","x-initializer":"list:configureItemActions","x-component":"ActionBar","x-use-component-props":"useListActionBarProps","x-component-props":{layout:"one-column"}}}}}}}}},RecordAssociationListBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),{getCollection:n}=useCollectionManager_deprecated(),a=e.field,l=n(a.target),c=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(d)}else r(createListBlockUISchema({rowKey:l.filterTargetKey,dataSource:l.dataSource,association:c}))}),items:useRecordCollectionDataSourceItems("List",e,a.target,c)}))};function useCreateAssociationListBlock(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createAssociationListBlock:(0,import_react2.useCallback)(({item:o})=>{const r=o.associationField,i=t(r.target);e(createListBlockUISchema({rowKey:i.filterTargetKey,dataSource:i.dataSource,association:`${r.collectionName}.${r.name}`}))},[t,e])}}function createDetailsUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i}=e,n=r||t,a=e.isCurrent?{"x-is-current":!0}:{};if(!o)throw new Error("dataSource are required");return P(x({type:"void","x-acl-action":`${n}:get`,"x-decorator":"DetailsBlockProvider","x-use-decorator-props":"useDetailsDecoratorProps","x-decorator-props":{dataSource:o,collection:t,association:r,readPretty:!0,action:"get"},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:details","x-component":"CardItem"},a),{properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Details","x-read-pretty":!0,"x-use-component-props":"useDetailsProps",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":"details:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:24}},properties:{}},grid:i||{type:"void","x-component":"Grid","x-initializer":"details:configureFields",properties:{}}}}}})}const RecordReadPrettyAssociationFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),t=e,o=Y(t,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:r}=useSchemaInitializer(),{getCollection:i}=useCollectionManager_deprecated(),{getTemplateSchemaByMode:n}=useSchemaTemplateManager(),a=e.field,l=a.target,c=i(l),u=`${a.collectionName}.${a.name}`;return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:m=>V(void 0,[m],function*({item:d}){if(d.template){const p=yield n(d);if(d.template.componentName==="ReadPrettyFormItem"){const g=createDetailsUISchema({dataSource:c.dataSource,association:u,templateSchema:p});d.mode==="reference"&&(g["x-template-key"]=d.template.key),r(g)}else r(p)}else r(createDetailsUISchema({association:u,dataSource:c.dataSource}))}),items:useRecordCollectionDataSourceItems("ReadPrettyFormItem",e,c,u)}))};function useCreateAssociationDetailsWithoutPagination(){const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated(),{componentNamePrefix:o}=useBlockTemplateContext(),r=(0,import_react2.useCallback)(({item:n})=>{const a=n.associationField,l=t(a.target);e(createDetailsUISchema({dataSource:l.dataSource,association:`${a.collectionName}.${a.name}`}))},[t,e]),i=(0,import_react2.useCallback)((n,{item:a})=>{const l=a.associationField,c=t(l.target);if(a.template.componentName===`${o}ReadPrettyFormItem`){const u=createDetailsUISchema({dataSource:c.dataSource,association:`${l.collectionName}.${l.name}`,templateSchema:n});return a.mode==="reference"&&(u["x-template-key"]=a.template.key),u}else return n},[t,o]);return{createAssociationDetailsWithoutPagination:r,templateWrap:i}}const SelectActionInitializer=e=>{const t={type:"void",title:'{{ t("Select") }}',"x-action":"update","x-designer":"Action.Designer","x-component":"Action","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void","x-component":"AssociationField.Selector",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:t}))},SubmitActionInitializer=e=>{const t={title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:t}))},TableActionColumnInitializer=()=>{const e={type:"void",title:'{{ t("Actions") }}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column","x-toolbar":"TableColumnSchemaToolbar","x-initializer":"table:configureItemActions","x-settings":"fieldSettings:TableColumn","x-toolbar-props":{initializer:"table:configureItemActions"},"x-action-column":"actions",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{}}}},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{schema:e,item:t,type:"x-action-column"}))};function ModalActionSchemaInitializerItem(e){const t=e,{modalSchema:o={},components:r={}}=t,i=Y(t,["modalSchema","components"]),n=o,{properties:a}=n,l=Y(n,["properties"]),[c,u]=(0,import_react2.useState)(!1),{setVisible:m}=(0,import_client4.useSchemaInitializer)(),d=(0,import_react2.useMemo)(()=>P(x({name:(0,import_client.uid)(),"x-component":"Action.Modal","x-component-props":{width:"520px"},type:"void","x-decorator":"FormV2","x-decorator-props":{}},l),{properties:P(x({},a),{footer1:{"x-component":"Action.Modal.Footer",type:"void",properties:{close:{title:"Cancel","x-component":"Action","x-component-props":{type:"default"},"x-use-component-props":()=>({onClick(){var p;u(!1),(p=e==null?void 0:e.onCancel)==null||p.call(e)}})},submit:{title:"OK","x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":()=>{const p=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){var g;yield p.submit(),u(!1),(g=e==null?void 0:e.onSubmit)==null||g.call(e,p.values)})}}}}}}})}),[c]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(import_client4.SchemaInitializerItem,P(x({},i),{onClick:p=>{var g;m(!1),u(!0),(g=e==null?void 0:e.onClick)==null||g.call(e,p)}})),(0,import_jsx_runtime.jsx)(import_client4.ActionContextProvider,{value:{visible:c,setVisible:u},children:(0,import_jsx_runtime.jsx)(import_client4.SchemaComponent,{components:x({Action:import_client4.Action},r),schema:d})})]})}const items=Object.freeze(Object.defineProperty({__proto__:null,ActionBarAssociationFilterAction,ActionInitializer,ActionInitializerItem,AssociationFilter,AssociationFilterDesignerDelete,AssociationFilterDesignerDisplayField,AssociationFilterPlugin,BlockInitializer,BlockItemInitializer,CreateFilterActionInitializer,CreateResetActionInitializer,CustomizeActionInitializer,DataBlockInitializer,G2PlotInitializer,InitializerWithSwitch,ModalActionSchemaInitializerItem,RecordAssociationBlockInitializer,RecordAssociationDetailsBlockInitializer,RecordAssociationFormBlockInitializer,RecordAssociationGridCardBlockInitializer,RecordAssociationListBlockInitializer,RecordReadPrettyAssociationFormBlockInitializer,SearchCollections,SelectActionInitializer,SubmitActionInitializer,TableActionColumnInitializer,useCreateAssociationDetailsBlock,useCreateAssociationDetailsWithoutPagination,useCreateAssociationFormBlock,useCreateAssociationGridCardBlock,useCreateAssociationListBlock,useCreateAssociationTableBlock,useMenuSearch},Symbol.toStringTag,{value:"Module"})),UpdateRecordActionInitializer=e=>{const t={title:'{{ t("Update record") }}',"x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-use-component-props":"useCustomizeUpdateActionProps","x-action":"customize:update","x-decorator":"ACLActionProvider","x-acl-action":"update","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:updateRecord","x-action-settings":{assignedValues:{},onSuccess:{manualClose:!1,redirecting:!1,successMessage:'{{t("Updated successfully")}}'},triggerWorkflows:[]}},o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{schema:t,item:o}))},PopupActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Popup") }}',"x-action":"customize:popup","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-component-props":{openMode:t,refreshDataBlockRequest:!0},"x-decorator":"ACLActionProvider",properties:{drawer:{type:"void",title:'{{ t("Popup") }}',"x-component":"Action.Container","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":(e==null?void 0:e["x-initializer"])||"popup:common:addBlock",properties:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()},i=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},i),{schema:r,item:i}))},LinkActionInitializer=e=>{const t={type:"void",title:'{{ t("Link") }}',"x-action":"customize:link","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:link","x-component":(e==null?void 0:e["x-component"])||"Action.Link","x-use-component-props":"useLinkActionProps","x-decorator":"ACLActionProvider"},o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},o),{schema:t,item:o}))},recordFormBlockInitializers=new SchemaInitializer({name:"RecordFormBlockInitializers",title:'{{ t("Add block") }}',icon:"PlusOutlined",wrap:gridRowColWrap,items:[{type:"itemGroup",title:'{{ t("Data blocks") }}',name:"dataBlocks",children:[{name:"form",title:'{{ t("Form") }}',Component:"RecordFormBlockInitializer"}]},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]}),UpdateActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-acl-action":"update","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:edit","x-component":"Action","x-component-props":{openMode:t,icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","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("Edit")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:r}))},ViewActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("View") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action","x-component-props":{openMode:t},properties:{drawer:{type:"void",title:'{{ t("View record") }}',"x-component":"Action.Container","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:{}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()};return(0,import_jsx_runtime.jsx)(ActionInitializerItem,P(x({},e),{schema:r}))},useActionAvailable=e=>{var t,o;const r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?(t=n==null?void 0:n.includes)==null?void 0:t.call(n,e):i?!((o=i==null?void 0:i.includes)!=null&&o.call(i,e)):!0},commonOptions$k={title:'{{t("Configure actions")}}',icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",title:'{{t("Enable actions")}}',name:"enableActions",children:[{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")}]}]},detailsActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"DetailsActionInitializers"},commonOptions$k)),detailsActionInitializers=new CompatibleSchemaInitializer(x({name:"detailsWithPaging:configureActions"},commonOptions$k),detailsActionInitializers_deprecated),DetailsBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,componentType:r="Details",createBlockSchema:i,templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l})=>{const c=useSchemaInitializerItem(),{createDetailsBlock:u}=useCreateDetailsBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},c),{icon:(0,import_jsx_runtime.jsx)(import_icons.ProfileOutlined,{}),componentType:r,onCreateBlockSchema:m=>V(void 0,null,function*(){if(i)return i(m);u(m)}),onlyCurrentDataSource:!!t,hideSearch:o,filter:e,templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l}))},useCreateDetailsBlock=()=>{const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createDetailsBlock:(0,import_react2.useCallback)(({item:o})=>{const r=t(o.name,o.dataSource),i=createDetailsWithPaginationUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id",hideActionInitializer:!((r.template!=="view"||r!=null&&r.writableView)&&r.template!=="sql")});e(i)},[t,e])}},commonOptions$j={title:'{{t("Configure actions")}}',icon:"SettingOutlined",style:{marginLeft:8},items:[{title:'{{t("Edit")}}',name:"edit",Component:"UpdateActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{type:"primary"}},useVisible:()=>useActionAvailable("update")},{title:'{{t("Delete")}}',name:"delete",Component:"DestroyActionInitializer",schema:{"x-component":"Action","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")},{type:"item",title:'{{t("Disassociate")}}',name:"disassociate",Component:"DisassociateActionInitializer",schema:{"x-component":"Action","x-action":"disassociate","x-acl-action":"update","x-decorator":"ACLActionProvider"},useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action"}}},{name:"updateRecord",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useComponentProps(){return{"x-component":"Action"}},useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action"}}}]},readPrettyFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ReadPrettyFormActionInitializers"},commonOptions$j)),readPrettyFormActionInitializers=new CompatibleSchemaInitializer(x({name:"details:configureActions"},commonOptions$j),readPrettyFormActionInitializers_deprecated),ParentCollectionFields$3=()=>{const e=useInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields$2=()=>{const e=useAssociatedFormItemInitializerFields({readPretty:!0,block:"Form"}),{t}=(0,import_react_i18next.useTranslation)();if(e.length===0)return null;const o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},commonOptions$i={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$3},{name:"associationFields",Component:AssociatedFields$2},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-decorator-props":{engine:"handlebars"},"x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}}},{name:"addDivider",title:'{{t("Add group")}}',Component:"BlockItemInitializer",schema:{type:"void","x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:divider","x-component":"Divider","x-component-props":{children:'{{t("Group")}}'}}}]},readPrettyFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ReadPrettyFormItemInitializers"},commonOptions$i)),readPrettyFormItemInitializers=new CompatibleSchemaInitializer(x({name:"details:configureFields"},commonOptions$i),readPrettyFormItemInitializers_deprecated),RecordReadPrettyFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),{icon:t=!0,targetCollection:o}=e,r=Y(e,["icon","targetCollection"]),i=useCollection_deprecated(),n=o||i,{createSingleDetailsSchema:a}=useCreateSingleDetailsSchema();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:t&&(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},r),{onClick:l=>a(l),items:useRecordCollectionDataSourceItems("ReadPrettyFormItem",null,n==null?void 0:n.name)}))};function useCreateSingleDetailsSchema(){const{insert:e}=useSchemaInitializer(),{getTemplateSchemaByMode:t}=useSchemaTemplateManager(),o=useAssociationName(),r=useCollectionManager(),{componentNamePrefix:i}=useBlockTemplateContext(),n=(0,import_react2.useCallback)((a,l)=>{const{item:c}=l;if(c.template.componentName===`${i}ReadPrettyFormItem`){const u=c.collectionName||c.name,m=r.getCollection(u),d=createDetailsUISchema(o?{association:o,collectionName:m.isInherited()?u:void 0,dataSource:c.dataSource,templateSchema:a,isCurrent:!0}:{collectionName:u,dataSource:c.dataSource,templateSchema:a});return c.mode==="reference"&&(d["x-template-key"]=c.template.key),d}else return a},[o,r,i]);return{createSingleDetailsSchema:(0,import_react2.useCallback)(a=>V(this,[a],function*({item:l}){if(l.template){const c=yield t(l);e(n(c,{item:l}))}else{const c=l.collectionName||l.name,u=r.getCollection(c);e(createDetailsUISchema(o?{association:o,collectionName:u.isInherited()?c:void 0,dataSource:l.dataSource,isCurrent:!0}:{collectionName:c,dataSource:l.dataSource}))}}),[o,r,t,e,n]),templateWrap:n}}const FormBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a,hideChildrenIfSingleCollection:l,hideOtherRecordsInPopup:c,currentText:u,otherText:m})=>{const d=useSchemaInitializerItem(),{createFormBlock:p,templateWrap:g}=useCreateFormBlock(),h=(0,import_react2.useCallback)(f=>{if(r)return r(f);p(f)},[r,p]),_=(0,import_react2.useCallback)((f,v)=>n?n(f,v):g(f,v),[n,g]);return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},d),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),componentType:i,templateWrap:_,onCreateBlockSchema:h,filter:e,onlyCurrentDataSource:t,hideSearch:o,showAssociationFields:a,hideChildrenIfSingleCollection:l,hideOtherRecordsInPopup:c,currentText:u,otherText:m}))},useCreateFormBlock=()=>{const{insert:e}=useSchemaInitializer(),t=useAssociationName(),{isCusomeizeCreate:o}=useSchemaInitializerItem(),r=(0,import_react2.useCallback)(({item:n,fromOthersInPopup:a})=>{e(createCreateFormBlockUISchema(a?{collectionName:n.collectionName||n.name,dataSource:n.dataSource,isCusomeizeCreate:!0}:t?{association:t,dataSource:n.dataSource,isCusomeizeCreate:o}:{collectionName:n.collectionName||n.name,dataSource:n.dataSource,isCusomeizeCreate:o}))},[t,e,o]),i=(0,import_react2.useCallback)((n,{item:a,fromOthersInPopup:l})=>{let c;return l?c=createCreateFormBlockUISchema({dataSource:a.dataSource,templateSchema:n,collectionName:a.name,isCusomeizeCreate:!0}):c=createCreateFormBlockUISchema(t?{dataSource:a.dataSource,templateSchema:n,collectionName:a.name,association:t,isCusomeizeCreate:o}:{dataSource:a.dataSource,templateSchema:n,collectionName:a.name,isCusomeizeCreate:o}),a.template&&a.mode==="reference"&&(c["x-template-key"]=a.template.key),c},[t,o]);return{createFormBlock:r,templateWrap:i}};function createEditFormBlockUISchema(e){const{collectionName:t,dataSource:o,association:r,templateSchema:i}=e,n=r||t,a=e.isCurrent?{"x-is-current":!0}:{};if(!o)throw new Error("dataSource are required");return P(x({type:"void","x-acl-action-props":{skipScopeCheck:!1},"x-acl-action":`${n}:update`,"x-decorator":"FormBlockProvider","x-use-decorator-props":"useEditFormBlockDecoratorProps","x-decorator-props":{action:"get",dataSource:o,collection:t,association:r},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:editForm","x-component":"CardItem"},a),{properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useEditFormBlockProps",properties:{grid:i||{type:"void","x-component":"Grid","x-initializer":"form:configureFields",properties:{}},[(0,import_shared.uid)()]:{type:"void","x-initializer":"editForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column"}}}}}})}const RecordFormBlockInitializer=()=>{const e=useSchemaInitializerItem(),{targetCollection:t}=e,o=Y(e,["targetCollection"]),{insert:r}=useSchemaInitializer(),{getTemplateSchemaByMode:i}=useSchemaTemplateManager(),n=useCollection_deprecated(),a=t||n,{createEditFormBlock:l,templateWrap:c}=useCreateEditFormBlock();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},o),{onClick:u=>V(void 0,[u],function*({item:m}){if(m.template){const d=yield i(m);r(c(d,{item:m}))}else l({item:m})}),items:useRecordCollectionDataSourceItems("FormItem",null,a==null?void 0:a.name)}))};function useCreateEditFormBlock(){const{insert:e}=useSchemaInitializer(),t=useAssociationName(),o=useCollectionManager(),{componentNamePrefix:r}=useBlockTemplateContext(),i=(0,import_react2.useCallback)(({item:a})=>{const l=a.collectionName||a.name,c=o.getCollection(l);e(createEditFormBlockUISchema(t?{association:t,collectionName:c.isInherited()?l:void 0,dataSource:a.dataSource,isCurrent:!0}:{collectionName:l,dataSource:a.dataSource}))},[t,o,e]),n=(0,import_react2.useCallback)((a,{item:l})=>{if(l.template.componentName===`${r}FormItem`){const c=l.collectionName||l.name,u=o.getCollection(c),m=createEditFormBlockUISchema(t?{association:t,collectionName:u.isInherited()?c:void 0,dataSource:l.dataSource,templateSchema:a,isCurrent:!0}:{collectionName:c,dataSource:l.dataSource,templateSchema:a});return l.mode==="reference"&&(m["x-template-key"]=l.template.key),m}else return a},[t,o,r]);return{createEditFormBlock:i,templateWrap:n}}const commonOptions$h={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"CreateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",useVisible(){const{type:e}=useDataBlockProps()||{};return e!=="publicForm"}}]},createFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"CreateFormActionInitializers"},commonOptions$h)),createFormActionInitializers=new CompatibleSchemaInitializer(x({name:"createForm:configureActions"},commonOptions$h),createFormActionInitializers_deprecated),formActionInitializers=new SchemaInitializer({name:"FormActionInitializers",title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"CreateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"}]}),ParentCollectionFields$2=()=>{const e=useInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields$1=()=>{const e=useAssociatedFormItemInitializerFields({readPretty:!0,block:"Form"}),{t}=(0,import_react_i18next.useTranslation)();if(e.length===0)return null;const o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},FilterParentCollectionFields=()=>{const e=useFilterInheritsFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile(),r=[];return(e==null?void 0:e.length)>0&&e.forEach(i=>{Object.values(i)[0].length&&r.push({divider:!0,type:"itemGroup",title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},FilterAssociatedFields=()=>{const e=useFilterAssociatedFormItemInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=[{type:"itemGroup",title:t("Display association fields"),children:e}];return(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:o})},commonOptions$g={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$2},{name:"associationFields",Component:AssociatedFields$1},{name:"divider",type:"divider"},{name:"addText",title:'{{t("Add Markdown")}}',Component:"MarkdownFormItemInitializer"},{name:"addDivider",title:'{{t("Add group")}}',Component:"DividerFormItemInitializer"}]},formItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FormItemInitializers"},commonOptions$g)),formItemInitializers=new CompatibleSchemaInitializer(x({name:"form:configureFields"},commonOptions$g),formItemInitializers_deprecated),commonOptions$f={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"submit",title:'{{t("Submit")}}',Component:"UpdateSubmitActionInitializer",schema:{"x-action-settings":{}}},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action"}}},{type:"item",name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer"}]},updateFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"UpdateFormActionInitializers"},commonOptions$f)),updateFormActionInitializers=new CompatibleSchemaInitializer(x({name:"editForm:configureActions"},commonOptions$f),updateFormActionInitializers_deprecated),commonOptions$e={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{name:"refresh",title:"{{t('Refresh')}}",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"import",title:"{{t('Import')}}",Component:"ImportActionInitializer",schema:{"x-align":"right","x-acl-action":"importXlsx","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("import")},{name:"export",title:"{{t('Export')}}",Component:"ExportActionInitializer",useVisible:()=>useActionAvailable("export"),schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},gridCardActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"GridCardActionInitializers"},commonOptions$e)),gridCardActionInitializers=new CompatibleSchemaInitializer(x({name:"gridCard:configureActions"},commonOptions$e),gridCardActionInitializers_deprecated),GridCardBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a})=>{const l=useSchemaInitializerItem(),{createGridCardBlock:c}=useCreateGridCardBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},l),{icon:(0,import_jsx_runtime.jsx)(import_icons.AppstoreOutlined,{}),componentType:"GridCard",onCreateBlockSchema:u=>V(void 0,null,function*(){if(r)return r(u);c(u)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:a}))},useCreateGridCardBlock=()=>{const{insert:e}=useSchemaInitializer(),{getCollection:t}=useCollectionManager_deprecated();return{createGridCardBlock:({item:o})=>{const r=t(o.name,o.dataSource),i=createGridCardBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});e(i)}}},commonOptions$d={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"view",title:'{{t("View")}}',Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("get")},{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("destroy")},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}},{name:"update-record",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},gridCardItemActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"GridCardItemActionInitializers"},commonOptions$d)),gridCardItemActionInitializers=new CompatibleSchemaInitializer(x({name:"gridCard:configureItemActions"},commonOptions$d),gridCardItemActionInitializers_deprecated),commonOptions$c={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{name:"refresh",title:"{{t('Refresh')}}",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{name:"import",title:"{{t('Import')}}",Component:"ImportActionInitializer",schema:{"x-align":"right","x-acl-action":"importXlsx","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("import")},{name:"export",title:"{{t('Export')}}",Component:"ExportActionInitializer",useVisible:()=>useActionAvailable("export"),schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},listActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ListActionInitializers"},commonOptions$c)),listActionInitializers=new CompatibleSchemaInitializer(x({name:"list:configureActions"},commonOptions$c),listActionInitializers_deprecated),ListBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,componentType:i="FormItem",templateWrap:n,showAssociationFields:a})=>{const l=useSchemaInitializerItem(),{createListBlock:c}=useCreateListBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},l),{icon:(0,import_jsx_runtime.jsx)(import_icons.OrderedListOutlined,{}),componentType:"List",onCreateBlockSchema:u=>V(void 0,null,function*(){if(r)return r(u);c(u)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:a}))},useCreateListBlock=()=>{const{getCollection:e}=useCollectionManager_deprecated(),{insert:t}=useSchemaInitializer();return{createListBlock:({item:o})=>{const r=e(o.name,o.dataSource),i=createListBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});t(i)}}},commonOptions$b={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"view",title:'{{t("View")}}',Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("get")},{name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("update")},{name:"delete",title:'{{t("Delete")}}',Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider","x-align":"left"},useVisible:()=>useActionAvailable("destroy")},{name:"popup",title:'{{t("Popup")}}',Component:"PopupActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}},{name:"updateRecord",title:'{{t("Update record")}}',Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},listItemActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"ListItemActionInitializers"},commonOptions$b)),listItemActionInitializers=new CompatibleSchemaInitializer(x({name:"list:configureItemActions"},commonOptions$b),listItemActionInitializers_deprecated),createTableSelectorUISchema=e=>{const{collectionName:t,dataSource:o,rowKey:r}=e;if(!t||!o||!r)throw new Error("collectionName, dataSource, rowKey is required");return{type:"void","x-acl-action":`${t}:list`,"x-decorator":"TableSelectorProvider","x-use-decorator-props":"useTableSelectorDecoratorProps","x-decorator-props":{collection:t,dataSource:o,action:"list",params:{pageSize:20},rowKey:r},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:tableSelector","x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-initializer":"table:configureActions","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}}},value:{type:"array","x-initializer":"table:configureColumns","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowSelection:{type:"checkbox"}}}}}},TableSelectorInitializer=()=>{const e=useSchemaInitializerItem(),t=Y(e,["onCreateBlockSchema","componentType","createBlockSchema"]),{insert:o}=useSchemaInitializer(),r=useCollection_deprecated();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{})},t),{onClick:()=>V(void 0,null,function*(){o(createTableSelectorUISchema({rowKey:r.filterTargetKey,collectionName:r.name,dataSource:r.dataSource}))})}))},Resizable=()=>{var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaInitializerActionModal,{title:t("Column width"),component:import_react2.default.forwardRef((i,n)=>{const a=i,{children:l,onClick:c}=a,u=Y(a,["children","onClick"]);return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({ref:n,onClick:({event:m})=>{c(m)}},u),{title:t("Column width")}))}),schema:{type:"object",title:t("Column width"),properties:{width:{"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{},default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100}}},onSubmit:({width:i})=>{const n=r["x-component-props"]||{};n.width=i;const a={"x-uid":r["x-uid"]};a["x-component-props"]=n,r["x-component-props"]=n,o.emit("patch",{schema:a}),o.refresh()}})},SchemaSettingsFixed=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=[{label:r("Not fixed"),value:"none"},{label:r("Left fixed"),value:"left"},{label:r("Right fixed"),value:"right"}];return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,{children:(0,import_jsx_runtime.jsx)(SelectWithTitle,{title:r("Fixed"),options:n,defaultValue:((e=t.componentProps)==null?void 0:e.fixed)||"none",onChange:a=>{const l={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fixed=a,l["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.fixed=a,i.emit("patch",{schema:l}),i.refresh()}},"fixed")})},commonOptions$a={insertPosition:"beforeEnd",useInsert:function e(){const{refresh:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),r=useAPIClient(),{t:i}=(0,import_react_i18next.useTranslation)();return function(n){const a=o.reduceProperties((c,u)=>u["x-component"]==="Space"?u:c,null);if(!a)return;import_lodash.default.set(n,"x-designer-props.linkageAction",!0);const l=createDesignable({t:i,api:r,refresh:t,current:a});l.loadAPIClientEvents(),l.insertBeforeEnd(n)}},Component:e=>{const{getAriaLabel:t}=useGetAriaLabelOfDesigner();return(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},e),{role:"button","aria-label":t("schema-initializer"),style:{cursor:"pointer"}}))},items:[{type:"item",title:'{{t("View")}}',name:"view",Component:"ViewActionInitializer",schema:{"x-component":"Action.Link","x-action":"view","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("get")},{type:"item",name:"edit",title:'{{t("Edit")}}',Component:"UpdateActionInitializer",schema:{"x-component":"Action.Link","x-action":"update","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("update")},{type:"item",title:'{{t("Delete")}}',name:"delete",Component:"DestroyActionInitializer",schema:{"x-component":"Action.Link","x-action":"destroy","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroy")},{type:"item",title:'{{t("Disassociate")}}',name:"disassociate",Component:"DisassociateActionInitializer",schema:{"x-component":"Action.Link","x-action":"disassociate","x-acl-action":"update","x-decorator":"ACLActionProvider"},useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{type:"item",title:'{{t("Add child")}}',name:"addChildren",Component:"CreateChildInitializer",schema:{"x-component":"Action.Link","x-action":"create","x-decorator":"ACLActionProvider"},useVisible(){var e;const t=(0,import_react.useFieldSchema)(),o=useCollection(),{treeTable:r}=((e=t==null?void 0:t.parent)==null?void 0:e.parent["x-decorator-props"])||{};return o.tree&&r}},{type:"item",title:'{{t("Popup")}}',name:"popup",Component:"PopupActionInitializer"},{type:"item",title:'{{t("Update record")}}',name:"updateRecord",Component:"UpdateRecordActionInitializer",useVisible:()=>useActionAvailable("update")},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request"}},{name:"link",title:'{{t("Link")}}',Component:"LinkActionInitializer",useComponentProps(){return{"x-component":"Action.Link"}}}]},tableActionColumnInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableActionColumnInitializers"},commonOptions$a)),tableActionColumnInitializers=new CompatibleSchemaInitializer(x({name:"table:configureItemActions"},commonOptions$a),tableActionColumnInitializers_deprecated),commonOptions$9={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"item",name:"filter",title:"{{t('Filter')}}",Component:"FilterActionInitializer",schema:{"x-align":"left"}},{type:"item",title:"{{t('Add new')}}",name:"addNew",Component:"CreateActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:()=>useActionAvailable("create")},{type:"item",title:'{{t("Associate")}}',name:"associate",Component:"AssociateActionInitializer",useVisible(){var e,t;const o=useDataBlockProps(),r=useCollection()||{},{unavailableActions:i,availableActions:n}=(r==null?void 0:r.options)||{};return n?!!(o!=null&&o.association)&&((e=n.includes)==null?void 0:e.call(n,"update")):i?!!(o!=null&&o.association)&&!((t=i==null?void 0:i.includes)!=null&&t.call(i,"update")):!0}},{type:"item",title:"{{t('Popup')}}",name:"popup",Component:"PopupActionInitializer",componentProps:{"x-component":"Action","x-initializer":"page:addBlock"},schema:{"x-align":"right"}},{type:"item",title:"{{t('Delete')}}",name:"delete",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider"},useVisible:()=>useActionAvailable("destroyMany")},{type:"item",title:"{{t('Refresh')}}",name:"refresh",Component:"RefreshActionInitializer",schema:{"x-align":"right"}},{type:"item",title:"{{t('Link')}}",name:"link",Component:"LinkActionInitializer",schema:{"x-align":"right"},useComponentProps(){return{"x-component":"Action"}}},{name:"toggle",title:"{{t('Expand/Collapse')}}",Component:"ExpandableActionInitializer",schema:{"x-align":"right"},useVisible(){var e;const t=(0,import_react.useFieldSchema)(),o=useCollection(),{treeTable:r}=((e=t==null?void 0:t.parent)==null?void 0:e["x-decorator-props"])||{};return o.tree&&r}},{name:"customRequest",title:'{{t("Custom request")}}',Component:"CustomRequestInitializer",schema:{"x-action":"customize:table:request:global"}}]},tableActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableActionInitializers"},commonOptions$9)),tableActionInitializers=new CompatibleSchemaInitializer(x({name:"table:configureActions"},commonOptions$9),tableActionInitializers_deprecated),TableBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideSearch:o,createBlockSchema:r,templateWrap:i,showAssociationFields:n})=>{const a=useSchemaInitializerItem(),{createTableBlock:l}=useCreateTableBlock();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},a),{icon:(0,import_jsx_runtime.jsx)(import_icons.TableOutlined,{}),componentType:"Table",onCreateBlockSchema:c=>V(void 0,null,function*(){if(r)return r(c);l(c)}),onlyCurrentDataSource:t,hideSearch:o,filter:e,showAssociationFields:n}))},useCreateTableBlock=()=>{const{insert:e}=useSchemaInitializer();return{createTableBlock:({item:t})=>{const o=createTableBlockUISchema({collectionName:t.name,dataSource:t.dataSource});e(o)}}},ParentCollectionFields$1=()=>{const e=useInheritsTableColumnInitializerFields(),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},AssociatedFields=()=>{const e=useAssociatedTableColumnInitializerFields(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react2.useMemo)(()=>[{type:"itemGroup",title:o("Display association fields"),children:e}],[e,o]);return!(e!=null&&e.length)||t["x-component"]==="AssociationField.SubTable"?null:(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},commonOptions$8={insertPosition:"beforeEnd",icon:"SettingOutlined",title:'{{t("Configure columns")}}',wrap:(e,{isInSubTable:t})=>e["x-action-column"]?e:{type:"void","x-decorator":"TableV2.Column.Decorator","x-toolbar":"TableColumnSchemaToolbar","x-settings":"fieldSettings:TableColumn","x-component":"TableV2.Column",properties:{[e.name]:x({},e)}},items:[{name:"displayFields",type:"itemGroup",title:'{{t("Display fields")}}',useChildren:useTableColumnInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields$1},{name:"associationFields",Component:AssociatedFields},{name:"divider",type:"divider",useVisible(){return(0,import_react.useFieldSchema)()["x-component"]!=="AssociationField.SubTable"}},{type:"item",name:"add",title:'{{t("Action column")}}',Component:"TableActionColumnInitializer",useVisible(){return(0,import_react.useFieldSchema)()["x-component"]!=="AssociationField.SubTable"}}]},tableColumnInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableColumnInitializers"},commonOptions$8)),tableColumnInitializers=new CompatibleSchemaInitializer(x({name:"table:configureColumns"},commonOptions$8),tableColumnInitializers_deprecated),createCollapseBlockSchema=e=>{const{collectionName:t,dataSource:o,blockType:r}=e;return{type:"void","x-decorator":"AssociationFilter.Provider","x-use-decorator-props":"useCollapseBlockDecoratorProps","x-decorator-props":{collection:t,dataSource:o,blockType:r,associationFilterStyle:{width:"100%"},name:"filter-collapse"},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:filterCollapse","x-component":"CardItem","x-filter-targets":[],properties:{[(0,import_shared.uid)()]:{type:"void","x-action":"associateFilter","x-initializer":"filterCollapse:configureFields","x-component":"AssociationFilter"}}}},FilterCollapseBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideChildrenIfSingleCollection:o})=>{const r=useSchemaInitializerItem(),{insert:i}=useSchemaInitializer();return(0,import_jsx_runtime.jsx)(DataBlockInitializer,P(x({},r),{onlyCurrentDataSource:t,icon:(0,import_jsx_runtime.jsx)(import_icons.RightSquareOutlined,{}),componentType:"FilterCollapse",onCreateBlockSchema:n=>V(void 0,[n],function*({item:a}){const l=createCollapseBlockSchema({dataSource:a.dataSource,collectionName:a.collectionName||a.name,blockType:"filter"});i(l)}),filter:e,hideChildrenIfSingleCollection:o}))},commonOptions$7={title:'{{t("Configure actions")}}',icon:"SettingOutlined",items:[{name:"filter",title:'{{t("Filter")}}',Component:"CreateFilterActionInitializer",schema:{"x-action-settings":{}}},{name:"reset",title:'{{t("Reset")}}',Component:"CreateResetActionInitializer",schema:{"x-action-settings":{}}}]},filterFormActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FilterFormActionInitializers"},commonOptions$7)),filterFormActionInitializers=new CompatibleSchemaInitializer(x({name:"filterForm:configureActions"},commonOptions$7),filterFormActionInitializers_deprecated),FilterBlockInitializer=DataBlockInitializer,createFilterFormBlockSchema=e=>{const{collectionName:t,dataSource:o,templateSchema:r}=e;if(!t||!o)throw new Error("collectionName and dataSource are required");return{type:"void","x-decorator":"FilterFormBlockProvider","x-use-decorator-props":"useFilterFormBlockDecoratorProps","x-decorator-props":{dataSource:o,collection:t},"x-toolbar":"BlockSchemaToolbar","x-settings":"blockSettings:filterForm","x-component":"CardItem","x-filter-targets":[],properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFilterFormBlockProps",properties:{grid:r||{type:"void","x-component":"Grid","x-initializer":"filterForm:configureFields"},[(0,import_shared.uid)()]:{type:"void","x-initializer":"filterForm:configureActions","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{float:"right",overflow:"hidden"}}}}}}}},FilterFormBlockInitializer=({filterCollections:e,onlyCurrentDataSource:t,hideChildrenIfSingleCollection:o})=>{const r=useSchemaInitializerItem(),{insert:i}=useSchemaInitializer(),{componentNamePrefix:n}=useBlockTemplateContext();return(0,import_jsx_runtime.jsx)(FilterBlockInitializer,P(x({},r),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onlyCurrentDataSource:t,componentType:`${n}FilterFormItem`,templateWrap:(a,{item:l})=>{const c=createFilterFormBlockSchema({templateSchema:a,dataSource:l.dataSource,collectionName:l.name||l.collectionName});return l.template&&l.mode==="reference"&&(c["x-template-key"]=l.template.key),c},onCreateBlockSchema:({item:a})=>i(createFilterFormBlockSchema({collectionName:a.collectionName||a.name,dataSource:a.dataSource})),filter:e,hideChildrenIfSingleCollection:o}))},commonOptions$6={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",name:"displayFields",title:'{{t("Display fields")}}',useChildren:useFilterFormItemInitializerFields},{name:"parentCollectionFields",Component:FilterParentCollectionFields},{name:"associationFields",Component:FilterAssociatedFields},{name:"divider",type:"divider"},{title:'{{t("Add Markdown")}}',Component:"MarkdownFormItemInitializer",name:"addText"}]},filterFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"FilterFormItemInitializers"},commonOptions$6)),filterFormItemInitializers=new CompatibleSchemaInitializer(x({name:"filterForm:configureFields"},commonOptions$6),filterFormItemInitializers_deprecated),MarkdownBlockInitializer=()=>{const{insert:e}=useSchemaInitializer(),{t}=(0,import_react_i18next.useTranslation)(),o=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},o),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onClick:()=>{e({type:"void","x-settings":"blockSettings:markdown","x-decorator":"CardItem","x-decorator-props":{name:"markdown",engine:"handlebars"},"x-component":"Markdown.Void","x-editable":!1,"x-component-props":{content:t("This is a demo text, **supports Markdown syntax**.")}})}}))},MarkdownFormItemInitializer=()=>{const{insert:e}=useSchemaInitializer(),t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},t),{icon:(0,import_jsx_runtime.jsx)(import_icons.FormOutlined,{}),onClick:()=>{e({type:"void","x-editable":!1,"x-decorator":"FormItem","x-decorator-props":{engine:"handlebars"},"x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:markdown","x-component":"Markdown.Void","x-component-props":{content:'{{t("This is a demo text, **supports Markdown syntax**.")}}'}})}}))},commonOptions$5={wrap:gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",title:'{{t("Selector")}}',name:"selector",children:[{name:"title",title:"Table",Component:"TableSelectorInitializer"}]},{type:"itemGroup",title:'{{t("Filter blocks")}}',name:"filterBlocks",useChildren(){const{name:e,dataSource:t}=useCollection_deprecated();return[{name:"filterFormBlockInTableSelector",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer",componentProps:{filterCollections(){return!1},onlyCurrentDataSource:!0},collectionName:e,dataSource:t},{name:"filterCollapseBlockInTableSelector",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer",componentProps:{filterCollections(){return!1},onlyCurrentDataSource:!0},collectionName:e,dataSource:t}]}},{type:"itemGroup",title:'{{t("Other blocks")}}',name:"otherBlocks",children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},tableSelectorInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"TableSelectorInitializers"},commonOptions$5)),tableSelectorInitializers=new CompatibleSchemaInitializer(x({name:"popup:tableSelector:addBlock"},commonOptions$5),tableSelectorInitializers_deprecated),CollectionFieldInitializer=()=>{const e={},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{item:t,schema:e,type:"x-collection-field"}))},TableCollectionFieldInitializer=()=>{const e={},t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(InitializerWithSwitch,P(x({},t),{schema:e,item:t,type:"x-collection-field"}))},commonOptions$4={title:'{{t("Add block")}}',icon:"PlusOutlined",wrap:gridRowColWrap,items:[{name:"dataBlocks",title:'{{t("Data blocks")}}',type:"itemGroup",children:[{name:"table",title:'{{t("Table")}}',Component:"TableBlockInitializer"},{name:"form",title:'{{t("Form")}}',Component:"FormBlockInitializer",useComponentProps:()=>({filterCollections:({collection:e})=>{var t,o;const{unavailableActions:r,availableActions:i}=(e==null?void 0:e.options)||{};return i?(t=i.includes)==null?void 0:t.call(i,"create"):r?!((o=r==null?void 0:r.includes)!=null&&o.call(r,"create")):!0}})},{name:"details",title:'{{t("Details")}}',Component:"DetailsBlockInitializer"},{name:"list",title:'{{t("List")}}',Component:"ListBlockInitializer"},{name:"gridCard",title:'{{t("Grid Card")}}',Component:"GridCardBlockInitializer"}]},{name:"filterBlocks",title:'{{t("Filter blocks")}}',type:"itemGroup",children:[{name:"filterForm",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer"},{name:"filterCollapse",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer"}]},{name:"otherBlocks",type:"itemGroup",title:'{{t("Other blocks")}}',children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},blockInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"BlockInitializers"},commonOptions$4)),blockInitializers=new CompatibleSchemaInitializer(x({name:"page:addBlock"},commonOptions$4),blockInitializers_deprecated),DividerFormItemInitializer=()=>{const{insert:e}=useSchemaInitializer(),t=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerItem,P(x({},t),{icon:(0,import_jsx_runtime.jsx)(import_icons.LineOutlined,{}),onClick:()=>{e({type:"void","x-decorator":"FormItem","x-toolbar":"FormItemSchemaToolbar","x-settings":"blockSettings:divider","x-component":"Divider","x-component-props":{children:'{{t("Group")}}'}})}}))},AssociateActionInitializer=e=>{const{defaultOpenMode:t}=useOpenModeContext(),{getPopupContext:o}=usePopupUtils(),r={type:"void",title:'{{ t("Associate") }}',"x-action":"associate","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:popup","x-component":"Action","x-component-props":{openMode:t,refreshDataBlockRequest:!0},properties:{drawer:{type:"void","x-component":"Action.Container",title:'{{ t("Select record") }}',"x-component-props":{className:"nb-record-picker-selector"},"x-decorator":"AssociateActionProvider",properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:tableSelector:addBlock",properties:{}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:submit","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}},[CONTEXT_SCHEMA_KEY]:o()},i=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(BlockInitializer,P(x({},i),{schema:r,item:i}))},useTableSelectorProps=()=>{const{setSelectedRows:e}=(0,import_react2.useContext)(RecordPickerContext),t=useTableSelectorProps$4(),{onRowSelectionChange:o,rowKey:r="id"}=t,i=Y(t,["onRowSelectionChange","rowKey"]);return P(x({},i),{rowKey:r,rowSelection:{type:"checkbox"},onRowSelectionChange(n,a){e==null||e(n),o==null||o(n,a)}})},AssociateActionProvider=e=>{const[t,o]=(0,import_react2.useState)([]),r=useCollection(),{resource:i,block:n,__parent:a,service:l}=useBlockRequestContext(),c=useActionContext(),{isMobile:u}=useOpenModeContext()||{},[m,d]=(0,import_react2.useState)([]),{data:p}=l||{};(0,import_react2.useEffect)(()=>{var f;(f=i==null?void 0:i.list)==null||f.call(i,{paginate:!1}).then(v=>{var b;d(((b=v.data)==null?void 0:b.data)||[])})},[i,p==null?void 0:p.meta.count]);const g={size:"small",onChange:e==null?void 0:e.onChange,selectedRows:t,setSelectedRows:o},h=()=>{const{selectedRows:f}=(0,import_react2.useContext)(RecordPickerContext),{setVisible:v,setSubmitted:b,setFormValueChanged:S}=useActionContext();return{onClick(C,y){return V(this,null,function*(){var F,j;yield i.add({values:f}),y&&(y==null||y()),v==null||v(!1),b==null||b(!0),n&&n!=="TableField"&&((j=(F=a==null?void 0:a.service)==null?void 0:F.refresh)==null||j.call(F),v==null||v(!1),S==null||S(!1))})}}},_=()=>{const f=(r==null?void 0:r.filterTargetKey)||"id";if(m){const v=m.map(b=>b[f]).filter(Boolean);return v.length?{$and:[{[`${f}.$ne`]:v}]}:{}}return{}};return(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:P(x({},c),{openMode:u?"drawer":c.openMode}),children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},g),{children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{useTableSelectorProps,usePickActionProps:h},children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:_()},children:e.children})})}))})},ParentCollectionFields=()=>{const e=useInheritsFormItemInitializerFields({component:"AssignedField"}),{t}=(0,import_react_i18next.useTranslation)(),o=useCompile();if(!(e!=null&&e.length))return null;const r=[];return e.forEach(i=>{Object.values(i)[0].length&&r.push({type:"itemGroup",divider:!0,title:t("Parent collection fields")+"("+o(`${Object.keys(i)[0]}`)+")",children:Object.values(i)[0]})}),(0,import_jsx_runtime.jsx)(SchemaInitializerChildren,{children:r})},commonOptions$3={wrap:gridRowColWrap,icon:"SettingOutlined",title:'{{t("Configure fields")}}',items:[{type:"itemGroup",title:'{{t("Configure fields")}}',name:"configureFields",useChildren:useCustomFormItemInitializerFields},{name:"parentCollectionFields",Component:ParentCollectionFields}]},customFormItemInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"CustomFormItemInitializers"},commonOptions$3)),customFormItemInitializers=new CompatibleSchemaInitializer(x({name:"assignFieldValuesForm:configureFields"},commonOptions$3),customFormItemInitializers_deprecated),canMakeAssociationBlock=e=>["linkTo","subTable","o2m","m2m","obo","oho","o2o","m2o"].includes(e.interface);function useRecordBlocks(){const e=useCollection(),{getChildrenCollections:t}=useCollectionManager_deprecated(),o=t(e==null?void 0:e.name,!0,e==null?void 0:e.dataSource).filter(r=>r==null?void 0:r.filterTargetKey);return[{name:"details",title:'{{t("Details")}}',Component:"DetailsBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const r=useCollection(),{createSingleDetailsSchema:i,templateWrap:n}=useCreateSingleDetailsSchema(),{createAssociationDetailsBlock:a}=useCreateAssociationDetailsBlock(),{createAssociationDetailsWithoutPagination:l,templateWrap:c}=useCreateAssociationDetailsWithoutPagination(),{createDetailsBlock:u}=useCreateDetailsBlock(),m=[r,...o],d=(0,import_react2.useCallback)(({item:p,fromOthersInPopup:g})=>g?u({item:p}):p.associationField?["hasOne","belongsTo"].includes(p.associationField.type)?l({item:p}):a({item:p}):i({item:p}),[a,l,u,i]);return{filterCollections({collection:p,associationField:g}){return p?m.some(h=>h.name===p.name):!!g},onlyCurrentDataSource:!0,hideSearch:!0,componentType:"ReadPrettyFormItem",createBlockSchema:d,templateWrap:(0,import_react2.useCallback)((p,{item:g})=>g.associationField?["hasOne","belongsTo"].includes(g.associationField.type)?c(p,{item:g}):p:n(p,{item:g}),[n,c]),showAssociationFields:!0}}},{name:"editForm",title:'{{t("Form (Edit)")}}',Component:"FormBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const r=useCollection(),{createEditFormBlock:i,templateWrap:n}=useCreateEditFormBlock(),a=[r,...o];return{filterCollections({collection:l}){return l?a.some(c=>c.name===l.name):!1},onlyCurrentDataSource:!0,hideSearch:!0,hideOtherRecordsInPopup:!0,componentType:"FormItem",createBlockSchema:i,templateWrap:n,showAssociationFields:!0}},useVisible:()=>useActionAvailable("update")},{name:"createForm",title:'{{t("Form (Add new)")}}',Component:"FormBlockInitializer",collectionName:e==null?void 0:e.name,dataSource:e==null?void 0:e.dataSource,useComponentProps(){const{createAssociationFormBlock:r,templateWrap:i}=useCreateAssociationFormBlock(),{createFormBlock:n,templateWrap:a}=useCreateFormBlock();return{filterCollections({collection:l,associationField:c}){return c?["hasMany","belongsToMany"].includes(c.type):!1},onlyCurrentDataSource:!0,hideSearch:!0,componentType:"FormItem",createBlockSchema:({item:l,fromOthersInPopup:c})=>{if(c)return n({item:l,fromOthersInPopup:c});r({item:l})},templateWrap:(l,{item:c,fromOthersInPopup:u})=>u?a(l,{item:c,fromOthersInPopup:u}):i(l,{item:c}),showAssociationFields:!0}}},{name:"table",title:'{{t("Table")}}',Component:"TableBlockInitializer",useComponentProps(){const{createAssociationTableBlock:r}=useCreateAssociationTableBlock(),{createTableBlock:i}=useCreateTableBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}},{name:"list",title:'{{t("List")}}',Component:"ListBlockInitializer",useComponentProps(){const{createAssociationListBlock:r}=useCreateAssociationListBlock(),{createListBlock:i}=useCreateListBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}},{name:"gridCard",title:'{{t("Grid Card")}}',Component:"GridCardBlockInitializer",useComponentProps(){const{createAssociationGridCardBlock:r}=useCreateAssociationGridCardBlock(),{createGridCardBlock:i}=useCreateGridCardBlock();return{hideSearch:!0,onlyCurrentDataSource:!0,filterCollections({associationField:n}){return n?["hasMany","belongsToMany"].includes(n.type):!1},createBlockSchema:({item:n,fromOthersInPopup:a})=>{if(a)return i({item:n});r({item:n})},showAssociationFields:!0}}}]}const commonOptions$2={wrap:gridRowColWrap,title:'{{t("Add block")}}',icon:"PlusOutlined",items:[{type:"itemGroup",name:"dataBlocks",title:'{{t("Data blocks")}}',useChildren:useRecordBlocks},{name:"filterBlocks",title:'{{t("Filter blocks")}}',type:"itemGroup",children:[{name:"filterForm",title:'{{t("Form")}}',Component:"FilterFormBlockInitializer",useComponentProps(){return{filterCollections({collection:e}){return!0}}}},{name:"filterCollapse",title:'{{t("Collapse")}}',Component:"FilterCollapseBlockInitializer",useComponentProps(){return{filterCollections({collection:e}){return!0}}}}]},{type:"itemGroup",name:"otherBlocks",title:'{{t("Other blocks")}}',children:[{name:"markdown",title:'{{t("Markdown")}}',Component:"MarkdownBlockInitializer"}]}]},recordBlockInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"RecordBlockInitializers"},commonOptions$2)),recordBlockInitializers=new CompatibleSchemaInitializer(x({name:"popup:common:addBlock"},commonOptions$2),recordBlockInitializers_deprecated),commonOptions$1={title:"{{t('Configure actions')}}",icon:"SettingOutlined",style:{marginLeft:8},items:[{type:"itemGroup",title:"{{t('Enable actions')}}",name:"enableActions",children:[{name:"addNew",title:"{{t('Add new')}}",Component:"CreateActionInitializer",schema:{"x-align":"right"}},{name:"delete",title:"{{t('Delete')}}",Component:"BulkDestroyActionInitializer",schema:{"x-align":"right"}}]}]},subTableActionInitializers_deprecated=new CompatibleSchemaInitializer(x({name:"SubTableActionInitializers"},commonOptions$1)),subTableActionInitializers=new CompatibleSchemaInitializer(x({name:"subTable:configureActions"},commonOptions$1),subTableActionInitializers_deprecated),TabPaneInitializers=e=>{const{designable:t,insertBeforeEnd:o}=useDesignable(),{isCreate:r,isBulkEdit:i,options:n}=e,{gridInitializer:a}=n,{getAriaLabel:l}=useGetAriaLabelOfSchemaInitializer(),{isMobile:c}=useOpenModeContext()||{},u=useRecord(),m=useCollection(),d=()=>{const g=(0,import_react.useForm)(),h=useActionContext();let _=a;return m||(_="page:addBlock",c&&(_="mobile:addBlock")),_||(_="popup:common:addBlock",r||!u?_="popup:addNew:addBlock":i&&(_="popup:bulkEdit:addBlock")),{run(){return V(this,null,function*(){yield g.submit();const{title:f,icon:v}=g.values;o({type:"void",title:f,"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{icon:v},properties:{grid:{type:"void","x-component":"Grid","x-initializer":_,properties:{}}}}),yield g.reset(),h.setVisible(!1)})}}},p=(0,import_react2.useMemo)(()=>({type:"void",properties:{action1:{type:"void","x-component":"Action","x-component-props":{icon:"PlusOutlined",style:{borderColor:"var(--colorSettings)",color:"var(--colorSettings)"},type:"dashed","aria-label":l()},title:'{{t("Add tab")}}',properties:{drawer1:{"x-decorator":"Form","x-component":"Action.Modal","x-component-props":{width:520,zIndex:2e3},type:"void",title:'{{t("Add tab")}}',properties:{title:{title:'{{t("Tab name")}}',required:!0,"x-component":"Input","x-decorator":"FormItem"},icon:{title:'{{t("Icon")}}',"x-component":"IconPicker","x-decorator":"FormItem"},footer:{"x-component":"Action.Modal.Footer",type:"void",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:()=>{const g=useActionContext();return{run(){return V(this,null,function*(){g.setVisible(!1)})}}}}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:d}}}}}}}}}}),[]);return t?(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:p}):null},TabPaneInitializersForCreateFormBlock=e=>(0,import_jsx_runtime.jsx)(TabPaneInitializers,P(x({},e),{isCreate:!0})),TabPaneInitializersForBulkEditFormBlock=e=>(0,import_jsx_runtime.jsx)(TabPaneInitializers,P(x({},e),{isBulkEdit:!0})),commonOptions={Component:TabPaneInitializers,popover:!1},tabPaneInitializers_deprecated=new SchemaInitializer(x({name:"TabPaneInitializers"},commonOptions)),tabPaneInitializers=new SchemaInitializer(x({name:"popup:addTab"},commonOptions)),tabPaneInitializersForRecordBlock=new SchemaInitializer({name:"TabPaneInitializersForCreateFormBlock",Component:TabPaneInitializersForCreateFormBlock,popover:!1}),tabPaneInitializersForBulkEditFormBlock=new SchemaInitializer({name:"TabPaneInitializersForBulkEditFormBlock",Component:TabPaneInitializersForBulkEditFormBlock,popover:!1});class SchemaInitializerPlugin extends Plugin{load(){return V(this,null,function*(){this.app.addComponents(P(x(x({},initializerComponents),items),{DestroyActionInitializer,FormBlockInitializer,RecordFormBlockInitializer,TableBlockInitializer,TableSelectorInitializer,RecordReadPrettyFormBlockInitializer,DetailsBlockInitializer,ListBlockInitializer,GridCardBlockInitializer,FilterFormBlockInitializer,FilterCollapseBlockInitializer,MarkdownBlockInitializer,MarkdownFormItemInitializer,TableCollectionFieldInitializer,CollectionFieldInitializer,CreateActionInitializer,CreateChildInitializer,ViewActionInitializer,UpdateActionInitializer,PopupActionInitializer,LinkActionInitializer,UpdateRecordActionInitializer,CreateSubmitActionInitializer,UpdateSubmitActionInitializer,BulkDestroyActionInitializer,ExpandableActionInitializer,DisassociateActionInitializer,FilterActionInitializer,RefreshActionInitializer,DividerFormItemInitializer,AssociateActionInitializer,AssociateActionProvider})),this.app.schemaInitializerManager.add(blockInitializers_deprecated),this.app.schemaInitializerManager.add(blockInitializers),this.app.schemaInitializerManager.add(tableActionInitializers_deprecated),this.app.schemaInitializerManager.add(tableActionInitializers),this.app.schemaInitializerManager.add(tableColumnInitializers_deprecated),this.app.schemaInitializerManager.add(tableColumnInitializers),this.app.schemaInitializerManager.add(tableActionColumnInitializers_deprecated),this.app.schemaInitializerManager.add(tableActionColumnInitializers),this.app.schemaInitializerManager.add(formItemInitializers_deprecated),this.app.schemaInitializerManager.add(formItemInitializers),this.app.schemaInitializerManager.add(formActionInitializers),this.app.schemaInitializerManager.add(detailsActionInitializers_deprecated),this.app.schemaInitializerManager.add(detailsActionInitializers),this.app.schemaInitializerManager.add(readPrettyFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(readPrettyFormItemInitializers),this.app.schemaInitializerManager.add(readPrettyFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(readPrettyFormActionInitializers),this.app.schemaInitializerManager.add(createFormBlockInitializers_deprecated),this.app.schemaInitializerManager.add(createFormBlockInitializers),this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers_deprecated),this.app.schemaInitializerManager.add(customizeCreateFormBlockInitializers),this.app.schemaInitializerManager.add(customFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(customFormItemInitializers),this.app.schemaInitializerManager.add(filterFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(filterFormActionInitializers),this.app.schemaInitializerManager.add(createFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(createFormActionInitializers),this.app.schemaInitializerManager.add(updateFormActionInitializers_deprecated),this.app.schemaInitializerManager.add(updateFormActionInitializers),this.app.schemaInitializerManager.add(filterFormItemInitializers_deprecated),this.app.schemaInitializerManager.add(filterFormItemInitializers),this.app.schemaInitializerManager.add(gridCardActionInitializers_deprecated),this.app.schemaInitializerManager.add(gridCardActionInitializers),this.app.schemaInitializerManager.add(gridCardItemActionInitializers_deprecated),this.app.schemaInitializerManager.add(gridCardItemActionInitializers),this.app.schemaInitializerManager.add(listActionInitializers_deprecated),this.app.schemaInitializerManager.add(listActionInitializers),this.app.schemaInitializerManager.add(listItemActionInitializers_deprecated),this.app.schemaInitializerManager.add(listItemActionInitializers),this.app.schemaInitializerManager.add(recordBlockInitializers_deprecated),this.app.schemaInitializerManager.add(recordBlockInitializers),this.app.schemaInitializerManager.add(recordFormBlockInitializers),this.app.schemaInitializerManager.add(subTableActionInitializers_deprecated),this.app.schemaInitializerManager.add(subTableActionInitializers),this.app.schemaInitializerManager.add(tableSelectorInitializers_deprecated),this.app.schemaInitializerManager.add(tableSelectorInitializers),this.app.schemaInitializerManager.add(tabPaneInitializers_deprecated),this.app.schemaInitializerManager.add(tabPaneInitializers),this.app.schemaInitializerManager.add(tabPaneInitializersForRecordBlock),this.app.schemaInitializerManager.add(tabPaneInitializersForBulkEditFormBlock),this.app.schemaInitializerManager.add(menuItemInitializer_deprecated),this.app.schemaInitializerManager.add(menuItemInitializer)})}}class LocalePlugin extends Plugin{constructor(){super(...arguments),A(this,"locales",{})}afterAdd(){return V(this,null,function*(){var t,o,r,i,n,a,l;const c=this.app.apiClient,u=c.auth.locale;try{const m=yield c.request({url:"app:getLang",params:{locale:u},headers:{"X-Role":"anonymous"}}),d=m==null?void 0:m.data;this.locales=(d==null?void 0:d.data)||{},this.app.use(import_antd.ConfigProvider,{locale:this.locales.antd,popupMatchSelectWidth:!1}),this.app.use(import_antd.App,{component:!1}),(t=d==null?void 0:d.data)!=null&&t.lang&&(c.auth.setLocale((o=d==null?void 0:d.data)==null?void 0:o.lang),this.app.i18n.changeLanguage((r=d==null?void 0:d.data)==null?void 0:r.lang)),Object.keys(((i=d==null?void 0:d.data)==null?void 0:i.resources)||{}).forEach(g=>{var h,_;this.app.i18n.addResources((h=d==null?void 0:d.data)==null?void 0:h.lang,g,((_=d==null?void 0:d.data)==null?void 0:_.resources[g])||{})}),(0,import_validator.setValidateLanguage)((n=d==null?void 0:d.data)==null?void 0:n.lang),loadConstrueLocale(d==null?void 0:d.data);const p=dayjsLocale[(a=d==null?void 0:d.data)==null?void 0:a.lang]||"en";yield import(`dayjs/locale/${p}`),import_dayjs.default.locale(p),window.cronLocale=(l=d==null?void 0:d.data)==null?void 0:l.cron}catch(m){throw m}})}}const AppSpin=()=>(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{position:"fixed",top:"50%",left:"50%",fontSize:72,transform:"translate(-50%, -50%)"}}),AppError=(0,import_reactive_react.observer)(({app:e,error:t})=>{const o=getProps(e);return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Result,x(P(x({className:import_css.css`
1627
1627
  top: 50%;
1628
1628
  position: absolute;
1629
1629
  width: 100%;