@nocobase/client 1.6.26 → 1.6.27

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
@@ -9208,7 +9208,7 @@ function addAppVersion(e, t) {
9208
9208
  addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
9209
9209
  }), e;
9210
9210
  }
9211
- const name = "@nocobase/client", version = "1.6.26", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9211
+ const name = "@nocobase/client", version = "1.6.27", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9212
9212
  "@ahooksjs/use-url-state": "3.5.1",
9213
9213
  "@ant-design/cssinjs": "^1.11.1",
9214
9214
  "@ant-design/icons": "^5.6.1",
@@ -9230,9 +9230,9 @@ const name = "@nocobase/client", version = "1.6.26", license = "AGPL-3.0", main
9230
9230
  "@formily/reactive-react": "^2.2.27",
9231
9231
  "@formily/shared": "^2.2.27",
9232
9232
  "@formily/validator": "^2.2.27",
9233
- "@nocobase/evaluators": "1.6.26",
9234
- "@nocobase/sdk": "1.6.26",
9235
- "@nocobase/utils": "1.6.26",
9233
+ "@nocobase/evaluators": "1.6.27",
9234
+ "@nocobase/sdk": "1.6.27",
9235
+ "@nocobase/utils": "1.6.27",
9236
9236
  ahooks: "^3.7.2",
9237
9237
  antd: "5.12.8",
9238
9238
  "antd-style": "3.7.1",
@@ -27454,7 +27454,7 @@ function getFilteredFormValues(e) {
27454
27454
  return i.length <= 1 ? i.join(".") : i.slice(0, -1).join(".");
27455
27455
  })
27456
27456
  ).forEach((r, i) => {
27457
- (i !== 0 || r.includes(".")) && _.unset(t, r);
27457
+ (i !== 0 || r.includes(".")) && !t[r] && _.unset(t, r);
27458
27458
  }), t;
27459
27459
  }
27460
27460
  function getFormValues({
@@ -28822,16 +28822,17 @@ const SortableProvider = (e) => {
28822
28822
  }), a = useMemo(() => ({ draggable: r, droppable: i }), [r, i]);
28823
28823
  return /* @__PURE__ */ jsx(SortableContext.Provider, { value: a, children: o });
28824
28824
  }, getComputedColor = (e) => new TinyColor(e).setAlpha(0.15).toHex8String(), Sortable = (e) => {
28825
- var g, f;
28826
- const h = e, { component: t, overStyle: n, style: o, children: r, openMode: i } = h, a = Y(h, ["component", "overStyle", "style", "children", "openMode"]), { token: l } = useToken$1(), { draggable: c, droppable: u } = useContext(SortableContext), { isOver: d, setNodeRef: p } = u, m = x({}, o);
28827
- return d && ((g = c == null ? void 0 : c.active) == null ? void 0 : g.id) !== ((f = u == null ? void 0 : u.over) == null ? void 0 : f.id) && (m[t === "a" ? "color" : "background"] = getComputedColor(l.colorSettings), Object.assign(m, n)), React.createElement(
28825
+ var C, b;
28826
+ const f = e, { component: t, overStyle: n, style: o, children: r, openMode: i } = f, a = Y(f, ["component", "overStyle", "style", "children", "openMode"]), { token: l } = useToken$1(), { draggable: c, droppable: u } = useContext(SortableContext), { isOver: d, setNodeRef: p } = u, m = x({}, o), h = useFieldSchema(), g = (h == null ? void 0 : h["x-component"]) === "Action.Link" || t === "a";
28827
+ return d && ((C = c == null ? void 0 : c.active) == null ? void 0 : C.id) !== ((b = u == null ? void 0 : u.over) == null ? void 0 : b.id) && (m[g ? "color" : "background"] = getComputedColor(l.colorSettings), Object.assign(m, n)), React.createElement(
28828
28828
  t || "div",
28829
28829
  P(x({
28830
28830
  role: "none"
28831
28831
  }, a), {
28832
28832
  className: cx("nb-sortable-designer", e.className),
28833
28833
  ref: p,
28834
- style: m
28834
+ style: m,
28835
+ setNodeRef: p
28835
28836
  }),
28836
28837
  r
28837
28838
  );
package/lib/index.js CHANGED
@@ -62,7 +62,7 @@
62
62
  width: 100%;
63
63
  }
64
64
  }
65
- `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:h})],[h,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>V(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.6.26",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^5.0.1","@dnd-kit/modifiers":"^6.0.0","@dnd-kit/sortable":"^6.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.1.9","@formily/core":"^2.2.27","@formily/grid":"^2.2.27","@formily/json-schema":"^2.2.27","@formily/path":"^2.2.27","@formily/react":"^2.2.27","@formily/reactive":"^2.2.27","@formily/reactive-react":"^2.2.27","@formily/shared":"^2.2.27","@formily/validator":"^2.2.27","@nocobase/evaluators":"1.6.26","@nocobase/sdk":"1.6.26","@nocobase/utils":"1.6.26",ahooks:"^3.7.2",antd:"5.12.8","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>V(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>V(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>V(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return V(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((g,h)=>{g["x-index"]=c,++c,l[h]=g}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>V(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1);return!c.current&&l?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??m[LinkageRuleDataKeyMap[t]],p=useApp(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$4={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:g}=e,h=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),b=useRecord(),S=((0,import_lodash.isString)((r=(o=(t=h==null?void 0:h["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=h==null?void 0:h["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,d,j,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
65
+ `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),g=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),h=useSchemaInitializerMenuItems(g,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:h})],[h,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>V(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:!0,children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const designableStyle={backgroundColor:"var(--colorSettings) !important"},unDesignableStyle={backgroundColor:"transparent"},DesignableSwitch=()=>{const{designable:e,setDesignable:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{token:r}=useToken(),i=e?designableStyle:unDesignableStyle;return(0,import_react_hotkeys_hook.useHotkeys)("Ctrl+Shift+U",()=>t(!e),[e]),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o("UI Editor"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{"data-testid":"ui-editor-button",icon:(0,import_jsx_runtime.jsx)(import_icons.HighlightOutlined,{style:{color:r.colorTextHeaderMenu}}),title:o("UI Editor"),style:i,onClick:()=>{t(!e)}})})},WithForm$1=e=>{const t=e,{children:o,form:r}=t,i=Y(t,["children","form"]),n=(0,import_react2.useContext)(import_react.SchemaOptionsContext),a=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),l=x(x({},n==null?void 0:n.scope),a),c=x({},n==null?void 0:n.components);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},i),{form:r,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:c,scope:l,children:o})}))},WithoutForm$1=e=>{const t=e,{children:o}=t,r=Y(t,["children"]),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),a=x(x({},i==null?void 0:i.scope),n),l=x({},i==null?void 0:i.components),c=(0,import_react2.useMemo)(()=>(0,import_core.createForm)(),[]);return(0,import_jsx_runtime.jsx)(import_react.FormProvider,P(x({},r),{form:c,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:l,scope:a,children:o})}))},FormProvider=e=>e.form?(0,import_jsx_runtime.jsx)(WithForm$1,x({},e)):(0,import_jsx_runtime.jsx)(WithoutForm$1,x({},e)),CollectionHistoryContext=(0,import_react2.createContext)({historyCollections:[],refreshCH:()=>{}});CollectionHistoryContext.displayName="CollectionHistoryContext";const options$1={resource:"collectionsHistory",action:"list",params:{paginate:!1,appends:["fields"],filter:{},sort:["sort"]}},CollectionHistoryProvider=e=>{var t;const o=useAPIClient(),r=useIsAdminPage(),i=o.auth.getToken()||"",n=useRequest(options$1,{refreshDeps:[r,i],ready:!!(r&&i)}),a=(0,import_react2.useCallback)(()=>V(void 0,null,function*(){const{data:c}=yield o.request(options$1);return n.mutate(c),(c==null?void 0:c.data)||[]}),[n]),l=(0,import_react2.useMemo)(()=>{var c;return{historyCollections:(c=n.data)==null?void 0:c.data,refreshCH:a}},[a,(t=n.data)==null?void 0:t.data]);return(0,import_jsx_runtime.jsx)(CollectionHistoryContext.Provider,{value:l,children:e.children})},useHistoryCollectionsByNames=e=>{const{historyCollections:t}=(0,import_react2.useContext)(CollectionHistoryContext);return(t==null?void 0:t.filter(o=>e.includes(o.name)))||[]},useCollectionHistory=()=>(0,import_react2.useContext)(CollectionHistoryContext),CollectionProvider_deprecated=({children:e,allowNull:t,name:o,dataSource:r,collection:i})=>r?(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{dataSource:r,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e})}):(0,import_jsx_runtime.jsx)(CollectionProvider,{allowNull:t,name:o||i,children:e}),ResourceActionContext=(0,import_react2.createContext)(null);ResourceActionContext.displayName="ResourceActionContext";const ResourceContext=(0,import_react2.createContext)(null);ResourceContext.displayName="ResourceContext";const CollectionResourceActionProvider=e=>{var t,o,r,i;const{collection:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord(),d=a==null?void 0:a.action,p={};d==="get"&&(p.filterByTk=m[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,b=>b.target).map(b=>b.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),_=u.resource(a.resource),f=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:_,collection:n}),[n,_]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:f,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:n,children:e.children})})})},AssociationResourceActionProvider=e=>{var t,o,r;const{collection:i,association:n,request:a,uid:l,dragSort:c}=e,u=useAPIClient(),m=useRecord()[n.sourceKey],d=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:m},a),{params:P(x({},a==null?void 0:a.params),{appends:[...((r=(o=i==null?void 0:i.fields)==null?void 0:o.filter)==null?void 0:r.call(o,f=>f.target).map(f=>f.name))||[],...d]})}),{uid:l}),g=u.resource(a.resource,m),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),_=(0,import_react2.useMemo)(()=>P(x({},p),{defaultRequest:a,dragSort:c}),[c,a,p]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:i,children:e.children})})})},ResourceActionProvider=e=>{var t;let{collection:o,request:r}=e;const{getCollection:i}=useCollectionManager_deprecated();return typeof o=="string"&&(o=i(o)),o?(t=r==null?void 0:r.resource)!=null&&t.includes(".")?(0,import_jsx_runtime.jsx)(AssociationResourceActionProvider,P(x({},e),{collection:o})):(0,import_jsx_runtime.jsx)(CollectionResourceActionProvider,P(x({},e),{collection:o})):null},useResourceActionContext=()=>(0,import_react2.useContext)(ResourceActionContext)||{},useDataSourceFromRAC=e=>{const t=(0,import_react2.useContext)(ResourceActionContext),o=(0,import_react.useField)();return(0,import_react2.useEffect)(()=>{t.loading||(e==null||e.onSuccess(t.data),o.componentProps.dragSort=!!t.dragSort)},[t.loading]),t},useResourceContext=()=>{const{type:e,resource:t,collection:o,association:r}=(0,import_react2.useContext)(ResourceContext)||{};return{type:e,resource:t,collection:o,association:r,targetKey:(r==null?void 0:r.targetKey)||(o==null?void 0:o.filterTargetKey)||(o==null?void 0:o.targetKey)||"id"}},collection$1={name:"fields",targetKey:"name",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}}]},DataSourceContext_deprecated=(0,import_react2.createContext)(null);DataSourceContext_deprecated.displayName="DataSourceContext_deprecated";const useSelectedRowKeys=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated);return[e.selectedRowKeys,e.setSelectedRowKeys]},useDataSource_deprecated=e=>{const t=(0,import_react2.useContext)(DataSourceContext_deprecated);return useRequest(()=>Promise.resolve({data:t.dataSource}),P(x({},e),{refreshDeps:[JSON.stringify(t.dataSource)]}))},useCreateAction$1=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext();return{run(){return V(this,null,function*(){console.log("form.values",t.values);const r=e.dataSource||[];r.push((0,import_lodash.cloneDeep)(t.values)),e.setDataSource([...r]),o(!1),yield t.reset()})}}},useBulkDestroyAction$2=()=>{const e=(0,import_react2.useContext)(DataSourceContext_deprecated),{selectedRowKeys:t,setSelectedRowKeys:o}=e;return{run(){return V(this,null,function*(){const r=e.dataSource||[];e.setDataSource(r.filter((i,n)=>!t.includes(n))),o([])})}}},useUpdateAction$1=()=>{const e=useRecordIndex(),t=(0,import_react.useForm)(),{setVisible:o}=useActionContext(),r=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const i=((r==null?void 0:r.dataSource)||[]).map((n,a)=>a===e?x({},t.values):n);r.setDataSource([...i]),o(!1)})}}},useDestroyAction$2=()=>{const e=useRecordIndex(),t=(0,import_react2.useContext)(DataSourceContext_deprecated);return{run(){return V(this,null,function*(){const o=t.dataSource||[];t.setDataSource(o.filter((r,i)=>e!==i))})}}},ds={useSelectedRowKeys,useDataSource_deprecated,useCreateAction:useCreateAction$1,useBulkDestroyAction:useBulkDestroyAction$2,useUpdateAction:useUpdateAction$1,useDestroyAction:useDestroyAction$2},SubFieldDataSourceProvider_deprecated=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)([]),[r,i]=(0,import_react2.useState)([]),n=useRecord(),a=useAPIClient(),l=useRequest(()=>{var c;return n.interface==="subTable"?(c=n==null?void 0:n.children)!=null&&c.length?Promise.resolve({data:(n==null?void 0:n.children)||[]}):a.resource("fields").list({paginate:!1,sort:"sort",filter:{parentKey:n.key}}).then(u=>u==null?void 0:u.data):Promise.resolve({data:[]})},{onSuccess(c){console.log("dataSource1",c==null?void 0:c.data),i(c==null?void 0:c.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:collection$1,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:"name",service:l,dataSource:r,setDataSource:i,selectedRowKeys:t,setSelectedRowKeys:o},children:e.children})})},{displayName:"SubFieldDataSourceProvider_deprecated"}),DataSourceProvider_deprecated=(0,import_react.observer)(e=>{const{rowKey:t,collection:o,association:r}=e,[i,n]=(0,import_react2.useState)([]),[a,l]=(0,import_react2.useState)([]),c=useRecord(),u=useAPIClient(),{getCollection:m}=useCollectionManager_deprecated(),d=m(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,_;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(_=(h=d==null?void 0:d.fields)==null?void 0:h.filter(f=>f.target))==null?void 0:_.map(f=>f.name)}}).then(f=>f.data):Promise.resolve({data:(c==null?void 0:c[r.name])||[]})},{onSuccess(h){l(h==null?void 0:h.data)}});return(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{collection:d,children:(0,import_jsx_runtime.jsx)(DataSourceContext_deprecated.Provider,{value:{rowKey:t,service:g,dataSource:a,setDataSource:l,selectedRowKeys:i,setSelectedRowKeys:n},children:e.children})})},{displayName:"DataSourceProvider_deprecated"}),components$6={SubFieldDataSourceProvider_deprecated,DataSourceProvider_deprecated,CollectionProvider_deprecated,ResourceActionProvider},CollectionManagerSchemaComponentProvider=e=>{const t=(0,import_react2.useMemo)(()=>({cm:P(x({},hooks),{useDataSourceFromRAC}),ds}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:t,components:components$6,children:e.children})},CollectionCategoriesContext=(0,import_react2.createContext)({data:[],refresh:()=>{}});CollectionCategoriesContext.displayName="CollectionCategoriesContext";const CollectionManagerProvider_deprecated=e=>(0,import_jsx_runtime.jsx)(CollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CollectionManagerSchemaComponentProvider,{children:e.children})}),RemoteCollectionManagerLoadingContext=(0,import_react2.createContext)(!1),useRemoteCollectionManagerLoading=()=>(0,import_react2.useContext)(RemoteCollectionManagerLoadingContext),RemoteCollectionManagerProvider=e=>{const t=useDataSourceManager(),{refreshCH:o}=useCollectionHistory(),r=useRequest(()=>t.reload().then(o));return(0,import_jsx_runtime.jsx)(RemoteCollectionManagerLoadingContext.Provider,{value:r.loading,children:(0,import_jsx_runtime.jsx)(CollectionManagerProvider_deprecated,x({},e))})},CollectionCategoriesProvider=e=>{var t;const{service:o,refreshCategory:r}=e,i=(0,import_react2.useMemo)(()=>{var n;return x({data:(n=o==null?void 0:o.data)==null?void 0:n.data,refresh:r},e)},[(t=o==null?void 0:o.data)==null?void 0:t.data,r,e]);return(0,import_jsx_runtime.jsx)(CollectionCategoriesContext.Provider,{value:i,children:e.children})},useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.6.27",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.27","@nocobase/sdk":"1.6.27","@nocobase/utils":"1.6.27",ahooks:"^3.7.2",antd:"5.12.8","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>V(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let g=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const h=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});g.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:g})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=h==null?void 0:h.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>V(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>V(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>V(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>V(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return V(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:h,wrapped:d,wrap:g},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((g,h)=>{g["x-index"]=c,++c,l[h]=g}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(f=>{o==null||o(),l(),c==null||c(f),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[h,g,m,p,d]);return(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]),{dn:_,designable:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(f=>{var v;if(!f)return null;if(typeof f!="string")return f;const b=(0,import_get.default)(n,f);return(v=b==null?void 0:b[LAZY_COMPONENT_KEY])!=null?v:b},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((f,v)=>{const b=S=>{Object.keys(S).forEach(C=>{const y=S[C];C==="title"&&(d.title=y,p.title=y),C==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{d.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{d.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof f=="string"){const S={};return(0,import_set.default)(S,f,v),b(S)}b(f),m()},[_]),shallowMerge:(0,import_react2.useCallback)(f=>{_.shallowMerge(f)},[_]),deepMerge:(0,import_react2.useCallback)(f=>{_.deepMerge(f)},[_]),remove:(0,import_react2.useCallback)((f,v)=>{_.remove(f,v)},[_]),insertAdjacent:(0,import_react2.useCallback)((f,v,b)=>{_.insertAdjacent(f,v,b)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(f=>{_.insertBeforeBegin(f)},[_]),insertAfterBegin:(0,import_react2.useCallback)(f=>{_.insertAfterBegin(f)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(f=>{_.insertBeforeEnd(f)},[_]),insertAfterEnd:(0,import_react2.useCallback)(f=>{_.insertAfterEnd(f)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$3=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$3}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$3);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e}){const{parseFilter:t,findVariable:o}=useParseDataScopeFilter(),[r,i]=(0,import_react2.useState)({}),[n,a]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const l=()=>V(this,null,function*(){a(!0);const u=yield t(e);a(!1),i(u)});l();const c=import_lodash.default.debounce(l,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:u}){return u.startsWith("$")&&u!=="$and"&&u!=="$or"},transformValue(u){if(!isVariable$1(u))return u;const m=getVariableName(u),d=o(m);let p=null;const g=getPath(u).split(".");return g.forEach((h,_)=>{const f=g.slice(0,_+1).join("."),v=(0,import_client.getValuesByPath)({[m]:(d==null?void 0:d.ctx)||{}},f);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1);return!c.current&&l?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>V(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>V(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??m[LinkageRuleDataKeyMap[t]],p=useApp(),g=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(h=>{(0,import_lodash.isEmpty)(h)?a({}):a(h)}).catch(h=>{throw new Error(h.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(g(),i){const h=(0,import_shared.uid)();return i.addEffects(h,()=>{(0,import_core.onFormValuesChange)(()=>{g()})}),()=>{i.removeEffects(h)}}},[i,g]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$4={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$4})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]})),AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable();return(0,import_react2.useCallback)(r=>{t.reduceProperties((i,n)=>n["x-component"]==="AssociationField."+e?n:i,null)||o((0,import_cloneDeep.default)(r))},[e,t,o])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:g}=e,h=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),b=useRecord(),S=((0,import_lodash.isString)((r=(o=(t=h==null?void 0:h["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=h==null?void 0:h["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:C}=useParsedFilter({filterOption:S}),y=(0,import_react2.useMemo)(()=>f(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=b==null?void 0:b[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const k=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([k&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),k&&F!==void 0&&F!==null&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$eq:F}}:null],"$or")},[y==null?void 0:y.interface,y==null?void 0:y.foreignKey,h,C,F,g]);return(0,import_react2.useMemo)(()=>P(x({resource:y==null?void 0:y.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,d,j,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
66
66
  &.skeleton-wrapper {
67
67
  width: 100%;
68
68
  background: ${o.colorBgContainer};
@@ -613,11 +613,11 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
613
613
  z-index: 200;
614
614
  transition: left 0.2s;
615
615
  }
616
- `,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),g=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(g==null?void 0:g.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i;return(i=r==null?void 0:r.componentProps)==null?void 0:i.readOnlySubmit}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!z)return;import_antd.message.success(h(z))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>V(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return V(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return V(this,null,function*(){var d,p,g,h,_;const{triggerWorkflows:f}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:f!=null&&f.length?f.map(C=>[C.workflowKey,C.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:v=0,page:b=0,pageSize:S=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};v%S===1&&b!==1&&o.run(P(x({},(g=o==null?void 0:o.params)==null?void 0:g[0]),{page:b-1})),m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((_=(h=i==null?void 0:i.service)==null?void 0:h.refresh)==null||_.call(h),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return V(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
616
+ `,children:e.children}),document.body)}),collapsedButtonRender=(e,t)=>(0,import_jsx_runtime.jsx)(CollapsedButton,{collapsed:e,children:t}),headerContextValue={inHeader:!0},headerRender=(e,t)=>(0,import_jsx_runtime.jsx)(headerContext.Provider,{value:headerContextValue,children:t}),InternalAdminLayout=()=>{const{allAccessRoutes:e}=useAllAccessDesktopRoutes(),{designable:t}=useDesignable(),o=(0,import_react_router_dom.useLocation)(),{onDragEnd:r}=useMenuDragEnd(),{token:i}=useToken(),[n,a]=(0,import_react2.useState)(!1),[l,c]=(0,import_react2.useState)(!1),u=(0,import_react2.useRef)(!1),{t:m}=useMenuTranslation(),d=(0,import_react2.useMemo)(()=>({path:"/",children:convertRoutesToLayout(e,{designable:t,isMobile:n,t:m})}),[e,t,n,m]),p=(0,import_react2.useMemo)(()=>({header:{colorBgHeader:i.colorBgHeader,colorTextMenu:i.colorTextHeaderMenu,colorTextMenuSelected:i.colorTextHeaderMenuActive,colorTextMenuActive:i.colorTextHeaderMenuActive,colorBgMenuItemHover:i.colorBgHeaderMenuHover,colorBgMenuItemSelected:i.colorBgHeaderMenuActive,heightLayoutHeader:46,colorHeaderTitle:i.colorTextHeaderMenu},sider:{colorMenuBackground:i.colorBgContainer,colorTextMenu:i.colorText,colorTextMenuSelected:i.colorPrimary,colorBgMenuItemSelected:i.colorPrimaryBg,colorBgMenuItemActive:i.colorPrimaryBg,colorBgMenuItemHover:i.colorBgTextHover},bgLayout:i.colorBgLayout}),[i]),g=(0,import_react2.useCallback)(_=>{u.current||c(_)},[]),h=(0,import_react2.useCallback)(()=>{u.current=!0,setTimeout(()=>{u.current=!1})},[]);return(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:r,children:(0,import_jsx_runtime.jsx)(import_pro_layout.default,{contentStyle,siderWidth:200,className:resetStyle,location:o,route:d,actionsRender,logo:(0,import_jsx_runtime.jsx)(NocoBaseLogo,{}),title:"",layout:"mix",splitMenus:!0,token:p,headerRender,menuItemRender,subMenuItemRender,collapsedButtonRender,onCollapse:g,collapsed:l,onPageChange:h,children:(0,import_jsx_runtime.jsx)(import_pro_layout.RouteContext.Consumer,{children:_=>{const{isMobile:f}=_;return f!==n&&a(f),(0,import_jsx_runtime.jsx)(LayoutContent,{})}})})})},NavigateToDefaultPage=e=>{var t;const{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=useLocationNoUpdate(),i=(t=findFirstPageRoute(o))==null?void 0:t.schemaUid;return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[e.children,i&&(r.pathname==="/admin"||r.pathname==="/admin/")&&(0,import_jsx_runtime.jsx)(import_react_router_dom.Navigate,{replace:!0,to:`/admin/${i}`})]})},findRouteByMenuSchemaUid=(e,t)=>{var o;if(t)for(const r of t){if(r.menuSchemaUid===e)return r;if((o=r.children)!=null&&o.length){const i=findRouteByMenuSchemaUid(e,r.children);if(i)return i}}},LegacyRouteCompat=e=>{const t=useCurrentPageUid(),{allAccessRoutes:o}=useAllAccessDesktopRoutes(),r=(0,import_react_router_dom.useLocation)(),i=(0,import_react_router_dom.useNavigate)();return(0,import_react2.useEffect)(()=>{const n=findRouteByMenuSchemaUid(t,o);n&&i(r.pathname.replace(t,n.schemaUid)+r.search)},[o,t,r.pathname,r.search,i]),(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children})},AdminProvider=e=>(0,import_jsx_runtime.jsx)(CurrentPageUidProvider,{children:(0,import_jsx_runtime.jsx)(CurrentTabUidProvider,{children:(0,import_jsx_runtime.jsx)(IsSubPageClosedByPageMenuProvider,{children:(0,import_jsx_runtime.jsx)(ACLRolesCheckProvider,{children:(0,import_jsx_runtime.jsx)(RoutesRequestProvider,{children:(0,import_jsx_runtime.jsx)(NavigateToDefaultPage,{children:(0,import_jsx_runtime.jsx)(LegacyRouteCompat,{children:(0,import_jsx_runtime.jsx)(RemoteCollectionManagerProvider,{children:(0,import_jsx_runtime.jsx)(CurrentAppInfoProvider,{children:(0,import_jsx_runtime.jsx)(RemoteSchemaTemplateManagerProvider,{children:e.children})})})})})})})})})}),AdminLayout=e=>(0,import_jsx_runtime.jsx)(AdminProvider,{children:(0,import_jsx_runtime.jsx)(InternalAdminLayout,x({},e))});class AdminLayoutPlugin extends Plugin{afterAdd(){return V(this,null,function*(){yield this.app.pm.add(RemoteSchemaTemplateManagerPlugin)})}load(){return V(this,null,function*(){this.app.schemaSettingsManager.add(userCenterSettings),this.app.addComponents({AdminLayout,AdminDynamicPage})})}}function findRouteBySchemaUid(e,t){var o;if(t){for(const r of t){if(e===r.schemaUid||e===r.menuSchemaUid)return r;if((o=r.children)!=null&&o.length){const i=findRouteBySchemaUid(e,r.children);if(i)return i}}return null}}const MenuDesignerButton=e=>{const{render:t}=useSchemaInitializerRender(menuItemInitializer);return t({style:{background:"none"},"data-testid":e.testId})},MenuTitleWithIcon=e=>e.icon?(0,import_jsx_runtime.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,import_jsx_runtime.jsx)(Icon,{type:e.icon}),(0,import_jsx_runtime.jsx)("span",{children:e.title})]}):e.title;function convertRoutesToLayout(e,{designable:t,parentRoute:o,isMobile:r,t:i,depth:n=0}){if(!e)return;const a=c=>({key:"x-designer-button",name:(0,import_jsx_runtime.jsx)(MenuDesignerButton,{testId:c}),path:"/",disabled:!0,_route:{},_parentRoute:{},icon:(0,import_jsx_runtime.jsx)(Icon,{type:"setting"})}),l=e.map(c=>{var u,m;const d=n>1?(0,import_jsx_runtime.jsx)(MenuTitleWithIcon,{icon:c.icon,title:i(c.title)}):i(c.title);if(c.type===NocoBaseDesktopRouteType.link)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:"/",hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.page)return{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.schemaUid}`,redirect:`/admin/${c.schemaUid}`,hideInMenu:c.hideInMenu,_route:c,_parentRoute:o};if(c.type===NocoBaseDesktopRouteType.group){const p=convertRoutesToLayout(c.children,{designable:t,parentRoute:c,depth:n+1,t:i})||[];return t&&n===0&&p.push(P(x({},a("schema-initializer-Menu-side")),{_parentRoute:c})),{name:d,icon:c.icon?(0,import_jsx_runtime.jsx)(Icon,{type:c.icon}):null,path:`/admin/${c.id}`,redirect:((u=p[0])==null?void 0:u.key)==="x-designer-button"?void 0:`/admin/${((m=findFirstPageRoute(c.children))==null?void 0:m.schemaUid)||c.id}`,routes:p.length===0?[{path:"/",name:" ",disabled:!0,_hidden:!0}]:p,hideInMenu:c.hideInMenu,_route:c,_depth:n}}});return t&&n===0&&(r?l.push(x({},a("schema-initializer-Menu-header"))):l.unshift(x({},a("schema-initializer-Menu-header")))),l}function isGroup(e,t){const o=findRouteById(e,t);return(o==null?void 0:o.type)===NocoBaseDesktopRouteType.group}function findRouteById(e,t){var o;for(const r of t){if(Number(e)===Number(r.id))return r;if((o=r.children)!=null&&o.length){const i=findRouteById(e,r.children);if(i)return i}}return null}function findFirstPageRoute(e){var t;if(e)for(const o of e.filter(r=>!r.hideInMenu)){if(o.type===NocoBaseDesktopRouteType.page)return o;if(o.type===NocoBaseDesktopRouteType.group&&(t=o.children)!=null&&t.length){const r=findFirstPageRoute(o.children);if(r)return r}}}const useBlockHeightProps=()=>{var e,t,o;const r=(0,import_react.useFieldSchema)(),i=getCardItemSchema(r),n=(e=useBlockTemplateContext())==null?void 0:e.fieldSchema,a=(0,import_react2.useMemo)(()=>getPageSchema(n||r),[]),{disablePageHeader:l,enablePageTabs:c,hidePageTitle:u}=(a==null?void 0:a["x-component-props"])||{},{titleHeight:m}=(0,import_react2.useContext)(BlockItemCardContext)||{},{allAccessRoutes:d}=useAllAccessDesktopRoutes(),p=useCurrentPageUid(),g=(0,import_react2.useMemo)(()=>findRouteBySchemaUid(p,d),[p,d]);return{heightProps:P(x({},i==null?void 0:i["x-component-props"]),{title:((t=i==null?void 0:i["x-component-props"])==null?void 0:t.title)||((o=i==null?void 0:i["x-component-props"])==null?void 0:o.description),disablePageHeader:l,enablePageTabs:(g==null?void 0:g.enableTabs)||c,hidePageTitle:u,titleHeight:m})}},getPageSchema=e=>e?e["x-component"]==="Page"?e:getPageSchema(e.parent):null,getCardItemSchema=e=>e?["BlockItem","CardItem"].includes(e["x-component"])?e:getCardItemSchema(e.parent):null,useDataBlockParentRecord=({association:e})=>{var t;const o=useCollectionRecordData(),r=useCollectionParentRecordData(),i=useCollectionManager(),n=useCollection();if(!e)return;const a=i.getCollection(e.split(".")[0]);return n.name===a.name||(t=n.getParentCollectionsName)!=null&&t.call(n).includes(a.name)?o:r},usePickActionProps$1=()=>{const e=(0,import_react.useForm)();return{onClick(){console.log("usePickActionProps",e.values)}}};function renderTemplate(e,t){const o=/\{\{\s*((\w+\.?)+)\s*\}\}/g;return e.replace(o,function(r,i){return(0,import_get.default)(t,i)||""})}function getFilteredFormValues(e){const t=import_lodash.default.cloneDeep(e.values),o=[];return e.query("*").forEach(r=>{r&&o.push(r)}),import_lodash.default.uniq(o.filter(r=>{var i;return(i=r==null?void 0:r.componentProps)==null?void 0:i.readOnlySubmit}).map(r=>{var i;const n=((i=r.path)==null?void 0:i.segments)||[];return n.length<=1?n.join("."):n.slice(0,-1).join(".")})).forEach((r,i)=>{(i!==0||r.includes("."))&&!t[r]&&import_lodash.default.unset(t,r)}),t}function getFormValues({filterByTk:e,field:t,form:o,fieldNames:r,getField:i,resource:n,actionFields:a}){if(e&&a){const l=Object.keys(o.values).filter(c=>{const u=i(c);return!a.includes(c)&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(u==null?void 0:u.type)});return(0,import_omit.default)(x({},o.values),l)}return getFilteredFormValues(o)}function useCollectValuesToSubmit(){const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r}=useBlockRequestContext(),{fields:i,getField:n,getTreeParentField:a,name:l}=useCollection_deprecated(),c=i.map(_=>_.name),{fieldSchema:u}=useActionContext(),{getActiveFieldsName:m}=useFormActiveFields()||{},d=useVariables$1(),p=useLocalVariables$1({currentForm:e}),g=(0,import_react.useFieldSchema)(),h=useTreeParentRecord();return(0,import_react2.useCallback)(()=>V(this,null,function*(){var _,f,v,b;const{assignedValues:S={},overwriteValues:C}=(_=g==null?void 0:g["x-action-settings"])!=null?_:{},y=getFormValues({filterByTk:t,field:o,form:e,fieldNames:c,getField:n,resource:r,actionFields:(m==null?void 0:m("form"))||[]}),F={},j=Object.keys(S).map(k=>V(this,null,function*(){const R=S[k],N=n(k);if(isVariable$1(R)){const{value:w}=(yield d==null?void 0:d.parseVariable(R,p))||{};w!=null&&(F[k]=transformVariableValue(w,{targetCollectionField:N}))}else R!==""&&(F[k]=R)}));if(yield Promise.all(j),(f=u==null?void 0:u["x-component-props"])==null?void 0:f.addChild){const k=a();y[(v=k==null?void 0:k.name)!=null?v:"parent"]=h,y[(b=k==null?void 0:k.foreignKey)!=null?b:"parentId"]=h==null?void 0:h.id}return x(x(x({},y),C),F)}),[g,o,c,u,t,e,m,n,a,p,l,r,h,d])}const useCreateActionProps=()=>{var e;const t=useFilterByTk(),o=useCollectionRecord(),r=(0,import_react.useForm)(),{field:i,resource:n}=useBlockRequestContext(),{setVisible:a,setSubmitted:l,setFormValueChanged:c}=useActionContext(),u=useNavigateNoUpdate(),m=(0,import_react.useFieldSchema)(),d=(0,import_react.useField)(),p=useCompile(),{modal:g}=import_antd.App.useApp(),{t:h}=(0,import_react_i18next.useTranslation)(),{updateAssociationValues:_}=useFormBlockContext(),f=useCollectValuesToSubmit(),v=o.isNew?d.componentProps.saveMode||"create":"update",b=((e=d.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var S;const{onSuccess:C,skipValidator:y,triggerWorkflows:F}=(S=m==null?void 0:m["x-action-settings"])!=null?S:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{};y||(yield r.submit());const O=yield f();d.data=i.data||{},d.data.loading=!0;try{const D=yield n[v]({values:O,filterKeys:b,filterByTk:t,triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0,updateAssociationValues:_});if((w==="previous"||!w&&k!==!0)&&(a==null||a(!1)),l==null||l(!0),c==null||c(!1),d.data.loading=!1,d.data.data=D,!N){import_antd.message.success(h("Saved successfully")),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R));return}j?g.success({title:p(N),onOk:()=>V(this,null,function*(){yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R))})}):(import_antd.message.success(p(N)),yield resetFormCorrectly(r),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:u(R)))}catch{d.data.loading=!1}})}}},useAssociationCreateActionProps=()=>{var e;const t=(0,import_react.useForm)(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,fieldSchema:a,setSubmitted:l}=useActionContext(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{fields:m,getField:d,getTreeParentField:p,name:g}=useCollection_deprecated(),h=useCompile(),_=useFilterByTk(),f=useRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:t}),{getActiveFieldsName:S}=useFormActiveFields()||{},C=u.componentProps.saveMode||"create",y=((e=u.componentProps.filterKeys)==null?void 0:e.checked)||[];return{onClick(){return V(this,null,function*(){var F,j,k,R,N,w;const O=m.map(q=>q.name),{assignedValues:D={},onSuccess:T,overwriteValues:$,skipValidator:B,triggerWorkflows:I}=(F=c==null?void 0:c["x-action-settings"])!=null?F:{},M=(j=a==null?void 0:a["x-component-props"])==null?void 0:j.addChild,{successMessage:z}=T||{},E={},L=Object.keys(D).map(q=>V(this,null,function*(){const G=D[q],W=d(q);if(isVariable$1(G)){const{value:H}=(yield v==null?void 0:v.parseVariable(G,b))||{};H&&(E[q]=transformVariableValue(H,{targetCollectionField:W}))}else G!==""&&(E[q]=G)}));yield Promise.all(L),B||(yield t.submit());const U=getFormValues({filterByTk:_,field:o,form:t,fieldNames:O,getField:d,resource:r,actionFields:(S==null?void 0:S("form"))||[]});if(M){const q=p();U[(k=q==null?void 0:q.name)!=null?k:"parent"]=f,U[(R=q==null?void 0:q.foreignKey)!=null?R:"parentId"]=f.id}u.data=o.data||{},u.data.loading=!0;try{const q=yield r[C]({values:x(x(x({},U),$),E),filterKeys:y,triggerWorkflows:I!=null&&I.length?I.map(G=>[G.workflowKey,G.context].filter(Boolean).join("!")).join(","):void 0});if(u.data.loading=!1,u.data.data=q,(w=(N=i==null?void 0:i.service)==null?void 0:N.refresh)==null||w.call(N),n==null||n(!1),l==null||l(!0),!z)return;import_antd.message.success(h(z))}catch{u.data.data=null,u.data.loading=!1}})}}},findFilterTargets=e=>{for(;e;){if(e["x-filter-targets"])return{targets:e["x-filter-targets"],uid:e["x-uid"]};e=e.parent}return{}},updateFilterTargets=(e,t)=>{for(;e;){if(e["x-filter-targets"]){e["x-filter-targets"]=t;return}e=e.parent}},useDoFilter=()=>{const e=(0,import_react.useForm)(),{getDataBlocks:t}=useFilterBlock(),o=useCollectionManager(),{getOperators:r}=useOperators(),i=(0,import_react.useFieldSchema)(),{name:n}=useCollection(),{targets:a=[],uid:l}=(0,import_react2.useMemo)(()=>findFilterTargets(i),[i]),c=(0,import_react2.useCallback)(()=>removeNullCondition(transformToFilter(e.values,r(),o.getCollectionField.bind(o),n)),[e.values,o,r,n]),u=(0,import_react2.useCallback)((...m)=>V(void 0,[...m],function*({doNothingWhenFilterIsEmpty:d=!1}={}){try{yield Promise.all(t().map(p=>V(void 0,null,function*(){var g,h,_,f;if(!a.find(C=>C.uid===p.uid))return;const v=((g=p.service.params)==null?void 0:g[0])||{},b=((_=(h=p.service.params)==null?void 0:h[1])==null?void 0:_.filters)||{};b[l]=c();const S=mergeFilter([...Object.values(b).map(C=>removeNullCondition(C)),p.defaultFilter]);if(import_lodash.default.isEmpty(b[l])&&((f=p.clearSelection)==null||f.call(p)),!(d&&import_lodash.default.isEmpty(b[l])))return p.dataLoadingMode==="manual"&&import_lodash.default.isEmpty(b[l])?p.clearData():p.doFilter(P(x({},v),{page:1,filter:S}),{filters:b})})))}catch(p){console.error(p)}}),[t,c,a,l]);return(0,import_react2.useEffect)(()=>{setTimeout(()=>{u({doNothingWhenFilterIsEmpty:!0})},100)},[t().length]),{doFilter:u,getFilterFromCurrentForm:c}},useFilterBlockActionProps=()=>{const{doFilter:e}=useDoFilter(),t=(0,import_react.useField)();t.data=t.data||{};const o=(0,import_react.useForm)();return{onClick(){return V(this,null,function*(){yield o.submit(),t.data.loading=!0,yield e(),t.data.loading=!1})}}},useDoReset=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getDataBlocks:o}=useFilterBlock(),{targets:r,uid:i}=findFilterTargets(t),{doFilter:n,getFilterFromCurrentForm:a}=useDoFilter();return{doReset:()=>V(void 0,null,function*(){var l;if(yield e.reset(void 0,{forceClear:!!((l=t==null?void 0:t["x-component-props"])!=null&&l.clearDefaultValue)}),import_lodash.default.isEmpty(a()))return doReset({getDataBlocks:o,targets:r,uid:i});yield n()})}},useResetBlockActionProps=()=>{const e=(0,import_react.useField)(),{doReset:t}=useDoReset();return e.data=e.data||{},{onClick(){return V(this,null,function*(){e.data.loading=!0,yield t(),e.data.loading=!1})}}},useCustomizeUpdateActionProps=()=>{const{resource:e,__parent:t,service:o}=useBlockRequestContext(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useNavigateNoUpdate(),a=useCompile(),l=(0,import_react.useForm)(),{modal:c}=import_antd.App.useApp(),u=useVariables$1(),m=useLocalVariables$1({currentForm:l}),{name:d,getField:p}=useCollection_deprecated(),{setVisible:g}=useActionContext();return{onClick(h,_){return V(this,null,function*(){var f,v,b;const{assignedValues:S={},onSuccess:C,skipValidator:y,triggerWorkflows:F}=(f=i==null?void 0:i["x-action-settings"])!=null?f:{},{manualClose:j,redirecting:k,redirectTo:R,successMessage:N,actionAfterSuccess:w}=C||{},O={},D=Object.keys(S).map(T=>V(this,null,function*(){const $=S[T],B=p(T);if(isVariable$1($)){const{value:I}=(yield u==null?void 0:u.parseVariable($,m))||{};I&&(O[T]=transformVariableValue(I,{targetCollectionField:B}))}else $!==""&&(O[T]=$)}));yield Promise.all(D),y===!1&&(yield l.submit()),yield e.update({filterByTk:r,values:x({},O),triggerWorkflows:F!=null&&F.length?F.map(T=>[T.workflowKey,T.context].filter(Boolean).join("!")).join(","):void 0}),(w==="previous"||!w&&k!==!0)&&(g==null||g(!1)),_&&(_==null||_()),e instanceof TableFieldResource||(b=(v=t==null?void 0:t.service)==null?void 0:v.refresh)==null||b.call(v),N&&(j?c.success({title:a(N),onOk:()=>V(this,null,function*(){(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))})}):(import_antd.message.success(a(N)),(k&&!w||w==="redirect")&&R&&((0,import_client.isURL)(R)?window.location.href=R:n(R))))})}}},useCustomizeBulkUpdateActionProps=()=>{var e,t,o,r;const{field:i,resource:n,__parent:a,service:l}=useBlockRequestContext(),c=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),u=(0,import_react.useFieldSchema)(),m=useTableBlockContext(),{rowKey:d}=m,p=(r=(o=(t=(e=m.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys)!=null?o:c==null?void 0:c.selectedRecordKeys)!=null?r:{},g=useNavigateNoUpdate(),h=useCompile(),{t:_}=(0,import_react_i18next.useTranslation)(),f=(0,import_react.useField)(),{modal:v}=import_antd.App.useApp(),b=useVariables$1();useRecord();const{name:S,getField:C}=useCollection_deprecated(),y=useLocalVariables$1(),{setVisible:F}=useActionContext();return{onClick(){return V(this,null,function*(){var j;const{assignedValues:k={},onSuccess:R,updateMode:N}=(j=u==null?void 0:u["x-action-settings"])!=null?j:{},{manualClose:w,redirecting:O,redirectTo:D,successMessage:T,actionAfterSuccess:$}=R||{};f.data=i.data||{},f.data.loading=!0;const B={},I=Object.keys(k).map(M=>V(this,null,function*(){const z=k[M],E=C(M);if(isVariable$1(z)){const{value:L}=(yield b==null?void 0:b.parseVariable(z,y))||{};L&&(B[M]=transformVariableValue(L,{targetCollectionField:E}))}else z!==""&&(B[M]=z)}));yield Promise.all(I),($==="previous"||!$&&O!==!0)&&(F==null||F(!1)),v.confirm({title:_("Bulk update"),content:_(N==="selected"?"Update selected data?":"Update all data?"),onOk(){return V(this,null,function*(){var M,z,E,L;const{filter:U}=(z=(M=l.params)==null?void 0:M[0])!=null?z:{},q={values:x({},B),filter:U,forceUpdate:!1};if(N==="selected"){if(!(p!=null&&p.length)){import_antd.message.error(_("Please select the records to be updated")),f.data.loading=!1;return}q.filter={$and:[{[d||"id"]:{$in:p}}]}}q.filter||(q.forceUpdate=!0);try{yield n.update(q)}catch{}finally{f.data.loading=!1}n instanceof TableFieldResource||(L=(E=a==null?void 0:a.service)==null?void 0:E.refresh)==null||L.call(E),T&&(w?v.success({title:h(T),onOk:()=>V(this,null,function*(){(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))})}):(import_antd.message.success(h(T)),(O&&!$||$==="redirect")&&D&&((0,import_client.isURL)(D)?window.location.href=D:g(D))))})},onCancel(){return V(this,null,function*(){f.data.loading=!1})}})})}}},useCustomizeRequestActionProps=()=>{var e;const t=useAPIClient(),o=useNavigateNoUpdate(),r=useFilterByTk(),i=(0,import_react.useFieldSchema)(),n=useCompile(),a=(0,import_react.useForm)(),{fields:l,getField:c}=useCollection_deprecated(),{field:u,resource:m,__parent:d,service:p}=useBlockRequestContext(),g=useRecord(),h=useCurrentUserContext(),_=(e=h==null?void 0:h.data)==null?void 0:e.data,f=(0,import_react.useField)(),{t:v}=(0,import_react_i18next.useTranslation)(),{setVisible:b}=useActionContext(),{modal:S}=import_antd.App.useApp(),{getActiveFieldsName:C}=useFormActiveFields()||{};return{onClick(){return V(this,null,function*(){var y,F,j,k;const{skipValidator:R,onSuccess:N,requestSettings:w}=(y=i==null?void 0:i["x-action-settings"])!=null?y:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=N||{},I=i==null?void 0:i["x-action"];if(!w.url)return;R!==!0&&I==="customize:form:request"&&(yield a.submit());const M=w.headers?JSON.parse(w.headers):{},z=w.params?JSON.parse(w.params):{},E=w.data?JSON.parse(w.data):{};if(I==="customize:form:request"&&["POST","PUT","PATCH"].includes(w.method)){const U=l.map(G=>G.name),q=getFormValues({filterByTk:r,field:u,form:a,fieldNames:U,getField:c,resource:m,actionFields:(C==null?void 0:C("form"))||[]});Object.assign(E,q)}const L={url:renderTemplate(w.url,{currentRecord:g,currentUser:_}),method:w.method,headers:(0,import_client.parse)(M)({currentRecord:g,currentUser:_}),params:(0,import_client.parse)(z)({currentRecord:g,currentUser:_}),data:(0,import_client.parse)(E)({currentRecord:g,currentUser:_})};f.data=u.data||{},f.data.loading=!0;try{yield t.request(x({},L)),f.data.loading=!1,m instanceof TableFieldResource||(j=(F=d==null?void 0:d.service)==null?void 0:F.refresh)==null||j.call(F),(k=p==null?void 0:p.refresh)==null||k.call(p),I==="customize:form:request"&&(B==="previous"||!B&&D!==!0)&&(b==null||b(!1)),$||(import_antd.message.success(v("Saved successfully")),yield resetFormCorrectly(a),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))),O?S.success({title:n($),onOk:()=>V(this,null,function*(){(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:o(T))})}):import_antd.message.success(n($))}finally{f.data.loading=!1}})}}},useUpdateActionProps=()=>{const e=(0,import_react.useForm)(),t=useFilterByTk(),{field:o,resource:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setFormValueChanged:a}=useActionContext(),l=(0,import_react.useFieldSchema)(),c=useNavigateNoUpdate(),{fields:u,getField:m,name:d}=useCollection_deprecated(),p=useCompile(),g=(0,import_react.useField)(),{updateAssociationValues:h}=useFormBlockContext(),{modal:_}=import_antd.App.useApp(),f=useParamsFromRecord(),v=useVariables$1(),b=useLocalVariables$1({currentForm:e}),{getActiveFieldsName:S}=useFormActiveFields()||{};return{onClick(C,y){return V(this,null,function*(){var F;const{assignedValues:j={},onSuccess:k,overwriteValues:R,skipValidator:N,triggerWorkflows:w}=(F=l==null?void 0:l["x-action-settings"])!=null?F:{},{manualClose:O,redirecting:D,redirectTo:T,successMessage:$,actionAfterSuccess:B}=k||{},I={},M=Object.keys(j).map(L=>V(this,null,function*(){const U=j[L],q=m(L);if(isVariable$1(U)){const{value:G}=(yield v==null?void 0:v.parseVariable(U,b))||{};G&&(I[L]=transformVariableValue(G,{targetCollectionField:q}))}else U!==""&&(I[L]=U)}));yield Promise.all(M),N||(yield e.submit());const z=u.map(L=>L.name),E=getFormValues({filterByTk:t,field:o,form:e,fieldNames:z,getField:m,resource:r,actionFields:(S==null?void 0:S("form"))||[]});g.data=o.data||{},g.data.loading=!0;try{if(yield r.update(P(x({filterByTk:t,values:x(x(x({},E),R),I)},f),{updateAssociationValues:h,triggerWorkflows:w!=null&&w.length?w.map(L=>[L.workflowKey,L.context].filter(Boolean).join("!")).join(","):void 0})),g.data.loading=!1,y&&(y==null||y()),(B==="previous"||!B&&D!==!0)&&(n==null||n(!1)),a==null||a(!1),!$)return;O?_.success({title:p($),onOk:()=>V(this,null,function*(){yield e.reset(),(D&&!B||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T))})}):(import_antd.message.success(p($)),(D&&!B||B==="redirect"||B==="redirect")&&T&&((0,import_client.isURL)(T)?window.location.href=T:c(T)))}catch{g.data.loading=!1}})}}},useDestroyActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a}=useActionContext(),l=useParamsFromRecord(),c=(0,import_react.useFieldSchema)();return{onClick(u,m){return V(this,null,function*(){var d,p,g,h,_;const{triggerWorkflows:f}=(d=c==null?void 0:c["x-action-settings"])!=null?d:{};yield t.destroy(x({filterByTk:e,triggerWorkflows:f!=null&&f.length?f.map(C=>[C.workflowKey,C.context].filter(Boolean).join("!")).join(","):void 0},l));const{count:v=0,page:b=0,pageSize:S=0}=((p=o==null?void 0:o.data)==null?void 0:p.meta)||{};v%S===1&&b!==1&&o.run(P(x({},(g=o==null?void 0:o.params)==null?void 0:g[0]),{page:b-1})),m&&(m==null||m()),a==null||a(!0),r&&r!=="TableField"&&((_=(h=i==null?void 0:i.service)==null?void 0:h.refresh)==null||_.call(h),n==null||n(!1),a==null||a(!0))})}}},useRemoveActionProps=e=>{const t=useFilterByTk(),o=useAPIClient().resource(e,t);return{onClick(r){return V(this,null,function*(){yield o.remove({values:[r.id]})})}}},useDisassociateActionProps=()=>{const e=useFilterByTk(),{resource:t,service:o,block:r,__parent:i}=useBlockRequestContext(),{setVisible:n,setSubmitted:a,setFormValueChanged:l}=useActionContext();return{onClick(c,u){return V(this,null,function*(){var m,d,p,g;yield t.remove({values:[e]});const{count:h=0,page:_=0,pageSize:f=0}=((m=o==null?void 0:o.data)==null?void 0:m.meta)||{};h%f===1&&_!==1?o.run(P(x({},(d=o==null?void 0:o.params)==null?void 0:d[0]),{page:_-1})):u&&(u==null||u()),a==null||a(!0),r&&r!=="TableField"&&((g=(p=i==null?void 0:i.service)==null?void 0:p.refresh)==null||g.call(p),n==null||n(!1),l==null||l(!1))})}}},useBulkDestroyActionProps=()=>{const{field:e}=useBlockRequestContext(),{resource:t,service:o}=useBlockRequestContext(),{setSubmitted:r}=useActionContext(),i=useCollection_deprecated(),{filterTargetKey:n}=i;return{onClick(a,l){return V(this,null,function*(){var c,u,m,d,p,g,h;let _=(c=e.data)==null?void 0:c.selectedRowKeys;if(Array.isArray(n)&&(_=e.data.selectedRowData.map(b=>{const S={};return n.map(C=>{S[C]=b[C]}),S})),!((m=(u=e==null?void 0:e.data)==null?void 0:u.selectedRowKeys)!=null&&m.length))return;yield t.destroy({filterByTk:_}),e.data.selectedRowKeys=[];const f=(d=o.params[0])==null?void 0:d.page,v=(g=(p=o.data)==null?void 0:p.meta)==null?void 0:g.totalPage;f===v&&o.params[0]&&f!==1&&(o.params[0].page=f-1),l&&(l==null||l()),r==null||r(!0),(h=o==null?void 0:o.refresh)==null||h.call(o)})}}},useRefreshActionProps=()=>{const{service:e}=useBlockRequestContext();return{onClick(){return V(this,null,function*(){var t;(t=e==null?void 0:e.refresh)==null||t.call(e)})}}},useDetailsPaginationProps=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,g,h;const _=useDetailsBlockContext(),f=((o=(t=(e=_.service)==null?void 0:e.data)==null?void 0:t.meta)==null?void 0:o.count)||0,v=(n=(i=(r=_.service)==null?void 0:r.data)==null?void 0:i.meta)==null?void 0:n.page;return!f&&v?{simple:!0,current:((c=(l=(a=_.service)==null?void 0:a.data)==null?void 0:l.meta)==null?void 0:c.page)||1,pageSize:1,showSizeChanger:!1,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},style:{marginTop:24,textAlign:"center"},showTotal:!1,showTitle:!1,total:(d=(m=(u=_.service)==null?void 0:u.data)==null?void 0:m.data)!=null&&d.length?1*v+1:1*v,className:import_css.css`
617
617
  .ant-pagination-simple-pager {
618
618
  display: none !important;
619
619
  }
620
- `}:{simple:!0,hidden:f<=1,current:((h=(g=(p=_.service)==null?void 0:p.data)==null?void 0:g.meta)==null?void 0:h.page)||1,total:f,pageSize:1,showSizeChanger:!1,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},style:{marginTop:24,textAlign:"center"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),g=n.name,h=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:h,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:b=>{var S,C,y,F;const j=((C=(S=a.params)==null?void 0:S[1])==null?void 0:C.filters)||{};b.length?j[`af.${g}`]={[`${g}.${m}.$in`]:b}:delete j[`af.${g}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:b=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:b.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:g}=useFilterBlock(),h=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),b=useCollectionManager(),{filter:S,parseVariableLoading:C}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,k,R,N,w,O;N=m!=null&&m.target?(o=b==null?void 0:b.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:R,params:j,run:k}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&C===!1&&k()},[m,w,k,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,C]);const D=(0,import_react2.useCallback)(T=>{const{targets:$,uid:B}=findFilterTargets(d);g().forEach(I=>{var M,z,E,L;if(!$.find(H=>H.uid===I.uid))return;const U=`${B}${d.name}`,q=((M=I.service.params)==null?void 0:M[0])||{};(E=(z=I.service.params)==null?void 0:z[1])!=null&&E.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[O]:T};else{if((L=I.clearSelection)==null||L.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},q),{page:1,filter:W}),{filters:G})})},[d,O,g]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},B=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=B,j={},k=()=>{},O=`${T.name}.${$[T.interface]}`,F=I=>{const M=I.target.value;if(!M){y=B;return}y=B.filter(z=>z.label.includes(M))}}else O=`${h}.${N}.$in`,y=(R==null?void 0:R.data)||[],F=T=>{k(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:D,handleSearchInput:F,params:j,run:k,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return V(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>V(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,g=c["x-collection-field"]&&i(c["x-collection-field"],a),h=c.name.includes("."),_=g&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=b=>{const S=Object.keys(b)[0]||"$and";b[S].forEach(C=>{if("$and"in C||"$or"in C)return v(C);const y=getTargetField(C);y.length>1&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:b})=>{v(b)})}const f=_&&((u=n(g.target,a))==null?void 0:u.template)==="tree";if(g&&(_||h)&&c["x-component"]!=="TableField"){const v=!_&&h?getAssociationPath(c.name):c.name,b=p===""||!p?v:p+"."+v;if(f)r.add(b),r.add(`${b}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${b}(sort=${S})`)}else r.add(b);if(isSubMode(c)){o.add(b);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return V(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>V(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return V(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return V(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return V(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>V(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(h=>(_,{exclude:f=[],depth:v=0,maxDepth:b,prefix:S="",disabled:C=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${b}-${S}`,j=h.get(F);if(j)return j;if(v>b)return[];const k=i(_).map(R=>{var N;if(f.includes(R.name)||!R.interface||["sort","password","sequence"].includes(R.type))return;const w={type:"duplicate",tag:c((N=R.uiSchema)==null?void 0:N.title)||R.name},O=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${R.name}`:R.name,isLeaf:!0,field:R,disabled:C}),D=y.find(T=>T.name===O.key);if(["belongsTo","belongsToMany"].includes(R.type)&&(!D||["Select","Picker"].includes(D==null?void 0:D.fieldMode)))w.type="reference",O.type="reference",O.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),O.isLeaf=!1,O.children=p(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(R.type)||["Nester","SubTable"].includes(D==null?void 0:D.fieldMode)){let T=!1;["hasOne","hasMany"].includes(R.type)&&["Select","Picker"].includes(D==null?void 0:D.fieldMode)&&(T=!0),O.disabled=!0,O.isLeaf=!1,O.children=d(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:["id",...systemKeys],disabled:T},y)}return O}).filter(Boolean);return h.set(F,k),k})(new import_lru_cache.default({max:100})),p=(h=>(_,{prefix:f,maxDepth:v,depth:b=0,exclude:S=[]})=>{const C=`${_}-${S.join(",")}-${b}-${v}-${f}`,y=h.get(C);if(y)return y;if(b>v)return[];const F=i(_).map(j=>{var k,R;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((k=j.uiSchema)==null?void 0:k.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((R=j.uiSchema)==null?void 0:R.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:b+1,maxDepth:v,exclude:S})}}).filter(Boolean);return h.set(C,F),F})(new import_lru_cache.default({max:100})),g=(0,import_react2.useCallback)((h,_)=>{if(!h)return[];try{return d(h,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return V(this,null,function*(){var h;const _=new Set([]),f=new Set([]),v=(S,C)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var k,R,N;const w=F||C,O=j["x-collection-field"]&&r(j["x-collection-field"]),D=j.name.includes("."),T=O&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(O.type),$=!T&&D?getAssociationPath(j.name):j.name,B=w===""||!w?$:w+"."+$;if(O&&!(["hasOne","hasMany"].includes(O.type)||["SubForm","Nester"].includes((k=j["x-component-props"])==null?void 0:k.mode))&&f.add(B),O&&(T||D)&&j["x-component"]!=="TableField"){if(_.add({name:B,fieldMode:((R=j["x-component-props"])==null?void 0:R.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,C)},C)};v(e,"");const b=g((l==null?void 0:l.collection)||t,[..._]);o?o(b,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=b)}),n==null||n.field.value.splice(a,1,P(x({},(h=n==null?void 0:n.field)==null?void 0:h.value[a]),{fields:[...f],treeData:b}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const g=c.map(h=>{const _=`${d(h.collection.title)} #${h.uid.slice(0,4)}`,f=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display="block"),S.style.boxShadow="0 0 10px rgba(0, 0, 0, 0.2)",S.scrollIntoView({behavior:"smooth",block:"center"})},v=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display=null),S.style.boxShadow="none"};if(isSameCollection(h.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===h.uid),onChange:S=>{S?u.push({uid:h.uid}):(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid);const b=u.find(S=>S.uid===h.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(b==null?void 0:b.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),h).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,h).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)):(u=u.filter(C=>C.uid!==h.uid),u.push({uid:h.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:g.length?g:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:g,addonBefore:h,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:g||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:h},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const b={"x-uid":r["x-uid"]};b["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),b["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const C=S.join(".");i.query(`${C}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:b}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:g,setNodeRef:h}=p,_=x({},a);return g&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[i==="a"?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:h,style:_}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),common=Object.freeze(Object.defineProperty({__proto__:null,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||c;const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]);return(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),g=h=>h!=null&&!Number.isNaN(h);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},p),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit:h=>{var _;const f=[];for(const S of h.rules)f.push(import_lodash.default.pickBy(S,g));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const b=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=b,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:g=>{const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=g,h["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=g,l.emit("patch",{schema:h}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,g,h;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(g=t["x-component-props"])!=null&&g.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(h=_.schema)==null?void 0:h["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(g=>!(g!=null&&g.target)&&g.type!=="boolean").map(g=>{var h;return{value:g==null?void 0:g.name,label:m((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||(g==null?void 0:g.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:g=>{var h,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(h=d==null?void 0:d.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:g});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o}=useCollectionManager_deprecated(),r=(0,import_react.useForm)(),i=(0,import_react.useFieldSchema)(),n=useVariables$1(),a=(0,import_react.useField)(),{formValue:l}=useSubFormValue(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},{getAssociationAppends:m}=useAssociationNames(),d=i.name.toString(),p=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);p.current==null&&isDisplayField(d)&&(p.current=o(`${t}.${d}`)),g.current==null&&isDisplayField(d)&&(g.current=o(`${t}.${d.split(".")[0]}`));const h=(0,import_react2.useMemo)(()=>!isDisplayField(d)||!n||t==="fields"||!p.current,[d,n,t,p.current]),_=h?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(c||u?l:r.values)),f=isDisplayField(d)&&g.current?import_lodash.default.get(_,`${d.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{if(h||import_lodash.default.isEmpty(_))return;const v={name:"$nForm",ctx:_,collectionName:t},b=`{{ $nForm.${d} }}`;if(f==null)return;const{appends:S}=m();n.parseVariable(b,v,{appends:S}).then(({value:C})=>{(0,import_client.nextTick)(()=>{const y=transformVariableValue(C,{targetCollectionField:p.current});import_lodash.default.isEmpty(y)&&!import_lodash.default.isNumber(y)?a.value=null:(a.value=y,a.componentProps=P(x({},a.componentProps),{readOnlySubmit:!0}))})}).catch(C=>{console.error(C)})},[f,h])};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var g,h;return(h=(g=u==null?void 0:u.data)==null?void 0:g.filter)==null?void 0:h.call(g,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:g,defaultValue:h}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:b}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:C}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:C||a,collectionName:j},{name:"$form",ctx:C,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:g,defaultValue:h},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:b},{name:"$nForm",ctx:C,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,C,c,u,m,d,_,p,g,S,n,i,y,h,b,o,t,r,F])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(!e)return;const o=e["x-linkage-rules"]||((t=e==null?void 0:e.parent)==null?void 0:t["x-linkage-rules"])||[];return o==null?void 0:o.filter(r=>!r.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),g=useRecordIndex(),{type:h,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),b=(0,import_react2.useCallback)(S=>{let C=o==null?void 0:o.getVariable(S);return C||(C=r.find(y=>y.name===S)),C},[r,o]);(0,import_react2.useEffect)(()=>{var S,C;if(h==="update"&&t.default&&e.form===_&&((C=e.setValue)==null||C.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>V(void 0,[...j],function*({forceUpdate:k=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||k)){e.loading=!0;const R=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:O="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(R!=null&&R.target&&w&&R.target!==w&&!isInherit({collectionName:R.target,targetCollectionName:w,dm:v,dataSource:O})){e.loading=!1;return}const D=transformVariableValue(N,{targetCollectionField:R});D==null||D===""?e.mounted&&(e.setInitialValue(null),yield e.reset({forceClear:!0})):d()?g===0&&p(D):e.setInitialValue(D),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),k=b(j);return k?(y(),(0,import_reactive.reaction)(()=>{const R={[j]:(k==null?void 0:k.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(R,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,h,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
620
+ `}:{simple:!0,hidden:f<=1,current:((h=(g=(p=_.service)==null?void 0:p.data)==null?void 0:g.meta)==null?void 0:h.page)||1,total:f,pageSize:1,showSizeChanger:!1,onChange(b){return V(this,null,function*(){var S,C;const y=(C=(S=_.service)==null?void 0:S.params)==null?void 0:C[0];_.service.run(P(x({},y),{page:b}))})},style:{marginTop:24,textAlign:"center"}}},useAssociationFilterProps=()=>{var e,t,o,r,i;const n=AssociationFilter.useAssociationField(),{service:a,props:l}=useBlockRequestContext(),c=(0,import_react.useFieldSchema)(),u=useCollectionManager_deprecated(),m=n!=null&&n.target?(e=u.getCollection(n.target))==null?void 0:e.getPrimaryKey():"id",d=((o=(t=c["x-component-props"])==null?void 0:t.fieldNames)==null?void 0:o.label)||m,p=(0,import_react.useField)(),g=n.name,h=useDataSourceHeaders(l==null?void 0:l.dataSource),{data:_,params:f,run:v}=useRequest({headers:h,resource:n.target,action:"list",params:x({fields:[d,m],pageSize:200,page:1},(r=p.componentProps)==null?void 0:r.params)},{refreshDeps:[d,m,JSON.stringify(((i=p.componentProps)==null?void 0:i.params)||{})],debounceWait:300});return{list:(_==null?void 0:_.data)||[],onSelected:b=>{var S,C,y,F;const j=((C=(S=a.params)==null?void 0:S[1])==null?void 0:C.filters)||{};b.length?j[`af.${g}`]={[`${g}.${m}.$in`]:b}:delete j[`af.${g}`],a.run(P(x({},(y=a.params)==null?void 0:y[0]),{pageSize:200,page:1,filter:mergeFilter([...Object.values(j),(F=l==null?void 0:l.params)==null?void 0:F.filter])}),{filters:j})},handleSearchInput:b=>{v(P(x({},f==null?void 0:f[0]),{filter:{[`${d}.$includes`]:b.target.value}}))},params:f,run:v}},useOptionalFieldList=()=>{const{currentFields:e=[]}=useCollection_deprecated();return e.filter(t=>isOptionalField(t))},isOptionalField=e=>{var t;return["select","multipleSelect","checkbox","checkboxGroup","chinaRegion"].includes(e==null?void 0:e.interface)&&((t=e==null?void 0:e.uiSchema)==null?void 0:t.enum)},useAssociationFilterBlockProps=()=>{var e,t,o,r,i,n,a,l,c,u;const m=AssociationFilter.useAssociationField(),d=(0,import_react.useFieldSchema)(),p=useOptionalFieldList(),{getDataBlocks:g}=useFilterBlock(),h=m==null?void 0:m.name,_=(0,import_react.useField)(),{props:f}=useBlockRequestContext(),v=useDataSourceHeaders(f==null?void 0:f.dataSource),b=useCollectionManager(),{filter:S,parseVariableLoading:C}=useParsedFilter({filterOption:(t=(e=_.componentProps)==null?void 0:e.params)==null?void 0:t.filter});let y,F,j,k,R,N,w,O;N=m!=null&&m.target?(o=b==null?void 0:b.getCollection(m.target))==null?void 0:o.getPrimaryKey():"id",w=((i=(r=d["x-component-props"])==null?void 0:r.fieldNames)==null?void 0:i.label)||N,{data:R,params:j,run:k}=useRequest({headers:v,resource:m==null?void 0:m.target,action:"list",params:P(x({fields:[w,N],pageSize:200,page:1},(n=_.componentProps)==null?void 0:n.params),{filter:S})},{manual:!0,debounceWait:300}),(0,import_react2.useEffect)(()=>{m&&!isOptionalField(m)&&C===!1&&k()},[m,w,k,N,(a=_.componentProps)==null?void 0:a.params,(c=(l=_.componentProps)==null?void 0:l.params)==null?void 0:c.sort,C]);const D=(0,import_react2.useCallback)(T=>{const{targets:$,uid:B}=findFilterTargets(d);g().forEach(I=>{var M,z,E,L;if(!$.find(H=>H.uid===I.uid))return;const U=`${B}${d.name}`,q=((M=I.service.params)==null?void 0:M[0])||{};(E=(z=I.service.params)==null?void 0:z[1])!=null&&E.filters||import_lodash.default.set(I.service.params,"[1].filters",{});const G=I.service.params[1].filters;if(T.length)G[U]={[O]:T};else{if((L=I.clearSelection)==null||L.call(I),I.dataLoadingMode==="manual")return I.clearData();delete G[U]}const W=mergeFilter([...Object.values(G),I.defaultFilter]);return I.doFilter(P(x({},q),{page:1,filter:W}),{filters:G})})},[d,O,g]);if(!m)return{};if(isOptionalField(m)){const T=p.find(I=>I.name===d.name),$={select:"$in",multipleSelect:"$anyOf",checkbox:"$in",checkboxGroup:"$anyOf"},B=((u=T==null?void 0:T.uiSchema)==null?void 0:u.enum)||[];N="value",w="label",y=B,j={},k=()=>{},O=`${T.name}.${$[T.interface]}`,F=I=>{const M=I.target.value;if(!M){y=B;return}y=B.filter(z=>z.label.includes(M))}}else O=`${h}.${N}.$in`,y=(R==null?void 0:R.data)||[],F=T=>{k(P(x({},j==null?void 0:j[0]),{filter:{[`${w}.$includes`]:T.target.value}}))};return{list:y,onSelected:D,handleSearchInput:F,params:j,run:k,valueKey:N,labelKey:w,dataScopeFilter:S}};function doReset(e){return V(this,arguments,function*({getDataBlocks:t,targets:o,uid:r}){try{yield Promise.all(t().map(i=>V(this,null,function*(){var n,a,l,c;if(!o.find(p=>p.uid===i.uid))return;if((n=i.clearSelection)==null||n.call(i),i.dataLoadingMode==="manual")return i.clearData();const u=((a=i.service.params)==null?void 0:a[0])||{},m=((c=(l=i.service.params)==null?void 0:l[1])==null?void 0:c.filters)||{};delete m[r];const d=mergeFilter([...Object.values(m),i.defaultFilter]);return i.doFilter(P(x({},u),{page:1,filter:d}),{filters:m})})))}catch(i){console.error(i)}})}function getAssociationPath(e){const t=e.lastIndexOf(".");return t!==-1?e.substring(0,t):e}const getAppends=({schema:e,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})=>{e.reduceProperties((l,c)=>{var u,m,d;const p=l||t,g=c["x-collection-field"]&&i(c["x-collection-field"],a),h=c.name.includes("."),_=g&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type);if(c["x-linkage-rules"]&&!isSubMode(c)){const v=b=>{const S=Object.keys(b)[0]||"$and";b[S].forEach(C=>{if("$and"in C||"$or"in C)return v(C);const y=getTargetField(C);y.length>1&&r.add(y.join("."))})};c["x-linkage-rules"].forEach(({condition:b})=>{v(b)})}const f=_&&((u=n(g.target,a))==null?void 0:u.template)==="tree";if(g&&(_||h)&&c["x-component"]!=="TableField"){const v=!_&&h?getAssociationPath(c.name):c.name,b=p===""||!p?v:p+"."+v;if(f)r.add(b),r.add(`${b}.parent(recursively=true)`);else if((m=c["x-component-props"])!=null&&m.sortArr){const S=(d=c["x-component-props"])==null?void 0:d.sortArr;r.add(`${b}(sort=${S})`)}else r.add(b);if(isSubMode(c)){o.add(b);const S=p&&p!==""?p+"."+c.name:c.name;getAppends({schema:c,prefix:S,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})}}else["Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField","Kanban.CardViewer","Action.Container"].includes(c["x-component"])||getAppends({schema:c,prefix:t,updateAssociationValues:o,appends:r,getCollectionJoinField:i,getCollection:n,dataSource:a})},t)},useAssociationNames=e=>{const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(e),r=(0,import_react.useFieldSchema)(),i=(0,import_react2.useRef)(null);return{getAssociationAppends:(0,import_react2.useCallback)(()=>{const n=new Set([]);let a=new Set([]);getAppends({schema:r,prefix:"",updateAssociationValues:n,appends:a,getCollectionJoinField:t,getCollection:o,dataSource:e}),a=fillParentFields(a);const l=[...a],c=[...n],u={appends:import_lodash.default.isEqual(i.current,l)?i.current:l,updateAssociationValues:c};return i.current=u.appends,u},[e,r,o,t])}};function getTargetField(e){function t(i){const n=[];function a(l){Object.keys(l).sort().forEach(function(c){n.push(c),l[c]&&typeof l[c]=="object"&&a(l[c])})}return a(i),n}const o=t(e),r=import_lodash.default.findIndex(o,(i,n)=>{if(i.includes("$")&&n>0)return!0});return o.slice(0,r)}function resetFormCorrectly(e){return V(this,null,function*(){(0,import_reactive.untracked)(()=>{Object.keys(e.fields).forEach(t=>{isSubMode(e.fields[t])&&(e.fields[t].initialValue=null)})}),yield e.reset()})}function appendQueryStringToUrl(e,t){return t?e+(e.includes("?")?"&":"?")+t:e}const useParseURLAndParams=()=>{const e=useVariables$1(),t=useLocalVariables$1();return{parseURLAndParams:(0,import_react2.useCallback)((o,r)=>V(void 0,null,function*(){const i=yield parseVariablesAndChangeParamsToQueryString({searchParams:r,variables:e,localVariables:t,replaceVariableValue}),n=yield replaceVariableValue(o,e,t);return appendQueryStringToUrl(n,i)}),[e,t])}};function useLinkActionProps(e){var t;const o=useNavigateNoUpdate(),r=(0,import_react.useFieldSchema)(),i=(r==null?void 0:r["x-component-props"])||e,{t:n}=(0,import_react_i18next.useTranslation)(),a=i==null?void 0:i.url,l=(i==null?void 0:i.params)||[],c=(i==null?void 0:i.type)||"default",u=(t=r==null?void 0:r["x-component-props"])==null?void 0:t.openInNewWindow,{parseURLAndParams:m}=useParseURLAndParams(),d=useRouterBasename();return{type:c,onClick(){return V(this,null,function*(){if(!a){import_antd.message.warning(n("Please configure the URL"));return}const p=yield m(a,l);p?u?window.open(completeURL(p),"_blank"):navigateWithinSelf(p,o,window.location.origin+d):console.error("link should be a string")})}}}function replaceVariableValue(e,t,o){return V(this,null,function*(){if(!e)return;const{evaluate:r}=import_client3.evaluators.get("string"),{exp:i,scope:n}=yield replaceVariables(e,{variables:t,localVariables:o});try{return r(i,x({now:()=>new Date().toString()},n))}catch(a){console.error(a)}})}function parseVariablesAndChangeParamsToQueryString(e){return V(this,arguments,function*({searchParams:t,variables:o,localVariables:r,replaceVariableValue:i}){const n=yield Promise.all(t.map(l=>V(this,[l],function*({name:c,value:u}){if(typeof u=="string"){if(isVariable$1(u)){const{value:d}=(yield o.parseVariable(u,r))||{};return{name:c,value:d}}const m=yield i(u,o,r);return{name:c,value:m}}return{name:c,value:u}}))),a={};for(const{name:l,value:c}of n)l&&c&&(a[l]=reduceValueSize(c));return import_qs.default.stringify(a)})}function reduceValueSize(e){if(import_lodash.default.isPlainObject(e)){const t={};return Object.keys(e).forEach(o=>{import_lodash.default.isPlainObject(e[o])||import_lodash.default.isArray(e[o])||import_lodash.default.isString(e[o])&&e[o].length>100||(t[o]=e[o])}),t}return import_lodash.default.isArray(e)?e.map(t=>import_lodash.default.isPlainObject(t)||import_lodash.default.isArray(t)?reduceValueSize(t):t):e}function completeURL(e,t=window.location.origin){return e?(0,import_client.isURL)(e)?e:e.startsWith("/")?`${t}${e}`:`${t}/${e}`:""}function navigateWithinSelf(e,t,o=window.location.origin){if(!import_lodash.default.isString(e))return console.error("link should be a string");(0,import_client.isURL)(e)?e.startsWith(o)?t(completeURL(e.replace(o,""),"")):window.open(e,"_self"):t(completeURL(e,""))}function fillParentFields(e){return Array.from(e).filter(t=>t.includes(".")).forEach(t=>{const o=t.split(".");o.pop();const r=o.join(".");e.add(r)}),e}const useSyncFromForm=(e,t,o)=>{const{getCollectionJoinField:r,getCollectionFields:i}=useCollectionManager_deprecated(),n=import_antd_v5.ArrayBase.useArray(),a=import_antd_v5.ArrayBase.useIndex(),l=import_antd_v5.ArrayBase.useRecord(),c=useCompile(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(0,import_react.useForm)(),d=(h=>(_,{exclude:f=[],depth:v=0,maxDepth:b,prefix:S="",disabled:C=!1},y)=>{const F=`${_}-${f.join(",")}-${v}-${b}-${S}`,j=h.get(F);if(j)return j;if(v>b)return[];const k=i(_).map(R=>{var N;if(f.includes(R.name)||!R.interface||["sort","password","sequence"].includes(R.type))return;const w={type:"duplicate",tag:c((N=R.uiSchema)==null?void 0:N.title)||R.name},O=P(x({},w),{title:import_react2.default.createElement(TreeNode,w),key:S?`${S}.${R.name}`:R.name,isLeaf:!0,field:R,disabled:C}),D=y.find(T=>T.name===O.key);if(["belongsTo","belongsToMany"].includes(R.type)&&(!D||["Select","Picker"].includes(D==null?void 0:D.fieldMode)))w.type="reference",O.type="reference",O.title=import_react2.default.createElement(TreeNode,P(x({},w),{type:"reference"})),O.isLeaf=!1,O.children=p(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:systemKeys});else if(["hasOne","hasMany"].includes(R.type)||["Nester","SubTable"].includes(D==null?void 0:D.fieldMode)){let T=!1;["hasOne","hasMany"].includes(R.type)&&["Select","Picker"].includes(D==null?void 0:D.fieldMode)&&(T=!0),O.disabled=!0,O.isLeaf=!1,O.children=d(R.target,{depth:v+1,maxDepth:b,prefix:O.key,exclude:["id",...systemKeys],disabled:T},y)}return O}).filter(Boolean);return h.set(F,k),k})(new import_lru_cache.default({max:100})),p=(h=>(_,{prefix:f,maxDepth:v,depth:b=0,exclude:S=[]})=>{const C=`${_}-${S.join(",")}-${b}-${v}-${f}`,y=h.get(C);if(y)return y;if(b>v)return[];const F=i(_).map(j=>{var k,R;if(!j.target||!j.interface||S.includes(j.name))return;const N={type:"preloading",tag:c((k=j.uiSchema)==null?void 0:k.title)||j.name},w=f?`${f}.${j.name}`:j.name;return{type:"preloading",tag:c((R=j.uiSchema)==null?void 0:R.title)||j.name,title:import_react2.default.createElement(TreeNode,N),key:w,isLeaf:!1,field:j,children:p(j.target,{prefix:w,depth:b+1,maxDepth:v,exclude:S})}}).filter(Boolean);return h.set(C,F),F})(new import_lru_cache.default({max:100})),g=(0,import_react2.useCallback)((h,_)=>{if(!h)return[];try{return d(h,{exclude:["id",...systemKeys],maxDepth:1,disabled:!1},_)}catch(f){return console.error(f),[]}},[]);return{run(){return V(this,null,function*(){var h;const _=new Set([]),f=new Set([]),v=(S,C)=>{var y;(y=S==null?void 0:S.reduceProperties)==null||y.call(S,(F,j)=>{var k,R,N;const w=F||C,O=j["x-collection-field"]&&r(j["x-collection-field"]),D=j.name.includes("."),T=O&&["hasOne","hasMany","belongsTo","belongsToMany"].includes(O.type),$=!T&&D?getAssociationPath(j.name):j.name,B=w===""||!w?$:w+"."+$;if(O&&!(["hasOne","hasMany"].includes(O.type)||["SubForm","Nester"].includes((k=j["x-component-props"])==null?void 0:k.mode))&&f.add(B),O&&(T||D)&&j["x-component"]!=="TableField"){if(_.add({name:B,fieldMode:((R=j["x-component-props"])==null?void 0:R.mode)||"Select"}),["Nester","SubTable"].includes((N=j["x-component-props"])==null?void 0:N.mode)){const I=w&&w!==""?w+"."+j.name:j.name;v(j,I)}}else["ActionBar","Action","Action.Link","Action.Modal","Selector","Viewer","AddNewer","AssociationField.Selector","AssociationField.AddNewer","TableField"].includes(j["x-component"])||v(j,C)},C)};v(e,"");const b=g((l==null?void 0:l.collection)||t,[..._]);o?o(b,[...f],m):(n==null||n.field.form.query(`fieldReaction.items.${a}.layout.fields`).take(S=>{S.componentProps.treeData=[],setTimeout(()=>S.componentProps.treeData=b)}),n==null||n.field.value.splice(a,1,P(x({},(h=n==null?void 0:n.field)==null?void 0:h.value[a]),{fields:[...f],treeData:b}))),import_antd.message.success(u("Sync successfully"))})}}};function SchemaSettingsBlockTitleItem(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit block title & description"),schema:{type:"object",title:n("Edit block title & description"),properties:{title:{title:n("title"),type:"string",default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.title,"x-decorator":"FormItem","x-component":"Input","x-component-props":{"aria-label":"block-title"}},description:{title:n("Description"),type:"string",default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.description,"x-decorator":"FormItem","x-component":"Markdown"}}},onSubmit:({title:a,description:l})=>{const c=r["x-component-props"]||{};c.title=a,c.description=l,r["x-component-props"]=c,o.componentProps.title=a,o.componentProps.description=l,i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}})}})}const getTargetKey=e=>(e==null?void 0:e.targetKey)||"id";function SchemaSettingsConnectDataBlocks(e){const{type:t,emptyDescription:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=useCollection(),{inProvider:l}=useFilterBlock(),c=useSupportedBlocks(t);let{targets:u=[],uid:m}=findFilterTargets(r);const d=useCompile(),{getAllCollectionsInheritChain:p}=useAllCollectionsInheritChainGetter();if(!l)return null;const g=c.map(h=>{const _=`${d(h.collection.title)} #${h.uid.slice(0,4)}`,f=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display="block"),S.style.boxShadow="0 0 10px rgba(0, 0, 0, 0.2)",S.scrollIntoView({behavior:"smooth",block:"center"})},v=()=>{const S=h.dom,C=S.querySelector(".general-schema-designer");C&&(C.style.display=null),S.style.boxShadow="none"};if(isSameCollection(h.collection,a))return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:_,checked:u.some(S=>S.uid===h.uid),onChange:S=>{S?u.push({uid:h.uid}):(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}).catch(import_client.error),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid);const b=u.find(S=>S.uid===h.uid);return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:_,value:(b==null?void 0:b.field)||"",options:[...getSupportFieldsByAssociation(p(a.name),h).map(S=>({label:d(S.uiSchema.title)||S.name,value:`${S.name}.${getTargetKey(S)}`})),...getSupportFieldsByForeignKey(a,h).map(S=>({label:`${d(S.uiSchema.title)||S.name} [${n("Foreign key")}]`,value:S.name})),{label:n("Unconnected"),value:""}],onChange:S=>{S===""?(u=u.filter(C=>C.uid!==h.uid),h.clearFilter(m)):(u=u.filter(C=>C.uid!==h.uid),u.push({uid:h.uid,field:S})),updateFilterTargets(r,u),i.emit("patch",{schema:{"x-uid":m,"x-filter-targets":u}}),i.refresh()},onMouseEnter:f,onMouseLeave:v},h.uid)});return(0,import_jsx_runtime.jsx)(SchemaSettingsSubMenu,{title:n("Connect data blocks"),children:g.length?g:(0,import_jsx_runtime.jsx)(SchemaSettingsItem,{title:"empty",children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{style:{width:160,padding:"0 1em"},description:o,image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE})})})}const UnitConversion=({unitConversionType:e})=>{const t=(0,import_react.useForm)(),{t:o}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)(import_antd.Select,{defaultValue:e||"*",style:{width:160},onChange:r=>{t.setValuesIn("unitConversionType",r)},children:[(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"*",children:o("Multiply by")}),(0,import_jsx_runtime.jsx)(import_antd.Select.Option,{value:"/",children:o("Divide by")})]})},SchemaSettingsNumberFormat=function e(t){var o;const{fieldSchema:r}=t,i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=l(r==null?void 0:r["x-collection-field"])||{},{formatStyle:u,unitConversion:m,unitConversionType:d,separator:p,step:g,addonBefore:h,addonAfter:_}=r["x-component-props"]||{},{step:f}=((o=c==null?void 0:c.uiSchema)==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Format"),schema:{type:"object",properties:{formatStyle:{type:"string",default:u||"normal",enum:[{value:"normal",label:a("Normal")},{value:"scientifix",label:a("Scientifix notation")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Style')}}"},unitConversion:{type:"number","x-decorator":"FormItem","x-component":"InputNumber",title:"{{t('Unit conversion')}}",default:m,"x-component-props":{style:{width:"100%"},addonBefore:(0,import_jsx_runtime.jsx)(UnitConversion,{unitConversionType:d})}},separator:{type:"string",default:p||"0,0.00",enum:[{value:"0,0.00",label:a("100,000.00")},{value:"0.0,00",label:a("100.000,00")},{value:"0 0,00",label:a("100 000.00")},{value:"0.00",label:a("100000.00")}],"x-decorator":"FormItem","x-component":"Select",title:"{{t('Separator')}}"},step:{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",default:g||f||"1",enum:[{value:"1",label:"1"},{value:"0.1",label:"1.0"},{value:"0.01",label:"1.00"},{value:"0.001",label:"1.000"},{value:"0.0001",label:"1.0000"},{value:"0.00001",label:"1.00000"},{value:"0.000001",label:"1.000000"},{value:"0.0000001",label:"1.0000000"},{value:"0.00000001",label:"1.00000000"}]},addonBefore:{type:"string",title:'{{t("Prefix")}}',"x-component":"Input","x-decorator":"FormItem",default:h},addonAfter:{type:"string",title:'{{t("Suffix")}}',"x-component":"Input","x-decorator":"FormItem",default:_}}},onSubmit:v=>{const b={"x-uid":r["x-uid"]};b["x-component-props"]=r["x-component-props"]||{},r["x-component-props"]=x(x({},r["x-component-props"]||{}),v),b["x-component-props"]=r["x-component-props"],i.componentProps=r["x-component-props"];const S=i.path.entire.split(".");S.pop();const C=S.join(".");i.query(`${C}.*[0:].${r.name}`).forEach(y=>{y.props.name===r.name&&y.setComponentProps(x({},v))}),n.emit("patch",{schema:b}),n.refresh()}})},DraggableContext=(0,import_react2.createContext)(null);DraggableContext.displayName="DraggableContext";const SortableContext=(0,import_react2.createContext)(null);SortableContext.displayName="SortableContext";const SortableProvider=e=>{const{id:t,data:o,children:r}=e,i=(0,import_core2.useDraggable)({id:t,data:o}),n=(0,import_core2.useDroppable)({id:t,data:o}),a=(0,import_react2.useMemo)(()=>({draggable:i,droppable:n}),[i,n]);return(0,import_jsx_runtime.jsx)(SortableContext.Provider,{value:a,children:r})},getComputedColor=e=>new import_tinycolor.TinyColor(e).setAlpha(.15).toHex8String(),Sortable=e=>{var t,o;const r=e,{component:i,overStyle:n,style:a,children:l,openMode:c}=r,u=Y(r,["component","overStyle","style","children","openMode"]),{token:m}=useToken$1(),{draggable:d,droppable:p}=(0,import_react2.useContext)(SortableContext),{isOver:g,setNodeRef:h}=p,_=x({},a),f=(0,import_react.useFieldSchema)(),v=(f==null?void 0:f["x-component"])==="Action.Link"||i==="a";return g&&((t=d==null?void 0:d.active)==null?void 0:t.id)!==((o=p==null?void 0:p.over)==null?void 0:o.id)&&(_[v?"color":"background"]=getComputedColor(m.colorSettings),Object.assign(_,n)),import_react2.default.createElement(i||"div",P(x({role:"none"},u),{className:(0,import_css.cx)("nb-sortable-designer",e.className),ref:h,style:_,setNodeRef:h}),l)},useSortableItemProps=e=>{const t=useSortableItemId(e),o=(0,import_react.useFieldSchema)();return e.schema?P(x({},e),{id:t}):P(x({},e),{id:t,schema:o})},useSortableItemId=e=>{var t;const o=(0,import_react.useField)();return e.id?e.id:(t=o.address)==null?void 0:t.toString()},InternalSortableItem=(0,import_react.observer)(e=>{const t=useSortableItemProps(e),{schema:o,id:r,eid:i,removeParentsIfNoChildren:n}=t,a=Y(t,["schema","id","eid","removeParentsIfNoChildren"]),l=(0,import_react2.useMemo)(()=>({insertAdjacent:"afterEnd",schema:o,removeParentsIfNoChildren:n??!0}),[o,n]);return(0,import_jsx_runtime.jsx)(SortableProvider,{id:r,data:l,children:(0,import_jsx_runtime.jsx)(Sortable,P(x({id:i},a),{children:e.children}))})},{displayName:"InternalSortableItem"}),SortableItem=import_react2.default.memo(e=>{const t=e,{component:o}=t,r=Y(t,["component"]),{designable:i}=useDesignable();return i?(0,import_jsx_runtime.jsx)(InternalSortableItem,x({},e)):import_react2.default.createElement(o||"div",import_lodash.default.omit(r,["children","schema","overStyle","openMode","id","eid","removeParentsIfNoChildren"]),e.children)});SortableItem.displayName="SortableItem";const DragHandler=e=>{const{draggable:t}=(0,import_react2.useContext)(SortableContext)||{};if(!t)return null;const{attributes:o,listeners:r,setNodeRef:i}=t;return(0,import_jsx_runtime.jsx)("div",{style:{display:"inline-block",width:14,height:14,lineHeight:"14px",textAlign:"left"},children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:i,style:{position:"relative",zIndex:1,lineHeight:0,fontSize:0,display:"inline-block"}},r),o),{role:"none",children:(0,import_jsx_runtime.jsx)("span",{style:{cursor:"move",fontSize:14},children:e.children})}))})},ShowFormData=(0,import_react.observer)(({children:e})=>{const t=(0,import_react.useForm)();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("pre",{style:{marginBottom:20},"data-testid":"form-data",children:JSON.stringify(t.values,null,2)}),e]})}),common=Object.freeze(Object.defineProperty({__proto__:null,DndContext,DragHandler,DraggableContext,ShowFormData,Sortable,SortableContext,SortableItem,SortableProvider,getRenderContent},Symbol.toStringTag,{value:"Module"})),useStyles$9=genStyleHook("nb-block-item",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-form-item:hover":{"> .general-schema-designer":{background:"var(--colorBgSettingsHover) !important",border:"0 !important",top:"-5px !important",bottom:"-5px !important",left:"-5px !important",right:"-5px !important"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:0,bottom:0,left:0,right:0,display:"none",border:"2px solid var(--colorBorderSettingsHover)",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:"var(--colorSettings)",color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-card":{borderRadius:e.borderRadiusBlock}}}}),useGetAriaLabelOfBlockItem=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:n==null?void 0:n.displayName,l=i(r["x-collection-field"]);let{name:c}=useBlockContext()||{},{name:u,getField:m}=useCollection_deprecated();c=e||c;const d=i(r.title)||i((o=(t=m(r.name))==null?void 0:t.uiSchema)==null?void 0:o.title);return{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",["block-item",a,u,c,l,d,p].filter(Boolean).join("-")),[a,u,c,l,d])}},BlockItem=withDynamicSchemaProps(e=>{const{className:t,children:o,style:r}=useProps(e),{componentCls:i,hashId:n}=useStyles$9(),a=(0,import_react.useFieldSchema)(),{render:l}=useSchemaToolbarRender(a),{getAriaLabel:c}=useGetAriaLabelOfBlockItem(e.name),u=(0,import_react2.useMemo)(()=>c(),[c]);return(0,import_jsx_runtime.jsxs)(SortableItem,{role:"button","aria-label":u,className:(0,import_classnames.default)("nb-block-item",t,i,n),style:r,children:[l(),(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:console.log,children:o})]})},{displayName:"BlockItem"}),TestDesigner=()=>{const{remove:e}=useDesignable();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)("a",{onClick:()=>{e()},children:"删除"}),(0,import_jsx_runtime.jsx)(DragHandler,{})]})},FilterFormDesigner=()=>(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FilterFormItemSettings"}),useOperatorList=()=>{const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>{var i,n,a,l,c;const u=(i=e["x-designer-props"])==null?void 0:i.interface,m=o(t);if(u)return((a=(n=r(u))==null?void 0:n.filterable)==null?void 0:a.operators)||[];const d=m.find(p=>p.name===e.name);return(((c=(l=r(d==null?void 0:d.interface))==null?void 0:l.filterable)==null?void 0:c.operators)||[]).filter(p=>typeof p.visible!="function"||p.visible(d))},[e.name])},EditTitle=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=useCompile(),c=o(i.name)||t(i["x-collection-field"]);return c?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit field title"),schema:{type:"object",title:n("Edit field title"),properties:{title:{title:n("Field title"),default:r==null?void 0:r.title,description:`${n("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:u})=>{var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=l(d),i.title=u,a.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),a.refresh()}},"edit-field-title"):null},EditDescription=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return e.readPretty?null:(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Edit description"),schema:{type:"object",title:o("Edit description"),properties:{description:{default:e==null?void 0:e.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({description:i})=>{e.description=i,t.description=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],description:t.description}}),r.refresh()}},"edit-description")},EditTooltip=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return t.readPretty?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit tooltip"),schema:{type:"object",title:r("Edit description"),properties:{tooltip:{default:(e=o==null?void 0:o["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit:({tooltip:n})=>{t.decoratorProps.tooltip=n,o["x-decorator-props"]=o["x-decorator-props"]||{},o["x-decorator-props"].tooltip=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"edit-tooltip"):null},EditRequired=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r,refresh:i}=useDesignable();return!e.readPretty&&t["x-component"]!=="FormField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Required"),checked:t.required,onChange:n=>{const a={"x-uid":t["x-uid"]};e.required=n,t.required=n,a.required=n,r.emit("patch",{schema:a}),i()}},"required"):null},EditValidationRules=()=>{var e;const{getInterface:t,getCollectionJoinField:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c,refresh:u}=useDesignable(),m=r(a.name)||o(a["x-collection-field"]),d=t(m==null?void 0:m.interface),p=(e=d==null?void 0:d.validateSchema)==null?void 0:e.call(d,a),g=h=>h!=null&&!Number.isNaN(h);return i&&!(i!=null&&i.readPretty)&&p?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:l("Set validation rules"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:l("Set validation rules"),properties:{rules:{type:"array",default:a==null?void 0:a["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:'{{ t("Validation rule") }}'},properties:{index:{type:"void","x-component":"ArrayCollapse.Index"},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},p),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit:h=>{var _;const f=[];for(const S of h.rules)f.push(import_lodash.default.pickBy(S,g));const v={"x-uid":a["x-uid"]};if(["percent"].includes(m==null?void 0:m.interface))for(const S of f)(S.maxValue||S.minValue)&&(S.percentMode=!0),S.percentFormat&&(S.percentFormats=!0);const b=import_lodash.default.concat([],((_=m==null?void 0:m.uiSchema)==null?void 0:_["x-validator"])||[],f);n.validator=b,n.required=a.required,a["x-validator"]=f,v["x-validator"]=f,c.emit("patch",{schema:v}),u()}}):null},EditDefaultValue=()=>{var e;const{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l,refresh:c}=useDesignable(),u=o(n.name)||t(n["x-collection-field"]);return r&&!(r!=null&&r.readPretty)&&(e=u==null?void 0:u.uiSchema)!=null&&e.type?(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a("Set default value"),components:{ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:a("Set default value"),properties:{default:P(x({},u==null?void 0:u.uiSchema),{name:"default",title:a("Default value"),"x-decorator":"FormItem",default:n.default||(u==null?void 0:u.defaultValue)})}},onSubmit:m=>{const d={"x-uid":n["x-uid"]};i.value!==m.default&&(i.value=m.default),n.default=m.default,d.default=m.default,l.emit("patch",{schema:d}),c()}}):null},EditComponent=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),{getField:r}=useCollection_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=r(n.name)||t(n["x-collection-field"]),u=useFieldModeOptions(),m=["belongsTo","hasOne","hasMany","belongsToMany"].includes(c==null?void 0:c.type),d=o(c==null?void 0:c.target),p=isFileCollection(d);return m&&u?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:a("Field component"),options:u,value:((e=i==null?void 0:i.componentProps)==null?void 0:e.mode)||(p?"FileManager":"Select"),onChange:g=>{const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=g,h["x-component-props"]=n["x-component-props"],i.componentProps=i.componentProps||{},i.componentProps.mode=g,l.emit("patch",{schema:h}),l.refresh()}},"field-mode"):null},EditPattern=()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),{form:o}=useFormBlockContext(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable(),l=t(i.name)||e(i["x-collection-field"]);let c="editable";return i["x-disabled"]===!0&&(c="readonly"),i["x-read-pretty"]===!0&&(c="read-pretty"),o&&!(o!=null&&o.readPretty)&&(l==null?void 0:l.interface)!=="o2m"&&!isPatternDisabled(i)?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:n("Pattern"),options:[{label:n("Editable"),value:"editable"},{label:n("Readonly"),value:"readonly"},{label:n("Easy-reading"),value:"read-pretty"}],value:c,onChange:u=>{const m={"x-uid":i["x-uid"]};switch(u){case"readonly":{i["x-read-pretty"]=!1,i["x-disabled"]=!0,m["x-read-pretty"]=!1,m["x-disabled"]=!0,r.readPretty=!1,r.disabled=!0;break}case"read-pretty":{i["x-read-pretty"]=!0,i["x-disabled"]=!1,m["x-read-pretty"]=!0,m["x-disabled"]=!1,r.readPretty=!0;break}default:{i["x-read-pretty"]=!1,i["x-disabled"]=!1,m["x-read-pretty"]=!1,m["x-disabled"]=!1,r.readPretty=!1,r.disabled=!1;break}}a.emit("patch",{schema:m}),a.refresh()}},"pattern"):null},useEnsureOperatorsValid=()=>{useCollectOperator();const e=(0,import_react.useFieldSchema)(),t=useOperatorList(),{getOperators:o,collectOperator:r}=useOperators(),i=o();i&&t.length&&!i[e.name]&&r(e.name,t[0].value)},EditOperator=()=>{const e=useCompile(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useOperatorList(),{getOperator:a,collectOperator:l}=useOperators();return n.length&&!a(t.name)&&l(t.name,n[0].value),n.length?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Operator"),value:a(t.name),options:e(n),onChange:c=>{var u,m,d,p,g,h;l(t.name,c),import_lodash.default.set(t,"x-filter-operator",c);const _=n.find(v=>v.value===c);let f=x({},t["x-component-props"]);o.value=void 0,(u=_==null?void 0:_.schema)!=null&&u["x-component"]&&!(_!=null&&_.onlyFilterAction)?(import_lodash.default.set(t,"x-component-props.component",(m=_.schema)==null?void 0:m["x-component"]),import_lodash.default.set(o,"componentProps.component",(d=_.schema)==null?void 0:d["x-component"]),f=x(x(P(x({},t["x-component-props"]),{component:_.schema["x-component"]}),o.componentProps),(p=_.schema)==null?void 0:p["x-component-props"])):(g=t["x-component-props"])!=null&&g.component&&(import_lodash.default.set(t,"x-component-props.component",null),import_lodash.default.set(o,"componentProps.component",null),f=x(P(x({},t["x-component-props"]),{component:null}),(h=_.schema)==null?void 0:h["x-component-props"])),o.componentProps=f,t["x-component-props"]=f,t.default=null,o.value=null,o.initialValue=null,i.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":f,"x-filter-operator":c,default:null}}),i.refresh()}},"operator"):null},EditTitleField=()=>{var e,t,o;const{getCollectionFields:r,getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{t:c}=(0,import_react_i18next.useTranslation)(),{dn:u}=useDesignable(),m=useCompile(),d=n(l.name)||i(l["x-collection-field"]),p=(d!=null&&d.target?r(d==null?void 0:d.target):(e=r(d==null?void 0:d.targetCollection))!=null?e:[]).filter(g=>!(g!=null&&g.target)&&g.type!=="boolean").map(g=>{var h;return{value:g==null?void 0:g.name,label:m((h=g==null?void 0:g.uiSchema)==null?void 0:h.title)||(g==null?void 0:g.name)}});return p.length>0&&l["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:c("Title field"),options:p,value:(o=(t=a==null?void 0:a.componentProps)==null?void 0:t.fieldNames)==null?void 0:o.label,onChange:g=>{var h,_;const f={"x-uid":l["x-uid"]},v=P(x(x({},(_=(h=d==null?void 0:d.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:_.fieldNames),a.componentProps.fieldNames),{label:g});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=v,f["x-component-props"]=l["x-component-props"],a.componentProps.fieldNames=l["x-component-props"].fieldNames,u.emit("patch",{schema:f}),u.refresh()}},"title-field"):null},isDisplayField=e=>e.includes("."),useLazyLoadDisplayAssociationFieldsOfForm=()=>{var e;const{name:t}=useCollection_deprecated(),{getCollectionJoinField:o}=useCollectionManager_deprecated(),r=(0,import_react.useForm)(),i=(0,import_react.useFieldSchema)(),n=useVariables$1(),a=(0,import_react.useField)(),{formValue:l}=useSubFormValue(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},{getAssociationAppends:m}=useAssociationNames(),d=i.name.toString(),p=(0,import_react2.useRef)(null),g=(0,import_react2.useRef)(null);p.current==null&&isDisplayField(d)&&(p.current=o(`${t}.${d}`)),g.current==null&&isDisplayField(d)&&(g.current=o(`${t}.${d.split(".")[0]}`));const h=(0,import_react2.useMemo)(()=>!isDisplayField(d)||!n||t==="fields"||!p.current,[d,n,t,p.current]),_=h?{}:(0,import_reactive.untracked)(()=>import_lodash.default.cloneDeep(c||u?l:r.values)),f=isDisplayField(d)&&g.current?import_lodash.default.get(_,`${d.split(".")[0]}.${((e=g.current)==null?void 0:e.targetKey)||"id"}`):void 0;(0,import_react2.useEffect)(()=>{if(h||import_lodash.default.isEmpty(_))return;const v={name:"$nForm",ctx:_,collectionName:t},b=`{{ $nForm.${d} }}`;if(f==null)return;const{appends:S}=m();n.parseVariable(b,v,{appends:S}).then(({value:C})=>{(0,import_client.nextTick)(()=>{const y=transformVariableValue(C,{targetCollectionField:p.current});import_lodash.default.isEmpty(y)&&!import_lodash.default.isNumber(y)?a.value=null:(a.value=y,a.componentProps=P(x({},a.componentProps),{readOnlySubmit:!0}))})}).catch(C=>{console.error(C)})},[f,h])};function forEachLinkageRule(e,t){e.forEach(o=>{var r;(r=o.actions)==null||r.forEach(i=>{t(i,o)})})}const useContextVariable=()=>{var e,t;let o;const{isPopupVisibleControlledByURL:r}=usePopupSettings(),{params:i}=useCurrentPopupContext(),n=useCollection(),a=useDataBlockRequestData(),l=useTableBlockContextBasicValue()||{};r()?o=(e=getStoredPopupContext(i==null?void 0:i.popupuid))==null?void 0:e.tableBlockContext:o=P(x({},l),{collection:n,blockData:a});const{field:c,blockData:u,rowKey:m,collection:d}=o||{},p=(0,import_react2.useMemo)(()=>{var g,h;return(h=(g=u==null?void 0:u.data)==null?void 0:g.filter)==null?void 0:h.call(g,_=>{var f,v;return(v=((f=c==null?void 0:c.data)==null?void 0:f.selectedRowKeys)||[])==null?void 0:v.includes(_[m])})},[(t=c==null?void 0:c.data)==null?void 0:t.selectedRowKeys,m,u]);return(0,import_react2.useMemo)(()=>({name:"$context",ctx:p||[],collectionName:d}),[d,p])},useLocalVariables=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:g,defaultValue:h}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:b}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:C}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:C||a,collectionName:j},{name:"$form",ctx:C,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:g,defaultValue:h},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:b},{name:"$nForm",ctx:C,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,C,c,u,m,d,_,p,g,S,n,i,y,h,b,o,t,r,F])},useLocalVariables$1=useLocalVariables,useVariables=()=>(0,import_react2.useContext)(VariablesContext),useVariables$1=useVariables,isSubFormOrSubTableField=e=>{for(;e;){if(isSubMode(e))return!0;if(e["x-component"]==="FormV2")return!1;e=e.parent}return!1},useLinkageRulesForSubTableOrSubForm=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{fieldSchema:o,formValue:r}=useSubFormValue(),i=useLocalVariables$1(),n=useVariables$1(),a=getLinkageRules$1(o),l=useApp();(0,import_react2.useEffect)(()=>{if(!isSubFormOrSubTableField(e))return;if(!t.onUnmount.__rested){const u=t.onUnmount;t.onUnmount=()=>{var m;(m=t.__disposes)==null||m.forEach(d=>{d()}),u()},t.onUnmount.__rested=!0}if(!a)return;t.__disposes&&t.__disposes.forEach(u=>{u()});const c=t.__disposes=[];forEachLinkageRule(a,(u,m)=>{var d;(d=u.targetFields)!=null&&d.includes(e.name)&&c.push(bindLinkageRulesToFiled({field:t,linkageRules:a,formValues:r,localVariables:i,action:u,rule:m,variables:n,variableNameOfLeftCondition:"$iteration"},l.jsonLogic))}),t.__linkageRules=a},[t,e==null?void 0:e.name,r,JSON.stringify(a),i,n])};function getLinkageRules$1(e){var t;if(!e)return;const o=e["x-linkage-rules"]||((t=e==null?void 0:e.parent)==null?void 0:t["x-linkage-rules"])||[];return o==null?void 0:o.filter(r=>!r.disabled)}const useParseDefaultValue=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useVariables$1(),r=useLocalVariables$1(),i=useCollectionRecord(),{isInAssignFieldValues:n,isInSetDefaultValueDialog:a,isInFormDataTemplate:l,isInSubTable:c,isInSubForm:u}=useFlag()||{},m=useCollection(),{isSpecialCase:d,setDefaultValue:p}=useSpecialCase(),g=useRecordIndex(),{type:h,form:_}=useFormBlockContext(),{getOperator:f}=useOperators(),v=useDataSourceManager(),b=(0,import_react2.useCallback)(S=>{let C=o==null?void 0:o.getVariable(S);return C||(C=r.find(y=>y.name===S)),C},[r,o]);(0,import_react2.useEffect)(()=>{var S,C;if(h==="update"&&t.default&&e.form===_&&((C=e.setValue)==null||C.call(e,(S=i==null?void 0:i.data)==null?void 0:S[t.name])),t.default==null||a||l||isSubMode(t)||!(i!=null&&i.isNew)&&!n)return;const y=(...j)=>V(void 0,[...j],function*({forceUpdate:k=!1}={}){if(o&&e&&(isVariable$1(t.default)&&e.value==null||e.value===t.default||k)){e.loading=!0;const R=!t.name.toString().includes(".")&&(m==null?void 0:m.getField(t.name)),{value:N,collectionName:w,dataSource:O="main"}=yield o.parseVariable(t.default,r,{fieldOperator:f(t.name)});if(R!=null&&R.target&&w&&R.target!==w&&!isInherit({collectionName:R.target,targetCollectionName:w,dm:v,dataSource:O})){e.loading=!1;return}const D=transformVariableValue(N,{targetCollectionField:R});D==null||D===""?e.mounted&&(e.setInitialValue(null),yield e.reset({forceClear:!0})):d()?g===0&&p(D):e.setInitialValue(D),e.loading=!1}else!/\{\{.+\}\}/g.test(t.default)&&e.setInitialValue&&e.setInitialValue(t.default)}),F=import_lodash.default.debounce(y,DEBOUNCE_WAIT);if(isVariable$1(t.default)){const j=getVariableName(t.default),k=b(j);return k?(y(),(0,import_reactive.reaction)(()=>{const R={[j]:(k==null?void 0:k.ctx)||{}},N=getPath(t.default),w=(0,import_client.getValuesByPath)(R,N);return w===void 0?Math.random():w},()=>F({forceUpdate:!0}),{equals:import_lodash.default.isEqual})):console.error(`useParseDefaultValue: can not find variable ${j}`)}else e.value==null&&(c||u)&&e.setValue(t.default)},[t.default,r,h,f,v,m])},isInherit=({collectionName:e,targetCollectionName:t,dm:o,dataSource:r})=>{var i,n,a;const l=(i=o==null?void 0:o.getDataSource(r))==null?void 0:i.collectionManager;return(a=(n=l==null?void 0:l.getCollection(e))==null?void 0:n.getAllCollectionsInheritChain())==null?void 0:a.includes(t)};import_antd_v5.FormItem.displayName="FormilyFormItem";const formItemWrapCss=import_css.css`
621
621
  & .ant-space {
622
622
  flex-wrap: wrap;
623
623
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/client",
3
- "version": "1.6.26",
3
+ "version": "1.6.27",
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.26",
31
- "@nocobase/sdk": "1.6.26",
32
- "@nocobase/utils": "1.6.26",
30
+ "@nocobase/evaluators": "1.6.27",
31
+ "@nocobase/sdk": "1.6.27",
32
+ "@nocobase/utils": "1.6.27",
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": "dc7085b4f453983c6398a5b33011a8fb6dfc59ae"
85
+ "gitHead": "ec32854b338d799b52278829261355b756e577b5"
86
86
  }