@nocobase/client 1.8.24 → 1.8.25

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
@@ -8779,7 +8779,7 @@ function addAppVersion(e, t) {
8779
8779
  addAppVersion((n = e.properties) == null ? void 0 : n[o], t);
8780
8780
  }), e;
8781
8781
  }
8782
- const name = "@nocobase/client", version = "1.8.24", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
8782
+ const name = "@nocobase/client", version = "1.8.25", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
8783
8783
  "@ahooksjs/use-url-state": "3.5.1",
8784
8784
  "@ant-design/cssinjs": "^1.11.1",
8785
8785
  "@ant-design/icons": "^5.6.1",
@@ -8800,9 +8800,9 @@ const name = "@nocobase/client", version = "1.8.24", license = "AGPL-3.0", main
8800
8800
  "@formily/reactive-react": "^2.2.27",
8801
8801
  "@formily/shared": "^2.2.27",
8802
8802
  "@formily/validator": "^2.2.27",
8803
- "@nocobase/evaluators": "1.8.24",
8804
- "@nocobase/sdk": "1.8.24",
8805
- "@nocobase/utils": "1.8.24",
8803
+ "@nocobase/evaluators": "1.8.25",
8804
+ "@nocobase/sdk": "1.8.25",
8805
+ "@nocobase/utils": "1.8.25",
8806
8806
  ahooks: "^3.7.2",
8807
8807
  antd: "5.24.2",
8808
8808
  "antd-style": "3.7.1",
@@ -19771,7 +19771,28 @@ const CollectionTitle = (e) => {
19771
19771
  /* @__PURE__ */ jsx(PageHeader, { style: { backgroundColor: "white" }, ghost: !1, title: e("Block templates") }),
19772
19772
  /* @__PURE__ */ jsx("div", { style: { margin: "var(--nb-spacing)" }, children: /* @__PURE__ */ jsx(SchemaComponent, { schema: uiSchemaTemplatesSchema }) })
19773
19773
  ] });
19774
- }, BlockTemplatesPane = () => /* @__PURE__ */ jsx(SchemaComponent, { schema: uiSchemaTemplatesSchema }), useSystemSettingsVariable = () => {
19774
+ }, BlockTemplatesPane = () => /* @__PURE__ */ jsx(SchemaComponent, { schema: uiSchemaTemplatesSchema }), VariableScopeContext$1 = createContext({
19775
+ scopeId: "",
19776
+ type: ""
19777
+ }), VariableScope = (e) => {
19778
+ const t = React.useContext(VariableScopeContext$1), o = useMemo(() => ({
19779
+ scopeId: e.scopeId,
19780
+ type: e.type,
19781
+ parent: t
19782
+ }), [e.scopeId, e.type, t]);
19783
+ return /* @__PURE__ */ jsx(VariableScopeContext$1.Provider, { value: o, children: e.children });
19784
+ }, useVariableScopeInfo = () => {
19785
+ let e = React.useContext(VariableScopeContext$1);
19786
+ return {
19787
+ getVariableScopeInfo: useCallback(() => {
19788
+ if (e.scopeId)
19789
+ return e;
19790
+ for (; e.parent && !e.scopeId; )
19791
+ e = e.parent;
19792
+ return e;
19793
+ }, [e])
19794
+ };
19795
+ }, useSystemSettingsVariable = () => {
19775
19796
  const { t: e } = useTranslation();
19776
19797
  return {
19777
19798
  /** 变量的配置项 */
@@ -21575,27 +21596,6 @@ const transformDefaultValue = (e, t) => e.map((o) => {
21575
21596
  h && p.push(h);
21576
21597
  }), p;
21577
21598
  })(r, 1);
21578
- }, VariableScopeContext$1 = createContext({
21579
- scopeId: "",
21580
- type: ""
21581
- }), VariableScope = (e) => {
21582
- const t = React.useContext(VariableScopeContext$1), o = useMemo(() => ({
21583
- scopeId: e.scopeId,
21584
- type: e.type,
21585
- parent: t
21586
- }), [e.scopeId, e.type, t]);
21587
- return /* @__PURE__ */ jsx(VariableScopeContext$1.Provider, { value: o, children: e.children });
21588
- }, useVariableScopeInfo = () => {
21589
- let e = React.useContext(VariableScopeContext$1);
21590
- return {
21591
- getVariableScopeInfo: useCallback(() => {
21592
- if (e.scopeId)
21593
- return e;
21594
- for (; e.parent && !e.scopeId; )
21595
- e = e.parent;
21596
- return e;
21597
- }, [e])
21598
- };
21599
21599
  }, SchemaSettingsContext = createContext(null);
21600
21600
  SchemaSettingsContext.displayName = "SchemaSettingsContext";
21601
21601
  function useSchemaSettings() {
@@ -22071,14 +22071,14 @@ const SchemaSettingsModalItem = (e) => {
22071
22071
  min-width: 320px;
22072
22072
  }
22073
22073
  `,
22074
- children: /* @__PURE__ */ jsx(ApplicationContext.Provider, { value: b, children: /* @__PURE__ */ jsx(APIClientProvider, { apiClient: C, children: /* @__PURE__ */ jsx(ConfigProvider, { locale: F, children: /* @__PURE__ */ jsx(
22074
+ children: /* @__PURE__ */ jsx(ApplicationContext.Provider, { value: b, children: /* @__PURE__ */ jsx(APIClientProvider, { apiClient: C, children: /* @__PURE__ */ jsx(ConfigProvider, { locale: F, children: /* @__PURE__ */ jsx(zIndexContext.Provider, { value: 2e3, children: /* @__PURE__ */ jsx(
22075
22075
  SchemaComponent,
22076
22076
  {
22077
22077
  components: n,
22078
22078
  scope: r,
22079
22079
  schema: J
22080
22080
  }
22081
- ) }) }) })
22081
+ ) }) }) }) })
22082
22082
  }
22083
22083
  )
22084
22084
  }
@@ -56046,7 +56046,7 @@ const isValidateEmpty = (e) => {
56046
56046
  };
56047
56047
  registerValidateRules({
56048
56048
  username(e) {
56049
- return /^[^@.<>"'/]{1,50}$/.test(e) || i18n.t(`Must be 1-50 characters in length (excluding @.<>"'/)`);
56049
+ return /^[^@<>"'/]{1,50}$/.test(e) || i18n.t(`Must be 1-50 characters in length (excluding @<>"'/)`);
56050
56050
  },
56051
56051
  required(e, t) {
56052
56052
  return t.required === !1 ? "" : (typeof e == "string" && (e = e.trim()), isValidateEmpty(e) ? t.message : "");
package/lib/index.js CHANGED
@@ -62,7 +62,7 @@
62
62
  width: 100%;
63
63
  }
64
64
  }
65
- `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(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:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),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.8.24",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@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.8.24","@nocobase/sdk":"1.8.24","@nocobase/utils":"1.8.24",ahooks:"^3.7.2",antd:"5.24.2","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","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","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=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(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=>z(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=>z(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=>z(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 z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},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((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}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$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(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,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{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$3={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$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
65
+ `,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(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:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),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.8.25",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.6.1","@ant-design/pro-layout":"^7.22.1","@antv/g2plot":"^2.4.18","@budibase/handlebars-helpers":"0.14.0","@ctrl/tinycolor":"^3.6.0","@dnd-kit/core":"^6.0.0","@dnd-kit/sortable":"^7.0.0","@emotion/css":"^11.7.1","@formily/antd-v5":"1.2.3","@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.8.25","@nocobase/sdk":"1.8.25","@nocobase/utils":"1.8.25",ahooks:"^3.7.2",antd:"5.24.2","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","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","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=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(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=>z(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=>z(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=>z(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 z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},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((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}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$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(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,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{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$3={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$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
66
66
  &.skeleton-wrapper {
67
67
  width: 100%;
68
68
  background: ${o.colorBgContainer};
@@ -335,7 +335,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
335
335
  &:hover {
336
336
  display: block !important;
337
337
  }
338
- `,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:m=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:d,designable:p}=useDesignable(),h=(0,import_react.useField)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=useCompile(),{getAriaLabel:f}=useGetAriaLabelOfDesigner(),v={dn:d,field:h,fieldSchema:r},{render:C,exists:S}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),b=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),k=useDataSource(),T=(j==null?void 0:j.length)>1&&k,M=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${g("(Fields only)")}`:a==null?void 0:a.name,w=(0,import_react2.useMemo)(()=>{var L;return{insertPosition:"afterEnd",wrap:((L=b==null?void 0:b.cols)==null?void 0:L.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":f("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[f,(t=b==null?void 0:b.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,r["x-template-uid"]?"nb-in-template":""),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:m&&T?`${_(T==null?void 0:T.displayName)} > ${_(n)}`:_(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[g("Reference template"),": ",M||g("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":f("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},w)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,w)),S?C(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":f("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:m=!0,spaceClassName:d,spaceStyle:p,toolbarClassName:h,toolbarStyle:g={},container:_}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:v}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:C,hashId:S}=useStyles$g(),{t:b}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:y}=useGetAriaLabelOfDesigner(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),k=useDataSource(),T=(j==null?void 0:j.length)>1&&k,M=useRefreshFieldSchema(),w=(0,import_react2.useRef)(b("Reference template")),L=(0,import_react2.useCallback)(()=>{M({refreshParentSchema:!0})},[M]),D=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return r.length===1&&o["x-template-title"]?(w.current=b("Inherited template"),f([r[0],o["x-template-title"]])):f(r)}},[r,o]),{render:R,exists:N}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:B,exists:I}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),$=useGridRowContext(),E=useGridContext(),O=(0,import_react2.useMemo)(()=>{var K;return{insertPosition:"afterEnd",wrap:((K=$==null?void 0:$.cols)==null?void 0:K.length)===1?gridRowColWrap:void 0,Component:J=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},J),{role:"button","aria-label":y("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[y,(t=$==null?void 0:$.cols)==null?void 0:t.length]),V=(0,import_react2.useMemo)(()=>m===!1||v===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":y("drag-handler")})}),[m,y,v]),U=(0,import_react2.useMemo)(()=>{var K;if(i===!1)return null;if(I)return B(O);if(E!=null&&E.InitializerComponent||E!=null&&E.renderSchemaInitializer)return E!=null&&E.InitializerComponent?(0,import_jsx_runtime.jsx)(E.InitializerComponent,x({},O)):(K=E.renderSchemaInitializer)==null?void 0:K.call(E,O)},[E,i,O,I,B]),q=(0,import_react2.useMemo)(()=>n!==!1&&N?R():null,[N,R,n]),G=(0,import_react2.useRef)(null),W="hidden";(0,import_react2.useEffect)(()=>{const K=G.current;let J=K==null?void 0:K.parentElement;for(;J&&J.clientHeight===0;)J=J.parentElement;const Q=_||J;if(!Q)return;function X(){var ee;K&&(K.classList.remove(W),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function te(){var ee;K&&(K.classList.add(W),(ee=e.onVisibleChange)==null||ee.call(e,!1))}return Q.addEventListener("mouseenter",X),Q.addEventListener("mouseleave",te),()=>{Q.removeEventListener("mouseenter",X),Q.removeEventListener("mouseleave",te)}},[e.onVisibleChange,_]);const H=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},g),[a,u,g]);return(0,import_jsx_runtime.jsxs)("div",{ref:G,className:(0,import_classnames.default)(C,S,h,"schema-toolbar",W),style:H,children:[D&&(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:T?`${f(T==null?void 0:T.displayName)} > ${D[0]}`:D[0]},D[0]),D[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${w.current}: ${`${D[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:d,style:p,children:[V,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:L,children:U}),q]})})]})});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 ActionSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1,showBorder:!1,showBackground:!0},e)),BlockSchemaToolbar=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=useCollectionManager();let{name:r,title:i}=useCollection()||{};const n=useSchemaTemplate(),{association:a,collection:l}=useDataBlockProps()||{},c=useCompile(),{isMobileLayout:u}=useMobileLayout();if(a){const[g]=a.split("."),{name:_,title:f}=o.getCollection(g);r=_,i=f}const m=o.getCollectionField(a),d=o.getCollection(l||(m==null?void 0:m.target)),p=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,h=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:m,associationCollection:d,compile:c}),p].filter(Boolean),[i,r,m,d,c,p]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,P(x({title:h},e),{draggable:!u}))};function getCollectionTitle(e){var t;const{collectionTitle:o,collectionName:r,associationField:i,compile:n,associationCollection:a}=e;return i?`${n(o||r)} > ${n(((t=i.uiSchema)==null?void 0:t.title)||i.name)} (${n((a==null?void 0:a.title)||(a==null?void 0:a.name))})`:n(o||r)}const useDetailsWithPaginationBlockParams=e=>{const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[JSON.stringify(o)]),parseVariableLoading:r}};function useDetailsWithPaginationDecoratorProps(e){let t;const{params:o,parseVariableLoading:r}=useDetailsWithPaginationBlockParams(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,params:o,parseVariableLoading:r}}const DetailsBlockContext=(0,import_react2.createContext)({});DetailsBlockContext.displayName="DetailsBlockContext";const InternalDetailsBlockProvider=e=>{var t,o,r;const{action:i,readPretty:n}=e,a=(0,import_react.useField)(),l=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({readPretty:n}),[n]),c=useCollection(),{resource:u,service:m}=useBlockRequestContext(),d=useCollectionParentRecord(),p=(i==="list"?(o=(t=m==null?void 0:m.data)==null?void 0:t.data)==null?void 0:o[0]:(r=m==null?void 0:m.data)==null?void 0:r.data)||{},h=(0,import_react2.useRef)(),g=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:h}),[i,a,l,u,m]);return a.loaded=!0,(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,{recordData:p,collectionName:c==null?void 0:c.name,children:(0,import_jsx_runtime.jsx)(DetailsBlockContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!1,record:p,parent:d==null?void 0:d.data,children:e.children})})})})},useCompatDetailsBlockParams=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e==null?void 0:e.params,r=e==null?void 0:e.parseVariableLoading;else{const i=useDetailsWithPaginationBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},DetailsBlockProvider=withDynamicSchemaProps(e=>{const{params:t,parseVariableLoading:o}=useCompatDetailsBlockParams(e),r=useCollectionRecordData(),{association:i,action:n}=e,{__collection:a}=r||{},{designable:l}=useDesignable(),c=e.collection;let u=!0;!l&&a&&n==="get"&&!i&&(u=a===c);const m=(0,import_ahooks.useUpdate)();return!u||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"details"},e),{params:t,children:(0,import_jsx_runtime.jsx)(InternalDetailsBlockProvider,x({},e))}))})}),useDetailsBlockContext=()=>(0,import_react2.useContext)(DetailsBlockContext),useDetailsBlockProps=()=>{var e,t;const o=useDetailsBlockContext();return(0,import_react2.useEffect)(()=>{var r,i,n,a,l;if(!o.service.loading){const c=o.action==="list"?(n=(i=(r=o.service)==null?void 0:r.data)==null?void 0:i.data)==null?void 0:n[0]:(l=(a=o.service)==null?void 0:a.data)==null?void 0:l.data;o.form.reset().then(()=>{o.form.setInitialValues(c||{}),o.form.setValues(c||{})}).catch(console.error)}},[o.action,o.form,(t=(e=o.service)==null?void 0:e.data)==null?void 0:t.data,o.service.loading]),{form:o.form}};function useDetailsWithPaginationProps(){return useDetailsBlockProps()}function useDetailsDecoratorProps(e){const t=useParamsFromRecord(e);let o;return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o}}function useDetailsParentRecord(e){const t=(0,import_react.useFieldSchema)(),o=useCollectionRecordData(),r=useCollectionParentRecordData();if(e)return t["x-is-current"]?r:o}function useDetailsProps(){return useDetailsBlockProps()}const FormItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({showBorder:!1,showBackground:!0},e)),useHiddenForInherit=e=>{const t=useRecord(),{collection:o,isCusomeizeCreate:r,hidden:i}=e,{__collection:n}=t,a=useCollection(),{designable:l}=useDesignable(),c=useIsDetailBlock();if(!a)return{hidden:i||!1};let u=!1;c&&(u=!0,!l&&n&&(u=n===o));const m=a.name===((o==null?void 0:o.name)||o)&&!c||!a.name||!o;return{hidden:i||!u&&!m&&!r}};function useCreateFormBlockDecoratorProps(e){let t;const{hidden:o}=useHiddenForInherit(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,hidden:o}}function useCreateFormBlockProps(){return useFormBlockProps$1()}function useDataFormItemProps(){const e=useCollectionRecordData(),{form:t}=useFormBlockContext(),o=useSubFormValue(),{isInSubTable:r}=useFlag(),{valueMap:i}=useSatisfiedActionValues({category:"style",formValues:(o==null?void 0:o.formValue)||(t==null?void 0:t.values)||e,form:t});return{wrapperStyle:r?Object.fromEntries(Object.entries(i||{}).filter(([n])=>n!=="backgroundColor")):i}}function useEditFormBlockDecoratorProps(e){const t=useFormBlockParams(e);let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(e){return useParamsFromRecord(e)}function useEditFormBlockProps(){return useFormBlockProps$1()}const useGridCardActionBarProps$1=()=>{const e=(0,import_react.useFieldSchema)(),{designable:t}=useDesignable();return{style:{marginBottom:"var(--nb-spacing)"},hidden:!t&&import_lodash.default.isEmpty(e.properties)}};function useGridCardBlockParams(e){const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[o,t]),parseVariableLoading:r}}function useGridCardBlockDecoratorProps(e){const{params:t,parseVariableLoading:o}=useGridCardBlockParams(e);let r;return e.association&&(r=useParentRecordCommon(e.association)),{params:t,parentRecord:r,parseVariableLoading:o}}function useGridCardBlockItemProps(){return{}}function useGridCardBlockProps(){return{}}function useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}function useListBlockProps(){return{}}function useTableSelectorDecoratorProps(){}const useDragEnd=e=>{const{refresh:t}=useDesignable(),o=useAPIClient(),{t:r}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(i=>{var n,a,l,c,u,m,d,p,h,g,_,f,v,C,S;const{active:b,over:y}=i,F=(a=(n=b==null?void 0:b.data)==null?void 0:n.current)==null?void 0:a.schema,j=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,k=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,T=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,M=(g=(h=y==null?void 0:y.data)==null?void 0:h.current)==null?void 0:g.wrapSchema,w=(f=(_=y==null?void 0:y.data)==null?void 0:_.current)==null?void 0:f.onSuccess,L=(S=(C=(v=y==null?void 0:y.data)==null?void 0:v.current)==null?void 0:C.removeParentsIfNoChildren)!=null?S:!0;if(!F||!j){e==null||e(i);return}if(F===j){e==null||e(i);return}if(F.parent===j&&k==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:R=!0}={})=>t({refreshParentSchema:R}),current:j});if(D.loadAPIClientEvents(),F.parent===j.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(k){D.insertAdjacent(k,F,{wrap:M,breakRemoveOn:T,removeParentsIfNoChildren:L,onSuccess:w}),e==null||e(i);return}},[o,e,t,r])},InternalDndContext=import_react2.default.memo(e=>{const{t}=(0,import_react_i18next.useTranslation)(),[o,r]=(0,import_react2.useState)(!0),i=(0,import_react2.useCallback)(a=>{var l,c,u;const{active:m}=a,d=(c=(l=m==null?void 0:m.data)==null?void 0:l.current)==null?void 0:c.schema;r(!!d),e!=null&&e.onDragStart&&((u=e==null?void 0:e.onDragStart)==null||u.call(e,a))},[e==null?void 0:e.onDragStart]),n=useDragEnd(e==null?void 0:e.onDragEnd);return(0,import_jsx_runtime.jsxs)(import_core2.DndContext,P(x({collisionDetection:import_core2.rectIntersection},e),{onDragStart:i,onDragEnd:n,children:[(0,import_jsx_runtime.jsx)(import_core2.DragOverlay,{dropAnimation:{duration:10,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:o&&(0,import_jsx_runtime.jsx)("span",{style:{whiteSpace:"nowrap"},children:t("Dragging")})}),e.children]}))});InternalDndContext.displayName="InternalDndContext";const DndContext=e=>(0,import_jsx_runtime.jsx)(InternalDndContext,x({},e)),useStyles$f=genStyleHook("nb-grid-in-css-in-js",e=>{const{componentCls:t}=e,o=e.marginBlock===e.marginLG?" !important":"";return{[t]:{position:"relative",".ColDivider":{flexShrink:0,width:`${e.marginBlock}px${o}`},".DraggableNode":{"&::before":{content:'" "',width:"100%",height:"100%",position:"absolute",cursor:"col-resize"},"&:hover":{"&::before":{background:"var(--colorBgSettingsHover) !important"}},width:`${e.marginBlock}px${o}`,height:"100%",position:"absolute",cursor:"col-resize"},".RowDivider":{height:`${e.marginBlock}px${o}`,width:"100%",position:"absolute",marginTop:`calc(-1 * ${e.marginBlock}px)${o}`},".CardRow":{display:"flex",position:"relative"},".showDivider":{margin:`0 calc(-1 * ${e.marginBlock}px)${o}`},".nb-grid-warp > button:last-child":{marginBottom:`${e.marginBlock}px`},".nb-grid-warp .nb-grid-warp > button:last-child":{marginBottom:`${e.margin}px`}}}}),GridRowContext=(0,import_react2.createContext)({});GridRowContext.displayName="GridRowContext";const GridColContext=(0,import_react2.createContext)({});GridColContext.displayName="GridColContext";const GridContext=(0,import_react2.createContext)({});GridContext.displayName="GridContext";const breakRemoveOnGrid=e=>e["x-component"]==="Grid",breakRemoveOnRow=e=>e["x-component"]==="Grid.Row",ColDivider=e=>{var t,o,r;const{token:i}=useToken$1(),n=(0,import_react2.useRef)(null),{dn:a,designable:l}=useDesignable(),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!l}),m=(0,import_react2.useRef)(),d=(0,import_react2.useMemo)(()=>c?{backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{},[c]),p=(r=(o=(t=(0,import_core2.useDndContext)().active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent,h=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let g=!0;if(h===1)if(e.first)g=p!==e.cols[0];else{const k=e.cols[e.index],T=e.cols[e.index+1];g=p!==k&&T!==p}const _=e.cols[e.index],f=e.cols[e.index+1],v=e.first||e.last||!l,{attributes:C,listeners:S,setNodeRef:b,isDragging:y}=(0,import_core2.useDraggable)({disabled:v,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f},attributes:{tabIndex:v?-1:0}}),[F,j]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(k){var T,M,w;const L=(w=(M=(T=k.active)==null?void 0:T.data)==null?void 0:M.current)==null?void 0:w.dividerRef;if(!L||!l)return;n.current=k.active.id;const D=L.current,R=D.previousElementSibling,N=D.nextElementSibling;j([R.clientWidth,N.clientWidth])},onDragMove(k){if(!l||!y)return;n.current===k.active.id&&(n.current=n.current+"_move");const T=m.current,M=T.previousElementSibling,w=T.nextElementSibling;M.style.width=`${F[0]+k.delta.x}px`,w.style.width=`${F[1]-k.delta.x}px`},onDragEnd(k){var T;if(!l||!n.current||(T=n.current)!=null&&T.startsWith(k.active.id)&&!n.current.endsWith("_move")||F[0]<=0||F[1]<=0||(j([0,0]),!_||!f))return;const M=m.current,w=M.previousElementSibling,L=M.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=M.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(w.getBoundingClientRect().width+D)/M.parentElement.clientWidth).toFixed(2),N=(100*(L.getBoundingClientRect().width+D)/M.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",N),a.emit("batchPatch",{schemas:[{"x-uid":_["x-uid"],"x-component-props":x({},_["x-component-props"])},{"x-uid":f["x-uid"],"x-component-props":x({},f["x-component-props"])}]})}}),(0,import_jsx_runtime.jsx)("div",{ref:k=>{g&&(u(k),m.current=k)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:b},S),C),{className:e.first||e.last||!l?null:"DraggableNode"}))})},RowDivider=import_react2.default.memo(e=>{var t,o,r;const{token:i}=useToken$1(),{designable:n}=useDesignable(),{isOver:a,setNodeRef:l}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!n}),[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useMemo)(()=>a?{zIndex:c?1e3:-1,backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{zIndex:c?1e3:-1},[c,a]),d=(0,import_core2.useDndContext)(),p=e.rows[e.index],h=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,g=(0,import_react2.useMemo)(()=>h==null?void 0:h.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[h]);let _=!0;if(g===1)if(e.first)_=h!==e.rows[0];else{const f=e.rows[e.index+1];_=h!==p&&f!==h}return(0,import_core2.useDndMonitor)({onDragStart(f){n&&u(!0)},onDragMove(f){},onDragOver(f){},onDragEnd(f){n&&u(!1)},onDragCancel(f){n&&u(!1)}}),(0,import_jsx_runtime.jsx)("span",{ref:_?l:null,className:(0,import_classnames.default)("nb-row-divider","RowDivider"),style:m})});RowDivider.displayName="RowDivider";const wrapRowSchema=e=>{const t=new import_react.Schema({type:"void",name:`row_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Row"}),o=t.addProperty((0,import_shared.uid)(),{type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=o),o.addProperty(e.name,e),t},wrapColSchema=e=>{const t=new import_react.Schema({type:"void",name:`col_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=t),t.addProperty(e.name,e),t},useRowProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Row"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},useColProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Col"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},DndWrapper=e=>e.dndContext===!1?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(DndContext,P(x({},e.dndContext),{children:e.children})),useGridContext=()=>(0,import_react2.useContext)(GridContext),useGridRowContext=()=>(0,import_react2.useContext)(GridRowContext),getRowDividerData=import_lodash.default.memoize((e,t)=>({breakRemoveOn:breakRemoveOnGrid,wrapSchema:wrapRowSchema,insertAdjacent:t,schema:e})),Grid=(0,import_react.observer)(e=>{const{distributed:t,showDivider:o=!0}=e,r=(0,import_react2.useRef)(null),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{render:a}=useSchemaInitializerRender(n["x-initializer"],n["x-initializer-props"]),l=(0,import_react2.useCallback)(C=>a(C),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$f(),h=t===void 0?(n==null?void 0:n.parent["x-component"])==="Page"||(n==null?void 0:n.parent["x-component"])==="Tabs.TabPane":t;(0,import_react2.useEffect)(()=>{r.current&&(m==null||m(r.current))},[m]);const g=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=useRefreshComponent(),v=(0,import_react2.useCallback)(()=>{_==null||_(),f==null||f()},[f,_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:v,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-grid-container"),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`nb-grid ${d} ${p}`),ref:r,children:(0,import_jsx_runtime.jsxs)("div",{className:"nb-grid-warp",children:[(0,import_jsx_runtime.jsxs)(DndWrapper,{dndContext:e.dndContext,children:[o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,first:!0,id:`${c}_0`,data:getRowDividerData(n,"afterBegin")}):null,u.map((C,S)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[h?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:C.name,schema:C,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:C.name,schema:C,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:S,id:`${c}_${S+1}`,data:getRowDividerData(C,"afterEnd")}):null]},S))]}),a()]})})})})})})},{displayName:"Grid"});Grid.Row=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=e.address.toString(),r=useColProperties(),{showDivider:i}=useGridContext(),n=(0,import_react2.useMemo)(()=>({schema:t,cols:r}),[t,r]);return(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:n,children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("nb-grid-row","CardRow",{showDivider:i}),children:[i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,first:!0,id:`${o}_0`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterBegin",schema:t}}),r.map((a,l)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:a.name,schema:a,isUseFormilyField:!0}),i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,index:l,last:l===r.length-1,id:`${o}_${l+1}`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterEnd",schema:a}})]},l))]})})},{displayName:"Grid.Row"});Grid.Col=(0,import_react.observer)(e=>{const{cols:t=[]}=(0,import_react2.useContext)(GridRowContext),{showDivider:o}=useGridContext(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{token:n}=useToken$1(),{designable:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{var _;let f="";return t!=null&&t.length&&(f=`calc(${((_=r==null?void 0:r["x-component-props"])==null?void 0:_.width)||100/t.length}% - ${n.marginBlock}px * ${(o?t.length+1:0)/t.length})`),{width:f}},[t.length,r,o,n.marginBlock]),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:i.address.toString(),data:{insertAdjacent:"beforeEnd",schema:r,wrapSchema:_=>_},disabled:!a}),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useMemo)(()=>c?{background:`linear-gradient(to top, ${new import_tinycolor.TinyColor(n.colorSettings).setAlpha(.1).toHex8String()} 20%, transparent 20%)`,borderTopRightRadius:"10px",borderTopLeftRadius:"10px",height:"100%"}:{height:"100%"},[m,c]);(0,import_core2.useDndMonitor)({onDragStart(_){a&&d(!0)},onDragMove(_){},onDragOver(_){},onDragEnd(_){a&&d(!1)},onDragCancel(_){a&&d(!1)}});const h=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),g=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:g,className:(0,import_classnames.default)("nb-grid-col",e.className),children:e.children})})},{displayName:"Grid.Col"});Grid.wrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[e.name||(0,import_shared.uid)()]:e}}}});const TableColumnSchemaToolbar=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:null,children:(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:e.initializer||!1,showBorder:!1,showBackground:!0},import_lodash.default.omit(e,"initializer")))}));TableColumnSchemaToolbar.displayName="TableColumnSchemaToolbar";const useTableBlockProps=()=>{var e,t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useDataBlockResource(),u=useDataBlockRequest(),{getDataBlocks:m}=useFilterBlock(),d=useTableBlockContextBasicValue(),p=(0,import_react2.useRef)(null);p.current={service:u,resource:c};const h=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},g=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var C;g!=null&&g.current&&((C=g.current.parentElement)==null||C.scrollIntoView({block:"start"}))},[g]),f=(0,import_react2.useMemo)(()=>({pageSize:h==null?void 0:h.pageSize,total:h==null?void 0:h.count,current:h==null?void 0:h.page,onChange:_}),[h==null?void 0:h.count,h==null?void 0:h.page,h==null?void 0:h.pageSize,_]),v=((t=u==null?void 0:u.data)==null?void 0:t.data)||[];return(0,import_react2.useEffect)(()=>{var C,S;if(!(u!=null&&u.loading)){const b=(S=(C=d.field)==null?void 0:C.data)==null?void 0:S.selectedRowKeys;a.data=a.data||{},(0,import_lodash.isEqual)(a.data.selectedRowKeys,b)||(a.data.selectedRowKeys=b)}},[a,u==null?void 0:u.data,u==null?void 0:u.loading,(r=(o=d.field)==null?void 0:o.data)==null?void 0:r.selectedRowKeys]),{optimizeTextCellRender:!0,value:v,childrenColumnName:d.childrenColumnName,loading:u==null?void 0:u.loading,showIndex:d.showIndex,dragSort:d.dragSort&&d.dragSortBy,rowKey:d.rowKey||((i=l==null?void 0:l["x-component-props"])==null?void 0:i.rowKey)||"id",pagination:((n=l==null?void 0:l["x-component-props"])==null?void 0:n.pagination)===!1?!1:f,onRowSelectionChange:(0,import_react2.useCallback)((C,S)=>{var b,y,F;d&&(d.field.data=((b=d.field)==null?void 0:b.data)||{},d.field.data.selectedRowKeys=C,d.field.data.selectedRowData=S,(F=(y=d.field)==null?void 0:y.onRowSelect)==null||F.call(y,C))},[]),onRowDragEnd:(0,import_react2.useCallback)(C=>z(void 0,[C],function*({from:S,to:b}){yield p.current.resource.move({sourceId:S[d.rowKey||"id"],targetId:b[d.rowKey||"id"],sortField:d.dragSort&&d.dragSortBy}),p.current.service.refresh()}),[d.rowKey,d.dragSort,d.dragSortBy]),onChange:(0,import_react2.useCallback)(({current:C,pageSize:S},b,y)=>{var F,j,k,T,M,w,L,D,R,N;const B=(k=(j=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:j.params)==null?void 0:k.sort,I=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:B||d.dragSortBy,$=S||((w=(M=(T=l.parent)==null?void 0:T["x-decorator-props"])==null?void 0:M.params)==null?void 0:w.pageSize),E=P(x({},(R=(D=(L=p.current)==null?void 0:L.service)==null?void 0:D.params)==null?void 0:R[0]),{page:C||1,pageSize:$});I&&(E.sort=I),(N=p.current)==null||N.service.run(E)},[l.parent]),onClickRow:(0,import_react2.useCallback)((C,S,b)=>{const{targets:y,uid:F}=findFilterTargets(l),j=m();if(!y||!y.some(T=>j.some(M=>M.uid===T.uid))){S(T=>T.length?[]:T);return}const k=j.find(T=>T.uid===l.parent["x-uid"]);j.forEach(T=>{var M,w,L,D;const R=y.find(O=>O.uid===T.uid);if(!R)return;const N=getSourceKey(k,R.field)||d.rowKey||"id",B=[C[N]],I=((M=T.service.params)==null?void 0:M[0])||{},$=((L=(w=T.service.params)==null?void 0:w[1])==null?void 0:L.filters)||{};if(b.includes(C[d.rowKey])){if((D=T.clearSelection)==null||D.call(T),T.dataLoadingMode==="manual")return T.clearData();delete $[F]}else $[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:B}}]};const E=mergeFilter([...Object.values($).map(O=>removeNullCondition(O)),T.defaultFilter]);return T.doFilter(P(x({},I),{page:1,filter:E}),{filters:$})}),S(T=>T!=null&&T.includes(C[d.rowKey])?[]:[C[d.rowKey]])},[d.rowKey,l,m]),onExpand:(0,import_react2.useCallback)((C,S)=>{var b,y;(y=(b=d.field).onExpandClick)==null||y.call(b,C,S)},[])}};function getSourceKey(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const CollapseItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1},e));function useCollapseBlockDecoratorProps(){}function useFilterFormBlockDecoratorProps(){}function useFilterFormBlockProps(){return useFormBlockProps$1()}const useCollectOperator=()=>{const e=(0,import_react.useFieldSchema)(),{collectOperator:t,removeOperator:o}=useOperators();(0,import_react2.useEffect)(()=>()=>{o(e.name)},[e.name,o]),e["x-filter-operator"]&&t(e.name,e["x-filter-operator"])},useFormItemProps=()=>{useCollectOperator()},setFieldProps$1=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired$1=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},FilterCollectionFieldInternalField=e=>{var t,o,r,i,n,a;const l=useCompile(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{getInterface:m}=useCollectionManager_deprecated(),{uiSchema:d,defaultValue:p,interface:h}=useCollectionField(),{isAllowToSetDefaultValue:g}=useIsAllowToSetDefaultValue(),_=m(h),f=((o=(t=_==null?void 0:_.filterable)==null?void 0:t.operators)==null?void 0:o.find((y,F)=>y.value===(u==null?void 0:u["x-filter-operator"])))||((i=(r=_==null?void 0:_.filterable)==null?void 0:r.operators)==null?void 0:i[0]),v=useComponent(((n=f==null?void 0:f.schema)==null?void 0:n["x-component"])||((a=u["x-component-props"])==null?void 0:a.component)||(d==null?void 0:d["x-component"])||"Input"),C=useFormBlockContext(),S=useDynamicComponentProps(d==null?void 0:d["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{var y;if(!d)return;const F=l(d);if(setFieldProps$1(c,"content",F["x-content"]),setFieldProps$1(c,"title",F.title),setFieldProps$1(c,"description",F.description),C!=null&&C.form){const k=g()?u.default||p:void 0;k!=null&&setFieldProps$1(c,"initialValue",k)}if(!c.validator&&(F["x-validator"]||u["x-validator"])){const k=(0,import_lodash.concat)([],F["x-validator"]||[],u["x-validator"]||[]);c.validator=k}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired$1(c,u,F),c.dataSource=F.enum,c.data=c.data||{},c.data.dataSource=F==null?void 0:F.enum;const j=l(x(x(x({},((y=f==null?void 0:f.schema)==null?void 0:y["x-component-props"])||{}),F["x-component-props"]||{}),(u==null?void 0:u["x-component-props"])||{}))||{};c.componentProps=(0,import_shared.merge)(c.componentProps||{},j,S||{})},[d]),!d)return null;const b=x(x({},e),S);return isVariable$1(b.value)&&b.value===u.default&&(b.value=void 0),(0,import_jsx_runtime.jsx)(v,x({},b))},FilterCollectionField=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:o=>console.log(o),children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(FilterCollectionFieldInternalField,x({},e))})})});FilterCollectionField.displayName="FilterCollectionField";const FilterFormBlockProvider=withDynamicSchemaProps(e=>{const t=(0,import_react.useFieldSchema)()["x-filter-operators"]||{};return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{CollectionField:FilterCollectionField},children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:t,children:(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInFilterFormBlock:!0,children:(0,import_jsx_runtime.jsx)(FormBlockProvider,P(x({name:"filter-form"},e),{confirmBeforeClose:!1}))})})})})})}),FormFieldContext=(0,import_react2.createContext)({});FormFieldContext.displayName="FormFieldContext";const InternalFormFieldProvider=e=>{var t,o,r;const{action:i,readPretty:n,fieldName:a}=e,l=useFormBlockContext(),c=useCollectionParentRecordData();(t=l==null?void 0:l.updateAssociationValues)!=null&&t.includes(a)||(o=l==null?void 0:l.updateAssociationValues)==null||o.push(a);const u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects(){(0,import_core.onFormValuesChange)(h=>{var g;(g=l==null?void 0:l.form)==null||g.setValuesIn(a,h.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var h;const g=((h=l==null?void 0:l.form)==null?void 0:h.values[a])||{};m.reset(),(0,import_client.forEach)(g,(_,f)=>{_&&(m.values[f]=_)})}),[]);const{resource:d,service:p}=useBlockRequestContext();return p.loading?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(RecordProvider,{record:(r=p==null?void 0:p.data)==null?void 0:r.data,parent:c,children:(0,import_jsx_runtime.jsx)(FormFieldContext.Provider,{value:{action:i,form:m,field:u,service:p,resource:d,fieldName:a},children:e.children})})},WithoutFormFieldResource=(0,import_react2.createContext)(null);WithoutFormFieldResource.displayName="WithoutFormFieldResource";const FormFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutFormFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"form-field",block:"FormField"},e),{children:(0,import_jsx_runtime.jsx)(InternalFormFieldProvider,x({},e))}))}),useFormFieldContext=()=>(0,import_react2.useContext)(FormFieldContext),useFormFieldProps=()=>{const e=useFormFieldContext();return(0,import_react2.useEffect)(()=>{var t,o,r;(r=e==null?void 0:e.form)==null||r.setInitialValues((o=(t=e.service)==null?void 0:t.data)==null?void 0:o.data)},[]),{form:e.form}},TableFieldContext=(0,import_react2.createContext)({});TableFieldContext.displayName="TableFieldContext";const InternalTableFieldProvider=e=>{var t,o;const{params:r={},showIndex:i,dragSort:n,fieldName:a}=e,l=(0,import_react.useField)(),c=(0,import_react.useFieldSchema)(),{resource:u,service:m}=useBlockRequestContext(),d=useFormBlockContext(),p=useFormFieldContext(),h=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(h)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(h),(0,import_jsx_runtime.jsx)(TableFieldContext.Provider,{value:{field:l,fieldSchema:c,service:m,resource:u,params:r,showIndex:i,dragSort:n},children:e.children})};class TableFieldResource{constructor(t){A(this,"field"),A(this,"api"),A(this,"sourceId"),A(this,"resource"),this.field=t.field,this.api=t.api,this.sourceId=t.sourceId,this.resource=this.api.resource(t.resource,this.sourceId)}list(t){return z(this,null,function*(){if(this.field.data=this.field.data||{},this.field.data.changed)return console.log("list.dataSource",this.field.data.dataSource),{data:{data:this.field.data.dataSource}};if(!this.sourceId)return console.log("list.sourceId",this.field.data.dataSource),this.field.data.dataSource=[],{data:{data:[]}};const o=yield this.resource.list(t);return console.log("list",o),this.field.data.dataSource=o.data.data,{data:{data:o.data.data}}})}get(t){return z(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return z(this,null,function*(){console.log("create",t);const{values:o}=t;this.field.data.dataSource.push(o),this.field.data.changed=!0})}update(t){return z(this,null,function*(){console.log("update",t);const{filterByTk:o,values:r}=t;this.field.data.dataSource[o]=r,this.field.data.changed=!0})}destroy(t){return z(this,null,function*(){console.log("destroy",t);let{filterByTk:o}=t;Array.isArray(o)||(o=[o]),this.field.data.dataSource=this.field.data.dataSource.filter((r,i)=>!o.includes(i)),this.field.data.changed=!0})}}const WithoutTableFieldResource=(0,import_react2.createContext)(null);WithoutTableFieldResource.displayName="WithoutTableFieldResource";const TableFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-field",block:"TableField"},e),{children:(0,import_jsx_runtime.jsx)(InternalTableFieldProvider,x({},e))}))}),useTableFieldContext=()=>(0,import_react2.useContext)(TableFieldContext),useTableFieldProps=()=>{var e,t,o,r,i,n,a,l;const c=(0,import_react.useField)(),u=useTableFieldContext();return(0,import_react2.useEffect)(()=>{var m,d,p,h,g;(m=u==null?void 0:u.service)!=null&&m.loading||(c.value=(p=(d=u==null?void 0:u.service)==null?void 0:d.data)==null?void 0:p.data,c.data=c.data||{},c.data.selectedRowKeys=(g=(h=u==null?void 0:u.field)==null?void 0:h.data)==null?void 0:g.selectedRowKeys)},[(t=(e=u==null?void 0:u.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=u==null?void 0:u.service)==null?void 0:o.data)==null?void 0:r.data,(i=u==null?void 0:u.service)==null?void 0:i.loading,c]),{size:"middle",loading:(n=u==null?void 0:u.service)==null?void 0:n.loading,showIndex:u.showIndex,dragSort:u.dragSort,pagination:!1,required:(l=(a=u==null?void 0:u.fieldSchema)==null?void 0:a.parent)==null?void 0:l.required,rowKey:m=>{var d,p;return(p=(d=c.value)==null?void 0:d.indexOf)==null?void 0:p.call(d,m)},onRowSelectionChange(m,d){var p;u.field.data=((p=u==null?void 0:u.field)==null?void 0:p.data)||{},u.field.data.selectedRowKeys=m,u.field.data.selectedRowData=d},onChange({current:m,pageSize:d}){u.service.run({page:m,pageSize:d})}}},TableSelectorContext=(0,import_react2.createContext)({});TableSelectorContext.displayName="TableSelectorContext";const TableSelectorParamsContext=(0,import_react2.createContext)({});TableSelectorParamsContext.displayName="TableSelectorParamsContext";const useTableSelectorParams=()=>(0,import_react2.useContext)(TableSelectorParamsContext),TableSelectorParamsProvider=({params:e,children:t})=>{const o=useTableSelectorParams();try{e.filter=mergeFilter([o.filter,e.filter]),e=x(x({},o),e)}catch(r){console.error(r)}return(0,import_jsx_runtime.jsx)(TableSelectorParamsContext.Provider,{value:e,children:t})},InternalTableSelectorProvider=e=>{const{params:t,rowKey:o,extraFilter:r,expandFlag:i=!1}=e,n=(0,import_react.useField)(),{resource:a,service:l}=useBlockRequestContext(),[c,u]=(0,import_react2.useState)(i),m=useCollectionParentRecordData();return(0,import_jsx_runtime.jsx)(RecordProvider,{record:{},parent:m,children:(0,import_jsx_runtime.jsx)(TableSelectorContext.Provider,{value:{field:n,service:l,resource:a,params:t,extraFilter:r,rowKey:o,expandFlag:c,setExpandFlag:()=>{u(!c)}},children:e.children})})},recursiveParent=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent(e.parent,t):null,useAssociationNames$1=e=>{const{getCollectionFields:t}=useCollectionManager_deprecated(),o=t(e),r=new Set;for(const n of o)if(n.target){r.add(n.name);const a=t(n.target);for(const l of a)l.target&&r.add(`${n.name}.${l.name}`)}const i=(0,import_react.useFieldSchema)().reduceProperties((n,a)=>a["x-component"]==="TableV2.Selector"?a:n,new import_react.Schema({}));return(0,import_uniq.default)(i.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2.Column"){const l=a.reduceProperties((c,u)=>{const[m]=u.name.split(".");return u["x-collection-field"]&&r.has(m)?u:c},null);if(l){const[c]=l.name.split(".");r.has(l.name)?n.push(l.name):r.has(c)&&n.push(c)}}return n},[]))},TableSelectorProvider=withDynamicSchemaProps(e=>{var t;const o=useTableSelectorParams(),r=(0,import_react.useFieldSchema)(),{getCollectionJoinField:i,getCollectionFields:n}=useCollectionManager_deprecated(),a=useRecord(),{getCollection:l}=useCollectionManager_deprecated(),{treeTable:c}=(r==null?void 0:r["x-decorator-props"])||{},u=recursiveParent(r,"CollectionField"),m=i(u==null?void 0:u["x-collection-field"]),d=l(m==null?void 0:m.collectionName),p=d==null?void 0:d.getPrimaryKey(),h=useAssociationNames$1(e.collection);let g=x({},e.params);e.dragSort&&(g.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(g.tree=!0,u.name==="parent"&&(g.filter=P(x({},(t=g.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(g).includes("appends")||(g.appends=h);let _;if(m&&(["oho","o2m"].includes(m.interface)&&!isInFilterFormBlock(r)&&(a!=null&&a[m.sourceKey]?_={$or:[{[m.foreignKey]:{$is:null}},{[m.foreignKey]:{$eq:a==null?void 0:a[m.sourceKey]}}]}:_={[m.foreignKey]:{$is:null}}),["obo"].includes(m.interface)&&!isInFilterFormBlock(r))){const C=n(m.target).find(S=>S.foreignKey&&S.foreignKey===m.foreignKey);C&&(a!=null&&a[m.foreignKey]?_={$or:[{[`${C.name}.${C.foreignKey}`]:{$is:null}},{[`${C.name}.${C.foreignKey}`]:{$eq:a==null?void 0:a[m.foreignKey]}}]}:_={[`${C.name}.${C.foreignKey}`]:{$is:null}})}_&&(g!=null&&g.filter?g.filter={$and:[_,g.filter]}:g.filter=_);try{g.filter=mergeFilter([o.filter,g.filter]),g=x(x({},o),g)}catch(C){console.error(C)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:g==null?void 0:g.filter});return!import_lodash.default.isEmpty(g==null?void 0:g.filter)&&import_lodash.default.isEmpty(f)||v?null:(g!=null&&g.filter&&(g.filter=f),(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:c},children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-selector"},e),{params:g,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:g,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),C=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),b=recursiveParent(C,"CollectionField"),y=S(b==null?void 0:b["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,j,k,T,M,w,L,D,R,N,B,I,$;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const E=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(O=>O);f.value=E,(T=f==null?void 0:f.setInitialValue)==null||T.call(f,E),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(L=(w=(M=v==null?void 0:v.service)==null?void 0:M.data)==null?void 0:w.meta)==null?void 0:L.pageSize,f.componentProps.pagination.total=(N=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:N.count,f.componentProps.pagination.current=($=(I=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:I.meta)==null?void 0:$.page}},[y==null?void 0:y.foreignKey,(t=(e=v==null?void 0:v.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=v==null?void 0:v.service)==null?void 0:o.data)==null?void 0:r.data,(a=(n=(i=v==null?void 0:v.service)==null?void 0:i.data)==null?void 0:n.meta)==null?void 0:a.count,(u=(c=(l=v==null?void 0:v.service)==null?void 0:l.data)==null?void 0:c.meta)==null?void 0:u.page,(p=(d=(m=v==null?void 0:v.service)==null?void 0:m.data)==null?void 0:d.meta)==null?void 0:p.pageSize,(h=v==null?void 0:v.service)==null?void 0:h.loading,f]),{loading:(g=v==null?void 0:v.service)==null?void 0:g.loading,showIndex:!1,dragSort:!1,rowKey:v.rowKey||"id",pagination:((_=C==null?void 0:C["x-component-props"])==null?void 0:_.pagination)===!1?!1:f.componentProps.pagination,onRowSelectionChange(F,j){var k;v.field.data=((k=v==null?void 0:v.field)==null?void 0:k.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=j},onRowDragEnd(F){return z(this,arguments,function*({from:j,to:k}){yield v.resource.move({sourceId:j[v.rowKey||"id"],targetId:k[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:j}){var k;v.service.run(P(x({},(k=v.service.params)==null?void 0:k[0]),{page:F,pageSize:j}))}}},BlockSchemaComponentProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,Slider:import_antd.Slider},scope:P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockItemProps,useGridCardBlockProps,useFormItemProps,useDataFormItemProps,useGridCardActionBarProps:useGridCardActionBarProps$1}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents(),this.addScopes()})}addComponents(){this.app.addComponents({TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,BlockSchemaToolbar,ActionSchemaToolbar,FormItemSchemaToolbar,CollapseItemSchemaToolbar,TableColumnSchemaToolbar,Slider:import_antd.Slider})}addScopes(){this.app.addScopes(P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockProps,useGridCardBlockItemProps,useFormItemProps,useDataFormItemProps,useGridCardActionBarProps:useGridCardActionBarProps$1}))}}const uiSchemaTemplatesCollection={name:"uiSchemaTemplates",filterTargetKey:"key",targetKey:"key",fields:[{type:"integer",name:"name",interface:"input",uiSchema:{title:'{{ t("Template name") }}',type:"number","x-component":"Input",required:!0}}]},BlockTemplate=(0,import_react.observer)(e=>{const{templateId:t}=e,{getTemplateById:o}=useSchemaTemplateManager(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=(0,import_react2.useMemo)(()=>o(t),[t]),{onTemplateSuccess:l}=useTemplateBlockContext(),{isMobileLayout:c}=useMobileLayout(),u=m=>{var d,p;i["x-linkage-rules"]=((d=m==null?void 0:m.data)==null?void 0:d["x-linkage-rules"])||[],i.setProperties((p=m==null?void 0:m.data)==null?void 0:p.properties),l==null||l()};return a?(0,import_jsx_runtime.jsx)(BlockTemplateProvider,{dn:n,field:r,fieldSchema:i,template:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,uid:a==null?void 0:a.uid,onSuccess:u,schemaTransform:c?import_client.transformMultiColumnToSingleColumn:void 0})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Block template",name:t})},{displayName:"BlockTemplate"}),SchemaTemplateManagerContext=(0,import_react2.createContext)({});SchemaTemplateManagerContext.displayName="SchemaTemplateManagerContext";const regenerateUid=e=>{e.name=e["x-uid"]=(0,import_shared.uid)(),Object.keys(e.properties||{}).forEach(t=>{regenerateUid(e.properties[t])})},useSchemaTemplate=()=>{const{getTemplateBySchema:e}=useSchemaTemplateManager(),t=(0,import_react.useFieldSchema)(),o=t["x-uid"],r=t["x-template-key"];return(0,import_react2.useMemo)(()=>e(t),[o,r])},useSchemaTemplateManager=()=>{const{getInheritCollections:e}=useCollectionManager_deprecated(),{refresh:t,templates:o=[]}=(0,import_react2.useContext)(SchemaTemplateManagerContext),r=useAPIClient();return{templates:o,refresh:t,getTemplateSchemaByMode:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{mode:n,template:a}=i;if(n==="copy"){const{data:l}=yield r.request({url:`/uiSchemas:getJsonSchema/${a.uid}?includeAsyncNode=true`}),c=(l==null?void 0:l.data)||{};return regenerateUid(c),(0,import_lodash.cloneDeep)(c)}else if(n==="reference")return{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:a.key}}}),[r]),copyTemplateSchema:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{data:n}=yield r.request({url:`/uiSchemas:getJsonSchema/${i.uid}?includeAsyncNode=true`}),a=(n==null?void 0:n.data)||{};return regenerateUid(a),(0,import_lodash.cloneDeep)(a)}),[r]),saveAsTemplate:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{uid:n}=i,a=(0,import_shared.uid)();return yield r.resource("uiSchemas").saveAsTemplate({filterByTk:n,values:x({key:a},i)}),yield t(),{key:a}}),[r,t]),getTemplateBySchema:(0,import_react2.useCallback)(i=>{if(!i)return;const n=i["x-template-key"];if(n)return o==null?void 0:o.find(l=>l.key===n);const a=i["x-uid"];if(a)return o==null?void 0:o.find(l=>l.uid===a)},[o]),getTemplateBySchemaId:(0,import_react2.useCallback)(i=>i?o==null?void 0:o.find(n=>n.uid===i):null,[o]),getTemplateById:(0,import_react2.useCallback)(i=>o==null?void 0:o.find(n=>n.key===i),[o]),getTemplatesByCollection:(0,import_react2.useCallback)((i,n)=>{var a;const l=e(n,i).concat([n]);return((a=o==null?void 0:o.filter)==null?void 0:a.call(o,c=>(c.dataSourceKey||DEFAULT_DATA_SOURCE_KEY)===i&&l.includes(c.collectionName)))||[]},[e,o]),getTemplatesByComponentName:(0,import_react2.useCallback)(i=>{var n;return((n=o==null?void 0:o.filter)==null?void 0:n.call(o,a=>a.componentName===i))||[]},[o])}},options$1={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options$1),i=(0,import_react2.useCallback)(()=>z(void 0,null,function*(){const{data:a}=yield o.request(options$1);r.mutate(a)}),[o,r]),n=(0,import_react2.useMemo)(()=>{var a;return{templates:(a=r==null?void 0:r.data)==null?void 0:a.data,refresh:i}},[(t=r==null?void 0:r.data)==null?void 0:t.data,i]);return(0,import_jsx_runtime.jsx)(SchemaTemplateManagerContext.Provider,{value:n,children:e.children})};class RemoteSchemaTemplateManagerPlugin extends Plugin{load(){return z(this,null,function*(){this.addRoutes(),this.addComponents()})}addComponents(){this.app.addComponents({BlockTemplate})}addRoutes(){this.app.router.add("admin.plugins.block-templates-key",{path:"/admin/plugins/block-templates/:key",Component:"BlockTemplateDetails"})}}const CollectionTitle=e=>{const{dataSourceKey:t="main",collectionName:o}=useCollectionRecordData(),r=useDataSourceManager(),i=useCompile(),[n,a]=(0,import_react2.useMemo)(()=>{const l=r.getDataSource(t);if(l){const c=l.collectionManager.getCollection(o);return[l.displayName,(c==null?void 0:c.title)||o]}return[t,null]},[r,t,o]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[i(n)," ",">"," ",i(a)]})},useUpdateSchemaTemplateActionProps=()=>{const e=useUpdateActionProps(),{__parent:t}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var o,r;yield e.onClick(),(r=(o=t==null?void 0:t.service)==null?void 0:o.refresh)==null||r.call(o)})}}},useBulkDestroyTemplateProps=()=>{const e=useBulkDestroyActionProps(),t=useSchemaTemplateManager(),{service:o}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var r;yield e.onClick(),yield t.refresh(),(r=o==null?void 0:o.refresh)==null||r.call(o)})}}},useDestroyTemplateProps=()=>{const e=useDestroyActionProps(),{service:t}=useBlockRequestContext(),o=useSchemaTemplateManager();return{onClick(){return z(this,null,function*(){var r;yield e.onClick(),yield o.refresh(),(r=t==null?void 0:t.refresh)==null||r.call(t)})}}},uiSchemaTemplatesSchema={type:"object",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:uiSchemaTemplatesCollection,resource:"uiSchemaTemplates",action:"list",params:{pageSize:20,sort:["-createdAt"]},rowKey:"key",showIndex:!0,dragSort:!1},"x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-use-component-props":useBulkDestroyTemplateProps,"x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},[(0,import_shared.uid)()]:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("Title") }}',"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-collection-field":"uiSchemaTemplates.name","x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column2:{type:"void",title:'{{t("Collection display name")}}',"x-component":"TableV2.Column",properties:{"collection.title":{type:"string","x-component":CollectionTitle,"x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer",refreshDataBlockRequest:!1},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{form:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"uiSchemaTemplates",collection:uiSchemaTemplatesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"uiSchemaTemplates.name",required:!0},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":useUpdateSchemaTemplateActionProps,"x-component-props":{type:"primary",htmlType:"submit"},type:"void"}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":useDestroyTemplateProps,"x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},BlockTemplatePage=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},ghost:!1,title:e("Block templates")}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema})})]})},BlockTemplatesPane=()=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema}),useSystemSettingsVariable=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return{systemSettings:{key:"$systemSettings",value:"$systemSettings",label:e("System settings"),isLeaf:!1,children:[{key:"title",value:"title",label:e("System title"),isLeaf:!0}]}}},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,m)=>{var d;m!==i&&r.field.value.splice(m,1,P(x({},(d=r==null?void 0:r.field)==null?void 0:d.value[m]),{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((d,p,h)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:h}):d,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,{})})},m=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:d=>a((0,import_shared.toArr)(d).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((d,p)=>{const h=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,g=r.query(`${r.address}.${p}`).get("componentProps"),_=h["x-component-props"],f=()=>{const S=`${(g==null?void 0:g.header)||_.header||r.title}`,b=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${b}.**`});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:h,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:S}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:d.initialValue||d,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!!isOperationComponent$1(S),onlyRenderProperties:!0}),g==null?void 0:g.extra]}),C=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!(isIndexComponent$1(S)||isOperationComponent$1(S))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},_),g),{forceRender:!0,key:p,header:f(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:C},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:d=>{a(insertActiveKeys$1(n,d))},onRemove:()=>{r.initialValue=r.value},children:[u(),m(),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";(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:m}=n["x-designer-props"],{form:d}=useFormBlockContext(),p=i.componentProps.service.resource,h=o(p),g=e(p);if(!m)return(0,import_client.error)("data is required"),null;const _=()=>{var b,y;return((y=(b=m.config)==null?void 0:b[p])==null?void 0:y.filter)||{}},f=b=>{try{import_lodash.default.set(m,`config.${p}.filter`,removeNullCondition(b))}catch(y){(0,import_client.error)(y)}},v=()=>{var b,y;return((y=(b=m.config)==null?void 0:b[p])==null?void 0:y.titleField)||(h==null?void 0:h.titleField)||"id"},C=b=>{try{import_lodash.default.set(m,`config.${p}.titleField`,b)}catch(y){(0,import_client.error)(y)}},S=g.filter(b=>r(b)).map(b=>{var y;return{value:b==null?void 0:b.name,label:c((y=b==null?void 0:b.uiSchema)==null?void 0:y.title)||(b==null?void 0:b.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:_(),form:d,onSubmit:({filter:b})=>{f(b);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(b)?{}:removeNullCondition(mergeFilter([b,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=m,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":m}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:S,value:v(),onChange:b=>{C(b);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=b,F.componentProps.targetField=t(`${p}.${b||(h==null?void 0:h.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=m;const y={"x-uid":u["x-uid"],"x-data-templates":m};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=Y(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=Y(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:m}=useCollectionState(i),{getCollection:d,getCollectionField:p}=useCollectionManager_deprecated(),{t:h}=(0,import_react_i18next.useTranslation)(),g=(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)})),[]),_=y=>{var F;const j=d(y);return p(`${y}.${((F=g==null?void 0:g.config[y])==null?void 0:F.titleField)||(j==null?void 0:j.titleField)||"id"}`)},f=y=>{var F,j;const k=d(y);return{label:getLabel(((j=(F=g.config)==null?void 0:F[y])==null?void 0:j.titleField)||(k==null?void 0:k.titleField)||"id"),value:"id"}},v=(y,F)=>{var j,k;const T=(k=(j=g.config)==null?void 0:j[y])==null?void 0:k.filter;return import_lodash.default.isEmpty(T)?{}:removeNullCondition(mergeFilter([T,getSelectedIdFilter(F)],"$or"))},C=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),S=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:_,getFieldNames:f,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:m}),[]),b=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:g==null?void 0:g.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:h("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:h("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:(g==null?void 0:g.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:C,scope:S,schema:b})})}),{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=>(m,d)=>{m.loading=!0,u(m,d).then(import_reactive.action.bound(p=>{m.dataSource=p,m.loading=!1,m.initialValue&&(m.disabled=!0)}))},c=u=>z(void 0,null,function*(){var m,d;const{childrenCollections:p}=((m=r.values)==null?void 0:m.enableChildren)||{};return(d=a.filter(h=>!p.find(g=>g.collection===h.name)||u.initialValue||h.name===u.value))==null?void 0:d.map(h=>({label:i(h.title),value:h.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(m=>m.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]),m=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:d=>o(d),scope:m,style:{minWidth:"400px",marginRight:15},className:import_css.css`
338
+ `,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:m=!0}=x(x({},e),r["x-toolbar-props"]||{}),{dn:d,designable:p}=useDesignable(),h=(0,import_react.useField)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=useCompile(),{getAriaLabel:f}=useGetAriaLabelOfDesigner(),v={dn:d,field:h,fieldSchema:r},{render:C,exists:S}=useSchemaSettingsRender(r["x-settings"]||l,r["x-settings-props"]),b=useGridRowContext(),y=useGridContext(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),k=useDataSource(),T=(j==null?void 0:j.length)>1&&k,M=["FormItem","ReadPrettyFormItem"].includes(a==null?void 0:a.componentName)?`${a==null?void 0:a.name} ${g("(Fields only)")}`:a==null?void 0:a.name,w=(0,import_react2.useMemo)(()=>{var L;return{insertPosition:"afterEnd",wrap:((L=b==null?void 0:b.cols)==null?void 0:L.length)>1?void 0:gridRowColWrap,Component:D=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},D),{role:"button","aria-label":f("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[f,(t=b==null?void 0:b.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,r["x-template-uid"]?"nb-in-template":""),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:m&&T?`${_(T==null?void 0:T.displayName)} > ${_(n)}`:_(n)}),a&&(0,import_jsx_runtime.jsxs)("span",{className:"title-tag",children:[g("Reference template"),": ",M||g("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":f("drag-handler")})}),!i&&(y!=null&&y.InitializerComponent?(0,import_jsx_runtime.jsx)(y.InitializerComponent,x({},w)):(o=y==null?void 0:y.renderSchemaInitializer)==null?void 0:o.call(y,w)),S?C(c):(0,import_jsx_runtime.jsx)(SchemaSettingsDropdown,P(x({title:(0,import_jsx_runtime.jsx)(import_icons.MenuOutlined,{role:"button","aria-label":f("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:m=!0,spaceClassName:d,spaceStyle:p,toolbarClassName:h,toolbarStyle:g={},container:_}=x(x({},e),(o==null?void 0:o["x-toolbar-props"])||{}),f=useCompile(),{draggable:v}=(0,import_react2.useContext)(SchemaComponentContext),{componentCls:C,hashId:S}=useStyles$g(),{t:b}=(0,import_react_i18next.useTranslation)(),{getAriaLabel:y}=useGetAriaLabelOfDesigner(),F=useDataSourceManager(),j=F==null?void 0:F.getDataSources(),k=useDataSource(),T=(j==null?void 0:j.length)>1&&k,M=useRefreshFieldSchema(),w=(0,import_react2.useRef)(b("Reference template")),L=(0,import_react2.useCallback)(()=>{M({refreshParentSchema:!0})},[M]),D=(0,import_react2.useMemo)(()=>{if(r){if(typeof r=="string")return[f(r)];if(Array.isArray(r))return r.length===1&&o["x-template-title"]?(w.current=b("Inherited template"),f([r[0],o["x-template-title"]])):f(r)}},[r,o]),{render:R,exists:N}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:B,exists:I}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),$=useGridRowContext(),E=useGridContext(),O=(0,import_react2.useMemo)(()=>{var K;return{insertPosition:"afterEnd",wrap:((K=$==null?void 0:$.cols)==null?void 0:K.length)===1?gridRowColWrap:void 0,Component:J=>(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,P(x({},J),{role:"button","aria-label":y("schema-initializer"),style:{cursor:"pointer",fontSize:14}}))}},[y,(t=$==null?void 0:$.cols)==null?void 0:t.length]),V=(0,import_react2.useMemo)(()=>m===!1||v===!1?null:(0,import_jsx_runtime.jsx)(DragHandler,{children:(0,import_jsx_runtime.jsx)(import_icons.DragOutlined,{role:"button","aria-label":y("drag-handler")})}),[m,y,v]),U=(0,import_react2.useMemo)(()=>{var K;if(i===!1)return null;if(I)return B(O);if(E!=null&&E.InitializerComponent||E!=null&&E.renderSchemaInitializer)return E!=null&&E.InitializerComponent?(0,import_jsx_runtime.jsx)(E.InitializerComponent,x({},O)):(K=E.renderSchemaInitializer)==null?void 0:K.call(E,O)},[E,i,O,I,B]),q=(0,import_react2.useMemo)(()=>n!==!1&&N?R():null,[N,R,n]),G=(0,import_react2.useRef)(null),W="hidden";(0,import_react2.useEffect)(()=>{const K=G.current;let J=K==null?void 0:K.parentElement;for(;J&&J.clientHeight===0;)J=J.parentElement;const Q=_||J;if(!Q)return;function X(){var ee;K&&(K.classList.remove(W),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function te(){var ee;K&&(K.classList.add(W),(ee=e.onVisibleChange)==null||ee.call(e,!1))}return Q.addEventListener("mouseenter",X),Q.addEventListener("mouseleave",te),()=>{Q.removeEventListener("mouseenter",X),Q.removeEventListener("mouseleave",te)}},[e.onVisibleChange,_]);const H=(0,import_react2.useMemo)(()=>x({border:u?"auto":0,background:a?"auto":0},g),[a,u,g]);return(0,import_jsx_runtime.jsxs)("div",{ref:G,className:(0,import_classnames.default)(C,S,h,"schema-toolbar",W),style:H,children:[D&&(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:T?`${f(T==null?void 0:T.displayName)} > ${D[0]}`:D[0]},D[0]),D[1]&&(0,import_jsx_runtime.jsx)("span",{className:"toolbar-title-tag",children:`${w.current}: ${`${D[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:d,style:p,children:[V,(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:L,children:U}),q]})})]})});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 ActionSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1,showBorder:!1,showBackground:!0},e)),BlockSchemaToolbar=e=>{const{t}=(0,import_react_i18next.useTranslation)(),o=useCollectionManager();let{name:r,title:i}=useCollection()||{};const n=useSchemaTemplate(),{association:a,collection:l}=useDataBlockProps()||{},c=useCompile(),{isMobileLayout:u}=useMobileLayout();if(a){const[g]=a.split("."),{name:_,title:f}=o.getCollection(g);r=_,i=f}const m=o.getCollectionField(a),d=o.getCollection(l||(m==null?void 0:m.target)),p=["FormItem","ReadPrettyFormItem"].includes(n==null?void 0:n.componentName)?`${n==null?void 0:n.name} ${t("(Fields only)")}`:n==null?void 0:n.name,h=(0,import_react2.useMemo)(()=>[getCollectionTitle({collectionTitle:i,collectionName:r,associationField:m,associationCollection:d,compile:c}),p].filter(Boolean),[i,r,m,d,c,p]);return(0,import_jsx_runtime.jsx)(SchemaToolbar,P(x({title:h},e),{draggable:!u}))};function getCollectionTitle(e){var t;const{collectionTitle:o,collectionName:r,associationField:i,compile:n,associationCollection:a}=e;return i?`${n(o||r)} > ${n(((t=i.uiSchema)==null?void 0:t.title)||i.name)} (${n((a==null?void 0:a.title)||(a==null?void 0:a.name))})`:n(o||r)}const useDetailsWithPaginationBlockParams=e=>{const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[JSON.stringify(o)]),parseVariableLoading:r}};function useDetailsWithPaginationDecoratorProps(e){let t;const{params:o,parseVariableLoading:r}=useDetailsWithPaginationBlockParams(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,params:o,parseVariableLoading:r}}const DetailsBlockContext=(0,import_react2.createContext)({});DetailsBlockContext.displayName="DetailsBlockContext";const InternalDetailsBlockProvider=e=>{var t,o,r;const{action:i,readPretty:n}=e,a=(0,import_react.useField)(),l=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({readPretty:n}),[n]),c=useCollection(),{resource:u,service:m}=useBlockRequestContext(),d=useCollectionParentRecord(),p=(i==="list"?(o=(t=m==null?void 0:m.data)==null?void 0:t.data)==null?void 0:o[0]:(r=m==null?void 0:m.data)==null?void 0:r.data)||{},h=(0,import_react2.useRef)(),g=(0,import_react2.useMemo)(()=>({action:i,form:l,field:a,service:m,resource:u,formBlockRef:h}),[i,a,l,u,m]);return a.loaded=!0,(0,import_jsx_runtime.jsx)(CurrentRecordContextProvider,{recordData:p,collectionName:c==null?void 0:c.name,children:(0,import_jsx_runtime.jsx)(DetailsBlockContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!1,record:p,parent:d==null?void 0:d.data,children:e.children})})})})},useCompatDetailsBlockParams=e=>{const t=(0,import_react.useFieldSchema)();let o,r=!1;if(t["x-use-decorator-props"])o=e==null?void 0:e.params,r=e==null?void 0:e.parseVariableLoading;else{const i=useDetailsWithPaginationBlockParams(e);o=i.params,r=i.parseVariableLoading}return{params:o,parseVariableLoading:r}},DetailsBlockProvider=withDynamicSchemaProps(e=>{const{params:t,parseVariableLoading:o}=useCompatDetailsBlockParams(e),r=useCollectionRecordData(),{association:i,action:n}=e,{__collection:a}=r||{},{designable:l}=useDesignable(),c=e.collection;let u=!0;!l&&a&&n==="get"&&!i&&(u=a===c);const m=(0,import_ahooks.useUpdate)();return!u||o?null:(0,import_jsx_runtime.jsx)(TemplateBlockProvider,{onTemplateLoaded:m,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"details"},e),{params:t,children:(0,import_jsx_runtime.jsx)(InternalDetailsBlockProvider,x({},e))}))})}),useDetailsBlockContext=()=>(0,import_react2.useContext)(DetailsBlockContext),useDetailsBlockProps=()=>{var e,t;const o=useDetailsBlockContext();return(0,import_react2.useEffect)(()=>{var r,i,n,a,l;if(!o.service.loading){const c=o.action==="list"?(n=(i=(r=o.service)==null?void 0:r.data)==null?void 0:i.data)==null?void 0:n[0]:(l=(a=o.service)==null?void 0:a.data)==null?void 0:l.data;o.form.reset().then(()=>{o.form.setInitialValues(c||{}),o.form.setValues(c||{})}).catch(console.error)}},[o.action,o.form,(t=(e=o.service)==null?void 0:e.data)==null?void 0:t.data,o.service.loading]),{form:o.form}};function useDetailsWithPaginationProps(){return useDetailsBlockProps()}function useDetailsDecoratorProps(e){const t=useParamsFromRecord(e);let o;return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o}}function useDetailsParentRecord(e){const t=(0,import_react.useFieldSchema)(),o=useCollectionRecordData(),r=useCollectionParentRecordData();if(e)return t["x-is-current"]?r:o}function useDetailsProps(){return useDetailsBlockProps()}const FormItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({showBorder:!1,showBackground:!0},e)),useHiddenForInherit=e=>{const t=useRecord(),{collection:o,isCusomeizeCreate:r,hidden:i}=e,{__collection:n}=t,a=useCollection(),{designable:l}=useDesignable(),c=useIsDetailBlock();if(!a)return{hidden:i||!1};let u=!1;c&&(u=!0,!l&&n&&(u=n===o));const m=a.name===((o==null?void 0:o.name)||o)&&!c||!a.name||!o;return{hidden:i||!u&&!m&&!r}};function useCreateFormBlockDecoratorProps(e){let t;const{hidden:o}=useHiddenForInherit(e);return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t,hidden:o}}function useCreateFormBlockProps(){return useFormBlockProps$1()}function useDataFormItemProps(){const e=useCollectionRecordData(),{form:t}=useFormBlockContext(),o=useSubFormValue(),{isInSubTable:r}=useFlag(),{valueMap:i}=useSatisfiedActionValues({category:"style",formValues:(o==null?void 0:o.formValue)||(t==null?void 0:t.values)||e,form:t});return{wrapperStyle:r?Object.fromEntries(Object.entries(i||{}).filter(([n])=>n!=="backgroundColor")):i}}function useEditFormBlockDecoratorProps(e){const t=useFormBlockParams(e);let o;const{hidden:r}=useHiddenForInherit(e);return e.association&&(o=useDetailsParentRecord(e.association)),{params:t,parentRecord:o,hidden:r}}function useFormBlockParams(e){return useParamsFromRecord(e)}function useEditFormBlockProps(){return useFormBlockProps$1()}const useGridCardActionBarProps$1=()=>{const e=(0,import_react.useFieldSchema)(),{designable:t}=useDesignable();return{style:{marginBottom:"var(--nb-spacing)"},hidden:!t&&import_lodash.default.isEmpty(e.properties)}};function useGridCardBlockParams(e){const{params:t}=e,{filter:o,parseVariableLoading:r}=useParsedFilter({filterOption:t==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>P(x({},t),{filter:o}),[o,t]),parseVariableLoading:r}}function useGridCardBlockDecoratorProps(e){const{params:t,parseVariableLoading:o}=useGridCardBlockParams(e);let r;return e.association&&(r=useParentRecordCommon(e.association)),{params:t,parentRecord:r,parseVariableLoading:o}}function useGridCardBlockItemProps(){return{}}function useGridCardBlockProps(){return{}}function useListBlockDecoratorProps(e){let t;return e.association&&(t=useParentRecordCommon(e.association)),{parentRecord:t}}function useListBlockProps(){return{}}function useTableSelectorDecoratorProps(){}const useDragEnd=e=>{const{refresh:t}=useDesignable(),o=useAPIClient(),{t:r}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(i=>{var n,a,l,c,u,m,d,p,h,g,_,f,v,C,S;const{active:b,over:y}=i,F=(a=(n=b==null?void 0:b.data)==null?void 0:n.current)==null?void 0:a.schema,j=(c=(l=y==null?void 0:y.data)==null?void 0:l.current)==null?void 0:c.schema,k=(m=(u=y==null?void 0:y.data)==null?void 0:u.current)==null?void 0:m.insertAdjacent,T=(p=(d=y==null?void 0:y.data)==null?void 0:d.current)==null?void 0:p.breakRemoveOn,M=(g=(h=y==null?void 0:y.data)==null?void 0:h.current)==null?void 0:g.wrapSchema,w=(f=(_=y==null?void 0:y.data)==null?void 0:_.current)==null?void 0:f.onSuccess,L=(S=(C=(v=y==null?void 0:y.data)==null?void 0:v.current)==null?void 0:C.removeParentsIfNoChildren)!=null?S:!0;if(!F||!j){e==null||e(i);return}if(F===j){e==null||e(i);return}if(F.parent===j&&k==="beforeEnd"){e==null||e(i);return}const D=createDesignable({t:r,api:o,refresh:({refreshParentSchema:R=!0}={})=>t({refreshParentSchema:R}),current:j});if(D.loadAPIClientEvents(),F.parent===j.parent){D.insertBeforeBeginOrAfterEnd(F),e==null||e(i);return}if(k){D.insertAdjacent(k,F,{wrap:M,breakRemoveOn:T,removeParentsIfNoChildren:L,onSuccess:w}),e==null||e(i);return}},[o,e,t,r])},InternalDndContext=import_react2.default.memo(e=>{const{t}=(0,import_react_i18next.useTranslation)(),[o,r]=(0,import_react2.useState)(!0),i=(0,import_react2.useCallback)(a=>{var l,c,u;const{active:m}=a,d=(c=(l=m==null?void 0:m.data)==null?void 0:l.current)==null?void 0:c.schema;r(!!d),e!=null&&e.onDragStart&&((u=e==null?void 0:e.onDragStart)==null||u.call(e,a))},[e==null?void 0:e.onDragStart]),n=useDragEnd(e==null?void 0:e.onDragEnd);return(0,import_jsx_runtime.jsxs)(import_core2.DndContext,P(x({collisionDetection:import_core2.rectIntersection},e),{onDragStart:i,onDragEnd:n,children:[(0,import_jsx_runtime.jsx)(import_core2.DragOverlay,{dropAnimation:{duration:10,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:o&&(0,import_jsx_runtime.jsx)("span",{style:{whiteSpace:"nowrap"},children:t("Dragging")})}),e.children]}))});InternalDndContext.displayName="InternalDndContext";const DndContext=e=>(0,import_jsx_runtime.jsx)(InternalDndContext,x({},e)),useStyles$f=genStyleHook("nb-grid-in-css-in-js",e=>{const{componentCls:t}=e,o=e.marginBlock===e.marginLG?" !important":"";return{[t]:{position:"relative",".ColDivider":{flexShrink:0,width:`${e.marginBlock}px${o}`},".DraggableNode":{"&::before":{content:'" "',width:"100%",height:"100%",position:"absolute",cursor:"col-resize"},"&:hover":{"&::before":{background:"var(--colorBgSettingsHover) !important"}},width:`${e.marginBlock}px${o}`,height:"100%",position:"absolute",cursor:"col-resize"},".RowDivider":{height:`${e.marginBlock}px${o}`,width:"100%",position:"absolute",marginTop:`calc(-1 * ${e.marginBlock}px)${o}`},".CardRow":{display:"flex",position:"relative"},".showDivider":{margin:`0 calc(-1 * ${e.marginBlock}px)${o}`},".nb-grid-warp > button:last-child":{marginBottom:`${e.marginBlock}px`},".nb-grid-warp .nb-grid-warp > button:last-child":{marginBottom:`${e.margin}px`}}}}),GridRowContext=(0,import_react2.createContext)({});GridRowContext.displayName="GridRowContext";const GridColContext=(0,import_react2.createContext)({});GridColContext.displayName="GridColContext";const GridContext=(0,import_react2.createContext)({});GridContext.displayName="GridContext";const breakRemoveOnGrid=e=>e["x-component"]==="Grid",breakRemoveOnRow=e=>e["x-component"]==="Grid.Row",ColDivider=e=>{var t,o,r;const{token:i}=useToken$1(),n=(0,import_react2.useRef)(null),{dn:a,designable:l}=useDesignable(),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!l}),m=(0,import_react2.useRef)(),d=(0,import_react2.useMemo)(()=>c?{backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{},[c]),p=(r=(o=(t=(0,import_core2.useDndContext)().active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent,h=(0,import_react2.useMemo)(()=>p?Object.keys(p.properties).length:0,[p]);let g=!0;if(h===1)if(e.first)g=p!==e.cols[0];else{const k=e.cols[e.index],T=e.cols[e.index+1];g=p!==k&&T!==p}const _=e.cols[e.index],f=e.cols[e.index+1],v=e.first||e.last||!l,{attributes:C,listeners:S,setNodeRef:b,isDragging:y}=(0,import_core2.useDraggable)({disabled:v,id:e.id,data:{dividerRef:m,prevSchema:_,nextSchema:f},attributes:{tabIndex:v?-1:0}}),[F,j]=(0,import_react2.useState)([0,0]);return(0,import_core2.useDndMonitor)({onDragStart(k){var T,M,w;const L=(w=(M=(T=k.active)==null?void 0:T.data)==null?void 0:M.current)==null?void 0:w.dividerRef;if(!L||!l)return;n.current=k.active.id;const D=L.current,R=D.previousElementSibling,N=D.nextElementSibling;j([R.clientWidth,N.clientWidth])},onDragMove(k){if(!l||!y)return;n.current===k.active.id&&(n.current=n.current+"_move");const T=m.current,M=T.previousElementSibling,w=T.nextElementSibling;M.style.width=`${F[0]+k.delta.x}px`,w.style.width=`${F[1]-k.delta.x}px`},onDragEnd(k){var T;if(!l||!n.current||(T=n.current)!=null&&T.startsWith(k.active.id)&&!n.current.endsWith("_move")||F[0]<=0||F[1]<=0||(j([0,0]),!_||!f))return;const M=m.current,w=M.previousElementSibling,L=M.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=M.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(w.getBoundingClientRect().width+D)/M.parentElement.clientWidth).toFixed(2),N=(100*(L.getBoundingClientRect().width+D)/M.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",N),a.emit("batchPatch",{schemas:[{"x-uid":_["x-uid"],"x-component-props":x({},_["x-component-props"])},{"x-uid":f["x-uid"],"x-component-props":x({},f["x-component-props"])}]})}}),(0,import_jsx_runtime.jsx)("div",{ref:k=>{g&&(u(k),m.current=k)},className:(0,import_classnames.default)("nb-col-divider","ColDivider"),style:d,children:(0,import_jsx_runtime.jsx)("div",P(x(x({ref:b},S),C),{className:e.first||e.last||!l?null:"DraggableNode"}))})},RowDivider=import_react2.default.memo(e=>{var t,o,r;const{token:i}=useToken$1(),{designable:n}=useDesignable(),{isOver:a,setNodeRef:l}=(0,import_core2.useDroppable)({id:e.id,data:e.data,disabled:!n}),[c,u]=(0,import_react2.useState)(!1),m=(0,import_react2.useMemo)(()=>a?{zIndex:c?1e3:-1,backgroundColor:new import_tinycolor.TinyColor(i.colorSettings).setAlpha(.1).toHex8String()}:{zIndex:c?1e3:-1},[c,a]),d=(0,import_core2.useDndContext)(),p=e.rows[e.index],h=(r=(o=(t=d.active)==null?void 0:t.data.current)==null?void 0:o.schema)==null?void 0:r.parent.parent,g=(0,import_react2.useMemo)(()=>h==null?void 0:h.mapProperties(f=>f["x-component"]==="Grid.Col").filter(Boolean).length,[h]);let _=!0;if(g===1)if(e.first)_=h!==e.rows[0];else{const f=e.rows[e.index+1];_=h!==p&&f!==h}return(0,import_core2.useDndMonitor)({onDragStart(f){n&&u(!0)},onDragMove(f){},onDragOver(f){},onDragEnd(f){n&&u(!1)},onDragCancel(f){n&&u(!1)}}),(0,import_jsx_runtime.jsx)("span",{ref:_?l:null,className:(0,import_classnames.default)("nb-row-divider","RowDivider"),style:m})});RowDivider.displayName="RowDivider";const wrapRowSchema=e=>{const t=new import_react.Schema({type:"void",name:`row_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Row"}),o=t.addProperty((0,import_shared.uid)(),{type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=o),o.addProperty(e.name,e),t},wrapColSchema=e=>{const t=new import_react.Schema({type:"void",name:`col_${(0,import_shared.uid)()}`,"x-uid":(0,import_shared.uid)(),"x-component":"Grid.Col"});return import_react.Schema.isSchemaInstance(e)&&(e.parent=t),t.addProperty(e.name,e),t},useRowProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Row"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},useColProperties=()=>{const e=(0,import_react.useFieldSchema)();return(0,import_react2.useMemo)(()=>e.reduceProperties((t,o)=>(o["x-component"]==="Grid.Col"&&!o["x-hidden"]&&t.push(o),t),[]),[e])},DndWrapper=e=>e.dndContext===!1?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e.children}):(0,import_jsx_runtime.jsx)(DndContext,P(x({},e.dndContext),{children:e.children})),useGridContext=()=>(0,import_react2.useContext)(GridContext),useGridRowContext=()=>(0,import_react2.useContext)(GridRowContext),getRowDividerData=import_lodash.default.memoize((e,t)=>({breakRemoveOn:breakRemoveOnGrid,wrapSchema:wrapRowSchema,insertAdjacent:t,schema:e})),Grid=(0,import_react.observer)(e=>{const{distributed:t,showDivider:o=!0}=e,r=(0,import_react2.useRef)(null),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)(),{render:a}=useSchemaInitializerRender(n["x-initializer"],n["x-initializer-props"]),l=(0,import_react2.useCallback)(C=>a(C),[]),c=i.address.toString(),u=useRowProperties(),{setPrintContent:m}=useFormBlockContext(),{componentCls:d,hashId:p}=useStyles$f(),h=t===void 0?(n==null?void 0:n.parent["x-component"])==="Page"||(n==null?void 0:n.parent["x-component"])==="Tabs.TabPane":t;(0,import_react2.useEffect)(()=>{r.current&&(m==null||m(r.current))},[m]);const g=(0,import_react2.useMemo)(()=>({ref:r,fieldSchema:n,renderSchemaInitializer:a,InitializerComponent:l,showDivider:o}),[n,a,l,o]),_=useRefreshFieldSchema(),f=useRefreshComponent(),v=(0,import_react2.useCallback)(()=>{_==null||_(),f==null||f()},[f,_]);return(0,import_jsx_runtime.jsx)(RefreshComponentProvider,{refresh:v,children:(0,import_jsx_runtime.jsx)(FilterBlockProvider,{children:(0,import_jsx_runtime.jsx)(GridContext.Provider,{value:g,children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)("nb-grid-container"),children:(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(`nb-grid ${d} ${p}`),ref:r,children:(0,import_jsx_runtime.jsxs)("div",{className:"nb-grid-warp",children:[(0,import_jsx_runtime.jsxs)(DndWrapper,{dndContext:e.dndContext,children:[o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,first:!0,id:`${c}_0`,data:getRowDividerData(n,"afterBegin")}):null,u.map((C,S)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[h?(0,import_jsx_runtime.jsx)(SchemaComponent,{name:C.name,schema:C,distributed:!0}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:C.name,schema:C,isUseFormilyField:!0}),o?(0,import_jsx_runtime.jsx)(RowDivider,{rows:u,index:S,id:`${c}_${S+1}`,data:getRowDividerData(C,"afterEnd")}):null]},S))]}),a()]})})})})})})},{displayName:"Grid"});Grid.Row=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),o=e.address.toString(),r=useColProperties(),{showDivider:i}=useGridContext(),n=(0,import_react2.useMemo)(()=>({schema:t,cols:r}),[t,r]);return(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:n,children:(0,import_jsx_runtime.jsxs)("div",{className:(0,import_classnames.default)("nb-grid-row","CardRow",{showDivider:i}),children:[i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,first:!0,id:`${o}_0`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterBegin",schema:t}}),r.map((a,l)=>(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:a.name,schema:a,isUseFormilyField:!0}),i&&(0,import_jsx_runtime.jsx)(ColDivider,{cols:r,index:l,last:l===r.length-1,id:`${o}_${l+1}`,data:{breakRemoveOn:breakRemoveOnRow,wrapSchema:wrapColSchema,insertAdjacent:"afterEnd",schema:a}})]},l))]})})},{displayName:"Grid.Row"});Grid.Col=(0,import_react.observer)(e=>{const{cols:t=[]}=(0,import_react2.useContext)(GridRowContext),{showDivider:o}=useGridContext(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{token:n}=useToken$1(),{designable:a}=useDesignable(),l=(0,import_react2.useMemo)(()=>{var _;let f="";return t!=null&&t.length&&(f=`calc(${((_=r==null?void 0:r["x-component-props"])==null?void 0:_.width)||100/t.length}% - ${n.marginBlock}px * ${(o?t.length+1:0)/t.length})`),{width:f}},[t.length,r,o,n.marginBlock]),{isOver:c,setNodeRef:u}=(0,import_core2.useDroppable)({id:i.address.toString(),data:{insertAdjacent:"beforeEnd",schema:r,wrapSchema:_=>_},disabled:!a}),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useMemo)(()=>c?{background:`linear-gradient(to top, ${new import_tinycolor.TinyColor(n.colorSettings).setAlpha(.1).toHex8String()} 20%, transparent 20%)`,borderTopRightRadius:"10px",borderTopLeftRadius:"10px",height:"100%"}:{height:"100%"},[m,c]);(0,import_core2.useDndMonitor)({onDragStart(_){a&&d(!0)},onDragMove(_){},onDragOver(_){},onDragEnd(_){a&&d(!1)},onDragCancel(_){a&&d(!1)}});const h=(0,import_react2.useMemo)(()=>({cols:t,schema:r}),[t,r]),g=(0,import_react2.useMemo)(()=>x(x({},l),p),[p,l]);return(0,import_jsx_runtime.jsx)(GridColContext.Provider,{value:h,children:(0,import_jsx_runtime.jsx)("div",{ref:u,style:g,className:(0,import_classnames.default)("nb-grid-col",e.className),children:e.children})})},{displayName:"Grid.Col"});Grid.wrap=e=>({type:"void","x-component":"Grid.Row",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"Grid.Col",properties:{[e.name||(0,import_shared.uid)()]:e}}}});const TableColumnSchemaToolbar=import_react2.default.memo(e=>(0,import_jsx_runtime.jsx)(GridRowContext.Provider,{value:null,children:(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:e.initializer||!1,showBorder:!1,showBackground:!0},import_lodash.default.omit(e,"initializer")))}));TableColumnSchemaToolbar.displayName="TableColumnSchemaToolbar";const useTableBlockProps=()=>{var e,t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useDataBlockResource(),u=useDataBlockRequest(),{getDataBlocks:m}=useFilterBlock(),d=useTableBlockContextBasicValue(),p=(0,import_react2.useRef)(null);p.current={service:u,resource:c};const h=((e=u==null?void 0:u.data)==null?void 0:e.meta)||{},g=useTableElementRef(),_=(0,import_react2.useCallback)(()=>{var C;g!=null&&g.current&&((C=g.current.parentElement)==null||C.scrollIntoView({block:"start"}))},[g]),f=(0,import_react2.useMemo)(()=>({pageSize:h==null?void 0:h.pageSize,total:h==null?void 0:h.count,current:h==null?void 0:h.page,onChange:_}),[h==null?void 0:h.count,h==null?void 0:h.page,h==null?void 0:h.pageSize,_]),v=((t=u==null?void 0:u.data)==null?void 0:t.data)||[];return(0,import_react2.useEffect)(()=>{var C,S;if(!(u!=null&&u.loading)){const b=(S=(C=d.field)==null?void 0:C.data)==null?void 0:S.selectedRowKeys;a.data=a.data||{},(0,import_lodash.isEqual)(a.data.selectedRowKeys,b)||(a.data.selectedRowKeys=b)}},[a,u==null?void 0:u.data,u==null?void 0:u.loading,(r=(o=d.field)==null?void 0:o.data)==null?void 0:r.selectedRowKeys]),{optimizeTextCellRender:!0,value:v,childrenColumnName:d.childrenColumnName,loading:u==null?void 0:u.loading,showIndex:d.showIndex,dragSort:d.dragSort&&d.dragSortBy,rowKey:d.rowKey||((i=l==null?void 0:l["x-component-props"])==null?void 0:i.rowKey)||"id",pagination:((n=l==null?void 0:l["x-component-props"])==null?void 0:n.pagination)===!1?!1:f,onRowSelectionChange:(0,import_react2.useCallback)((C,S)=>{var b,y,F;d&&(d.field.data=((b=d.field)==null?void 0:b.data)||{},d.field.data.selectedRowKeys=C,d.field.data.selectedRowData=S,(F=(y=d.field)==null?void 0:y.onRowSelect)==null||F.call(y,C))},[]),onRowDragEnd:(0,import_react2.useCallback)(C=>z(void 0,[C],function*({from:S,to:b}){yield p.current.resource.move({sourceId:S[d.rowKey||"id"],targetId:b[d.rowKey||"id"],sortField:d.dragSort&&d.dragSortBy}),p.current.service.refresh()}),[d.rowKey,d.dragSort,d.dragSortBy]),onChange:(0,import_react2.useCallback)(({current:C,pageSize:S},b,y)=>{var F,j,k,T,M,w,L,D,R,N;const B=(k=(j=(F=l.parent)==null?void 0:F["x-decorator-props"])==null?void 0:j.params)==null?void 0:k.sort,I=y.order?y.order==="ascend"?[y.field]:[`-${y.field}`]:B||d.dragSortBy,$=S||((w=(M=(T=l.parent)==null?void 0:T["x-decorator-props"])==null?void 0:M.params)==null?void 0:w.pageSize),E=P(x({},(R=(D=(L=p.current)==null?void 0:L.service)==null?void 0:D.params)==null?void 0:R[0]),{page:C||1,pageSize:$});I&&(E.sort=I),(N=p.current)==null||N.service.run(E)},[l.parent]),onClickRow:(0,import_react2.useCallback)((C,S,b)=>{const{targets:y,uid:F}=findFilterTargets(l),j=m();if(!y||!y.some(T=>j.some(M=>M.uid===T.uid))){S(T=>T.length?[]:T);return}const k=j.find(T=>T.uid===l.parent["x-uid"]);j.forEach(T=>{var M,w,L,D;const R=y.find(O=>O.uid===T.uid);if(!R)return;const N=getSourceKey(k,R.field)||d.rowKey||"id",B=[C[N]],I=((M=T.service.params)==null?void 0:M[0])||{},$=((L=(w=T.service.params)==null?void 0:w[1])==null?void 0:L.filters)||{};if(b.includes(C[d.rowKey])){if((D=T.clearSelection)==null||D.call(T),T.dataLoadingMode==="manual")return T.clearData();delete $[F]}else $[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:B}}]};const E=mergeFilter([...Object.values($).map(O=>removeNullCondition(O)),T.defaultFilter]);return T.doFilter(P(x({},I),{page:1,filter:E}),{filters:$})}),S(T=>T!=null&&T.includes(C[d.rowKey])?[]:[C[d.rowKey]])},[d.rowKey,l,m]),onExpand:(0,import_react2.useCallback)((C,S)=>{var b,y;(y=(b=d.field).onExpandClick)==null||y.call(b,C,S)},[])}};function getSourceKey(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const CollapseItemSchemaToolbar=e=>(0,import_jsx_runtime.jsx)(SchemaToolbar,x({initializer:!1},e));function useCollapseBlockDecoratorProps(){}function useFilterFormBlockDecoratorProps(){}function useFilterFormBlockProps(){return useFormBlockProps$1()}const useCollectOperator=()=>{const e=(0,import_react.useFieldSchema)(),{collectOperator:t,removeOperator:o}=useOperators();(0,import_react2.useEffect)(()=>()=>{o(e.name)},[e.name,o]),e["x-filter-operator"]&&t(e.name,e["x-filter-operator"])},useFormItemProps=()=>{useCollectOperator()},setFieldProps$1=(e,t,o)=>{(0,import_reactive.untracked)(()=>{e[t]===void 0&&(e[t]=o)})},setRequired$1=(e,t,o)=>{typeof t.required>"u"&&(e.required=!!o.required)},FilterCollectionFieldInternalField=e=>{var t,o,r,i,n,a;const l=useCompile(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{getInterface:m}=useCollectionManager_deprecated(),{uiSchema:d,defaultValue:p,interface:h}=useCollectionField(),{isAllowToSetDefaultValue:g}=useIsAllowToSetDefaultValue(),_=m(h),f=((o=(t=_==null?void 0:_.filterable)==null?void 0:t.operators)==null?void 0:o.find((y,F)=>y.value===(u==null?void 0:u["x-filter-operator"])))||((i=(r=_==null?void 0:_.filterable)==null?void 0:r.operators)==null?void 0:i[0]),v=useComponent(((n=f==null?void 0:f.schema)==null?void 0:n["x-component"])||((a=u["x-component-props"])==null?void 0:a.component)||(d==null?void 0:d["x-component"])||"Input"),C=useFormBlockContext(),S=useDynamicComponentProps(d==null?void 0:d["x-use-component-props"],e);if((0,import_react2.useEffect)(()=>{var y;if(!d)return;const F=l(d);if(setFieldProps$1(c,"content",F["x-content"]),setFieldProps$1(c,"title",F.title),setFieldProps$1(c,"description",F.description),C!=null&&C.form){const k=g()?u.default||p:void 0;k!=null&&setFieldProps$1(c,"initialValue",k)}if(!c.validator&&(F["x-validator"]||u["x-validator"])){const k=(0,import_lodash.concat)([],F["x-validator"]||[],u["x-validator"]||[]);c.validator=k}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired$1(c,u,F),c.dataSource=F.enum,c.data=c.data||{},c.data.dataSource=F==null?void 0:F.enum;const j=l(x(x(x({},((y=f==null?void 0:f.schema)==null?void 0:y["x-component-props"])||{}),F["x-component-props"]||{}),(u==null?void 0:u["x-component-props"])||{}))||{};c.componentProps=(0,import_shared.merge)(c.componentProps||{},j,S||{})},[d]),!d)return null;const b=x(x({},e),S);return isVariable$1(b.value)&&b.value===u.default&&(b.value=void 0),(0,import_jsx_runtime.jsx)(v,x({},b))},FilterCollectionField=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback.Modal,onError:o=>console.log(o),children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(FilterCollectionFieldInternalField,x({},e))})})});FilterCollectionField.displayName="FilterCollectionField";const FilterFormBlockProvider=withDynamicSchemaProps(e=>{const t=(0,import_react.useFieldSchema)()["x-filter-operators"]||{};return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{CollectionField:FilterCollectionField},children:(0,import_jsx_runtime.jsx)(CollectOperators,{defaultOperators:t,children:(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInFilterFormBlock:!0,children:(0,import_jsx_runtime.jsx)(FormBlockProvider,P(x({name:"filter-form"},e),{confirmBeforeClose:!1}))})})})})})}),FormFieldContext=(0,import_react2.createContext)({});FormFieldContext.displayName="FormFieldContext";const InternalFormFieldProvider=e=>{var t,o,r;const{action:i,readPretty:n,fieldName:a}=e,l=useFormBlockContext(),c=useCollectionParentRecordData();(t=l==null?void 0:l.updateAssociationValues)!=null&&t.includes(a)||(o=l==null?void 0:l.updateAssociationValues)==null||o.push(a);const u=(0,import_react.useField)(),m=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects(){(0,import_core.onFormValuesChange)(h=>{var g;(g=l==null?void 0:l.form)==null||g.setValuesIn(a,h.values)})},readPretty:n}),[]);(0,import_react2.useEffect)(()=>(0,import_reactive.autorun)(()=>{var h;const g=((h=l==null?void 0:l.form)==null?void 0:h.values[a])||{};m.reset(),(0,import_client.forEach)(g,(_,f)=>{_&&(m.values[f]=_)})}),[]);const{resource:d,service:p}=useBlockRequestContext();return p.loading?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(RecordProvider,{record:(r=p==null?void 0:p.data)==null?void 0:r.data,parent:c,children:(0,import_jsx_runtime.jsx)(FormFieldContext.Provider,{value:{action:i,form:m,field:u,service:p,resource:d,fieldName:a},children:e.children})})},WithoutFormFieldResource=(0,import_react2.createContext)(null);WithoutFormFieldResource.displayName="WithoutFormFieldResource";const FormFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutFormFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"form-field",block:"FormField"},e),{children:(0,import_jsx_runtime.jsx)(InternalFormFieldProvider,x({},e))}))}),useFormFieldContext=()=>(0,import_react2.useContext)(FormFieldContext),useFormFieldProps=()=>{const e=useFormFieldContext();return(0,import_react2.useEffect)(()=>{var t,o,r;(r=e==null?void 0:e.form)==null||r.setInitialValues((o=(t=e.service)==null?void 0:t.data)==null?void 0:o.data)},[]),{form:e.form}},TableFieldContext=(0,import_react2.createContext)({});TableFieldContext.displayName="TableFieldContext";const InternalTableFieldProvider=e=>{var t,o;const{params:r={},showIndex:i,dragSort:n,fieldName:a}=e,l=(0,import_react.useField)(),c=(0,import_react.useFieldSchema)(),{resource:u,service:m}=useBlockRequestContext(),d=useFormBlockContext(),p=useFormFieldContext(),h=p&&p.fieldName?`${p.fieldName}.${a}`:a;return(t=d==null?void 0:d.updateAssociationValues)!=null&&t.includes(h)||(o=d==null?void 0:d.updateAssociationValues)==null||o.push(h),(0,import_jsx_runtime.jsx)(TableFieldContext.Provider,{value:{field:l,fieldSchema:c,service:m,resource:u,params:r,showIndex:i,dragSort:n},children:e.children})};class TableFieldResource{constructor(t){A(this,"field"),A(this,"api"),A(this,"sourceId"),A(this,"resource"),this.field=t.field,this.api=t.api,this.sourceId=t.sourceId,this.resource=this.api.resource(t.resource,this.sourceId)}list(t){return z(this,null,function*(){if(this.field.data=this.field.data||{},this.field.data.changed)return console.log("list.dataSource",this.field.data.dataSource),{data:{data:this.field.data.dataSource}};if(!this.sourceId)return console.log("list.sourceId",this.field.data.dataSource),this.field.data.dataSource=[],{data:{data:[]}};const o=yield this.resource.list(t);return console.log("list",o),this.field.data.dataSource=o.data.data,{data:{data:o.data.data}}})}get(t){return z(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return z(this,null,function*(){console.log("create",t);const{values:o}=t;this.field.data.dataSource.push(o),this.field.data.changed=!0})}update(t){return z(this,null,function*(){console.log("update",t);const{filterByTk:o,values:r}=t;this.field.data.dataSource[o]=r,this.field.data.changed=!0})}destroy(t){return z(this,null,function*(){console.log("destroy",t);let{filterByTk:o}=t;Array.isArray(o)||(o=[o]),this.field.data.dataSource=this.field.data.dataSource.filter((r,i)=>!o.includes(i)),this.field.data.changed=!0})}}const WithoutTableFieldResource=(0,import_react2.createContext)(null);WithoutTableFieldResource.displayName="WithoutTableFieldResource";const TableFieldProvider=e=>(0,import_jsx_runtime.jsx)(WithoutTableFieldResource.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-field",block:"TableField"},e),{children:(0,import_jsx_runtime.jsx)(InternalTableFieldProvider,x({},e))}))}),useTableFieldContext=()=>(0,import_react2.useContext)(TableFieldContext),useTableFieldProps=()=>{var e,t,o,r,i,n,a,l;const c=(0,import_react.useField)(),u=useTableFieldContext();return(0,import_react2.useEffect)(()=>{var m,d,p,h,g;(m=u==null?void 0:u.service)!=null&&m.loading||(c.value=(p=(d=u==null?void 0:u.service)==null?void 0:d.data)==null?void 0:p.data,c.data=c.data||{},c.data.selectedRowKeys=(g=(h=u==null?void 0:u.field)==null?void 0:h.data)==null?void 0:g.selectedRowKeys)},[(t=(e=u==null?void 0:u.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=u==null?void 0:u.service)==null?void 0:o.data)==null?void 0:r.data,(i=u==null?void 0:u.service)==null?void 0:i.loading,c]),{size:"middle",loading:(n=u==null?void 0:u.service)==null?void 0:n.loading,showIndex:u.showIndex,dragSort:u.dragSort,pagination:!1,required:(l=(a=u==null?void 0:u.fieldSchema)==null?void 0:a.parent)==null?void 0:l.required,rowKey:m=>{var d,p;return(p=(d=c.value)==null?void 0:d.indexOf)==null?void 0:p.call(d,m)},onRowSelectionChange(m,d){var p;u.field.data=((p=u==null?void 0:u.field)==null?void 0:p.data)||{},u.field.data.selectedRowKeys=m,u.field.data.selectedRowData=d},onChange({current:m,pageSize:d}){u.service.run({page:m,pageSize:d})}}},TableSelectorContext=(0,import_react2.createContext)({});TableSelectorContext.displayName="TableSelectorContext";const TableSelectorParamsContext=(0,import_react2.createContext)({});TableSelectorParamsContext.displayName="TableSelectorParamsContext";const useTableSelectorParams=()=>(0,import_react2.useContext)(TableSelectorParamsContext),TableSelectorParamsProvider=({params:e,children:t})=>{const o=useTableSelectorParams();try{e.filter=mergeFilter([o.filter,e.filter]),e=x(x({},o),e)}catch(r){console.error(r)}return(0,import_jsx_runtime.jsx)(TableSelectorParamsContext.Provider,{value:e,children:t})},InternalTableSelectorProvider=e=>{const{params:t,rowKey:o,extraFilter:r,expandFlag:i=!1}=e,n=(0,import_react.useField)(),{resource:a,service:l}=useBlockRequestContext(),[c,u]=(0,import_react2.useState)(i),m=useCollectionParentRecordData();return(0,import_jsx_runtime.jsx)(RecordProvider,{record:{},parent:m,children:(0,import_jsx_runtime.jsx)(TableSelectorContext.Provider,{value:{field:n,service:l,resource:a,params:t,extraFilter:r,rowKey:o,expandFlag:c,setExpandFlag:()=>{u(!c)}},children:e.children})})},recursiveParent=(e,t)=>e["x-component"]===t?e:e.parent&&(e==null?void 0:e["x-component"])!=="AssociationField.Viewer"?recursiveParent(e.parent,t):null,useAssociationNames$1=e=>{const{getCollectionFields:t}=useCollectionManager_deprecated(),o=t(e),r=new Set;for(const n of o)if(n.target){r.add(n.name);const a=t(n.target);for(const l of a)l.target&&r.add(`${n.name}.${l.name}`)}const i=(0,import_react.useFieldSchema)().reduceProperties((n,a)=>a["x-component"]==="TableV2.Selector"?a:n,new import_react.Schema({}));return(0,import_uniq.default)(i.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2.Column"){const l=a.reduceProperties((c,u)=>{const[m]=u.name.split(".");return u["x-collection-field"]&&r.has(m)?u:c},null);if(l){const[c]=l.name.split(".");r.has(l.name)?n.push(l.name):r.has(c)&&n.push(c)}}return n},[]))},TableSelectorProvider=withDynamicSchemaProps(e=>{var t;const o=useTableSelectorParams(),r=(0,import_react.useFieldSchema)(),{getCollectionJoinField:i,getCollectionFields:n}=useCollectionManager_deprecated(),a=useRecord(),{getCollection:l}=useCollectionManager_deprecated(),{treeTable:c}=(r==null?void 0:r["x-decorator-props"])||{},u=recursiveParent(r,"CollectionField"),m=i(u==null?void 0:u["x-collection-field"]),d=l(m==null?void 0:m.collectionName),p=d==null?void 0:d.getPrimaryKey(),h=useAssociationNames$1(e.collection);let g=x({},e.params);e.dragSort&&(g.sort=["sort"]),(m==null?void 0:m.target)===(m==null?void 0:m.collectionName)&&d!=null&&d.tree&&c&&(g.tree=!0,u.name==="parent"&&(g.filter=P(x({},(t=g.filter)!=null?t:{}),{id:a[p]&&{$ne:a[p]}}))),Object.keys(g).includes("appends")||(g.appends=h);let _;if(m&&(["oho","o2m"].includes(m.interface)&&!isInFilterFormBlock(r)&&(a!=null&&a[m.sourceKey]?_={$or:[{[m.foreignKey]:{$is:null}},{[m.foreignKey]:{$eq:a==null?void 0:a[m.sourceKey]}}]}:_={[m.foreignKey]:{$is:null}}),["obo"].includes(m.interface)&&!isInFilterFormBlock(r))){const C=n(m.target).find(S=>S.foreignKey&&S.foreignKey===m.foreignKey);C&&(a!=null&&a[m.foreignKey]?_={$or:[{[`${C.name}.${C.foreignKey}`]:{$is:null}},{[`${C.name}.${C.foreignKey}`]:{$eq:a==null?void 0:a[m.foreignKey]}}]}:_={[`${C.name}.${C.foreignKey}`]:{$is:null}})}_&&(g!=null&&g.filter?g.filter={$and:[_,g.filter]}:g.filter=_);try{g.filter=mergeFilter([o.filter,g.filter]),g=x(x({},o),g)}catch(C){console.error(C)}const{filter:f,parseVariableLoading:v}=useParsedFilter({filterOption:g==null?void 0:g.filter});return!import_lodash.default.isEmpty(g==null?void 0:g.filter)&&import_lodash.default.isEmpty(f)||v?null:(g!=null&&g.filter&&(g.filter=f),(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{treeTable:c},children:(0,import_jsx_runtime.jsx)(BlockProvider,P(x({name:"table-selector"},e),{params:g,children:(0,import_jsx_runtime.jsx)(InternalTableSelectorProvider,P(x({},e),{params:g,extraFilter:_}))}))}))}),useTableSelectorContext=()=>(0,import_react2.useContext)(TableSelectorContext),useTableSelectorProps$4=()=>{var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_;const f=(0,import_react.useField)(),v=useTableSelectorContext(),C=(0,import_react.useFieldSchema)(),{getCollectionJoinField:S}=useCollectionManager_deprecated(),b=recursiveParent(C,"CollectionField"),y=S(b==null?void 0:b["x-collection-field"]);return(0,import_react2.useEffect)(()=>{var F,j,k,T,M,w,L,D,R,N,B,I,$;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const E=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(O=>O);f.value=E,(T=f==null?void 0:f.setInitialValue)==null||T.call(f,E),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(L=(w=(M=v==null?void 0:v.service)==null?void 0:M.data)==null?void 0:w.meta)==null?void 0:L.pageSize,f.componentProps.pagination.total=(N=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:N.count,f.componentProps.pagination.current=($=(I=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:I.meta)==null?void 0:$.page}},[y==null?void 0:y.foreignKey,(t=(e=v==null?void 0:v.field)==null?void 0:e.data)==null?void 0:t.selectedRowKeys,(r=(o=v==null?void 0:v.service)==null?void 0:o.data)==null?void 0:r.data,(a=(n=(i=v==null?void 0:v.service)==null?void 0:i.data)==null?void 0:n.meta)==null?void 0:a.count,(u=(c=(l=v==null?void 0:v.service)==null?void 0:l.data)==null?void 0:c.meta)==null?void 0:u.page,(p=(d=(m=v==null?void 0:v.service)==null?void 0:m.data)==null?void 0:d.meta)==null?void 0:p.pageSize,(h=v==null?void 0:v.service)==null?void 0:h.loading,f]),{loading:(g=v==null?void 0:v.service)==null?void 0:g.loading,showIndex:!1,dragSort:!1,rowKey:v.rowKey||"id",pagination:((_=C==null?void 0:C["x-component-props"])==null?void 0:_.pagination)===!1?!1:f.componentProps.pagination,onRowSelectionChange(F,j){var k;v.field.data=((k=v==null?void 0:v.field)==null?void 0:k.data)||{},v.field.data.selectedRowKeys=F,v.field.data.selectedRowData=j},onRowDragEnd(F){return z(this,arguments,function*({from:j,to:k}){yield v.resource.move({sourceId:j[v.rowKey||"id"],targetId:k[v.rowKey||"id"]}),v.service.refresh()})},onChange({current:F,pageSize:j}){var k;v.service.run(P(x({},(k=v.service.params)==null?void 0:k[0]),{page:F,pageSize:j}))}}},BlockSchemaComponentProvider=e=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{components:{TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,Slider:import_antd.Slider},scope:P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockItemProps,useGridCardBlockProps,useFormItemProps,useDataFormItemProps,useGridCardActionBarProps:useGridCardActionBarProps$1}),children:e.children});class BlockSchemaComponentPlugin extends Plugin{load(){return z(this,null,function*(){this.addComponents(),this.addScopes()})}addComponents(){this.app.addComponents({TableFieldProvider,TableBlockProvider,TableSelectorProvider,FormBlockProvider,FilterFormBlockProvider,FormFieldProvider,DetailsBlockProvider,RecordLink,BlockSchemaToolbar,ActionSchemaToolbar,FormItemSchemaToolbar,CollapseItemSchemaToolbar,TableColumnSchemaToolbar,Slider:import_antd.Slider})}addScopes(){this.app.addScopes(P(x({},bp),{useSourceIdFromRecord,useSourceIdFromParentRecord,useParamsFromRecord,useFormBlockProps:useFormBlockProps$1,useCreateFormBlockProps,useCreateFormBlockDecoratorProps,useEditFormBlockDecoratorProps,useEditFormBlockProps,useFormFieldProps,useDetailsBlockProps,useDetailsProps,useDetailsWithPaginationProps,useDetailsDecoratorProps,useDetailsWithPaginationDecoratorProps,useTableFieldProps,useTableBlockProps,useTableSelectorProps:useTableSelectorProps$4,useTableBlockDecoratorProps,useListBlockDecoratorProps,useListBlockProps,useTableSelectorDecoratorProps,useCollapseBlockDecoratorProps,useFilterFormBlockProps,useFilterFormBlockDecoratorProps,useGridCardBlockDecoratorProps,useGridCardBlockProps,useGridCardBlockItemProps,useFormItemProps,useDataFormItemProps,useGridCardActionBarProps:useGridCardActionBarProps$1}))}}const uiSchemaTemplatesCollection={name:"uiSchemaTemplates",filterTargetKey:"key",targetKey:"key",fields:[{type:"integer",name:"name",interface:"input",uiSchema:{title:'{{ t("Template name") }}',type:"number","x-component":"Input",required:!0}}]},BlockTemplate=(0,import_react.observer)(e=>{const{templateId:t}=e,{getTemplateById:o}=useSchemaTemplateManager(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=(0,import_react2.useMemo)(()=>o(t),[t]),{onTemplateSuccess:l}=useTemplateBlockContext(),{isMobileLayout:c}=useMobileLayout(),u=m=>{var d,p;i["x-linkage-rules"]=((d=m==null?void 0:m.data)==null?void 0:d["x-linkage-rules"])||[],i.setProperties((p=m==null?void 0:m.data)==null?void 0:p.properties),l==null||l()};return a?(0,import_jsx_runtime.jsx)(BlockTemplateProvider,{dn:n,field:r,fieldSchema:i,template:a,children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{noForm:!0,uid:a==null?void 0:a.uid,onSuccess:u,schemaTransform:c?import_client.transformMultiColumnToSingleColumn:void 0})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Block template",name:t})},{displayName:"BlockTemplate"}),SchemaTemplateManagerContext=(0,import_react2.createContext)({});SchemaTemplateManagerContext.displayName="SchemaTemplateManagerContext";const regenerateUid=e=>{e.name=e["x-uid"]=(0,import_shared.uid)(),Object.keys(e.properties||{}).forEach(t=>{regenerateUid(e.properties[t])})},useSchemaTemplate=()=>{const{getTemplateBySchema:e}=useSchemaTemplateManager(),t=(0,import_react.useFieldSchema)(),o=t["x-uid"],r=t["x-template-key"];return(0,import_react2.useMemo)(()=>e(t),[o,r])},useSchemaTemplateManager=()=>{const{getInheritCollections:e}=useCollectionManager_deprecated(),{refresh:t,templates:o=[]}=(0,import_react2.useContext)(SchemaTemplateManagerContext),r=useAPIClient();return{templates:o,refresh:t,getTemplateSchemaByMode:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{mode:n,template:a}=i;if(n==="copy"){const{data:l}=yield r.request({url:`/uiSchemas:getJsonSchema/${a.uid}?includeAsyncNode=true`}),c=(l==null?void 0:l.data)||{};return regenerateUid(c),(0,import_lodash.cloneDeep)(c)}else if(n==="reference")return{type:"void","x-component":"BlockTemplate","x-component-props":{templateId:a.key}}}),[r]),copyTemplateSchema:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{data:n}=yield r.request({url:`/uiSchemas:getJsonSchema/${i.uid}?includeAsyncNode=true`}),a=(n==null?void 0:n.data)||{};return regenerateUid(a),(0,import_lodash.cloneDeep)(a)}),[r]),saveAsTemplate:(0,import_react2.useCallback)(i=>z(void 0,null,function*(){const{uid:n}=i,a=(0,import_shared.uid)();return yield r.resource("uiSchemas").saveAsTemplate({filterByTk:n,values:x({key:a},i)}),yield t(),{key:a}}),[r,t]),getTemplateBySchema:(0,import_react2.useCallback)(i=>{if(!i)return;const n=i["x-template-key"];if(n)return o==null?void 0:o.find(l=>l.key===n);const a=i["x-uid"];if(a)return o==null?void 0:o.find(l=>l.uid===a)},[o]),getTemplateBySchemaId:(0,import_react2.useCallback)(i=>i?o==null?void 0:o.find(n=>n.uid===i):null,[o]),getTemplateById:(0,import_react2.useCallback)(i=>o==null?void 0:o.find(n=>n.key===i),[o]),getTemplatesByCollection:(0,import_react2.useCallback)((i,n)=>{var a;const l=e(n,i).concat([n]);return((a=o==null?void 0:o.filter)==null?void 0:a.call(o,c=>(c.dataSourceKey||DEFAULT_DATA_SOURCE_KEY)===i&&l.includes(c.collectionName)))||[]},[e,o]),getTemplatesByComponentName:(0,import_react2.useCallback)(i=>{var n;return((n=o==null?void 0:o.filter)==null?void 0:n.call(o,a=>a.componentName===i))||[]},[o])}},options$1={resource:"uiSchemaTemplates",action:"list",params:{paginate:!1},refreshDeps:[]},RemoteSchemaTemplateManagerProvider=e=>{var t;const o=useAPIClient(),r=useRequest(options$1),i=(0,import_react2.useCallback)(()=>z(void 0,null,function*(){const{data:a}=yield o.request(options$1);r.mutate(a)}),[o,r]),n=(0,import_react2.useMemo)(()=>{var a;return{templates:(a=r==null?void 0:r.data)==null?void 0:a.data,refresh:i}},[(t=r==null?void 0:r.data)==null?void 0:t.data,i]);return(0,import_jsx_runtime.jsx)(SchemaTemplateManagerContext.Provider,{value:n,children:e.children})};class RemoteSchemaTemplateManagerPlugin extends Plugin{load(){return z(this,null,function*(){this.addRoutes(),this.addComponents()})}addComponents(){this.app.addComponents({BlockTemplate})}addRoutes(){this.app.router.add("admin.plugins.block-templates-key",{path:"/admin/plugins/block-templates/:key",Component:"BlockTemplateDetails"})}}const CollectionTitle=e=>{const{dataSourceKey:t="main",collectionName:o}=useCollectionRecordData(),r=useDataSourceManager(),i=useCompile(),[n,a]=(0,import_react2.useMemo)(()=>{const l=r.getDataSource(t);if(l){const c=l.collectionManager.getCollection(o);return[l.displayName,(c==null?void 0:c.title)||o]}return[t,null]},[r,t,o]);return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[i(n)," ",">"," ",i(a)]})},useUpdateSchemaTemplateActionProps=()=>{const e=useUpdateActionProps(),{__parent:t}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var o,r;yield e.onClick(),(r=(o=t==null?void 0:t.service)==null?void 0:o.refresh)==null||r.call(o)})}}},useBulkDestroyTemplateProps=()=>{const e=useBulkDestroyActionProps(),t=useSchemaTemplateManager(),{service:o}=useBlockRequestContext();return{onClick(){return z(this,null,function*(){var r;yield e.onClick(),yield t.refresh(),(r=o==null?void 0:o.refresh)==null||r.call(o)})}}},useDestroyTemplateProps=()=>{const e=useDestroyActionProps(),{service:t}=useBlockRequestContext(),o=useSchemaTemplateManager();return{onClick(){return z(this,null,function*(){var r;yield e.onClick(),yield o.refresh(),(r=t==null?void 0:t.refresh)==null||r.call(t)})}}},uiSchemaTemplatesSchema={type:"object",properties:{[(0,import_shared.uid)()]:{type:"void","x-decorator":"TableBlockProvider","x-decorator-props":{collection:uiSchemaTemplatesCollection,resource:"uiSchemaTemplates",action:"list",params:{pageSize:20,sort:["-createdAt"]},rowKey:"key",showIndex:!0,dragSort:!1},"x-component":"CardItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action","x-use-component-props":useBulkDestroyTemplateProps,"x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}},[(0,import_shared.uid)()]:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowSelection:{type:"checkbox"}},properties:{column1:{type:"void",title:'{{ t("Title") }}',"x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-collection-field":"uiSchemaTemplates.name","x-component":"CollectionField","x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},column2:{type:"void",title:'{{t("Collection display name")}}',"x-component":"TableV2.Column",properties:{"collection.title":{type:"string","x-component":CollectionTitle,"x-read-pretty":!0,"x-component-props":{ellipsis:!0}}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-component":"Action.Link","x-component-props":{openMode:"drawer",refreshDataBlockRequest:!1},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{form:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"uiSchemaTemplates",collection:uiSchemaTemplatesCollection,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{[(0,import_shared.uid)()]:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"uiSchemaTemplates.name",required:!0},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{submit:{title:'{{t("Submit")}}',"x-action":"submit","x-component":"Action","x-use-component-props":useUpdateSchemaTemplateActionProps,"x-component-props":{type:"primary",htmlType:"submit"},type:"void"}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-component":"Action.Link","x-use-component-props":useDestroyTemplateProps,"x-component-props":{confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}}}}}}}}}}}}},BlockTemplatePage=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsxs)("div",{children:[(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{style:{backgroundColor:"white"},ghost:!1,title:e("Block templates")}),(0,import_jsx_runtime.jsx)("div",{style:{margin:"var(--nb-spacing)"},children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema})})]})},BlockTemplatesPane=()=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:uiSchemaTemplatesSchema}),VariableScopeContext$1=(0,import_react2.createContext)({scopeId:"",type:""}),VariableScope=e=>{const t=import_react2.default.useContext(VariableScopeContext$1),o=(0,import_react2.useMemo)(()=>({scopeId:e.scopeId,type:e.type,parent:t}),[e.scopeId,e.type,t]);return(0,import_jsx_runtime.jsx)(VariableScopeContext$1.Provider,{value:o,children:e.children})},useVariableScopeInfo=()=>{let e=import_react2.default.useContext(VariableScopeContext$1);return{getVariableScopeInfo:(0,import_react2.useCallback)(()=>{if(e.scopeId)return e;for(;e.parent&&!e.scopeId;)e=e.parent;return e},[e])}},useSystemSettingsVariable=()=>{const{t:e}=(0,import_react_i18next.useTranslation)();return{systemSettings:{key:"$systemSettings",value:"$systemSettings",label:e("System settings"),isLeaf:!1,children:[{key:"title",value:"title",label:e("System title"),isLeaf:!0}]}}},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,m)=>{var d;m!==i&&r.field.value.splice(m,1,P(x({},(d=r==null?void 0:r.field)==null?void 0:d.value[m]),{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((d,p,h)=>isAdditionComponent$1(p)?(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:p,name:h}):d,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,{})})},m=()=>(0,import_jsx_runtime.jsx)(import_antd.Collapse,P(x({},e),{activeKey:n,onChange:d=>a((0,import_shared.toArr)(d).map(Number)),className:(0,import_classnames.default)(t,o,e.className),children:i.map((d,p)=>{const h=Array.isArray(l.items)?l.items[p]||l.items[0]:l.items,g=r.query(`${r.address}.${p}`).get("componentProps"),_=h["x-component-props"],f=()=>{const S=`${(g==null?void 0:g.header)||_.header||r.title}`,b=r.address.concat(p),y=r.form.queryFeedbacks({type:"error",address:`${b}.**`});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:h,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:S}):(0,import_jsx_runtime.jsx)(DataTemplateTitle,{item:d.initialValue||d,index:p})]})},v=(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:[(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!!isOperationComponent$1(S),onlyRenderProperties:!0}),g==null?void 0:g.extra]}),C=(0,import_jsx_runtime.jsx)(import_react.RecursionField,{schema:h,name:p,filterProperties:S=>!(isIndexComponent$1(S)||isOperationComponent$1(S))});return(0,import_react2.createElement)(import_antd.Collapse.Panel,P(x(x({},_),g),{forceRender:!0,key:p,header:f(),extra:v}),(0,import_jsx_runtime.jsx)(import_antd_v5.ArrayBase.Item,{index:p,record:d,children:C},p))})}));return(0,import_jsx_runtime.jsxs)(import_antd_v5.ArrayBase,{onAdd:d=>{a(insertActiveKeys$1(n,d))},onRemove:()=>{r.initialValue=r.value},children:[u(),m(),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";(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:m}=n["x-designer-props"],{form:d}=useFormBlockContext(),p=i.componentProps.service.resource,h=o(p),g=e(p);if(!m)return(0,import_client.error)("data is required"),null;const _=()=>{var b,y;return((y=(b=m.config)==null?void 0:b[p])==null?void 0:y.filter)||{}},f=b=>{try{import_lodash.default.set(m,`config.${p}.filter`,removeNullCondition(b))}catch(y){(0,import_client.error)(y)}},v=()=>{var b,y;return((y=(b=m.config)==null?void 0:b[p])==null?void 0:y.titleField)||(h==null?void 0:h.titleField)||"id"},C=b=>{try{import_lodash.default.set(m,`config.${p}.titleField`,b)}catch(y){(0,import_client.error)(y)}},S=g.filter(b=>r(b)).map(b=>{var y;return{value:b==null?void 0:b.name,label:c((y=b==null?void 0:b.uiSchema)==null?void 0:y.title)||(b==null?void 0:b.name)}});return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{draggable:!1,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:p,defaultFilter:_(),form:d,onSubmit:({filter:b})=>{f(b);try{i.query("fieldReaction.items.*.layout.dataId").forEach(y=>{y.componentProps.service.resource===p&&(y.componentProps.service.params={filter:import_lodash.default.isEmpty(b)?{}:removeNullCondition(mergeFilter([b,getSelectedIdFilter(i.value)],"$or"))})})}catch(y){(0,import_client.error)(y)}u["x-data-templates"]=m,l.emit("patch",{schema:{"x-uid":u["x-uid"],"x-data-templates":m}}),l.refresh()}}),(0,import_jsx_runtime.jsx)(SelectItem,{title:a("Title field"),options:S,value:v(),onChange:b=>{C(b);try{i.query("fieldReaction.items.*.layout.dataId").forEach(F=>{F.componentProps.service.resource===p&&(F.componentProps.fieldNames.label=b,F.componentProps.targetField=t(`${p}.${b||(h==null?void 0:h.titleField)||"id"}`))})}catch(F){console.error(F)}u["x-data-templates"]=m;const y={"x-uid":u["x-uid"],"x-data-templates":m};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=Y(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=Y(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:m}=useCollectionState(i),{getCollection:d,getCollectionField:p}=useCollectionManager_deprecated(),{t:h}=(0,import_react_i18next.useTranslation)(),g=(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)})),[]),_=y=>{var F;const j=d(y);return p(`${y}.${((F=g==null?void 0:g.config[y])==null?void 0:F.titleField)||(j==null?void 0:j.titleField)||"id"}`)},f=y=>{var F,j;const k=d(y);return{label:getLabel(((j=(F=g.config)==null?void 0:F[y])==null?void 0:j.titleField)||(k==null?void 0:k.titleField)||"id"),value:"id"}},v=(y,F)=>{var j,k;const T=(k=(j=g.config)==null?void 0:j[y])==null?void 0:k.filter;return import_lodash.default.isEmpty(T)?{}:removeNullCondition(mergeFilter([T,getSelectedIdFilter(F)],"$or"))},C=(0,import_react2.useMemo)(()=>({ArrayCollapse:ArrayCollapse$1}),[]),S=(0,import_react2.useMemo)(()=>({getEnableFieldTree:a,getTargetField:_,getFieldNames:f,getFilter:v,getResource,getOnLoadData:l,getOnCheck:c,collectionName:i,getScopeDataSource:u,useTitleFieldDataSource:m}),[]),b=(0,import_react2.useMemo)(()=>({type:"object",properties:{items:{type:"array",default:g==null?void 0:g.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:h("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:h("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:(g==null?void 0:g.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:C,scope:S,schema:b})})}),{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=>(m,d)=>{m.loading=!0,u(m,d).then(import_reactive.action.bound(p=>{m.dataSource=p,m.loading=!1,m.initialValue&&(m.disabled=!0)}))},c=u=>z(void 0,null,function*(){var m,d;const{childrenCollections:p}=((m=r.values)==null?void 0:m.enableChildren)||{};return(d=a.filter(h=>!p.find(g=>g.collection===h.name)||u.initialValue||h.name===u.value))==null?void 0:d.map(h=>({label:i(h.title),value:h.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(m=>m.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]),m=c(u);return(0,import_react2.useEffect)(()=>{o(n.default)},[]),(0,import_jsx_runtime.jsx)(Variable.Input,{value:r,onChange:d=>o(d),scope:m,style:{minWidth:"400px",marginRight:15},className:import_css.css`
339
339
  .ant-input {
340
340
  width: 100% !important;
341
341
  }
@@ -384,7 +384,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
384
384
  position: relative;
385
385
  width: 100%;
386
386
  margin-left: 10px;
387
- `}),"x-visible":'{{$deps[0] === "basic"}}',"x-component-props":{collectionName:i,dynamicComponent:j=>{const{collectionField:k}=j;return(0,import_jsx_runtime.jsx)(VariableInput,P(x({},j),{form:n,record:c,shouldChange:getShouldChange({collectionField:k,variables:a,localVariables:l,getAllCollectionsInheritChain:h})}))}},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "basic"}}',value:'{{$deps[0] === "basic" ? $deps[1] : undefined}}'}}}]},conditionAdvanced:{"x-component":"LinkageFilter","x-visible":'{{$deps[0] === "advanced"}}',"x-component-props":{returnScope:b},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "advanced"}}',value:'{{$deps[0] === "advanced" ? $deps[1] : undefined}}'}}}]},conditionType:{type:"string","x-component":"Input",default:"advanced","x-hidden":!0},actions:{"x-component":"h4","x-content":'{{ t("Properties") }}'},action:{type:"void","x-component":j=>(0,import_jsx_runtime.jsx)(LinkageRuleActionGroup,x(x({},j),e))}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},copy:{type:"void","x-component":"ArrayCollapse.Copy"}}},properties:{add:{type:"void",title:'{{ t("Add linkage rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{}}}}}}}}),[i,r,n,h,l,o,e,c,a]),F=(0,import_react2.useMemo)(()=>({field:o,fieldSchema:t,dynamicComponent:u,options:o||[]}),[u,t,o]);return(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:null,collection:{name:i||p}},children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:c,parent:g,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:i||p,allowNull:!0,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:f,schema:y})})})})})}),{displayName:"FormLinkageRules"}),useLinkageCollectionFieldOptions=(e,t)=>{const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e).filter(c=>!["id","createdAt","createdBy","updatedAt","updatedBy"].includes(c.name)),{t:n}=(0,import_react_i18next.useTranslation)(),a=[{label:n("Visible"),value:ActionType.Visible,selected:!0,schema:{}},{label:n("Editable"),value:ActionType.Editable,selected:!1,schema:{}},{label:n("Disabled"),value:ActionType.ReadOnly,selected:!1,schema:{}},{label:n("Easy reading"),value:ActionType.ReadPretty,selected:!1,schema:{}},{label:n("Hidden"),value:ActionType.None,selected:!1,schema:{}},{label:n("Hidden(reserved value)"),value:ActionType.Hidden,selected:!1,schema:{}},{label:n("Required"),value:ActionType.Required,selected:!1,schema:{}},{label:n("Not required"),value:ActionType.InRequired,selected:!1,schema:{}},{label:n("Value"),value:ActionType.Value,selected:!1,schema:{}},{label:n("Options"),value:ActionType.Options,selected:!1,schema:{}},{label:n("Date scope"),value:ActionType.DateScope,selected:!1,schema:{}}].filter(c=>t?[ActionType.Visible,ActionType.None,ActionType.Hidden].includes(c.value):c),l=(c,u)=>{var m,d;const p=r(c.interface);if(!p)return;const{nested:h,children:g}=(p==null?void 0:p.filterable)||{},_={name:c.name,title:((m=c==null?void 0:c.uiSchema)==null?void 0:m.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,target:c.target,operators:((d=a==null?void 0:a.filter)==null?void 0:d.call(a,f=>h||g||["formula","richText","sequence"].includes(p.name)?(f==null?void 0:f.value)!==ActionType.Value&&(f==null?void 0:f.value)!==ActionType.Options:!0))||[]};if(!(c.target&&u>2))return _};return((c,u)=>{const m=[];return c.forEach(d=>{const p=l(d,u);p&&m.push(p)}),m})(i,1)},VariableScopeContext$1=(0,import_react2.createContext)({scopeId:"",type:""}),VariableScope=e=>{const t=import_react2.default.useContext(VariableScopeContext$1),o=(0,import_react2.useMemo)(()=>({scopeId:e.scopeId,type:e.type,parent:t}),[e.scopeId,e.type,t]);return(0,import_jsx_runtime.jsx)(VariableScopeContext$1.Provider,{value:o,children:e.children})},useVariableScopeInfo=()=>{let e=import_react2.default.useContext(VariableScopeContext$1);return{getVariableScopeInfo:(0,import_react2.useCallback)(()=>{if(e.scopeId)return e;for(;e.parent&&!e.scopeId;)e=e.parent;return e},[e])}},SchemaSettingsContext=(0,import_react2.createContext)(null);SchemaSettingsContext.displayName="SchemaSettingsContext";function useSchemaSettings(){return(0,import_react2.useContext)(SchemaSettingsContext)}const SchemaSettingsProvider=e=>{const{children:t,fieldSchema:o}=e,{getTemplateBySchema:r}=useSchemaTemplateManager(),i=useCollection(),n=r(o),a=(0,import_react2.useMemo)(()=>P(x({},e),{collectionName:i==null?void 0:i.name,template:n,fieldSchema:o}),[i==null?void 0:i.name,o,e,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsContext.Provider,{value:a,children:t})},InternalSchemaSettingsDropdown=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=Y(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!1),{Component:l,getMenuItems:c}=useMenuItem(),u=useNiceDropdownMaxHeight([n]),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useContext)(SchemaToolbarVisibleContext);(0,import_react2.useEffect)(()=>{p&&d(!1)},[p]);const h=(f,v)=>{(v.source==="trigger"||f)&&(0,import_react2.startTransition)(()=>{a(f)})},g=()=>{d(!0)};if(!m)return(0,import_jsx_runtime.jsx)("div",{onMouseEnter:g,"data-testid":e["data-testid"],children:typeof o=="string"?(0,import_jsx_runtime.jsx)("span",{children:o}):o});const _=c(()=>e.children);return(0,import_jsx_runtime.jsxs)(SchemaSettingsProvider,P(x({visible:n,setVisible:a,dn:r},i),{children:[(0,import_jsx_runtime.jsx)(l,{}),(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{open:n,onOpenChange:h,overlayClassName:import_css.css`
387
+ `}),"x-visible":'{{$deps[0] === "basic"}}',"x-component-props":{collectionName:i,dynamicComponent:j=>{const{collectionField:k}=j;return(0,import_jsx_runtime.jsx)(VariableInput,P(x({},j),{form:n,record:c,shouldChange:getShouldChange({collectionField:k,variables:a,localVariables:l,getAllCollectionsInheritChain:h})}))}},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "basic"}}',value:'{{$deps[0] === "basic" ? $deps[1] : undefined}}'}}}]},conditionAdvanced:{"x-component":"LinkageFilter","x-visible":'{{$deps[0] === "advanced"}}',"x-component-props":{returnScope:b},"x-reactions":[{dependencies:[".conditionType",".condition"],fulfill:{state:{visible:'{{$deps[0] === "advanced"}}',value:'{{$deps[0] === "advanced" ? $deps[1] : undefined}}'}}}]},conditionType:{type:"string","x-component":"Input",default:"advanced","x-hidden":!0},actions:{"x-component":"h4","x-content":'{{ t("Properties") }}'},action:{type:"void","x-component":j=>(0,import_jsx_runtime.jsx)(LinkageRuleActionGroup,x(x({},j),e))}}},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"},copy:{type:"void","x-component":"ArrayCollapse.Copy"}}},properties:{add:{type:"void",title:'{{ t("Add linkage rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{}}}}}}}}),[i,r,n,h,l,o,e,c,a]),F=(0,import_react2.useMemo)(()=>({field:o,fieldSchema:t,dynamicComponent:u,options:o||[]}),[u,t,o]);return(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:null,collection:{name:i||p}},children:(0,import_jsx_runtime.jsx)(RecordProvider,{record:c,parent:g,children:(0,import_jsx_runtime.jsx)(FilterContext$3.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:i||p,allowNull:!0,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:f,schema:y})})})})})}),{displayName:"FormLinkageRules"}),useLinkageCollectionFieldOptions=(e,t)=>{const{getCollectionFields:o,getInterface:r}=useCollectionManager_deprecated(),i=o(e).filter(c=>!["id","createdAt","createdBy","updatedAt","updatedBy"].includes(c.name)),{t:n}=(0,import_react_i18next.useTranslation)(),a=[{label:n("Visible"),value:ActionType.Visible,selected:!0,schema:{}},{label:n("Editable"),value:ActionType.Editable,selected:!1,schema:{}},{label:n("Disabled"),value:ActionType.ReadOnly,selected:!1,schema:{}},{label:n("Easy reading"),value:ActionType.ReadPretty,selected:!1,schema:{}},{label:n("Hidden"),value:ActionType.None,selected:!1,schema:{}},{label:n("Hidden(reserved value)"),value:ActionType.Hidden,selected:!1,schema:{}},{label:n("Required"),value:ActionType.Required,selected:!1,schema:{}},{label:n("Not required"),value:ActionType.InRequired,selected:!1,schema:{}},{label:n("Value"),value:ActionType.Value,selected:!1,schema:{}},{label:n("Options"),value:ActionType.Options,selected:!1,schema:{}},{label:n("Date scope"),value:ActionType.DateScope,selected:!1,schema:{}}].filter(c=>t?[ActionType.Visible,ActionType.None,ActionType.Hidden].includes(c.value):c),l=(c,u)=>{var m,d;const p=r(c.interface);if(!p)return;const{nested:h,children:g}=(p==null?void 0:p.filterable)||{},_={name:c.name,title:((m=c==null?void 0:c.uiSchema)==null?void 0:m.title)||c.name,schema:c==null?void 0:c.uiSchema,interface:c.interface,target:c.target,operators:((d=a==null?void 0:a.filter)==null?void 0:d.call(a,f=>h||g||["formula","richText","sequence"].includes(p.name)?(f==null?void 0:f.value)!==ActionType.Value&&(f==null?void 0:f.value)!==ActionType.Options:!0))||[]};if(!(c.target&&u>2))return _};return((c,u)=>{const m=[];return c.forEach(d=>{const p=l(d,u);p&&m.push(p)}),m})(i,1)},SchemaSettingsContext=(0,import_react2.createContext)(null);SchemaSettingsContext.displayName="SchemaSettingsContext";function useSchemaSettings(){return(0,import_react2.useContext)(SchemaSettingsContext)}const SchemaSettingsProvider=e=>{const{children:t,fieldSchema:o}=e,{getTemplateBySchema:r}=useSchemaTemplateManager(),i=useCollection(),n=r(o),a=(0,import_react2.useMemo)(()=>P(x({},e),{collectionName:i==null?void 0:i.name,template:n,fieldSchema:o}),[i==null?void 0:i.name,o,e,n]);return(0,import_jsx_runtime.jsx)(SchemaSettingsContext.Provider,{value:a,children:t})},InternalSchemaSettingsDropdown=import_react2.default.memo(e=>{const t=e,{title:o,dn:r}=t,i=Y(t,["title","dn"]),[n,a]=(0,import_react2.useState)(!1),{Component:l,getMenuItems:c}=useMenuItem(),u=useNiceDropdownMaxHeight([n]),[m,d]=(0,import_react2.useState)(!1),p=(0,import_react2.useContext)(SchemaToolbarVisibleContext);(0,import_react2.useEffect)(()=>{p&&d(!1)},[p]);const h=(f,v)=>{(v.source==="trigger"||f)&&(0,import_react2.startTransition)(()=>{a(f)})},g=()=>{d(!0)};if(!m)return(0,import_jsx_runtime.jsx)("div",{onMouseEnter:g,"data-testid":e["data-testid"],children:typeof o=="string"?(0,import_jsx_runtime.jsx)("span",{children:o}):o});const _=c(()=>e.children);return(0,import_jsx_runtime.jsxs)(SchemaSettingsProvider,P(x({visible:n,setVisible:a,dn:r},i),{children:[(0,import_jsx_runtime.jsx)(l,{}),(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{open:n,onOpenChange:h,overlayClassName:import_css.css`
388
388
  .ant-dropdown-menu-item-group-list {
389
389
  max-height: 300px;
390
390
  overflow-y: auto;
@@ -399,7 +399,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
399
399
  @media (max-width: 576px) {
400
400
  min-width: 320px;
401
401
  }
402
- `,children:(0,import_jsx_runtime.jsx)(ApplicationContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(APIClientProvider,{apiClient:v,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{locale:F,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:i,scope:n,schema:H})})})})})})})})})})})})})}))})})})})})})})})}),S).open({initialValues:W,effects:a}).then(K=>(l(K),K)).catch(K=>{console.error(K)})}),children:e.children||e.title}))},SchemaSettingsDefaultSortingRules=function(e){const{path:t="x-component-props.params.sort"}=e,{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=e.title||o("Set default sorting rules"),l=useCollection(),c=(0,import_lodash.get)(i,t)||[],u=c==null?void 0:c.map(p=>p.startsWith("-")?{field:p.substring(1),direction:"desc"}:{field:p,direction:"asc"}),m=useSortFields(e.name||(l==null?void 0:l.name)),d=p=>z(this,[p],function*({sort:h}){var g;if(e!=null&&e.onSubmit)return e.onSubmit({sort:h});const _=h.map(f=>f.direction==="desc"?`-${f.field}`:f.field);return(0,import_lodash.set)(n,t.replace("x-component-props","componentProps").replace("x-decorator-props","decoratorProps"),_),(0,import_lodash.set)(i,t,_),yield r.emit("patch",{schema:i}),(g=e.onSubmitAfter)==null?void 0:g.call(e)});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a,components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a,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:m,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:o("ASC"),value:"asc"},{label:o("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:o("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:d})},SchemaSettingsLinkageRules=function(e){var t;const{collectionName:o,readPretty:r,Component:i,afterSubmit:n,title:a,returnScope:l}=e,c=(0,import_react.useFieldSchema)(),{form:u}=useFormBlockContext(),{dn:m}=useDesignable(),{t:d}=(0,import_react_i18next.useTranslation)(),{getTemplateById:p}=useSchemaTemplateManager(),h=useVariables$1(),g=useLocalVariables$1(),_=useRecord(),{type:f}=useFormBlockType(),v=(t=e==null?void 0:e.category)!=null?t:LinkageRuleCategory.default,C=(e==null?void 0:e.type)||(c!=null&&c["x-action"]||["Action","Action.Link"].includes(c["x-component"])?"button":"field"),S=findGridSchema(c)||c,b=useLinkageCollectionFilterOptions(o),y=useLinkageCollectionFieldOptions(o,r),F={[LinkageRuleCategory.default]:d("Linkage rules"),[LinkageRuleCategory.style]:d("Style")},j=LinkageRuleDataKeyMap[v],k=(0,import_react2.useCallback)(()=>(S==null?void 0:S[j])||(c==null?void 0:c[j])||[],[S,c,j]),T=a||F[v]||d("Linkage rules"),M=useFlag(),w=(0,import_react2.useMemo)(()=>({type:"object",title:T,properties:{fieldReaction:{"x-component":i||FormLinkageRules,"x-use-component-props":()=>({options:b,defaultValues:k(),linkageOptions:y,category:v,elementType:C,collectionName:o,form:u,variables:h,localVariables:g,record:_,formBlockType:f,returnScope:l})}}}),[o,c,u,S,g,_,d,h,k,i]),L=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout}),[]),D=(0,import_react2.useCallback)(R=>{var N;const B=[];for(const E of R.fieldReaction.rules)B.push(import_lodash.default.omit(import_lodash.default.pickBy(E,import_lodash.default.identity),["conditionBasic","conditionAdvanced"]));const I=S["x-component"]==="BlockTemplate"&&((N=S["x-component-props"])==null?void 0:N.templateId),$={"x-uid":v!==LinkageRuleCategory.block?I&&p(I).uid||S["x-uid"]:c["x-uid"]};S[j]=B,$[j]=B,c[j]=B,m.emit("patch",{schema:$}),m.refresh(),n==null||n()},[m,p,S,j,n,v]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:T,components:L,width:960,schema:w,onSubmit:D,ModalContextProvider:R=>(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},M),{children:R.children}))})},useDataTemplates=e=>{const t=(0,import_react.useFieldSchema)();if(e)return{templateData:import_lodash.default.cloneDeep(e["x-data-templates"])};const o=findFormBlock(t)||t;return{templateData:import_lodash.default.cloneDeep(o==null?void 0:o["x-data-templates"])}},SchemaSettingsDataTemplates=function(e){const t=(0,import_react2.useContext)(SchemaComponentContext),{collectionName:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=findFormBlock(r)||r,{templateData:l}=useDataTemplates(),c=(0,import_react2.useMemo)(()=>({type:"object",title:n("Form data templates"),properties:{fieldReaction:{"x-decorator":p=>(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},p),{isInFormDataTemplate:!0})),"x-component":FormDataTemplates,"x-use-component-props":()=>({defaultValues:l,collectionName:o}),"x-component-props":{designerCtx:t,formSchema:a}}}}),[l]),u=(0,import_react2.useCallback)(p=>{const h=x(x({},a["x-data-templates"]||{}),p.fieldReaction);h.items.forEach(_=>{_.fields=Array.isArray(_.fields)?_.fields:_.fields.checked});const g={"x-uid":a["x-uid"],"x-data-templates":h};a["x-data-templates"]=h,i.emit("patch",{schema:g}),i.refresh()},[]),m=(0,import_react2.useMemo)(()=>n("Form data templates"),[]),d=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout}),[]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:m,components:d,width:770,schema:c,onSubmit:u})};function SchemaSettingsEnableChildCollections(e){var t,o,r;const{collectionName:i}=e,n=(0,import_react.useFieldSchema)(),a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=n==null?void 0:n["x-allow-add-to-current"],{getCollectionJoinField:m}=useCollectionManager_deprecated(),d=useBlockRequestContext(),p=m((t=n==null?void 0:n.parent)==null?void 0:t["x-collection-field"])||{},h=((o=n==null?void 0:n.parent)==null?void 0:o["x-component"])==="CollectionField";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Enable child collections"),components:{ArrayItems:import_antd_v5.ArrayItems,FormLayout:import_antd_v5.FormLayout},scope:{isAssocationAdd:h},schema:{type:"object",title:c("Enable child collections"),properties:{enableChildren:{"x-component":EnableChildCollections,"x-use-component-props":()=>({defaultValues:n==null?void 0:n["x-enable-children"],collectionName:i})},allowAddToCurrent:{type:"boolean","x-content":"{{t('Allow adding records to the current collection')}}","x-decorator":"FormItem","x-component":"Checkbox",default:u===void 0?!0:u},linkageFromForm:{type:"string",title:"{{t('Linkage with form fields')}}","x-visible":"{{isAssocationAdd}}","x-decorator":"FormItem","x-component":ChildDynamicComponent,"x-component-props":{rootCollection:d.props.collection||d.props.resource,collectionField:p},default:(r=n==null?void 0:n["x-component-props"])==null?void 0:r.linkageFromForm}}},onSubmit:g=>{const _=[];for(const v of g.enableChildren.childrenCollections)_.push(import_lodash.default.pickBy(v,import_lodash.default.identity));const f={"x-uid":n["x-uid"]};n["x-enable-children"]=_,n["x-allow-add-to-current"]=g.allowAddToCurrent,n["x-component-props"]=P(x({},n["x-component-props"]),{component:"CreateRecordAction",linkageFromForm:g==null?void 0:g.linkageFromForm}),f["x-enable-children"]=_,f["x-allow-add-to-current"]=g.allowAddToCurrent,f["x-component-props"]=P(x({},n["x-component-props"]),{component:"CreateRecordAction",linkageFromForm:g==null?void 0:g.linkageFromForm}),a.componentProps.linkageFromForm=g.linkageFromForm,l.emit("patch",{schema:f}),l.refresh()}})}const defaultInputStyle=import_css.css`
402
+ `,children:(0,import_jsx_runtime.jsx)(ApplicationContext.Provider,{value:C,children:(0,import_jsx_runtime.jsx)(APIClientProvider,{apiClient:v,children:(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{locale:F,children:(0,import_jsx_runtime.jsx)(zIndexContext.Provider,{value:2e3,children:(0,import_jsx_runtime.jsx)(SchemaComponent,{components:i,scope:n,schema:H})})})})})})})})})})})})})})}))})})})})})})})})}),S).open({initialValues:W,effects:a}).then(K=>(l(K),K)).catch(K=>{console.error(K)})}),children:e.children||e.title}))},SchemaSettingsDefaultSortingRules=function(e){const{path:t="x-component-props.params.sort"}=e,{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=e.title||o("Set default sorting rules"),l=useCollection(),c=(0,import_lodash.get)(i,t)||[],u=c==null?void 0:c.map(p=>p.startsWith("-")?{field:p.substring(1),direction:"desc"}:{field:p,direction:"asc"}),m=useSortFields(e.name||(l==null?void 0:l.name)),d=p=>z(this,[p],function*({sort:h}){var g;if(e!=null&&e.onSubmit)return e.onSubmit({sort:h});const _=h.map(f=>f.direction==="desc"?`-${f.field}`:f.field);return(0,import_lodash.set)(n,t.replace("x-component-props","componentProps").replace("x-decorator-props","decoratorProps"),_),(0,import_lodash.set)(i,t,_),yield r.emit("patch",{schema:i}),(g=e.onSubmitAfter)==null?void 0:g.call(e)});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:a,components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a,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:m,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:o("ASC"),value:"asc"},{label:o("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:o("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:d})},SchemaSettingsLinkageRules=function(e){var t;const{collectionName:o,readPretty:r,Component:i,afterSubmit:n,title:a,returnScope:l}=e,c=(0,import_react.useFieldSchema)(),{form:u}=useFormBlockContext(),{dn:m}=useDesignable(),{t:d}=(0,import_react_i18next.useTranslation)(),{getTemplateById:p}=useSchemaTemplateManager(),h=useVariables$1(),g=useLocalVariables$1(),_=useRecord(),{type:f}=useFormBlockType(),v=(t=e==null?void 0:e.category)!=null?t:LinkageRuleCategory.default,C=(e==null?void 0:e.type)||(c!=null&&c["x-action"]||["Action","Action.Link"].includes(c["x-component"])?"button":"field"),S=findGridSchema(c)||c,b=useLinkageCollectionFilterOptions(o),y=useLinkageCollectionFieldOptions(o,r),F={[LinkageRuleCategory.default]:d("Linkage rules"),[LinkageRuleCategory.style]:d("Style")},j=LinkageRuleDataKeyMap[v],k=(0,import_react2.useCallback)(()=>(S==null?void 0:S[j])||(c==null?void 0:c[j])||[],[S,c,j]),T=a||F[v]||d("Linkage rules"),M=useFlag(),w=(0,import_react2.useMemo)(()=>({type:"object",title:T,properties:{fieldReaction:{"x-component":i||FormLinkageRules,"x-use-component-props":()=>({options:b,defaultValues:k(),linkageOptions:y,category:v,elementType:C,collectionName:o,form:u,variables:h,localVariables:g,record:_,formBlockType:f,returnScope:l})}}}),[o,c,u,S,g,_,d,h,k,i]),L=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout}),[]),D=(0,import_react2.useCallback)(R=>{var N;const B=[];for(const E of R.fieldReaction.rules)B.push(import_lodash.default.omit(import_lodash.default.pickBy(E,import_lodash.default.identity),["conditionBasic","conditionAdvanced"]));const I=S["x-component"]==="BlockTemplate"&&((N=S["x-component-props"])==null?void 0:N.templateId),$={"x-uid":v!==LinkageRuleCategory.block?I&&p(I).uid||S["x-uid"]:c["x-uid"]};S[j]=B,$[j]=B,c[j]=B,m.emit("patch",{schema:$}),m.refresh(),n==null||n()},[m,p,S,j,n,v]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:T,components:L,width:960,schema:w,onSubmit:D,ModalContextProvider:R=>(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},M),{children:R.children}))})},useDataTemplates=e=>{const t=(0,import_react.useFieldSchema)();if(e)return{templateData:import_lodash.default.cloneDeep(e["x-data-templates"])};const o=findFormBlock(t)||t;return{templateData:import_lodash.default.cloneDeep(o==null?void 0:o["x-data-templates"])}},SchemaSettingsDataTemplates=function(e){const t=(0,import_react2.useContext)(SchemaComponentContext),{collectionName:o}=e,r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),a=findFormBlock(r)||r,{templateData:l}=useDataTemplates(),c=(0,import_react2.useMemo)(()=>({type:"object",title:n("Form data templates"),properties:{fieldReaction:{"x-decorator":p=>(0,import_jsx_runtime.jsx)(FlagProvider,P(x({},p),{isInFormDataTemplate:!0})),"x-component":FormDataTemplates,"x-use-component-props":()=>({defaultValues:l,collectionName:o}),"x-component-props":{designerCtx:t,formSchema:a}}}}),[l]),u=(0,import_react2.useCallback)(p=>{const h=x(x({},a["x-data-templates"]||{}),p.fieldReaction);h.items.forEach(_=>{_.fields=Array.isArray(_.fields)?_.fields:_.fields.checked});const g={"x-uid":a["x-uid"],"x-data-templates":h};a["x-data-templates"]=h,i.emit("patch",{schema:g}),i.refresh()},[]),m=(0,import_react2.useMemo)(()=>n("Form data templates"),[]),d=(0,import_react2.useMemo)(()=>({ArrayCollapse:import_antd_v5.ArrayCollapse,FormLayout:import_antd_v5.FormLayout}),[]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:m,components:d,width:770,schema:c,onSubmit:u})};function SchemaSettingsEnableChildCollections(e){var t,o,r;const{collectionName:i}=e,n=(0,import_react.useFieldSchema)(),a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),u=n==null?void 0:n["x-allow-add-to-current"],{getCollectionJoinField:m}=useCollectionManager_deprecated(),d=useBlockRequestContext(),p=m((t=n==null?void 0:n.parent)==null?void 0:t["x-collection-field"])||{},h=((o=n==null?void 0:n.parent)==null?void 0:o["x-component"])==="CollectionField";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Enable child collections"),components:{ArrayItems:import_antd_v5.ArrayItems,FormLayout:import_antd_v5.FormLayout},scope:{isAssocationAdd:h},schema:{type:"object",title:c("Enable child collections"),properties:{enableChildren:{"x-component":EnableChildCollections,"x-use-component-props":()=>({defaultValues:n==null?void 0:n["x-enable-children"],collectionName:i})},allowAddToCurrent:{type:"boolean","x-content":"{{t('Allow adding records to the current collection')}}","x-decorator":"FormItem","x-component":"Checkbox",default:u===void 0?!0:u},linkageFromForm:{type:"string",title:"{{t('Linkage with form fields')}}","x-visible":"{{isAssocationAdd}}","x-decorator":"FormItem","x-component":ChildDynamicComponent,"x-component-props":{rootCollection:d.props.collection||d.props.resource,collectionField:p},default:(r=n==null?void 0:n["x-component-props"])==null?void 0:r.linkageFromForm}}},onSubmit:g=>{const _=[];for(const v of g.enableChildren.childrenCollections)_.push(import_lodash.default.pickBy(v,import_lodash.default.identity));const f={"x-uid":n["x-uid"]};n["x-enable-children"]=_,n["x-allow-add-to-current"]=g.allowAddToCurrent,n["x-component-props"]=P(x({},n["x-component-props"]),{component:"CreateRecordAction",linkageFromForm:g==null?void 0:g.linkageFromForm}),f["x-enable-children"]=_,f["x-allow-add-to-current"]=g.allowAddToCurrent,f["x-component-props"]=P(x({},n["x-component-props"]),{component:"CreateRecordAction",linkageFromForm:g==null?void 0:g.linkageFromForm}),a.componentProps.linkageFromForm=g.linkageFromForm,l.emit("patch",{schema:f}),l.refresh()}})}const defaultInputStyle=import_css.css`
403
403
  & > .nb-form-item {
404
404
  flex: 1;
405
405
  }
@@ -1477,7 +1477,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
1477
1477
  .ant-formily-item {
1478
1478
  margin-bottom: 0;
1479
1479
  }
1480
- `},"x-component":PresetFields,"x-component-props":{disabled:"{{ presetFieldsDisabled }}",presetFieldsDisabledIncludes:"{{presetFieldsDisabledIncludes}}"}}},getConfigurableProperties=(...e)=>{const t={};for(const o of e)defaultConfigurableProperties[o]&&(t[o]=defaultConfigurableProperties[o]);return t};class CheckboxFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","checkbox"),A(this,"type","object"),A(this,"group","choices"),A(this,"order",1),A(this,"title",'{{t("Checkbox")}}'),A(this,"default",{type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}),A(this,"availableTypes",["boolean","integer","bigInt","bit"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps)),A(this,"filterable",{operators:boolean})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class CheckboxGroupFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","checkboxGroup"),A(this,"type","object"),A(this,"group","choices"),A(this,"order",5),A(this,"title",'{{t("Checkbox group")}}'),A(this,"default",{interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}}),A(this,"availableTypes",["array","json"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{"uiSchema.enum":dataSource})),A(this,"filterable",{operators:array})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class CollectionSelectFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","collection"),A(this,"type","string"),A(this,"group","advanced"),A(this,"order",5),A(this,"title",'{{t("Collection selector")}}'),A(this,"description",'{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}'),A(this,"sortable",!0),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!1),A(this,"properties",P(x({},defaultProps),{"uiSchema.enum":collectionDataSource})),A(this,"filterable",{operators:collection$2})}schemaInitialize(t,{block:o}){const r=t["x-component-props"]=t["x-component-props"]||{};r.style=P(x({},r.style||{}),{width:"100%"}),["Table","Kanban"].includes(o)&&(r.ellipsis=!0)}}class ColorFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","color"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",10),A(this,"title",'{{t("Color")}}'),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"ColorPicker",default:"#1677FF"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps)),A(this,"filterable",{operators:string})}}class CreatedAtFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","createdAt"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",1),A(this,"title",'{{t("Created at")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),A(this,"description",'{{t("Store the creation time of each record")}}'),A(this,"availableTypes",[]),A(this,"properties",x(x({},defaultProps),dateTimeProps)),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class CreatedByFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","createdBy"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",3),A(this,"title",'{{t("Created by")}}'),A(this,"isAssociation",!0),A(this,"default",{type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}),A(this,"availableTypes",["belongsTo"]),A(this,"properties",x({},defaultProps)),A(this,"filterable",{nested:!0,children:[]}),A(this,"description",'{{t("Store the creation user of each record")}}')}schemaInitialize(t,{block:o}){t.properties={viewer:(0,import_lodash.cloneDeep)(recordPickerViewer)},["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class DatetimeFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","datetime"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",1),A(this,"title",'{{t("Datetime (with time zone)")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}}),A(this,"availableTypes",["date","string","datetime","datetimeTz"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class EmailFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","email"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",4),A(this,"title",'{{t("Email")}}'),A(this,"sortable",!0),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{unique})),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class IconFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","icon"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",10),A(this,"title",'{{t("Icon")}}'),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"IconPicker"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps))}}class IdFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","id"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",0),A(this,"title",'{{t("ID")}}'),A(this,"hidden",!0),A(this,"sortable",!0),A(this,"default",{name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}}),A(this,"availableTypes",["bigInt","integer"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,default:"ID","x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}}),A(this,"filterable",{operators:id}),A(this,"description",'{{t("Primary key, unique identifier, self growth") }}'),A(this,"titleUsable",!0)}}const isValidateEmpty=e=>{var t;if((0,import_shared.isArr)(e)){for(let o=0;o<e.length;o++)if((0,import_shared.isValid)(e[o]))return!1;return!0}else return e!=null&&e.getCurrentContent?!((t=e.getCurrentContent())!=null&&t.hasText()):(0,import_shared.isEmpty)(e)};(0,import_validator.registerValidateRules)({username(e){return/^[^@.<>"'/]{1,50}$/.test(e)||i18n.t(`Must be 1-50 characters in length (excluding @.<>"'/)`)},required(e,t){return t.required===!1?"":(typeof e=="string"&&(e=e.trim()),isValidateEmpty(e)?t.message:"")}});class InputFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","input"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",1),A(this,"title",'{{t("Single line text")}}'),A(this,"sortable",!0),A(this,"default",{interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}}),A(this,"availableTypes",["string","uid"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"},layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}})),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}validateSchema(t){return{max:{type:"number",title:'{{ t("Max length") }}',minimum:0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{precision:0},"x-reactions":`{{(field) => {
1480
+ `},"x-component":PresetFields,"x-component-props":{disabled:"{{ presetFieldsDisabled }}",presetFieldsDisabledIncludes:"{{presetFieldsDisabledIncludes}}"}}},getConfigurableProperties=(...e)=>{const t={};for(const o of e)defaultConfigurableProperties[o]&&(t[o]=defaultConfigurableProperties[o]);return t};class CheckboxFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","checkbox"),A(this,"type","object"),A(this,"group","choices"),A(this,"order",1),A(this,"title",'{{t("Checkbox")}}'),A(this,"default",{type:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}),A(this,"availableTypes",["boolean","integer","bigInt","bit"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps)),A(this,"filterable",{operators:boolean})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class CheckboxGroupFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","checkboxGroup"),A(this,"type","object"),A(this,"group","choices"),A(this,"order",5),A(this,"title",'{{t("Checkbox group")}}'),A(this,"default",{interface:"checkboxGroup",type:"array",defaultValue:[],uiSchema:{type:"string","x-component":"Checkbox.Group"}}),A(this,"availableTypes",["array","json"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{"uiSchema.enum":dataSource})),A(this,"filterable",{operators:array})}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class CollectionSelectFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","collection"),A(this,"type","string"),A(this,"group","advanced"),A(this,"order",5),A(this,"title",'{{t("Collection selector")}}'),A(this,"description",'{{t("Providing certain collections as options for users, typically used in polymorphic or inheritance scenarios")}}'),A(this,"sortable",!0),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"CollectionSelect"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!1),A(this,"properties",P(x({},defaultProps),{"uiSchema.enum":collectionDataSource})),A(this,"filterable",{operators:collection$2})}schemaInitialize(t,{block:o}){const r=t["x-component-props"]=t["x-component-props"]||{};r.style=P(x({},r.style||{}),{width:"100%"}),["Table","Kanban"].includes(o)&&(r.ellipsis=!0)}}class ColorFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","color"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",10),A(this,"title",'{{t("Color")}}'),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"ColorPicker",default:"#1677FF"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps)),A(this,"filterable",{operators:string})}}class CreatedAtFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","createdAt"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",1),A(this,"title",'{{t("Created at")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}),A(this,"description",'{{t("Store the creation time of each record")}}'),A(this,"availableTypes",[]),A(this,"properties",x(x({},defaultProps),dateTimeProps)),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class CreatedByFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","createdBy"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",3),A(this,"title",'{{t("Created by")}}'),A(this,"isAssociation",!0),A(this,"default",{type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}),A(this,"availableTypes",["belongsTo"]),A(this,"properties",x({},defaultProps)),A(this,"filterable",{nested:!0,children:[]}),A(this,"description",'{{t("Store the creation user of each record")}}')}schemaInitialize(t,{block:o}){t.properties={viewer:(0,import_lodash.cloneDeep)(recordPickerViewer)},["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class DatetimeFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","datetime"),A(this,"type","object"),A(this,"group","datetime"),A(this,"order",1),A(this,"title",'{{t("Datetime (with time zone)")}}'),A(this,"sortable",!0),A(this,"default",{type:"date",defaultToCurrentTime:!1,onUpdateToCurrentTime:!1,timezone:!0,uiSchema:{type:"string","x-component":"DatePicker","x-component-props":{showTime:!1,utc:!0}}}),A(this,"availableTypes",["date","string","datetime","datetimeTz"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x(x({},defaultProps),dateTimeProps),{defaultToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Default value to current time")}}'},onUpdateToCurrentTime:{type:"boolean","x-decorator":"FormItem","x-component":"Checkbox","x-content":'{{t("Automatically update timestamp on update")}}'},"uiSchema.x-component-props.gmt":{type:"boolean",title:'{{t("GMT")}}',"x-hidden":!0,"x-component":"Checkbox","x-content":'{{t("Use the same time zone (GMT) for all users")}}',"x-decorator":"FormItem",default:!1}})),A(this,"filterable",{operators:datetime}),A(this,"titleUsable",!0)}}class EmailFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","email"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",4),A(this,"title",'{{t("Email")}}'),A(this,"sortable",!0),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"Input","x-validator":"email"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{unique})),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}}class IconFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","icon"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",10),A(this,"title",'{{t("Icon")}}'),A(this,"default",{type:"string",uiSchema:{type:"string","x-component":"IconPicker"}}),A(this,"availableTypes",["string"]),A(this,"hasDefaultValue",!0),A(this,"properties",x({},defaultProps))}}class IdFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","id"),A(this,"type","object"),A(this,"group","systemInfo"),A(this,"order",0),A(this,"title",'{{t("ID")}}'),A(this,"hidden",!0),A(this,"sortable",!0),A(this,"default",{name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0}}),A(this,"availableTypes",["bigInt","integer"]),A(this,"properties",{"uiSchema.title":{type:"string",title:'{{t("Field display name")}}',required:!0,default:"ID","x-decorator":"FormItem","x-component":"Input"},name:{type:"string",title:'{{t("Field name")}}',required:!0,"x-disabled":!0,"x-decorator":"FormItem","x-component":"Input",description:"{{t('Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.')}}"}}),A(this,"filterable",{operators:id}),A(this,"description",'{{t("Primary key, unique identifier, self growth") }}'),A(this,"titleUsable",!0)}}const isValidateEmpty=e=>{var t;if((0,import_shared.isArr)(e)){for(let o=0;o<e.length;o++)if((0,import_shared.isValid)(e[o]))return!1;return!0}else return e!=null&&e.getCurrentContent?!((t=e.getCurrentContent())!=null&&t.hasText()):(0,import_shared.isEmpty)(e)};(0,import_validator.registerValidateRules)({username(e){return/^[^@<>"'/]{1,50}$/.test(e)||i18n.t(`Must be 1-50 characters in length (excluding @<>"'/)`)},required(e,t){return t.required===!1?"":(typeof e=="string"&&(e=e.trim()),isValidateEmpty(e)?t.message:"")}});class InputFieldInterface extends CollectionFieldInterface{constructor(){super(...arguments),A(this,"name","input"),A(this,"type","object"),A(this,"group","basic"),A(this,"order",1),A(this,"title",'{{t("Single line text")}}'),A(this,"sortable",!0),A(this,"default",{interface:"input",type:"string",uiSchema:{type:"string","x-component":"Input"}}),A(this,"availableTypes",["string","uid"]),A(this,"hasDefaultValue",!0),A(this,"properties",P(x({},defaultProps),{trim:{type:"boolean","x-content":'{{t("Automatically remove heading and tailing spaces")}}',"x-decorator":"FormItem","x-component":"Checkbox"},layout:{type:"void",title:'{{t("Index")}}',"x-component":"Space","x-decorator":"FormItem","x-decorator-props":{style:{marginBottom:"0px"}},properties:{primaryKey,unique}}})),A(this,"filterable",{operators:string}),A(this,"titleUsable",!0)}schemaInitialize(t,{block:o}){["Table","Kanban"].includes(o)&&(t["x-component-props"]=t["x-component-props"]||{},t["x-component-props"].ellipsis=!0)}validateSchema(t){return{max:{type:"number",title:'{{ t("Max length") }}',minimum:0,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{precision:0},"x-reactions":`{{(field) => {
1481
1481
  const targetValue = field.query('.min').value();
1482
1482
  field.selfErrors =
1483
1483
  !!targetValue && !!field.value && targetValue > field.value ? '${i18n.t("Max length must greater than min length")}' : ''
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/client",
3
- "version": "1.8.24",
3
+ "version": "1.8.25",
4
4
  "license": "AGPL-3.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",
@@ -26,9 +26,9 @@
26
26
  "@formily/reactive-react": "^2.2.27",
27
27
  "@formily/shared": "^2.2.27",
28
28
  "@formily/validator": "^2.2.27",
29
- "@nocobase/evaluators": "1.8.24",
30
- "@nocobase/sdk": "1.8.24",
31
- "@nocobase/utils": "1.8.24",
29
+ "@nocobase/evaluators": "1.8.25",
30
+ "@nocobase/sdk": "1.8.25",
31
+ "@nocobase/utils": "1.8.25",
32
32
  "ahooks": "^3.7.2",
33
33
  "antd": "5.24.2",
34
34
  "antd-style": "3.7.1",
@@ -83,5 +83,5 @@
83
83
  "dumi": "2.2.14",
84
84
  "dumi-theme-nocobase": "^0.2.28"
85
85
  },
86
- "gitHead": "e3907742d0f42d21943f7807bb254838fafd5fff"
86
+ "gitHead": "a2fdd2e7b6242b82c312dc6c3c90670fec2c9a1c"
87
87
  }