@nocobase/client 1.6.0-alpha.21 → 1.6.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.mjs CHANGED
@@ -9706,7 +9706,7 @@ function addAppVersion(e, t) {
9706
9706
  addAppVersion((n = e.properties) == null ? void 0 : n[o], t);
9707
9707
  }), e;
9708
9708
  }
9709
- const name = "@nocobase/client", version = "1.6.0-alpha.21", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9709
+ const name = "@nocobase/client", version = "1.6.0-alpha.23", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
9710
9710
  "@ahooksjs/use-url-state": "3.5.1",
9711
9711
  "@ant-design/cssinjs": "^1.11.1",
9712
9712
  "@ant-design/icons": "^5.1.4",
@@ -9728,9 +9728,9 @@ const name = "@nocobase/client", version = "1.6.0-alpha.21", license = "AGPL-3.0
9728
9728
  "@formily/reactive-react": "^2.2.27",
9729
9729
  "@formily/shared": "^2.2.27",
9730
9730
  "@formily/validator": "^2.2.27",
9731
- "@nocobase/evaluators": "1.6.0-alpha.21",
9732
- "@nocobase/sdk": "1.6.0-alpha.21",
9733
- "@nocobase/utils": "1.6.0-alpha.21",
9731
+ "@nocobase/evaluators": "1.6.0-alpha.23",
9732
+ "@nocobase/sdk": "1.6.0-alpha.23",
9733
+ "@nocobase/utils": "1.6.0-alpha.23",
9734
9734
  ahooks: "^3.7.2",
9735
9735
  antd: "5.12.8",
9736
9736
  "antd-style": "3.7.1",
@@ -19426,7 +19426,7 @@ const ParentCollectionProvider = (e) => {
19426
19426
  return r ? /* @__PURE__ */ jsx(CollectionProvider, { name: String(t).split(".")[0], children: /* @__PURE__ */ jsx(ParentCollectionProvider, { children: /* @__PURE__ */ jsx(CollectionFieldProvider, { name: t, children: /* @__PURE__ */ jsx(CollectionProvider, { name: r, children: o }) }) }) }) : /* @__PURE__ */ jsx(CollectionDeletedPlaceholder, { type: "Collection", name: t });
19427
19427
  }, useAssociationName = () => {
19428
19428
  const e = useCollectionField();
19429
- return e && ["belongsToMany", "belongsTo", "hasMany", "hasOne"].includes(e.type) ? `${e.collectionName}.${e.name}` : null;
19429
+ return e != null && e.target ? `${e.collectionName}.${e.name}` : null;
19430
19430
  }, useCurrentParentRecordContext = () => {
19431
19431
  var c, u;
19432
19432
  const e = useCollectionRecord(), { name: t, dataSource: o } = useParentCollection() || {}, n = useCollection(), { isInSubForm: r, isInSubTable: i } = useFlag() || {}, a = t ? o : n == null ? void 0 : n.dataSource, l = useCollectionField();
@@ -35011,7 +35011,8 @@ const tableBlockSettings = new SchemaSettings({
35011
35011
  name: "allowSelectExistingRecord",
35012
35012
  type: "switch",
35013
35013
  useVisible() {
35014
- return !useIsFieldReadPretty();
35014
+ const e = useFieldSchema(), { multiple: t } = e["x-component-props"], o = useIsFieldReadPretty(), n = useCollectionField();
35015
+ return !o && t !== !1 && ["hasMany", "belongsToMany"].includes(n == null ? void 0 : n.type);
35015
35016
  },
35016
35017
  useComponentProps() {
35017
35018
  var i;
@@ -42516,7 +42517,7 @@ const CreateRecordAction$1 = forwardRef(InternalCreateRecordAction), initializer
42516
42517
  ] })
42517
42518
  }
42518
42519
  ),
42519
- n.editable && l && a === "Nester" && /* @__PURE__ */ jsx(
42520
+ n.editable && l && a === "Nester" && r && /* @__PURE__ */ jsx(
42520
42521
  Action.Link,
42521
42522
  {
42522
42523
  useAction: F,
package/lib/index.js CHANGED
@@ -56,7 +56,7 @@
56
56
  width: 100%;
57
57
  }
58
58
  }
59
- `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=K(o,["children","items","title","name","onOpenChange","icon"]),d=useCompile(),m=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(m==null?void 0:m.name)||(0,import_shared.uid)(),[a,m]),g=(t=i||r)==null?void 0:t.filter(_=>_.useVisible?_.useVisible():!0),h=useSchemaInitializerMenuItems(g,a),f=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:d(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:h})],[h,d,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:f})},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:()=>E(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=K(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=K(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)(()=>E(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(),d=useRecord(),m=a==null?void 0:a.action,p={};m==="get"&&(p.filterByTk=d[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,S=>S.target).map(S=>S.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),f=u.resource(a.resource),_=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:f,collection:n}),[n,f]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,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(),d=useRecord()[n.sourceKey],m=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:d},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,_=>_.target).map(_=>_.name))||[],...m]})}),{uid:l}),g=u.resource(a.resource,d),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),f=(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:f,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 E(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 E(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 E(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 E(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:d}=useCollectionManager_deprecated(),m=d(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,f;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(f=(h=m==null?void 0:m.fields)==null?void 0:h.filter(_=>_.target))==null?void 0:f.map(_=>_.name)}}).then(_=>_.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:m,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$5={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$5,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.0-alpha.21",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.1.4","@ant-design/pro-layout":"^7.16.11","@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.0-alpha.21","@nocobase/sdk":"1.6.0-alpha.21","@nocobase/utils":"1.6.0-alpha.21",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",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=>E(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:d,removed:m}){var p;let g=[];if((d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),(m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.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})),m!=null&&m["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${m["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=>E(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=>E(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=>E(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=>E(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 E(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,d=0;this.current.parent.mapProperties((f,_)=>{_===this.current.name&&(d=u,c=!0,++u),f["x-index"]=u,++u,c&&(l[_]=f,this.current.parent.removeProperty(_))}),this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p["x-index"]=d,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:m,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),d=this.current.addProperty(u.name||(0,import_shared.uid)(),u);d["x-index"]=0,d.parent=this.current,this.current.setProperties(l);const[m,p]=splitWrapSchema(d,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:m,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,d]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:d,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 d={};if(this.current.parent.mapProperties((f,_)=>{f["x-index"]=l,_===this.current.name&&(++l,c=l,u=!0),++l,u&&_!==this.current.name&&(d[_]=f,this.current.parent.removeProperty(_))}),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 m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(d);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,wrapped:m},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(),d=(0,import_react2.useCallback)(_=>{o==null||o(),l(),c==null||c(_),u==null||u()},[o,l,c,u]),m=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),f=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:d,current:p,model:m,appVersion:clientPkg.version}),[h,g,d,p,m]);return(0,import_react2.useEffect)(()=>{f.loadAPIClientEvents()},[f]),{dn:f,designable:e,reset:r,refresh:d,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(_=>{var v;if(!_)return null;if(typeof _!="string")return _;const S=(0,import_get.default)(n,_);return(v=S[LAZY_COMPONENT_KEY])!=null?v:S},[import_get.default]),on:f.on.bind(f),patch:(0,import_react2.useCallback)((_,v)=>{const S=b=>{Object.keys(b).forEach(C=>{const y=b[C];C==="title"&&(m.title=y,p.title=y),C==="x-decorator-props"&&(m.decoratorProps||(m.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{m.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(m.componentProps||(m.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{m.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof _=="string"){const b={};return(0,import_set.default)(b,_,v),S(b)}S(_),d()},[f]),shallowMerge:(0,import_react2.useCallback)(_=>{f.shallowMerge(_)},[f]),deepMerge:(0,import_react2.useCallback)(_=>{f.deepMerge(_)},[f]),remove:(0,import_react2.useCallback)((_,v)=>{f.remove(_,v)},[f]),insertAdjacent:(0,import_react2.useCallback)((_,v,S)=>{f.insertAdjacent(_,v,S)},[f]),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=K(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=()=>E(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 d=getVariableName(u),m=o(d);let p=null;const g=getPath(u).split(".");return g.forEach((h,f)=>{const _=g.slice(0,f+1).join("."),v=(0,import_client.getValuesByPath)({[d]:(m==null?void 0:m.ctx)||{}},_);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{const{params:t,parseVariableLoading:o}=useTableBlockParams(e),r=useParentRecordCommon(e.association);return{params:t,parentRecord:r,parseVariableLoading:o}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1);return!c.current&&l?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign].includes(e):return o(t);default:return null}},getSatisfiedActions=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield Promise.all(t.filter(i=>!i.disabled).map(i=>E(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:i.condition,variables:o,localVariables:r}))?i:null})))).filter(Boolean).map(i=>i.actions).flat()}),getSatisfiedValues=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield getSatisfiedActions({rules:t,variables:o,localVariables:r})).map(i=>P(x({},i),{value:getActionValue(i.operator,i.value)}))}),getSatisfiedValueMap=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield getSatisfiedValues({rules:t,variables:o,localVariables:r})).reduce((i,n)=>P(x({},i),{[n.operator]:n.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}}),d=r??l,m=o??d[LinkageRuleDataKeyMap[t]],p=(0,import_react2.useCallback)(()=>{m&&e&&getSatisfiedValueMap({rules:m,variables:c,localVariables:u}).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,m,e]);return(0,import_react2.useEffect)(()=>{if(p(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{p()})}),()=>{i.removeEffects(g)}}},[i,p]),{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,d;const{action:m="list",service:p,useOriginalFilter:g}=e,h=(0,import_react.useFieldSchema)(),f=(0,import_react.useField)(),{getField:_}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),S=useRecord(),b=((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=f.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)||((d=p==null?void 0:p.params)==null?void 0:d.filter),{filter:C}=useParsedFilter({filterOption:b}),y=(0,import_react2.useMemo)(()=>_(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=S==null?void 0:S[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const I=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([I&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),I&&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:m},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,m,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`
59
+ `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=K(o,["children","items","title","name","onOpenChange","icon"]),d=useCompile(),m=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(m==null?void 0:m.name)||(0,import_shared.uid)(),[a,m]),g=(t=i||r)==null?void 0:t.filter(_=>_.useVisible?_.useVisible():!0),h=useSchemaInitializerMenuItems(g,a),f=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:d(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:h})],[h,d,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:f})},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:()=>E(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=K(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=K(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)(()=>E(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(),d=useRecord(),m=a==null?void 0:a.action,p={};m==="get"&&(p.filterByTk=d[n.targetKey||n.filterTargetKey||"id"]);const g=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],h=useRequest(P(x({},a),{params:P(x(x({},p),a==null?void 0:a.params),{appends:[...((r=(o=n==null?void 0:n.fields)==null?void 0:o.filter)==null?void 0:r.call(o,S=>S.target).map(S=>S.name))||[],...g],sort:c?[n.sortable===!0?"sort":n.sortable]:(i=a==null?void 0:a.params)==null?void 0:i.sort})}),{uid:l}),f=u.resource(a.resource),_=(0,import_react2.useMemo)(()=>P(x({},h),{defaultRequest:a,dragSort:c}),[c,a,h]),v=(0,import_react2.useMemo)(()=>({type:"collection",resource:f,collection:n}),[n,f]);return(0,import_jsx_runtime.jsx)(ResourceContext.Provider,{value:v,children:(0,import_jsx_runtime.jsx)(ResourceActionContext.Provider,{value:_,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(),d=useRecord()[n.sourceKey],m=((t=a==null?void 0:a.params)==null?void 0:t.appends)||[],p=useRequest(P(x({resourceOf:d},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,_=>_.target).map(_=>_.name))||[],...m]})}),{uid:l}),g=u.resource(a.resource,d),h=(0,import_react2.useMemo)(()=>({type:"association",resource:g,association:n,collection:i}),[n,i,g]),f=(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:f,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 E(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 E(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 E(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 E(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:d}=useCollectionManager_deprecated(),m=d(o),p=c==null?void 0:c[r.targetKey||"id"],g=useRequest(()=>{var h,f;return p?u.request({resource:`${r.collectionName}.${r.name}`,resourceOf:p,action:"list",params:{appends:(f=(h=m==null?void 0:m.fields)==null?void 0:h.filter(_=>_.target))==null?void 0:f.map(_=>_.name)}}).then(_=>_.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:m,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$5={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$5,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.0-alpha.23",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.1.4","@ant-design/pro-layout":"^7.16.11","@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.0-alpha.23","@nocobase/sdk":"1.6.0-alpha.23","@nocobase/utils":"1.6.0-alpha.23",ahooks:"^3.7.2",antd:"5.12.8","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",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=>E(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:d,removed:m}){var p;let g=[];if((d==null?void 0:d["x-component"])==="Grid.Col"&&(g=g.concat(r(d.parent))),(m==null?void 0:m["x-component"])==="Grid.Col"&&(g=g.concat(r(m.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})),m!=null&&m["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${m["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=>E(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=>E(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=>E(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=>E(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 E(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,d=0;this.current.parent.mapProperties((f,_)=>{_===this.current.name&&(d=u,c=!0,++u),f["x-index"]=u,++u,c&&(l[_]=f,this.current.parent.removeProperty(_))}),this.prepareProperty(t);const m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p["x-index"]=d,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:m,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),d=this.current.addProperty(u.name||(0,import_shared.uid)(),u);d["x-index"]=0,d.parent=this.current,this.current.setProperties(l);const[m,p]=splitWrapSchema(d,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:m,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,d]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:d,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 d={};if(this.current.parent.mapProperties((f,_)=>{f["x-index"]=l,_===this.current.name&&(++l,c=l,u=!0),++l,u&&_!==this.current.name&&(d[_]=f,this.current.parent.removeProperty(_))}),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 m=i(t),p=this.current.parent.addProperty(m.name||(0,import_shared.uid)(),m);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(d);const[g,h]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:h,wrap:g,wrapped:m},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(),d=(0,import_react2.useCallback)(_=>{o==null||o(),l(),c==null||c(_),u==null||u()},[o,l,c,u]),m=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),f=(0,import_react2.useMemo)(()=>createDesignable({t:h,api:g,refresh:d,current:p,model:m,appVersion:clientPkg.version}),[h,g,d,p,m]);return(0,import_react2.useEffect)(()=>{f.loadAPIClientEvents()},[f]),{dn:f,designable:e,reset:r,refresh:d,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(_=>{var v;if(!_)return null;if(typeof _!="string")return _;const S=(0,import_get.default)(n,_);return(v=S[LAZY_COMPONENT_KEY])!=null?v:S},[import_get.default]),on:f.on.bind(f),patch:(0,import_react2.useCallback)((_,v)=>{const S=b=>{Object.keys(b).forEach(C=>{const y=b[C];C==="title"&&(m.title=y,p.title=y),C==="x-decorator-props"&&(m.decoratorProps||(m.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(y).forEach(F=>{m.decoratorProps[F]=y[F],p["x-decorator-props"][F]=y[F]})),C==="x-component-props"&&(m.componentProps||(m.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(y).forEach(F=>{m.componentProps[F]=y[F],p["x-component-props"][F]=y[F]}))})};if(typeof _=="string"){const b={};return(0,import_set.default)(b,_,v),S(b)}S(_),d()},[f]),shallowMerge:(0,import_react2.useCallback)(_=>{f.shallowMerge(_)},[f]),deepMerge:(0,import_react2.useCallback)(_=>{f.deepMerge(_)},[f]),remove:(0,import_react2.useCallback)((_,v)=>{f.remove(_,v)},[f]),insertAdjacent:(0,import_react2.useCallback)((_,v,S)=>{f.insertAdjacent(_,v,S)},[f]),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=K(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=()=>E(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 d=getVariableName(u),m=o(d);let p=null;const g=getPath(u).split(".");return g.forEach((h,f)=>{const _=g.slice(0,f+1).join("."),v=(0,import_client.getValuesByPath)({[d]:(m==null?void 0:m.ctx)||{}},_);import_lodash.default.isEmpty(v)||(p=v)}),p}}),c,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),t,o]),{filter:r,parseVariableLoading:n}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{const{params:t,parseVariableLoading:o}=useTableBlockParams(e),r=useParentRecordCommon(e.association);return{params:t,parentRecord:r,parseVariableLoading:o}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1);return!c.current&&l?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign].includes(e):return o(t);default:return null}},getSatisfiedActions=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield Promise.all(t.filter(i=>!i.disabled).map(i=>E(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:i.condition,variables:o,localVariables:r}))?i:null})))).filter(Boolean).map(i=>i.actions).flat()}),getSatisfiedValues=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield getSatisfiedActions({rules:t,variables:o,localVariables:r})).map(i=>P(x({},i),{value:getActionValue(i.operator,i.value)}))}),getSatisfiedValueMap=e=>E(void 0,[e],function*({rules:t,variables:o,localVariables:r}){return(yield getSatisfiedValues({rules:t,variables:o,localVariables:r})).reduce((i,n)=>P(x({},i),{[n.operator]:n.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}}),d=r??l,m=o??d[LinkageRuleDataKeyMap[t]],p=(0,import_react2.useCallback)(()=>{m&&e&&getSatisfiedValueMap({rules:m,variables:c,localVariables:u}).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,m,e]);return(0,import_react2.useEffect)(()=>{if(p(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{p()})}),()=>{i.removeEffects(g)}}},[i,p]),{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,d;const{action:m="list",service:p,useOriginalFilter:g}=e,h=(0,import_react.useFieldSchema)(),f=(0,import_react.useField)(),{getField:_}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),S=useRecord(),b=((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=f.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)||((d=p==null?void 0:p.params)==null?void 0:d.filter),{filter:C}=useParsedFilter({filterOption:b}),y=(0,import_react2.useMemo)(()=>_(h.name)||v(h==null?void 0:h["x-collection-field"]),[h]),F=S==null?void 0:S[y==null?void 0:y.sourceKey],j=(0,import_react2.useMemo)(()=>{const I=["oho","o2m"].includes(y==null?void 0:y.interface);return mergeFilter([mergeFilter([I&&!isInFilterFormBlock(h)&&y!=null&&y.foreignKey&&!g?{[y.foreignKey]:{$is:null}}:null,C]),I&&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:m},p),{params:P(x({},p==null?void 0:p.params),{filter:j})}),[y==null?void 0:y.target,m,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`
60
60
  &.skeleton-wrapper {
61
61
  width: 100%;
62
62
  background: ${o.colorBgContainer};
@@ -280,7 +280,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
280
280
  &:hover {
281
281
  display: block !important;
282
282
  }
283
- `,GeneralSchemaDesigner=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),{disableInitializer:i,title:n,template:a,schemaSettings:l,contextValue:c,draggable:u=!0,showDataSource:d=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:m,designable:p}=useDesignable(),g=(0,import_react.useField)(),{t:h}=(0,import_react_i18next.useTranslation)(),f=useCompile(),{getAriaLabel:_}=useGetAriaLabelOfDesigner(),v={dn:m,field:g,fieldSchema:r},{render:S,exists:b}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),C=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),I=useDataSource(),T=(j==null?void 0:j.length)>1&&I,z=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${h("(Fields only)")}`:a==null?void 0:a.name,B=(0,import_react2.useMemo)(()=>{var O;return{insertPosition:"afterEnd",wrap:((O=C==null?void 0:C.cols)==null?void 0:O.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":_("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[_,(t=C==null?void 0:C.cols)==null?void 0:t.length]);return p?(0,import_jsx_runtime.jsx)(SchemaToolbarProvider,P(x({},c),{children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("general-schema-designer",overrideAntdCSS),children:[n&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("general-schema-designer-title",titleCss),children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"title-tag",children:d&&T?`${f(T==null?void 0:T.displayName)} > ${f(n)}`:f(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[h("Reference template"),": ",z||h("Untitled")]})]})}),(0,import_jsx_runtime.jsx)("div",{className:"general-schema-designer-icons",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",children:[u&&(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":_("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},B)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,B)),b?S(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":_("schema-settings"),style:{cursor:"pointer",fontSize:12}})},v),{children:e.children}))]})})]})})):null},InternalSchemaToolbar=import_react2.default.memo(e=>{var t;const o=(0,import_react.useFieldSchema)(),{title:r,initializer:i,settings:n,showBackground:a,spaceWrapperClassName:l,spaceWrapperStyle:c,showBorder:u=!0,draggable:d=!0,spaceClassName:m,spaceStyle:p,toolbarClassName:g,toolbarStyle:h={}}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:_}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:v,hashId:S}=useStyles$f(),{t:b}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:C}=useGetAriaLabelOfDesigner(),y=useDataSourceManager(),F=y==null?void 0:y.getDataSources(),j=useDataSource(),I=(F==null?void 0:F.length)>1&&j,T=useRefreshFieldSchema(),z=(0,import_react2.useCallback)(()=>{T({refreshParentSchema:!0})},[T]),B=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return f(r)}},[r]),{render:O,exists:D}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:R,exists:$}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),w=useGridRowContext(),k=useGridContext(),N=(0,import_react2.useMemo)(()=>{var W;return{insertPosition:"afterEnd",wrap:((W=w==null?void 0:w.cols)==null?void 0:W.length)===1?gridRowColWrap:void 0,Component:Y=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},Y),{role:"button","aria-label":C("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[C,(t=w==null?void 0:w.cols)==null?void 0:t.length]),M=(0,import_react2.useMemo)(()=>d===!1||_===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":C("drag-handler")})}),[d,C,_]),L=(0,import_react2.useMemo)(()=>{var W;if(i===!1)return null;if($)return R(N);if(k!=null&&k.InitializerComponent||k!=null&&k.renderSchemaInitializer)return k!=null&&k.InitializerComponent?(0,import_jsx_runtime.jsx)(k.InitializerComponent,x({},N)):(W=k.renderSchemaInitializer)==null?void 0:W.call(k,N)},[k,i,N,$,R]),V=(0,import_react2.useMemo)(()=>n!==!1&&D?O():null,[D,O,n]),U=(0,import_react2.useRef)(null),q="hidden";(0,import_react2.useEffect)(()=>{const W=U.current;let Y=W==null?void 0:W.parentElement;for(;Y&&Y.clientHeight===0;)Y=Y.parentElement;if(!Y)return;function H(){var X;W&&(W.classList.remove(q),(X=e.onVisibleChange)==null||X.call(e,!0))}function J(){var X;W&&(W.classList.add(q),(X=e.onVisibleChange)==null||X.call(e,!1))}return window.getComputedStyle(Y).position==="static"&&(Y.style.position="relative"),Y.addEventListener("mouseenter",H),Y.addEventListener("mouseleave",J),()=>{Y.removeEventListener("mouseenter",H),Y.removeEventListener("mouseleave",J)}},[e.onVisibleChange]);const G=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},h),[a,u,h]);return(0,import_jsx_runtime.jsxs)("div",{ref:U,className:(0,import_classnames.default)(v,S,g,"schema-toolbar",q),style:G,children:[B&&(0,import_jsx_runtime.jsx)("div",{className:"toolbar-title",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:I?`${f(I==null?void 0:I.displayName)} > ${B[0]}`:B[0]},B[0]),B[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${b("Reference template")}: ${`${B[1]}`||b("Untitled")}`})]})}),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("toolbar-icons",l),style:c,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",className:m,style:p,children:[M,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:z,children:L}),V]})})]})});InternalSchemaToolbar.displayName="InternalSchemaToolbar";const SchemaToolbarVisibleContext=(0,import_react2.createContext)(!1),SchemaToolbar=import_react2.default.memo(e=>{const{designable:t}=useDesignable(),[o,r]=(0,import_react2.useState)(!1),i=(0,import_react2.useCallback)(n=>{(0,import_react2.startTransition)(()=>{r(n)})},[]);return t?(0,import_jsx_runtime.jsx)(SchemaToolbarVisibleContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(InternalSchemaToolbar,P(x({},e),{onVisibleChange:i}))}):null});SchemaToolbar.displayName="SchemaToolbar";const SchemaToolbarErrorFallback=e=>{const{designable:t}=useDesignable();return t?(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,P(x({},e),{children:(0,import_jsx_runtime.jsx)(SchemaToolbar,{title:`render toolbar error: ${e.error.message}`})})):null},useSchemaToolbarRender=e=>{const{designable:t}=useDesignable(),o=(0,import_react2.useMemo)(()=>{if(e["x-designer"]||e["x-toolbar"])return e["x-designer"]||e["x-toolbar"];if(e["x-settings"])return SchemaToolbar},[e]),r=useComponent(o);return{render(i){return!t||!r?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:SchemaToolbarErrorFallback,onError:console.error,children:(0,import_jsx_runtime.jsx)(r,x(x({},e["x-toolbar-props"]),i))})},exists:!!r}},useCollectionManager_deprecated=e=>{const t=useDataSourceManager(),o=useDataSource(),r=useCollectionManager(),i=e||(o==null?void 0:o.key)||void 0,[n,a]=(0,import_react2.useState)((0,import_shared.uid)()),{refresh:l}=useSchemaComponentContext(),c=(0,import_react2.useMemo)(()=>{var R;return(R=t==null?void 0:t.collectionFieldInterfaceManager)==null?void 0:R.getFieldInterfaces().reduce(($,w)=>($[w.name]=w,$),{})},[t,n]),u=(0,import_react2.useMemo)(()=>t==null?void 0:t.collectionTemplateManager.getCollectionTemplates(),[t,n]),d=(0,import_react2.useCallback)(()=>{var R,$;return($=(R=t==null?void 0:t.getDataSource(i))==null?void 0:R.collectionManager)==null?void 0:$.getCollections().map(w=>w.getOptions())},[t,o]),m=(0,import_react2.useCallback)(R=>{var $;return r&&!R?r:($=t==null?void 0:t.getDataSource(R||i))==null?void 0:$.collectionManager},[r,t,i]),p=(0,import_react2.useMemo)(()=>{var R,$;return($=(R=t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY))==null?void 0:R.collectionManager)==null?void 0:$.getCollections()},[t,n]),g=(0,import_react2.useCallback)(()=>t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY).reload().then(()=>{l(),a((0,import_shared.uid)())}),[t]),h=(0,import_react2.useCallback)(()=>t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY).reload().then(()=>{l(),a((0,import_shared.uid)())}),[t]),f=useCompile(),_=(0,import_react2.useCallback)((R,$)=>{var w,k;return((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getInheritedFields())||[]},[t,m]),v=(0,import_react2.useCallback)((R,$)=>{var w,k;if(!R)return[];const N=(w=m($))==null?void 0:w.getCollection(R);return((k=N==null?void 0:N.getAllFields)==null?void 0:k.call(N))||(N==null?void 0:N.getFields())||[]},[t,m]),S=(0,import_react2.useCallback)((R,$)=>{var w;if(!(!R||R.split(".").length<2))return(w=m($))==null?void 0:w.getCollectionField(R)},[t,m]),b=(0,import_react2.useCallback)((R,$)=>{var w,k;return R?((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getParentCollectionsName())||[]:[]},[t,m]),C=(0,import_react2.useCallback)((R,$=!1,w)=>{var k;if(!R)return[];const N=(k=m(w))==null?void 0:k.getCollection(R);return(N==null?void 0:N.getChildrenCollections($))||[]},[t,m]),y=(0,import_react2.useCallback)((R,$)=>{var w,k;return R?((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getCurrentFields())||[]:[]},[t,m]),F=(0,import_react2.useCallback)((R,$="string",w)=>{var k;const{association:N=!1,cached:M={},collectionNames:L=[R],maxDepth:V=1,allowAllTypes:U=!1,exceptInterfaces:q=[],prefixFieldValue:G="",usePrefix:W=!1,dataSource:Y}=w||{};if(L.length-1>V)return;if(M[R])return import_lodash.default.cloneDeep(M[R]);typeof $=="string"&&($=[$]);const H=v(R,Y),J=(k=H==null?void 0:H.filter(X=>X.interface&&!q.includes(X.interface)&&(U||$.includes(X.type)||(N&&X.target&&X.target!==R&&Array.isArray(N)?N.includes(X.interface):!1))))==null?void 0:k.map(X=>{var Z,te;const oe=x({value:W&&G?`${G}.${X.name}`:X.name,label:f((Z=X==null?void 0:X.uiSchema)==null?void 0:Z.title)||X.name},X);return N&&X.target&&(oe.children=L.includes(X.target)?[]:F(X.target,$,P(x({},w),{cached:M,dataSource:Y,collectionNames:[...L,X.target],prefixFieldValue:W?G?`${G}.${X.name}`:X.name:"",usePrefix:W})),!((te=oe.children)!=null&&te.length))?null:oe}).filter(Boolean);return M[R]=J,J},[v]),j=(0,import_react2.useCallback)((R,$)=>{var w;return(w=m($))==null?void 0:w.getCollection(R)},[t,m]),I=(0,import_react2.useCallback)((R,$)=>{var w,k;return(k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getAllCollectionsInheritChain()},[t,m]),T=(0,import_react2.useCallback)((R,$)=>()=>{var w,k;return(k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getInheritCollectionsChain()},[t,m]),z=(0,import_react2.useCallback)(R=>t==null?void 0:t.collectionFieldInterfaceManager.getFieldInterface(R),[t]),B=(0,import_react2.useCallback)(R=>{var $;return($=z(R.interface))==null?void 0:$.titleUsable},[z]),O=(0,import_react2.useCallback)((R,$,w)=>{var k,N;return(N=(k=m(w))==null?void 0:k.getCollection($))==null?void 0:N.getParentCollectionFields(R)},[t,m]),D=(0,import_react2.useCallback)((R="general")=>t==null?void 0:t.collectionTemplateManager.getCollectionTemplate(R),[t]);return{service:g,interfaces:c,collections:p,templates:u,getTemplate:D,getInterface:z,getCollections:d,getParentCollectionFields:O,getInheritCollections:b,getChildrenCollections:C,refreshCM:h,get:j,getInheritedFields:_,getCollectionField:S,getCollectionFields:v,getCollectionFieldsOptions:F,getCurrentCollectionFields:y,getCollection:j,getCollectionJoinField:S,getAllCollectionsInheritChain:I,getInheritCollectionsChain:T,isTitleField:B}},GetMenuItemContext=(0,import_react2.createContext)(null);GetMenuItemContext.displayName="GetMenuItemContext";const GetMenuItemsContext=(0,import_react2.createContext)(null);GetMenuItemsContext.displayName="GetMenuItemsContext";const useCollectMenuItem=()=>(0,import_react2.useContext)(GetMenuItemContext)||{},useCollectMenuItems=()=>(0,import_react2.useContext)(GetMenuItemsContext)||{},useMenuItem=()=>{const e=(0,import_react2.useRef)([]),t=(0,import_react2.useRef)(null),o=(0,import_react2.useRef)(!1),r=(0,import_react2.useCallback)(({limitCount:l})=>o.current?(o.current=!1,t.current?t.current():l&&e.current.length>l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.current.slice(0,l).map((c,u)=>(0,import_jsx_runtime.jsx)(c,{},u))}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.current.map((c,u)=>(0,import_jsx_runtime.jsx)(c,{},u))})):null,[]),i=(0,import_react2.useCallback)(l=>{const c=[],u=d=>{c.push(d),c.sort((m,p)=>(m.order||0)-(p.order||0))};return o.current=!0,t.current=()=>{const d=c.filter(m=>m.notdelete).map(m=>import_lodash.default.omit(m,"notdelete"));return c.length=0,c.push(...d),(0,import_jsx_runtime.jsx)(GetMenuItemsContext.Provider,{value:{pushMenuItem:u},children:l()})},c},[]),n=(0,import_react2.useCallback)(l=>{const c={},u=d=>{Object.assign(c,d)};return o.current=!0,e.current.push(()=>(0,import_jsx_runtime.jsx)(GetMenuItemContext.Provider,{value:{collectMenuItem:u},children:l()})),c},[]),a=(0,import_react2.useCallback)(()=>{e.current=[]},[]);return{Component:r,getMenuItems:i,getMenuItem:n,clean:a}},CurrentPopupRecordContext=import_react2.default.createContext(null),CurrentParentPopupRecordContext=import_react2.default.createContext(null),VariablePopupRecordProvider=import_react2.default.memo(e=>{var t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=useCollectionRecordData(),n=useCollection(),a=useCurrentPopupRecord();return(0,import_jsx_runtime.jsx)(CurrentParentPopupRecordContext.Provider,{value:{name:"$nParentPopupRecord",title:r("Parent popup record"),value:((t=e.parent)==null?void 0:t.recordData)||(a==null?void 0:a.value),collection:((o=e.parent)==null?void 0:o.collection)||(a==null?void 0:a.collection)},children:(0,import_jsx_runtime.jsx)(CurrentPopupRecordContext.Provider,{value:{name:"$nPopupRecord",title:r("Current popup record"),value:e.recordData||i,collection:e.collection||n},children:e.children})})});VariablePopupRecordProvider.displayName="VariablePopupRecordProvider";const useCurrentPopupRecord=()=>import_react2.default.useContext(CurrentPopupRecordContext),useParentPopupRecord=()=>import_react2.default.useContext(CurrentParentPopupRecordContext),isModalTitle=e=>(0,import_shared.isNum)(e)||(0,import_shared.isStr)(e)||(0,import_shared.isBool)(e)||import_react2.default.isValidElement(e),getModelProps=e=>isModalTitle(e)?{title:e}:e;function FormDialog(e,t,o,r){((0,import_shared.isFn)(t)||import_react2.default.isValidElement(t))&&(r=o,o=t,t="form-dialog");const i={host:document.createElement("div"),form:null,promise:null,openMiddlewares:[],confirmMiddlewares:[],cancelMiddlewares:[]},n=createPortalRoot(i.host,t),a=getModelProps(e),l=P(x({},a),{afterClose:()=>{var m;(m=a==null?void 0:a.afterClose)==null||m.call(a),n.unmount()}}),c=(0,import_react.observer)(()=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:(0,import_shared.isFn)(o)?o(i.form):o}),{displayName:"DialogContent"}),u=(m=!0,p,g)=>{const{form:h}=i;return h?(0,import_jsx_runtime.jsx)(GlobalThemeProvider,{theme:r,children:(0,import_jsx_runtime.jsx)(import_react.Observer,{children:()=>{const{token:f}=useToken$1();return(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x({zIndex:f.zIndexPopupBase+1e3},l),{open:m,confirmLoading:h.submitting,onCancel:_=>{var v;((v=l==null?void 0:l.onCancel)==null?void 0:v.call(l,_))!==!1&&(g==null||g())},onOk:_=>E(this,null,function*(){var v;((v=l==null?void 0:l.onOk)==null?void 0:v.call(l,_))!==!1&&(p==null||p())}),children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:h,children:(0,import_jsx_runtime.jsx)(c,{})})}))}})}):null};document.body.appendChild(i.host);const d={forOpen:m=>((0,import_shared.isFn)(m)&&i.openMiddlewares.push(m),d),forConfirm:m=>((0,import_shared.isFn)(m)&&i.confirmMiddlewares.push(m),d),forCancel:m=>((0,import_shared.isFn)(m)&&i.cancelMiddlewares.push(m),d),open:m=>E(this,null,function*(){return i.promise||(i.promise=new Promise((p,g)=>E(this,null,function*(){try{m=yield loading$1(l.loadingText,()=>(0,import_shared.applyMiddleware)(m,i.openMiddlewares)),i.form=i.form||(0,import_core.createForm)(m)}catch(h){g(h)}n.render(()=>u(!0,()=>{var h;(h=i.form)==null||h.submit(()=>E(this,null,function*(){yield(0,import_shared.applyMiddleware)(i.form,i.confirmMiddlewares),(0,import_reactive.untracked)(()=>{var f;p(x({},(f=i.form)==null?void 0:f.values))}),d.close()})).catch(()=>{})},()=>E(this,null,function*(){yield loading$1(l.loadingText,()=>(0,import_shared.applyMiddleware)(i.form,i.cancelMiddlewares)),d.close()})))}))),i.promise}),close:()=>{i.host&&n.render(()=>u(!1))}};return d}const DialogFooter=e=>{const t=(0,import_react2.useRef)(null),[o,r]=(0,import_react2.useState)(),i=(0,import_react2.useRef)(),n=usePrefixCls("modal");return(0,import_react2.useLayoutEffect)(()=>{var a;const l=(a=t.current)==null?void 0:a.closest(`.${n}-content`);l&&(i.current||(i.current=l.querySelector(`.${n}-footer`),i.current||(i.current=document.createElement("div"),i.current.classList.add(`${n}-footer`),l.appendChild(i.current))),r(i.current))},[n]),i.current=o,(0,import_jsx_runtime.jsx)("div",{ref:t,style:{display:"none"},children:o&&(0,import_react_dom.createPortal)(e.children,o)})};FormDialog.Footer=DialogFooter;FormDialog.Portal=createPortalProvider("form-dialog");const useAPITokenVariable=({noDisabled:e}={})=>{var t;const o=useAPIClient();return{apiTokenSettings:useBaseVariable({name:"$nToken",title:"API token",noDisabled:e,noChildren:!0}),apiTokenCtx:(t=o.auth)==null?void 0:t.token}},popupSchema={type:"void","x-component":"Action.Container","x-action":"view",title:'{{ t("View record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},useInsertSchema=()=>{const e=(0,import_react.useFieldSchema)(),{insertAfterBegin:t}=useDesignable();return(0,import_react2.useCallback)(o=>{e.reduceProperties((r,i)=>i["x-component"]==="Action.Container"?i:r,null)||t((0,import_lodash.cloneDeep)(o))},[e,t])},filterProperties=e=>e["x-component"]==="Action.Container";function withPopupWrapper(e){return t=>{const[o,r]=(0,import_react2.useState)(!1),[i,n]=(0,import_react2.useState)(!1),a=useInsertSchema(),l=useCollection(),c=useActionContext(),u=(0,import_react.useField)(),d=(0,import_react.useFieldSchema)(),{enableLink:m,openMode:p,openSize:g}=(d==null?void 0:d["x-component-props"])||{},{visibleWithURL:h,setVisibleWithURL:f}=usePopupUtils(),{openPopup:_}=usePopupUtils(),v=(0,import_react2.useRef)(!1),S=(0,import_react2.useRef)(d);S.current=d;const b=(0,import_react2.useCallback)(()=>S.current,[]),C=(0,import_react2.useCallback)(()=>{d.properties||(a(popupSchema),v.current=!0),v.current?(setTimeout(()=>{_({customActionSchema:b()})}),v.current=!1):d.properties&&_()},[d,a,_,b]),{setSubmitted:y}=c,F=(0,import_react2.useCallback)(j=>{r==null||r(j),f==null||f(j)},[f]);return m?(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:(0,import_jsx_runtime.jsx)(e,x({},t)),visible:o||h,setVisible:F,formValueChanged:i,setFormValueChanged:n,openMode:p,openSize:g,containerRefKey:"field-popup",fieldSchema:d,setSubmitted:y,children:[(0,import_jsx_runtime.jsx)(CollectionProvider,{name:l.name,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:u==null?void 0:u.address,schema:d,filterProperties})})})}),(0,import_jsx_runtime.jsx)("a",{onClick:C,children:(0,import_jsx_runtime.jsx)(e,x({},t))})]})}):(0,import_jsx_runtime.jsx)(e,x({},t))}}const ReadPretty$d=()=>null;ReadPretty$d.DatePicker=function e(t){const{value:o,picker:r="date"}=t,i=(0,import_builtins.usePrefixCls)("description-date-picker",t);if(!o)return(0,import_jsx_runtime.jsx)("div",{});const n=()=>{const a=(0,import_client.getDefaultFormat)(t),l=(0,import_client.str2moment)(o,t),c=import_dayjs.default.isDayjs(l)?l.format(a):"";return(0,import_shared.isArr)(c)?c.join("~"):c};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(i,t.className),children:n()})};ReadPretty$d.DateRangePicker=function e(t){const o=(0,import_builtins.usePrefixCls)("description-text",t),r=(0,import_client.getDefaultFormat)(t),i=()=>{const n=(0,import_client.str2moment)(t.value,t);if(!n)return"";const a=n.map(l=>l.format(r));return(0,import_shared.isArr)(a)?a.join("~"):a};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(o,t.className),style:t.style,children:i()})};ReadPretty$d.DatePicker=withPopupWrapper(ReadPretty$d.DatePicker);const DatePickerContext=import_react2.default.createContext({utc:!0}),useDatePickerContext=()=>import_react2.default.useContext(DatePickerContext),DatePickerProvider=DatePickerContext.Provider,InternalDatePicker=(0,import_react.connect)(import_antd.DatePicker,(0,import_react.mapProps)(mapDatePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DatePicker)),InternalRangePicker=(0,import_react.connect)(import_antd.DatePicker.RangePicker,(0,import_react.mapProps)(mapRangePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DateRangePicker)),DatePicker=e=>{const{utc:t=!0}=useDatePickerContext(),o=Array.isArray(e.value)?e.value[0]:e.value,{parseVariable:r}=useVariables$1()||{},i=useLocalVariables$1(),[n,a]=(0,import_react2.useState)(null),[l,c]=(0,import_react2.useState)(null),u=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>(u.current&&u.current(),u.current=(0,import_reactive.autorun)(()=>{d()}),()=>{u.current()}),[e._maxDate,e._minDate,i,r]);const d=()=>E(void 0,null,function*(){let p=e._minDate?Promise.resolve((0,import_dayjs.default)(e._minDate)):Promise.resolve(null),g=e._maxDate?Promise.resolve((0,import_dayjs.default)(e._maxDate)):Promise.resolve(null);isVariable$1(e._maxDate)&&(g=r(e._maxDate,i).then(b=>(0,import_dayjs.default)(b.value))),isVariable$1(e._minDate)&&(p=r(e._minDate,i).then(b=>(0,import_dayjs.default)(b.value)));const[h,f]=yield Promise.all([p,g]),_=Array.from({length:60},(b,C)=>C),v=b=>{if(!b||!h&&!f)return!1;const C=(0,import_dayjs.default)(b);return C.isBefore(h,"minute")||C.isAfter(f,"minute")},S=b=>{if(!b||!h&&!f)return{disabledHours:()=>[],disabledMinutes:()=>[],disabledSeconds:()=>[]};const C=(0,import_dayjs.default)(b),y=C.isSame(h,"day"),F=C.isSame(f,"day");return{disabledHours:()=>{const j=[];return y&&j.push(...Array.from({length:h.hour()},(I,T)=>T)),F&&j.push(...Array.from({length:24-f.hour()},(I,T)=>T+f.hour()+1)),j},disabledMinutes:j=>y&&j===h.hour()?_.filter(I=>I<h.minute()):F&&j===f.hour()?_.filter(I=>I>f.minute()):[],disabledSeconds:(j,I)=>y&&j===h.hour()&&I===h.minute()?_.filter(T=>T<h.second()):F&&j===f.hour()&&I===f.minute()?_.filter(T=>T>f.second()):[]}};a(()=>v),c(()=>S)}),m=P(x({utc:t},e),{disabledDate:n,disabledTime:l,showTime:e.showTime?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1});return(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},m),{value:o}))};DatePicker.ReadPretty=ReadPretty$d.DatePicker;DatePicker.RangePicker=function e(t){const{value:o,picker:r="date",format:i,showTime:n,timeFormat:a}=t,{t:l}=(0,import_react_i18next.useTranslation)(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{utc:d=!0}=useDatePickerContext(),m=getDateRanges(),p=useCompile(),g=!c["x-filter-operator"],h=[{label:l("Today"),value:m.today},{label:l("Last week"),value:m.lastWeek},{label:l("This week"),value:m.thisWeek},{label:l("Next week"),value:m.nextWeek},{label:l("Last month"),value:m.lastMonth},{label:l("This month"),value:m.thisMonth},{label:l("Next month"),value:m.nextMonth},{label:l("Last quarter"),value:m.lastQuarter},{label:l("This quarter"),value:m.thisQuarter},{label:l("Next quarter"),value:m.nextQuarter},{label:l("Last year"),value:m.lastYear},{label:l("This year"),value:m.thisYear},{label:l("Next year"),value:m.nextYear},{label:l("Last 7 days"),value:m.last7Days},{label:l("Next 7 days"),value:m.next7Days},{label:l("Last 30 days"),value:m.last30Days},{label:l("Next 30 days"),value:m.next30Days},{label:l("Last 90 days"),value:m.last90Days},{label:l("Next 90 days"),value:m.next90Days}],f=o?inferPickerType(o==null?void 0:o[0]):r,_=(0,import_client.getPickerFormat)(f)||i,v=P(x({utc:d,presets:h},t),{format:(0,import_client.getDateTimeFormat)(f,_,n,a),picker:f,showTime:n?{defaultValue:[(0,import_dayjs.default)("00:00:00","HH:mm:ss"),(0,import_dayjs.default)("23:59:59","HH:mm:ss")]}:!1}),[S,b]=(0,import_react2.useState)(v);return g?(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:f,options:p([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:C=>{const y=(0,import_client.getPickerFormat)(C),F=(0,import_client.getDateTimeFormat)(C,y,n,a);u.setComponentProps({picker:C,format:y}),v.picker=C,v.format=F,b(v),c["x-component-props"]=P(x({},t),{picker:C,format:F}),u.value=void 0}}),(0,import_jsx_runtime.jsx)(InternalRangePicker,P(x({},S),{value:o}))]}):(0,import_jsx_runtime.jsx)(InternalRangePicker,x({},v))};DatePicker.FilterWithPicker=function e(t){const{picker:o="date",format:r,showTime:i,timeFormat:n}=t,a=isMobile(),{utc:l=!0}=useDatePickerContext(),c=Array.isArray(t.value)?t.value[0]:t.value,u=useCompile(),d=(0,import_react.useFieldSchema)(),m=c?inferPickerType(c):o,p=(0,import_client.getPickerFormat)(m)||r,g=P(x({utc:l,inputReadOnly:a},t),{underFilter:!0,showTime:i?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1,format:(0,import_client.getDateTimeFormat)(m,p,i,n),picker:m,onChange:v=>{t.onChange(void 0),setTimeout(()=>{t.onChange(v)})}}),h=(0,import_react.useField)(),[f,_]=(0,import_react2.useState)(g);return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{width:"100%"},children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:m,options:u([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:v=>{const S=(0,import_client.getPickerFormat)(v),b=(0,import_client.getDateTimeFormat)(v,S,i,n);h.setComponentProps({picker:v,format:S}),g.picker=v,g.format=b,_(g),d["x-component-props"]=P(x({},t),{picker:v,format:b}),h.value=null}}),(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},f),{value:c}))]})};const useDateVariable=({operator:e,schema:t,noDisabled:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),i=(e==null?void 0:e.value)||"",n=o?!1:!["DatePicker","DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"]),a=[{key:"now",value:"now",label:r("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||i==="$dateBetween"},{key:"yesterday",value:"yesterday",label:r("Yesterday"),disabled:n},{key:"today",value:"today",label:r("Today"),disabled:n},{key:"tomorrow",value:"tomorrow",label:r("Tomorrow"),disabled:n},{key:"lastIsoWeek",value:"lastIsoWeek",label:r("Last week"),disabled:n},{key:"thisIsoWeek",value:"thisIsoWeek",label:r("This week"),disabled:n},{key:"nextIsoWeek",value:"nextIsoWeek",label:r("Next week"),disabled:n},{key:"lastMonth",value:"lastMonth",label:r("Last month"),disabled:n},{key:"thisMonth",value:"thisMonth",label:r("This month"),disabled:n},{key:"nextMonth",value:"nextMonth",label:r("Next month"),disabled:n},{key:"lastQuarter",value:"lastQuarter",label:r("Last quarter"),disabled:n},{key:"thisQuarter",value:"thisQuarter",label:r("This quarter"),disabled:n},{key:"nextQuarter",value:"nextQuarter",label:r("Next quarter"),disabled:n},{key:"lastYear",value:"lastYear",label:r("Last year"),disabled:n},{key:"thisYear",value:"thisYear",label:r("This year"),disabled:n},{key:"nextYear",value:"nextYear",label:r("Next year"),disabled:n},{key:"last7Days",value:"last7Days",label:r("Last 7 days"),disabled:n},{key:"next7Days",value:"next7Days",label:r("Next 7 days"),disabled:n},{key:"last30Days",value:"last30Days",label:r("Last 30 days"),disabled:n},{key:"next30Days",value:"next30Days",label:r("Next 30 days"),disabled:n},{key:"last90Days",value:"last90Days",label:r("Last 90 days"),disabled:n},{key:"next90Days",value:"next90Days",label:r("Next 90 days"),disabled:n}],l=(0,import_react2.useMemo)(()=>({label:r("Date variables"),value:"$nDate",key:"$nDate",disabled:a.every(c=>c.disabled),children:a}),[t==null?void 0:t["x-component"]]);return t?l:null},useDatetimeVariableContext=()=>{const{utc:e=!0}=useDatePickerContext();return{datetimeCtx:(0,import_react2.useMemo)(()=>getDateRanges({shouldBeString:!0,utc:e}),[e])}},useDatetimeVariable=({operator:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{getOperator:n}=useOperators(),a=(0,import_react2.useMemo)(()=>{const c=(e==null?void 0:e.value)||n(r==null?void 0:r.name)||"",u=o?!1:!["DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"])&&!c,d=[{key:"now",value:"now",label:i("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||c==="$dateBetween"},{key:"yesterday",value:"yesterday",label:i("Yesterday"),disabled:u},{key:"today",value:"today",label:i("Today"),disabled:u},{key:"tomorrow",value:"tomorrow",label:i("Tomorrow"),disabled:u},{key:"lastIsoWeek",value:"lastIsoWeek",label:i("Last week"),disabled:u},{key:"thisIsoWeek",value:"thisIsoWeek",label:i("This week"),disabled:u},{key:"nextIsoWeek",value:"nextIsoWeek",label:i("Next week"),disabled:u},{key:"lastMonth",value:"lastMonth",label:i("Last month"),disabled:u},{key:"thisMonth",value:"thisMonth",label:i("This month"),disabled:u},{key:"nextMonth",value:"nextMonth",label:i("Next month"),disabled:u},{key:"lastQuarter",value:"lastQuarter",label:i("Last quarter"),disabled:u},{key:"thisQuarter",value:"thisQuarter",label:i("This quarter"),disabled:u},{key:"nextQuarter",value:"nextQuarter",label:i("Next quarter"),disabled:u},{key:"lastYear",value:"lastYear",label:i("Last year"),disabled:u},{key:"thisYear",value:"thisYear",label:i("This year"),disabled:u},{key:"nextYear",value:"nextYear",label:i("Next year"),disabled:u},{key:"last7Days",value:"last7Days",label:i("Last 7 days"),disabled:u},{key:"next7Days",value:"next7Days",label:i("Next 7 days"),disabled:u},{key:"last30Days",value:"last30Days",label:i("Last 30 days"),disabled:u},{key:"next30Days",value:"next30Days",label:i("Next 30 days"),disabled:u},{key:"last90Days",value:"last90Days",label:i("Last 90 days"),disabled:u},{key:"next90Days",value:"next90Days",label:i("Next 90 days"),disabled:u}];return{label:i("Date variables"),value:"$nDate",key:"$nDate",disabled:d.every(m=>m.disabled),children:d}},[t==null?void 0:t["x-component"],r]),{datetimeCtx:l}=useDatetimeVariableContext();return{datetimeSettings:a,datetimeCtx:l}},useRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:n("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0})},useCurrentRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useAPIClient();return{currentRoleSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:a("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0}),currentRoleCtx:(n=l.auth)==null?void 0:n.role}},getURLSearchParams=e=>(e.startsWith("?")&&(e=e.slice(1)),import_qs.default.parse(e)||{}),getURLSearchParamsChildren=e=>Object.keys(e).map(t=>({label:t,value:t,key:t,isLeaf:!0})),useURLSearchParamsCtx=e=>{const[t]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({}));return(0,import_react2.useMemo)(()=>{const o=getURLSearchParams(e);return(0,import_reactive.untracked)(()=>{Object.assign(t,o),Object.keys(t).forEach(r=>{o[r]===void 0&&delete t[r]})}),t},[t,e])},useURLSearchParamsVariable=(e={})=>{const t="$nURLSearchParams",{t:o}=(0,import_react_i18next.useTranslation)(),r=useLocationSearch(),{isVariableParsedInOtherContext:i}=useFlag(),n=useURLSearchParamsCtx(r),a=(0,import_react2.useMemo)(()=>import_lodash.default.isEmpty(n),[n]),l=(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(o("URL search params"),a?o("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."):""),value:t,key:t,isLeaf:!1,disabled:a,loadChildren:(c,u)=>E(void 0,null,function*(){const d=u?{[u]:void 0}:{};c.children=getURLSearchParamsChildren(x(x({},d),n))})}),[a,o,n]);return{name:t,urlSearchParamsSettings:l,urlSearchParamsCtx:n,defaultValue:void 0,shouldDisplay:!i}},useUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:n("Current user"),collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY,noDisabled:o,targetFieldSchema:r})},useCurrentUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useCurrentUserContext();return{currentUserSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:a("Current user"),collectionName:"users",noDisabled:o,targetFieldSchema:r,dataSource:DEFAULT_DATA_SOURCE_KEY}),currentUserCtx:(n=l==null?void 0:l.data)==null?void 0:n.data}},useCurrentFormContext=({form:e}={})=>{const{form:t}=useFormBlockContext(),{isVariableParsedInOtherContext:o}=useFlag(),r=e||t;return{currentFormCtx:r==null?void 0:r.values,shouldDisplayCurrentForm:r&&!r.readPretty&&!o}},useCurrentFormVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r,form:i}={})=>{const{currentFormCtx:n,shouldDisplayCurrentForm:a}=useCurrentFormContext({form:i}),{t:l}=(0,import_react_i18next.useTranslation)(),{collectionName:c}=useFormBlockContext(),u=useDataSource();return{currentFormSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nForm",title:l("Current form"),collectionName:c,noDisabled:o,dataSource:u==null?void 0:u.key,returnFields:(d,m)=>d}),currentFormCtx:n,shouldDisplayCurrentForm:a}},useCurrentObjectContext=()=>{const{isInSubForm:e,isInSubTable:t}=useFlag()||{},{formValue:o,collection:r}=useSubFormValue();return{shouldDisplayCurrentObject:e||t,currentObjectCtx:o,collectionOfCurrentObject:r}},useCurrentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const i=useCollection(),{t:n}=(0,import_react_i18next.useTranslation)(),{shouldDisplayCurrentObject:a,currentObjectCtx:l,collectionOfCurrentObject:c}=useCurrentObjectContext(),u=useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$iteration",title:n("Current object"),collectionName:(c==null?void 0:c.name)||(i==null?void 0:i.name),noDisabled:o,dataSource:i==null?void 0:i.dataSource,returnFields:(d,m)=>d});return{shouldDisplayCurrentObject:a,currentObjectCtx:l,currentObjectSettings:u}},useParentObjectContext=()=>{const{parent:e}=useSubFormValue(),{value:t,collection:o}=e||{},{isInSubForm:r,isInSubTable:i}=useFlag()||{};return{shouldDisplayParentObject:(r||i)&&!!o,parentObjectCtx:t,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource}},useParentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l,dataSource:c}=useParentObjectContext();return{parentObjectSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nParentIteration",title:i("Parent object"),collectionName:l,noDisabled:o,dataSource:c,returnFields:(u,d)=>u}),shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l}},useParentPopupVariableContext=()=>{const{value:e,title:t,collection:o}=useParentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{parentPopupRecordCtx:e,shouldDisplayParentPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},useParentPopupVariable=(e={})=>{const{parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=useParentPopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},ParentCollectionContext=(0,import_react2.createContext)(null);ParentCollectionContext.displayName="ParentCollectionContext";const ParentCollectionProvider=e=>{const t=useCollection();return(0,import_jsx_runtime.jsx)(ParentCollectionContext.Provider,{value:t,children:e.children})},useParentCollection=()=>(0,import_react2.useContext)(ParentCollectionContext),AssociationProvider=e=>{const{name:t,children:o}=e,r=useCollectionManager().getCollectionName(t);return r?(0,import_jsx_runtime.jsx)(CollectionProvider,{name:String(t).split(".")[0],children:(0,import_jsx_runtime.jsx)(ParentCollectionProvider,{children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:r,children:o})})})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Collection",name:t})},useAssociationName=()=>{const e=useCollectionField();return e&&["belongsToMany","belongsTo","hasMany","hasOne"].includes(e.type)?`${e.collectionName}.${e.name}`:null},useCurrentParentRecordContext=()=>{var e,t;const o=useCollectionRecord(),{name:r,dataSource:i}=useParentCollection()||{},n=useCollection(),{isInSubForm:a,isInSubTable:l}=useFlag()||{},c=r?i:n==null?void 0:n.dataSource,u=useCollectionField();return{currentParentRecordCtx:((e=o==null?void 0:o.parentRecord)==null?void 0:e.data)||(o==null?void 0:o.data),shouldDisplayCurrentParentRecord:!!((t=o==null?void 0:o.parentRecord)!=null&&t.data)&&!a&&!l&&u,collectionName:r||(n==null?void 0:n.name),dataSource:c}},useCurrentParentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}=useCurrentParentRecordContext();return{currentParentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentRecord",title:t("Parent record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:n}),currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}},usePopupVariableContext=()=>{const{value:e,title:t,collection:o}=useCurrentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{popupRecordCtx:e,shouldDisplayPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},usePopupVariable=(e={})=>{const{popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=usePopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},useVariableOptions=({collectionField:e,form:t,uiSchema:o,operator:r,noDisabled:i,targetFieldSchema:n,record:a})=>{var l;const{filterVariables:c=()=>!0}=useVariables$1()||{},u=(l=a==null?void 0:a.__parent)==null?void 0:l.__collectionName,{currentUserSettings:d}=useCurrentUserVariable({maxDepth:3,uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentRoleSettings:m}=useCurrentRoleVariable({uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{apiTokenSettings:p}=useAPITokenVariable({noDisabled:i}),{datetimeSettings:g}=useDatetimeVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{currentFormSettings:h,shouldDisplayCurrentForm:f}=useCurrentFormVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n,form:t}),{currentObjectSettings:_,shouldDisplayCurrentObject:v}=useCurrentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{parentObjectSettings:S,shouldDisplayParentObject:b}=useParentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{currentRecordSettings:C,shouldDisplayCurrentRecord:y}=useCurrentRecordVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:F,shouldDisplayPopupRecord:j}=usePopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:I,shouldDisplayParentPopupRecord:T}=useParentPopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentParentRecordSettings:z,shouldDisplayCurrentParentRecord:B}=useCurrentParentRecordVariable({schema:o,collectionName:u,collectionField:e,noDisabled:i,targetFieldSchema:n}),{urlSearchParamsSettings:O,shouldDisplay:D}=useURLSearchParamsVariable();return(0,import_react2.useMemo)(()=>[d,m,p,g,f&&h,v&&_,b&&S,y&&C,B&&z,j&&F,T&&I,D&&O].filter(Boolean).filter(c),[d,m,p,g,f,h,v,_,b,S,y,C,B,z,j,F,D,O])},RemoveConditionContext=(0,import_react2.createContext)(null);RemoveConditionContext.displayName="RemoveConditionContext";const FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterLogicContext=(0,import_react2.createContext)(null);FilterLogicContext.displayName="FilterLogicContext";const findOption$1=(e=[],t)=>{var o;let r=t,i;return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const a=r.find(l=>l.name===n);a&&(i=a),r=(a==null?void 0:a.children)||[]}),i},useValues$1=()=>{const{name:e}=useCollection_deprecated(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),o=(0,import_react.useField)(),{options:r,collectionName:i,field:n}=(0,import_react2.useContext)(FilterContext$1)||{},a=(0,import_flat.default)(o.value||{}),l=Object.keys(a).shift()||"",c=(0,import_react2.useMemo)(()=>{const[g=""]=l.split(".$");return t(`${i||e}.${g}`)},[e,l]),u=(0,import_react2.useCallback)(()=>{var g,h,f,_;o.value=import_flat.default.unflatten({[`${(g=o.data.dataIndex)==null?void 0:g.join(".")}.${(f=(h=o.data)==null?void 0:h.operator)==null?void 0:f.value}`]:(_=o.data)==null?void 0:_.value})},[o]);(0,import_react2.useEffect)(()=>{var g;if(o.data=o.data||{},!l||!r)return;const[h="",f=""]=l.split(".$"),[_]=f.split(".",2),v=h.split("."),S=findOption$1(v,r),b=S==null?void 0:S.operators,C=(g=b==null?void 0:b.find)==null?void 0:g.call(b,y=>y.value===`$${_}`);if(o.data.dataIndex=v,(v==null?void 0:v.length)>1){const y=v.concat();y.pop();const F=t(`${e}.${y.join(".")}`);n.collectionName=F==null?void 0:F.target}else n.collectionName=null;o.data.operators=b,o.data.operator=C,o.data.schema=(0,import_shared.merge)(S==null?void 0:S.schema,C==null?void 0:C.schema),o.data.value=(0,import_get.default)((0,import_flat.unflatten)(o.value),`${h}.$${_}`)},[o.path]);const d=(0,import_react2.useCallback)(g=>{var h;const f=findOption$1(g,r),_=(h=f==null?void 0:f.operators)==null?void 0:h[0];o.data=o.data||{},o.data.operators=f==null?void 0:f.operators,o.data.operator=_;const v=(0,import_cloneDeep.default)(f==null?void 0:f.schema),S=(0,import_cloneDeep.default)(_==null?void 0:_.schema);if(o.data.schema=(0,import_shared.merge)(v,S),o.data.dataIndex=g,(g==null?void 0:g.length)>1){const b=g.concat();b.pop();const C=t(`${e}.${b.join(".")}`);n.collectionName=C==null?void 0:C.target}else n.collectionName=null;o.data.value=_!=null&&_.noValue?_.default||!0:void 0,u()},[u,o,r]),m=(0,import_react2.useCallback)(g=>{var h,f,_;const v=(_=(f=(h=o.data)==null?void 0:h.operators)==null?void 0:f.find)==null?void 0:_.call(f,y=>y.value===g);o.data.operator=v;const S=findOption$1(o.data.dataIndex,r),b=(0,import_cloneDeep.default)(S==null?void 0:S.schema),C=(0,import_cloneDeep.default)(v==null?void 0:v.schema);o.data.schema=(0,import_shared.merge)(b,C),o.data.value=v.noValue?v.default||!0:void 0,u()},[u,o.data,r]),p=(0,import_react2.useCallback)(g=>{o.data.value=g,u()},[u,o.data]);return P(x({fields:r},(o==null?void 0:o.data)||{}),{collectionField:c,setDataIndex:d,setOperator:m,setValue:p})},useBlockCollection=()=>{const e=useDataBlockProps();return{name:(e==null?void 0:e.collection)||(e==null?void 0:e.resource)}},useIsSameOrChildCollection=()=>{const{getChildrenCollections:e}=useCollectionManager_deprecated();return(t,o)=>{if(t===o)return!0;const r=e(o);return r==null?void 0:r.some(i=>i.name===t)}},getChildren=(e,{schema:t,depth:o,maxDepth:r,loadChildren:i,compile:n},a,l)=>e.map(c=>{const u=!l(c.target,a==null?void 0:a.target);return c.target?o>=r?null:{key:c.name,value:c.name,label:n(c.title),disabled:u,isLeaf:!0,field:c,depth:o,loadChildren:i}:{key:c.name,value:c.name,label:n(c.title),disabled:u,isLeaf:!0,depth:o}}).filter(Boolean),useContextAssociationFields=({schema:e,maxDepth:t=3,contextCollectionName:o,collectionField:r})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCompile(),a=useGetFilterOptions(),l=useIsSameOrChildCollection(),c=u=>{var d;if(!((d=u.field)!=null&&d.target))return new Promise(p=>{(0,import_client.error)("Must be set field target"),u.children=[],p(void 0)});const m=u.field.target;return new Promise(p=>{setTimeout(()=>{const g=getChildren(a(m).filter(h=>["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(h.type)),{schema:e,depth:u.depth+1,maxDepth:t,loadChildren:c,compile:n},r,l)||[];if(g.length===0){u.disabled=!0,u.children=[],p();return}u.children=g,p()},5)})};return(0,import_react2.useMemo)(()=>({label:i("Table selected records"),value:"$context",key:"$context",isLeaf:!1,field:{target:o},depth:0,loadChildren:c}),[e==null?void 0:e["x-component"]])},VariableInput=e=>{const{value:t,onChange:o,renderSchemaComponent:r,style:i,schema:n,className:a,contextCollectionName:l,collectionField:c,shouldChange:u,form:d,record:m,returnScope:p=import_lodash.default.identity,targetFieldSchema:g,noDisabled:h,hideVariableButton:f}=e,{name:_}=useBlockCollection(),v=useVariableScope(),{operator:S,schema:b=c==null?void 0:c.uiSchema}=useValues$1(),C=useVariableOptions({collectionField:c,form:d,record:m,operator:S,uiSchema:b,targetFieldSchema:g,noDisabled:h}),y=useContextAssociationFields({schema:n,maxDepth:2,contextCollectionName:l,collectionField:c}),{compatOldVariables:F}=useCompatOldVariables({collectionField:c,uiSchema:b,targetFieldSchema:g,blockCollectionName:_});l&&C.every(I=>I.value!==y.value)&&C.push(y);const j=(0,import_react2.useCallback)((I,T)=>{if(!u)return o(I);setTimeout(()=>E(void 0,null,function*(){(yield u(I,T))&&o(I)}))},[o,u]);return(0,import_jsx_runtime.jsx)(Variable.Input,{className:a,value:t,onChange:j,scope:p(F(import_lodash.default.isEmpty(v)?C:v,{value:t})),style:i,changeOnSelect:!0,hideVariableButton:f,children:(0,import_jsx_runtime.jsx)(r,{value:t,onChange:o})})},getShouldChange=({collectionField:e,variables:t,localVariables:o,getAllCollectionsInheritChain:r})=>{const i=e?r(e.target):[];return(n,a)=>E(void 0,null,function*(){if(import_lodash.default.isString(n)&&n.includes("$nRole")||!isVariable$1(n)||!t||!e||e.interface==="json")return!0;const l=a[a.length-1];if(l&&import_lodash.default.isEmpty(l.children)&&!l.loadChildren)return!0;const c=yield t.getCollectionField(n,o);return!(!e||["o2o","o2m","oho"].includes(c==null?void 0:c.interface)||e.target&&c!=null&&c.target&&!i.includes(c==null?void 0:c.target))})};function useCompatOldVariables(e){const{uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i,blockCollectionName:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),{currentUserSettings:l}=useCurrentUserVariable({maxDepth:1,uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i}),{currentRecordSettings:c}=useCurrentRecordVariable({schema:t,collectionField:o,noDisabled:r,targetFieldSchema:i});return{compatOldVariables:(0,import_react2.useCallback)((u,{value:d})=>{if(!isVariable$1(d))return u;u=[...u];const m={value:"$system",key:"$system",label:a("System variables"),isLeaf:!1,children:[{value:"now",key:"now",label:a("Current time"),isLeaf:!0,depth:1}],depth:0},p={value:"currentTime",label:a("Current time"),children:null};if(d.includes("$system")&&u.push(m),d.includes(`${n}.`)){const g=u.find(h=>h.value==="$nForm"||h.value==="$nRecord");g&&(g.value=n)}if(d.includes("$form")){const g=u.find(h=>h.value==="$nForm");g&&(g.value="$form")}if(d.includes("currentUser")){const g=u.find(h=>h.value==="$user");g?g.value="currentUser":u.unshift(P(x({},l),{value:"currentUser"}))}if(d.includes("currentRecord")){const g=u.find(h=>h.value==="$nRecord");g?g.value="currentRecord":u.unshift(P(x({},c),{value:"currentRecord"}))}if(d.includes("currentTime")&&u.push(p),d.includes("$date")){const g=u.find(h=>h.value==="$nDate");g&&(g.value="$date")}return u},[n])}}const AsDefaultTemplate=import_react2.default.forwardRef((e,t)=>{var o;const r=import_antd_v5.ArrayBase.useArray(),i=import_antd_v5.ArrayBase.useIndex(e.index),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Switch,P(x({},e),{checkedChildren:n("Default"),unCheckedChildren:n("Default"),checked:(o=r==null?void 0:r.field)==null?void 0:o.value[i].default,style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:16,marginLeft:6,marginBottom:3},onChange:(a,l)=>{var c;l.stopPropagation(),r.field.value.splice(i,1,P(x({},(c=r==null?void 0:r.field)==null?void 0:c.value[i]),{default:a})),r.field.value.forEach((u,d)=>{var m;d!==i&&r.field.value.splice(d,1,P(x({},(m=r==null?void 0:r.field)==null?void 0:m.value[d]),{default:!1}))})},onClick:(a,l)=>{l.stopPropagation()}}))});AsDefaultTemplate.displayName="AsDefaultTemplate";const useStyles$e=genStyleHook("nb-array-collapse",e=>{const{componentCls:t}=e;return{[t]:{marginBottom:"10px"}}}),DataTemplateTitle=(0,import_react.observer)(e=>{var t;const o=import_antd_v5.ArrayBase.useArray(),r=import_antd_v5.ArrayBase.useIndex(e.index),{t:i}=(0,import_react_i18next.useTranslation)(),n=(t=o==null?void 0:o.field)==null?void 0:t.value[r];return(0,import_react2.useEffect)(()=>{var a,l;n.key||(n.key=(0,import_shared.uid)()),n.title||(n.title=`${i("Template name")} ${(l=(a=o==null?void 0:o.field)==null?void 0:a.value)==null?void 0:l.length}`)},[]),(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,{value:n.title,placeholder:i("Template name"),onChange:a=>{a.stopPropagation(),n.title=a.target.value},onBlur:a=>{a.stopPropagation(),n.title=a.target.value},autoSize:!0,style:{width:"70%",border:"none"},onClick:a=>{a.stopPropagation()}})}),isAdditionComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Addition"))>-1},isIndexComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Index"))>-1},isRemoveComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Remove"))>-1},isMoveUpComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveUp"))>-1},isMoveDownComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveDown"))>-1},isCopyComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Copy"))>-1},isOperationComponent$1=e=>isAdditionComponent$1(e)||isRemoveComponent$1(e)||isMoveDownComponent$1(e)||isMoveUpComponent$1(e)||isCopyComponent$1(e),range$1=e=>Array.from({length:e}).map((t,o)=>o),takeDefaultActiveKeys$1=(e,t)=>e<t?range$1(e):range$1(t),insertActiveKeys$1=(e,t)=>e.length<=t?e.concat(t):e.reduce((o,r)=>r<t?o.concat(r):r===t?o.concat([r,r+1]):o.concat(r+1),[]),ArrayCollapse$1=(0,import_react.observer)(e=>{const{componentCls:t,hashId:o}=useStyles$e(),r=(0,import_react.useField)(),i=Array.isArray(r.value)?r.value:[],[n,a]=(0,import_react2.useState)(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount)),l=(0,import_react.useFieldSchema)();if((0,import_react2.useEffect)(()=>{!r.modified&&i.length&&a(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount))},[i.length,r]),!l)throw new Error("can not found schema object");const c=()=>l.reduceProperties((m,p,g)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:g}):m,null),u=()=>{if(!i.length)return(0,import_jsx_runtime.jsx)(import_antd.Card,{className:(0,import_classnames.default)(t,o,e.className),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{})})},d=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:m=>a((0,import_shared.toArr)(m).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((m,p)=>{const g=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,h=r.query(`${r.address}.${p}`).get("componentProps"),f=g["x-component-props"],_=()=>{const b=`${(h==null?void 0:h.header)||f.header||r.title}`,C=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${C}.**`});return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:()=>{var F;return(F=r.value)==null?void 0:F[p]},children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:F=>!!isIndexComponent$1(F),onlyRenderProperties:!0}),y.length?(0,import_jsx_runtime.jsx)(import_antd.Badge,{size:"small",className:"errors-badge",count:y.length,children:b}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:m.initialValue||m,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:m,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:b=>!!isOperationComponent$1(b),onlyRenderProperties:!0}),h==null?void 0:h.extra]}),S=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:b=>!(isIndexComponent$1(b)||isOperationComponent$1(b))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},f),h),{forceRender:!0,key:p,header:_(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:m,children:S},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:m=>{a(insertActiveKeys$1(n,m))},onRemove:()=>{r.initialValue=r.value},children:[u(),d(),c()]})},{displayName:"ArrayCollapse"}),CollapsePanel$1=({children:e})=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:e});CollapsePanel$1.displayName="CollapsePanel";ArrayCollapse$1.defaultProps={defaultOpenPanelCount:5};ArrayCollapse$1.displayName="ArrayCollapse";ArrayCollapse$1.CollapsePanel=CollapsePanel$1;import_antd_v5.ArrayBase.mixin(ArrayCollapse$1);ArrayCollapse$1.Copy=import_react2.default.forwardRef((e,t)=>{var o;const r=(0,import_react.useField)(),i=import_antd_v5.ArrayBase.useArray(),n=import_antd_v5.ArrayBase.useIndex(e.index);return!i||((o=i.field)==null?void 0:o.pattern)!=="editable"?null:(0,import_jsx_runtime.jsx)(import_icons.CopyOutlined,P(x({},e),{style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:"16px",marginLeft:6},ref:t,onClick:a=>{var l,c;if(r!=null&&r.disabled||(a.stopPropagation(),(l=i.props)!=null&&l.disabled))return;const u=(0,import_lodash.clone)((c=i==null?void 0:i.field)==null?void 0:c.value[n]);i.field.push(u),e.onClick&&e.onClick(a)}}))});ArrayCollapse$1.Copy.displayName="ArrayCollapse.Copy";const SchemaSettingsDataScope=function e(t){const{t:o}=(0,import_react_i18next.useTranslation)(),{getFields:r}=useCollectionFilterOptionsV2(t.collectionName),i=useRecord(),{form:n}=useFormBlockContext(),a=useVariables$1(),l=useLocalVariables$1(),{getAllCollectionsInheritChain:c}=useCollectionManager_deprecated(),{isInSubForm:u,isInSubTable:d}=useFlag()||{},m=(0,import_react2.useCallback)(g=>(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:n,record:i,noDisabled:!0,shouldChange:getShouldChange({collectionField:g.collectionField,variables:a,localVariables:l,getAllCollectionsInheritChain:c})}))}),[n,c,l,i,a]),p=()=>({type:"object",title:o("Set the data scope"),properties:{filter:{enum:t.collectionFilterOption||r(),"x-decorator":g=>(0,import_jsx_runtime.jsx)(BaseVariableProvider,P(x({},g),{children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:u,isInSubTable:d,children:g.children})})),"x-decorator-props":{isDisabled},"x-component":"Filter","x-component-props":{collectionName:t.collectionName,dynamicComponent:t.dynamicComponent||m}}}});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Set the data scope"),initialValues:{filter:t.defaultFilter},schema:p,onSubmit:t.onSubmit,noRecord:t.noRecord})};function isDisabled(e){var t,o;const{option:r,collectionField:i,uiSchema:n}=e;return!n||!i?!0:i.interface==="json"||r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}(0,import_react.observer)(()=>{const{getCollectionFields:e,getCollectionField:t,getCollection:o,isTitleField:r}=useCollectionManager_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCompile(),{formSchema:u,data:d}=n["x-designer-props"],{form:m}=useFormBlockContext(),p=i.componentProps.service.resource,g=o(p),h=e(p);if(!d)return(0,import_client.error)("data is required"),null;const f=()=>{var C,y;return((y=(C=d.config)==null?void 0:C[p])==null?void 0:y.filter)||{}},_=C=>{try{import_lodash.default.set(d,`config.${p}.filter`,removeNullCondition(C))}catch(y){(0,import_client.error)(y)}},v=()=>{var C,y;return((y=(C=d.config)==null?void 0:C[p])==null?void 0:y.titleField)||(g==null?void 0:g.titleField)||"id"},S=C=>{try{import_lodash.default.set(d,`config.${p}.titleField`,C)}catch(y){(0,import_client.error)(y)}},b=h.filter(C=>r(C)).map(C=>{var y;return{value:C==null?void 0:C.name,label:c((y=C==null?void 0:C.uiSchema)==null?void 0:y.title)||(C==null?void 0:C.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:f(),form:m,onSubmit:({filter:C})=>{_(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(C)?{}:removeNullCondition(mergeFilter([C,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=d,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":d}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:b,value:v(),onChange:C=>{S(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=C,F.componentProps.targetField=t(`${p}.${C||(g==null?void 0:g.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=d;const y={"x-uid":u["x-uid"],"x-data-templates":d};l.emit("patch",{schema:y}),l.refresh()}},"title-field")]})},{displayName:"Designer"});function getSelectedIdFilter(e){return e?{id:{$eq:e}}:null}function SelectItem(e){const t=e,{title:o,options:r,value:i,onChange:n}=t,a=K(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,x({popupMatchSelectWidth:!1,bordered:!1,value:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},a))]})}))}const Tree$1=(0,import_react.connect)(import_antd.Tree,(0,import_react.mapProps)({value:"checkedKeys",dataSource:"treeData"}));Tree$1.displayName="Tree";const compatibleDataId=(e,t)=>e==null?void 0:e.map(o=>{var r;const i=o,{dataId:n}=i,a=K(i,["dataId"]),l=x({},a);return n&&(l.dataScope={$and:[{id:{$eq:n}}]},l.titleField=(l==null?void 0:l.titleField)||((r=t==null?void 0:t[o.collection])==null?void 0:r.titleField)||"id"),l}),FormDataTemplates=withDynamicSchemaProps((0,import_react.observer)(e=>{const{formSchema:t,designerCtx:o,defaultValues:r,collectionName:i}=useProps(e),{collectionList:n,getEnableFieldTree:a,getOnLoadData:l,getOnCheck:c,getScopeDataSource:u,useTitleFieldDataSource:d}=useCollectionState(i),{getCollection:m,getCollectionField:p}=useCollectionManager_deprecated(),{t:g}=(0,import_react_i18next.useTranslation)(),h=(0,import_react2.useMemo)(()=>(0,import_reactive.observable)(P(x({},r),{items:compatibleDataId((r==null?void 0:r.items)||[],r==null?void 0:r.config)})),[]),f=y=>{var F;const j=m(y);return p(`${y}.${((F=h==null?void 0:h.config[y])==null?void 0:F.titleField)||(j==null?void 0:j.titleField)||"id"}`)},_=y=>{var F,j;const I=m(y);return{label:getLabel(((j=(F=h.config)==null?void 0:F[y])==null?void 0:j.titleField)||(I==null?void 0:I.titleField)||"id"),value:"id"}},v=(y,F)=>{var j,I;const T=(I=(j=h.config)==null?void 0:j[y])==null?void 0:I.filter;return import_lodash.default.isEmpty(T)?{}:removeNullCondition(mergeFilter([T,getSelectedIdFilter(F)],"$or"))},S=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),b=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:f,getFieldNames:_,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:d}),[]),C=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:h==null?void 0:h.items,"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{extra:[(0,import_jsx_runtime.jsx)(AsDefaultTemplate,{},"0")]},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{collection:{type:"string",title:'{{ t("Collection") }}',required:!0,description:g("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":n.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:n}},dataScope:{type:"object",title:'{{ t("Filter out a single piece or a group of records as a template") }}',"x-decorator":"FormItem","x-component":"Filter","x-component-props":{dynamicComponent:VariableInput},"x-decorator-props":{style:{marginBottom:"0px"}},required:!0,"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}"},schema:{enum:"{{ getScopeDataSource($deps[0]) }}"}}}]},titleField:{type:"string","x-decorator":"FormItem",title:'{{ t("Title field") }}',"x-decorator-props":{tooltip:'{{t("The title field is used to identify the template record")}}'},"x-component":"Select",required:!0,"x-reactions":"{{useTitleFieldDataSource}}"},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":"Action.Link","x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:()=>useSyncFromForm(t)}},fields:{type:"array",title:'{{ t("Template fields") }}',"x-decorator-props":{tooltip:'{{t("The selected fields will automatically populate the form")}}'},required:!0,description:g("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":Tree$1,"x-component-props":{treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:"{{ getOnLoadData($self) }}",onCheck:"{{ getOnCheck($self) }}",rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}",componentProps:{treeData:"{{ getEnableFieldTree($deps[0], $self) }}"}}}}]}}},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 template") }}',"x-component":"ArrayCollapse.Addition"}}},display:{type:"boolean","x-content":'{{ t("Enable form data template") }}',default:(h==null?void 0:h.display)!==!1,"x-decorator":"FormItem","x-component":"Checkbox"}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},o),{designable:!0}),children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:S,scope:b,schema:C})})}),{displayName:"FormDataTemplates"});function getLabel(e){return e||"label"}function getResource(e,t){return e!==t.componentProps.service.resource&&(t.value=void 0),e}const EnableChildCollections=withDynamicSchemaProps((0,import_react.observer)(e=>{const{defaultValues:t,collectionName:o}=useProps(e),r=(0,import_react.useForm)(),i=useCompile(),{getChildrenCollections:n}=useCollectionManager_deprecated(),a=n(o),l=u=>(d,m)=>{d.loading=!0,u(d,m).then(import_reactive.action.bound(p=>{d.dataSource=p,d.loading=!1,d.initialValue&&(d.disabled=!0)}))},c=u=>E(void 0,null,function*(){var d,m;const{childrenCollections:p}=((d=r.values)==null?void 0:d.enableChildren)||{};return(m=a.filter(g=>!p.find(h=>h.collection===g.name)||u.initialValue||g.name===u.value))==null?void 0:m.map(g=>({label:i(g.title),value:g.name}))});return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{type:"object",properties:{childrenCollections:{type:"array",default:t==null?void 0:t.filter(u=>a.find(d=>d.name===u.collection)),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},collection:{type:"string","x-decorator":"FormItem",required:!0,"x-component":"Select","x-component-props":{style:{width:260}},"x-reactions":["{{useAsyncDataSource(loadData)}}"]},title:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{style:{width:235}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add collection") }}',"x-component":"ArrayItems.Addition"}}}}},scope:{useAsyncDataSource:l,loadData:c}})}),{displayName:"EnableChildCollections"}),ChildDynamicComponent=(0,import_react.observer)(e=>{const{rootCollection:t,onChange:o,value:r,collectionField:i}=e,n=(0,import_react.useFieldSchema)(),{currentFormSettings:a}=useCurrentFormVariable({collectionName:t,collectionField:i}),{currentObjectSettings:l}=useCurrentObjectVariable({schema:i==null?void 0:i.uiSchema,collectionField:i}),c=useCompile(),u=(0,import_react2.useMemo)(()=>[a,l].filter(Boolean),[a,l]),d=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:m=>o(m),scope:d,style:{minWidth:"400px",marginRight:15},className:import_css.css`
283
+ `,GeneralSchemaDesigner=e=>{var t,o;const r=(0,import_react.useFieldSchema)(),{disableInitializer:i,title:n,template:a,schemaSettings:l,contextValue:c,draggable:u=!0,showDataSource:d=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:m,designable:p}=useDesignable(),g=(0,import_react.useField)(),{t:h}=(0,import_react_i18next.useTranslation)(),f=useCompile(),{getAriaLabel:_}=useGetAriaLabelOfDesigner(),v={dn:m,field:g,fieldSchema:r},{render:S,exists:b}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),C=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),I=useDataSource(),T=(j==null?void 0:j.length)>1&&I,z=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${h("(Fields only)")}`:a==null?void 0:a.name,B=(0,import_react2.useMemo)(()=>{var O;return{insertPosition:"afterEnd",wrap:((O=C==null?void 0:C.cols)==null?void 0:O.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":_("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[_,(t=C==null?void 0:C.cols)==null?void 0:t.length]);return p?(0,import_jsx_runtime.jsx)(SchemaToolbarProvider,P(x({},c),{children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("general-schema-designer",overrideAntdCSS),children:[n&&(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("general-schema-designer-title",titleCss),children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"title-tag",children:d&&T?`${f(T==null?void 0:T.displayName)} > ${f(n)}`:f(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[h("Reference template"),": ",z||h("Untitled")]})]})}),(0,import_jsx_runtime.jsx)("div",{className:"general-schema-designer-icons",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",children:[u&&(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":_("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},B)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,B)),b?S(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":_("schema-settings"),style:{cursor:"pointer",fontSize:12}})},v),{children:e.children}))]})})]})})):null},InternalSchemaToolbar=import_react2.default.memo(e=>{var t;const o=(0,import_react.useFieldSchema)(),{title:r,initializer:i,settings:n,showBackground:a,spaceWrapperClassName:l,spaceWrapperStyle:c,showBorder:u=!0,draggable:d=!0,spaceClassName:m,spaceStyle:p,toolbarClassName:g,toolbarStyle:h={}}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:_}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:v,hashId:S}=useStyles$f(),{t:b}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:C}=useGetAriaLabelOfDesigner(),y=useDataSourceManager(),F=y==null?void 0:y.getDataSources(),j=useDataSource(),I=(F==null?void 0:F.length)>1&&j,T=useRefreshFieldSchema(),z=(0,import_react2.useCallback)(()=>{T({refreshParentSchema:!0})},[T]),B=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return f(r)}},[r]),{render:O,exists:D}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:R,exists:$}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),w=useGridRowContext(),k=useGridContext(),N=(0,import_react2.useMemo)(()=>{var W;return{insertPosition:"afterEnd",wrap:((W=w==null?void 0:w.cols)==null?void 0:W.length)===1?gridRowColWrap:void 0,Component:Y=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},Y),{role:"button","aria-label":C("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[C,(t=w==null?void 0:w.cols)==null?void 0:t.length]),M=(0,import_react2.useMemo)(()=>d===!1||_===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":C("drag-handler")})}),[d,C,_]),L=(0,import_react2.useMemo)(()=>{var W;if(i===!1)return null;if($)return R(N);if(k!=null&&k.InitializerComponent||k!=null&&k.renderSchemaInitializer)return k!=null&&k.InitializerComponent?(0,import_jsx_runtime.jsx)(k.InitializerComponent,x({},N)):(W=k.renderSchemaInitializer)==null?void 0:W.call(k,N)},[k,i,N,$,R]),V=(0,import_react2.useMemo)(()=>n!==!1&&D?O():null,[D,O,n]),U=(0,import_react2.useRef)(null),q="hidden";(0,import_react2.useEffect)(()=>{const W=U.current;let Y=W==null?void 0:W.parentElement;for(;Y&&Y.clientHeight===0;)Y=Y.parentElement;if(!Y)return;function H(){var X;W&&(W.classList.remove(q),(X=e.onVisibleChange)==null||X.call(e,!0))}function J(){var X;W&&(W.classList.add(q),(X=e.onVisibleChange)==null||X.call(e,!1))}return window.getComputedStyle(Y).position==="static"&&(Y.style.position="relative"),Y.addEventListener("mouseenter",H),Y.addEventListener("mouseleave",J),()=>{Y.removeEventListener("mouseenter",H),Y.removeEventListener("mouseleave",J)}},[e.onVisibleChange]);const G=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},h),[a,u,h]);return(0,import_jsx_runtime.jsxs)("div",{ref:U,className:(0,import_classnames.default)(v,S,g,"schema-toolbar",q),style:G,children:[B&&(0,import_jsx_runtime.jsx)("div",{className:"toolbar-title",children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:2,children:[(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:I?`${f(I==null?void 0:I.displayName)} > ${B[0]}`:B[0]},B[0]),B[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${b("Reference template")}: ${`${B[1]}`||b("Untitled")}`})]})}),(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("toolbar-icons",l),style:c,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{size:3,align:"center",className:m,style:p,children:[M,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:z,children:L}),V]})})]})});InternalSchemaToolbar.displayName="InternalSchemaToolbar";const SchemaToolbarVisibleContext=(0,import_react2.createContext)(!1),SchemaToolbar=import_react2.default.memo(e=>{const{designable:t}=useDesignable(),[o,r]=(0,import_react2.useState)(!1),i=(0,import_react2.useCallback)(n=>{(0,import_react2.startTransition)(()=>{r(n)})},[]);return t?(0,import_jsx_runtime.jsx)(SchemaToolbarVisibleContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(InternalSchemaToolbar,P(x({},e),{onVisibleChange:i}))}):null});SchemaToolbar.displayName="SchemaToolbar";const SchemaToolbarErrorFallback=e=>{const{designable:t}=useDesignable();return t?(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,P(x({},e),{children:(0,import_jsx_runtime.jsx)(SchemaToolbar,{title:`render toolbar error: ${e.error.message}`})})):null},useSchemaToolbarRender=e=>{const{designable:t}=useDesignable(),o=(0,import_react2.useMemo)(()=>{if(e["x-designer"]||e["x-toolbar"])return e["x-designer"]||e["x-toolbar"];if(e["x-settings"])return SchemaToolbar},[e]),r=useComponent(o);return{render(i){return!t||!r?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:SchemaToolbarErrorFallback,onError:console.error,children:(0,import_jsx_runtime.jsx)(r,x(x({},e["x-toolbar-props"]),i))})},exists:!!r}},useCollectionManager_deprecated=e=>{const t=useDataSourceManager(),o=useDataSource(),r=useCollectionManager(),i=e||(o==null?void 0:o.key)||void 0,[n,a]=(0,import_react2.useState)((0,import_shared.uid)()),{refresh:l}=useSchemaComponentContext(),c=(0,import_react2.useMemo)(()=>{var R;return(R=t==null?void 0:t.collectionFieldInterfaceManager)==null?void 0:R.getFieldInterfaces().reduce(($,w)=>($[w.name]=w,$),{})},[t,n]),u=(0,import_react2.useMemo)(()=>t==null?void 0:t.collectionTemplateManager.getCollectionTemplates(),[t,n]),d=(0,import_react2.useCallback)(()=>{var R,$;return($=(R=t==null?void 0:t.getDataSource(i))==null?void 0:R.collectionManager)==null?void 0:$.getCollections().map(w=>w.getOptions())},[t,o]),m=(0,import_react2.useCallback)(R=>{var $;return r&&!R?r:($=t==null?void 0:t.getDataSource(R||i))==null?void 0:$.collectionManager},[r,t,i]),p=(0,import_react2.useMemo)(()=>{var R,$;return($=(R=t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY))==null?void 0:R.collectionManager)==null?void 0:$.getCollections()},[t,n]),g=(0,import_react2.useCallback)(()=>t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY).reload().then(()=>{l(),a((0,import_shared.uid)())}),[t]),h=(0,import_react2.useCallback)(()=>t==null?void 0:t.getDataSource(DEFAULT_DATA_SOURCE_KEY).reload().then(()=>{l(),a((0,import_shared.uid)())}),[t]),f=useCompile(),_=(0,import_react2.useCallback)((R,$)=>{var w,k;return((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getInheritedFields())||[]},[t,m]),v=(0,import_react2.useCallback)((R,$)=>{var w,k;if(!R)return[];const N=(w=m($))==null?void 0:w.getCollection(R);return((k=N==null?void 0:N.getAllFields)==null?void 0:k.call(N))||(N==null?void 0:N.getFields())||[]},[t,m]),S=(0,import_react2.useCallback)((R,$)=>{var w;if(!(!R||R.split(".").length<2))return(w=m($))==null?void 0:w.getCollectionField(R)},[t,m]),b=(0,import_react2.useCallback)((R,$)=>{var w,k;return R?((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getParentCollectionsName())||[]:[]},[t,m]),C=(0,import_react2.useCallback)((R,$=!1,w)=>{var k;if(!R)return[];const N=(k=m(w))==null?void 0:k.getCollection(R);return(N==null?void 0:N.getChildrenCollections($))||[]},[t,m]),y=(0,import_react2.useCallback)((R,$)=>{var w,k;return R?((k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getCurrentFields())||[]:[]},[t,m]),F=(0,import_react2.useCallback)((R,$="string",w)=>{var k;const{association:N=!1,cached:M={},collectionNames:L=[R],maxDepth:V=1,allowAllTypes:U=!1,exceptInterfaces:q=[],prefixFieldValue:G="",usePrefix:W=!1,dataSource:Y}=w||{};if(L.length-1>V)return;if(M[R])return import_lodash.default.cloneDeep(M[R]);typeof $=="string"&&($=[$]);const H=v(R,Y),J=(k=H==null?void 0:H.filter(X=>X.interface&&!q.includes(X.interface)&&(U||$.includes(X.type)||(N&&X.target&&X.target!==R&&Array.isArray(N)?N.includes(X.interface):!1))))==null?void 0:k.map(X=>{var Z,te;const oe=x({value:W&&G?`${G}.${X.name}`:X.name,label:f((Z=X==null?void 0:X.uiSchema)==null?void 0:Z.title)||X.name},X);return N&&X.target&&(oe.children=L.includes(X.target)?[]:F(X.target,$,P(x({},w),{cached:M,dataSource:Y,collectionNames:[...L,X.target],prefixFieldValue:W?G?`${G}.${X.name}`:X.name:"",usePrefix:W})),!((te=oe.children)!=null&&te.length))?null:oe}).filter(Boolean);return M[R]=J,J},[v]),j=(0,import_react2.useCallback)((R,$)=>{var w;return(w=m($))==null?void 0:w.getCollection(R)},[t,m]),I=(0,import_react2.useCallback)((R,$)=>{var w,k;return(k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getAllCollectionsInheritChain()},[t,m]),T=(0,import_react2.useCallback)((R,$)=>()=>{var w,k;return(k=(w=m($))==null?void 0:w.getCollection(R))==null?void 0:k.getInheritCollectionsChain()},[t,m]),z=(0,import_react2.useCallback)(R=>t==null?void 0:t.collectionFieldInterfaceManager.getFieldInterface(R),[t]),B=(0,import_react2.useCallback)(R=>{var $;return($=z(R.interface))==null?void 0:$.titleUsable},[z]),O=(0,import_react2.useCallback)((R,$,w)=>{var k,N;return(N=(k=m(w))==null?void 0:k.getCollection($))==null?void 0:N.getParentCollectionFields(R)},[t,m]),D=(0,import_react2.useCallback)((R="general")=>t==null?void 0:t.collectionTemplateManager.getCollectionTemplate(R),[t]);return{service:g,interfaces:c,collections:p,templates:u,getTemplate:D,getInterface:z,getCollections:d,getParentCollectionFields:O,getInheritCollections:b,getChildrenCollections:C,refreshCM:h,get:j,getInheritedFields:_,getCollectionField:S,getCollectionFields:v,getCollectionFieldsOptions:F,getCurrentCollectionFields:y,getCollection:j,getCollectionJoinField:S,getAllCollectionsInheritChain:I,getInheritCollectionsChain:T,isTitleField:B}},GetMenuItemContext=(0,import_react2.createContext)(null);GetMenuItemContext.displayName="GetMenuItemContext";const GetMenuItemsContext=(0,import_react2.createContext)(null);GetMenuItemsContext.displayName="GetMenuItemsContext";const useCollectMenuItem=()=>(0,import_react2.useContext)(GetMenuItemContext)||{},useCollectMenuItems=()=>(0,import_react2.useContext)(GetMenuItemsContext)||{},useMenuItem=()=>{const e=(0,import_react2.useRef)([]),t=(0,import_react2.useRef)(null),o=(0,import_react2.useRef)(!1),r=(0,import_react2.useCallback)(({limitCount:l})=>o.current?(o.current=!1,t.current?t.current():l&&e.current.length>l?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.current.slice(0,l).map((c,u)=>(0,import_jsx_runtime.jsx)(c,{},u))}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.current.map((c,u)=>(0,import_jsx_runtime.jsx)(c,{},u))})):null,[]),i=(0,import_react2.useCallback)(l=>{const c=[],u=d=>{c.push(d),c.sort((m,p)=>(m.order||0)-(p.order||0))};return o.current=!0,t.current=()=>{const d=c.filter(m=>m.notdelete).map(m=>import_lodash.default.omit(m,"notdelete"));return c.length=0,c.push(...d),(0,import_jsx_runtime.jsx)(GetMenuItemsContext.Provider,{value:{pushMenuItem:u},children:l()})},c},[]),n=(0,import_react2.useCallback)(l=>{const c={},u=d=>{Object.assign(c,d)};return o.current=!0,e.current.push(()=>(0,import_jsx_runtime.jsx)(GetMenuItemContext.Provider,{value:{collectMenuItem:u},children:l()})),c},[]),a=(0,import_react2.useCallback)(()=>{e.current=[]},[]);return{Component:r,getMenuItems:i,getMenuItem:n,clean:a}},CurrentPopupRecordContext=import_react2.default.createContext(null),CurrentParentPopupRecordContext=import_react2.default.createContext(null),VariablePopupRecordProvider=import_react2.default.memo(e=>{var t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=useCollectionRecordData(),n=useCollection(),a=useCurrentPopupRecord();return(0,import_jsx_runtime.jsx)(CurrentParentPopupRecordContext.Provider,{value:{name:"$nParentPopupRecord",title:r("Parent popup record"),value:((t=e.parent)==null?void 0:t.recordData)||(a==null?void 0:a.value),collection:((o=e.parent)==null?void 0:o.collection)||(a==null?void 0:a.collection)},children:(0,import_jsx_runtime.jsx)(CurrentPopupRecordContext.Provider,{value:{name:"$nPopupRecord",title:r("Current popup record"),value:e.recordData||i,collection:e.collection||n},children:e.children})})});VariablePopupRecordProvider.displayName="VariablePopupRecordProvider";const useCurrentPopupRecord=()=>import_react2.default.useContext(CurrentPopupRecordContext),useParentPopupRecord=()=>import_react2.default.useContext(CurrentParentPopupRecordContext),isModalTitle=e=>(0,import_shared.isNum)(e)||(0,import_shared.isStr)(e)||(0,import_shared.isBool)(e)||import_react2.default.isValidElement(e),getModelProps=e=>isModalTitle(e)?{title:e}:e;function FormDialog(e,t,o,r){((0,import_shared.isFn)(t)||import_react2.default.isValidElement(t))&&(r=o,o=t,t="form-dialog");const i={host:document.createElement("div"),form:null,promise:null,openMiddlewares:[],confirmMiddlewares:[],cancelMiddlewares:[]},n=createPortalRoot(i.host,t),a=getModelProps(e),l=P(x({},a),{afterClose:()=>{var m;(m=a==null?void 0:a.afterClose)==null||m.call(a),n.unmount()}}),c=(0,import_react.observer)(()=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:(0,import_shared.isFn)(o)?o(i.form):o}),{displayName:"DialogContent"}),u=(m=!0,p,g)=>{const{form:h}=i;return h?(0,import_jsx_runtime.jsx)(GlobalThemeProvider,{theme:r,children:(0,import_jsx_runtime.jsx)(import_react.Observer,{children:()=>{const{token:f}=useToken$1();return(0,import_jsx_runtime.jsx)(import_antd.Modal,P(x({zIndex:f.zIndexPopupBase+1e3},l),{open:m,confirmLoading:h.submitting,onCancel:_=>{var v;((v=l==null?void 0:l.onCancel)==null?void 0:v.call(l,_))!==!1&&(g==null||g())},onOk:_=>E(this,null,function*(){var v;((v=l==null?void 0:l.onOk)==null?void 0:v.call(l,_))!==!1&&(p==null||p())}),children:(0,import_jsx_runtime.jsx)(import_react.FormProvider,{form:h,children:(0,import_jsx_runtime.jsx)(c,{})})}))}})}):null};document.body.appendChild(i.host);const d={forOpen:m=>((0,import_shared.isFn)(m)&&i.openMiddlewares.push(m),d),forConfirm:m=>((0,import_shared.isFn)(m)&&i.confirmMiddlewares.push(m),d),forCancel:m=>((0,import_shared.isFn)(m)&&i.cancelMiddlewares.push(m),d),open:m=>E(this,null,function*(){return i.promise||(i.promise=new Promise((p,g)=>E(this,null,function*(){try{m=yield loading$1(l.loadingText,()=>(0,import_shared.applyMiddleware)(m,i.openMiddlewares)),i.form=i.form||(0,import_core.createForm)(m)}catch(h){g(h)}n.render(()=>u(!0,()=>{var h;(h=i.form)==null||h.submit(()=>E(this,null,function*(){yield(0,import_shared.applyMiddleware)(i.form,i.confirmMiddlewares),(0,import_reactive.untracked)(()=>{var f;p(x({},(f=i.form)==null?void 0:f.values))}),d.close()})).catch(()=>{})},()=>E(this,null,function*(){yield loading$1(l.loadingText,()=>(0,import_shared.applyMiddleware)(i.form,i.cancelMiddlewares)),d.close()})))}))),i.promise}),close:()=>{i.host&&n.render(()=>u(!1))}};return d}const DialogFooter=e=>{const t=(0,import_react2.useRef)(null),[o,r]=(0,import_react2.useState)(),i=(0,import_react2.useRef)(),n=usePrefixCls("modal");return(0,import_react2.useLayoutEffect)(()=>{var a;const l=(a=t.current)==null?void 0:a.closest(`.${n}-content`);l&&(i.current||(i.current=l.querySelector(`.${n}-footer`),i.current||(i.current=document.createElement("div"),i.current.classList.add(`${n}-footer`),l.appendChild(i.current))),r(i.current))},[n]),i.current=o,(0,import_jsx_runtime.jsx)("div",{ref:t,style:{display:"none"},children:o&&(0,import_react_dom.createPortal)(e.children,o)})};FormDialog.Footer=DialogFooter;FormDialog.Portal=createPortalProvider("form-dialog");const useAPITokenVariable=({noDisabled:e}={})=>{var t;const o=useAPIClient();return{apiTokenSettings:useBaseVariable({name:"$nToken",title:"API token",noDisabled:e,noChildren:!0}),apiTokenCtx:(t=o.auth)==null?void 0:t.token}},popupSchema={type:"void","x-component":"Action.Container","x-action":"view",title:'{{ t("View record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},useInsertSchema=()=>{const e=(0,import_react.useFieldSchema)(),{insertAfterBegin:t}=useDesignable();return(0,import_react2.useCallback)(o=>{e.reduceProperties((r,i)=>i["x-component"]==="Action.Container"?i:r,null)||t((0,import_lodash.cloneDeep)(o))},[e,t])},filterProperties=e=>e["x-component"]==="Action.Container";function withPopupWrapper(e){return t=>{const[o,r]=(0,import_react2.useState)(!1),[i,n]=(0,import_react2.useState)(!1),a=useInsertSchema(),l=useCollection(),c=useActionContext(),u=(0,import_react.useField)(),d=(0,import_react.useFieldSchema)(),{enableLink:m,openMode:p,openSize:g}=(d==null?void 0:d["x-component-props"])||{},{visibleWithURL:h,setVisibleWithURL:f}=usePopupUtils(),{openPopup:_}=usePopupUtils(),v=(0,import_react2.useRef)(!1),S=(0,import_react2.useRef)(d);S.current=d;const b=(0,import_react2.useCallback)(()=>S.current,[]),C=(0,import_react2.useCallback)(()=>{d.properties||(a(popupSchema),v.current=!0),v.current?(setTimeout(()=>{_({customActionSchema:b()})}),v.current=!1):d.properties&&_()},[d,a,_,b]),{setSubmitted:y}=c,F=(0,import_react2.useCallback)(j=>{r==null||r(j),f==null||f(j)},[f]);return m?(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:(0,import_jsx_runtime.jsx)(e,x({},t)),visible:o||h,setVisible:F,formValueChanged:i,setFormValueChanged:n,openMode:p,openSize:g,containerRefKey:"field-popup",fieldSchema:d,setSubmitted:y,children:[(0,import_jsx_runtime.jsx)(CollectionProvider,{name:l.name,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:u==null?void 0:u.address,schema:d,filterProperties})})})}),(0,import_jsx_runtime.jsx)("a",{onClick:C,children:(0,import_jsx_runtime.jsx)(e,x({},t))})]})}):(0,import_jsx_runtime.jsx)(e,x({},t))}}const ReadPretty$d=()=>null;ReadPretty$d.DatePicker=function e(t){const{value:o,picker:r="date"}=t,i=(0,import_builtins.usePrefixCls)("description-date-picker",t);if(!o)return(0,import_jsx_runtime.jsx)("div",{});const n=()=>{const a=(0,import_client.getDefaultFormat)(t),l=(0,import_client.str2moment)(o,t),c=import_dayjs.default.isDayjs(l)?l.format(a):"";return(0,import_shared.isArr)(c)?c.join("~"):c};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(i,t.className),children:n()})};ReadPretty$d.DateRangePicker=function e(t){const o=(0,import_builtins.usePrefixCls)("description-text",t),r=(0,import_client.getDefaultFormat)(t),i=()=>{const n=(0,import_client.str2moment)(t.value,t);if(!n)return"";const a=n.map(l=>l.format(r));return(0,import_shared.isArr)(a)?a.join("~"):a};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(o,t.className),style:t.style,children:i()})};ReadPretty$d.DatePicker=withPopupWrapper(ReadPretty$d.DatePicker);const DatePickerContext=import_react2.default.createContext({utc:!0}),useDatePickerContext=()=>import_react2.default.useContext(DatePickerContext),DatePickerProvider=DatePickerContext.Provider,InternalDatePicker=(0,import_react.connect)(import_antd.DatePicker,(0,import_react.mapProps)(mapDatePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DatePicker)),InternalRangePicker=(0,import_react.connect)(import_antd.DatePicker.RangePicker,(0,import_react.mapProps)(mapRangePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DateRangePicker)),DatePicker=e=>{const{utc:t=!0}=useDatePickerContext(),o=Array.isArray(e.value)?e.value[0]:e.value,{parseVariable:r}=useVariables$1()||{},i=useLocalVariables$1(),[n,a]=(0,import_react2.useState)(null),[l,c]=(0,import_react2.useState)(null),u=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>(u.current&&u.current(),u.current=(0,import_reactive.autorun)(()=>{d()}),()=>{u.current()}),[e._maxDate,e._minDate,i,r]);const d=()=>E(void 0,null,function*(){let p=e._minDate?Promise.resolve((0,import_dayjs.default)(e._minDate)):Promise.resolve(null),g=e._maxDate?Promise.resolve((0,import_dayjs.default)(e._maxDate)):Promise.resolve(null);isVariable$1(e._maxDate)&&(g=r(e._maxDate,i).then(b=>(0,import_dayjs.default)(b.value))),isVariable$1(e._minDate)&&(p=r(e._minDate,i).then(b=>(0,import_dayjs.default)(b.value)));const[h,f]=yield Promise.all([p,g]),_=Array.from({length:60},(b,C)=>C),v=b=>{if(!b||!h&&!f)return!1;const C=(0,import_dayjs.default)(b);return C.isBefore(h,"minute")||C.isAfter(f,"minute")},S=b=>{if(!b||!h&&!f)return{disabledHours:()=>[],disabledMinutes:()=>[],disabledSeconds:()=>[]};const C=(0,import_dayjs.default)(b),y=C.isSame(h,"day"),F=C.isSame(f,"day");return{disabledHours:()=>{const j=[];return y&&j.push(...Array.from({length:h.hour()},(I,T)=>T)),F&&j.push(...Array.from({length:24-f.hour()},(I,T)=>T+f.hour()+1)),j},disabledMinutes:j=>y&&j===h.hour()?_.filter(I=>I<h.minute()):F&&j===f.hour()?_.filter(I=>I>f.minute()):[],disabledSeconds:(j,I)=>y&&j===h.hour()&&I===h.minute()?_.filter(T=>T<h.second()):F&&j===f.hour()&&I===f.minute()?_.filter(T=>T>f.second()):[]}};a(()=>v),c(()=>S)}),m=P(x({utc:t},e),{disabledDate:n,disabledTime:l,showTime:e.showTime?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1});return(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},m),{value:o}))};DatePicker.ReadPretty=ReadPretty$d.DatePicker;DatePicker.RangePicker=function e(t){const{value:o,picker:r="date",format:i,showTime:n,timeFormat:a}=t,{t:l}=(0,import_react_i18next.useTranslation)(),c=(0,import_react.useFieldSchema)(),u=(0,import_react.useField)(),{utc:d=!0}=useDatePickerContext(),m=getDateRanges(),p=useCompile(),g=!c["x-filter-operator"],h=[{label:l("Today"),value:m.today},{label:l("Last week"),value:m.lastWeek},{label:l("This week"),value:m.thisWeek},{label:l("Next week"),value:m.nextWeek},{label:l("Last month"),value:m.lastMonth},{label:l("This month"),value:m.thisMonth},{label:l("Next month"),value:m.nextMonth},{label:l("Last quarter"),value:m.lastQuarter},{label:l("This quarter"),value:m.thisQuarter},{label:l("Next quarter"),value:m.nextQuarter},{label:l("Last year"),value:m.lastYear},{label:l("This year"),value:m.thisYear},{label:l("Next year"),value:m.nextYear},{label:l("Last 7 days"),value:m.last7Days},{label:l("Next 7 days"),value:m.next7Days},{label:l("Last 30 days"),value:m.last30Days},{label:l("Next 30 days"),value:m.next30Days},{label:l("Last 90 days"),value:m.last90Days},{label:l("Next 90 days"),value:m.next90Days}],f=o?inferPickerType(o==null?void 0:o[0]):r,_=(0,import_client.getPickerFormat)(f)||i,v=P(x({utc:d,presets:h},t),{format:(0,import_client.getDateTimeFormat)(f,_,n,a),picker:f,showTime:n?{defaultValue:[(0,import_dayjs.default)("00:00:00","HH:mm:ss"),(0,import_dayjs.default)("23:59:59","HH:mm:ss")]}:!1}),[S,b]=(0,import_react2.useState)(v);return g?(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:f,options:p([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:C=>{const y=(0,import_client.getPickerFormat)(C),F=(0,import_client.getDateTimeFormat)(C,y,n,a);u.setComponentProps({picker:C,format:y}),v.picker=C,v.format=F,b(v),c["x-component-props"]=P(x({},t),{picker:C,format:F}),u.value=void 0}}),(0,import_jsx_runtime.jsx)(InternalRangePicker,P(x({},S),{value:o}))]}):(0,import_jsx_runtime.jsx)(InternalRangePicker,x({},v))};DatePicker.FilterWithPicker=function e(t){const{picker:o="date",format:r,showTime:i,timeFormat:n}=t,a=isMobile(),{utc:l=!0}=useDatePickerContext(),c=Array.isArray(t.value)?t.value[0]:t.value,u=useCompile(),d=(0,import_react.useFieldSchema)(),m=c?inferPickerType(c):o,p=(0,import_client.getPickerFormat)(m)||r,g=P(x({utc:l,inputReadOnly:a},t),{underFilter:!0,showTime:i?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1,format:(0,import_client.getDateTimeFormat)(m,p,i,n),picker:m,onChange:v=>{t.onChange(void 0),setTimeout(()=>{t.onChange(v)})}}),h=(0,import_react.useField)(),[f,_]=(0,import_react2.useState)(g);return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{width:"100%"},children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:m,options:u([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:v=>{const S=(0,import_client.getPickerFormat)(v),b=(0,import_client.getDateTimeFormat)(v,S,i,n);h.setComponentProps({picker:v,format:S}),g.picker=v,g.format=b,_(g),d["x-component-props"]=P(x({},t),{picker:v,format:b}),h.value=null}}),(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},f),{value:c}))]})};const useDateVariable=({operator:e,schema:t,noDisabled:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),i=(e==null?void 0:e.value)||"",n=o?!1:!["DatePicker","DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"]),a=[{key:"now",value:"now",label:r("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||i==="$dateBetween"},{key:"yesterday",value:"yesterday",label:r("Yesterday"),disabled:n},{key:"today",value:"today",label:r("Today"),disabled:n},{key:"tomorrow",value:"tomorrow",label:r("Tomorrow"),disabled:n},{key:"lastIsoWeek",value:"lastIsoWeek",label:r("Last week"),disabled:n},{key:"thisIsoWeek",value:"thisIsoWeek",label:r("This week"),disabled:n},{key:"nextIsoWeek",value:"nextIsoWeek",label:r("Next week"),disabled:n},{key:"lastMonth",value:"lastMonth",label:r("Last month"),disabled:n},{key:"thisMonth",value:"thisMonth",label:r("This month"),disabled:n},{key:"nextMonth",value:"nextMonth",label:r("Next month"),disabled:n},{key:"lastQuarter",value:"lastQuarter",label:r("Last quarter"),disabled:n},{key:"thisQuarter",value:"thisQuarter",label:r("This quarter"),disabled:n},{key:"nextQuarter",value:"nextQuarter",label:r("Next quarter"),disabled:n},{key:"lastYear",value:"lastYear",label:r("Last year"),disabled:n},{key:"thisYear",value:"thisYear",label:r("This year"),disabled:n},{key:"nextYear",value:"nextYear",label:r("Next year"),disabled:n},{key:"last7Days",value:"last7Days",label:r("Last 7 days"),disabled:n},{key:"next7Days",value:"next7Days",label:r("Next 7 days"),disabled:n},{key:"last30Days",value:"last30Days",label:r("Last 30 days"),disabled:n},{key:"next30Days",value:"next30Days",label:r("Next 30 days"),disabled:n},{key:"last90Days",value:"last90Days",label:r("Last 90 days"),disabled:n},{key:"next90Days",value:"next90Days",label:r("Next 90 days"),disabled:n}],l=(0,import_react2.useMemo)(()=>({label:r("Date variables"),value:"$nDate",key:"$nDate",disabled:a.every(c=>c.disabled),children:a}),[t==null?void 0:t["x-component"]]);return t?l:null},useDatetimeVariableContext=()=>{const{utc:e=!0}=useDatePickerContext();return{datetimeCtx:(0,import_react2.useMemo)(()=>getDateRanges({shouldBeString:!0,utc:e}),[e])}},useDatetimeVariable=({operator:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{getOperator:n}=useOperators(),a=(0,import_react2.useMemo)(()=>{const c=(e==null?void 0:e.value)||n(r==null?void 0:r.name)||"",u=o?!1:!["DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"])&&!c,d=[{key:"now",value:"now",label:i("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||c==="$dateBetween"},{key:"yesterday",value:"yesterday",label:i("Yesterday"),disabled:u},{key:"today",value:"today",label:i("Today"),disabled:u},{key:"tomorrow",value:"tomorrow",label:i("Tomorrow"),disabled:u},{key:"lastIsoWeek",value:"lastIsoWeek",label:i("Last week"),disabled:u},{key:"thisIsoWeek",value:"thisIsoWeek",label:i("This week"),disabled:u},{key:"nextIsoWeek",value:"nextIsoWeek",label:i("Next week"),disabled:u},{key:"lastMonth",value:"lastMonth",label:i("Last month"),disabled:u},{key:"thisMonth",value:"thisMonth",label:i("This month"),disabled:u},{key:"nextMonth",value:"nextMonth",label:i("Next month"),disabled:u},{key:"lastQuarter",value:"lastQuarter",label:i("Last quarter"),disabled:u},{key:"thisQuarter",value:"thisQuarter",label:i("This quarter"),disabled:u},{key:"nextQuarter",value:"nextQuarter",label:i("Next quarter"),disabled:u},{key:"lastYear",value:"lastYear",label:i("Last year"),disabled:u},{key:"thisYear",value:"thisYear",label:i("This year"),disabled:u},{key:"nextYear",value:"nextYear",label:i("Next year"),disabled:u},{key:"last7Days",value:"last7Days",label:i("Last 7 days"),disabled:u},{key:"next7Days",value:"next7Days",label:i("Next 7 days"),disabled:u},{key:"last30Days",value:"last30Days",label:i("Last 30 days"),disabled:u},{key:"next30Days",value:"next30Days",label:i("Next 30 days"),disabled:u},{key:"last90Days",value:"last90Days",label:i("Last 90 days"),disabled:u},{key:"next90Days",value:"next90Days",label:i("Next 90 days"),disabled:u}];return{label:i("Date variables"),value:"$nDate",key:"$nDate",disabled:d.every(m=>m.disabled),children:d}},[t==null?void 0:t["x-component"],r]),{datetimeCtx:l}=useDatetimeVariableContext();return{datetimeSettings:a,datetimeCtx:l}},useRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:n("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0})},useCurrentRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useAPIClient();return{currentRoleSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:a("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0}),currentRoleCtx:(n=l.auth)==null?void 0:n.role}},getURLSearchParams=e=>(e.startsWith("?")&&(e=e.slice(1)),import_qs.default.parse(e)||{}),getURLSearchParamsChildren=e=>Object.keys(e).map(t=>({label:t,value:t,key:t,isLeaf:!0})),useURLSearchParamsCtx=e=>{const[t]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({}));return(0,import_react2.useMemo)(()=>{const o=getURLSearchParams(e);return(0,import_reactive.untracked)(()=>{Object.assign(t,o),Object.keys(t).forEach(r=>{o[r]===void 0&&delete t[r]})}),t},[t,e])},useURLSearchParamsVariable=(e={})=>{const t="$nURLSearchParams",{t:o}=(0,import_react_i18next.useTranslation)(),r=useLocationSearch(),{isVariableParsedInOtherContext:i}=useFlag(),n=useURLSearchParamsCtx(r),a=(0,import_react2.useMemo)(()=>import_lodash.default.isEmpty(n),[n]),l=(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(o("URL search params"),a?o("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."):""),value:t,key:t,isLeaf:!1,disabled:a,loadChildren:(c,u)=>E(void 0,null,function*(){const d=u?{[u]:void 0}:{};c.children=getURLSearchParamsChildren(x(x({},d),n))})}),[a,o,n]);return{name:t,urlSearchParamsSettings:l,urlSearchParamsCtx:n,defaultValue:void 0,shouldDisplay:!i}},useUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:n("Current user"),collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY,noDisabled:o,targetFieldSchema:r})},useCurrentUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useCurrentUserContext();return{currentUserSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:a("Current user"),collectionName:"users",noDisabled:o,targetFieldSchema:r,dataSource:DEFAULT_DATA_SOURCE_KEY}),currentUserCtx:(n=l==null?void 0:l.data)==null?void 0:n.data}},useCurrentFormContext=({form:e}={})=>{const{form:t}=useFormBlockContext(),{isVariableParsedInOtherContext:o}=useFlag(),r=e||t;return{currentFormCtx:r==null?void 0:r.values,shouldDisplayCurrentForm:r&&!r.readPretty&&!o}},useCurrentFormVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r,form:i}={})=>{const{currentFormCtx:n,shouldDisplayCurrentForm:a}=useCurrentFormContext({form:i}),{t:l}=(0,import_react_i18next.useTranslation)(),{collectionName:c}=useFormBlockContext(),u=useDataSource();return{currentFormSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nForm",title:l("Current form"),collectionName:c,noDisabled:o,dataSource:u==null?void 0:u.key,returnFields:(d,m)=>d}),currentFormCtx:n,shouldDisplayCurrentForm:a}},useCurrentObjectContext=()=>{const{isInSubForm:e,isInSubTable:t}=useFlag()||{},{formValue:o,collection:r}=useSubFormValue();return{shouldDisplayCurrentObject:e||t,currentObjectCtx:o,collectionOfCurrentObject:r}},useCurrentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const i=useCollection(),{t:n}=(0,import_react_i18next.useTranslation)(),{shouldDisplayCurrentObject:a,currentObjectCtx:l,collectionOfCurrentObject:c}=useCurrentObjectContext(),u=useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$iteration",title:n("Current object"),collectionName:(c==null?void 0:c.name)||(i==null?void 0:i.name),noDisabled:o,dataSource:i==null?void 0:i.dataSource,returnFields:(d,m)=>d});return{shouldDisplayCurrentObject:a,currentObjectCtx:l,currentObjectSettings:u}},useParentObjectContext=()=>{const{parent:e}=useSubFormValue(),{value:t,collection:o}=e||{},{isInSubForm:r,isInSubTable:i}=useFlag()||{};return{shouldDisplayParentObject:(r||i)&&!!o,parentObjectCtx:t,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource}},useParentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l,dataSource:c}=useParentObjectContext();return{parentObjectSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nParentIteration",title:i("Parent object"),collectionName:l,noDisabled:o,dataSource:c,returnFields:(u,d)=>u}),shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l}},useParentPopupVariableContext=()=>{const{value:e,title:t,collection:o}=useParentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{parentPopupRecordCtx:e,shouldDisplayParentPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},useParentPopupVariable=(e={})=>{const{parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=useParentPopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},ParentCollectionContext=(0,import_react2.createContext)(null);ParentCollectionContext.displayName="ParentCollectionContext";const ParentCollectionProvider=e=>{const t=useCollection();return(0,import_jsx_runtime.jsx)(ParentCollectionContext.Provider,{value:t,children:e.children})},useParentCollection=()=>(0,import_react2.useContext)(ParentCollectionContext),AssociationProvider=e=>{const{name:t,children:o}=e,r=useCollectionManager().getCollectionName(t);return r?(0,import_jsx_runtime.jsx)(CollectionProvider,{name:String(t).split(".")[0],children:(0,import_jsx_runtime.jsx)(ParentCollectionProvider,{children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:r,children:o})})})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Collection",name:t})},useAssociationName=()=>{const e=useCollectionField();return e!=null&&e.target?`${e.collectionName}.${e.name}`:null},useCurrentParentRecordContext=()=>{var e,t;const o=useCollectionRecord(),{name:r,dataSource:i}=useParentCollection()||{},n=useCollection(),{isInSubForm:a,isInSubTable:l}=useFlag()||{},c=r?i:n==null?void 0:n.dataSource,u=useCollectionField();return{currentParentRecordCtx:((e=o==null?void 0:o.parentRecord)==null?void 0:e.data)||(o==null?void 0:o.data),shouldDisplayCurrentParentRecord:!!((t=o==null?void 0:o.parentRecord)!=null&&t.data)&&!a&&!l&&u,collectionName:r||(n==null?void 0:n.name),dataSource:c}},useCurrentParentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}=useCurrentParentRecordContext();return{currentParentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentRecord",title:t("Parent record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:n}),currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}},usePopupVariableContext=()=>{const{value:e,title:t,collection:o}=useCurrentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{popupRecordCtx:e,shouldDisplayPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},usePopupVariable=(e={})=>{const{popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=usePopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},useVariableOptions=({collectionField:e,form:t,uiSchema:o,operator:r,noDisabled:i,targetFieldSchema:n,record:a})=>{var l;const{filterVariables:c=()=>!0}=useVariables$1()||{},u=(l=a==null?void 0:a.__parent)==null?void 0:l.__collectionName,{currentUserSettings:d}=useCurrentUserVariable({maxDepth:3,uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentRoleSettings:m}=useCurrentRoleVariable({uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{apiTokenSettings:p}=useAPITokenVariable({noDisabled:i}),{datetimeSettings:g}=useDatetimeVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{currentFormSettings:h,shouldDisplayCurrentForm:f}=useCurrentFormVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n,form:t}),{currentObjectSettings:_,shouldDisplayCurrentObject:v}=useCurrentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{parentObjectSettings:S,shouldDisplayParentObject:b}=useParentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{currentRecordSettings:C,shouldDisplayCurrentRecord:y}=useCurrentRecordVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:F,shouldDisplayPopupRecord:j}=usePopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:I,shouldDisplayParentPopupRecord:T}=useParentPopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentParentRecordSettings:z,shouldDisplayCurrentParentRecord:B}=useCurrentParentRecordVariable({schema:o,collectionName:u,collectionField:e,noDisabled:i,targetFieldSchema:n}),{urlSearchParamsSettings:O,shouldDisplay:D}=useURLSearchParamsVariable();return(0,import_react2.useMemo)(()=>[d,m,p,g,f&&h,v&&_,b&&S,y&&C,B&&z,j&&F,T&&I,D&&O].filter(Boolean).filter(c),[d,m,p,g,f,h,v,_,b,S,y,C,B,z,j,F,D,O])},RemoveConditionContext=(0,import_react2.createContext)(null);RemoveConditionContext.displayName="RemoveConditionContext";const FilterContext$1=(0,import_react2.createContext)(null);FilterContext$1.displayName="FilterContext";const FilterLogicContext=(0,import_react2.createContext)(null);FilterLogicContext.displayName="FilterLogicContext";const findOption$1=(e=[],t)=>{var o;let r=t,i;return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const a=r.find(l=>l.name===n);a&&(i=a),r=(a==null?void 0:a.children)||[]}),i},useValues$1=()=>{const{name:e}=useCollection_deprecated(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),o=(0,import_react.useField)(),{options:r,collectionName:i,field:n}=(0,import_react2.useContext)(FilterContext$1)||{},a=(0,import_flat.default)(o.value||{}),l=Object.keys(a).shift()||"",c=(0,import_react2.useMemo)(()=>{const[g=""]=l.split(".$");return t(`${i||e}.${g}`)},[e,l]),u=(0,import_react2.useCallback)(()=>{var g,h,f,_;o.value=import_flat.default.unflatten({[`${(g=o.data.dataIndex)==null?void 0:g.join(".")}.${(f=(h=o.data)==null?void 0:h.operator)==null?void 0:f.value}`]:(_=o.data)==null?void 0:_.value})},[o]);(0,import_react2.useEffect)(()=>{var g;if(o.data=o.data||{},!l||!r)return;const[h="",f=""]=l.split(".$"),[_]=f.split(".",2),v=h.split("."),S=findOption$1(v,r),b=S==null?void 0:S.operators,C=(g=b==null?void 0:b.find)==null?void 0:g.call(b,y=>y.value===`$${_}`);if(o.data.dataIndex=v,(v==null?void 0:v.length)>1){const y=v.concat();y.pop();const F=t(`${e}.${y.join(".")}`);n.collectionName=F==null?void 0:F.target}else n.collectionName=null;o.data.operators=b,o.data.operator=C,o.data.schema=(0,import_shared.merge)(S==null?void 0:S.schema,C==null?void 0:C.schema),o.data.value=(0,import_get.default)((0,import_flat.unflatten)(o.value),`${h}.$${_}`)},[o.path]);const d=(0,import_react2.useCallback)(g=>{var h;const f=findOption$1(g,r),_=(h=f==null?void 0:f.operators)==null?void 0:h[0];o.data=o.data||{},o.data.operators=f==null?void 0:f.operators,o.data.operator=_;const v=(0,import_cloneDeep.default)(f==null?void 0:f.schema),S=(0,import_cloneDeep.default)(_==null?void 0:_.schema);if(o.data.schema=(0,import_shared.merge)(v,S),o.data.dataIndex=g,(g==null?void 0:g.length)>1){const b=g.concat();b.pop();const C=t(`${e}.${b.join(".")}`);n.collectionName=C==null?void 0:C.target}else n.collectionName=null;o.data.value=_!=null&&_.noValue?_.default||!0:void 0,u()},[u,o,r]),m=(0,import_react2.useCallback)(g=>{var h,f,_;const v=(_=(f=(h=o.data)==null?void 0:h.operators)==null?void 0:f.find)==null?void 0:_.call(f,y=>y.value===g);o.data.operator=v;const S=findOption$1(o.data.dataIndex,r),b=(0,import_cloneDeep.default)(S==null?void 0:S.schema),C=(0,import_cloneDeep.default)(v==null?void 0:v.schema);o.data.schema=(0,import_shared.merge)(b,C),o.data.value=v.noValue?v.default||!0:void 0,u()},[u,o.data,r]),p=(0,import_react2.useCallback)(g=>{o.data.value=g,u()},[u,o.data]);return P(x({fields:r},(o==null?void 0:o.data)||{}),{collectionField:c,setDataIndex:d,setOperator:m,setValue:p})},useBlockCollection=()=>{const e=useDataBlockProps();return{name:(e==null?void 0:e.collection)||(e==null?void 0:e.resource)}},useIsSameOrChildCollection=()=>{const{getChildrenCollections:e}=useCollectionManager_deprecated();return(t,o)=>{if(t===o)return!0;const r=e(o);return r==null?void 0:r.some(i=>i.name===t)}},getChildren=(e,{schema:t,depth:o,maxDepth:r,loadChildren:i,compile:n},a,l)=>e.map(c=>{const u=!l(c.target,a==null?void 0:a.target);return c.target?o>=r?null:{key:c.name,value:c.name,label:n(c.title),disabled:u,isLeaf:!0,field:c,depth:o,loadChildren:i}:{key:c.name,value:c.name,label:n(c.title),disabled:u,isLeaf:!0,depth:o}}).filter(Boolean),useContextAssociationFields=({schema:e,maxDepth:t=3,contextCollectionName:o,collectionField:r})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCompile(),a=useGetFilterOptions(),l=useIsSameOrChildCollection(),c=u=>{var d;if(!((d=u.field)!=null&&d.target))return new Promise(p=>{(0,import_client.error)("Must be set field target"),u.children=[],p(void 0)});const m=u.field.target;return new Promise(p=>{setTimeout(()=>{const g=getChildren(a(m).filter(h=>["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(h.type)),{schema:e,depth:u.depth+1,maxDepth:t,loadChildren:c,compile:n},r,l)||[];if(g.length===0){u.disabled=!0,u.children=[],p();return}u.children=g,p()},5)})};return(0,import_react2.useMemo)(()=>({label:i("Table selected records"),value:"$context",key:"$context",isLeaf:!1,field:{target:o},depth:0,loadChildren:c}),[e==null?void 0:e["x-component"]])},VariableInput=e=>{const{value:t,onChange:o,renderSchemaComponent:r,style:i,schema:n,className:a,contextCollectionName:l,collectionField:c,shouldChange:u,form:d,record:m,returnScope:p=import_lodash.default.identity,targetFieldSchema:g,noDisabled:h,hideVariableButton:f}=e,{name:_}=useBlockCollection(),v=useVariableScope(),{operator:S,schema:b=c==null?void 0:c.uiSchema}=useValues$1(),C=useVariableOptions({collectionField:c,form:d,record:m,operator:S,uiSchema:b,targetFieldSchema:g,noDisabled:h}),y=useContextAssociationFields({schema:n,maxDepth:2,contextCollectionName:l,collectionField:c}),{compatOldVariables:F}=useCompatOldVariables({collectionField:c,uiSchema:b,targetFieldSchema:g,blockCollectionName:_});l&&C.every(I=>I.value!==y.value)&&C.push(y);const j=(0,import_react2.useCallback)((I,T)=>{if(!u)return o(I);setTimeout(()=>E(void 0,null,function*(){(yield u(I,T))&&o(I)}))},[o,u]);return(0,import_jsx_runtime.jsx)(Variable.Input,{className:a,value:t,onChange:j,scope:p(F(import_lodash.default.isEmpty(v)?C:v,{value:t})),style:i,changeOnSelect:!0,hideVariableButton:f,children:(0,import_jsx_runtime.jsx)(r,{value:t,onChange:o})})},getShouldChange=({collectionField:e,variables:t,localVariables:o,getAllCollectionsInheritChain:r})=>{const i=e?r(e.target):[];return(n,a)=>E(void 0,null,function*(){if(import_lodash.default.isString(n)&&n.includes("$nRole")||!isVariable$1(n)||!t||!e||e.interface==="json")return!0;const l=a[a.length-1];if(l&&import_lodash.default.isEmpty(l.children)&&!l.loadChildren)return!0;const c=yield t.getCollectionField(n,o);return!(!e||["o2o","o2m","oho"].includes(c==null?void 0:c.interface)||e.target&&c!=null&&c.target&&!i.includes(c==null?void 0:c.target))})};function useCompatOldVariables(e){const{uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i,blockCollectionName:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),{currentUserSettings:l}=useCurrentUserVariable({maxDepth:1,uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i}),{currentRecordSettings:c}=useCurrentRecordVariable({schema:t,collectionField:o,noDisabled:r,targetFieldSchema:i});return{compatOldVariables:(0,import_react2.useCallback)((u,{value:d})=>{if(!isVariable$1(d))return u;u=[...u];const m={value:"$system",key:"$system",label:a("System variables"),isLeaf:!1,children:[{value:"now",key:"now",label:a("Current time"),isLeaf:!0,depth:1}],depth:0},p={value:"currentTime",label:a("Current time"),children:null};if(d.includes("$system")&&u.push(m),d.includes(`${n}.`)){const g=u.find(h=>h.value==="$nForm"||h.value==="$nRecord");g&&(g.value=n)}if(d.includes("$form")){const g=u.find(h=>h.value==="$nForm");g&&(g.value="$form")}if(d.includes("currentUser")){const g=u.find(h=>h.value==="$user");g?g.value="currentUser":u.unshift(P(x({},l),{value:"currentUser"}))}if(d.includes("currentRecord")){const g=u.find(h=>h.value==="$nRecord");g?g.value="currentRecord":u.unshift(P(x({},c),{value:"currentRecord"}))}if(d.includes("currentTime")&&u.push(p),d.includes("$date")){const g=u.find(h=>h.value==="$nDate");g&&(g.value="$date")}return u},[n])}}const AsDefaultTemplate=import_react2.default.forwardRef((e,t)=>{var o;const r=import_antd_v5.ArrayBase.useArray(),i=import_antd_v5.ArrayBase.useIndex(e.index),{t:n}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Switch,P(x({},e),{checkedChildren:n("Default"),unCheckedChildren:n("Default"),checked:(o=r==null?void 0:r.field)==null?void 0:o.value[i].default,style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:16,marginLeft:6,marginBottom:3},onChange:(a,l)=>{var c;l.stopPropagation(),r.field.value.splice(i,1,P(x({},(c=r==null?void 0:r.field)==null?void 0:c.value[i]),{default:a})),r.field.value.forEach((u,d)=>{var m;d!==i&&r.field.value.splice(d,1,P(x({},(m=r==null?void 0:r.field)==null?void 0:m.value[d]),{default:!1}))})},onClick:(a,l)=>{l.stopPropagation()}}))});AsDefaultTemplate.displayName="AsDefaultTemplate";const useStyles$e=genStyleHook("nb-array-collapse",e=>{const{componentCls:t}=e;return{[t]:{marginBottom:"10px"}}}),DataTemplateTitle=(0,import_react.observer)(e=>{var t;const o=import_antd_v5.ArrayBase.useArray(),r=import_antd_v5.ArrayBase.useIndex(e.index),{t:i}=(0,import_react_i18next.useTranslation)(),n=(t=o==null?void 0:o.field)==null?void 0:t.value[r];return(0,import_react2.useEffect)(()=>{var a,l;n.key||(n.key=(0,import_shared.uid)()),n.title||(n.title=`${i("Template name")} ${(l=(a=o==null?void 0:o.field)==null?void 0:a.value)==null?void 0:l.length}`)},[]),(0,import_jsx_runtime.jsx)(import_antd.Input.TextArea,{value:n.title,placeholder:i("Template name"),onChange:a=>{a.stopPropagation(),n.title=a.target.value},onBlur:a=>{a.stopPropagation(),n.title=a.target.value},autoSize:!0,style:{width:"70%",border:"none"},onClick:a=>{a.stopPropagation()}})}),isAdditionComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Addition"))>-1},isIndexComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Index"))>-1},isRemoveComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Remove"))>-1},isMoveUpComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveUp"))>-1},isMoveDownComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"MoveDown"))>-1},isCopyComponent$1=e=>{var t,o;return((o=(t=e["x-component"])==null?void 0:t.indexOf)==null?void 0:o.call(t,"Copy"))>-1},isOperationComponent$1=e=>isAdditionComponent$1(e)||isRemoveComponent$1(e)||isMoveDownComponent$1(e)||isMoveUpComponent$1(e)||isCopyComponent$1(e),range$1=e=>Array.from({length:e}).map((t,o)=>o),takeDefaultActiveKeys$1=(e,t)=>e<t?range$1(e):range$1(t),insertActiveKeys$1=(e,t)=>e.length<=t?e.concat(t):e.reduce((o,r)=>r<t?o.concat(r):r===t?o.concat([r,r+1]):o.concat(r+1),[]),ArrayCollapse$1=(0,import_react.observer)(e=>{const{componentCls:t,hashId:o}=useStyles$e(),r=(0,import_react.useField)(),i=Array.isArray(r.value)?r.value:[],[n,a]=(0,import_react2.useState)(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount)),l=(0,import_react.useFieldSchema)();if((0,import_react2.useEffect)(()=>{!r.modified&&i.length&&a(takeDefaultActiveKeys$1(i.length,e.defaultOpenPanelCount))},[i.length,r]),!l)throw new Error("can not found schema object");const c=()=>l.reduceProperties((m,p,g)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:g}):m,null),u=()=>{if(!i.length)return(0,import_jsx_runtime.jsx)(import_antd.Card,{className:(0,import_classnames.default)(t,o,e.className),children:(0,import_jsx_runtime.jsx)(import_antd.Empty,{})})},d=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:m=>a((0,import_shared.toArr)(m).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((m,p)=>{const g=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,h=r.query(`${r.address}.${p}`).get("componentProps"),f=g["x-component-props"],_=()=>{const b=`${(h==null?void 0:h.header)||f.header||r.title}`,C=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${C}.**`});return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:()=>{var F;return(F=r.value)==null?void 0:F[p]},children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:F=>!!isIndexComponent$1(F),onlyRenderProperties:!0}),y.length?(0,import_jsx_runtime.jsx)(import_antd.Badge,{size:"small",className:"errors-badge",count:y.length,children:b}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:m.initialValue||m,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:m,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:b=>!!isOperationComponent$1(b),onlyRenderProperties:!0}),h==null?void 0:h.extra]}),S=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:g,name:p,filterProperties:b=>!(isIndexComponent$1(b)||isOperationComponent$1(b))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},f),h),{forceRender:!0,key:p,header:_(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:m,children:S},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:m=>{a(insertActiveKeys$1(n,m))},onRemove:()=>{r.initialValue=r.value},children:[u(),d(),c()]})},{displayName:"ArrayCollapse"}),CollapsePanel$1=({children:e})=>(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:e});CollapsePanel$1.displayName="CollapsePanel";ArrayCollapse$1.defaultProps={defaultOpenPanelCount:5};ArrayCollapse$1.displayName="ArrayCollapse";ArrayCollapse$1.CollapsePanel=CollapsePanel$1;import_antd_v5.ArrayBase.mixin(ArrayCollapse$1);ArrayCollapse$1.Copy=import_react2.default.forwardRef((e,t)=>{var o;const r=(0,import_react.useField)(),i=import_antd_v5.ArrayBase.useArray(),n=import_antd_v5.ArrayBase.useIndex(e.index);return!i||((o=i.field)==null?void 0:o.pattern)!=="editable"?null:(0,import_jsx_runtime.jsx)(import_icons.CopyOutlined,P(x({},e),{style:{transition:"all 0.25s ease-in-out",color:"rgba(0, 0, 0, 0.8)",fontSize:"16px",marginLeft:6},ref:t,onClick:a=>{var l,c;if(r!=null&&r.disabled||(a.stopPropagation(),(l=i.props)!=null&&l.disabled))return;const u=(0,import_lodash.clone)((c=i==null?void 0:i.field)==null?void 0:c.value[n]);i.field.push(u),e.onClick&&e.onClick(a)}}))});ArrayCollapse$1.Copy.displayName="ArrayCollapse.Copy";const SchemaSettingsDataScope=function e(t){const{t:o}=(0,import_react_i18next.useTranslation)(),{getFields:r}=useCollectionFilterOptionsV2(t.collectionName),i=useRecord(),{form:n}=useFormBlockContext(),a=useVariables$1(),l=useLocalVariables$1(),{getAllCollectionsInheritChain:c}=useCollectionManager_deprecated(),{isInSubForm:u,isInSubTable:d}=useFlag()||{},m=(0,import_react2.useCallback)(g=>(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:n,record:i,noDisabled:!0,shouldChange:getShouldChange({collectionField:g.collectionField,variables:a,localVariables:l,getAllCollectionsInheritChain:c})}))}),[n,c,l,i,a]),p=()=>({type:"object",title:o("Set the data scope"),properties:{filter:{enum:t.collectionFilterOption||r(),"x-decorator":g=>(0,import_jsx_runtime.jsx)(BaseVariableProvider,P(x({},g),{children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:u,isInSubTable:d,children:g.children})})),"x-decorator-props":{isDisabled},"x-component":"Filter","x-component-props":{collectionName:t.collectionName,dynamicComponent:t.dynamicComponent||m}}}});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:o("Set the data scope"),initialValues:{filter:t.defaultFilter},schema:p,onSubmit:t.onSubmit,noRecord:t.noRecord})};function isDisabled(e){var t,o;const{option:r,collectionField:i,uiSchema:n}=e;return!n||!i?!0:i.interface==="json"||r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}(0,import_react.observer)(()=>{const{getCollectionFields:e,getCollectionField:t,getCollection:o,isTitleField:r}=useCollectionManager_deprecated(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCompile(),{formSchema:u,data:d}=n["x-designer-props"],{form:m}=useFormBlockContext(),p=i.componentProps.service.resource,g=o(p),h=e(p);if(!d)return(0,import_client.error)("data is required"),null;const f=()=>{var C,y;return((y=(C=d.config)==null?void 0:C[p])==null?void 0:y.filter)||{}},_=C=>{try{import_lodash.default.set(d,`config.${p}.filter`,removeNullCondition(C))}catch(y){(0,import_client.error)(y)}},v=()=>{var C,y;return((y=(C=d.config)==null?void 0:C[p])==null?void 0:y.titleField)||(g==null?void 0:g.titleField)||"id"},S=C=>{try{import_lodash.default.set(d,`config.${p}.titleField`,C)}catch(y){(0,import_client.error)(y)}},b=h.filter(C=>r(C)).map(C=>{var y;return{value:C==null?void 0:C.name,label:c((y=C==null?void 0:C.uiSchema)==null?void 0:y.title)||(C==null?void 0:C.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:f(),form:m,onSubmit:({filter:C})=>{_(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(C)?{}:removeNullCondition(mergeFilter([C,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=d,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":d}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:b,value:v(),onChange:C=>{S(C);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=C,F.componentProps.targetField=t(`${p}.${C||(g==null?void 0:g.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=d;const y={"x-uid":u["x-uid"],"x-data-templates":d};l.emit("patch",{schema:y}),l.refresh()}},"title-field")]})},{displayName:"Designer"});function getSelectedIdFilter(e){return e?{id:{$eq:e}}:null}function SelectItem(e){const t=e,{title:o,options:r,value:i,onChange:n}=t,a=K(t,["title","options","value","onChange"]);return(0,import_jsx_runtime.jsx)(SchemaSettingsItem,P(x({title:o},a),{children:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[o,(0,import_jsx_runtime.jsx)(import_antd.Select,x({popupMatchSelectWidth:!1,bordered:!1,value:i,onChange:n,options:r,style:{textAlign:"right",minWidth:100}},a))]})}))}const Tree$1=(0,import_react.connect)(import_antd.Tree,(0,import_react.mapProps)({value:"checkedKeys",dataSource:"treeData"}));Tree$1.displayName="Tree";const compatibleDataId=(e,t)=>e==null?void 0:e.map(o=>{var r;const i=o,{dataId:n}=i,a=K(i,["dataId"]),l=x({},a);return n&&(l.dataScope={$and:[{id:{$eq:n}}]},l.titleField=(l==null?void 0:l.titleField)||((r=t==null?void 0:t[o.collection])==null?void 0:r.titleField)||"id"),l}),FormDataTemplates=withDynamicSchemaProps((0,import_react.observer)(e=>{const{formSchema:t,designerCtx:o,defaultValues:r,collectionName:i}=useProps(e),{collectionList:n,getEnableFieldTree:a,getOnLoadData:l,getOnCheck:c,getScopeDataSource:u,useTitleFieldDataSource:d}=useCollectionState(i),{getCollection:m,getCollectionField:p}=useCollectionManager_deprecated(),{t:g}=(0,import_react_i18next.useTranslation)(),h=(0,import_react2.useMemo)(()=>(0,import_reactive.observable)(P(x({},r),{items:compatibleDataId((r==null?void 0:r.items)||[],r==null?void 0:r.config)})),[]),f=y=>{var F;const j=m(y);return p(`${y}.${((F=h==null?void 0:h.config[y])==null?void 0:F.titleField)||(j==null?void 0:j.titleField)||"id"}`)},_=y=>{var F,j;const I=m(y);return{label:getLabel(((j=(F=h.config)==null?void 0:F[y])==null?void 0:j.titleField)||(I==null?void 0:I.titleField)||"id"),value:"id"}},v=(y,F)=>{var j,I;const T=(I=(j=h.config)==null?void 0:j[y])==null?void 0:I.filter;return import_lodash.default.isEmpty(T)?{}:removeNullCondition(mergeFilter([T,getSelectedIdFilter(F)],"$or"))},S=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),b=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:f,getFieldNames:_,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:d}),[]),C=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:h==null?void 0:h.items,"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{extra:[(0,import_jsx_runtime.jsx)(AsDefaultTemplate,{},"0")]},properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{collection:{type:"string",title:'{{ t("Collection") }}',required:!0,description:g("If collection inherits, choose inherited collections as templates"),default:"{{ collectionName }}","x-display":n.length>1?"visible":"hidden","x-decorator":"FormItem","x-component":"Select","x-component-props":{options:n}},dataScope:{type:"object",title:'{{ t("Filter out a single piece or a group of records as a template") }}',"x-decorator":"FormItem","x-component":"Filter","x-component-props":{dynamicComponent:VariableInput},"x-decorator-props":{style:{marginBottom:"0px"}},required:!0,"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}"},schema:{enum:"{{ getScopeDataSource($deps[0]) }}"}}}]},titleField:{type:"string","x-decorator":"FormItem",title:'{{ t("Title field") }}',"x-decorator-props":{tooltip:'{{t("The title field is used to identify the template record")}}'},"x-component":"Select",required:!0,"x-reactions":"{{useTitleFieldDataSource}}"},syncFromForm:{type:"void",title:'{{ t("Sync from form fields") }}',"x-component":"Action.Link","x-component-props":{type:"primary",style:{float:"right",position:"relative",zIndex:1200},useAction:()=>useSyncFromForm(t)}},fields:{type:"array",title:'{{ t("Template fields") }}',"x-decorator-props":{tooltip:'{{t("The selected fields will automatically populate the form")}}'},required:!0,description:g("Only the selected fields will be used as the initialization data for the form"),"x-decorator":"FormItem","x-component":Tree$1,"x-component-props":{treeData:[],checkable:!0,checkStrictly:!0,selectable:!1,loadData:"{{ getOnLoadData($self) }}",onCheck:"{{ getOnCheck($self) }}",rootStyle:{padding:"8px 0",border:"1px solid #d9d9d9",borderRadius:"2px",maxHeight:"30vh",overflow:"auto",margin:"2px 0"}},"x-reactions":[{dependencies:[".collection"],fulfill:{state:{disabled:"{{ !$deps[0] }}",componentProps:{treeData:"{{ getEnableFieldTree($deps[0], $self) }}"}}}}]}}},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 template") }}',"x-component":"ArrayCollapse.Addition"}}},display:{type:"boolean","x-content":'{{ t("Enable form data template") }}',default:(h==null?void 0:h.display)!==!1,"x-decorator":"FormItem","x-component":"Checkbox"}}}),[]);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},o),{designable:!0}),children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:S,scope:b,schema:C})})}),{displayName:"FormDataTemplates"});function getLabel(e){return e||"label"}function getResource(e,t){return e!==t.componentProps.service.resource&&(t.value=void 0),e}const EnableChildCollections=withDynamicSchemaProps((0,import_react.observer)(e=>{const{defaultValues:t,collectionName:o}=useProps(e),r=(0,import_react.useForm)(),i=useCompile(),{getChildrenCollections:n}=useCollectionManager_deprecated(),a=n(o),l=u=>(d,m)=>{d.loading=!0,u(d,m).then(import_reactive.action.bound(p=>{d.dataSource=p,d.loading=!1,d.initialValue&&(d.disabled=!0)}))},c=u=>E(void 0,null,function*(){var d,m;const{childrenCollections:p}=((d=r.values)==null?void 0:d.enableChildren)||{};return(m=a.filter(g=>!p.find(h=>h.collection===g.name)||u.initialValue||g.name===u.value))==null?void 0:m.map(g=>({label:i(g.title),value:g.name}))});return(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{type:"object",properties:{childrenCollections:{type:"array",default:t==null?void 0:t.filter(u=>a.find(d=>d.name===u.collection)),"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},collection:{type:"string","x-decorator":"FormItem",required:!0,"x-component":"Select","x-component-props":{style:{width:260}},"x-reactions":["{{useAsyncDataSource(loadData)}}"]},title:{type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{style:{width:235}}},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:'{{ t("Add collection") }}',"x-component":"ArrayItems.Addition"}}}}},scope:{useAsyncDataSource:l,loadData:c}})}),{displayName:"EnableChildCollections"}),ChildDynamicComponent=(0,import_react.observer)(e=>{const{rootCollection:t,onChange:o,value:r,collectionField:i}=e,n=(0,import_react.useFieldSchema)(),{currentFormSettings:a}=useCurrentFormVariable({collectionName:t,collectionField:i}),{currentObjectSettings:l}=useCurrentObjectVariable({schema:i==null?void 0:i.uiSchema,collectionField:i}),c=useCompile(),u=(0,import_react2.useMemo)(()=>[a,l].filter(Boolean),[a,l]),d=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:m=>o(m),scope:d,style:{minWidth:"400px",marginRight:15},className:import_css.css`
284
284
  .ant-input {
285
285
  width: 100% !important;
286
286
  }
@@ -597,7 +597,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
597
597
  }
598
598
  }
599
599
  }
600
- `,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),d=n(u.name)||r(u["x-collection-field"]),m=useVariables$1(),p=useLocalVariables$1(),{dn:g}=useDesignable();return{collectionName:d==null?void 0:d.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:h=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:a,collectionField:h.collectionField,record:l,shouldChange:getShouldChange({collectionField:h.collectionField,variables:m,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:h})=>{h=removeNullCondition(h),import_lodash.default.set(c.componentProps,"service.params.filter",h),u["x-component-props"]=c.componentProps,g.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(d=>d!=null&&d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{const m=d.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=m,o["x-component-props"].sortArr=m,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useCollectionManager().getCollectionField(t["x-collection-field"]),{rerenderDataBlock:r}=useRerenderDataBlock();return{collectionName:o==null?void 0:o.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:r}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(d){var m,p;const g={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=d,g["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(l)&&o&&(g.default=null,l.default=null,(m=t==null?void 0:t.setInitialValue)==null||m.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$1]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(d){const m={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=d,m["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(n)&&c&&(m.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:m}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$1,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),d=n||u,{dn:m}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var g,h;const f={"x-uid":l["x-uid"]},_=P(x(x({},(h=(g=d==null?void 0:d.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=_,f["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,m.emit("patch",{schema:f}),m.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(d){const m={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=d,m["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(l)&&o&&(m.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:m}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:d}=useDesignable(),m=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:m,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const g={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,g["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,d.emit("patch",{schema:g}),d.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]});class SchemaSettingsPlugin extends Plugin{load(){return E(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?pageSize=9999",belongsTo:"get",hasOne:"get",belongsToMany:"list?pageSize=9999",belongsToArray:"get"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(_=>{import_lodash.default.isFunction(_)?o.current=_(o.current):o.current=_},[]),u=(0,import_react2.useCallback)((_,v,S)=>E(void 0,null,function*(){var b,C;const y=_.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let I=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:T,dataSource:z,variableOption:B}=getFieldPath(F,j);let O=T;const{fieldPath:D}=getFieldPath(_,j),R=y.length===1?B==null?void 0:B.collectionName:(b=i(D,z))==null?void 0:b.target;if(!(F in I))throw new Error(`VariablesProvider: ${F} is not found`);for(let w=0;w<y.length;w++){if(I==null)return{value:I===void 0?B==null?void 0:B.defaultValue:I,dataSource:z,collectionName:R};const k=y[w],{fieldPath:N}=getFieldPath(y.slice(0,w+1).join("."),j),M=i(N,z),L=(C=n(O,z))==null?void 0:C.getPrimaryKey();if(Array.isArray(I)){const V=I.map(U=>{if(!(S!=null&&S.doNotRequest)&&shouldToRequest(U==null?void 0:U[k])&&(U==null?void 0:U[L])!=null&&M!=null&&M.target){const q=`/${O}/${U[M.sourceKey||L]}/${k}:${getAction(M.type)}`;if(hasRequested(q))return getRequested(q);const G=r.request({headers:getDataSourceHeaders(z),url:q,params:{appends:S==null?void 0:S.appends}}).then(W=>(clearRequested(q),U[k]=W.data.data,U[k]));return stashRequested(q,G),G}return U==null?void 0:U[k]});I=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(V)),M)}else if(!(S!=null&&S.doNotRequest)&&shouldToRequest(I[k])&&I[L]!=null&&M!=null&&M.target){const V=`/${O}/${I[M.sourceKey||L]}/${k}:${getAction(M.type)}`;let U=null;if(hasRequested(V))U=yield getRequested(V);else{const q=r.request({headers:getDataSourceHeaders(z),url:V,params:{appends:S==null?void 0:S.appends}});stashRequested(V,q),U=yield q,clearRequested(V)}(0,import_reactive.raw)(I)[k]||((0,import_reactive.raw)(I)[k]=U.data.data),I=removeThroughCollectionFields((0,import_client.getValuesByPath)(I,k),M)}else I=removeThroughCollectionFields((0,import_client.getValuesByPath)(I,k),M);M!=null&&M.target&&(O=M.target)}const $=a(import_lodash.default.isFunction(I)?I({fieldOperator:S==null?void 0:S.fieldOperator,isParsingVariable:!0}):I);return{value:$===void 0?B.defaultValue:$,dataSource:z,collectionName:R}}),[i]),d=(0,import_react2.useCallback)(_=>{if(!isVariable$1(`{{${_.name}}}`))throw new Error(`VariablesProvider: ${_.name} is not a valid name`);c(v=>P(x({},v),{[_.name]:_.ctx})),variablesStore[_.name]=P(x({},_),{defaultValue:import_lodash.default.has(_,"defaultValue")?_.defaultValue:null})},[c]),m=(0,import_react2.useCallback)(_=>o.current[_]?x({},variablesStore[_]):null,[]),p=(0,import_react2.useCallback)(_=>{c(v=>{const S=x({},v);return delete S[_],S}),delete variablesStore[_]},[c]),g=(0,import_react2.useCallback)((_,v,S)=>E(void 0,null,function*(){if(!isVariable$1(_))return _;v&&(v=import_lodash.default.isArray(v)?v:[v]);const b=getPath(_),C=yield u(b,v,S);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((_,v)=>E(void 0,null,function*(){var S;if(!isVariable$1(_))throw new Error(`VariablesProvider: ${_} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const b=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(_),{fieldPath:y,dataSource:F}=getFieldPath(C,b);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(S=b[C])==null?void 0:S.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(_=>{d(P(x({},_),{defaultValue:import_lodash.default.has(_,"defaultValue")?_.defaultValue:null}))})},[l,d]);const f=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:d,getVariable:m,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,m,g,d,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:f,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e){let t=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){t=!0;return}t=import_lodash.default.isEmpty(e)}),t}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,d,m,p,g,h,f,_,v,S,b;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((d=this.props.schema)==null?void 0:d.default)),this.value=C(this.props.value),this.data=this.props.data||((m=this.props.schema)==null?void 0:m["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(f=this.props.schema)==null?void 0:f["x-component-props"]],this.decoratorProps=((_=this.props.schema)==null?void 0:_["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(S=this.props.schema)==null?void 0:S["x-decorator"],this.componentType=(b=this.props.schema)==null?void 0:b["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:d},m)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const f=r(u,d);f&&(g=f)}if((0,import_shared.isFn)(i)&&i(g,d)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:d,basePath:p,values:import_lodash.default.get(a,d),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:d,basePath:p,values:import_lodash.default.get(a,d),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${m}-${d}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${m}-${d}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{const{schema:t,name:o,onlyRenderProperties:r,onlyRenderSelf:i,mapProperties:n,filterProperties:a,propsRecursion:l,values:c,isUseFormilyField:u=!0,uiSchema:d}=e,m=useBasePath(e),p=(0,import_react2.useRef)(null),g=(0,import_react2.useMemo)(()=>(p.current=null,new import_react.Schema(t)),[t]),{uiSchema:h,defaultValue:f}=useCollectionFieldUISchema(),_=(0,import_ahooks.useUpdate)(),{onChange:v}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),S=p.current||g,b=(0,import_react2.useCallback)(()=>{const I=S.parent;p.current=new import_react.Schema(S.toJSON(),I),I!=null&&I.properties&&Object.keys(I.properties).forEach(T=>{T===S.name&&(I.properties[T]=p.current)}),_(),v==null||v()},[S,v,_]),C=(0,import_react2.useMemo)(()=>d?createMergedSchemaInstance(S,d,r):h?(h.default=f,createMergedSchemaInstance(S,h,r)):S,[h,f,S,r,d]),y=useFieldProps(C),F=I=>{if(!i)return propertiesToReactElement({schema:S,field:I,basePath:m,mapProperties:n,filterProperties:a,propsRecursion:l,values:c,isUseFormilyField:u})},j=()=>(0,import_shared.isValid)(o)?C.type==="object"?r?F():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},y),{name:o,basePath:m,children:F})):C.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},y),{name:o,basePath:m})):C.type==="void"?r?F():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},y),{name:o,basePath:m,children:F})):u?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},y),{name:o,basePath:m})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:o,value:c,initialValue:c,basePath:m,schema:C}):F();return S?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:b,children:j()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className)}))),{displayName:"ActionLink"}),useStyles$9=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:d}=useBlockContext()||{};const m=e||i(r.title);return u=u?`-${u}`:"",d=d?`-${d}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${m}${c}${u}${d}${l}${p}`),[c,m,d,u,a,l])}},useA=()=>({run(){return E(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:d,style:m,loading:p,openSize:g,disabled:h,actionCallback:f,confirm:_,addChild:v,onMouseEnter:S,refreshDataBlockRequest:b,confirmTitle:C}=o,y=K(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),I=(0,import_react.useFieldSchema)(),T=useCompile(),z=useCollectionRecordData(),B=T((t=I["x-component-props"])==null?void 0:t.confirm)||_,O=(0,import_react2.useMemo)(()=>(I==null?void 0:I["x-linkage-rules"])||[],[I==null?void 0:I["x-linkage-rules"]]),{designable:D}=useDesignable(),R=useComponent(n)||n,$=useVariables$1(),w=useLocalVariables$1({currentForm:{values:z,readPretty:!1}}),{visibleWithURL:k,setVisibleWithURL:N}=usePopupUtils(),{setSubmitted:M}=useActionContext(),{getAriaLabel:L}=useGetAriaLabelOfAction(u),V=useCollectionParentRecordData();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(q=>!q.disabled).forEach(q=>{var G;(G=q.actions)==null||G.forEach(W=>{linkageAction({operator:W.operator,field:j,condition:q.condition,variables:$,localVariables:w})})})},[j,O,w,$]);const U=(0,import_react2.useCallback)(q=>{S==null||S(q)},[S]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:I,designable:D,field:j,icon:c,loading:p,handleMouseEnter:U,tarComponent:R,className:l,type:e.type,Designer:F,onClick:d,confirm:B,confirmTitle:C,popover:r,addChild:v,recordData:z,title:u,style:m,propsDisabled:h,useAction:a,visibleWithURL:k,setVisibleWithURL:N,setSubmitted:M,getAriaLabel:L,parentRecordData:V,actionCallback:f},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:d,field:m,icon:p,loading:g,handleMouseEnter:h,tarComponent:f,className:_,type:v,Designer:S,onClick:b,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:I,title:T,style:z,propsDisabled:B,useAction:O,actionCallback:D,visibleWithURL:R,setVisibleWithURL:$,setSubmitted:w,getAriaLabel:k,parentRecordData:N}=l,M=K(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[L,V]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$9(),[W,Y]=(0,import_react2.useState)(!1),H=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,X=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),oe=(0,import_react.useForm)(),ie=useACLActionParamsContext(),{run:ae,element:de,disabled:xe}=(O==null?void 0:O(D))||{},ce=oe.disabled||m.disabled||((n=m.data)==null?void 0:n.disabled)||B||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},z),{opacity:d&&(((se=m==null?void 0:m.data)==null?void 0:se.hidden)||!ie)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":z==null?void 0:z.color})},[ie,d,(a=m==null?void 0:m.data)==null?void 0:a.hidden,z,ce]),he={designable:d,field:m,aclCtx:ie,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:f,designerProps:H,componentCls:q,hashId:G,className:_,others:M,getAriaLabel:k,type:v,Designer:S,onClick:b,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:V,run:ae,confirm:C,modal:te,setSubmitted:w,confirmTitle:y,title:T},ge=(0,import_react2.useCallback)(se=>{V==null||V(se),$==null||$(se)},[$]);let me=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:L||R,setVisible:ge,formValueChanged:W,setFormValueChanged:Y,openMode:J,openSize:X,containerRefKey:c,fieldSchema:u,setSubmitted:w,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:m.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),de]})});return isBulkEditAction(u)&&(me=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:me})),U(j?(0,import_jsx_runtime.jsx)(RecordProvider,{record:null,parent:N,children:(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:I,children:me})}):me)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:d,hashId:m,className:p,others:g,getAriaLabel:h,type:f,Designer:_,onClick:v,refreshDataBlockRequest:S,fieldSchema:b,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:I,confirmTitle:T,title:z})=>{const{getDataBlockRequest:B}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:R}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=R;const w=(0,import_react2.useCallback)((k,N=!0)=>{if(!(N&&(0,import_client.isPortalInBody)(k.target))&&(k.preventDefault(),k.stopPropagation(),!n&&o)){const M=()=>{v?v(k,()=>{var L,V;S!==!1&&(I==null||I(!0),(V=(L=B())==null?void 0:L.refresh)==null||V.call(L))}):isBulkEditAction(b)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(b["x-action"])&&b["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:T||z||(t==null?void 0:t.title)}),content:O(F.content,{title:T||z||(t==null?void 0:t.title)}),onOk:M}):M()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,T,n,t,b,D,j,v,S,y,I,C,O,z,B]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:w,tarComponent:c,componentCls:d,hashId:m,className:p,type:f,Designer:_,designerProps:u,title:z},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:d,handleMouseEnter:m,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:f,hashId:_,className:v,type:S,Designer:b,designerProps:C,title:y}=r,F=K(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title"]);if(!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const j=y||(n==null?void 0:n.title);return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},F),{onMouseEnter:m,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l}):l,disabled:u,style:d,onClick:g,component:h||import_antd.Button,className:(0,import_classnames.default)(f,_,v,"nb-action"),type:S==="danger"?void 0:S,children:[j&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,children:j}),(0,import_jsx_runtime.jsx)(b,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=K(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=K(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:d}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const m=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!d&&!m?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return E(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=K(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=K(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=K(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),d=n({uid:l["x-uid"],onSuccess(p){return E(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),m=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:m,form:u,result:d,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(d==null?void 0:d.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],d=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!d.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const m=n.value!==null&&d.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(m),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,d=K(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),m=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(_=>_).map(_=>(0,import_client.isPlainObject)(_)?_[n.value]:_),f=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(_=>({label:_[n.label],value:_[n.value]}));return["tags","multiple"].includes(a)||e.multiple?f:f.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:m(o),defaultValue:m(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,f;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((f=g==null?void 0:g[n.label||"label"])!=null?f:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},d))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=K(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const d=m=>["tags","multiple"].includes(e.mode)||e.multiple?m?(0,import_shared.toArr)(m):void 0:m;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:d(i),defaultValue:d(a),tagRender:m=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":m.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},m),{children:m.label}))},c(l)),{onChange:m=>{var p;(p=e.onChange)==null||p.call(e,m===void 0?null:m)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>E(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:d=!0,mapOptions:m,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:f,toOptionsItem:_=H=>H,popupMatchSelectWidth:v=!1}=r,S=K(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),b=useDataSourceKey(),C=useDataSourceHeaders(f||b),[y,F]=(0,import_react2.useState)(!1),j=(0,import_react2.useRef)(!1),I=(0,import_react.useFieldSchema)(),T=((t=I["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:z}=useCollection_deprecated(),B=(0,import_react2.useRef)(null),{getCollectionJoinField:O,getInterface:D}=useCollectionManager_deprecated(),R=I["x-collection-field"]||I.name,$=z(R)||O(R),w=p||($==null?void 0:$.target)&&(i==null?void 0:i.label)&&O(`${$.target}.${i.label}`),k=(0,import_react2.useMemo)(()=>{var H;if(w!=null&&w.interface){const J=D(w.interface),X=((H=J==null?void 0:J.filterable)==null?void 0:H.operators[0].value)||"$includes";return w.type==="string"?"$includes":X}return"$includes"},[w]),N=useCompile(),M=(0,import_react2.useCallback)(H=>{try{return H.filter(J=>["number","string"].includes(typeof J[i.value])||!J[i.value]).map(J=>{var X;let Z=N(J[i.label]);if((X=w==null?void 0:w.uiSchema)!=null&&X.enum)if(Array.isArray(Z))Z=Z.map((te,oe)=>{const ie=w.uiSchema.enum.find(ae=>ae.value===te);return ie?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:ie.color,style:{marginRight:3},children:(ie==null?void 0:ie.label)||te},oe):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:te},te)}).reverse();else{const te=w.uiSchema.enum.find(oe=>oe.value===Z);te&&(Z=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,children:te.label}))}return(w==null?void 0:w.type)==="date"&&(Z=(0,import_dayjs.default)(Z).format("YYYY-MM-DD")),m?m({[i.label]:Z||EMPTY$1,[i.value]:J[i.value]}):P(x({},J),{[i.label]:Z||EMPTY$1,[i.value]:J[i.value]})}).filter(Boolean)}catch(J){return console.error(J),H}},[w==null?void 0:w.uiSchema,i]),{data:L,run:V,loading:U}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:d,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),q=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),G=(0,import_react2.useCallback)(()=>B.current&&g?(0,import_jsx_runtime.jsx)(g,{search:B.current,callBack:()=>{B.current=null,F(!1)}}):null,[B.current]);(0,import_react2.useEffect)(()=>{j.current&&V()},[q]);const W=H=>E(void 0,null,function*(){var J;V({filter:mergeFilter([H?{[i.label]:{[k]:H}}:{},(J=n==null?void 0:n.params)==null?void 0:J.filter])}),B.current=H}),Y=(0,import_react2.useMemo)(()=>{var H;const J=l||c;if(!((H=L==null?void 0:L.data)!=null&&H.length))return J!=null?Array.isArray(J)?J:[J]:[];const X=J!=null&&(Array.isArray(J)?J.map(te=>P(x({},te),{[i.value]:te[i.value]||te})):[P(x({},J),{[i.value]:J[i.value]||J})])||[],Z=typeof h=="function"?L.data.filter(h):L.data;return(0,import_lodash.uniqBy)(Z.concat(X??[]),i.value)},[l,c,L==null?void 0:L.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({open:y,popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:W,onDropdownVisibleChange:H=>{F(H),B.current=null,H&&V(),j.current=!0},objectValue:u,value:l,defaultValue:c},S),{loading:L?U:!0,options:_(M(Y)),rawOptions:Y,dropdownRender:H=>{const J=Y.some(X=>X[i.label]===B.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:T?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((L==null?void 0:L.data.length)===0&&B!=null&&B.current)&&H,(L==null?void 0:L.data.length)>0&&(B==null?void 0:B.current)&&!J&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!J&&(0,import_jsx_runtime.jsx)(G,{})]}):H})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(d=>r(`${c.collection}.${d}`)?d:"").filter(Boolean)}catch(d){(0,import_client.error)(d),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,d]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[m,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),f=useDataSourceKey(),_=useDataSourceHeaders(f);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,_))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||b("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),S=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),b=(0,import_react2.useCallback)(F=>E(void 0,null,function*(){d(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,I)=>E(void 0,null,function*(){const T=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,T,I).then(z=>(t&&z&&(t.reset(),t.__template=!0,(0,import_client.forEach)(z,(B,O)=>{var D;B&&(t.values[O]=B,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,B))})),z)).catch(z=>{console.error(z)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:S,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:b}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:m,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),_),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return E(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:d,enabled:m}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),f=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,_=c?u:0,v=useDataBlockRequestData(),{count:S,pageSize:b}=(v==null?void 0:v.meta)||{},C=S>b?n.controlHeightSM+24:0,y=d&&m?n.controlHeight+2*n.padding+n.margin:0;return r-f-n.paddingLG-_-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=K(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:d}=import_antd.theme.useToken(),{layout:m="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:m},i),{labelAlign:p,labelWidth:m==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
600
+ `,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[{name:"size",type:"select",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Size"),options:[{label:t("Large"),value:"large"},{label:t("Default"),value:"default"},{label:t("Small"),value:"small"}],value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=n,i.emit("patch",{schema:a}),i.refresh()}}}},showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),d=n(u.name)||r(u["x-collection-field"]),m=useVariables$1(),p=useLocalVariables$1(),{dn:g}=useDesignable();return{collectionName:d==null?void 0:d.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:h=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:a,collectionField:h.collectionField,record:l,shouldChange:getShouldChange({collectionField:h.collectionField,variables:m,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:h})=>{h=removeNullCondition(h),import_lodash.default.set(c.componentProps,"service.params.filter",h),u["x-component-props"]=c.componentProps,g.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=(0,import_react.useFieldSchema)(),{multiple:t}=e["x-component-props"],o=useIsFieldReadPretty(),r=useCollectionField();return!o&&t!==!1&&["hasMany","belongsToMany"].includes(r==null?void 0:r.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(d=>d!=null&&d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{const m=d.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=m,o["x-component-props"].sortArr=m,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=useCollectionManager().getCollectionField(t["x-collection-field"]),{rerenderDataBlock:r}=useRerenderDataBlock();return{collectionName:o==null?void 0:o.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:r}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(d){var m,p;const g={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=d,g["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(l)&&o&&(g.default=null,l.default=null,(m=t==null?void 0:t.setInitialValue)==null||m.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:g}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$1]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(d){const m={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=d,m["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(n)&&c&&(m.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:m}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$1,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),d=n||u,{dn:m}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var g,h;const f={"x-uid":l["x-uid"]},_=P(x(x({},(h=(g=d==null?void 0:d.uiSchema)==null?void 0:g["x-component-props"])==null?void 0:h.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=_,f["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,m.emit("patch",{schema:f}),m.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(d){const m={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=d,m["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=d,isSubMode(l)&&o&&(m.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:m}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:d}=useDesignable(),m=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:m,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const g={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,g["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,d.emit("patch",{schema:g}),d.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]});class SchemaSettingsPlugin extends Plugin{load(){return E(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{urlSearchParamsCtx:i,name:n,defaultValue:a}=useURLSearchParamsVariable();return{builtinVariables:(0,import_react2.useMemo)(()=>[{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:n,ctx:i,defaultValue:a}],[t,e,r,a,i,n])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?pageSize=9999",belongsTo:"get",hasOne:"get",belongsToMany:"list?pageSize=9999",belongsToArray:"get"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(_=>{import_lodash.default.isFunction(_)?o.current=_(o.current):o.current=_},[]),u=(0,import_react2.useCallback)((_,v,S)=>E(void 0,null,function*(){var b,C;const y=_.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let I=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:T,dataSource:z,variableOption:B}=getFieldPath(F,j);let O=T;const{fieldPath:D}=getFieldPath(_,j),R=y.length===1?B==null?void 0:B.collectionName:(b=i(D,z))==null?void 0:b.target;if(!(F in I))throw new Error(`VariablesProvider: ${F} is not found`);for(let w=0;w<y.length;w++){if(I==null)return{value:I===void 0?B==null?void 0:B.defaultValue:I,dataSource:z,collectionName:R};const k=y[w],{fieldPath:N}=getFieldPath(y.slice(0,w+1).join("."),j),M=i(N,z),L=(C=n(O,z))==null?void 0:C.getPrimaryKey();if(Array.isArray(I)){const V=I.map(U=>{if(!(S!=null&&S.doNotRequest)&&shouldToRequest(U==null?void 0:U[k])&&(U==null?void 0:U[L])!=null&&M!=null&&M.target){const q=`/${O}/${U[M.sourceKey||L]}/${k}:${getAction(M.type)}`;if(hasRequested(q))return getRequested(q);const G=r.request({headers:getDataSourceHeaders(z),url:q,params:{appends:S==null?void 0:S.appends}}).then(W=>(clearRequested(q),U[k]=W.data.data,U[k]));return stashRequested(q,G),G}return U==null?void 0:U[k]});I=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(V)),M)}else if(!(S!=null&&S.doNotRequest)&&shouldToRequest(I[k])&&I[L]!=null&&M!=null&&M.target){const V=`/${O}/${I[M.sourceKey||L]}/${k}:${getAction(M.type)}`;let U=null;if(hasRequested(V))U=yield getRequested(V);else{const q=r.request({headers:getDataSourceHeaders(z),url:V,params:{appends:S==null?void 0:S.appends}});stashRequested(V,q),U=yield q,clearRequested(V)}(0,import_reactive.raw)(I)[k]||((0,import_reactive.raw)(I)[k]=U.data.data),I=removeThroughCollectionFields((0,import_client.getValuesByPath)(I,k),M)}else I=removeThroughCollectionFields((0,import_client.getValuesByPath)(I,k),M);M!=null&&M.target&&(O=M.target)}const $=a(import_lodash.default.isFunction(I)?I({fieldOperator:S==null?void 0:S.fieldOperator,isParsingVariable:!0}):I);return{value:$===void 0?B.defaultValue:$,dataSource:z,collectionName:R}}),[i]),d=(0,import_react2.useCallback)(_=>{if(!isVariable$1(`{{${_.name}}}`))throw new Error(`VariablesProvider: ${_.name} is not a valid name`);c(v=>P(x({},v),{[_.name]:_.ctx})),variablesStore[_.name]=P(x({},_),{defaultValue:import_lodash.default.has(_,"defaultValue")?_.defaultValue:null})},[c]),m=(0,import_react2.useCallback)(_=>o.current[_]?x({},variablesStore[_]):null,[]),p=(0,import_react2.useCallback)(_=>{c(v=>{const S=x({},v);return delete S[_],S}),delete variablesStore[_]},[c]),g=(0,import_react2.useCallback)((_,v,S)=>E(void 0,null,function*(){if(!isVariable$1(_))return _;v&&(v=import_lodash.default.isArray(v)?v:[v]);const b=getPath(_),C=yield u(b,v,S);return P(x({},C),{value:uniq(filterEmptyValues(C.value))})}),[u]),h=(0,import_react2.useCallback)((_,v)=>E(void 0,null,function*(){var S;if(!isVariable$1(_))throw new Error(`VariablesProvider: ${_} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const b=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),C=getPath(_),{fieldPath:y,dataSource:F}=getFieldPath(C,b);let j=i(y,F);return!j&&!C.includes(".")&&(j={target:(S=b[C])==null?void 0:S.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(_=>{d(P(x({},_),{defaultValue:import_lodash.default.has(_,"defaultValue")?_.defaultValue:null}))})},[l,d]);const f=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:g,registerVariable:d,getVariable:m,getCollectionField:h,removeVariable:p,filterVariables:t}),[h,m,g,d,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:f,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e){let t=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){t=!0;return}t=import_lodash.default.isEmpty(e)}),t}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,d,m,p,g,h,f,_,v,S,b;const C=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=C(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=C(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=C(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=C(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=C(this.props.initialValue||((d=this.props.schema)==null?void 0:d.default)),this.value=C(this.props.value),this.data=this.props.data||((m=this.props.schema)==null?void 0:m["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(g=this.props.schema)==null?void 0:g["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(h=this.props.schema)==null?void 0:h["x-component"],(f=this.props.schema)==null?void 0:f["x-component-props"]],this.decoratorProps=((_=this.props.schema)==null?void 0:_["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(S=this.props.schema)==null?void 0:S["x-decorator"],this.componentType=(b=this.props.schema)==null?void 0:b["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:d},m)=>{const p=(t==null?void 0:t.address)||o;let g=u;if((0,import_shared.isFn)(r)){const f=r(u,d);f&&(g=f)}if((0,import_shared.isFn)(i)&&i(g,d)===!1)return null;const h=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:g,name:d,basePath:p,values:import_lodash.default.get(a,d),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:g,name:d,basePath:p,values:import_lodash.default.get(a,d),isUseFormilyField:l});return g["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:g,children:h})},`${m}-${d}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:h})},`${m}-${d}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{const{schema:t,name:o,onlyRenderProperties:r,onlyRenderSelf:i,mapProperties:n,filterProperties:a,propsRecursion:l,values:c,isUseFormilyField:u=!0,uiSchema:d}=e,m=useBasePath(e),p=(0,import_react2.useRef)(null),g=(0,import_react2.useMemo)(()=>(p.current=null,new import_react.Schema(t)),[t]),{uiSchema:h,defaultValue:f}=useCollectionFieldUISchema(),_=(0,import_ahooks.useUpdate)(),{onChange:v}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),S=p.current||g,b=(0,import_react2.useCallback)(()=>{const I=S.parent;p.current=new import_react.Schema(S.toJSON(),I),I!=null&&I.properties&&Object.keys(I.properties).forEach(T=>{T===S.name&&(I.properties[T]=p.current)}),_(),v==null||v()},[S,v,_]),C=(0,import_react2.useMemo)(()=>d?createMergedSchemaInstance(S,d,r):h?(h.default=f,createMergedSchemaInstance(S,h,r)):S,[h,f,S,r,d]),y=useFieldProps(C),F=I=>{if(!i)return propertiesToReactElement({schema:S,field:I,basePath:m,mapProperties:n,filterProperties:a,propsRecursion:l,values:c,isUseFormilyField:u})},j=()=>(0,import_shared.isValid)(o)?C.type==="object"?r?F():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},y),{name:o,basePath:m,children:F})):C.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},y),{name:o,basePath:m})):C.type==="void"?r?F():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},y),{name:o,basePath:m,children:F})):u?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},y),{name:o,basePath:m})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:o,value:c,initialValue:c,basePath:m,schema:C}):F();return S?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:S,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:b,children:j()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className)}))),{displayName:"ActionLink"}),useStyles$9=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:d}=useBlockContext()||{};const m=e||i(r.title);return u=u?`-${u}`:"",d=d?`-${d}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${m}${c}${u}${d}${l}${p}`),[c,m,d,u,a,l])}},useA=()=>({run(){return E(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:d,style:m,loading:p,openSize:g,disabled:h,actionCallback:f,confirm:_,addChild:v,onMouseEnter:S,refreshDataBlockRequest:b,confirmTitle:C}=o,y=K(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),I=(0,import_react.useFieldSchema)(),T=useCompile(),z=useCollectionRecordData(),B=T((t=I["x-component-props"])==null?void 0:t.confirm)||_,O=(0,import_react2.useMemo)(()=>(I==null?void 0:I["x-linkage-rules"])||[],[I==null?void 0:I["x-linkage-rules"]]),{designable:D}=useDesignable(),R=useComponent(n)||n,$=useVariables$1(),w=useLocalVariables$1({currentForm:{values:z,readPretty:!1}}),{visibleWithURL:k,setVisibleWithURL:N}=usePopupUtils(),{setSubmitted:M}=useActionContext(),{getAriaLabel:L}=useGetAriaLabelOfAction(u),V=useCollectionParentRecordData();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j),j.stateOfLinkageRules={},O.filter(q=>!q.disabled).forEach(q=>{var G;(G=q.actions)==null||G.forEach(W=>{linkageAction({operator:W.operator,field:j,condition:q.condition,variables:$,localVariables:w})})})},[j,O,w,$]);const U=(0,import_react2.useCallback)(q=>{S==null||S(q)},[S]);return(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:I,designable:D,field:j,icon:c,loading:p,handleMouseEnter:U,tarComponent:R,className:l,type:e.type,Designer:F,onClick:d,confirm:B,confirmTitle:C,popover:r,addChild:v,recordData:z,title:u,style:m,propsDisabled:h,useAction:a,visibleWithURL:k,setVisibleWithURL:N,setSubmitted:M,getAriaLabel:L,parentRecordData:V,actionCallback:f},y))}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:d,field:m,icon:p,loading:g,handleMouseEnter:h,tarComponent:f,className:_,type:v,Designer:S,onClick:b,confirm:C,confirmTitle:y,popover:F,addChild:j,recordData:I,title:T,style:z,propsDisabled:B,useAction:O,actionCallback:D,visibleWithURL:R,setVisibleWithURL:$,setSubmitted:w,getAriaLabel:k,parentRecordData:N}=l,M=K(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[L,V]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:q,hashId:G}=useStyles$9(),[W,Y]=(0,import_react2.useState)(!1),H=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,X=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,Z=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),oe=(0,import_react.useForm)(),ie=useACLActionParamsContext(),{run:ae,element:de,disabled:xe}=(O==null?void 0:O(D))||{},ce=oe.disabled||m.disabled||((n=m.data)==null?void 0:n.disabled)||B||xe,pe=(0,import_react2.useMemo)(()=>{var se;return P(x({},z),{opacity:d&&(((se=m==null?void 0:m.data)==null?void 0:se.hidden)||!ie)&&.1,color:ce?"rgba(0, 0, 0, 0.25)":z==null?void 0:z.color})},[ie,d,(a=m==null?void 0:m.data)==null?void 0:a.hidden,z,ce]),he={designable:d,field:m,aclCtx:ie,icon:p,loading:g,disabled:ce,buttonStyle:pe,handleMouseEnter:h,tarComponent:f,designerProps:H,componentCls:q,hashId:G,className:_,others:M,getAriaLabel:k,type:v,Designer:S,onClick:b,refreshDataBlockRequest:Z,fieldSchema:u,setVisible:V,run:ae,confirm:C,modal:te,setSubmitted:w,confirmTitle:y,title:T},ge=(0,import_react2.useCallback)(se=>{V==null||V(se),$==null||$(se)},[$]);let me=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(he),visible:L||R,setVisible:ge,formValueChanged:W,setFormValueChanged:Y,openMode:J,openSize:X,containerRefKey:c,fieldSchema:u,setSubmitted:w,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:m.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},he)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),de]})});return isBulkEditAction(u)&&(me=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:me})),U(j?(0,import_jsx_runtime.jsx)(RecordProvider,{record:null,parent:N,children:(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:I,children:me})}):me)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:d,hashId:m,className:p,others:g,getAriaLabel:h,type:f,Designer:_,onClick:v,refreshDataBlockRequest:S,fieldSchema:b,setVisible:C,run:y,confirm:F,modal:j,setSubmitted:I,confirmTitle:T,title:z})=>{const{getDataBlockRequest:B}=useDataBlockRequestGetter(),{t:O}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:R}=usePopupUtils(),$=(0,import_react2.useRef)(null);$.current=R;const w=(0,import_react2.useCallback)((k,N=!0)=>{if(!(N&&(0,import_client.isPortalInBody)(k.target))&&(k.preventDefault(),k.stopPropagation(),!n&&o)){const M=()=>{v?v(k,()=>{var L,V;S!==!1&&(I==null||I(!0),(V=(L=B())==null?void 0:L.refresh)==null||V.call(L))}):isBulkEditAction(b)||!D()?(C(!0),y==null||y()):["view","update","create","customize:popup"].includes(b["x-action"])&&b["x-uid"]?$.current():(C(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?j.confirm({title:O(F.title,{title:T||z||(t==null?void 0:t.title)}),content:O(F.content,{title:T||z||(t==null?void 0:t.title)}),onOk:M}):M()}},[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,T,n,t,b,D,j,v,S,y,I,C,O,z,B]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:h,handleButtonClick:w,tarComponent:c,componentCls:d,hashId:m,className:p,type:f,Designer:_,designerProps:u,title:z},g))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:d,handleMouseEnter:m,getAriaLabel:p,handleButtonClick:g,tarComponent:h,componentCls:f,hashId:_,className:v,type:S,Designer:b,designerProps:C,title:y}=r,F=K(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title"]);if(!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const j=y||(n==null?void 0:n.title);return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},F),{onMouseEnter:m,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l}):l,disabled:u,style:d,onClick:g,component:h||import_antd.Button,className:(0,import_classnames.default)(f,_,v,"nb-action"),type:S==="danger"?void 0:S,children:[j&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,children:j}),(0,import_jsx_runtime.jsx)(b,x({},C))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=K(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=K(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:d}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:P(x({display:"flex",alignItems:"center",gap:8},n),{marginTop:0})},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))}),u({style:{margin:"0 !important"}})]}))})});const m=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!d&&!m?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,g)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,g)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:g,schema:p},g))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return E(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=K(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=K(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=K(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),d=n({uid:l["x-uid"],onSuccess(p){return E(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),m=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:m,form:u,result:d,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(d==null?void 0:d.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],d=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!d.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const m=n.value!==null&&d.map((p,g)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},g));i(m),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,d=K(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),m=p=>{var g;if(isEmptyObject(p))return;const h=(0,import_shared.toArr)(p).filter(_=>_).map(_=>(0,import_client.isPlainObject)(_)?_[n.value]:_),f=(g=getCurrentOptions(h,r,n))==null?void 0:g.map(_=>({label:_[n.label],value:_[n.value]}));return["tags","multiple"].includes(a)||e.multiple?f:f.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({role:"button","data-testid":`select-object-${a||"single"}`,value:m(o),defaultValue:m(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(p,g)=>{var h;return((h=g==null?void 0:g[n.label||"label"])!=null?h:"").includes(p)},filterSort:(p,g)=>{var h,f;return((h=p==null?void 0:p[n.label||"label"])!=null?h:"").toLowerCase().localeCompare(((f=g==null?void 0:g[n.label||"label"])!=null?f:"").toLowerCase())},onChange:p=>{const g=getCurrentOptions((0,import_shared.toArr)(p).map(h=>h.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(g):i==null||i(g.shift()||null)},mode:a,tagRender:p=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":p.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},p),{children:p.label})),maxTagCount:"responsive"},d))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},InternalSelect=(0,import_react.connect)(e=>{const t=e,{objectValue:o,loading:r,value:i,rawOptions:n,defaultValue:a}=t,l=K(t,["objectValue","loading","value","rawOptions","defaultValue"]),c=useCompile();let u=e.multiple?"multiple":e.mode;if(u&&!["multiple","tags"].includes(u)&&(u=void 0),o)return(0,import_jsx_runtime.jsx)(ObjectSelect,P(x({rawOptions:n},l),{defaultValue:a,value:i,mode:u,loading:r}));const d=m=>["tags","multiple"].includes(e.mode)||e.multiple?m?(0,import_shared.toArr)(m):void 0:m;return(0,import_jsx_runtime.jsx)(import_antd.Select,P(x({role:"button","data-testid":`select-${u||"single"}`,showSearch:!0,filterOption,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},popupMatchSelectWidth:!1,notFoundContent:r?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),value:d(i),defaultValue:d(a),tagRender:m=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":m.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},m),{children:m.label}))},c(l)),{onChange:m=>{var p;(p=e.onChange)==null||p.call(e,m===void 0?null:m)},mode:u,maxTagCount:"responsive"}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>P(x({},e),{fieldNames:x(x({},defaultFieldNames$1),e.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})),(0,import_react.mapReadPretty)(ReadPretty$b)),Select=InternalSelect;Select.ReadPretty=ReadPretty$b;const getValues=(e,t)=>(0,import_lodash.castArray)(e).filter(o=>o!=null).map(o=>typeof o=="object"?o[t.value]:o),ReadPretty$a=(0,import_react.observer)(e=>{const t=x(x({},defaultFieldNames$1),e.fieldNames),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),i=useRecord(),{snapshot:n}=useActionContext(),{data:a}=useRequest(n?()=>E(void 0,null,function*(){return{data:i[r.name]}}):P(x({action:"list"},e.service),{params:{paginate:!1,filter:{[t.value]:{$in:getValues(o.value,t)}}}}),{refreshDeps:[e.service,o.value]});return(0,import_jsx_runtime.jsx)(Select.ReadPretty,P(x({},e),{options:a==null?void 0:a.data}))},{displayName:"ReadPretty"}),EMPTY$1="N/A",InternalRemoteSelect=withDynamicSchemaProps((0,import_react.connect)(e=>{var t,o;const r=e,{fieldNames:i={},service:n={},wait:a=300,value:l,defaultValue:c,objectValue:u,manual:d=!0,mapOptions:m,targetField:p,CustomDropdownRender:g,optionFilter:h,dataSource:f,toOptionsItem:_=H=>H,popupMatchSelectWidth:v=!1}=r,S=K(r,["fieldNames","service","wait","value","defaultValue","objectValue","manual","mapOptions","targetField","CustomDropdownRender","optionFilter","dataSource","toOptionsItem","popupMatchSelectWidth"]),b=useDataSourceKey(),C=useDataSourceHeaders(f||b),[y,F]=(0,import_react2.useState)(!1),j=(0,import_react2.useRef)(!1),I=(0,import_react.useFieldSchema)(),T=((t=I["x-component-props"])==null?void 0:t.addMode)==="quickAdd",{getField:z}=useCollection_deprecated(),B=(0,import_react2.useRef)(null),{getCollectionJoinField:O,getInterface:D}=useCollectionManager_deprecated(),R=I["x-collection-field"]||I.name,$=z(R)||O(R),w=p||($==null?void 0:$.target)&&(i==null?void 0:i.label)&&O(`${$.target}.${i.label}`),k=(0,import_react2.useMemo)(()=>{var H;if(w!=null&&w.interface){const J=D(w.interface),X=((H=J==null?void 0:J.filterable)==null?void 0:H.operators[0].value)||"$includes";return w.type==="string"?"$includes":X}return"$includes"},[w]),N=useCompile(),M=(0,import_react2.useCallback)(H=>{try{return H.filter(J=>["number","string"].includes(typeof J[i.value])||!J[i.value]).map(J=>{var X;let Z=N(J[i.label]);if((X=w==null?void 0:w.uiSchema)!=null&&X.enum)if(Array.isArray(Z))Z=Z.map((te,oe)=>{const ie=w.uiSchema.enum.find(ae=>ae.value===te);return ie?(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:ie.color,style:{marginRight:3},children:(ie==null?void 0:ie.label)||te},oe):(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",children:te},te)}).reverse();else{const te=w.uiSchema.enum.find(oe=>oe.value===Z);te&&(Z=(0,import_jsx_runtime.jsx)(import_antd.Tag,{role:"button",color:te.color,children:te.label}))}return(w==null?void 0:w.type)==="date"&&(Z=(0,import_dayjs.default)(Z).format("YYYY-MM-DD")),m?m({[i.label]:Z||EMPTY$1,[i.value]:J[i.value]}):P(x({},J),{[i.label]:Z||EMPTY$1,[i.value]:J[i.value]})}).filter(Boolean)}catch(J){return console.error(J),H}},[w==null?void 0:w.uiSchema,i]),{data:L,run:V,loading:U}=useRequest(P(x({action:"list"},n),{headers:C,params:P(x({pageSize:200},n==null?void 0:n.params),{filter:(o=n==null?void 0:n.params)==null?void 0:o.filter})}),x({manual:d,debounceWait:a},n.defaultParams?{defaultParams:[n.defaultParams]}:{})),q=(0,import_react2.useMemo)(()=>JSON.stringify({service:n,fieldNames:i}),[n,i]),G=(0,import_react2.useCallback)(()=>B.current&&g?(0,import_jsx_runtime.jsx)(g,{search:B.current,callBack:()=>{B.current=null,F(!1)}}):null,[B.current]);(0,import_react2.useEffect)(()=>{j.current&&V()},[q]);const W=H=>E(void 0,null,function*(){var J;V({filter:mergeFilter([H?{[i.label]:{[k]:H}}:{},(J=n==null?void 0:n.params)==null?void 0:J.filter])}),B.current=H}),Y=(0,import_react2.useMemo)(()=>{var H;const J=l||c;if(!((H=L==null?void 0:L.data)!=null&&H.length))return J!=null?Array.isArray(J)?J:[J]:[];const X=J!=null&&(Array.isArray(J)?J.map(te=>P(x({},te),{[i.value]:te[i.value]||te})):[P(x({},J),{[i.value]:J[i.value]||J})])||[],Z=typeof h=="function"?L.data.filter(h):L.data;return(0,import_lodash.uniqBy)(Z.concat(X??[]),i.value)},[l,c,L==null?void 0:L.data,i.value,h]);return(0,import_jsx_runtime.jsx)(Select,P(x({open:y,popupMatchSelectWidth:v,autoClearSearchValue:!0,filterOption:!1,filterSort:null,fieldNames:i,onSearch:W,onDropdownVisibleChange:H=>{F(H),B.current=null,H&&V(),j.current=!0},objectValue:u,value:l,defaultValue:c},S),{loading:L?U:!0,options:_(M(Y)),rawOptions:Y,dropdownRender:H=>{const J=Y.some(X=>X[i.label]===B.current);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:T?(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[!((L==null?void 0:L.data.length)===0&&B!=null&&B.current)&&H,(L==null?void 0:L.data.length)>0&&(B==null?void 0:B.current)&&!J&&(0,import_jsx_runtime.jsx)(import_antd.Divider,{style:{margin:0}}),!J&&(0,import_jsx_runtime.jsx)(G,{})]}):H})}}))},(0,import_react.mapProps)({dataSource:"options"},(e,t)=>{var o;const r=(0,import_react.useFieldSchema)();return P(x({},e),{fieldNames:x(x(x(x({},defaultFieldNames$1),e.fieldNames),t.componentProps.fieldNames),(o=r["x-component-props"])==null?void 0:o.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})}),(0,import_react.mapReadPretty)(ReadPretty$a))),RemoteSelect=InternalRemoteSelect;RemoteSelect.ReadPretty=ReadPretty$a;const useFormDataTemplates=()=>{const e=(0,import_react.useFieldSchema)(),{t}=(0,import_react_i18next.useTranslation)(),{duplicateData:o}=useFormBlockContext(),{getCollectionJoinField:r}=useCollectionManager_deprecated();if(o)return o;const{items:i=[],display:n=!0}=findDataTemplates(e);i.forEach(c=>{var u;try{c.fields=(u=c.fields)==null?void 0:u.map(d=>r(`${c.collection}.${d}`)?d:"").filter(Boolean)}catch(d){(0,import_client.error)(d),c.fields=[]}});const a=[{key:"none",title:t("None")}].concat(i.map((c,u)=>P(x({key:u},c),{isLeaf:c.dataId!==null&&c.dataId!==void 0,titleCollectionField:(c==null?void 0:c.titleField)&&r(`${c.collection}.${c.titleField}`)}))),l=i.find(c=>c.default);return{templates:a,display:n,defaultTemplate:l,enabled:i.length>0&&i.every(c=>c.dataId||c.dataScope)}},Templates=import_react2.default.memo(({style:e={},form:t})=>{const{token:o}=useToken$1(),{templates:r,display:i,enabled:n,defaultTemplate:a}=useFormDataTemplates(),{getCollectionJoinField:l}=useCollectionManager_deprecated(),c=compatibleDataId(r),[u,d]=(0,import_react2.useState)((a==null?void 0:a.key)||"none"),[m,p]=(0,import_react2.useState)(null),g=useAPIClient(),{t:h}=(0,import_react_i18next.useTranslation)(),f=useDataSourceKey(),_=useDataSourceHeaders(f);(0,import_react2.useEffect)(()=>{n&&a&&t&&(t.__template=!0,a.key==="duplicate"&&C(a.dataId,a,_))},[]),(0,import_react2.useEffect)(()=>{c!=null&&c.some(F=>F.key===u)||b("none")},[c]);const v=(0,import_react2.useMemo)(()=>x({display:"flex",alignItems:"center",backgroundColor:o.colorFillAlter,padding:o.padding},e),[e,o.colorFillAlter]),S=(0,import_react2.useMemo)(()=>({fontSize:o.fontSize,fontWeight:"bold",whiteSpace:"nowrap",marginRight:o.marginXS}),[o.fontSize,o.marginXS]),b=(0,import_react2.useCallback)(F=>E(void 0,null,function*(){d(F),p(null),t==null||t.reset()}),[]),C=(0,import_react2.useCallback)((F,j,I)=>E(void 0,null,function*(){const T=P(x({},j),{dataId:F});p(j),fetchTemplateData(g,T,I).then(z=>(t&&z&&(t.reset(),t.__template=!0,(0,import_client.forEach)(z,(B,O)=>{var D;B&&(t.values[O]=B,(D=t==null?void 0:t.setInitialValuesIn)==null||D.call(t,O,B))})),z)).catch(z=>{console.error(z)})}),[]);if(!n||!i)return null;const y=c==null?void 0:c.find(F=>F.key===u);return(0,import_jsx_runtime.jsx)("div",{style:v,children:(0,import_jsx_runtime.jsxs)(import_antd.Space,{wrap:!0,children:[(0,import_jsx_runtime.jsxs)("label",{style:S,children:[h("Data template"),": "]}),(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-form-data-template",popupMatchSelectWidth:!1,options:c,fieldNames:{label:"title",value:"key"},value:u,onChange:b}),u!=="none"&&y&&(0,import_jsx_runtime.jsx)(RemoteSelect,{style:{width:220},fieldNames:{label:y==null?void 0:y.titleField,value:"id"},target:y==null?void 0:y.collection,value:m,objectValue:!0,service:{resource:y==null?void 0:y.collection,params:{filter:y==null?void 0:y.dataScope}},onChange:F=>C(F==null?void 0:F.id,x(x({},F),y),_),targetField:l(`${y==null?void 0:y.collection}.${y.titleField}`)})]})})});Templates.displayName="NocoBaseFormDataTemplates";function findDataTemplates(e){const t=findFormBlock(e);return t?import_lodash.default.cloneDeep(t["x-data-templates"])||{}:{}}function fetchTemplateData(e,t,o){return E(this,null,function*(){if(!(t.fields.length===0||!t.dataId))return e.resource(t.collection,void 0,o).get({filterByTk:t.dataId,fields:t.fields,isTemplate:!0}).then(r=>{var i;return(i=r.data)==null?void 0:i.data})})}const useFormBlockHeight=()=>{var e,t,o;const r=useDataBlockHeight(),i=(0,import_react.useFieldSchema)(),{token:n}=import_antd.theme.useToken(),{designable:a}=useDesignable(),{heightProps:l}=useBlockHeightProps()||{},{title:c,titleHeight:u}=l||{},{display:d,enabled:m}=useFormDataTemplates(),p=i.reduceProperties((F,j)=>j["x-component"]==="ActionBar"?j:F),g=Object.keys((p==null?void 0:p.properties)||{}).length>0,h=(o=(t=(e=i==null?void 0:i.parent)==null?void 0:e["x-decorator"])==null?void 0:t.includes)==null?void 0:o.call(t,"FormBlockProvider"),f=g||a?n.controlHeight+(h?1*n.marginLG:24+n.paddingLG):n.marginLG,_=c?u:0,v=useDataBlockRequestData(),{count:S,pageSize:b}=(v==null?void 0:v.meta)||{},C=S>b?n.controlHeightSM+24:0,y=d&&m?n.controlHeight+2*n.padding+n.margin:0;return r-f-n.paddingLG-_-C-y},FormComponent=e=>{const t=e,{form:o,children:r}=t,i=K(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=getCardItemSchema==null?void 0:getCardItemSchema(a),c=useAttach(o.createVoidField(P(x({},n.props),{basePath:""}))),u=useFormBlockHeight(),{token:d}=import_antd.theme.useToken(),{layout:m="vertical",labelAlign:p="left",labelWidth:g=120,labelWrap:h=!0}=(l==null?void 0:l["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:m},i),{labelAlign:p,labelWidth:m==="horizontal"?g:null,labelWrap:h,children:(0,import_jsx_runtime.jsx)("div",{className:import_css.css`
601
601
  .nb-grid-container {
602
602
  height: ${u?u+"px":"100%"};
603
603
  overflow-y: auto;
@@ -971,7 +971,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
971
971
  > .ant-card-body > .ant-divider:last-child {
972
972
  display: none;
973
973
  }
974
- `,children:[(0,import_jsx_runtime.jsxs)(RefreshComponentProvider,{refresh:g,children:[r.value.map((B,O)=>{let D=n;return n||(D=!(B!=null&&B[o.targetKey])),(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{style:{textAlign:"right"},children:!r.readPretty&&D&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Remove"),children:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{style:{zIndex:1e3,color:"#a8a3a3"},onClick:()=>{(0,import_reactive.action)(()=>((0,import_internals.spliceArrayState)(r,{startIndex:O,deleteCount:1}),r.value.splice(O,1),r.onInput(r.value)))}})},"remove")}),(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"nester",children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:B,collection:d,fieldSchema:t.parent},children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:isNewRecord(B),record:B,parent:u,children:(0,import_jsx_runtime.jsx)(RecordIndexProvider,{index:O,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:F,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address.concat(O),schema:t})})})})})}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{})]},O)}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{children:[r.editable&&i&&(0,import_jsx_runtime.jsx)(Action.Link,{useProps:()=>({onClick:()=>{(0,import_reactive.action)(()=>{Array.isArray(r.value)||(r.value=[]);const B=r.value.length;return r.value.splice(B,0,markRecordAsNew({})),(0,import_shared.each)(r.form.fields,(O,D)=>{O||delete r.form.fields[D]}),r.onInput(r.value)})}}),title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},className:"nb-sub-form-addNew",children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{})," ",c("Add new")]})}),r.editable&&l&&a==="Nester"&&(0,import_jsx_runtime.jsx)(Action.Link,{useAction:y,title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},children:[(0,import_jsx_runtime.jsx)(import_icons.ZoomInOutlined,{})," ",c("Select record")]})})]})]}),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openSize:"middle",openMode:"drawer",visible:h,setVisible:f},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},T),{children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:o==null?void 0:o.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:z()},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:j,useTableSelectorProps:useTableSelectorProps$2,useCreateActionProps},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address,schema:t.parent,filterProperties:B=>B["x-component"]==="AssociationField.Selector"})})})})})}))})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:r.editable&&i&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Add new"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"default",className:import_css.css`
974
+ `,children:[(0,import_jsx_runtime.jsxs)(RefreshComponentProvider,{refresh:g,children:[r.value.map((B,O)=>{let D=n;return n||(D=!(B!=null&&B[o.targetKey])),(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{style:{textAlign:"right"},children:!r.readPretty&&D&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Remove"),children:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{style:{zIndex:1e3,color:"#a8a3a3"},onClick:()=>{(0,import_reactive.action)(()=>((0,import_internals.spliceArrayState)(r,{startIndex:O,deleteCount:1}),r.value.splice(O,1),r.onInput(r.value)))}})},"remove")}),(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"nester",children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:B,collection:d,fieldSchema:t.parent},children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:isNewRecord(B),record:B,parent:u,children:(0,import_jsx_runtime.jsx)(RecordIndexProvider,{index:O,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:F,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address.concat(O),schema:t})})})})})}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{})]},O)}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{children:[r.editable&&i&&(0,import_jsx_runtime.jsx)(Action.Link,{useProps:()=>({onClick:()=>{(0,import_reactive.action)(()=>{Array.isArray(r.value)||(r.value=[]);const B=r.value.length;return r.value.splice(B,0,markRecordAsNew({})),(0,import_shared.each)(r.form.fields,(O,D)=>{O||delete r.form.fields[D]}),r.onInput(r.value)})}}),title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},className:"nb-sub-form-addNew",children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{})," ",c("Add new")]})}),r.editable&&l&&a==="Nester"&&i&&(0,import_jsx_runtime.jsx)(Action.Link,{useAction:y,title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},children:[(0,import_jsx_runtime.jsx)(import_icons.ZoomInOutlined,{})," ",c("Select record")]})})]})]}),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openSize:"middle",openMode:"drawer",visible:h,setVisible:f},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},T),{children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:o==null?void 0:o.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:z()},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:j,useTableSelectorProps:useTableSelectorProps$2,useCreateActionProps},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address,schema:t.parent,filterProperties:B=>B["x-component"]==="AssociationField.Selector"})})})})})}))})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:r.editable&&i&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Add new"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"default",className:import_css.css`
975
975
  border: 1px solid #f0f0f0 !important;
976
976
  box-shadow: none;
977
977
  `,block:!0,icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),onClick:()=>{const B=r.value;B.push({}),r.value=B}})},"add")})},{displayName:"ToManyNester"}),toValue$3=(e,t)=>e??t,ButtonTabList=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),{enableLink:o,tagColorField:r}=t["x-component-props"],i=useFieldNames$1({fieldNames:e.fieldNames}),n=useInsertSchema$1("Viewer"),{options:a}=useAssociationFieldContext(),l=useCompile(),{designable:c}=useDesignable(),u=useLabelUiSchema$1(a,(i==null?void 0:i.label)||"label"),{snapshot:d}=useActionContext(),m=(0,import_react2.useRef)(),{getCollection:p}=useCollectionManager_deprecated(),g=p(a==null?void 0:a.target),h=(g==null?void 0:g.template)==="tree",{openPopup:f}=usePopupUtils(),_=useCollectionRecordData(),v=(0,import_react2.useRef)(!1),S=(0,import_react2.useRef)(t);S.current=t;const b=(0,import_react2.useCallback)(()=>S.current,[]);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(0,import_shared.toArr)(e.value).map((C,y,F)=>{const j=C==null?void 0:C[(i==null?void 0:i.label)||"label"],I=h?transformNestedData(C).map(B=>B==null?void 0:B[(i==null?void 0:i.label)||"label"]).join(" / "):isObject(j)?JSON.stringify(j):j,T=toValue$3(l(I),"N/A"),z=getTabFormatValue(l(u),T,C[r]);return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[(0,import_jsx_runtime.jsx)("span",{children:d?z:o!==!1?(0,import_jsx_runtime.jsx)("a",{onMouseEnter:()=>{e.setBtnHover(!0)},onClick:B=>{var O;e.setBtnHover(!0),B.stopPropagation(),B.preventDefault(),c&&!t.properties&&(n(schema$1.Viewer),v.current=!0),v.current?setTimeout(()=>{f({recordData:C,parentRecordData:_,customActionSchema:b()}),v.current=!1}):f({recordData:C,parentRecordData:_}),(O=m==null?void 0:m.current)==null||O.setPopoverVisible(!1)},children:z}):z}),y<F.length-1?(0,import_jsx_runtime.jsx)("span",{style:{marginRight:4,color:"#aaa"},children:","}):null]},`${C==null?void 0:C[i.value]}_${y}`)})})},{displayName:"ButtonTabList"}),ReadPrettyInternalTag=e=>(0,import_jsx_runtime.jsx)(ReadPrettyInternalViewer,P(x({},e),{ButtonList:ButtonTabList})),ReadPrettyAssociationField=e=>{const{currentMode:t}=useAssociationFieldContext();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[["Select","Picker","CascadeSelect"].includes(t)&&(0,import_jsx_runtime.jsx)(ReadPrettyInternalViewer,x({},e)),t==="Tag"&&(0,import_jsx_runtime.jsx)(ReadPrettyInternalTag,x({},e)),t==="Nester"&&(0,import_jsx_runtime.jsx)(InternalNester,x({},e)),t==="SubTable"&&(0,import_jsx_runtime.jsx)(InternalSubTable,x({},e)),t==="FileManager"&&(0,import_jsx_runtime.jsx)(FileManageReadPretty,x({},e))]})},ReadPretty$8=(0,import_react.observer)(e=>{const t=(0,import_react.useField)(),o=t.initialValue,r=t.value||o;return(0,import_jsx_runtime.jsx)(AssociationFieldProvider,{children:(0,import_jsx_runtime.jsx)(ReadPrettyAssociationField,P(x({},e),{value:r}))})},{displayName:"ReadPretty"}),ColumnFieldProvider=e=>{const{schema:t,basePath:o}=e,r=useRecord(),i=useCollection(),n=(0,import_react2.useMemo)(()=>t.reduceProperties((l,c)=>c["x-component"]==="CollectionField"?c:l,null),[t]),a=n&&i.getField(n["x-collection-field"]);if(n&&r!=null&&r.__collection&&a&&["select","multipleSelect"].includes(a.interface)){const l=`${r.__collection}.${n.name}`,c=P(x({},t.toJSON()),{properties:{[n.name]:P(x({},n.toJSON()),{"x-collection-field":l})}});return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:o,schema:c,onlyRenderProperties:!0,isUseFormilyField:!0})}return e.children},InViewContext=import_react2.default.createContext(!1),useArrayField=e=>{const t=(0,import_react.useField)();return e.field||t};function getSchemaArrJSON(e){return e.map(t=>t.name==="actions"?(0,import_lodash.omit)(t.toJSON(),"properties"):t.toJSON())}function adjustColumnOrder(e){const t=[],o=[],r=[];return e.forEach(i=>{i.fixed==="left"?t.push(i):i.fixed==="right"?r.push(i):o.push(i)}),[...t,...o,...r]}const useColumnsDeepMemoized=e=>{const t=getSchemaArrJSON(e),o=(0,import_ahooks.useCreation)(()=>({value:import_lodash.default.cloneDeep(t)}),[]);return import_lodash.default.isEqual(t,o.value)||(o.value=import_lodash.default.cloneDeep(t)),o.value},useTableColumns$1=(e,t)=>{const{token:o}=useToken$1(),r=useArrayField(e),i=(0,import_react.useFieldSchema)(),{schemaInWhitelist:n}=useACLFieldWhitelist(),{designable:a}=useDesignable(),{exists:l,render:c}=useSchemaInitializerRender(i["x-initializer"],i["x-initializer-props"]),u=useCollectionParentRecordData(),d=i.reduceProperties((v,S)=>isColumnComponent$1(S)&&n(Object.values(S.properties||{}).pop())?v.concat([S]):v,[]),{current:m,pageSize:p}=t,g=useColumnsDeepMemoized(d),h=(0,import_react2.useMemo)(()=>import_css.css`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/client",
3
- "version": "1.6.0-alpha.21",
3
+ "version": "1.6.0-alpha.23",
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.0-alpha.21",
31
- "@nocobase/sdk": "1.6.0-alpha.21",
32
- "@nocobase/utils": "1.6.0-alpha.21",
30
+ "@nocobase/evaluators": "1.6.0-alpha.23",
31
+ "@nocobase/sdk": "1.6.0-alpha.23",
32
+ "@nocobase/utils": "1.6.0-alpha.23",
33
33
  "ahooks": "^3.7.2",
34
34
  "antd": "5.12.8",
35
35
  "antd-style": "3.7.1",
@@ -81,5 +81,5 @@
81
81
  "dumi": "2.2.14",
82
82
  "dumi-theme-nocobase": "^0.2.28"
83
83
  },
84
- "gitHead": "873cbaec9554e684781b8dc6cfd4386bb5cfa5b0"
84
+ "gitHead": "34e9bab601ea8364f10730f6da9f132e906b1908"
85
85
  }