@nocobase/client 1.6.22 → 1.6.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.mjs +29 -24
- package/lib/index.js +4 -4
- package/package.json +5 -5
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.22",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.22","@nocobase/sdk":"1.6.22","@nocobase/utils":"1.6.22",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=>{const{params:t,parseVariableLoading:o}=useTableBlockParams(e),r=useParentRecordCommon(e.association);return{params:t,parentRecord:r,parseVariableLoading:o}};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.23",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^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.23","@nocobase/sdk":"1.6.23","@nocobase/utils":"1.6.23",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=>{const{params:t,parseVariableLoading:o}=useTableBlockParams(e),r=useParentRecordCommon(e.association);return{params:t,parentRecord:r,parseVariableLoading:o}};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};
|
|
@@ -305,7 +305,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
305
305
|
border-top-left-radius: 0;
|
|
306
306
|
border-bottom-left-radius: 0;
|
|
307
307
|
}
|
|
308
|
-
`,children:import_react2.default.createElement(DynamicComponent$1,{value:t==null?void 0:t.value,schema:o,onChange:h})}),express:(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":"dynamic-component-linkage-rules",style:_,children:[(0,import_jsx_runtime.jsx)(Variable.TextArea,{value:t==null?void 0:t.value,onChange:f,scope:b,style:v}),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[c("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:"https://
|
|
308
|
+
`,children:import_react2.default.createElement(DynamicComponent$1,{value:t==null?void 0:t.value,schema:o,onChange:h})}),express:(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":"dynamic-component-linkage-rules",style:_,children:[(0,import_jsx_runtime.jsx)(Variable.TextArea,{value:t==null?void 0:t.value,onChange:f,scope:b,style:v}),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsxs)("span",{style:{marginLeft:".25em"},className:"ant-formily-item-extra",children:[c("Syntax references"),":"]}),(0,import_jsx_runtime.jsx)("a",{href:"https://docs.nocobase.com/handbook/calculation-engines/formula",target:"_blank",rel:"noreferrer",children:"Formula.js"})]})]})},C=F=>n?n.indexOf(F)>-1:!0,y=[{value:"constant",label:c("Constant value")},{value:"express",label:c("Expression")},{value:"empty",label:c("Empty")}].filter(F=>C(F.value));return(0,import_jsx_runtime.jsxs)(import_antd.Input.Group,{compact:!0,children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-linkage-value-type",value:a,style:{width:150},onChange:F=>{l(F),r({mode:F||(t==null?void 0:t.mode)})},children:y.map(F=>(0,import_jsx_runtime.jsx)(Option,{value:F.value,children:F.label},F.value))}),S[a]]})},findOption=(e=[],t)=>{var o;let r=t,i;return(o=e==null?void 0:e.forEach)==null||o.call(e,(n,a)=>{const l=r.find(c=>c.name===n);l&&(i=l),r=(l==null?void 0:l.children)||[]}),i},useValues=e=>{const t=(0,import_react.useField)(),o=(0,import_react2.useContext)(LinkageLogicContext);return(0,import_react2.useEffect)(()=>{var r;t.data=x({},t.initialValue||t.value);const i=(r=t.data)==null?void 0:r.targetFields,n=i&&findOption(i,e)||{},a=(n==null?void 0:n.operators)||[];t.data.operators=a==null?void 0:a.filter(l=>i.length>1?l.value!=="value":!0),t.data.schema=n==null?void 0:n.schema},[o]),P(x({fields:e},t.data),{setDataIndex(r){const i=findOption(r,e);t.data=t.data||{};const n=i==null?void 0:i.operators;t.data.operators=n==null?void 0:n.filter(a=>r.length>1?a.value!=="value":!0),t.data.schema=i==null?void 0:i.schema,t.value=t.value||[],t.data.operator=void 0,t.data.value=void 0,t.value=P(x({},t.value),{targetFields:r,operator:void 0,value:void 0})},setOperator(r){t.data.operator=r,t.value=P(x({},t.value),{operator:r})},setValue(r){t.data.value=r,t.value=P(x({},t.value),{value:r})}})},FormFieldLinkageRuleAction=(0,import_react.observer)(e=>{const{value:t,options:o,collectionName:r}=e,{t:i}=(0,import_react_i18next.useTranslation)(),n=useCompile(),a=(0,import_react2.useContext)(RemoveActionContext),{schema:l,fields:c,operator:u,setDataIndex:m,setOperator:d,setValue:p,value:g,operators:h}=useValues(o);return(0,import_jsx_runtime.jsx)(LinkageLogicContext.Provider,{value:(0,import_shared.uid)(),children:(0,import_jsx_runtime.jsx)("div",{style:{marginBottom:8},className:import_css.css`
|
|
309
309
|
.ant-space {
|
|
310
310
|
display: inline-block;
|
|
311
311
|
}
|
|
@@ -702,7 +702,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
702
702
|
display: flex;
|
|
703
703
|
margin: 5px 0px;
|
|
704
704
|
}
|
|
705
|
-
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const g={"x-uid":n["x-uid"]};g["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),g["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const h=a.path.entire.split(".");h.pop();const _=h.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:g}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]});class SchemaSettingsPlugin extends Plugin{load(){return V(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?pageSize=9999",belongsTo:"get",hasOne:"get",belongsToMany:"list?pageSize=9999",belongsToArray:"get"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){var S,C;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:R,dataSource:N,variableOption:w}=getFieldPath$1(F,j);let O=R;const{fieldPath:D}=getFieldPath$1(f,j),T=y.length===1?w==null?void 0:w.collectionName:(S=i(D,N))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let B=0;B<y.length;B++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:N,collectionName:T};const I=y[B],M=y.slice(0,B+1).join("."),{fieldPath:z}=getFieldPath$1(M,j),E=i(z,N),L=(C=n(O,N))==null?void 0:C.getPrimaryKey();if(Array.isArray(k)){const U=k.map(q=>{if(!(b!=null&&b.doNotRequest)&&shouldToRequest(q==null?void 0:q[I])&&(q==null?void 0:q[L])!=null&&E!=null&&E.target){const G=`/${O}/${q[E.sourceKey||L]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const K=r.request({headers:getDataSourceHeaders(N),url:G,params:{appends:b==null?void 0:b.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,K),K}return q==null?void 0:q[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(b!=null&&b.doNotRequest)&&shouldToRequest(k[I])&&k[L]!=null&&E!=null&&E.target){const U=`/${O}/${k[E.sourceKey||L]}/${I}:${getAction(E.type)}`;let q=null;if(hasRequested(U))q=yield getRequested(U);else{const K=r.request({headers:getDataSourceHeaders(N),url:U,params:{appends:b==null?void 0:b.appends}});stashRequested(U,K),q=yield K,clearRequested(U)}const G=q.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(O=E.target)}const $=a(import_lodash.default.isFunction(k)?k({fieldOperator:b==null?void 0:b.fieldOperator,isParsingVariable:!0}):k);return{value:$===void 0?w.defaultValue:$,dataSource:N,collectionName:T}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const b=x({},v);return delete b[f],b}),delete variablesStore[f]},[c]),g=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),C=yield u(S,v,b);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((f,v)=>V(void 0,null,function*(){var b;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(C,S);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(b=S[C])==null?void 0:b.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:m,getVariable:d,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,d,g,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v,b,S;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=C(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(b=this.props.schema)==null?void 0:b["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(g=_)}if((0,import_shared.isFn)(i)&&i(g,m)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:g}=e,h=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:b}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:C}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&g&&(y.parent=g,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(O=>{O===y.name&&(w.properties[O]=_.current)}),S(),C==null||C()},[y,C,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=b,createMergedSchemaInstance(y,v,n)):y,[v,b,y,n,p]),k=useFieldProps(j),R=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:h,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},N=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?R():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:h,children:R})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:h})):j.type==="void"?n?R():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:h,children:R})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:h})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:h,schema:j}):R();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:N()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return V(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:g,disabled:h,actionCallback:_,confirm:f,addChild:v,onMouseEnter:b,refreshDataBlockRequest:S,confirmTitle:C}=o,y=Y(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),R=useCompile(),N=useCollectionRecordData(),w=R((t=k["x-component-props"])==null?void 0:t.confirm)||f,O=(0,import_react2.useMemo)(()=>(k==null?void 0:k["x-linkage-rules"])||[],[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),T=useComponent(n)||n,$=useVariables$1(),B=useLocalVariables$1({currentForm:{values:N,readPretty:!1}}),{visibleWithURL:I,setVisibleWithURL:M}=usePopupUtils(),{setSubmitted:z}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),L=useCollectionParentRecordData(),U=useApp();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(G=>!G.disabled).forEach(G=>{var K;(K=G.actions)==null||K.forEach(H=>{linkageAction({operator:H.operator,field:j,condition:G.condition,variables:$,localVariables:B},U.jsonLogic)})})},[j,O,B,$]);const q=(0,import_react2.useCallback)(G=>{b==null||b(G)},[b]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:q,tarComponent:T,className:l,type:e.type,Designer:F,onClick:m,confirm:w,confirmTitle:C,popover:r,addChild:v,recordData:N,title:u,style:d,propsDisabled:h,useAction:a,visibleWithURL:I,setVisibleWithURL:M,setSubmitted:z,getAriaLabel:E,parentRecordData:L,actionCallback:_},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:g,handleMouseEnter:h,tarComponent:_,className:f,type:v,Designer:b,onClick:S,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:k,title:R,style:N,propsDisabled:w,useAction:O,actionCallback:D,visibleWithURL:T,setVisibleWithURL:$,setSubmitted:B,getAriaLabel:I,parentRecordData:M}=l,z=Y(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,L]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$8(),[K,H]=(0,import_react2.useState)(!1),W=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),re=(0,import_react.useForm)(),ne=useACLActionParamsContext(),{run:le,element:me,disabled:xe}=(O==null?void 0:O(D))||{},ce=re.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},N),{opacity:m&&(((se=d==null?void 0:d.data)==null?void 0:se.hidden)||!ne)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":N==null?void 0:N.color})},[ne,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,N,ce]),he={designable:m,field:d,aclCtx:ne,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:_,designerProps:W,componentCls:q,hashId:G,className:f,others:z,getAriaLabel:I,type:v,Designer:b,onClick:S,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:L,run:le,confirm:C,modal:te,setSubmitted:B,confirmTitle:y,title:R},ge=(0,import_react2.useCallback)(se=>{L==null||L(se),$==null||$(se)},[$]);let de=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:E||T,setVisible:ge,formValueChanged:K,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:B,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),me]})});return isBulkEditAction(u)&&(de=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:de})),U(j?(0,import_jsx_runtime.jsx)(RecordProvider,{record:null,parent:M,children:(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:de})}):de)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:g,getAriaLabel:h,type:_,Designer:f,onClick:v,refreshDataBlockRequest:b,fieldSchema:S,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:R,title:N})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:T}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=T;const B=(0,import_react2.useCallback)((I,M=!0)=>{if(!(M&&(0,import_client.isPortalInBody)(I.target))&&(I.preventDefault(),I.stopPropagation(),!n&&o)){const z=()=>{v?v(I,()=>{var E,L;b!==!1&&(k==null||k(!0),(L=(E=w())==null?void 0:E.refresh)==null||L.call(E))}):isBulkEditAction(S)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:R||N||(t==null?void 0:t.title)}),content:O(F.content,{title:R||N||(t==null?void 0:t.title)}),onOk:z}):z()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,R,n,t,S,D,j,v,b,y,k,C,O,N,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:B,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:N},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:_,hashId:f,className:v,type:b,Designer:S,designerProps:C,title:y,isLink:F}=r,j=Y(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink"]),k=(0,import_react2.useCallback)((0,import_debounce.default)((T,$=!0)=>{g(T,$)},300,{leading:!0,trailing:!1}),[g]);if((0,import_react2.useEffect)(()=>()=>{k.cancel()},[]),!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const R=y||(n==null?void 0:n.title),N=m,{opacity:w}=N,O=Y(N,["opacity"]),D=F&&w?{opacity:w}:void 0;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},j),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:D}):l,disabled:u,style:F?O:m,onClick:k,component:h||import_antd.Button,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:b==="danger"?void 0:b,children:[R&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:D,children:R}),(0,import_jsx_runtime.jsx)(S,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=Y(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return V(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=Y(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=Y(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return V(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=Y(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(f=>f).map(f=>(0,import_client.isPlainObject)(f)?f[n.value]:f),_=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(f=>({label:f[n.label],value:f[n.value]}));return["tags","multiple"].includes(a)||e.multiple?_:_.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:d(o),defaultValue:d(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,_;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((_=g==null?void 0:g[n.label||"label"])!=null?_:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=Y(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const m=d=>["tags","multiple"].includes(e.mode)||e.multiple?d?(0,import_shared.toArr)(d):void 0:d;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:m(i),defaultValue:m(a),tagRender:d=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":d.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},d),{children:d.label}))},c(l)),{onChange:d=>{var p;(p=e.onChange)==null||p.call(e,d===void 0?null:d)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>V(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:m=!0,mapOptions:d,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:_,toOptionsItem:f=K=>K,popupMatchSelectWidth:v=!1}=r,b=Y(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),S=useDataSourceKey(),C=useDataSourceHeaders(_||S),y=(0,import_react2.useRef)(!1),F=(0,import_react.useFieldSchema)(),j=((t=F["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:k}=useCollection_deprecated(),R=(0,import_react2.useRef)(null),{getCollectionJoinField:N,getInterface:w}=useCollectionManager_deprecated(),O=F["x-collection-field"]||F.name,D=k(O)||N(O),T=p||(D==null?void 0:D.target)&&(i==null?void 0:i.label)&&N(`${D.target}.${i.label}`),$=(0,import_react2.useMemo)(()=>{var K;if(T!=null&&T.interface){const H=w(T.interface),W=((K=H==null?void 0:H.filterable)==null?void 0:K.operators[0].value)||"$includes";return T.type==="string"?"$includes":W}return"$includes"},[T]),B=useCompile(),I=(0,import_react2.useCallback)(K=>{try{return K.filter(H=>["number","string"].includes(typeof H[i.value])||!H[i.value]).map(H=>{var W;let J=B(H[i.label]);if((W=T==null?void 0:T.uiSchema)!=null&&W.enum)if(Array.isArray(J))J=J.map((Q,Z)=>{const te=T.uiSchema.enum.find(re=>re.value===Q);return te?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,style:{marginRight:3},children:(te==null?void 0:te.label)||Q},Z):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:Q},Q)}).reverse();else{const Q=T.uiSchema.enum.find(Z=>Z.value===J);Q&&(J=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:Q.color,children:Q.label}))}return(T==null?void 0:T.type)==="date"&&(J=(0,import_dayjs.default)(J).format("YYYY-MM-DD")),d?d({[i.label]:J||EMPTY$1,[i.value]:H[i.value]}):P(x({},H),{[i.label]:J||EMPTY$1,[i.value]:H[i.value]})}).filter(Boolean)}catch(H){return console.error(H),K}},[T==null?void 0:T.uiSchema,i]),{data:M,run:z,loading:E}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:m,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),L=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),U=(0,import_react2.useCallback)(()=>R.current&&g?(0,import_jsx_runtime.jsx)(g,{search:R.current,callBack:()=>{R.current=null}}):null,[R.current]);(0,import_react2.useEffect)(()=>{y.current&&z()},[L]);const q=K=>V(void 0,null,function*(){var H;z({filter:mergeFilter([K?{[i.label]:{[$]:K}}:{},(H=n==null?void 0:n.params)==null?void 0:H.filter])}),R.current=K}),G=(0,import_react2.useMemo)(()=>{var K;const H=l||c;if(!((K=M==null?void 0:M.data)!=null&&K.length))return H!=null?Array.isArray(H)?H:[H]:[];const W=H!=null&&(Array.isArray(H)?H.map(Q=>P(x({},Q),{[i.value]:Q[i.value]||Q})):[P(x({},H),{[i.value]:H[i.value]||H})])||[],J=typeof h=="function"?M.data.filter(h):M.data;return(0,import_lodash.uniqBy)(J.concat(W??[]),i.value)},[l,c,M==null?void 0:M.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:q,onDropdownVisibleChange:K=>{R.current=null,K&&z(),y.current=!0},objectValue:u,value:l,defaultValue:c},b),{loading:M?E:!0,options:f(I(G)),rawOptions:G,dropdownRender:K=>{const H=G.some(W=>W[i.label]===R.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:j?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((M==null?void 0:M.data.length)===0&&R!=null&&R.current)&&K,(M==null?void 0:M.data.length)>0&&(R==null?void 0:R.current)&&!H&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!H&&(0,import_jsx_runtime.jsx)(U,{})]}):K})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(m=>r(`${c.collection}.${m}`)?m:"").filter(Boolean)}catch(m){(0,import_client.error)(m),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,m]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[d,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=useDataSourceKey(),f=useDataSourceHeaders(_);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,f))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||S("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),b=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),S=(0,import_react2.useCallback)(F=>V(void 0,null,function*(){m(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,k)=>V(void 0,null,function*(){const R=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,R,k).then(N=>(t&&N&&(t.reset(),t.__template=!0,(0,import_client.forEach)(N,(w,O)=>{var D;w&&(t.values[O]=w,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,w))})),N)).catch(N=>{console.error(N)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:b,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:S}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:d,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),f),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return V(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:m,enabled:d}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),_=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,f=c?u:0,v=useDataBlockRequestData(),{count:b,pageSize:S}=(v==null?void 0:v.meta)||{},C=b>S?n.controlHeightSM+24:0,y=m&&d?n.controlHeight+2*n.padding+n.margin:0;return r-_-n.paddingLG-f-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:m}=import_antd.theme.useToken(),{layout:d="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:d},i),{labelAlign:p,labelWidth:d==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
|
|
705
|
+
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const g={"x-uid":n["x-uid"]};g["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),g["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const h=a.path.entire.split(".");h.pop();const _=h.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:g}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]});class SchemaSettingsPlugin extends Plugin{load(){return V(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?pageSize=9999",belongsTo:"get",hasOne:"get",belongsToMany:"list?pageSize=9999",belongsToArray:"get"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){var S,C;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:R,dataSource:N,variableOption:w}=getFieldPath$1(F,j);let O=R;const{fieldPath:D}=getFieldPath$1(f,j),T=y.length===1?w==null?void 0:w.collectionName:(S=i(D,N))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let B=0;B<y.length;B++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:N,collectionName:T};const I=y[B],M=y.slice(0,B+1).join("."),{fieldPath:z}=getFieldPath$1(M,j),E=i(z,N),L=(C=n(O,N))==null?void 0:C.getPrimaryKey();if(Array.isArray(k)){const U=k.map(q=>{if(!(b!=null&&b.doNotRequest)&&shouldToRequest(q==null?void 0:q[I])&&(q==null?void 0:q[L])!=null&&E!=null&&E.target){const G=`/${O}/${q[E.sourceKey||L]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const K=r.request({headers:getDataSourceHeaders(N),url:G,params:{appends:b==null?void 0:b.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,K),K}return q==null?void 0:q[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(b!=null&&b.doNotRequest)&&shouldToRequest(k[I])&&k[L]!=null&&E!=null&&E.target){const U=`/${O}/${k[E.sourceKey||L]}/${I}:${getAction(E.type)}`;let q=null;if(hasRequested(U))q=yield getRequested(U);else{const K=r.request({headers:getDataSourceHeaders(N),url:U,params:{appends:b==null?void 0:b.appends}});stashRequested(U,K),q=yield K,clearRequested(U)}const G=q.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(O=E.target)}const $=a(import_lodash.default.isFunction(k)?k({fieldOperator:b==null?void 0:b.fieldOperator,isParsingVariable:!0}):k);return{value:$===void 0?w.defaultValue:$,dataSource:N,collectionName:T}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const b=x({},v);return delete b[f],b}),delete variablesStore[f]},[c]),g=(0,import_react2.useCallback)((f,v,b)=>V(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),C=yield u(S,v,b);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((f,v)=>V(void 0,null,function*(){var b;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(C,S);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(b=S[C])==null?void 0:b.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:m,getVariable:d,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,d,g,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h,_,f,v,b,S;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=C(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(b=this.props.schema)==null?void 0:b["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(g=_)}if((0,import_shared.isFn)(i)&&i(g,m)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:g}=e,h=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:b}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:C}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&g&&(y.parent=g,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(O=>{O===y.name&&(w.properties[O]=_.current)}),S(),C==null||C()},[y,C,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=b,createMergedSchemaInstance(y,v,n)):y,[v,b,y,n,p]),k=useFieldProps(j),R=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:h,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},N=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?R():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:h,children:R})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:h})):j.type==="void"?n?R():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:h,children:R})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:h})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:h,schema:j}):R();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:N()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return V(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:g,disabled:h,actionCallback:_,confirm:f,addChild:v,onMouseEnter:b,refreshDataBlockRequest:S,confirmTitle:C}=o,y=Y(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),R=useCompile(),N=useCollectionRecordData(),w=R((t=k["x-component-props"])==null?void 0:t.confirm)||f,O=(0,import_react2.useMemo)(()=>(k==null?void 0:k["x-linkage-rules"])||[],[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),T=useComponent(n)||n,$=useVariables$1(),B=useLocalVariables$1({currentForm:{values:N,readPretty:!1}}),{visibleWithURL:I,setVisibleWithURL:M}=usePopupUtils(),{setSubmitted:z}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),L=useCollectionParentRecordData(),U=useApp();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(G=>!G.disabled).forEach(G=>{var K;(K=G.actions)==null||K.forEach(H=>{linkageAction({operator:H.operator,field:j,condition:G.condition,variables:$,localVariables:B},U.jsonLogic)})})},[j,O,B,$]);const q=(0,import_react2.useCallback)(G=>{b==null||b(G)},[b]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:q,tarComponent:T,className:l,type:e.type,Designer:F,onClick:m,confirm:w,confirmTitle:C,popover:r,addChild:v,recordData:N,title:u,style:d,propsDisabled:h,useAction:a,visibleWithURL:I,setVisibleWithURL:M,setSubmitted:z,getAriaLabel:E,parentRecordData:L,actionCallback:_},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:g,handleMouseEnter:h,tarComponent:_,className:f,type:v,Designer:b,onClick:S,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:k,title:R,style:N,propsDisabled:w,useAction:O,actionCallback:D,visibleWithURL:T,setVisibleWithURL:$,setSubmitted:B,getAriaLabel:I,parentRecordData:M}=l,z=Y(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,L]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$8(),[K,H]=(0,import_react2.useState)(!1),W=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),re=(0,import_react.useForm)(),ne=useACLActionParamsContext(),{run:le,element:me,disabled:xe}=(O==null?void 0:O(D))||{},ce=re.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},N),{opacity:m&&(((se=d==null?void 0:d.data)==null?void 0:se.hidden)||!ne)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":N==null?void 0:N.color})},[ne,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,N,ce]),he={designable:m,field:d,aclCtx:ne,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:_,designerProps:W,componentCls:q,hashId:G,className:f,others:z,getAriaLabel:I,type:v,Designer:b,onClick:S,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:L,run:le,confirm:C,modal:te,setSubmitted:B,confirmTitle:y,title:R},ge=(0,import_react2.useCallback)(se=>{L==null||L(se),$==null||$(se)},[$]);let de=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:E||T,setVisible:ge,formValueChanged:K,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:B,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),me]})});return isBulkEditAction(u)&&(de=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:de})),U(j?(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:de}):de)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:g,getAriaLabel:h,type:_,Designer:f,onClick:v,refreshDataBlockRequest:b,fieldSchema:S,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:R,title:N})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:T}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=T;const B=(0,import_react2.useCallback)((I,M=!0)=>{if(!(M&&(0,import_client.isPortalInBody)(I.target))&&(I.preventDefault(),I.stopPropagation(),!n&&o)){const z=()=>{v?v(I,()=>{var E,L;b!==!1&&(k==null||k(!0),(L=(E=w())==null?void 0:E.refresh)==null||L.call(E))}):isBulkEditAction(S)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:R||N||(t==null?void 0:t.title)}),content:O(F.content,{title:R||N||(t==null?void 0:t.title)}),onOk:z}):z()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,R,n,t,S,D,j,v,b,y,k,C,O,N,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:B,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:N},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:_,hashId:f,className:v,type:b,Designer:S,designerProps:C,title:y,isLink:F}=r,j=Y(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink"]),k=(0,import_react2.useCallback)((0,import_debounce.default)((T,$=!0)=>{g(T,$)},300,{leading:!0,trailing:!1}),[g]);if((0,import_react2.useEffect)(()=>()=>{k.cancel()},[]),!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const R=y||(n==null?void 0:n.title),N=m,{opacity:w}=N,O=Y(N,["opacity"]),D=F&&w?{opacity:w}:void 0;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},j),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:D}):l,disabled:u,style:F?O:m,onClick:k,component:h||import_antd.Button,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:b==="danger"?void 0:b,children:[R&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:D,children:R}),(0,import_jsx_runtime.jsx)(S,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=Y(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return V(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=Y(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=Y(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return V(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=Y(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(f=>f).map(f=>(0,import_client.isPlainObject)(f)?f[n.value]:f),_=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(f=>({label:f[n.label],value:f[n.value]}));return["tags","multiple"].includes(a)||e.multiple?_:_.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:d(o),defaultValue:d(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,_;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((_=g==null?void 0:g[n.label||"label"])!=null?_:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=Y(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const m=d=>["tags","multiple"].includes(e.mode)||e.multiple?d?(0,import_shared.toArr)(d):void 0:d;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:m(i),defaultValue:m(a),tagRender:d=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":d.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},d),{children:d.label}))},c(l)),{onChange:d=>{var p;(p=e.onChange)==null||p.call(e,d===void 0?null:d)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>V(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:m=!0,mapOptions:d,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:_,toOptionsItem:f=K=>K,popupMatchSelectWidth:v=!1}=r,b=Y(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),S=useDataSourceKey(),C=useDataSourceHeaders(_||S),y=(0,import_react2.useRef)(!1),F=(0,import_react.useFieldSchema)(),j=((t=F["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:k}=useCollection_deprecated(),R=(0,import_react2.useRef)(null),{getCollectionJoinField:N,getInterface:w}=useCollectionManager_deprecated(),O=F["x-collection-field"]||F.name,D=k(O)||N(O),T=p||(D==null?void 0:D.target)&&(i==null?void 0:i.label)&&N(`${D.target}.${i.label}`),$=(0,import_react2.useMemo)(()=>{var K;if(T!=null&&T.interface){const H=w(T.interface),W=((K=H==null?void 0:H.filterable)==null?void 0:K.operators[0].value)||"$includes";return T.type==="string"?"$includes":W}return"$includes"},[T]),B=useCompile(),I=(0,import_react2.useCallback)(K=>{try{return K.filter(H=>["number","string"].includes(typeof H[i.value])||!H[i.value]).map(H=>{var W;let J=B(H[i.label]);if((W=T==null?void 0:T.uiSchema)!=null&&W.enum)if(Array.isArray(J))J=J.map((Q,Z)=>{const te=T.uiSchema.enum.find(re=>re.value===Q);return te?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,style:{marginRight:3},children:(te==null?void 0:te.label)||Q},Z):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:Q},Q)}).reverse();else{const Q=T.uiSchema.enum.find(Z=>Z.value===J);Q&&(J=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:Q.color,children:Q.label}))}return(T==null?void 0:T.type)==="date"&&(J=(0,import_dayjs.default)(J).format("YYYY-MM-DD")),d?d({[i.label]:J||EMPTY$1,[i.value]:H[i.value]}):P(x({},H),{[i.label]:J||EMPTY$1,[i.value]:H[i.value]})}).filter(Boolean)}catch(H){return console.error(H),K}},[T==null?void 0:T.uiSchema,i]),{data:M,run:z,loading:E}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:m,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),L=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),U=(0,import_react2.useCallback)(()=>R.current&&g?(0,import_jsx_runtime.jsx)(g,{search:R.current,callBack:()=>{R.current=null}}):null,[R.current]);(0,import_react2.useEffect)(()=>{y.current&&z()},[L]);const q=K=>V(void 0,null,function*(){var H;z({filter:mergeFilter([K?{[i.label]:{[$]:K}}:{},(H=n==null?void 0:n.params)==null?void 0:H.filter])}),R.current=K}),G=(0,import_react2.useMemo)(()=>{var K;const H=l||c;if(!((K=M==null?void 0:M.data)!=null&&K.length))return H!=null?Array.isArray(H)?H:[H]:[];const W=H!=null&&(Array.isArray(H)?H.map(Q=>P(x({},Q),{[i.value]:Q[i.value]||Q})):[P(x({},H),{[i.value]:H[i.value]||H})])||[],J=typeof h=="function"?M.data.filter(h):M.data;return(0,import_lodash.uniqBy)(J.concat(W??[]),i.value)},[l,c,M==null?void 0:M.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:q,onDropdownVisibleChange:K=>{R.current=null,K&&z(),y.current=!0},objectValue:u,value:l,defaultValue:c},b),{loading:M?E:!0,options:f(I(G)),rawOptions:G,dropdownRender:K=>{const H=G.some(W=>W[i.label]===R.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:j?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((M==null?void 0:M.data.length)===0&&R!=null&&R.current)&&K,(M==null?void 0:M.data.length)>0&&(R==null?void 0:R.current)&&!H&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!H&&(0,import_jsx_runtime.jsx)(U,{})]}):K})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(m=>r(`${c.collection}.${m}`)?m:"").filter(Boolean)}catch(m){(0,import_client.error)(m),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,m]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[d,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=useDataSourceKey(),f=useDataSourceHeaders(_);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,f))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||S("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),b=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),S=(0,import_react2.useCallback)(F=>V(void 0,null,function*(){m(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,k)=>V(void 0,null,function*(){const R=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,R,k).then(N=>(t&&N&&(t.reset(),t.__template=!0,(0,import_client.forEach)(N,(w,O)=>{var D;w&&(t.values[O]=w,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,w))})),N)).catch(N=>{console.error(N)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:b,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:S}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:d,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),f),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return V(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:m,enabled:d}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),_=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,f=c?u:0,v=useDataBlockRequestData(),{count:b,pageSize:S}=(v==null?void 0:v.meta)||{},C=b>S?n.controlHeightSM+24:0,y=m&&d?n.controlHeight+2*n.padding+n.margin:0;return r-_-n.paddingLG-f-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=Y(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:m}=import_antd.theme.useToken(),{layout:d="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:d},i),{labelAlign:p,labelWidth:d==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
|
|
706
706
|
.nb-grid-container {
|
|
707
707
|
height: ${u?u+"px":"100%"};
|
|
708
708
|
overflow-y: auto;
|
|
@@ -892,7 +892,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
892
892
|
}
|
|
893
893
|
}
|
|
894
894
|
}
|
|
895
|
-
`),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,rowKey:r,association:i}=e;if(!o)throw new Error("dataSource is required");return{type:"void","x-decorator":"TableBlockProvider","x-acl-action":`${i||t}:list`,"x-use-decorator-props":"useTableBlockDecoratorProps","x-decorator-props":{collection:t,association:i,dataSource:o,action:"list",params:{pageSize:20},rowKey:r,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({rowKey:l.filterTargetKey,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({rowKey:i.filterTargetKey,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$4=()=>{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$4},{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$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$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$3},{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(),{getCollection:t}=useCollectionManager_deprecated();return{createTableBlock:({item:o})=>{const r=t(o.name,o.dataSource),i=createTableBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});e(i)}}},ParentCollectionFields$2=()=>{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$2},{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"}}}}}}}},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$2=()=>{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,service:n,block:a,__parent:l}=useBlockRequestContext(),c=useActionContext(),{isMobile:u}=useOpenModeContext()||{},m={size:"small",onChange:e==null?void 0:e.onChange,selectedRows:t,setSelectedRows:o},d=()=>{const{selectedRows:g}=(0,import_react2.useContext)(RecordPickerContext),{setVisible:h,setSubmitted:_,setFormValueChanged:f}=useActionContext();return{onClick(v,b){return V(this,null,function*(){var S,C;yield i.add({values:g}),b&&(b==null||b()),h==null||h(!1),_==null||_(!0),a&&a!=="TableField"&&((C=(S=l==null?void 0:l.service)==null?void 0:S.refresh)==null||C.call(S),h==null||h(!1),f==null||f(!1))})}}},p=()=>{var g,h;const _=(r==null?void 0:r.filterTargetKey)||"id";if((g=n.data)!=null&&g.data){const f=(h=n.data)==null?void 0:h.data.map(v=>v[_]).filter(Boolean);return f.length?{$and:[{[`${_}.$ne`]:f}]}:{}}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({},m),{children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{useTableSelectorProps:useTableSelectorProps$2,usePickActionProps:d},children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:p()},children:e.children})})}))})},ParentCollectionFields$1=()=>{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$1}]},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}),InternalField=e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{uiSchema:r}=useCollectionField_deprecated(),i=useComponent(r==null?void 0:r["x-component"]),n=useCompile(),a=(c,u)=>{t[c]=typeof t[c]>"u"?u:t[c]},l=()=>{typeof o.required>"u"&&(t.required=!!r.required)};return(0,import_react2.useEffect)(()=>{if(!r)return;a("content",r["x-content"]),a("title",r.title),a("description",r.description),a("initialValue",r.default),o["x-disabled"]===!0&&(t.disabled=!0),o["x-read-pretty"]===!0&&(t.readPretty=!0),l(),t.dataSource=r.enum;const c=n(r["x-component-props"])||{},u=(0,import_shared.merge)(c,t.componentProps||{});t.componentProps=u},[JSON.stringify(r)]),r?import_react2.default.createElement(i,e,e.children):null},CollectionField=e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(InternalField,x({},e))})};var AssignedFieldValueType=(e=>(e.ConstantValue="constantValue",e.DynamicValue="dynamicValue",e))(AssignedFieldValueType||{});const AssignedField=e=>{const{value:t,onChange:o}=e,{getCollectionFields:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),n=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),c=useRecord(),u=useVariables$1(),m=useLocalVariables$1(),d=useCollectionFilterOptions(n),{name:p,getField:g}=n,h=g(l.name),_=(0,import_react2.useMemo)(()=>getShouldChange({collectionField:h,variables:u,localVariables:m,getAllCollectionsInheritChain:i}),[h,i,m,u]),f=(0,import_react2.useCallback)(b=>{const S=b.find(y=>y.value==="$nForm"),C=r(p);return!(C!=null&&C.length)&&S&&(S.children=formatVariableScop(d)),b},[d,p]),v=(0,import_react2.useCallback)(({value:b,onChange:S})=>(0,import_jsx_runtime.jsx)(CollectionField,P(x({},e),{value:b,onChange:S})),[JSON.stringify(import_lodash.default.omit(e,"value"))]);return(0,import_jsx_runtime.jsx)(VariableInput,{form:a,record:c,value:t,onChange:o,renderSchemaComponent:v,collectionField:h,shouldChange:_,returnScope:f,targetFieldSchema:l})};function useAclCheck(e){return useAclCheckFn()(e)}function useAclCheckFn(){const{data:e,inResources:t,getResourceActionParams:o,getStrategyActionParams:r}=useACLRolesCheck(),i=useRecordPkValue(),n=useCollection_deprecated();function a(l){const c=n.resource,u=(m,d={})=>{const[p]=m.split(":");return e!=null&&e.allowAll?{}:t(p)?o(m):r(m)};return!l&&c&&(l=`${c}:create}`),l!=null&&l.includes(":")||(l=`${c}:${l}`),l?!!u(l,{recordPkValue:i}):!0}return a}const InternalCreateRecordAction=(e,t)=>{const o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),i=(o==null?void 0:o["x-linkage-rules"])||[],n=useRecord(),a=useVariables$1(),l=useLocalVariables$1({currentForm:{values:n}}),{openPopup:c}=usePopupUtils(),u=useTreeParentRecord(),m=useCollectionManager(),d=useApp();(0,import_react2.useEffect)(()=>{r.stateOfLinkageRules={},i.filter(h=>!h.disabled).forEach(h=>{var _;(_=h.actions)==null||_.forEach(f=>{linkageAction({operator:f.operator,field:r,condition:h.condition,variables:a,localVariables:l},d.jsonLogic)})})},[r,i,l,a]);const p=(0,import_react2.createRef)(),g=(0,import_ref.composeRef)(t,p);return(0,import_jsx_runtime.jsx)("div",{ref:g,children:(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:h=>{var _;h=m.getCollection(h.name)||h,u?c({recordData:u}):(_=h.isInherited)!=null&&_.call(h)?c({collectionNameUsedInURL:h.name}):c()}}))})};function getLinkageCollection(e,t,o){const r={$form:t.values,$iteration:t.values};if(e.includes("$iteration")){const i=o.path.segments.concat([]);return i.splice(-2),e=e.replace("$iteration.",`$iteration.${i.join(".")}.`),parseVariables(e,r)}else return parseVariables(e,{$form:t.values})}const CreateAction=(0,import_react.observer)(e=>{var t;const{onClick:o}=e,r=useCollection_deprecated(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=(0,import_react.useForm)(),l=useVariables$1(),c=useAclCheckFn(),u=i["x-enable-children"]||[],m=i==null?void 0:i["x-allow-add-to-current"],d=(t=i==null?void 0:i["x-component-props"])==null?void 0:t.linkageFromForm,p=n.componentProps.type==="danger"?void 0:n.componentProps.type||"primary",{getChildrenCollections:g}=useCollectionManager_deprecated(),h=g(r.name),_=(0,import_react2.useMemo)(()=>u.map(R=>{if(!R)return;const N=h.find(w=>w.name===R.collection);if(N)return P(x({},N.getOptions()),{title:R.title||N.title})}).filter(R=>R&&c(`${R.name}:create`)),[u,h]),f=(i==null?void 0:i["x-linkage-rules"])||[],v=useRecord(),b=useLocalVariables$1({currentForm:{values:v}}),S=useCompile(),{designable:C}=useDesignable(),y=e.icon||null,F=useApp(),j=(0,import_react2.useMemo)(()=>_.map(R=>({key:R.name,label:S(R.title),onClick:()=>o==null?void 0:o(R)})),[_,o]),k=(0,import_react2.useMemo)(()=>({items:j}),[j]);return(0,import_react2.useEffect)(()=>{n.stateOfLinkageRules={},f.filter(R=>!R.disabled).forEach(R=>{var N;(N=R.actions)==null||N.forEach(w=>{linkageAction({operator:w.operator,field:n,condition:R.condition,variables:l,localVariables:b},F.jsonLogic)})})},[n,f,b,l]),(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(FinallyButton,{inheritsCollections:_,linkageFromForm:d,allowAddToCurrent:m,props:e,componentType:p,menu:k,onClick:o,collection:r,icon:y,field:n,form:a,designable:C})})},{displayName:"CreateAction"});function FinallyButton({inheritsCollections:e,linkageFromForm:t,allowAddToCurrent:o,props:r,componentType:i,menu:n,onClick:a,collection:l,icon:c,field:u,form:m,designable:d}){var p,g,h,_,f;const{getCollection:v}=useCollectionManager_deprecated(),b=useACLActionParamsContext(),S=(0,import_react2.useMemo)(()=>{var C;const y=d&&(((C=u==null?void 0:u.data)==null?void 0:C.hidden)||!b);return{opacity:i!=="link"&&y?.1:1}},[d,(p=u==null?void 0:u.data)==null?void 0:p.hidden,b,i]);return(e==null?void 0:e.length)>0?t?(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":r["aria-label"],type:i,disabled:u.disabled,danger:r.danger,icon:c,onClick:C=>{const y=getLinkageCollection(t,m,u),F=e.find(k=>k.name===y)?y:l.name,j=v(F);a==null||a(j)},style:x({display:!d&&((g=u==null?void 0:u.data)==null?void 0:g.hidden)&&"none",opacity:d&&((h=u==null?void 0:u.data)==null?void 0:h.hidden)&&.1},S),children:r.children}):o===void 0||o?(0,import_jsx_runtime.jsxs)(import_antd.Dropdown.Button,{"aria-label":r["aria-label"],danger:r.danger,type:i,icon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{}),style:x(x({},r==null?void 0:r.style),S),buttonsRender:([C,y])=>[import_react2.default.cloneElement(C,{style:r==null?void 0:r.style}),import_react2.default.cloneElement(y,{loading:!1,style:P(x({},r==null?void 0:r.style),{justifyContent:"center"})})],menu:n,onClick:C=>{a==null||a(l)},children:[c,r.children]}):(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:n,children:(0,import_jsx_runtime.jsxs)(import_antd.Button,{"aria-label":r["aria-label"],icon:c,type:i,danger:r.danger,style:x(x({},r==null?void 0:r.style),S),children:[r.children," ",(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})]})}):(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({},r),{"aria-label":r["aria-label"],type:i,disabled:u.disabled,danger:r.danger,icon:c,onClick:C=>{a==null||a(l)},style:x(P(x({},r==null?void 0:r.style),{display:!d&&((_=u==null?void 0:u.data)==null?void 0:_.hidden)&&"none",opacity:d&&((f=u==null?void 0:u.data)==null?void 0:f.hidden)&&.1}),S),children:r.children}))}const CreateRecordAction$1=(0,import_react2.forwardRef)(InternalCreateRecordAction),initializerComponents=Object.freeze(Object.defineProperty({__proto__:null,AssignedField,AssignedFieldValueType,CreateAction,CreateRecordAction:CreateRecordAction$1,useAclCheck},Symbol.toStringTag,{value:"Module"}));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 CronstrueLocale{constructor(t){this.data=t}atX0SecondsPastTheMinuteGt20(){return this.data.atX0SecondsPastTheMinuteGt20}atX0MinutesPastTheHourGt20(){return this.data.atX0MinutesPastTheHourGt20}commaMonthX0ThroughMonthX1(){return this.data.commaMonthX0ThroughMonthX1}commaYearX0ThroughYearX1(){return this.data.commaYearX0ThroughYearX1}use24HourTimeFormatByDefault(){return this.data.use24HourTimeFormatByDefault}anErrorOccuredWhenGeneratingTheExpressionD(){return this.data.anErrorOccuredWhenGeneratingTheExpressionD}everyMinute(){return this.data.everyMinute}everyHour(){return this.data.everyHour}atSpace(){return this.data.atSpace}everyMinuteBetweenX0AndX1(){return this.data.everyMinuteBetweenX0AndX1}at(){return this.data.at}spaceAnd(){return this.data.spaceAnd}everySecond(){return this.data.everySecond}everyX0Seconds(){return this.data.everyX0Seconds}secondsX0ThroughX1PastTheMinute(){return this.data.secondsX0ThroughX1PastTheMinute}atX0SecondsPastTheMinute(){return this.data.atX0SecondsPastTheMinute}everyX0Minutes(){return this.data.everyX0Minutes}minutesX0ThroughX1PastTheHour(){return this.data.minutesX0ThroughX1PastTheHour}atX0MinutesPastTheHour(){return this.data.atX0MinutesPastTheHour}everyX0Hours(){return this.data.everyX0Hours}betweenX0AndX1(){return this.data.betweenX0AndX1}atX0(){return this.data.atX0}commaEveryDay(){return this.data.commaEveryDay}commaEveryX0DaysOfTheWeek(){return this.data.commaEveryX0DaysOfTheWeek}commaX0ThroughX1(){return this.data.commaX0ThroughX1}commaAndX0ThroughX1(){return this.data.commaAndX0ThroughX1}first(){return this.data.first}second(){return this.data.second}third(){return this.data.third}fourth(){return this.data.fourth}fifth(){return this.data.fifth}commaOnThe(){return this.data.commaOnThe}spaceX0OfTheMonth(){return this.data.spaceX0OfTheMonth}lastDay(){return this.data.lastDay}commaOnTheLastX0OfTheMonth(){return this.data.commaOnTheLastX0OfTheMonth}commaOnlyOnX0(){return this.data.commaOnlyOnX0}commaAndOnX0(){return this.data.commaAndOnX0}commaEveryX0Months(){return this.data.commaEveryX0Months}commaOnlyInX0(){return this.data.commaOnlyInX0}commaOnTheLastDayOfTheMonth(){return this.data.commaOnTheLastDayOfTheMonth}commaOnTheLastWeekdayOfTheMonth(){return this.data.commaOnTheLastWeekdayOfTheMonth}commaDaysBeforeTheLastDayOfTheMonth(){return this.data.commaDaysBeforeTheLastDayOfTheMonth}firstWeekday(){return this.data.firstWeekday}weekdayNearestDayX0(){return this.data.weekdayNearestDayX0}commaOnTheX0OfTheMonth(){return this.data.commaOnTheX0OfTheMonth}commaEveryX0Days(){return this.data.commaEveryX0Days}commaBetweenDayX0AndX1OfTheMonth(){return this.data.commaBetweenDayX0AndX1OfTheMonth}commaOnDayX0OfTheMonth(){return this.data.commaOnDayX0OfTheMonth}commaEveryHour(){return this.data.commaEveryHour}commaEveryX0Years(){return this.data.commaEveryX0Years}commaStartingX0(){return this.data.commaStartingX0}daysOfTheWeek(){return this.data.daysOfTheWeek}monthsOfTheYear(){return this.data.monthsOfTheYear}}const loadConstrueLocale=e=>{(import_cronstrue.default.default?import_cronstrue.default.default:import_cronstrue.default).initialize({load(t){t[e==null?void 0:e.lang]=new CronstrueLocale(e==null?void 0:e.cronstrue)}})};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`
|
|
895
|
+
`),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,rowKey:r,association:i}=e;if(!o)throw new Error("dataSource is required");return{type:"void","x-decorator":"TableBlockProvider","x-acl-action":`${i||t}:list`,"x-use-decorator-props":"useTableBlockDecoratorProps","x-decorator-props":{collection:t,association:i,dataSource:o,action:"list",params:{pageSize:20},rowKey:r,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({rowKey:l.filterTargetKey,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({rowKey:i.filterTargetKey,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$4=()=>{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$4},{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$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$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$3},{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(),{getCollection:t}=useCollectionManager_deprecated();return{createTableBlock:({item:o})=>{const r=t(o.name,o.dataSource),i=createTableBlockUISchema({collectionName:o.name,dataSource:o.dataSource,rowKey:r.filterTargetKey||"id"});e(i)}}},ParentCollectionFields$2=()=>{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$2},{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"}}}}}}}},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$2=()=>{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:useTableSelectorProps$2,usePickActionProps:p},children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:g()},children:e.children})})}))})},ParentCollectionFields$1=()=>{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$1}]},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}),InternalField=e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{uiSchema:r}=useCollectionField_deprecated(),i=useComponent(r==null?void 0:r["x-component"]),n=useCompile(),a=(c,u)=>{t[c]=typeof t[c]>"u"?u:t[c]},l=()=>{typeof o.required>"u"&&(t.required=!!r.required)};return(0,import_react2.useEffect)(()=>{if(!r)return;a("content",r["x-content"]),a("title",r.title),a("description",r.description),a("initialValue",r.default),o["x-disabled"]===!0&&(t.disabled=!0),o["x-read-pretty"]===!0&&(t.readPretty=!0),l(),t.dataSource=r.enum;const c=n(r["x-component-props"])||{},u=(0,import_shared.merge)(c,t.componentProps||{});t.componentProps=u},[JSON.stringify(r)]),r?import_react2.default.createElement(i,e,e.children):null},CollectionField=e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(InternalField,x({},e))})};var AssignedFieldValueType=(e=>(e.ConstantValue="constantValue",e.DynamicValue="dynamicValue",e))(AssignedFieldValueType||{});const AssignedField=e=>{const{value:t,onChange:o}=e,{getCollectionFields:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),n=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),c=useRecord(),u=useVariables$1(),m=useLocalVariables$1(),d=useCollectionFilterOptions(n),{name:p,getField:g}=n,h=g(l.name),_=(0,import_react2.useMemo)(()=>getShouldChange({collectionField:h,variables:u,localVariables:m,getAllCollectionsInheritChain:i}),[h,i,m,u]),f=(0,import_react2.useCallback)(b=>{const S=b.find(y=>y.value==="$nForm"),C=r(p);return!(C!=null&&C.length)&&S&&(S.children=formatVariableScop(d)),b},[d,p]),v=(0,import_react2.useCallback)(({value:b,onChange:S})=>(0,import_jsx_runtime.jsx)(CollectionField,P(x({},e),{value:b,onChange:S})),[JSON.stringify(import_lodash.default.omit(e,"value"))]);return(0,import_jsx_runtime.jsx)(VariableInput,{form:a,record:c,value:t,onChange:o,renderSchemaComponent:v,collectionField:h,shouldChange:_,returnScope:f,targetFieldSchema:l})};function useAclCheck(e){return useAclCheckFn()(e)}function useAclCheckFn(){const{data:e,inResources:t,getResourceActionParams:o,getStrategyActionParams:r}=useACLRolesCheck(),i=useRecordPkValue(),n=useCollection_deprecated();function a(l){const c=n.resource,u=(m,d={})=>{const[p]=m.split(":");return e!=null&&e.allowAll?{}:t(p)?o(m):r(m)};return!l&&c&&(l=`${c}:create}`),l!=null&&l.includes(":")||(l=`${c}:${l}`),l?!!u(l,{recordPkValue:i}):!0}return a}const InternalCreateRecordAction=(e,t)=>{const o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),i=(o==null?void 0:o["x-linkage-rules"])||[],n=useRecord(),a=useVariables$1(),l=useLocalVariables$1({currentForm:{values:n}}),{openPopup:c}=usePopupUtils(),u=useTreeParentRecord(),m=useCollectionManager(),d=useApp();(0,import_react2.useEffect)(()=>{r.stateOfLinkageRules={},i.filter(h=>!h.disabled).forEach(h=>{var _;(_=h.actions)==null||_.forEach(f=>{linkageAction({operator:f.operator,field:r,condition:h.condition,variables:a,localVariables:l},d.jsonLogic)})})},[r,i,l,a]);const p=(0,import_react2.createRef)(),g=(0,import_ref.composeRef)(t,p);return(0,import_jsx_runtime.jsx)("div",{ref:g,children:(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:h=>{var _;h=m.getCollection(h.name)||h,u?c({recordData:u}):(_=h.isInherited)!=null&&_.call(h)?c({collectionNameUsedInURL:h.name}):c()}}))})};function getLinkageCollection(e,t,o){const r={$form:t.values,$iteration:t.values};if(e.includes("$iteration")){const i=o.path.segments.concat([]);return i.splice(-2),e=e.replace("$iteration.",`$iteration.${i.join(".")}.`),parseVariables(e,r)}else return parseVariables(e,{$form:t.values})}const CreateAction=(0,import_react.observer)(e=>{var t;const{onClick:o}=e,r=useCollection_deprecated(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=(0,import_react.useForm)(),l=useVariables$1(),c=useAclCheckFn(),u=i["x-enable-children"]||[],m=i==null?void 0:i["x-allow-add-to-current"],d=(t=i==null?void 0:i["x-component-props"])==null?void 0:t.linkageFromForm,p=n.componentProps.type==="danger"?void 0:n.componentProps.type||"primary",{getChildrenCollections:g}=useCollectionManager_deprecated(),h=g(r.name),_=(0,import_react2.useMemo)(()=>u.map(R=>{if(!R)return;const N=h.find(w=>w.name===R.collection);if(N)return P(x({},N.getOptions()),{title:R.title||N.title})}).filter(R=>R&&c(`${R.name}:create`)),[u,h]),f=(i==null?void 0:i["x-linkage-rules"])||[],v=useRecord(),b=useLocalVariables$1({currentForm:{values:v}}),S=useCompile(),{designable:C}=useDesignable(),y=e.icon||null,F=useApp(),j=(0,import_react2.useMemo)(()=>_.map(R=>({key:R.name,label:S(R.title),onClick:()=>o==null?void 0:o(R)})),[_,o]),k=(0,import_react2.useMemo)(()=>({items:j}),[j]);return(0,import_react2.useEffect)(()=>{n.stateOfLinkageRules={},f.filter(R=>!R.disabled).forEach(R=>{var N;(N=R.actions)==null||N.forEach(w=>{linkageAction({operator:w.operator,field:n,condition:R.condition,variables:l,localVariables:b},F.jsonLogic)})})},[n,f,b,l]),(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(FinallyButton,{inheritsCollections:_,linkageFromForm:d,allowAddToCurrent:m,props:e,componentType:p,menu:k,onClick:o,collection:r,icon:y,field:n,form:a,designable:C})})},{displayName:"CreateAction"});function FinallyButton({inheritsCollections:e,linkageFromForm:t,allowAddToCurrent:o,props:r,componentType:i,menu:n,onClick:a,collection:l,icon:c,field:u,form:m,designable:d}){var p,g,h,_,f;const{getCollection:v}=useCollectionManager_deprecated(),b=useACLActionParamsContext(),S=(0,import_react2.useMemo)(()=>{var C;const y=d&&(((C=u==null?void 0:u.data)==null?void 0:C.hidden)||!b);return{opacity:i!=="link"&&y?.1:1}},[d,(p=u==null?void 0:u.data)==null?void 0:p.hidden,b,i]);return(e==null?void 0:e.length)>0?t?(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":r["aria-label"],type:i,disabled:u.disabled,danger:r.danger,icon:c,onClick:C=>{const y=getLinkageCollection(t,m,u),F=e.find(k=>k.name===y)?y:l.name,j=v(F);a==null||a(j)},style:x({display:!d&&((g=u==null?void 0:u.data)==null?void 0:g.hidden)&&"none",opacity:d&&((h=u==null?void 0:u.data)==null?void 0:h.hidden)&&.1},S),children:r.children}):o===void 0||o?(0,import_jsx_runtime.jsxs)(import_antd.Dropdown.Button,{"aria-label":r["aria-label"],danger:r.danger,type:i,icon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{}),style:x(x({},r==null?void 0:r.style),S),buttonsRender:([C,y])=>[import_react2.default.cloneElement(C,{style:r==null?void 0:r.style}),import_react2.default.cloneElement(y,{loading:!1,style:P(x({},r==null?void 0:r.style),{justifyContent:"center"})})],menu:n,onClick:C=>{a==null||a(l)},children:[c,r.children]}):(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:n,children:(0,import_jsx_runtime.jsxs)(import_antd.Button,{"aria-label":r["aria-label"],icon:c,type:i,danger:r.danger,style:x(x({},r==null?void 0:r.style),S),children:[r.children," ",(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})]})}):(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({},r),{"aria-label":r["aria-label"],type:i,disabled:u.disabled,danger:r.danger,icon:c,onClick:C=>{a==null||a(l)},style:x(P(x({},r==null?void 0:r.style),{display:!d&&((_=u==null?void 0:u.data)==null?void 0:_.hidden)&&"none",opacity:d&&((f=u==null?void 0:u.data)==null?void 0:f.hidden)&&.1}),S),children:r.children}))}const CreateRecordAction$1=(0,import_react2.forwardRef)(InternalCreateRecordAction),initializerComponents=Object.freeze(Object.defineProperty({__proto__:null,AssignedField,AssignedFieldValueType,CreateAction,CreateRecordAction:CreateRecordAction$1,useAclCheck},Symbol.toStringTag,{value:"Module"}));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 CronstrueLocale{constructor(t){this.data=t}atX0SecondsPastTheMinuteGt20(){return this.data.atX0SecondsPastTheMinuteGt20}atX0MinutesPastTheHourGt20(){return this.data.atX0MinutesPastTheHourGt20}commaMonthX0ThroughMonthX1(){return this.data.commaMonthX0ThroughMonthX1}commaYearX0ThroughYearX1(){return this.data.commaYearX0ThroughYearX1}use24HourTimeFormatByDefault(){return this.data.use24HourTimeFormatByDefault}anErrorOccuredWhenGeneratingTheExpressionD(){return this.data.anErrorOccuredWhenGeneratingTheExpressionD}everyMinute(){return this.data.everyMinute}everyHour(){return this.data.everyHour}atSpace(){return this.data.atSpace}everyMinuteBetweenX0AndX1(){return this.data.everyMinuteBetweenX0AndX1}at(){return this.data.at}spaceAnd(){return this.data.spaceAnd}everySecond(){return this.data.everySecond}everyX0Seconds(){return this.data.everyX0Seconds}secondsX0ThroughX1PastTheMinute(){return this.data.secondsX0ThroughX1PastTheMinute}atX0SecondsPastTheMinute(){return this.data.atX0SecondsPastTheMinute}everyX0Minutes(){return this.data.everyX0Minutes}minutesX0ThroughX1PastTheHour(){return this.data.minutesX0ThroughX1PastTheHour}atX0MinutesPastTheHour(){return this.data.atX0MinutesPastTheHour}everyX0Hours(){return this.data.everyX0Hours}betweenX0AndX1(){return this.data.betweenX0AndX1}atX0(){return this.data.atX0}commaEveryDay(){return this.data.commaEveryDay}commaEveryX0DaysOfTheWeek(){return this.data.commaEveryX0DaysOfTheWeek}commaX0ThroughX1(){return this.data.commaX0ThroughX1}commaAndX0ThroughX1(){return this.data.commaAndX0ThroughX1}first(){return this.data.first}second(){return this.data.second}third(){return this.data.third}fourth(){return this.data.fourth}fifth(){return this.data.fifth}commaOnThe(){return this.data.commaOnThe}spaceX0OfTheMonth(){return this.data.spaceX0OfTheMonth}lastDay(){return this.data.lastDay}commaOnTheLastX0OfTheMonth(){return this.data.commaOnTheLastX0OfTheMonth}commaOnlyOnX0(){return this.data.commaOnlyOnX0}commaAndOnX0(){return this.data.commaAndOnX0}commaEveryX0Months(){return this.data.commaEveryX0Months}commaOnlyInX0(){return this.data.commaOnlyInX0}commaOnTheLastDayOfTheMonth(){return this.data.commaOnTheLastDayOfTheMonth}commaOnTheLastWeekdayOfTheMonth(){return this.data.commaOnTheLastWeekdayOfTheMonth}commaDaysBeforeTheLastDayOfTheMonth(){return this.data.commaDaysBeforeTheLastDayOfTheMonth}firstWeekday(){return this.data.firstWeekday}weekdayNearestDayX0(){return this.data.weekdayNearestDayX0}commaOnTheX0OfTheMonth(){return this.data.commaOnTheX0OfTheMonth}commaEveryX0Days(){return this.data.commaEveryX0Days}commaBetweenDayX0AndX1OfTheMonth(){return this.data.commaBetweenDayX0AndX1OfTheMonth}commaOnDayX0OfTheMonth(){return this.data.commaOnDayX0OfTheMonth}commaEveryHour(){return this.data.commaEveryHour}commaEveryX0Years(){return this.data.commaEveryX0Years}commaStartingX0(){return this.data.commaStartingX0}daysOfTheWeek(){return this.data.daysOfTheWeek}monthsOfTheYear(){return this.data.monthsOfTheYear}}const loadConstrueLocale=e=>{(import_cronstrue.default.default?import_cronstrue.default.default:import_cronstrue.default).initialize({load(t){t[e==null?void 0:e.lang]=new CronstrueLocale(e==null?void 0:e.cronstrue)}})};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`
|
|
896
896
|
top: 50%;
|
|
897
897
|
position: absolute;
|
|
898
898
|
width: 100%;
|