@nocobase/client 1.6.7 → 1.6.8

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 CHANGED
@@ -9161,7 +9161,7 @@ function addAppVersion(e, t) {
9161
9161
  addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
9162
9162
  }), e;
9163
9163
  }
9164
- const name = "@nocobase/client", version = "1.6.7", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9164
+ const name = "@nocobase/client", version = "1.6.8", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9165
9165
  "@ahooksjs/use-url-state": "3.5.1",
9166
9166
  "@ant-design/cssinjs": "^1.11.1",
9167
9167
  "@ant-design/icons": "^5.6.1",
@@ -9183,9 +9183,9 @@ const name = "@nocobase/client", version = "1.6.7", license = "AGPL-3.0", main =
9183
9183
  "@formily/reactive-react": "^2.2.27",
9184
9184
  "@formily/shared": "^2.2.27",
9185
9185
  "@formily/validator": "^2.2.27",
9186
- "@nocobase/evaluators": "1.6.7",
9187
- "@nocobase/sdk": "1.6.7",
9188
- "@nocobase/utils": "1.6.7",
9186
+ "@nocobase/evaluators": "1.6.8",
9187
+ "@nocobase/sdk": "1.6.8",
9188
+ "@nocobase/utils": "1.6.8",
9189
9189
  ahooks: "^3.7.2",
9190
9190
  antd: "5.12.8",
9191
9191
  "antd-style": "3.7.1",
@@ -10973,7 +10973,7 @@ const InternalTableBlockProvider = (e) => {
10973
10973
  }
10974
10974
  }
10975
10975
  );
10976
- }, getPageHeaderHeight = (e, t, n, o, r) => r.includes("/popups/") ? 2 * o.paddingContentVertical + 22 + o.paddingPageVertical : e ? o.paddingContentHorizontalLG : n ? t ? o.controlPaddingHorizontal + 3 * o.controlPaddingHorizontalSM + 22 + o.paddingContentHorizontalLG : o.paddingContentHorizontalLG + 12 : t ? o.paddingSM + o.controlHeight + o.marginXS + 2 * o.controlPaddingHorizontalSM + 22 + o.paddingContentHorizontalLG : o.controlHeight + o.marginXS + (o.paddingXXS + 2) * 2 + o.paddingContentHorizontalLG, usePageFullScreenHeight = (e) => {
10976
+ }, getPageHeaderHeight = (e, t, n, o, r) => r.includes("/popups/") ? 2 * o.paddingContentVertical + 22 + o.paddingPageVertical : e ? o.paddingContentHorizontalLG : n ? t ? o.controlPaddingHorizontal + 3 * o.controlPaddingHorizontalSM + 22 + o.paddingContentHorizontalLG : o.paddingContentHorizontalLG + 12 : t ? o.paddingSM + o.controlHeight + o.marginXS + 2 * o.controlPaddingHorizontalSM + 22 + o.paddingContentHorizontalLG : o.controlHeight + o.marginXS + (o.paddingContentVertical + 2) * 2 + o.paddingContentHorizontalLG, usePageFullScreenHeight = (e) => {
10977
10977
  const { token: t } = theme.useToken(), { designable: n } = useDesignable(), { heightProps: o } = useBlockHeightProps(), r = useLocation(), { disablePageHeader: i, enablePageTabs: a, hidePageTitle: l } = e || o || {}, c = t.sizeXXL - 2, u = n ? t.controlHeight + 2 * t.paddingContentHorizontalLG : 1 * t.paddingContentHorizontalLG, d = getPageHeaderHeight(
10978
10978
  i,
10979
10979
  a,
@@ -11000,7 +11000,7 @@ const InternalTableBlockProvider = (e) => {
11000
11000
  if (!(!(t != null && t.heightMode) || o === HeightMode.DEFAULT)) {
11001
11001
  if (o === HeightMode.FULL_HEIGHT) {
11002
11002
  let c = window.innerHeight - n;
11003
- return console.log(c), e != null && e.removeBlockHeaderHeight && (c = c - l), e != null && e.innerExtraHeight && (c = c - e.innerExtraHeight), c;
11003
+ return e != null && e.removeBlockHeaderHeight && (c = c - l), e != null && e.innerExtraHeight && (c = c - e.innerExtraHeight), c;
11004
11004
  }
11005
11005
  return r;
11006
11006
  }
@@ -50294,12 +50294,6 @@ const useColumnsDeepMemoized = (e) => {
50294
50294
  height: 100%;
50295
50295
  display: flex;
50296
50296
  flex-direction: column;
50297
- .ant-table-expanded-row-fixed {
50298
- min-height: ${t}px;
50299
- }
50300
- .ant-table-body {
50301
- min-height: ${t}px;
50302
- }
50303
50297
  .ant-table-cell {
50304
50298
  padding: 16px 8px;
50305
50299
  }
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,S=>S.target).map(S=>S.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.7",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.7","@nocobase/sdk":"1.6.7","@nocobase/utils":"1.6.7",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 S=(0,import_get.default)(n,f);return(v=S[LAZY_COMPONENT_KEY])!=null?v:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const S=C=>{Object.keys(C).forEach(b=>{const y=C[b];b==="title"&&(d.title=y,p.title=y),b==="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]})),b==="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 C={};return(0,import_set.default)(C,f,v),S(C)}S(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,S)=>{_.insertAdjacent(f,v,S)},[_]),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(),S=useRecord(),C=((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:b}=useParsedFilter({filterOption:C}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=S==null?void 0:S[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,b]),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,b,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,S=>S.target).map(S=>S.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.8",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.8","@nocobase/sdk":"1.6.8","@nocobase/utils":"1.6.8",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 S=(0,import_get.default)(n,f);return(v=S[LAZY_COMPONENT_KEY])!=null?v:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const S=C=>{Object.keys(C).forEach(b=>{const y=C[b];b==="title"&&(d.title=y,p.title=y),b==="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]})),b==="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 C={};return(0,import_set.default)(C,f,v),S(C)}S(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,S)=>{_.insertAdjacent(f,v,S)},[_]),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(),S=useRecord(),C=((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:b}=useParsedFilter({filterOption:C}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=S==null?void 0:S[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,b]),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,b,F,g]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,d,j,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
66
66
  &.skeleton-wrapper {
67
67
  width: 100%;
68
68
  background: ${o.colorBgContainer};
@@ -232,7 +232,7 @@
232
232
  &:hover > td {
233
233
  background-color: ${r.controlItemBgActiveHover} !important;
234
234
  }
235
- `,[r.controlItemBgActive,r.controlItemBgActiveHover]),K=useTableBlockContextBasicValue();(0,import_react2.useEffect)(()=>{var X;K!=null&&K.field&&(K.field.data=((X=K.field)==null?void 0:X.data)||{},K.field.data.clearSelectedRowKeys=()=>{K.field.data.selectedRowKeys=[],L([])},K.field.data.setSelectedRowKeys=L)},[K==null?void 0:K.field]);const J=(0,import_react2.useMemo)(()=>y?H:"",[H,y]),Q=(0,import_react2.useMemo)(()=>y?(X,ee)=>({onClick:oe=>{(0,import_client.isPortalInBody)(oe.target)||y(X,q,U)},rowIndex:ee,record:X}):(X,ee)=>({rowIndex:ee,record:X}),[y,U]);(0,import_ahooks.useDeepCompareEffect)(()=>{const X=D?T:[];import_lodash.default.isEqual(X,B)||N(X)},[D,T]);const Z=(0,import_react2.useCallback)(X=>{if(v)return te(X);if(X.key)return X.key;if(W.current.has(X))return W.current.get(X);const ee=(0,import_shared.uid)();return W.current.set(X,ee),ee},[]),te=(0,import_react2.useCallback)(X=>{var ee;return Array.isArray(v)?v.map(oe=>{var ie;return((ie=X[oe])==null?void 0:ie.toString())||""}).join("-"):typeof v=="string"?X[v]:(ee=(v??Z)(X))==null?void 0:ee.toString()},[JSON.stringify(v),Z]),re=(0,import_react2.useMemo)(()=>(Array.isArray(F)?F:[]).filter(Boolean),[F,F==null?void 0:F.length]),ne=(0,import_react2.useMemo)(()=>X=>{const ee=(0,import_react2.useCallback)(oe=>{var ie,ae,ue,_e,fe,ve;if(!oe.active||!oe.over){console.warn("move cancel");return}const Ce=(ue=(ae=(ie=oe.active)==null?void 0:ie.data.current)==null?void 0:ae.sortable)==null?void 0:ue.index,Se=(ve=(fe=(_e=oe.over)==null?void 0:_e.data.current)==null?void 0:fe.sortable)==null?void 0:ve.index,ye=(F==null?void 0:F[Ce])||oe.active,Pe=(F==null?void 0:F[Se])||oe.over;k.move(Ce,Se),$({from:ye,to:Pe})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:ee,children:(0,import_jsx_runtime.jsx)("tbody",x({},X))})},[k,$]);ne.displayName="BodyWrapperComponent";const le=(0,import_react2.useMemo)(()=>({header:{wrapper:HeaderWrapperComponent$1,cell:HeaderCellComponent$1},body:{wrapper:ne,row:BodyRowComponent$1,cell:BodyCellComponent$1}}),[ne]),me=(0,import_react2.useMemo)(()=>f,[JSON.stringify(f)]),xe=(0,import_react2.useMemo)(()=>({rowSelection:me?x({type:"checkbox",selectedRowKeys:E,onChange(X,ee){k.data=k.data||{},k.data.selectedRowKeys=X,k.data.selectedRowData=ee,L(X),h==null||h(X,ee,L)},onSelect:(X,ee,oe,ie)=>{var ae;K&&(K.field.data=((ae=K.field)==null?void 0:ae.data)||{},K.field.data.selectedRecord=X,K.field.data.selected=ee)},getCheckboxProps(X){return{"aria-label":"checkbox"}},renderCell:(X,ee,oe,ie)=>{if(!p&&!g)return ie;const ae=M==null?void 0:M.current,ue=(M==null?void 0:M.pageSize)||20;return ae?oe=oe+(ae-1)*ue+1:oe=oe+1,ee.__index&&(oe=extractIndex(ee.__index)),(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":`table-index-${oe}`,className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxWrapperClass$1,{[rowSelectCheckboxWrapperClassHover$1]:G}),children:[(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxContentClass$1),children:[p&&(0,import_jsx_runtime.jsx)(SortHandle$2,{id:te(ee)}),g&&(0,import_jsx_runtime.jsx)(TableIndex$3,{index:oe})]}),G&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-origin-node",X?"checked":null,rowSelectCheckboxCheckedClassHover$1),children:ie})]})}},me):void 0}),[me,E,h,g,p,k,te,G,me,M,K]),ce=(0,import_react2.useCallback)(({children:X})=>{var ee;return p?import_react2.default.createElement(import_sortable.SortableContext,{items:((ee=F==null?void 0:F.map)==null?void 0:ee.call(F,te))||[]},X):import_react2.default.createElement(import_react2.default.Fragment,{},X)},[p,te]),{height:pe,tableSizeRefCallback:he}=useTableSize(),ge=(0,import_react2.useMemo)(()=>({x:"max-content",y:pe}),[pe,re]),de=(0,import_react2.useCallback)(X=>U.includes(X[v])?J:"",[U,J,JSON.stringify(v)]),se=(0,import_react2.useCallback)((X,ee)=>{const oe=X?[...B,ee[w.getPrimaryKey()]]:B.filter(ie=>ee[w.getPrimaryKey()]!==ie);N(oe),C==null||C(X,ee)},[B,C,w]),be=(0,import_react2.useMemo)(()=>({onExpand:se,expandedRowKeys:B}),[B,se]);return(0,import_jsx_runtime.jsx)(HighPerformanceSpin,{spinning:!!b,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(InternalNocoBaseTable$1,P(x(x({tableHeight:pe,SortableWrapper:ce,tableSizeRefCallback:he,defaultRowKey:Z,dataSource:re},j),xe),{paginationProps:M,components:le,onTableChange:_,onRow:Q,rowClassName:de,scroll:ge,columns:I,expandable:be,field:k,size:z}))})})}),{useLoading(){const e=useDataBlockRequest(),{isInSubTable:t}=useFlag();return t?!1:!!(e!=null&&e.loading)},SkeletonComponent:TableSkeleton}),{displayName:"NocoBaseTable"}),TableBlockContext=(0,import_react2.createContext)({});TableBlockContext.displayName="TableBlockContext";const TableBlockContextBasicValue=(0,import_react2.createContext)(null);TableBlockContextBasicValue.displayName="TableBlockContextBasicValue";function getIdsWithChildren(e){const t=[];if(e)for(const o of e)o!=null&&o.children&&o.children.length>0&&(t.push(o.id),t.push(...getIdsWithChildren(o==null?void 0:o.children)));return t}const InternalTableBlockProvider=e=>{const{params:t,showIndex:o,dragSort:r,rowKey:i,childrenColumnName:n,expandFlag:a=!1,fieldNames:l,collection:c}=e,u=(0,import_react.useField)(),{resource:m,service:d}=useBlockRequestContext(),p=(0,import_react.useFieldSchema)(),[g,h]=(0,import_react2.useState)(!!(l||a)),{heightProps:_}=useBlockHeightProps(),f=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>{h(l||a)},[l||a]);const v=(0,import_react2.useMemo)(()=>{var y;const{treeTable:F}=(p==null?void 0:p["x-decorator-props"])||{},j=(y=d==null?void 0:d.data)==null?void 0:y.data;if(F)return getIdsWithChildren(j)},[d==null?void 0:d.loading,p]),S=(0,import_react2.useCallback)(y=>{h(y||!g)},[g]),C=(0,import_react2.useMemo)(()=>({field:u,rowKey:i,childrenColumnName:n,showIndex:o,dragSort:r,dragSortBy:e.dragSortBy}),[u,i,n,o,r,e.dragSortBy]),b=(0,import_react2.useMemo)(()=>({collection:c,field:u,service:d,resource:m,params:t,showIndex:o,dragSort:r,rowKey:i,expandFlag:g,childrenColumnName:n,allIncludesChildren:v,setExpandFlag:S,heightProps:_}),[v,n,c,r,g,u,_,t,m,i,d,S,o]);return(0,import_jsx_runtime.jsx)(TableElementRefContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(TableBlockContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TableBlockContextBasicValue.Provider,{value:C,children:e.children})})})},useTableBlockParamsCompat=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e.params,r=e.parseVariableLoading;else{const i=useTableBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},TableBlockProvider=withDynamicSchemaProps(e=>{const t=e.resource||e.association,o=(0,import_react.useFieldSchema)(),{getCollection:r,getCollectionField:i}=useCollectionManager_deprecated(e.dataSource),n=r(e.collection,e.dataSource),{treeTable:a}=(o==null?void 0:o["x-decorator-props"])||{},{params:l,parseVariableLoading:c}=useTableBlockParamsCompat(e);let u="__nochildren__";if(a)if(u="children",t!=null&&t.includes(".")){const d=i(t);d!=null&&d.treeChildren&&(u=d.name),l.tree=!0}else{const d=n==null?void 0:n.fields.find(p=>p.treeChildren);d&&(u=d.name),l.tree=!0}else u="__nochildren__";const m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[a]);return c?null:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:a},children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"table"},e),{params:l,runWhenParamsChanged:!0,children:(0,import_jsx_runtime.jsx)(InternalTableBlockProvider,P(x({},e),{childrenColumnName:u,params:l}))}))})})}),useTableBlockContext=()=>(0,import_react2.useContext)(TableBlockContext),useTableBlockContextBasicValue=()=>(0,import_react2.useContext)(TableBlockContextBasicValue),HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingXXS+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,m=getPageHeaderHeight(n,a,l,t,i.pathname);return c+m+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:m,height:d,title:p}=a;if(!(a!=null&&a.heightMode)||m===HeightMode.DEFAULT)return;const g=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,h=t.controlHeight+t.padding+t.marginLG,_=g||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return m===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-h:d-v-_-f-h},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return console.log(c),e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t;return e?e["x-component"]==="Action.Container"?((t=e==null?void 0:e.parent["x-component-props"])==null?void 0:t.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,m=e==null?void 0:e.fieldSchema,{getField:d}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||d(a.name)||r(a["x-collection-field"]),{label:g}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m","updatedBy","createdBy","mbm","attachmentURL"].includes(p.interface))return;const h=i(p.target);if((h==null?void 0:h.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((h==null?void 0:h.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Cascade Select"),value:"CascadeSelect"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!m&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,g])||[]).filter(Boolean)},useRequestSchema$1=({uid:e,type:t="getJsonSchema",onSuccess:o})=>{const r={url:`/uiSchemas:${t}/${e}`},{data:i,loading:n}=useRequest(r,{refreshDeps:[e],onSuccess(a){o&&o(a)}});return{schema:i==null?void 0:i.data,loading:n}},defaultTransform=e=>e,RequestSchemaComponent=e=>{const{noForm:t,onlyRenderProperties:o,hidden:r,scope:i,uid:n,components:a,onSuccess:l,NotFoundPage:c,schemaTransform:u=defaultTransform,onPageNotFind:m}=e,d=o?"getProperties":"getJsonSchema",p=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[n]),{schema:g,loading:h}=useRequestSchema$1({uid:n,type:d,onSuccess:f=>{l&&l(f)}}),_=useComponent(c);return useRemoteCollectionManagerLoading()||h||r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{width:"100%",marginTop:20},delay:LOADING_DELAY}):!g||Object.keys(g).length===0?(m&&m(),_?(0,import_jsx_runtime.jsx)(_,{}):null):t?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{})}):(0,import_jsx_runtime.jsx)(FormProvider,{form:p,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{})})})},RemoteSchemaComponent=(0,import_react2.memo)(e=>e.uid?(0,import_jsx_runtime.jsx)(RequestSchemaComponent,x({},e)):null);RemoteSchemaComponent.displayName="RemoteSchemaComponent";const randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,g]=(0,import_react2.useState)(t),h=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>S=>{typeof h!="boolean"&&g(S),o==null||o(S)},[h,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:h,setDesignable:_}),[r,h,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return V(this,null,function*(){})}beforeLoad(){return V(this,null,function*(){})}load(){return V(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}class SchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),PopupSettingsContext=import_react2.default.createContext({enableURL:!0}),PopupSettingsProvider=e=>{const{enableURL:t=!0}=e,o=(0,import_react2.useMemo)(()=>({enableURL:t}),[t]);return(0,import_jsx_runtime.jsx)(PopupSettingsContext.Provider,{value:o,children:e.children})},usePopupSettings=()=>{const{enableURL:e}=import_react2.default.useContext(PopupSettingsContext),t=useIsInSettingsPage();return{isPopupVisibleControlledByURL:(0,import_react2.useCallback)(()=>{const o=window.location.pathname,r=window.location.hash,i=(o==null?void 0:o.includes("/mobile/"))||(r==null?void 0:r.includes("/mobile/")),n=o==null?void 0:o.includes("/m/");return((o==null?void 0:o.includes("/admin/"))||n)&&!i&&e&&!t},[e,t])}},randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],ActionContext=(0,import_react2.createContext)({});ActionContext.displayName="ActionContext";const ActionContextProvider=import_react2.default.memo(e=>{const[t,o]=(0,import_react2.useState)(!1),{visible:r}=x(x({},e),e.value),{setSubmitted:i}=x(x({},e),e.value),n=useBlockServiceInActionButton(),{isSubPageClosedByPageMenu:a,reset:l}=useIsSubPageClosedByPageMenu((0,import_react.useFieldSchema)());(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){r===!1&&n&&!n.loading&&(t||a())&&(l(),n.loading=!0,yield n.refreshAsync(),n.loading=!1,o(!1),i==null||i(!0))})},[r,n,i,a,t,l]);const c=(0,import_react2.useMemo)(()=>P(x(x({},e),e==null?void 0:e.value),{submitted:t,setSubmitted:o}),[e,t]);return(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:c,children:e.children})});ActionContextProvider.displayName="ActionContextProvider";const useBlockServiceInActionButton=()=>{var e,t;const{params:o}=useCurrentPopupContext(),r=(e=(0,import_react.useFieldSchema)())==null?void 0:e["x-uid"],i=useDataBlockRequest(),n=o==null?void 0:o.popupuid;return(0,import_react2.useEffect)(()=>{r&&n!==r&&storeBlockService(r,{service:i})},[n,r,i]),n===r&&((t=getBlockService(n))==null?void 0:t.service)||i},ActionContextNoRerender=import_react2.default.memo(e=>{const t=(0,import_react2.useContext)(ActionContext),o=(0,import_react2.useRef)({});return Object.assign(o.current,t),(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:o.current,children:e.children})});ActionContextNoRerender.displayName="ActionContextNoRerender";const popupLayerStates={},setPopupLayerState=(e,t)=>{popupLayerStates[e]=t},getPopupLayerState=e=>{var t;return(t=popupLayerStates[e])!=null?t:!1},removePopupLayerState=e=>{delete popupLayerStates[e]},CONTEXT_SCHEMA_KEY="x-action-context",usePopupContextInActionOrAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),{dn:t}=useDesignable();return{updatePopupContext:(0,import_react2.useCallback)((o,r)=>{const i=r||e,n=getPopupContextFromActionOrAssociationFieldSchema(i);if(o=import_lodash.default.omitBy(o,import_lodash.default.isNil),!(import_lodash.default.isEqual(o,n)||n!=null&&n.doNotUpdateContext))return i[CONTEXT_SCHEMA_KEY]=o,t.emit("initializeActionContext",{schema:{"x-uid":i["x-uid"],[CONTEXT_SCHEMA_KEY]:o}})},[e,t])}};function getPopupContextFromActionOrAssociationFieldSchema(e){return e[CONTEXT_SCHEMA_KEY]}const popupsContextStorage={},getStoredPopupContext=e=>popupsContextStorage[e],storePopupContext=(e,t)=>{popupsContextStorage[e]=t},deletePopupContext=e=>{delete popupsContextStorage[e]},blockServicesStorage={},getBlockService=e=>blockServicesStorage[e],storeBlockService=(e,t)=>{blockServicesStorage[e]=t},getPopupParamsFromPath=import_lodash.default.memoize(e=>e.split("/popups/").filter(Boolean).map(t=>{const[o,...r]=t.split("/").filter(Boolean),i={};for(let n=0;n<r.length;n+=2)i[r[n]]=decodePathValue(r[n+1]);return x({popupuid:o},i)})),getPopupPathFromParams=e=>{const{popupuid:t,tab:o,filterbytk:r,sourceid:i,collection:n,puid:a}=e;return`/popups/${[t,a&&"puid",a,n&&"collection",n,r&&"filterbytk",r,i&&"sourceid",i,o&&"tab",o].filter(Boolean).map(l=>encodePathValue(l)).join("/")}`},usePopupUtils=(e={})=>{const t=useNavigateNoUpdate(),o=useLocationNoUpdate(),r=(0,import_react.useFieldSchema)(),i=useDataSourceKey(),n=useCollectionRecord(),a=useCollectionParentRecord(),l=useCollection(),c=useCollectionManager(),u=useAssociationName(),{visible:m,setVisible:d}=(0,import_react2.useContext)(PopupVisibleProviderContext)||{visible:!1,setVisible:import_lodash.default.noop},{params:p,currentLevel:g=0}=useCurrentPopupContext(),{getDataBlockRequest:h}=useDataBlockRequestGetter(),{isPopupVisibleControlledByURL:_}=usePopupSettings(),{setVisible:f}=(0,import_react2.useContext)(ActionContext),{updatePopupContext:v}=usePopupContextInActionOrAssociationField(),S=useCurrentPopupContext(),C=(0,import_react2.useCallback)(T=>{var $;return($=T||(a==null?void 0:a.data))==null?void 0:$[c.getSourceKeyByAssociation(u)]},[a,u]),b=useDataBlockRequestData(),y=useTableBlockContextBasicValue()||{},F=e.setVisible||f,j=(0,import_react2.useCallback)(({tabKey:T,popupUid:$,recordData:M,sourceId:I,collection:B,puid:N})=>{const E=c.getFilterByTK(u||l,M);return getPopupPathFromParams({popupuid:$,puid:N,collection:B,filterbytk:E,sourceid:I,tab:T})},[u,c,l,i,a==null?void 0:a.data,u]),k=(0,import_react2.useCallback)(()=>{const T={dataSource:i,collection:u||l==null?void 0:l.name,association:u};return import_lodash.default.omitBy(T,import_lodash.default.isNil)},[i,l,u]),R=(0,import_react2.useCallback)(({recordData:T,parentRecordData:$,collectionNameUsedInURL:M,popupUidUsedInURL:I,customActionSchema:B}={})=>{if(!_())return F==null?void 0:F(!0);const N=B||r,E=N==null?void 0:N["x-uid"],L=C($);T=T||(n==null?void 0:n.data);const U=j({popupUid:E,recordData:T,sourceId:L,collection:M,puid:I});let q=o.pathname;if(import_lodash.default.last(q)==="/"&&(q=q.slice(0,-1)),storePopupContext(E,{schema:N,record:new CollectionRecord({isNew:!1,data:T}),parentRecord:$?new CollectionRecord({isNew:!1,data:$}):a,service:h(),dataSource:i,collection:l==null?void 0:l.name,association:u,sourceId:L,tableBlockContext:P(x({},y),{collection:l==null?void 0:l.name,blockData:b})}),v(k(),B),N.properties){const G=g+1;if(getPopupLayerState(G))return;t(withSearchParams(`${q}${U}`)),setPopupLayerState(G,!0)}else console.error(`[NocoBase] The popup schema is invalid, please check the schema:
235
+ `,[r.controlItemBgActive,r.controlItemBgActiveHover]),K=useTableBlockContextBasicValue();(0,import_react2.useEffect)(()=>{var X;K!=null&&K.field&&(K.field.data=((X=K.field)==null?void 0:X.data)||{},K.field.data.clearSelectedRowKeys=()=>{K.field.data.selectedRowKeys=[],L([])},K.field.data.setSelectedRowKeys=L)},[K==null?void 0:K.field]);const J=(0,import_react2.useMemo)(()=>y?H:"",[H,y]),Q=(0,import_react2.useMemo)(()=>y?(X,ee)=>({onClick:oe=>{(0,import_client.isPortalInBody)(oe.target)||y(X,q,U)},rowIndex:ee,record:X}):(X,ee)=>({rowIndex:ee,record:X}),[y,U]);(0,import_ahooks.useDeepCompareEffect)(()=>{const X=D?T:[];import_lodash.default.isEqual(X,B)||N(X)},[D,T]);const Z=(0,import_react2.useCallback)(X=>{if(v)return te(X);if(X.key)return X.key;if(W.current.has(X))return W.current.get(X);const ee=(0,import_shared.uid)();return W.current.set(X,ee),ee},[]),te=(0,import_react2.useCallback)(X=>{var ee;return Array.isArray(v)?v.map(oe=>{var ie;return((ie=X[oe])==null?void 0:ie.toString())||""}).join("-"):typeof v=="string"?X[v]:(ee=(v??Z)(X))==null?void 0:ee.toString()},[JSON.stringify(v),Z]),re=(0,import_react2.useMemo)(()=>(Array.isArray(F)?F:[]).filter(Boolean),[F,F==null?void 0:F.length]),ne=(0,import_react2.useMemo)(()=>X=>{const ee=(0,import_react2.useCallback)(oe=>{var ie,ae,ue,_e,fe,ve;if(!oe.active||!oe.over){console.warn("move cancel");return}const Ce=(ue=(ae=(ie=oe.active)==null?void 0:ie.data.current)==null?void 0:ae.sortable)==null?void 0:ue.index,Se=(ve=(fe=(_e=oe.over)==null?void 0:_e.data.current)==null?void 0:fe.sortable)==null?void 0:ve.index,ye=(F==null?void 0:F[Ce])||oe.active,Pe=(F==null?void 0:F[Se])||oe.over;k.move(Ce,Se),$({from:ye,to:Pe})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:ee,children:(0,import_jsx_runtime.jsx)("tbody",x({},X))})},[k,$]);ne.displayName="BodyWrapperComponent";const le=(0,import_react2.useMemo)(()=>({header:{wrapper:HeaderWrapperComponent$1,cell:HeaderCellComponent$1},body:{wrapper:ne,row:BodyRowComponent$1,cell:BodyCellComponent$1}}),[ne]),me=(0,import_react2.useMemo)(()=>f,[JSON.stringify(f)]),xe=(0,import_react2.useMemo)(()=>({rowSelection:me?x({type:"checkbox",selectedRowKeys:E,onChange(X,ee){k.data=k.data||{},k.data.selectedRowKeys=X,k.data.selectedRowData=ee,L(X),h==null||h(X,ee,L)},onSelect:(X,ee,oe,ie)=>{var ae;K&&(K.field.data=((ae=K.field)==null?void 0:ae.data)||{},K.field.data.selectedRecord=X,K.field.data.selected=ee)},getCheckboxProps(X){return{"aria-label":"checkbox"}},renderCell:(X,ee,oe,ie)=>{if(!p&&!g)return ie;const ae=M==null?void 0:M.current,ue=(M==null?void 0:M.pageSize)||20;return ae?oe=oe+(ae-1)*ue+1:oe=oe+1,ee.__index&&(oe=extractIndex(ee.__index)),(0,import_jsx_runtime.jsxs)("div",{role:"button","aria-label":`table-index-${oe}`,className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxWrapperClass$1,{[rowSelectCheckboxWrapperClassHover$1]:G}),children:[(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)(X?"checked":null,rowSelectCheckboxContentClass$1),children:[p&&(0,import_jsx_runtime.jsx)(SortHandle$2,{id:te(ee)}),g&&(0,import_jsx_runtime.jsx)(TableIndex$3,{index:oe})]}),G&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-origin-node",X?"checked":null,rowSelectCheckboxCheckedClassHover$1),children:ie})]})}},me):void 0}),[me,E,h,g,p,k,te,G,me,M,K]),ce=(0,import_react2.useCallback)(({children:X})=>{var ee;return p?import_react2.default.createElement(import_sortable.SortableContext,{items:((ee=F==null?void 0:F.map)==null?void 0:ee.call(F,te))||[]},X):import_react2.default.createElement(import_react2.default.Fragment,{},X)},[p,te]),{height:pe,tableSizeRefCallback:he}=useTableSize(),ge=(0,import_react2.useMemo)(()=>({x:"max-content",y:pe}),[pe,re]),de=(0,import_react2.useCallback)(X=>U.includes(X[v])?J:"",[U,J,JSON.stringify(v)]),se=(0,import_react2.useCallback)((X,ee)=>{const oe=X?[...B,ee[w.getPrimaryKey()]]:B.filter(ie=>ee[w.getPrimaryKey()]!==ie);N(oe),C==null||C(X,ee)},[B,C,w]),be=(0,import_react2.useMemo)(()=>({onExpand:se,expandedRowKeys:B}),[B,se]);return(0,import_jsx_runtime.jsx)(HighPerformanceSpin,{spinning:!!b,children:(0,import_jsx_runtime.jsx)(BlockRequestLoadingContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(InternalNocoBaseTable$1,P(x(x({tableHeight:pe,SortableWrapper:ce,tableSizeRefCallback:he,defaultRowKey:Z,dataSource:re},j),xe),{paginationProps:M,components:le,onTableChange:_,onRow:Q,rowClassName:de,scroll:ge,columns:I,expandable:be,field:k,size:z}))})})}),{useLoading(){const e=useDataBlockRequest(),{isInSubTable:t}=useFlag();return t?!1:!!(e!=null&&e.loading)},SkeletonComponent:TableSkeleton}),{displayName:"NocoBaseTable"}),TableBlockContext=(0,import_react2.createContext)({});TableBlockContext.displayName="TableBlockContext";const TableBlockContextBasicValue=(0,import_react2.createContext)(null);TableBlockContextBasicValue.displayName="TableBlockContextBasicValue";function getIdsWithChildren(e){const t=[];if(e)for(const o of e)o!=null&&o.children&&o.children.length>0&&(t.push(o.id),t.push(...getIdsWithChildren(o==null?void 0:o.children)));return t}const InternalTableBlockProvider=e=>{const{params:t,showIndex:o,dragSort:r,rowKey:i,childrenColumnName:n,expandFlag:a=!1,fieldNames:l,collection:c}=e,u=(0,import_react.useField)(),{resource:m,service:d}=useBlockRequestContext(),p=(0,import_react.useFieldSchema)(),[g,h]=(0,import_react2.useState)(!!(l||a)),{heightProps:_}=useBlockHeightProps(),f=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>{h(l||a)},[l||a]);const v=(0,import_react2.useMemo)(()=>{var y;const{treeTable:F}=(p==null?void 0:p["x-decorator-props"])||{},j=(y=d==null?void 0:d.data)==null?void 0:y.data;if(F)return getIdsWithChildren(j)},[d==null?void 0:d.loading,p]),S=(0,import_react2.useCallback)(y=>{h(y||!g)},[g]),C=(0,import_react2.useMemo)(()=>({field:u,rowKey:i,childrenColumnName:n,showIndex:o,dragSort:r,dragSortBy:e.dragSortBy}),[u,i,n,o,r,e.dragSortBy]),b=(0,import_react2.useMemo)(()=>({collection:c,field:u,service:d,resource:m,params:t,showIndex:o,dragSort:r,rowKey:i,expandFlag:g,childrenColumnName:n,allIncludesChildren:v,setExpandFlag:S,heightProps:_}),[v,n,c,r,g,u,_,t,m,i,d,S,o]);return(0,import_jsx_runtime.jsx)(TableElementRefContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(TableBlockContext.Provider,{value:b,children:(0,import_jsx_runtime.jsx)(TableBlockContextBasicValue.Provider,{value:C,children:e.children})})})},useTableBlockParamsCompat=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e.params,r=e.parseVariableLoading;else{const i=useTableBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},TableBlockProvider=withDynamicSchemaProps(e=>{const t=e.resource||e.association,o=(0,import_react.useFieldSchema)(),{getCollection:r,getCollectionField:i}=useCollectionManager_deprecated(e.dataSource),n=r(e.collection,e.dataSource),{treeTable:a}=(o==null?void 0:o["x-decorator-props"])||{},{params:l,parseVariableLoading:c}=useTableBlockParamsCompat(e);let u="__nochildren__";if(a)if(u="children",t!=null&&t.includes(".")){const d=i(t);d!=null&&d.treeChildren&&(u=d.name),l.tree=!0}else{const d=n==null?void 0:n.fields.find(p=>p.treeChildren);d&&(u=d.name),l.tree=!0}else u="__nochildren__";const m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[a]);return c?null:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:a},children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:e.name||"table"},e),{params:l,runWhenParamsChanged:!0,children:(0,import_jsx_runtime.jsx)(InternalTableBlockProvider,P(x({},e),{childrenColumnName:u,params:l}))}))})})}),useTableBlockContext=()=>(0,import_react2.useContext)(TableBlockContext),useTableBlockContextBasicValue=()=>(0,import_react2.useContext)(TableBlockContextBasicValue),HeightMode={DEFAULT:"defaultHeight",SPECIFY_VALUE:"specifyValue",FULL_HEIGHT:"fullHeight"},SchemaSettingsBlockHeightItem=function(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Set block height"),schema:{type:"object",title:n("Set block height"),properties:{heightMode:{type:"string",enum:[{label:n("Default"),value:HeightMode.DEFAULT},{label:n("Specify height"),value:HeightMode.SPECIFY_VALUE},{label:n("Full height"),value:HeightMode.FULL_HEIGHT}],required:!0,default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.heightMode)||HeightMode.DEFAULT,"x-decorator":"FormItem","x-component":"Radio.Group"},height:{title:n("Height"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.height,required:!0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{addonAfter:"px"},"x-validator":[{minimum:40}],"x-reactions":{dependencies:["heightMode"],fulfill:{state:{hidden:'{{ $deps[0]==="fullHeight"||$deps[0]==="defaultHeight"}}',value:'{{$deps[0]!=="specifyValue"?null:$self.value}}'}}}}}},onSubmit:({heightMode:a,height:l})=>{const c=r["x-component-props"]||{};c.heightMode=a,c.height=l,r["x-component-props"]=c,o.componentProps.heightMode=a,o.componentProps.height=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),i.refresh()}})},getPageHeaderHeight=(e,t,o,r,i)=>i.includes("/popups/")?2*r.paddingContentVertical+22+r.paddingPageVertical:e?r.paddingContentHorizontalLG:o?t?r.controlPaddingHorizontal+3*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.paddingContentHorizontalLG+12:t?r.paddingSM+r.controlHeight+r.marginXS+2*r.controlPaddingHorizontalSM+22+r.paddingContentHorizontalLG:r.controlHeight+r.marginXS+(r.paddingContentVertical+2)*2+r.paddingContentHorizontalLG,usePageFullScreenHeight=e=>{const{token:t}=import_antd.theme.useToken(),{designable:o}=useDesignable(),{heightProps:r}=useBlockHeightProps(),i=(0,import_react_router_dom.useLocation)(),{disablePageHeader:n,enablePageTabs:a,hidePageTitle:l}=e||r||{},c=t.sizeXXL-2,u=o?t.controlHeight+2*t.paddingContentHorizontalLG:1*t.paddingContentHorizontalLG,m=getPageHeaderHeight(n,a,l,t,i.pathname);return c+m+u},useDrawerFullScreenHeight=()=>{const{token:e}=import_antd.theme.useToken(),{designable:t}=useDesignable(),o=e.paddingContentVerticalLG+e.margin+2*e.paddingContentVertical+24,r=t?e.controlHeight+2*e.paddingContentHorizontalLG:1*e.paddingContentHorizontalLG;return o+r},useFullScreenHeight=e=>{const t=(0,import_react.useFieldSchema)(),o=hasActionContainerInParentChain(t),r=usePageFullScreenHeight(e),i=useDrawerFullScreenHeight();return o?i:r},InternalWorkflowCollection=["workflowManualTasks","approvals","approvalRecords"],useTableHeight=()=>{var e;const{token:t}=import_antd.theme.useToken(),{heightProps:o}=useBlockHeightProps(),{heightProps:r}=useTableBlockContext(),{designable:i}=useDesignable(),n=(0,import_react.useFieldSchema)(),a=r||o,{titleHeight:l}=o,c=useFullScreenHeight(a),{name:u}=useCollection(),{heightMode:m,height:d,title:p}=a;if(!(a!=null&&a.heightMode)||m===HeightMode.DEFAULT)return;const g=Object.keys(((e=n.parent.properties.actions)==null?void 0:e.properties)||{}).length>0,h=t.controlHeight+t.padding+t.marginLG,_=g||i?t.controlHeight+2*t.marginLG:t.marginLG,f=(i&&!InternalWorkflowCollection.includes(u)?t.controlHeight:22)+2*t.padding+1,v=p?l:0;return m===HeightMode.FULL_HEIGHT?window.innerHeight-c-v-f-_-h:d-v-_-f-h},useDataBlockHeight=e=>{const{heightProps:t}=useBlockHeightProps(),o=useFullScreenHeight(),{heightMode:r,height:i,title:n,titleHeight:a}=t||{},l=n?a:0;if(!(!(t!=null&&t.heightMode)||r===HeightMode.DEFAULT)){if(r===HeightMode.FULL_HEIGHT){let c=window.innerHeight-o;return e!=null&&e.removeBlockHeaderHeight&&(c=c-l),e!=null&&e.innerExtraHeight&&(c=c-e.innerExtraHeight),c}return i}},useBlockHeight=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react2.useMemo)(()=>getPageSchema(e),[]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}=(t==null?void 0:t["x-component-props"])||{},n=P(x({},e==null?void 0:e["x-component-props"]),{disablePageHeader:o,enablePageTabs:r,hidePageTitle:i}),a=useFullScreenHeight(n),{heightMode:l,height:c}=n||{};if(!(!(n!=null&&n.heightMode)||l===HeightMode.DEFAULT))return l===HeightMode.FULL_HEIGHT?window.innerHeight-a:c},useTableSize=()=>{const[e,t]=(0,import_react2.useState)(),o=(0,import_react2.useRef)(null),r=useTableHeight(),i=(0,import_react2.useCallback)((0,import_lodash.debounce)(()=>{var a;if(!o.current)return;const l=o.current.getBoundingClientRect();(a=o.current.querySelector(".ant-table"))!=null&&a.getBoundingClientRect()&&t(l.width)},100),[r]),n=(0,import_react2.useCallback)(a=>{o.current=a&&a.children?a.children[0]:null,i()},[i]);return(0,import_ahooks.useEventListener)("resize",i),{height:r,width:e,tableSizeRefCallback:n}},hasActionContainerInParentChain=e=>{var t;return e?e["x-component"]==="Action.Container"?((t=e==null?void 0:e.parent["x-component-props"])==null?void 0:t.openMode)!=="page":hasActionContainerInParentChain(e.parent):null},useFieldModeOptions=e=>{var t;const{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r,getCollection:i}=useCollectionManager_deprecated(),n=(0,import_react.useFieldSchema)(),a=(e==null?void 0:e.fieldSchema)||n,l=(0,import_react.useField)(),c=(0,import_react.useForm)(),u=(a==null?void 0:a["x-read-pretty"])||l.readPretty||c.readPretty,m=e==null?void 0:e.fieldSchema,{getField:d}=useCollection_deprecated(),p=(e==null?void 0:e.collectionField)||d(a.name)||r(a["x-collection-field"]),{label:g}=((t=a["x-component-props"])==null?void 0:t.fieldNames)||{};return((0,import_react2.useMemo)(()=>{if(!p||!(p!=null&&p.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m","updatedBy","createdBy","mbm","attachmentURL"].includes(p.interface))return;const h=i(p.target);if((h==null?void 0:h.template)==="file")return u?[{label:o("Title"),value:"Select"},{label:o("File manager"),value:"FileManager"},{label:o("Tag"),value:"Tag"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},{label:o("File manager"),value:"FileManager"}];if((h==null?void 0:h.template)==="tree"&&["m2m","o2m","m2o"].includes(p.interface))return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&["m2m","o2m"].includes(p.interface)&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Cascade Select"),value:"CascadeSelect"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];switch(p.interface){case"o2m":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"},!m&&{label:o("Sub-table"),value:"SubTable"}];case"m2m":case"mbm":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"},!m&&{label:o("Sub-table"),value:"SubTable"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-table"),value:"SubTable"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];case"m2o":case"linkTo":return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}];default:return u?[{label:o("Title"),value:"Select"},{label:o("Tag"),value:"Tag"},!m&&{label:o("Sub-details"),value:"Nester"}]:[{label:o("Select"),value:"Select"},{label:o("Record picker"),value:"Picker"},!m&&{label:o("Sub-form"),value:"Nester"},{label:o("Sub-form(Popover)"),value:"PopoverNester"}]}},[o,p==null?void 0:p.interface,g])||[]).filter(Boolean)},useRequestSchema$1=({uid:e,type:t="getJsonSchema",onSuccess:o})=>{const r={url:`/uiSchemas:${t}/${e}`},{data:i,loading:n}=useRequest(r,{refreshDeps:[e],onSuccess(a){o&&o(a)}});return{schema:i==null?void 0:i.data,loading:n}},defaultTransform=e=>e,RequestSchemaComponent=e=>{const{noForm:t,onlyRenderProperties:o,hidden:r,scope:i,uid:n,components:a,onSuccess:l,NotFoundPage:c,schemaTransform:u=defaultTransform,onPageNotFind:m}=e,d=o?"getProperties":"getJsonSchema",p=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[n]),{schema:g,loading:h}=useRequestSchema$1({uid:n,type:d,onSuccess:f=>{l&&l(f)}}),_=useComponent(c);return useRemoteCollectionManagerLoading()||h||r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{style:{width:"100%",marginTop:20},delay:LOADING_DELAY}):!g||Object.keys(g).length===0?(m&&m(),_?(0,import_jsx_runtime.jsx)(_,{}):null):t?(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{})}):(0,import_jsx_runtime.jsx)(FormProvider,{form:p,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:a,scope:i,schema:u(g||{})})})},RemoteSchemaComponent=(0,import_react2.memo)(e=>e.uid?(0,import_jsx_runtime.jsx)(RequestSchemaComponent,x({},e)):null);RemoteSchemaComponent.displayName="RemoteSchemaComponent";const randomString=(e="")=>`${e}${(0,import_shared.uid)()}`;import_react.Schema.silent(!0);const results={},Registry={silent:!0,compile(e,t={}){const o=()=>{try{return new Function("$root",`with($root) { return (${e}); }`)(t)}catch{return`{{${e}}}`}};return results[e]?results[e]:e.trim().startsWith("t(")?(results[e]=o(),results[e]):o()}};import_react.Schema.registerCompiler(Registry.compile);const SchemaComponentProvider=e=>{const{designable:t,onDesignableChange:o,components:r,children:i}=e,n=(0,import_react2.useContext)(SchemaComponentContext),a=useSchemaOptionsContext(),[l,c]=(0,import_react2.useState)(()=>(0,import_shared.uid)()),u=(0,import_react2.useMemo)(()=>e.form||(0,import_core.createForm)(),[l]),{t:m}=(0,import_react_i18next.useTranslation)(),d=(0,import_react2.useMemo)(()=>P(x({},e.scope),{t:m,randomString}),[e.scope,m,a==null?void 0:a.scope]),[p,g]=(0,import_react2.useState)(t),h=(0,import_react2.useMemo)(()=>typeof t=="boolean"?t:p,[t,p,n.designable]),_=(0,import_react2.useMemo)(()=>S=>{typeof h!="boolean"&&g(S),o==null||o(S)},[h,o]),f=(0,import_react2.useCallback)(()=>{c((0,import_shared.uid)())},[]),v=(0,import_react2.useMemo)(()=>({scope:d,components:r,reset:f,refresh:import_lodash.default.noop,designable:h,setDesignable:_}),[r,h,f,d,_]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:u,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{inherit:!0,scope:d,components:r,children:i})})})};SchemaComponentProvider.displayName="SchemaComponentProvider";class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return V(this,null,function*(){})}beforeLoad(){return V(this,null,function*(){})}load(){return V(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}class SchemaComponentPlugin extends Plugin{load(){return V(this,null,function*(){this.addComponents()})}addComponents(){this.app.addComponents({DesignableSwitch})}}const TabsContext=import_react2.default.createContext({}),TabsContextProvider=e=>{var t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(TabsContext.Provider,{value:r,children:o})},useTabsContext=()=>import_react2.default.useContext(TabsContext),PopupSettingsContext=import_react2.default.createContext({enableURL:!0}),PopupSettingsProvider=e=>{const{enableURL:t=!0}=e,o=(0,import_react2.useMemo)(()=>({enableURL:t}),[t]);return(0,import_jsx_runtime.jsx)(PopupSettingsContext.Provider,{value:o,children:e.children})},usePopupSettings=()=>{const{enableURL:e}=import_react2.default.useContext(PopupSettingsContext),t=useIsInSettingsPage();return{isPopupVisibleControlledByURL:(0,import_react2.useCallback)(()=>{const o=window.location.pathname,r=window.location.hash,i=(o==null?void 0:o.includes("/mobile/"))||(r==null?void 0:r.includes("/mobile/")),n=o==null?void 0:o.includes("/m/");return((o==null?void 0:o.includes("/admin/"))||n)&&!i&&e&&!t},[e,t])}},randomNestedSchemaKeyStorage={},getRandomNestedSchemaKey=e=>randomNestedSchemaKeyStorage[e]||(randomNestedSchemaKeyStorage[e]=(0,import_shared.uid)()),deleteRandomNestedSchemaKey=e=>delete randomNestedSchemaKeyStorage[e],ActionContext=(0,import_react2.createContext)({});ActionContext.displayName="ActionContext";const ActionContextProvider=import_react2.default.memo(e=>{const[t,o]=(0,import_react2.useState)(!1),{visible:r}=x(x({},e),e.value),{setSubmitted:i}=x(x({},e),e.value),n=useBlockServiceInActionButton(),{isSubPageClosedByPageMenu:a,reset:l}=useIsSubPageClosedByPageMenu((0,import_react.useFieldSchema)());(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){r===!1&&n&&!n.loading&&(t||a())&&(l(),n.loading=!0,yield n.refreshAsync(),n.loading=!1,o(!1),i==null||i(!0))})},[r,n,i,a,t,l]);const c=(0,import_react2.useMemo)(()=>P(x(x({},e),e==null?void 0:e.value),{submitted:t,setSubmitted:o}),[e,t]);return(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:c,children:e.children})});ActionContextProvider.displayName="ActionContextProvider";const useBlockServiceInActionButton=()=>{var e,t;const{params:o}=useCurrentPopupContext(),r=(e=(0,import_react.useFieldSchema)())==null?void 0:e["x-uid"],i=useDataBlockRequest(),n=o==null?void 0:o.popupuid;return(0,import_react2.useEffect)(()=>{r&&n!==r&&storeBlockService(r,{service:i})},[n,r,i]),n===r&&((t=getBlockService(n))==null?void 0:t.service)||i},ActionContextNoRerender=import_react2.default.memo(e=>{const t=(0,import_react2.useContext)(ActionContext),o=(0,import_react2.useRef)({});return Object.assign(o.current,t),(0,import_jsx_runtime.jsx)(ActionContext.Provider,{value:o.current,children:e.children})});ActionContextNoRerender.displayName="ActionContextNoRerender";const popupLayerStates={},setPopupLayerState=(e,t)=>{popupLayerStates[e]=t},getPopupLayerState=e=>{var t;return(t=popupLayerStates[e])!=null?t:!1},removePopupLayerState=e=>{delete popupLayerStates[e]},CONTEXT_SCHEMA_KEY="x-action-context",usePopupContextInActionOrAssociationField=()=>{const e=(0,import_react.useFieldSchema)(),{dn:t}=useDesignable();return{updatePopupContext:(0,import_react2.useCallback)((o,r)=>{const i=r||e,n=getPopupContextFromActionOrAssociationFieldSchema(i);if(o=import_lodash.default.omitBy(o,import_lodash.default.isNil),!(import_lodash.default.isEqual(o,n)||n!=null&&n.doNotUpdateContext))return i[CONTEXT_SCHEMA_KEY]=o,t.emit("initializeActionContext",{schema:{"x-uid":i["x-uid"],[CONTEXT_SCHEMA_KEY]:o}})},[e,t])}};function getPopupContextFromActionOrAssociationFieldSchema(e){return e[CONTEXT_SCHEMA_KEY]}const popupsContextStorage={},getStoredPopupContext=e=>popupsContextStorage[e],storePopupContext=(e,t)=>{popupsContextStorage[e]=t},deletePopupContext=e=>{delete popupsContextStorage[e]},blockServicesStorage={},getBlockService=e=>blockServicesStorage[e],storeBlockService=(e,t)=>{blockServicesStorage[e]=t},getPopupParamsFromPath=import_lodash.default.memoize(e=>e.split("/popups/").filter(Boolean).map(t=>{const[o,...r]=t.split("/").filter(Boolean),i={};for(let n=0;n<r.length;n+=2)i[r[n]]=decodePathValue(r[n+1]);return x({popupuid:o},i)})),getPopupPathFromParams=e=>{const{popupuid:t,tab:o,filterbytk:r,sourceid:i,collection:n,puid:a}=e;return`/popups/${[t,a&&"puid",a,n&&"collection",n,r&&"filterbytk",r,i&&"sourceid",i,o&&"tab",o].filter(Boolean).map(l=>encodePathValue(l)).join("/")}`},usePopupUtils=(e={})=>{const t=useNavigateNoUpdate(),o=useLocationNoUpdate(),r=(0,import_react.useFieldSchema)(),i=useDataSourceKey(),n=useCollectionRecord(),a=useCollectionParentRecord(),l=useCollection(),c=useCollectionManager(),u=useAssociationName(),{visible:m,setVisible:d}=(0,import_react2.useContext)(PopupVisibleProviderContext)||{visible:!1,setVisible:import_lodash.default.noop},{params:p,currentLevel:g=0}=useCurrentPopupContext(),{getDataBlockRequest:h}=useDataBlockRequestGetter(),{isPopupVisibleControlledByURL:_}=usePopupSettings(),{setVisible:f}=(0,import_react2.useContext)(ActionContext),{updatePopupContext:v}=usePopupContextInActionOrAssociationField(),S=useCurrentPopupContext(),C=(0,import_react2.useCallback)(T=>{var $;return($=T||(a==null?void 0:a.data))==null?void 0:$[c.getSourceKeyByAssociation(u)]},[a,u]),b=useDataBlockRequestData(),y=useTableBlockContextBasicValue()||{},F=e.setVisible||f,j=(0,import_react2.useCallback)(({tabKey:T,popupUid:$,recordData:M,sourceId:I,collection:B,puid:N})=>{const E=c.getFilterByTK(u||l,M);return getPopupPathFromParams({popupuid:$,puid:N,collection:B,filterbytk:E,sourceid:I,tab:T})},[u,c,l,i,a==null?void 0:a.data,u]),k=(0,import_react2.useCallback)(()=>{const T={dataSource:i,collection:u||l==null?void 0:l.name,association:u};return import_lodash.default.omitBy(T,import_lodash.default.isNil)},[i,l,u]),R=(0,import_react2.useCallback)(({recordData:T,parentRecordData:$,collectionNameUsedInURL:M,popupUidUsedInURL:I,customActionSchema:B}={})=>{if(!_())return F==null?void 0:F(!0);const N=B||r,E=N==null?void 0:N["x-uid"],L=C($);T=T||(n==null?void 0:n.data);const U=j({popupUid:E,recordData:T,sourceId:L,collection:M,puid:I});let q=o.pathname;if(import_lodash.default.last(q)==="/"&&(q=q.slice(0,-1)),storePopupContext(E,{schema:N,record:new CollectionRecord({isNew:!1,data:T}),parentRecord:$?new CollectionRecord({isNew:!1,data:$}):a,service:h(),dataSource:i,collection:l==null?void 0:l.name,association:u,sourceId:L,tableBlockContext:P(x({},y),{collection:l==null?void 0:l.name,blockData:b})}),v(k(),B),N.properties){const G=g+1;if(getPopupLayerState(G))return;t(withSearchParams(`${q}${U}`)),setPopupLayerState(G,!0)}else console.error(`[NocoBase] The popup schema is invalid, please check the schema:
236
236
  ${JSON.stringify(N,null,2)}`)},[u,c,l,i,r,j,t,a,n,h,o,_,C,k,b,y,g]),z=(0,import_react2.useCallback)(()=>{if(!_())return F==null?void 0:F(!1);t(withSearchParams(removeLastPopupPath(o.pathname)),{replace:!0}),removePopupLayerState(g),p!=null&&p.popupuid&&deletePopupContext(p.popupuid)},[_,F,t,o==null?void 0:o.pathname,g,p==null?void 0:p.popupuid]),w=(0,import_react2.useCallback)(T=>{const $=C(),M=j({tabKey:T,popupUid:p==null?void 0:p.popupuid,recordData:n==null?void 0:n.data,sourceId:$});let I=removeLastPopupPath(o.pathname);import_lodash.default.last(I)==="/"&&(I=I.slice(0,-1)),t(`${I}${M}`,{replace:!0})},[j,t,p==null?void 0:p.popupuid,n==null?void 0:n.data,o]),O=(0,import_react2.useCallback)((T,$)=>{$.__popup=T},[]),D=(0,import_react2.useCallback)(T=>T.__popup,[]);return{openPopup:R,closePopup:z,savePopupSchemaToSchema:O,getPopupSchemaFromSchema:D,context:S,visibleWithURL:m,setVisibleWithURL:d,popupParams:p,changeTab:w,getPopupContext:k}};function removeLastPopupPath(e){if(!e.includes("popups"))return e;const t=e.split("popups").slice(0,-1).join("popups");return t.endsWith("/")?t.slice(0,-1):t}function withSearchParams(e){return`${e}${window.location.search}`}function encodePathValue(e){const t=encodeURIComponent(e);return t==="popups"?window.btoa(e):t}function decodePathValue(e){return e===window.btoa("popups")?"popups":decodeURIComponent(e)}const PopupVisibleProviderContext=import_react2.default.createContext(null),PopupParamsProviderContext=import_react2.default.createContext(null),AllPopupsPropsProviderContext=import_react2.default.createContext(null);PopupVisibleProviderContext.displayName="PopupVisibleProviderContext";PopupParamsProviderContext.displayName="PopupParamsProviderContext";AllPopupsPropsProviderContext.displayName="AllPopupsPropsProviderContext";const PopupVisibleProvider=import_react2.default.memo(({children:e,visible:t,setVisible:o})=>{const r=(0,import_react2.useMemo)(()=>({visible:t,setVisible:o}),[t,o]);return(0,import_jsx_runtime.jsx)(PopupVisibleProviderContext.Provider,{value:r,children:e})});PopupVisibleProvider.displayName="PopupVisibleProvider";const VisibleProvider=import_react2.default.memo(({children:e,popupuid:t})=>{const{closePopup:o}=usePopupUtils(),[r,i]=(0,import_react2.useState)(!0),n=(0,import_react2.useCallback)(a=>{a||(i(!1),setTimeout(()=>{o(),deleteRandomNestedSchemaKey(t)},300))},[o,t]);return(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:r,setVisible:n,children:e})}),PopupParamsProvider=e=>{const t=(0,import_react2.useMemo)(()=>({params:e.params,context:e.context,currentLevel:e.currentLevel}),[e.params,e.context,e.currentLevel]);return(0,import_jsx_runtime.jsx)(PopupParamsProviderContext.Provider,{value:t,children:e.children})},PopupTabsPropsProvider=({children:e})=>{const{params:t}=useCurrentPopupContext(),{changeTab:o}=usePopupUtils(),r=(0,import_react2.useCallback)(n=>{o(n)},[o]),{isPopupVisibleControlledByURL:i}=usePopupSettings();return i()?(0,import_jsx_runtime.jsx)(TabsContextProvider,{activeKey:t==null?void 0:t.tab,onChange:r,children:e}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e})},displayNone$2={display:"none"},PagePopupsItemProvider=({params:e,context:t,currentLevel:o,children:r})=>{const i=x({},getStoredPopupContext(e.popupuid));return(0,import_react2.useEffect)(()=>(setPopupLayerState(o,!0),()=>{removePopupLayerState(o)}),[o]),t||(t=import_lodash.default.omitBy({dataSource:i.dataSource,collection:i.collection,association:i.association},import_lodash.default.isNil)),import_lodash.default.isEmpty(t)?(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$2,children:r})})}):(0,import_jsx_runtime.jsx)(PopupParamsProvider,{params:e,context:t,currentLevel:o,children:(0,import_jsx_runtime.jsx)(DataBlockProvider,{dataSource:t.dataSource,collection:e.collection||t.collection,association:t.association,sourceId:e.sourceid,filterByTk:parseQueryString(e.filterbytk),record:i.record,parentRecord:i.parentRecord,action:"get",children:(0,import_jsx_runtime.jsx)(BlockRequestContextProvider,{recordRequest:i.service,children:(0,import_jsx_runtime.jsx)(PopupTabsPropsProvider,{children:(0,import_jsx_runtime.jsx)(VisibleProvider,{popupuid:e.popupuid,children:(0,import_jsx_runtime.jsx)("div",{style:displayNone$2,children:r})})})})})})},insertChildToParentSchema=({childSchema:e,props:t,parentSchema:o,getPopupSchema:r=i=>import_lodash.default.get(i.properties,Object.keys(i.properties)[0])})=>{const{params:i,context:n,currentLevel:a}=t,l={type:"void","x-component":"PagePopupsItemProvider","x-component-props":{params:i,context:n,currentLevel:a},properties:{popupAction:e}},c=getRandomNestedSchemaKey(i.popupuid);if(o.properties){const u=r(o);import_lodash.default.isEmpty(import_lodash.default.get(u,`properties.${c}`))&&import_lodash.default.set(u,`properties.${c}`,l)}},InternalPagePopups=e=>{const t=(0,import_react.useFieldSchema)(),o=(0,import_react_router_dom.useLocation)(),r=e.paramsList||getPopupParamsFromPath(getPopupPath(o)),{requestSchema:i}=useRequestSchema(),[n,a]=(0,import_react2.useState)(null),l=(0,import_react2.useRef)([]),{savePopupSchemaToSchema:c,getPopupSchemaFromSchema:u}=usePopupUtils();(0,import_react2.useEffect)(()=>{V(void 0,null,function*(){const d=r.map(h=>{var _;return((_=getStoredPopupContext(h.popupuid))==null?void 0:_.schema)||findSchemaByUid(h.popupuid,t==null?void 0:t.root)||i(h.popupuid)}),p=(yield Promise.all(d)).map((h,_)=>{if(import_lodash.default.isEmpty(h))return get404Schema();const f=r[_];if(f.puid){const S=findSchemaByUid(f.puid,t==null?void 0:t.root);S&&c(import_lodash.default.omit(S,"parent"),h)}const v=import_lodash.default.cloneDeepWith(import_lodash.default.omit(h,"parent"),S=>{if((S==null?void 0:S["x-component"])==="Tabs")return S});return v["x-read-pretty"]=!0,v});l.current=p.map((h,_,f)=>{const v=getPopupContextFromActionOrAssociationFieldSchema(h);let S=!1;for(let C=_+1;C<f.length;C++)if(isSubPageSchema(f[C])){S=!0;break}return{params:r[_],context:v,hidden:S,currentLevel:_+1,isSubPage:isSubPageSchema(h)}});const g=p[0];for(let h=1;h<p.length;h++)insertChildToParentSchema({childSchema:p[h],props:l.current[h],parentSchema:p[h-1],getPopupSchema:_=>u(_)||import_lodash.default.get(_.properties,Object.keys(_.properties)[0])});a(g)})},[t,u,r,i,c]);const m=(0,import_react2.useMemo)(()=>({PagePopupsItemProvider}),[]);return n?(0,import_jsx_runtime.jsx)(AllPopupsPropsProviderContext.Provider,{value:l.current,children:(0,import_jsx_runtime.jsx)(PagePopupsItemProvider,{params:l.current[0].params,context:l.current[0].context,currentLevel:1,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:m,schema:n,onlyRenderProperties:!0})})}):null},PagePopups=e=>{const{active:t}=useKeepAlive();return t?(0,import_jsx_runtime.jsx)(InternalPagePopups,x({},e)):null},useRequestSchema=()=>{const e=useAPIClient();return{requestSchema:(0,import_react2.useCallback)(t=>V(void 0,null,function*(){var o;try{return(o=(yield e.request({url:`/uiSchemas:getJsonSchema/${t}`})).data)==null?void 0:o.data}catch(r){return console.error(r),null}}),[])}},getPopupPath=e=>{const[,...t]=e.pathname.split("/popups/");return t.join("/popups/")};function isSubPageSchema(e){return import_lodash.default.get(e,"x-component-props.openMode")==="page"}const useCurrentPopupContext=()=>{const{currentLevel:e}=import_react2.default.useContext(PopupParamsProviderContext)||{},t=import_react2.default.useContext(AllPopupsPropsProviderContext);return(t==null?void 0:t[e-1])||{}};function get404Schema(){return{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:'{{ t("Error message") }}',"x-action":"view","x-toolbar":"ActionSchemaToolbar","x-settings":"actionSettings:view","x-component":"Action.Link","x-component-props":{openMode:"drawer"},"x-action-context":{},"x-decorator":"ACLActionProvider","x-designer-props":{linkageAction:!0},properties:{drawer:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"Error message","x-component":"Action.Container","x-component-props":{className:"nb-action-popup",level:99},properties:{tabs:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{_isJSONSchemaObject:!0,version:"2.0",type:"void",title:"404","x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{_isJSONSchemaObject:!0,version:"2.0",type:"void","x-component":function(){const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:e("Sorry, the page you visited does not exist.")})},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":1}},name:(0,import_shared.uid)(),"x-uid":(0,import_shared.uid)(),"x-async":!1,"x-index":2,"x-read-pretty":!0}}function findSchemaByUid(e,t,o={value:null}){var r;return o=o||{value:null},(r=t==null?void 0:t.mapProperties)==null||r.call(t,i=>{i["x-uid"]===e?o.value=i:findSchemaByUid(e,i,o)}),o.value}function parseQueryString(e){var t;return(t=e==null?void 0:e.includes)!=null&&t.call(e,"=")?decodeURIComponent(e).split("&").reduce((o,r)=>{const[i,n]=r.split("=");return o[i]=n,o},{}):e}const useStyles$h=genStyleHook("nb-action-drawer",e=>{const{componentCls:t}=e;return{[t]:{overflow:"hidden","&.reset":{"&.nb-action-popup":{".ant-drawer-header":{display:"none"},".ant-drawer-body":{paddingTop:e.paddingContentVerticalLG,backgroundColor:e.colorBgLayout,paddingBottom:0}},"&.nb-record-picker-selector":{".ant-drawer-wrapper-body":{backgroundColor:e.colorBgLayout},".nb-block-item":{marginBottom:e.marginBlock,".general-schema-designer":{top:-e.sizeXS,bottom:-e.sizeXS,left:-e.sizeXS,right:-e.sizeXS}}}},".footer":{display:"flex",justifyContent:"flex-end",width:"100%",".ant-btn":{marginRight:e.marginXS}},".ant-drawer-content-wrapper":{borderLeft:"1px solid rgba(255, 255, 255, 0.1)"},".ant-tabs-nav":{paddingLeft:e.paddingLG-e.paddingPageHorizontal,paddingRight:e.paddingLG-e.paddingPageHorizontal,marginLeft:e.paddingPageHorizontal-e.paddingLG,marginRight:e.paddingPageHorizontal-e.paddingLG}}}}),useActionContext=()=>{const e=(0,import_react2.useContext)(ActionContext),{t}=(0,import_react_i18next.useTranslation)(),{modal:o}=import_antd.App.useApp();return P(x({},e),{setVisible:(0,import_react2.useCallback)((r,i=!1)=>{var n,a;r?(a=e.setVisible)==null||a.call(e,r):i&&e.formValueChanged?o.confirm({title:t("Unsaved changes"),content:t("Are you sure you don't want to save?"),onOk(){return V(this,null,function*(){var l;e.setFormValueChanged(!1),(l=e.setVisible)==null||l.call(e,!1)})}}):(n=e.setVisible)==null||n.call(e,!1)},[o,t,e.formValueChanged,e.setVisible,e.setFormValueChanged])})},useCloseAction$1=()=>{const{setVisible:e}=(0,import_react2.useContext)(ActionContext),t=(0,import_react.useForm)();return{run(){return V(this,null,function*(){e(!1),t.submit(o=>{console.log(o)})})}}},useLinkageAction=()=>{const e=(0,import_react.useFieldSchema)(),t=useIsDetailBlock();return["Action.Link","Action"].includes(e["x-component"])&&t&&e["x-action"]},useGetAriaLabelOfDrawer=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`drawer-${o}${i}${n}${a}`),[i,o,n])}},zIndexContext=import_react2.default.createContext(100),useZIndexContext=()=>import_react2.default.useContext(zIndexContext),getZIndex=(e,t,o)=>{let r=t;return e==="page"&&!window.location.pathname.includes("/embed/")?(r=t+o,r>200?r-200:r):(r=t+o,r<200?r+200:r)},MemoizeRecursionField$1=import_react2.default.memo(import_react.RecursionField);MemoizeRecursionField$1.displayName="MemoizeRecursionField";const DrawerErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Drawer,{open:t,onClose:()=>o(!1,!0),width:"50%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap$1=new Map([["small","30%"],["middle","50%"],["large","70%"]]),ActionDrawerContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1),n=(0,import_react2.useCallback)(a=>a["x-component"]!==e,[e]);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n}):null});ActionDrawerContent.displayName="ActionDrawerContent";const InternalActionDrawer=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Drawer.Footer",zIndex:r,onClose:i}=t,n=Y(t,["footerNodeName","zIndex","onClose"]),{visible:a,setVisible:l,openSize:c="middle",drawerProps:u}=useActionContext(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),{componentCls:p,hashId:g}=useStyles$h(),h=useTabsContext(),_=useZIndexContext(),f=m.reduceProperties((F,j)=>j["x-component"]===o?j:F),{hidden:v}=useCurrentPopupContext(),S=(0,import_react2.useMemo)(()=>P(x(x({},u==null?void 0:u.style),n==null?void 0:n.style),{display:v?"none":"block"}),[v,u==null?void 0:u.style,n==null?void 0:n.style]),C=getZIndex("drawer",r||_,e.level||0),b=(0,import_react2.useCallback)(F=>{l(!1,!0),i==null||i(F)},[l,i]),y=(0,import_react2.useCallback)(F=>F["x-component"]===o,[o]);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},h),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Drawer,P(x(x({zIndex:C,width:openSizeWidthMap$1.get(c),title:d.title},n),u),{rootStyle:S,destroyOnClose:!0,open:a,onClose:b,rootClassName:(0,import_classnames.default)(p,g,u==null?void 0:u.className,n.className,"reset"),footer:f&&(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:d.address,schema:m,onlyRenderProperties:!0,filterProperties:y})}),children:(0,import_jsx_runtime.jsx)(ActionDrawerContent,{footerNodeName:o,field:d,schema:m})}))}))})})},{displayName:"InternalActionDrawer"}),ActionDrawer=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:DrawerErrorFallback,onError:console.log,children:(0,import_jsx_runtime.jsx)(InternalActionDrawer,x({},e))}));ActionDrawer.displayName="ActionDrawer";ActionDrawer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionDrawer.Footer"});ActionDrawer.FootBar=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)("div",{className:"ant-drawer-footer",style:{position:"absolute",bottom:0,right:0,left:0},children:(0,import_jsx_runtime.jsx)("div",{className:"footer",children:(0,import_jsx_runtime.jsx)(MemoizeRecursionField$1,{basePath:e.address,schema:t,onlyRenderProperties:!0})})})},{displayName:"ActionDrawer.FootBar"});const useGetAriaLabelOfModal=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`modal-${o}${i}${n}${a}`),[i,o,n])}},ModalErrorFallback=e=>{const{visible:t,setVisible:o}=useActionContext();return(0,import_jsx_runtime.jsx)(import_antd.Modal,{open:t,onCancel:()=>o(!1,!0),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})},openSizeWidthMap=new Map([["small","40%"],["middle","60%"],["large","80%"]]),ActionModalContent=import_react2.default.memo(({footerNodeName:e,field:t,schema:o})=>{const[r,i]=(0,import_react2.useState)(!1);return(0,import_react2.useEffect)(()=>{(0,import_react2.startTransition)(()=>{i(!0)})},[]),r?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:o,onlyRenderProperties:!0,filterProperties:n=>n["x-component"]!==e}):null}),InternalActionModal=(0,import_react.observer)(e=>{const t=e,{footerNodeName:o="Action.Modal.Footer",width:r,zIndex:i}=t,n=Y(t,["footerNodeName","width","zIndex"]),{visible:a,setVisible:l,openSize:c="middle",modalProps:u}=useActionContext(),m=r??openSizeWidthMap.get(c),d=(0,import_react.useFieldSchema)(),p=(0,import_react.useField)(),{token:g}=useToken(),h=useTabsContext(),_=useZIndexContext(),f=d.reduceProperties((b,y)=>y["x-component"]===o?y:b),{hidden:v}=useCurrentPopupContext(),S=!!f,C=getZIndex("modal",i||_,e.level||0);return(0,import_jsx_runtime.jsx)(ActionContextNoRerender,{children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,P(x({},h),{tabBarExtraContent:null,children:(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x(x({zIndex:v?-1:C,width:m,title:p.title},n),u),{style:x(x({},u==null?void 0:u.style),n==null?void 0:n.style),destroyOnClose:!0,open:a,onCancel:()=>{l(!1,!0)},className:(0,import_classnames.default)(n.className,u==null?void 0:u.className,import_css.css`
237
237
  &.nb-action-popup {
238
238
  .ant-modal-header {
@@ -1181,12 +1181,6 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1181
1181
  height: 100%;
1182
1182
  display: flex;
1183
1183
  flex-direction: column;
1184
- .ant-table-expanded-row-fixed {
1185
- min-height: ${o}px;
1186
- }
1187
- .ant-table-body {
1188
- min-height: ${o}px;
1189
- }
1190
1184
  .ant-table-cell {
1191
1185
  padding: 16px 8px;
1192
1186
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/client",
3
- "version": "1.6.7",
3
+ "version": "1.6.8",
4
4
  "license": "AGPL-3.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",
@@ -27,9 +27,9 @@
27
27
  "@formily/reactive-react": "^2.2.27",
28
28
  "@formily/shared": "^2.2.27",
29
29
  "@formily/validator": "^2.2.27",
30
- "@nocobase/evaluators": "1.6.7",
31
- "@nocobase/sdk": "1.6.7",
32
- "@nocobase/utils": "1.6.7",
30
+ "@nocobase/evaluators": "1.6.8",
31
+ "@nocobase/sdk": "1.6.8",
32
+ "@nocobase/utils": "1.6.8",
33
33
  "ahooks": "^3.7.2",
34
34
  "antd": "5.12.8",
35
35
  "antd-style": "3.7.1",
@@ -82,5 +82,5 @@
82
82
  "dumi": "2.2.14",
83
83
  "dumi-theme-nocobase": "^0.2.28"
84
84
  },
85
- "gitHead": "bcd21969bb04459898c64b7735b6a76e2ded41b2"
85
+ "gitHead": "0261bf929dde4d1feb6479c2ef7105b15754ab53"
86
86
  }