@nocobase/client 1.8.11 → 1.8.13
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/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=W(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:()=>q(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 q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(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)(()=>{q(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.11",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.11","@nocobase/sdk":"1.8.11","@nocobase/utils":"1.8.11",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=>q(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=>q(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=>q(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=>q(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=>q(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 q(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=W(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=()=>q(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)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(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)=>q(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)=>q(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=W(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:()=>q(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 q(this,null,function*(){})}beforeLoad(){return q(this,null,function*(){})}load(){return q(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)(()=>{q(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.13",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.13","@nocobase/sdk":"1.8.13","@nocobase/utils":"1.8.13",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=>q(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=>q(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=>q(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=>q(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=>q(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 q(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=W(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=()=>q(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)=>q(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>q(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)=>q(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)=>q(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(O,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),B=(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,B=["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"),": ",B||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,B=useRefreshFieldSchema(),w=(0,import_react2.useRef)(b("Reference template")),L=(0,import_react2.useCallback)(()=>{B({refreshParentSchema:!0})},[B]),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:$}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:M,exists:I}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),N=useGridRowContext(),O=useGridContext(),E=(0,import_react2.useMemo)(()=>{var K;return{insertPosition:"afterEnd",wrap:((K=N==null?void 0:N.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=N==null?void 0:N.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 M(E);if(O!=null&&O.InitializerComponent||O!=null&&O.renderSchemaInitializer)return O!=null&&O.InitializerComponent?(0,import_jsx_runtime.jsx)(O.InitializerComponent,x({},E)):(K=O.renderSchemaInitializer)==null?void 0:K.call(O,E)},[O,i,E,I,M]),z=(0,import_react2.useMemo)(()=>n!==!1&&$?R():null,[$,R,n]),G=(0,import_react2.useRef)(null),Y="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(Y),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function te(){var ee;K&&(K.classList.add(Y),(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",Y),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}),z]})})]})});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,B=(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:B,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,B,w;const L=(w=(B=(T=k.active)==null?void 0:T.data)==null?void 0:B.current)==null?void 0:w.dividerRef;if(!L||!l)return;n.current=k.active.id;const D=L.current,R=D.previousElementSibling,$=D.nextElementSibling;j([R.clientWidth,$.clientWidth])},onDragMove(k){if(!l||!y)return;n.current===k.active.id&&(n.current=n.current+"_move");const T=m.current,B=T.previousElementSibling,w=T.nextElementSibling;B.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 B=m.current,w=B.previousElementSibling,L=B.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=B.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(w.getBoundingClientRect().width+D)/B.parentElement.clientWidth).toFixed(2),$=(100*(L.getBoundingClientRect().width+D)/B.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",$),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=>q(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,B,w,L,D,R,$;const M=(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}`]:M||d.dragSortBy,N=S||((w=(B=(T=l.parent)==null?void 0:T["x-decorator-props"])==null?void 0:B.params)==null?void 0:w.pageSize),O=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:N});I&&(O.sort=I),($=p.current)==null||$.service.run(O)},[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(B=>B.uid===T.uid))){S(T=>T.length?[]:T);return}const k=j.find(T=>T.uid===l.parent["x-uid"]);j.forEach(T=>{var B,w,L,D;const R=y.find(E=>E.uid===T.uid);if(!R)return;const $=getSourceKey(k,R.field)||d.rowKey||"id",M=[C[$]],I=((B=T.service.params)==null?void 0:B[0])||{},N=((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 N[F]}else N[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:M}}]};const O=mergeFilter([...Object.values(N).map(E=>removeNullCondition(E)),T.defaultFilter]);return T.doFilter(P(x({},I),{page:1,filter:O}),{filters:N})}),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((b,y)=>b.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);return(0,import_react2.useEffect)(()=>{var b;if(!d)return;const y=l(d);if(setFieldProps$1(c,"content",y["x-content"]),setFieldProps$1(c,"title",y.title),setFieldProps$1(c,"description",y.description),C!=null&&C.form){const j=g()?u.default||p:void 0;j!=null&&setFieldProps$1(c,"initialValue",j)}if(!c.validator&&(y["x-validator"]||u["x-validator"])){const j=(0,import_lodash.concat)([],y["x-validator"]||[],u["x-validator"]||[]);c.validator=j}u["x-disabled"]===!0&&(c.disabled=!0),u["x-read-pretty"]===!0&&(c.readPretty=!0),setRequired$1(c,u,y),c.dataSource=y.enum,c.data=c.data||{},c.data.dataSource=y==null?void 0:y.enum;const F=l(x(x(x({},((b=f==null?void 0:f.schema)==null?void 0:b["x-component-props"])||{}),y["x-component-props"]||{}),(u==null?void 0:u["x-component-props"])||{}))||{};c.componentProps=(0,import_shared.merge)(c.componentProps||{},F,S||{})},[d]),d?(0,import_jsx_runtime.jsx)(v,x(x({},e),S)):null},FilterCollectionField=(0,import_react.connect)(e=>{const t=(0,import_react.useFieldSchema)();return(0,import_react.useField)(),(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 q(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 q(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return q(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 q(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 q(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,B,w,L,D,R,$,M,I,N;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const O=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(E=>E);f.value=O,(T=f==null?void 0:f.setInitialValue)==null||T.call(f,O),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(L=(w=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:w.meta)==null?void 0:L.pageSize,f.componentProps.pagination.total=($=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:$.count,f.componentProps.pagination.current=(N=(I=(M=v==null?void 0:v.service)==null?void 0:M.data)==null?void 0:I.meta)==null?void 0:N.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 q(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 q(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=>q(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=>q(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=>q(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)(()=>q(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 q(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 q(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 q(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 q(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=W(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=W(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=>q(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,B=["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"),": ",B||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,B=useRefreshFieldSchema(),w=(0,import_react2.useRef)(b("Reference template")),L=(0,import_react2.useCallback)(()=>{B({refreshParentSchema:!0})},[B]),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:$}=useSchemaSettingsRender(n||(o==null?void 0:o["x-settings"]),o==null?void 0:o["x-settings-props"]),{render:M,exists:I}=useSchemaInitializerRender(i||(o==null?void 0:o["x-initializer"]),o==null?void 0:o["x-initializer-props"]),N=useGridRowContext(),O=useGridContext(),E=(0,import_react2.useMemo)(()=>{var K;return{insertPosition:"afterEnd",wrap:((K=N==null?void 0:N.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=N==null?void 0:N.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 M(E);if(O!=null&&O.InitializerComponent||O!=null&&O.renderSchemaInitializer)return O!=null&&O.InitializerComponent?(0,import_jsx_runtime.jsx)(O.InitializerComponent,x({},E)):(K=O.renderSchemaInitializer)==null?void 0:K.call(O,E)},[O,i,E,I,M]),z=(0,import_react2.useMemo)(()=>n!==!1&&$?R():null,[$,R,n]),G=(0,import_react2.useRef)(null),Y="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(Y),(ee=e.onVisibleChange)==null||ee.call(e,!0))}function te(){var ee;K&&(K.classList.add(Y),(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",Y),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}),z]})})]})});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,B=(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:B,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,B,w;const L=(w=(B=(T=k.active)==null?void 0:T.data)==null?void 0:B.current)==null?void 0:w.dividerRef;if(!L||!l)return;n.current=k.active.id;const D=L.current,R=D.previousElementSibling,$=D.nextElementSibling;j([R.clientWidth,$.clientWidth])},onDragMove(k){if(!l||!y)return;n.current===k.active.id&&(n.current=n.current+"_move");const T=m.current,B=T.previousElementSibling,w=T.nextElementSibling;B.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 B=m.current,w=B.previousElementSibling,L=B.nextElementSibling;_["x-component-props"]=_["x-component-props"]||{},f["x-component-props"]=f["x-component-props"]||{};const D=B.clientWidth*(e.cols.length+1)/e.cols.length,R=(100*(w.getBoundingClientRect().width+D)/B.parentElement.clientWidth).toFixed(2),$=(100*(L.getBoundingClientRect().width+D)/B.parentElement.clientWidth).toFixed(2);import_lodash.default.set(_,"x-component-props.width",R),import_lodash.default.set(f,"x-component-props.width",$),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=>q(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,B,w,L,D,R,$;const M=(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}`]:M||d.dragSortBy,N=S||((w=(B=(T=l.parent)==null?void 0:T["x-decorator-props"])==null?void 0:B.params)==null?void 0:w.pageSize),O=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:N});I&&(O.sort=I),($=p.current)==null||$.service.run(O)},[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(B=>B.uid===T.uid))){S(T=>T.length?[]:T);return}const k=j.find(T=>T.uid===l.parent["x-uid"]);j.forEach(T=>{var B,w,L,D;const R=y.find(E=>E.uid===T.uid);if(!R)return;const $=getSourceKey(k,R.field)||d.rowKey||"id",M=[C[$]],I=((B=T.service.params)==null?void 0:B[0])||{},N=((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 N[F]}else N[F]={$and:[{[R.field||d.rowKey]:{[R.field?"$in":"$eq"]:M}}]};const O=mergeFilter([...Object.values(N).map(E=>removeNullCondition(E)),T.defaultFilter]);return T.doFilter(P(x({},I),{page:1,filter:O}),{filters:N})}),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 q(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 q(this,null,function*(){console.log("get",t);const{filterByTk:o}=t;return{data:{data:this.field.data.dataSource[o]}}})}create(t){return q(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 q(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 q(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,B,w,L,D,R,$,M,I,N;if(!((F=v==null?void 0:v.service)!=null&&F.loading)){const O=(k=(j=v==null?void 0:v.service)==null?void 0:j.data)==null?void 0:k.data.map(E=>E);f.value=O,(T=f==null?void 0:f.setInitialValue)==null||T.call(f,O),f.data=f.data||{},f.data.selectedRowKeys=[],f.componentProps.pagination=f.componentProps.pagination||{},f.componentProps.pagination.pageSize=(L=(w=(B=v==null?void 0:v.service)==null?void 0:B.data)==null?void 0:w.meta)==null?void 0:L.pageSize,f.componentProps.pagination.total=($=(R=(D=v==null?void 0:v.service)==null?void 0:D.data)==null?void 0:R.meta)==null?void 0:$.count,f.componentProps.pagination.current=(N=(I=(M=v==null?void 0:v.service)==null?void 0:M.data)==null?void 0:I.meta)==null?void 0:N.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 q(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 q(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=>q(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=>q(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=>q(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)(()=>q(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 q(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 q(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 q(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 q(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=W(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=W(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=>q(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
|
}
|
|
@@ -683,7 +683,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
683
683
|
console.error(error);
|
|
684
684
|
return false;
|
|
685
685
|
}
|
|
686
|
-
}}}`,message:'{{t("Invalid JSON format")}}'},requestSettingsSchema={type:"object",properties:{url:{type:"string",title:'{{t("Request URL")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},method:{type:"string",title:'{{t("Request method")}}',"x-decorator":"FormItem","x-component":"Select",default:"POST",enum:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},headers:{type:"string",title:'{{t("Request headers")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},params:{type:"string",title:'{{t("Request query parameters")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},data:{type:"string",title:'{{t("Request body")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1}}},linkageAction=(e,t)=>q(void 0,[e,t],function*({operator:o,field:r,condition:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u){var m,d,p;const h=((m=r==null?void 0:r.stateOfLinkageRules)==null?void 0:m.disabled)||[!1],g=((d=r==null?void 0:r.stateOfLinkageRules)==null?void 0:d.display)||["visible"];switch(o){case ActionType.Visible:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))&&(g.push(o),r.data=r.data||{},r.data.hidden=!1),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{display:g}),r.display=(0,import_lodash.last)(g);break;case ActionType.Hidden:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))?(r.data=r.data||{},r.data.hidden=!0):(r.data=r.data||{},r.data.hidden=!1);break;case ActionType.Disabled:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))&&h.push(!0),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:h}),r.disabled=(0,import_lodash.last)(h),r.componentProps.disabled=(0,import_lodash.last)(h);break;case ActionType.Active:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))?h.push(!1):h.push(!!((p=r.componentProps)!=null&&p.disabled)),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:h}),r.disabled=(0,import_lodash.last)(h),r.componentProps.disabled=(0,import_lodash.last)(h);break;default:return null}}),setInitialActionState=e=>{e.data=e.data||{},e.display="visible",e.disabled=!1,e.data.hidden=!1,e.componentProps.disabled=!1},MenuGroup=e=>e.children;function ButtonEditor$1(e){var t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(e==null?void 0:e.isLink)||l["x-component"]==="Action.Link";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:u("Edit button"),schema:{type:"object",title:u("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:u("Button title"),default:l.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:u("Button icon"),default:(t=l==null?void 0:l["x-component-props"])==null?void 0:t.icon,"x-component-props":{}},onlyIcon:{"x-decorator":"FormItem","x-component":"Checkbox",title:u("Icon only"),default:(o=l==null?void 0:l["x-component-props"])==null?void 0:o.onlyIcon,"x-component-props":{},"x-visible":m,"x-reactions":[{dependencies:["icon"],fulfill:{state:{hidden:"{{!$deps[0]}}"}}}]},iconColor:{title:u("Color"),required:!0,default:((r=l==null?void 0:l["x-component-props"])==null?void 0:r.iconColor)||"#1677FF","x-hidden":!e.hasIconColor,"x-component":"ColorPicker","x-decorator":"FormItem"},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:u("Button background color"),default:(i=l==null?void 0:l["x-component-props"])!=null&&i.danger?"danger":((n=l==null?void 0:l["x-component-props"])==null?void 0:n.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}],"x-visible":!e.hasIconColor&&!m}}},onSubmit:({title:d,icon:p,type:h,iconColor:g,onlyIcon:_})=>{a.address.toString()===l.name?(a.title=d,a.componentProps.iconColor=g,a.componentProps.icon=p,a.componentProps.danger=h==="danger",a.componentProps.type=h||a.componentProps.type,a.componentProps.onlyIcon=_):a.form.query(new RegExp(`.${l.name}$`)).forEach(f=>{f.title=d,f.componentProps.iconColor=g,f.componentProps.icon=p,f.componentProps.danger=h==="danger",f.componentProps.type=h||f.componentProps.type,f.componentProps.onlyIcon=_}),l.title=d,l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].iconColor=g,l["x-component-props"].icon=p,l["x-component-props"].danger=h==="danger",l["x-component-props"].type=h||a.componentProps.type,l["x-component-props"].onlyIcon=_,c.emit("patch",{schema:{"x-uid":l["x-uid"],title:d,"x-component-props":x({},l["x-component-props"])}}),c.refresh()}})}function AssignedFieldValues(){var e,t,o;const{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),a={type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid","x-initializer":"assignFieldValuesForm:configureFields"};n["x-template-uid"]&&(a["x-template-root-ref"]={"x-template-uid":n["x-template-uid"],"x-path":"x-action-settings.schemaUid"});const l={"customize:update":i("After clicking the custom button, the following fields of the current record will be saved according to the following form."),"customize:save":i("After clicking the custom button, the following fields of the current record will be saved according to the following form.")},c=(e=n["x-action"])!=null?e:"",u=(0,import_react2.useCallback)(m=>{n["x-action-settings"].assignedValues=m,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}})},[r,n]);return(0,import_jsx_runtime.jsx)(FlagProvider,{isInAssignFieldValues:!0,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:i("Assign field values"),initialSchema:a,initialValues:(t=n==null?void 0:n["x-action-settings"])==null?void 0:t.assignedValues,modalTip:l[c],uid:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.schemaUid,onSubmit:u})})})}function RequestSettings(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:o("Request settings"),schema:requestSettingsSchema,initialValues:(e=r==null?void 0:r["x-action-settings"])==null?void 0:e.requestSettings,onSubmit:i=>{r["x-action-settings"].requestSettings=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}}),t.refresh()}})}function SkipValidation(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Skip required validation"),checked:!!((e=r==null?void 0:r["x-action-settings"])!=null&&e.skipValidator),onChange:i=>{r["x-action-settings"].skipValidator=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":x({},r["x-action-settings"])}})}})}const fieldNames={value:"value",label:"label"},useVariableProps=e=>{const t=useAfterSuccessOptions();return{scope:[e,...t].filter(Boolean),fieldNames}},hideDialog=e=>{const t=document.querySelector(`.${e} > .ant-modal-mask`),o=document.querySelector(`.${e} > .ant-modal-wrap`);t&&(t.style.opacity="0",t.style.transition="opacity 0.5s ease"),o&&(o.style.opacity="0",o.style.transition="opacity 0.5s ease")},showDialog=e=>{const t=document.querySelector(`.${e} > .ant-modal-mask`),o=document.querySelector(`.${e} > .ant-modal-wrap`);t&&(t.style.opacity="1",t.style.transition="opacity 0.5s ease"),o&&(o.style.opacity="1",o.style.transition="opacity 0.5s ease")},BlocksSelector=e=>{const{getAllDataBlocks:t}=useAllDataBlocks(),o=t(),r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react2.useMemo)(()=>o.map(a=>{var l;return(l=a.dom)!=null&&l.isConnected?{label:`${r(a.collection.title)} #${a.uid.slice(0,4)}`,value:a.uid,onMouseEnter(){a.highlightBlock(),hideDialog("dialog-after-successful-submission"),startScrollEndTracking(a.dom,()=>{highlightBlock(a.dom.cloneNode(!0),a.dom.getBoundingClientRect())})},onMouseLeave(){a.unhighlightBlock(),showDialog("dialog-after-successful-submission"),stopScrollEndTracking(a.dom),unhighlightBlock()}}:null}).filter(Boolean),[o,i]);return(0,import_jsx_runtime.jsx)(import_antd.Select,{value:e.value,mode:"multiple",allowClear:!0,placeholder:i("Select data blocks to refresh"),options:n,onChange:e.onChange})};function AfterSuccess(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{onSuccess:i}=(r==null?void 0:r["x-action-settings"])||{},n=useGlobalVariable("$env"),a=usePlugin("@nocobase/plugin-block-template"),l=(e=a==null?void 0:a.isInBlockTemplateConfigPage)==null?void 0:e.call(a);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:o("After successful submission"),initialValues:i?x({actionAfterSuccess:i!=null&&i.redirecting?"redirect":"previous"},i):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:o("After successful submission"),properties:{successMessage:{title:o("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:o("Message popup close method"),enum:[{label:o("Automatic close"),value:!1},{label:o("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:o("Then"),"x-hidden":!0,enum:[{label:o("Stay on current page"),value:!1},{label:o("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:o("Action after successful submission"),enum:[{label:o("Stay on the current popup or page"),value:"stay"},{label:o("Return to the previous popup or page"),value:"previous"},{label:o("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:o("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":()=>useVariableProps(n)},blocksToRefresh:{type:"array",title:o("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":()=>({tooltip:o("After successful submission, the selected data blocks will be automatically refreshed.")}),"x-component":BlocksSelector,"x-hidden":l}}},onSubmit:c=>{r["x-action-settings"].onSuccess=c,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}})}})}function RemoveButton(e={}){const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)();return(o==null?void 0:o.parent["x-component"])!=="CollectionField"&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:r=>r["x-component"]==="Space"||r["x-component"].endsWith("ActionBar"),disabled:e.disabled,confirm:{title:t("Delete action"),onOk:e.onConfirmOk}})]})}const actionSettingsItems=[{name:"Customize",Component:MenuGroup,children:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:e=>(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},e)),useVisible(){const e=useLinkageAction(),{linkageAction:t}=useSchemaToolbar();return t||e},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),t=(0,import_react.useFieldSchema)(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o&&!e,openSize:o&&!e}}},{name:"secondConFirm",Component:SecondConFirm,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return!["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"")&&!((e=t==null?void 0:t["x-action-settings"])!=null&&e.disableSecondConFirm)}},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.assignedValues)}},{name:"requestSettings",Component:RequestSettings,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.requestSettings)}},{name:"skipValidator",Component:SkipValidation,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.skipValidator)}},{name:"afterSuccess",Component:AfterSuccess,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.onSuccess)}},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getChildrenCollections:o}=useCollectionManager_deprecated();return o(t).length>0&&e["x-action"]==="create"},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.triggerWorkflows)}},{type:"switch",name:"clearDefaultValue",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Clear default value"),checked:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.clearDefaultValue,onChange:i=>{r.deepMerge({"x-uid":o["x-uid"],"x-component-props":{clearDefaultValue:i}})}}},useVisible(){return(0,import_react.useFieldSchema)()["x-use-component-props"]==="useResetBlockActionProps"}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.removable)!==!1}}]}],useSecondConFirmVariables=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useForm)(),o=useCollectionRecordData();return useVariableOptions({collectionField:{uiSchema:e},form:t,record:o,uiSchema:e,noDisabled:!0})};function SecondConFirm(){var e,t,o,r,i,n,a,l,c,u,m,d;const{dn:p}=useDesignable(),h=(0,import_react.useFieldSchema)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useField)(),f=useCompile();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:g("Secondary confirmation"),initialValues:{title:g((t=(e=h==null?void 0:h["x-component-props"])==null?void 0:e.confirm)==null?void 0:t.title,{title:f(h.title)})||f((r=(o=h==null?void 0:h["x-component-props"])==null?void 0:o.confirm)==null?void 0:r.title)||g("Perform the {{title}}",{title:f(h.title)}),content:g((n=(i=h==null?void 0:h["x-component-props"])==null?void 0:i.confirm)==null?void 0:n.content,{title:f(h.title)})||f((l=(a=h==null?void 0:h["x-component-props"])==null?void 0:a.confirm)==null?void 0:l.content)||g("Are you sure you want to perform the {{title}} action?",{title:f(h.title)})},schema:{type:"object",title:g("Secondary confirmation"),properties:{enable:{"x-decorator":"FormItem","x-component":"Checkbox","x-content":g("Enable secondary confirmation"),default:((u=(c=h==null?void 0:h["x-component-props"])==null?void 0:c.confirm)==null?void 0:u.enable)!==!1&&!!((d=(m=h==null?void 0:h["x-component-props"])==null?void 0:m.confirm)!=null&&d.content),"x-component-props":{}},title:{"x-decorator":"FormItem","x-component":"Variable.RawTextArea",title:g("Title"),"x-component-props":{scope:useSecondConFirmVariables},"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}},content:{"x-decorator":"FormItem","x-component":"Variable.RawTextArea",title:g("Content"),"x-component-props":{scope:useSecondConFirmVariables},"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}}}},onSubmit:({enable:v,title:C,content:S})=>{var b;h["x-component-props"]=h["x-component-props"]||{},h["x-component-props"].confirm={},h["x-component-props"].confirm.enable=v,h["x-component-props"].confirm.title=C,h["x-component-props"].confirm.content=S,_.componentProps.confirm=x({},(b=h["x-component-props"])==null?void 0:b.confirm),p.emit("patch",{schema:{"x-uid":h["x-uid"],"x-component-props":x({},h["x-component-props"])}}),p.refresh()}})}const actionSettings=new SchemaSettings({name:"ActionSettings",items:actionSettingsItems}),ActionDesigner=e=>{const t=e,{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a,schemaSettings:l="ActionSettings",enableDrag:c=!0}=t,u=W(t,["modalTip","linkageAction","removeButtonProps","buttonEditorProps","linkageRulesProps","schemaSettings","enableDrag"]),m=useApp(),d=(0,import_react.useFieldSchema)(),p=(d==null?void 0:d.parent["x-component"])!=="CollectionField"&&c,h=`ActionSettings:${d["x-action"]}`,g=l||"ActionSettings",_=m.schemaSettingsManager.has(h);return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,P(x({schemaSettings:_?h:g,contextValue:{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a}},u),{disableInitializer:!0,draggable:p}))};function RefreshDataBlockRequest(e){const{dn:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{refreshDataBlockRequest:i}=(o==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:r("Refresh data on action"),checked:i!==!1,onChange:n=>{o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].refreshDataBlockRequest=n,t.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}})}})}ActionDesigner.ButtonEditor=ButtonEditor$1;ActionDesigner.RemoveButton=RemoveButton;const addChildActionSettings=new SchemaSettings({name:"actionSettings:addChild",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"delete",type:"remove"}]}),addNewActionSettings=new SchemaSettings({name:"actionSettings:addNew",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}},useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeAddRecordActionSettings=new SchemaSettings({name:"actionSettings:addRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),associateActionSettings=new SchemaSettings({name:"actionSettings:associate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]}),bulkDeleteActionSettings=new SchemaSettings({name:"actionSettings:bulkDelete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),deleteActionSettings=new SchemaSettings({name:"actionSettings:delete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",type:"remove"}]}),disassociateActionSettings=new SchemaSettings({name:"actionSettings:disassociate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]});function ButtonEditor(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),{titleExpand:a,titleCollapse:l,iconExpand:c,iconCollapse:u}=r["x-component-props"]||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{titleExpand:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Expand all")}`,default:a},titleCollapse:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Collapse all")}`,default:l},iconExpand:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Expand all")}`,default:c},iconCollapse:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Collapse all")}`,default:u},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:n("Button background color"),default:(e=r==null?void 0:r["x-component-props"])!=null&&e.danger?"danger":((t=r==null?void 0:r["x-component-props"])==null?void 0:t.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}]}}},onSubmit:({titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:h,type:g})=>{r.title=n("Expand/Collapse"),o.title=n("Expand/Collapse"),o.componentProps.icon=p,o.componentProps.danger=g==="danger",o.componentProps.type=g,r["x-component-props"]=P(x({},r["x-component-props"]||{}),{titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:h,type:g,danger:g==="danger"}),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"],title:r.title}}),i.refresh()}})}const expendableActionSettings=new SchemaSettings({name:"actionSettings:expendable",items:[{name:"editButton",Component:ButtonEditor,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),filterActionSettings=new SchemaSettings({name:"actionSettings:filter",items:[{name:"FilterableFields",Component:FilterableFieldsSchemaSettingsItem},{name:"divider",type:"divider"},{name:"EditButton",type:"modal",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:n("Button title"),default:r.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:n("Button icon"),default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.icon,"x-component-props":{}},onlyIcon:{"x-decorator":"FormItem","x-component":"Checkbox",title:n("Icon only"),default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.onlyIcon,"x-component-props":{},"x-reactions":[{dependencies:["icon"],fulfill:{state:{hidden:"{{!$deps[0]}}"}}}]}}},onSubmit:({title:a,icon:l,onlyIcon:c})=>{r.title=a,o.title=a,o.componentProps.icon=l,o.componentProps.onlyIcon=c,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].icon=l,r["x-component-props"].onlyIcon=c,i.emit("patch",{schema:{"x-uid":r["x-uid"],title:a,"x-component-props":x({},r["x-component-props"])}}),i.refresh()}}}},{name:"divider2",type:"divider"},{name:"delete",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:e=>e["x-component"]==="Space"||e["x-component"]==="ActionBar"}}]}),SchemaSettingsActionLinkItem=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{urlSchema:i,paramsSchema:n,openInNewWindowSchema:a}=useURLAndHTMLSchema(),l=t["x-component-props"]||{},c={url:l.url,params:l.params||[{}],openInNewWindow:l.openInNewWindow};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit link"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Edit link"),properties:{url:P(x({},i),{required:!0}),params:n,openInNewWindow:a}},onSubmit:({url:u,params:m,openInNewWindow:d})=>{l.url=u,l.params=m,l.openInNewWindow=d,t["x-component-props"]=l,e.componentProps.url=u,e.componentProps.params=m,e.componentProps.openInNewWindow=d,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":l}}),o.refresh()},initialValues:c})},customizeLinkActionSettings=new SchemaSettings({name:"actionSettings:link",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"editLink",Component:SchemaSettingsActionLinkItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar(),{association:t}=useDataBlockProps()||{},{getCollectionField:o}=useCollectionManager_deprecated();return o(t),x({},e)}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),refreshActionSettings=new SchemaSettings({name:"actionSettings:refresh",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeSaveRecordActionSettings=new SchemaSettings({name:"actionSettings:saveRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"skipRequiredValidation",Component:SkipValidation},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),updateSubmitActionSettings=new SchemaSettings({name:"actionSettings:updateSubmit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"skipRequiredValidation",Component:SkipValidation,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),submitActionSettings=new SchemaSettings({name:"actionSettings:submit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeUpdateRecordActionSettings=new SchemaSettings({name:"actionSettings:updateRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizePopupActionSettings=new SchemaSettings({name:"actionSettings:popup",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),editActionSettings=new SchemaSettings({name:"actionSettings:edit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",type:"remove"}]}),viewActionSettings=new SchemaSettings({name:"actionSettings:view",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),commonItems$1=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,readPretty:!0,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),{service:l}=useDetailsBlockContext();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,noRecord:!0,onSubmit:({filter:c})=>{c=removeNullCondition(c);const u=n.decoratorProps.params||{};u.filter=c,n.decoratorProps.params=u,r["x-decorator-props"].params=u,a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}}),l.params[0].page=1}}}},{name:"sortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{service:a}=useDetailsBlockContext(),{dn:l}=useDesignable(),c=useSortFields(o),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:m,"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:c,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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit({sort:d}){var p;const h=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),g=n.decoratorProps.params||{};g.sort=h,n.decoratorProps.params=g,i["x-decorator-props"].params=g,l.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:h}))}}}},setDataLoadingModeSettingsItem,{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Details`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],multiDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:multiDataDetails",items:commonItems$1}),detailsWithPaginationSettings=new SchemaSettings({name:"blockSettings:detailsWithPagination",items:commonItems$1}),commonItems=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,readPretty:!0,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{insertAdjacentPosition:"beforeEnd",componentName:`${i}ReadPrettyFormItem`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],singleDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:singleDataDetails",items:commonItems}),detailsBlockSettings=new SchemaSettings({name:"blockSettings:details",items:commonItems}),createFormBlockSettings=new SchemaSettings({name:"blockSettings:createForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){var e;const{action:t}=useFormBlockContext(),o=(0,import_react.useFieldSchema)();return!t&&((e=o==null?void 0:o["x-acl-action"])==null?void 0:e.includes("create"))},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),editFormBlockSettings=new SchemaSettings({name:"blockSettings:editForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext();return!e},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentSettingsItem={name:"fieldComponent",type:"select",useVisible(){const e=useCollectionField(),t=useDataSourceManager();if(!e)return!1;const o=t.collectionFieldInterfaceManager.getFieldInterface(e==null?void 0:e.interface);return Array.isArray(o==null?void 0:o.componentOptions)&&o.componentOptions.length>1&&o.componentOptions.filter(r=>!r.useVisible||r.useVisible()).length>1},useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useCollectionField(),c=useDataSourceManager().collectionFieldInterfaceManager.getFieldInterface(l==null?void 0:l.interface),{fieldSchema:u}=useColumnSchema$1(),m=u||a,{dn:d}=useDesignable(),p=useCompile(),h=((t=(e=c==null?void 0:c.componentOptions)==null?void 0:e.filter(g=>!g.useVisible||g.useVisible()))==null?void 0:t.map(g=>({label:p(g.label),value:g.value,useProps:g.useProps})))||[];return{title:i("Field component"),options:h,value:((o=m["x-component-props"])==null?void 0:o.component)||((r=h[0])==null?void 0:r.value),onChange(g){var _;const f=h.find(S=>S.value===g),v=((_=f==null?void 0:f.useProps)==null?void 0:_.call(f))||{},C=x(x({component:g},v),g===l.uiSchema["x-component"]?l.uiSchema["x-component-props"]:{});import_lodash.default.set(m,"x-component-props",C),n.componentProps=C,d.emit("patch",{schema:{"x-uid":m["x-uid"],"x-component-props":C}})}}}},fieldSettingsFormItem=new SchemaSettings({name:"fieldSettings:FormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCompile(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(i.name)||a(i["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=n(d),i.title=d,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Display title"),checked:(e=r.decoratorProps.showTitle)!=null?e:!0,onChange(n){i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].showTitle=n,r.decoratorProps.showTitle=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":P(x({},i["x-decorator-props"]),{showTitle:n})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}})}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"required",type:"switch",useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&o},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable();return{title:e("Required"),checked:t.required,onChange(n){const a={"x-uid":o["x-uid"]};t.required=n,o.required=n,a.required=n,r.emit("patch",{schema:a}),i()}}}},{name:"setDefaultValue",useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()},Component:SchemaSettingsDefaultValue},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:e("Validation rule")},properties:{index:{type:"void","x-component":"ArrayCollapse.Index","x-component-props":{style:{lineHeight:"28px"}}},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const h={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const g=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=g,t.required=o.required,o["x-validator"]=p,h["x-validator"]=p,r.emit("patch",{schema:h}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){return useIsFieldReadPretty()},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${t}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),pageSizeOptions$2=[12,24,60,96,120],gridSizes=["xs","md","lg","xxl"],screenSizeTitleMaps={xs:"Phone device",md:"Tablet device",lg:"Desktop device",xxl:"Large screen device"},screenSizeMaps={xs:"< 768",md:"≥ 768",lg:"≥ 992",xxl:"≥ 1600"},defaultColumnCount={xs:1,md:2,lg:3,xxl:4},columnCountMarks=[1,2,3,4,6,8,12,24].reduce((e,t)=>(e[t]=t,e),{}),GridCardDesigner=()=>{var e,t,o,r,i,n,a,l;const{name:c,title:u}=useCollection_deprecated(),m=useSchemaTemplate(),{t:d}=(0,import_react_i18next.useTranslation)(),p=(0,import_react.useFieldSchema)(),{form:h}=useFormBlockContext(),g=(0,import_react.useField)(),{dn:_}=useDesignable(),f=useSortFields(c),{componentNamePrefix:v}=useBlockTemplateContext(),C=((t=(e=p==null?void 0:p["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],S=((o=p==null?void 0:p["x-decorator-props"])==null?void 0:o.resource)||((r=p==null?void 0:p["x-decorator-props"])==null?void 0:r.association),b=C==null?void 0:C.map(y=>y.startsWith("-")?{field:y.substring(1),direction:"desc"}:{field:y,direction:"asc"});return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{template:m,title:u||c,children:(0,import_jsx_runtime.jsxs)(SchemaComponentOptions,{components:{Slider:import_antd.Slider},children:[(0,import_jsx_runtime.jsx)(SetTheCountOfColumnsDisplayedInARow,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:c,defaultFilter:((n=(i=p==null?void 0:p["x-decorator-props"])==null?void 0:i.params)==null?void 0:n.filter)||{},form:h,onSubmit:({filter:y})=>{y=removeNullCondition(y),import_lodash.default.set(p,"x-decorator-props.params.filter",y),g.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:d("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:d("Set default sorting rules"),properties:{sort:{type:"array",default:b,"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:f,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:d("ASC"),value:"asc"},{label:d("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:d("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:y})=>{const F=y.map(j=>j.direction==="desc"?`-${j.field}`:j.field);import_lodash.default.set(p,"x-decorator-props.params.sort",F),g.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SetDataLoadingMode,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:d("Records per page"),value:((l=(a=g.decoratorProps)==null?void 0:a.params)==null?void 0:l.pageSize)||20,options:pageSizeOptions$2.map(y=>({value:y})),onChange:y=>{import_lodash.default.set(p,"x-decorator-props.params.pageSize",y),g.decoratorProps.params=P(x({},p["x-decorator-props"].params),{page:1}),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${v}GridCard`,collectionName:c,resourceName:S}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})})};function SetTheCountOfColumnsDisplayedInARow(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{dn:r}=useDesignable(),i=o.decoratorProps.columnCount||defaultColumnCount,n=(0,import_react2.useMemo)(()=>({"x-component":"Slider","x-decorator":"FormItem","x-component-props":{min:1,max:24,marks:columnCountMarks,tooltip:{formatter:l=>`${l}${e("Column")}`},step:null}}),[e]),a=(0,import_react2.useMemo)(()=>gridSizes.reduce((l,c)=>(l[c]=P(x({},n),{title:e(screenSizeTitleMaps[c]),description:`${e("Screen size")} ${screenSizeMaps[c]} ${e("pixels")}`}),l),{}),[n,e]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Set the count of columns displayed in a row"),initialValues:i,schema:{type:"object",title:e("Set the count of columns displayed in a row"),properties:a},onSubmit:l=>{import_lodash.default.set(t,"x-decorator-props.columnCount",l),o.decoratorProps.columnCount=l,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}})}const gridCardBlockSettings=new SchemaSettings({name:"blockSettings:gridCard",items:[{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"SetTheCountOfColumnsDisplayedInARow",Component:SetTheCountOfColumnsDisplayedInARow},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=x({},r["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=x({},i["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:pageSizeOptions$2.map(a=>({value:a})),onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}GridCard`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),listBlockSettings=new SchemaSettings({name:"blockSettings:list",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,"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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=P(x({},i["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}List`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),tableSelectorBlockSettings=new SchemaSettings({name:"blockSettings:tableSelector",items:[{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps:()=>{var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{form:n}=useFormBlockContext(),{service:a,extraFilter:l}=useTableSelectorContext(),{dn:c}=useDesignable(),u=useDataLoadingMode(),m=(0,import_react2.useCallback)(({filter:d})=>{d=removeNullCondition(d);const p=r.decoratorProps.params||{};p.filter=d,r.decoratorProps.params=p,i["x-decorator-props"].params=p,(0,import_lodash.cloneDeep)(d),c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})},[r.decoratorProps,i,l,u,c,a]);return{collectionName:o,defaultFilter:((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:n,onSubmit:m}}},{name:"treeTable",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{service:o}=useTableSelectorContext(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Tree table"),defaultChecked:!0,checked:e.decoratorProps.treeTable,onChange:n=>{var a;e.form.clearFormGraph(`${e.address}.*`),e.decoratorProps.treeTable=n,t["x-decorator-props"].treeTable=n;const l=P(x({},(a=o.params)==null?void 0:a[0]),{tree:n?!0:null});i.emit("patch",{schema:t}),i.refresh(),o.run(l)}}},useVisible:()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)(),o=useCollection_deprecated(),r=recursiveParent(t,"CollectionField"),i=e(r==null?void 0:r["x-collection-field"]);return(o==null?void 0:o.tree)&&(i==null?void 0:i.target)===(i==null?void 0:i.collectionName)}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useSortFields(o),{service:a}=useTableSelectorContext(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c}=useDesignable(),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{var p;const h=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),g=r.decoratorProps.params||{};g.sort=h,r.decoratorProps.params=g,i["x-decorator-props"].params=g,c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:h}))}}},useVisible(){const e=(0,import_react.useField)(),{dragSort:t}=e.decoratorProps;return!t}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableSelectorContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),useCollection_deprecated=()=>{var e;const t=useCollection(),o=useAPIClient(),r=o==null?void 0:o.resource(t==null?void 0:t.name),i=(0,import_react2.useMemo)(()=>(t==null?void 0:t.fields)||[],[t]),n=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getInheritedFields)==null?void 0:d.call(t))||[]},[t]),a=(0,import_react2.useMemo)(()=>{var d,p;return((d=t==null?void 0:t.getAllFields)==null?void 0:d.call(t))||((p=t==null?void 0:t.getFields)==null?void 0:p.call(t))||[]},[t]),l=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getForeignKeyFields)==null?void 0:d.call(t))||[]},[t]),c=(0,import_react2.useCallback)(()=>a==null?void 0:a.find(d=>d.treeParent),[a]),u=(0,import_react2.useCallback)(d=>{var p;return(p=t==null?void 0:t.getField)==null?void 0:p.call(t,d)},[t]),m=(0,import_react2.useCallback)(()=>t==null?void 0:t.getPrimaryKey(),[t]);return P(x({},(e=t==null?void 0:t.getOptions)==null?void 0:e.call(t)),{resource:r,getTreeParentField:c,fields:a,getField:u,getPrimaryKey:m,currentFields:i,inheritedFields:n,foreignKeyFields:l})};function SchemaSettingsSortField(){const{fields:e}=useCollection_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useCompile(),{service:a,association:l}=useTableBlockContext(),{getCollectionJoinField:c}=useCollectionManager_deprecated(),u=c(l),m=e.filter(d=>!(d!=null&&d.target)&&d.interface==="sort").map(d=>{var p;return{value:d==null?void 0:d.name,label:n((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||(d==null?void 0:d.name),disabled:(d==null?void 0:d.scopeKey)&&(u==null?void 0:u.foreignKey)!==d.scopeKey}});return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Drag and drop sorting field"),options:m,value:t.decoratorProps.dragSortBy,onChange:d=>{var p;o["x-decorator-props"].dragSortBy=d,a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:d})),t.decoratorProps.dragSortBy=d,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"sort-field")}const enabledIndexColumn$1={name:"enableIndexColumn",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Enable index column"),checked:e.decoratorProps.enableIndexColumn!==!1,onChange:i=>q(void 0,null,function*(){e.decoratorProps=e.decoratorProps||{},e.decoratorProps.enableIndexColumn=i,t["x-decorator-props"].enableIndexColumn=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})})}}},tableBlockSettings=new SchemaSettings({name:"blockSettings:table",items:[{name:"editBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"treeTable",type:"switch",useComponentProps:()=>{var e;const{getCollectionField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{service:n}=useTableBlockContext(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCollection_deprecated(),{resource:u}=r.decoratorProps,m=u&&t(u),d=u!=null&&u.includes(".")?(e=o(m==null?void 0:m.target))==null?void 0:e.tree:!!(c!=null&&c.tree);return{title:a("Tree table"),defaultChecked:!0,checked:d?r.decoratorProps.treeTable:!1,onChange:p=>{var h;r.decoratorProps.treeTable=p,i["x-decorator-props"].treeTable=p,p===!1&&(i["x-decorator-props"].expandFlag=!1);const g=P(x({},(h=n.params)==null?void 0:h[0]),{tree:p?!0:null});l.emit("patch",{schema:i}),l.refresh(),n.run(g)}}},useVisible:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=useCollection_deprecated(),{resource:r}=t.decoratorProps,i=r&&e(r);return(o==null?void 0:o.tree)&&(i==null?void 0:i.collectionName)===(i==null?void 0:i.target)}},createSwitchSettingsItem({name:"expandFlag",title:e=>e("Expand All"),defaultValue:!1,schemaKey:"x-decorator-props.expandFlag",useVisible(){return(0,import_react.useField)().decoratorProps.treeTable}}),{name:"enableDragAndDropSorting",type:"switch",useComponentProps:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{service:r}=useTableBlockContext(),{t:i}=(0,import_react_i18next.useTranslation)(),{dn:n}=useDesignable(),{resource:a}=t.decoratorProps,l=a&&e(a),c=useAPIClient();return{title:i("Enable drag and drop sorting"),checked:t.decoratorProps.dragSort,onChange:u=>q(void 0,null,function*(){var m,d,p;if(u&&l){const{data:h}=yield c.resource("collections.fields",l.collectionName).update({filterByTk:l.name,values:{sortable:!0}}),g=(d=(m=h==null?void 0:h.data)==null?void 0:m[0])==null?void 0:d.sortBy;o["x-decorator-props"].dragSortBy=g}t.decoratorProps.dragSort=u,o["x-decorator-props"].dragSort=u,r.run(P(x({},(p=r.params)==null?void 0:p[0]),{sort:o["x-decorator-props"].dragSortBy})),n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}})})}}},{name:"SortField",Component:SchemaSettingsSortField,useVisible(){return(0,import_react.useField)().decoratorProps.dragSort}},enabledIndexColumn$1,setTheDataScopeSchemaSettingsItem,setDefaultSortingRulesSchemaSettingsItem,setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableBlockContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"tableSize",type:"select",useComponentProps(){var e;(0,import_react.useField)();const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=t.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2")return a},null);return{title:o("Table size"),value:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.size)||"small",options:[{label:o("Large"),value:"large"},{label:o("Middle"),value:"middle"},{label:o("Small"),value:"small"}],onChange:n=>{i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].size=n,r.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.TABLE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider",sort:7e3,useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"ConvertReferenceToDuplicate",sort:8e3,Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Table`,collectionName:o,resourceName:n}},useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"divider2",type:"divider",sort:9e3},{name:"delete",type:"remove",sort:1e4,useComponentProps:()=>({removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})}]}),tableColumnSettings=new SchemaSettings({name:"fieldSettings:TableColumn",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},children:[{name:"customColumnTitle",type:"modal",useComponentProps(){var e;const{fieldSchema:t,collectionField:o}=useColumnSchema$1(),r=(0,import_react.useField)(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),{dn:a}=useDesignable();return{title:i("Custom column title"),schema:{type:"object",title:i("Custom column title"),properties:{title:{title:i("Column title"),default:n==null?void 0:n.title,description:`${i("Original field title: ")}${((e=o==null?void 0:o.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{r.title=l,n.title=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),a.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.tooltip)||"","x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.componentProps.tooltip=n,i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){var e,t;const{fieldSchema:o}=useColumnSchema$1(),{isInSubTable:r}=useFlag(),i=(0,import_react.useField)();if(!r)return!0;const n=(t=i.path)==null?void 0:t.splice(((e=i.path)==null?void 0:e.length)-1,1);return o?i.form.query(`${n.concat("*."+o.name)}`).get("readPretty"):!1},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"columnWidth",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:o("Column width"),schema:{type:"object",title:o("Column width"),properties:{width:{default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:n})=>{const a=r["x-component-props"]||{};a.width=n;const l={"x-uid":r["x-uid"]};l["x-component-props"]=a,r["x-component-props"]=a,t.componentProps.width=n,i.emit("patch",{schema:l}),i.refresh()}}}},{name:"sortable",type:"switch",useVisible(){const e=useCollection(),{collectionField:t}=useColumnSchema$1(),{getInterface:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.interface),{currentMode:i}=useAssociationFieldContext();return(r==null?void 0:r.sortable)===!0&&!i&&((e==null?void 0:e.name)===(t==null?void 0:t.collectionName)||!(t!=null&&t.collectionName)||(t==null?void 0:t.inherit))},useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Sortable"),checked:e.componentProps.sorter,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{sorter:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.sorter=i,r.emit("patch",{schema:n}),r.refresh()}}}},{name:"setDefaultValue",useVisible(){const{fieldSchema:e}=useColumnSchema$1();return e?!(e!=null&&e["x-read-pretty"]):!1},Component:SchemaSettingsDefaultValue,useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}}},{name:"required",type:"switch",useVisible(){const{uiSchema:e,fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useField)();return t?["QuickEdit","FormItem"].includes(t["x-decorator"])&&!o.readPretty&&!(e!=null&&e["x-read-pretty"]):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{key:"required",title:o("Required"),checked:e==null?void 0:e.required,onChange:i=>{var n,a;if(!e)return console.error("fieldSchema is required");const l={"x-uid":e["x-uid"]};e.required=i,l.required=i;const c=(a=t.path)==null?void 0:a.splice(((n=t.path)==null?void 0:n.length)-1,1);t.form.query(`${c.concat("*."+e.name)}`).forEach(u=>{u.required=i}),r.emit("patch",{schema:l}),r.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{fieldSchema:e,collectionField:t}=useColumnSchema$1(),o=(0,import_react.useField)();return e?["QuickEdit","FormItem"].includes(e["x-decorator"])&&!(o!=null&&o.readPretty)&&(t==null?void 0:t.interface)!=="o2m"&&!isPatternDisabled(e):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();let i="editable";return e?(e["x-disabled"]===!0&&(i="readonly"),e["x-read-pretty"]===!0&&(i="read-pretty"),{key:"pattern",title:o("Pattern"),options:[{label:o("Editable"),value:"editable"},{label:o("Readonly"),value:"readonly"},{label:o("Easy-reading"),value:"read-pretty"}],value:i,onChange:n=>{var a,l;const c={"x-uid":e["x-uid"]},u=(l=t.path)==null?void 0:l.splice(((a=t.path)==null?void 0:a.length)-1,1);switch(n){case"readonly":{e["x-read-pretty"]=!1,e["x-disabled"]=!0,c["x-read-pretty"]=!1,c["x-disabled"]=!0,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readonly=!0,m.disabled=!0});break}case"read-pretty":{e["x-read-pretty"]=!0,e["x-disabled"]=!1,c["x-read-pretty"]=!0,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!0});break}default:{e["x-read-pretty"]=!1,e["x-disabled"]=!1,c["x-read-pretty"]=!1,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!1,m.disabled+!1});break}}r.emit("patch",{schema:c}),r.refresh()}}):console.error("fieldSchema is required")}},{name:"fixed",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Fixed"),options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}],value:((e=o.componentProps)==null?void 0:e.fixed)||"none",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].fixed=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.fixed=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"hidden",type:"switch",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:(0,import_jsx_runtime.jsxs)("span",{children:[t("Hide column"),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:t("In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect."),children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{marginLeft:4,opacity:.65}})})]}),checked:e.componentProps.columnHidden,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{columnHidden:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.columnHidden=i,r.emit("patch",{schema:n}),r.refresh()}}}},fieldComponentSettingsItem]},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o={Select:"Select",DatePicker:"DatePicker",Nester:"Nester",SubTable:"SubTable",Picker:"Picker",PopoverNester:"PopoverNester",Tag:"Tag"},r=e.schemaSettingsManager.get(`fieldSettings:component:${o[t]||t}`);return(r==null?void 0:r.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!1,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseBlockSettings=new SchemaSettings({name:"blockSettings:filterCollapse",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}FilterCollapse`,collectionName:o,resourceName:n}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.COLLAPSE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterCollapseItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"customTitle",type:"modal",useComponentProps(){var e;const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),{getField:i}=useCollection_deprecated(),n=i(t.name)||r(t["x-collection-field"]),{dn:a}=useDesignable();return{title:o("Custom title"),schema:{type:"object",title:o("Custom title"),properties:{title:{default:t==null?void 0:t.title,description:`${o("Original title: ")}${((e=n==null?void 0:n.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{l&&(t.title=l,a.emit("patch",{schema:{"x-uid":t["x-uid"],title:t.title}})),a.refresh()}}}},{name:"defaultCollapse",type:"switch",useComponentProps(){const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Default collapse"),checked:t.componentProps.defaultCollapse,onChange:i=>{t.componentProps.defaultCollapse=i,import_lodash.default.set(e,"x-component-props.defaultCollapse",i),r.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]}}),r.refresh()}}}},{name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),{getCollectionJoinField:n}=useCollectionManager_deprecated(),{getField:a}=useCollection_deprecated(),l=a(o.name)||n(o["x-collection-field"]),{dn:c}=useDesignable();return{collectionName:l==null?void 0:l.target,defaultFilter:((t=(e=o==null?void 0:o["x-component-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:r,onSubmit:({filter:u})=>{var m;import_lodash.default.set(i.componentProps,"params",P(x({},(m=i.componentProps)==null?void 0:m.params),{filter:u})),o["x-component-props"].params=i.componentProps.params,c.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultSortingRules",Component:SchemaSettingsDefaultSortingRules,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=o(e.name)||t(e["x-collection-field"]);return{name:r==null?void 0:r.target}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"titleField",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=n(o.name)||i(o["x-collection-field"]),l=useCollectionManager(),c=useCompile(),{dn:u}=useDesignable(),m=(a!=null&&a.target?l.getCollectionFields(a==null?void 0:a.target):[]).filter(p=>!(p!=null&&p.target)&&p.type!=="boolean").map(p=>{var h;return{value:p==null?void 0:p.name,label:c((h=p==null?void 0:p.uiSchema)==null?void 0:h.title)||(p==null?void 0:p.name)}}),d=p=>{var h,g,_;const f={"x-uid":o["x-uid"]},v=P(x(x({},(g=(h=a==null?void 0:a.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:g.fieldNames),(_=o["x-component-props"])==null?void 0:_.fieldNames),{label:p});o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fieldNames=v,f["x-component-props"]=o["x-component-props"],u.emit("patch",{schema:f}),u.refresh()};return{key:"title-field",title:r("Title field"),options:m,value:(t=(e=o["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange:d}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue,componentProps:{hideVariableButton:!0}}]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterFormBlockSettings=new SchemaSettings({name:"blockSettings:filterForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FilterFormItem`,collectionName:r,resourceName:n}}},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"connectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.FORM,emptyDescription:e("No blocks to connect")}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentNameMap=e=>e==="Select"?"FilterSelect":e==="Picker"?"FilterPicker":e,filterFormItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=useCompile(),n=(0,import_react.useFieldSchema)(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(n.name)||a(n["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=i(d),n.title=d,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)();return{title:o("Display title"),checked:(t=(e=n["x-decorator-props"])==null?void 0:e.showTitle)!=null?t:!0,onChange(a){n["x-decorator-props"]=n["x-decorator-props"]||{},n["x-decorator-props"].showTitle=a,i.decoratorProps.showTitle=a,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-decorator-props":P(x({},n["x-decorator-props"]),{showTitle:a})}}),r.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}}),t.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue},{name:"operator",Component:EditOperator},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${fieldComponentNameMap(t)}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),markdownBlockSettings=new SchemaSettings({name:"blockSettings:markdown",items:[{name:"EditMarkdown",type:"item",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}}},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)()["x-decorator"]==="FormItem";return{title:e(t?"Linkage rules":"Block Linkage rules"),category:LinkageRuleCategory.block,returnScope:o=>o.filter(r=>t?!0:!["$nForm","$nRecord"].includes(r.value))}}},{name:"setBlockTemplate",Component:SchemaSettingsRenderEngine},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),ellipsisSettingsItem={name:"ellipsis",type:"switch",useComponentProps(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=useTableFieldInstanceList(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),l=t||r,c=t?o[0]?!o[0].readPretty:!t["x-read-pretty"]:!i.readPretty;return{title:a("Ellipsis overflow content"),checked:!!((e=l["x-component-props"])!=null&&e.ellipsis),hidden:c,onChange:u=>q(this,null,function*(){t&&o?o.forEach(m=>{m.componentProps.ellipsis=u}):i.componentProps.ellipsis=u,import_lodash.default.set(l,"x-component-props.ellipsis",u),yield n.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":P(x({},l["x-component-props"]),{ellipsis:u})}})})}}},enableLinkSettingsItem={name:"enableLink",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o,{name:i}=useBlockContext()||{};return i!=="kanban"&&((r==null?void 0:r["x-read-pretty"])||e.readPretty)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableLink,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},enableScanSettingsItem={name:"enableScan",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o;return!(r!=null&&r["x-read-pretty"])&&!e.readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable Scan"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableScan,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableScan:l}),o.componentProps.enableScan=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},disableManualInputSettingsItem={name:"disableManualInput",type:"switch",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return(e=(t||o)["x-component-props"])==null?void 0:e.enableScan},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Disable manual input"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.disableManualInput,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{disableManualInput:l}),o.componentProps.disableManualInput=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},openModeSettingsItem={name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return{openMode:!e,openSize:!e,targetSchema:t||o}},useVisible(){var e;const t=(0,import_react.useField)(),{fieldSchema:o}=useColumnSchema$1(),r=(0,import_react.useFieldSchema)(),i=o||r;return((i==null?void 0:i["x-read-pretty"])||t.readPretty)&&((e=i==null?void 0:i["x-component-props"])==null?void 0:e.enableLink)}},inputComponentSettings=new SchemaSettings({name:"fieldSettings:component:Input",items:[ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem,enableScanSettingsItem,disableManualInputSettingsItem]}),enableLink$1={name:"enableLink",type:"switch",useVisible(){return(0,import_react.useField)().readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField$2={name:"titleField",type:"select",useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useTitleFieldOptions(),{uiSchema:c,fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,h=useCollectionField(),g=m||h,_=x(x(x({},(t=(e=g==null?void 0:g.uiSchema)==null?void 0:e["x-component-props"])==null?void 0:t.fieldNames),(o=n==null?void 0:n.componentProps)==null?void 0:o.fieldNames),(r=p==null?void 0:p["x-component-props"])==null?void 0:r.fieldNames);return{title:i("Title field"),options:l,value:_==null?void 0:_.label,onChange(f){var v,C,S,b,y;const F={"x-uid":p["x-uid"]},j=P(x(x({},(C=(v=g==null?void 0:g.uiSchema)==null?void 0:v["x-component-props"])==null?void 0:C.fieldNames),(S=p["x-component-props"])==null?void 0:S.fieldNames),{label:f});p["x-component-props"]=p["x-component-props"]||{},p["x-component-props"].fieldNames=j,F["x-component-props"]=p["x-component-props"],n.componentProps.fieldNames=p["x-component-props"].fieldNames;const k=(y=n.path)==null?void 0:y.splice(((b=n.path)==null?void 0:b.length)-1,1);n.form.query(`${k.concat("*."+p.name)}`).forEach(T=>{T.componentProps.fieldNames=_}),a.emit("patch",{schema:F}),a.refresh()}}}},getAllowMultiple=e=>{const t=(e==null?void 0:e.title)||"Allow multiple";return{name:"allowMultiple",type:"switch",useVisible(){return useIsAssociationField()},useComponentProps(){var o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c,refresh:u}=useDesignable();return{title:r(t),checked:((o=l["x-component-props"])==null?void 0:o.multiple)===void 0?!0:l["x-component-props"].multiple,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},i.componentProps=i.componentProps||{},l["x-component-props"].multiple=m,i.componentProps.multiple=m,d["x-component-props"]=l["x-component-props"],c.emit("patch",{schema:d}),u()}}}}},quickCreate={name:"quickCreate",type:"select",useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,m)=>m["x-component"]==="Action"?m:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},setDefaultSortingRules$1={name:"setDefaultSortingRules",Component:SchemaSettingsSortingRule},setTheDataScope={name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),{fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,h=m||n(p.name)||r(p["x-collection-field"]),g=useVariables$1(),_=useLocalVariables$1(),{dn:f}=useDesignable();return{collectionName:h==null?void 0:h.target,defaultFilter:((o=(t=(e=p==null?void 0:p["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:v=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},v),{form:a,collectionField:v.collectionField,record:l,shouldChange:getShouldChange({collectionField:v.collectionField,variables:g,localVariables:_,getAllCollectionsInheritChain:i})})),onSubmit:({filter:v})=>{v=removeNullCondition(v),import_lodash.default.set(p["x-component-props"],"service.params.filter",v),import_lodash.default.set(c.componentProps,"service.params.filter",v),f.emit("patch",{schema:{"x-uid":p["x-uid"],"x-component-props":p["x-component-props"]}})}}}},fieldComponent$7={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),l=useIsAddNewForm(),c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:a,value:c,onChange(m){var d,p;const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,h["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&l&&(h.default=null,n.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:h}),u.refresh()}}}},selectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Select",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},quickCreate),{useVisible(){const e=useIsAssociationField(),t=useIsFieldReadPretty(),{fieldSchema:o}=useColumnSchema$1(),{type:r}=useDataBlockProps()||{};return e&&!o&&!t&&r!=="publicForm"}}),P(x({},getAllowMultiple()),{useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useIsShowMultipleSwitch();return!e&&t&&o()}}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}}),ellipsisSettingsItem,P(x({},enableLinkSettingsItem),{useVisible(){const e=useCollectionField(),t=useIsFieldReadPretty();return!useIsAssociationField()&&t&&e.interface!=="multipleSelect"}}),P(x({},openModeSettingsItem),{useVisible(){var e,t;const o=(0,import_react.useField)(),r=useIsAssociationField(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n;return((a==null?void 0:a["x-read-pretty"])||o.readPretty)&&(((e=a==null?void 0:a["x-component-props"])==null?void 0:e.enableLink)||r&&((t=a==null?void 0:a["x-component-props"])==null?void 0:t.enableLink)!==!1)}})]}),filterSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterSelect",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),getAllowMultiple({title:"Allow multiple selection"}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}})]}),fieldComponent$6={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},titleField$1={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,m;const d={"x-uid":i["x-uid"]},p=P(x(x({},(m=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,d["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:d}),n.refresh()}}}},cascadeSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:CascadeSelect",items:[fieldComponent$6,titleField$1,ellipsisSettingsItem,setTheDataScope]}),SchemaSettingsDateRange=function e(t){var o,r,i,n,a,l,c,u,m,d,p,h,g,_,f,v;const{fieldSchema:C}=t,S=(0,import_react.useField)(),{dn:b}=useDesignable(),{t:y}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:F}=useCollectionManager_deprecated(),{isInSubForm:j,isInSubTable:k}=useFlag()||{},T=F(C==null?void 0:C["x-collection-field"])||{},B=((o=C==null?void 0:C["x-component-props"])==null?void 0:o.showTime)||((i=(r=T==null?void 0:T.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.showTime)||!1,w=((n=C==null?void 0:C["x-component-props"])==null?void 0:n.dateFormat)||((l=(a=T==null?void 0:T.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.dateFormat)||"YYYY-MM-DD",L=((c=C==null?void 0:C["x-component-props"])==null?void 0:c.timeFormat)||((m=(u=T==null?void 0:T.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.timeFormat)||"HH:mm:ss",D=((d=C==null?void 0:C["x-component-props"])==null?void 0:d.picker)||((h=(p=T==null?void 0:T.uiSchema)==null?void 0:p["x-component-props"])==null?void 0:h.picker)||"date";C["x-read-pretty"]||S.readOnly||S.readPretty;const R=(g=C==null?void 0:C["x-component-props"])==null?void 0:g._minDate,$=(_=C==null?void 0:C["x-component-props"])==null?void 0:_._maxDate,M=((f=T==null?void 0:T.uiSchema)==null?void 0:f["x-component-props"].gmt)||!1,I=((v=T==null?void 0:T.uiSchema)==null?void 0:v["x-component-props"].utc)||!1,N=useRecord(),{form:O}=useFormBlockContext(),E=(0,import_react2.useCallback)(z=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{"x-component":"DatePicker","x-component-props":{dateFormat:w,timeFormat:L,gmt:M,utc:I,picker:D,showTime:B,placeholder:'{{t("Please select time or variable")}}',style:{minWidth:385}},name:"value","x-read-pretty":!1,"x-validator":void 0,"x-decorator":void 0}}),[w,M,D,B,L,I]),V=(0,import_react2.useCallback)(z=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},z),{form:O,record:N,noDisabled:!0,renderSchemaComponent:E})),[C,O,N,E]);function U(z){if(z!=null){if(typeof z=="string")return z;if(typeof z=="object"&&Object.prototype.hasOwnProperty.call(z,"value"))return U(z.value)}}return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:y("Date range limit"),schema:{type:"object","x-decorator":"",properties:{_minDate:{type:"string",title:'{{t("MinDate")}}',"x-decorator":"FormItem","x-component":V,"x-component-props":{name:"_minDate"},default:isVariable$1(R)?R:{value:R}},_maxDate:{type:"string",title:'{{t("MaxDate")}}',"x-decorator":"FormItem","x-component":V,"x-component-props":{name:"_maxDate"},default:isVariable$1($)?$:{value:$}}}},onSubmit:z=>{const G={"x-uid":C["x-uid"]};G["x-component-props"]=S.componentProps||{},C["x-component-props"]=P(x({},S.componentProps||{}),{_maxDate:U(z==null?void 0:z._maxDate),_minDate:U(z==null?void 0:z._minDate)}),G["x-component-props"]=C["x-component-props"],S.componentProps=C["x-component-props"];const Y=S.path.entire.split(".");Y.pop();const H=Y.join(".");S.query(`${H}.*[0:].${C.name}`).forEach(K=>{K.props.name===C.name&&K.setComponentProps({_maxDate:U(z==null?void 0:z._maxDate),_minDate:U(z==null?void 0:z._minDate)})}),b.emit("patch",{schema:G}),b.refresh()},ModalContextProvider:z=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInFormDataTemplate:!0,children:z.children})})},datePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},{name:"dateScopeSelect",Component:SchemaSettingsDateRange,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useFieldSchema)(),o=e||t;return!(o!=null&&o["x-read-pretty"])}},ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),rangePickerPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker.RangePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},ellipsisSettingsItem]}),fileSizeOptions=[{label:"{{t('Large')}}",value:"large"},{label:"{{t('Default')}}",value:"default"},{label:"{{t('Small')}}",value:"small"},{label:500,value:500},{label:400,value:400},{label:300,value:300}],fieldComponent$5={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},fileSizeSetting={name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),{fieldSchema:t}=useColumnSchema$1();return e&&!t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),n=useCompile();return{title:t("Size"),options:n(fileSizeOptions),value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=a,l["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=a,i.emit("patch",{schema:l}),i.refresh()}}}},showFileName={name:"showFileName",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Show file name"),checked:((e=n["x-component-props"])==null?void 0:e.showFileName)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.showFileName=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].showFileName=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}}},fileManagerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FileManager",items:[fieldComponent$5,{name:"quickUpload",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Quick upload"),checked:((e=n["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.quickUpload=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].quickUpload=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"selectFile",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Select file"),checked:((e=n["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.selectFile=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].selectFile=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},fileSizeSetting,showFileName,P(x({},getAllowMultiple()),{useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()}})]}),designerCss$3=import_css.css`
|
|
686
|
+
}}}`,message:'{{t("Invalid JSON format")}}'},requestSettingsSchema={type:"object",properties:{url:{type:"string",title:'{{t("Request URL")}}',required:!0,"x-decorator":"FormItem","x-component":"Input"},method:{type:"string",title:'{{t("Request method")}}',"x-decorator":"FormItem","x-component":"Select",default:"POST",enum:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"},{label:"PATCH",value:"PATCH"},{label:"DELETE",value:"DELETE"}]},headers:{type:"string",title:'{{t("Request headers")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},params:{type:"string",title:'{{t("Request query parameters")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1},data:{type:"string",title:'{{t("Request body")}}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-validator":validateJSON$1}}},linkageAction=(e,t)=>q(void 0,[e,t],function*({operator:o,field:r,condition:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u){var m,d,p;const h=((m=r==null?void 0:r.stateOfLinkageRules)==null?void 0:m.disabled)||[!1],g=((d=r==null?void 0:r.stateOfLinkageRules)==null?void 0:d.display)||["visible"];switch(o){case ActionType.Visible:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))&&(g.push(o),r.data=r.data||{},r.data.hidden=!1),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{display:g}),r.display=(0,import_lodash.last)(g);break;case ActionType.Hidden:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))?(r.data=r.data||{},r.data.hidden=!0):(r.data=r.data||{},r.data.hidden=!1);break;case ActionType.Disabled:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))&&h.push(!0),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:h}),r.disabled=(0,import_lodash.last)(h),r.componentProps.disabled=(0,import_lodash.last)(h);break;case ActionType.Active:(yield conditionAnalyses({ruleGroup:i,variables:n,localVariables:a,conditionType:l,variableNameOfLeftCondition:c},u))?h.push(!1):h.push(!!((p=r.componentProps)!=null&&p.disabled)),r.stateOfLinkageRules=P(x({},r.stateOfLinkageRules),{disabled:h}),r.disabled=(0,import_lodash.last)(h),r.componentProps.disabled=(0,import_lodash.last)(h);break;default:return null}}),setInitialActionState=e=>{e.data=e.data||{},e.display="visible",e.disabled=!1,e.data.hidden=!1,e.componentProps.disabled=!1},MenuGroup=e=>e.children;function ButtonEditor$1(e){var t,o,r,i,n;const a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),{dn:c}=useDesignable(),{t:u}=(0,import_react_i18next.useTranslation)(),m=(e==null?void 0:e.isLink)||l["x-component"]==="Action.Link";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:u("Edit button"),schema:{type:"object",title:u("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:u("Button title"),default:l.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:u("Button icon"),default:(t=l==null?void 0:l["x-component-props"])==null?void 0:t.icon,"x-component-props":{}},onlyIcon:{"x-decorator":"FormItem","x-component":"Checkbox",title:u("Icon only"),default:(o=l==null?void 0:l["x-component-props"])==null?void 0:o.onlyIcon,"x-component-props":{},"x-visible":m,"x-reactions":[{dependencies:["icon"],fulfill:{state:{hidden:"{{!$deps[0]}}"}}}]},iconColor:{title:u("Color"),required:!0,default:((r=l==null?void 0:l["x-component-props"])==null?void 0:r.iconColor)||"#1677FF","x-hidden":!e.hasIconColor,"x-component":"ColorPicker","x-decorator":"FormItem"},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:u("Button background color"),default:(i=l==null?void 0:l["x-component-props"])!=null&&i.danger?"danger":((n=l==null?void 0:l["x-component-props"])==null?void 0:n.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}],"x-visible":!e.hasIconColor&&!m}}},onSubmit:({title:d,icon:p,type:h,iconColor:g,onlyIcon:_})=>{a.address.toString()===l.name?(a.title=d,a.componentProps.iconColor=g,a.componentProps.icon=p,a.componentProps.danger=h==="danger",a.componentProps.type=h||a.componentProps.type,a.componentProps.onlyIcon=_):a.form.query(new RegExp(`.${l.name}$`)).forEach(f=>{f.title=d,f.componentProps.iconColor=g,f.componentProps.icon=p,f.componentProps.danger=h==="danger",f.componentProps.type=h||f.componentProps.type,f.componentProps.onlyIcon=_}),l.title=d,l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].iconColor=g,l["x-component-props"].icon=p,l["x-component-props"].danger=h==="danger",l["x-component-props"].type=h||a.componentProps.type,l["x-component-props"].onlyIcon=_,c.emit("patch",{schema:{"x-uid":l["x-uid"],title:d,"x-component-props":x({},l["x-component-props"])}}),c.refresh()}})}function AssignedFieldValues(){var e,t,o;const{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),a={type:"void","x-uid":(0,import_shared.uid)(),"x-component":"Grid","x-initializer":"assignFieldValuesForm:configureFields"};n["x-template-uid"]&&(a["x-template-root-ref"]={"x-template-uid":n["x-template-uid"],"x-path":"x-action-settings.schemaUid"});const l={"customize:update":i("After clicking the custom button, the following fields of the current record will be saved according to the following form."),"customize:save":i("After clicking the custom button, the following fields of the current record will be saved according to the following form.")},c=(e=n["x-action"])!=null?e:"",u=(0,import_react2.useCallback)(m=>{n["x-action-settings"].assignedValues=m,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-action-settings":n["x-action-settings"]}})},[r,n]);return(0,import_jsx_runtime.jsx)(FlagProvider,{isInAssignFieldValues:!0,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:()=>!1,children:(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:i("Assign field values"),initialSchema:a,initialValues:(t=n==null?void 0:n["x-action-settings"])==null?void 0:t.assignedValues,modalTip:l[c],uid:(o=n==null?void 0:n["x-action-settings"])==null?void 0:o.schemaUid,onSubmit:u})})})}function RequestSettings(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsActionModalItem,{title:o("Request settings"),schema:requestSettingsSchema,initialValues:(e=r==null?void 0:r["x-action-settings"])==null?void 0:e.requestSettings,onSubmit:i=>{r["x-action-settings"].requestSettings=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}}),t.refresh()}})}function SkipValidation(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:o("Skip required validation"),checked:!!((e=r==null?void 0:r["x-action-settings"])!=null&&e.skipValidator),onChange:i=>{r["x-action-settings"].skipValidator=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":x({},r["x-action-settings"])}})}})}const fieldNames={value:"value",label:"label"},useVariableProps=e=>{const t=useAfterSuccessOptions();return{scope:[e,...t].filter(Boolean),fieldNames}},hideDialog=e=>{const t=document.querySelector(`.${e} > .ant-modal-mask`),o=document.querySelector(`.${e} > .ant-modal-wrap`);t&&(t.style.opacity="0",t.style.transition="opacity 0.5s ease"),o&&(o.style.opacity="0",o.style.transition="opacity 0.5s ease")},showDialog=e=>{const t=document.querySelector(`.${e} > .ant-modal-mask`),o=document.querySelector(`.${e} > .ant-modal-wrap`);t&&(t.style.opacity="1",t.style.transition="opacity 0.5s ease"),o&&(o.style.opacity="1",o.style.transition="opacity 0.5s ease")},BlocksSelector=e=>{const{getAllDataBlocks:t}=useAllDataBlocks(),o=t(),r=useCompile(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react2.useMemo)(()=>o.map(a=>{var l;return(l=a.dom)!=null&&l.isConnected?{label:`${r(a.collection.title)} #${a.uid.slice(0,4)}`,value:a.uid,onMouseEnter(){a.highlightBlock(),hideDialog("dialog-after-successful-submission"),startScrollEndTracking(a.dom,()=>{highlightBlock(a.dom.cloneNode(!0),a.dom.getBoundingClientRect())})},onMouseLeave(){a.unhighlightBlock(),showDialog("dialog-after-successful-submission"),stopScrollEndTracking(a.dom),unhighlightBlock()}}:null}).filter(Boolean),[o,i]);return(0,import_jsx_runtime.jsx)(import_antd.Select,{value:e.value,mode:"multiple",allowClear:!0,placeholder:i("Select data blocks to refresh"),options:n,onChange:e.onChange})};function AfterSuccess(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{onSuccess:i}=(r==null?void 0:r["x-action-settings"])||{},n=useGlobalVariable("$env"),a=usePlugin("@nocobase/plugin-block-template"),l=(e=a==null?void 0:a.isInBlockTemplateConfigPage)==null?void 0:e.call(a);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{dialogRootClassName:"dialog-after-successful-submission",width:700,title:o("After successful submission"),initialValues:i?x({actionAfterSuccess:i!=null&&i.redirecting?"redirect":"previous"},i):{manualClose:!1,redirecting:!1,successMessage:'{{t("Saved successfully")}}',actionAfterSuccess:"previous"},schema:{type:"object",title:o("After successful submission"),properties:{successMessage:{title:o("Popup message"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}},manualClose:{title:o("Message popup close method"),enum:[{label:o("Automatic close"),value:!1},{label:o("Manually close"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{}},redirecting:{title:o("Then"),"x-hidden":!0,enum:[{label:o("Stay on current page"),value:!1},{label:o("Redirect to"),value:!0}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{!!$self.value}}"}}}},actionAfterSuccess:{title:o("Action after successful submission"),enum:[{label:o("Stay on the current popup or page"),value:"stay"},{label:o("Return to the previous popup or page"),value:"previous"},{label:o("Redirect to"),value:"redirect"}],"x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{},"x-reactions":{target:"redirectTo",fulfill:{state:{visible:"{{$self.value==='redirect'}}"}}}},redirectTo:{title:o("Link"),"x-decorator":"FormItem","x-component":"Variable.TextArea","x-use-component-props":()=>useVariableProps(n)},blocksToRefresh:{type:"array",title:o("Refresh data blocks"),"x-decorator":"FormItem","x-use-decorator-props":()=>({tooltip:o("After successful submission, the selected data blocks will be automatically refreshed.")}),"x-component":BlocksSelector,"x-hidden":l}}},onSubmit:c=>{r["x-action-settings"].onSuccess=c,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-action-settings":r["x-action-settings"]}})}})}function RemoveButton(e={}){const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)();return(o==null?void 0:o.parent["x-component"])!=="CollectionField"&&(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:r=>r["x-component"]==="Space"||r["x-component"].endsWith("ActionBar"),disabled:e.disabled,confirm:{title:t("Delete action"),onOk:e.onConfirmOk}})]})}const actionSettingsItems=[{name:"Customize",Component:MenuGroup,children:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:e=>(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},e)),useVisible(){const e=useLinkageAction(),{linkageAction:t}=useSchemaToolbar();return t||e},useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),t=(0,import_react.useFieldSchema)(),o=["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"");return{openMode:o&&!e,openSize:o&&!e}}},{name:"secondConFirm",Component:SecondConFirm,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return!["create","update","view","customize:popup","duplicate","customize:create"].includes(t["x-action"]||"")&&!((e=t==null?void 0:t["x-action-settings"])!=null&&e.disableSecondConFirm)}},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.assignedValues)}},{name:"requestSettings",Component:RequestSettings,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.requestSettings)}},{name:"skipValidator",Component:SkipValidation,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.skipValidator)}},{name:"afterSuccess",Component:AfterSuccess,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.onSuccess)}},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const e=(0,import_react.useFieldSchema)(),{name:t}=useCollection_deprecated(),{getChildrenCollections:o}=useCollectionManager_deprecated();return o(t).length>0&&e["x-action"]==="create"},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return(0,import_shared.isValid)((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.triggerWorkflows)}},{type:"switch",name:"clearDefaultValue",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Clear default value"),checked:(e=o==null?void 0:o["x-component-props"])==null?void 0:e.clearDefaultValue,onChange:i=>{r.deepMerge({"x-uid":o["x-uid"],"x-component-props":{clearDefaultValue:i}})}}},useVisible(){return(0,import_react.useFieldSchema)()["x-use-component-props"]==="useResetBlockActionProps"}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e},useVisible(){var e;const t=(0,import_react.useFieldSchema)();return((e=t==null?void 0:t["x-action-settings"])==null?void 0:e.removable)!==!1}}]}],useSecondConFirmVariables=()=>{const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useForm)(),o=useCollectionRecordData();return useVariableOptions({collectionField:{uiSchema:e},form:t,record:o,uiSchema:e,noDisabled:!0})};function SecondConFirm(){var e,t,o,r,i,n,a,l,c,u,m,d;const{dn:p}=useDesignable(),h=(0,import_react.useFieldSchema)(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react.useField)(),f=useCompile();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:g("Secondary confirmation"),initialValues:{title:g((t=(e=h==null?void 0:h["x-component-props"])==null?void 0:e.confirm)==null?void 0:t.title,{title:f(h.title)})||f((r=(o=h==null?void 0:h["x-component-props"])==null?void 0:o.confirm)==null?void 0:r.title)||g("Perform the {{title}}",{title:f(h.title)}),content:g((n=(i=h==null?void 0:h["x-component-props"])==null?void 0:i.confirm)==null?void 0:n.content,{title:f(h.title)})||f((l=(a=h==null?void 0:h["x-component-props"])==null?void 0:a.confirm)==null?void 0:l.content)||g("Are you sure you want to perform the {{title}} action?",{title:f(h.title)})},schema:{type:"object",title:g("Secondary confirmation"),properties:{enable:{"x-decorator":"FormItem","x-component":"Checkbox","x-content":g("Enable secondary confirmation"),default:((u=(c=h==null?void 0:h["x-component-props"])==null?void 0:c.confirm)==null?void 0:u.enable)!==!1&&!!((d=(m=h==null?void 0:h["x-component-props"])==null?void 0:m.confirm)!=null&&d.content),"x-component-props":{}},title:{"x-decorator":"FormItem","x-component":"Variable.RawTextArea",title:g("Title"),"x-component-props":{scope:useSecondConFirmVariables},"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}},content:{"x-decorator":"FormItem","x-component":"Variable.RawTextArea",title:g("Content"),"x-component-props":{scope:useSecondConFirmVariables},"x-reactions":{dependencies:["enable"],fulfill:{state:{required:"{{$deps[0]}}"}}}}}},onSubmit:({enable:v,title:C,content:S})=>{var b;h["x-component-props"]=h["x-component-props"]||{},h["x-component-props"].confirm={},h["x-component-props"].confirm.enable=v,h["x-component-props"].confirm.title=C,h["x-component-props"].confirm.content=S,_.componentProps.confirm=x({},(b=h["x-component-props"])==null?void 0:b.confirm),p.emit("patch",{schema:{"x-uid":h["x-uid"],"x-component-props":x({},h["x-component-props"])}}),p.refresh()}})}const actionSettings=new SchemaSettings({name:"ActionSettings",items:actionSettingsItems}),ActionDesigner=e=>{const t=e,{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a,schemaSettings:l="ActionSettings",enableDrag:c=!0}=t,u=W(t,["modalTip","linkageAction","removeButtonProps","buttonEditorProps","linkageRulesProps","schemaSettings","enableDrag"]),m=useApp(),d=(0,import_react.useFieldSchema)(),p=(d==null?void 0:d.parent["x-component"])!=="CollectionField"&&c,h=`ActionSettings:${d["x-action"]}`,g=l||"ActionSettings",_=m.schemaSettingsManager.has(h);return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,P(x({schemaSettings:_?h:g,contextValue:{modalTip:o,linkageAction:r,removeButtonProps:i,buttonEditorProps:n,linkageRulesProps:a}},u),{disableInitializer:!0,draggable:p}))};function RefreshDataBlockRequest(e){const{dn:t}=useDesignable(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{refreshDataBlockRequest:i}=(o==null?void 0:o["x-component-props"])||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsSwitchItem,{title:r("Refresh data on action"),checked:i!==!1,onChange:n=>{o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].refreshDataBlockRequest=n,t.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}})}})}ActionDesigner.ButtonEditor=ButtonEditor$1;ActionDesigner.RemoveButton=RemoveButton;const addChildActionSettings=new SchemaSettings({name:"actionSettings:addChild",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"delete",type:"remove"}]}),addNewActionSettings=new SchemaSettings({name:"actionSettings:addNew",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"enableChildCollections",Component:SchemaSettingsEnableChildCollections,useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}},useVisible(){const{name:e}=useCollection_deprecated(),{getChildrenCollections:t}=useCollectionManager_deprecated();return(0,import_react2.useMemo)(()=>t(e).length>0,[t,e])}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeAddRecordActionSettings=new SchemaSettings({name:"actionSettings:addRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),associateActionSettings=new SchemaSettings({name:"actionSettings:associate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]}),bulkDeleteActionSettings=new SchemaSettings({name:"actionSettings:bulkDelete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),deleteActionSettings=new SchemaSettings({name:"actionSettings:delete",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",type:"remove"}]}),disassociateActionSettings=new SchemaSettings({name:"actionSettings:disassociate",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",type:"remove"}]});function ButtonEditor(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)(),{titleExpand:a,titleCollapse:l,iconExpand:c,iconCollapse:u}=r["x-component-props"]||{};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{titleExpand:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Expand all")}`,default:a},titleCollapse:{"x-decorator":"FormItem","x-component":"Input",title:`${n("Button title")} - ${n("Collapse all")}`,default:l},iconExpand:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Expand all")}`,default:c},iconCollapse:{"x-decorator":"FormItem","x-component":"IconPicker",title:`${n("Button icon")} - ${n("Collapse all")}`,default:u},type:{"x-decorator":"FormItem","x-component":"Radio.Group",title:n("Button background color"),default:(e=r==null?void 0:r["x-component-props"])!=null&&e.danger?"danger":((t=r==null?void 0:r["x-component-props"])==null?void 0:t.type)==="primary"?"primary":"default",enum:[{value:"default",label:'{{t("Default")}}'},{value:"primary",label:'{{t("Highlight")}}'},{value:"danger",label:'{{t("Danger red")}}'}]}}},onSubmit:({titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:h,type:g})=>{r.title=n("Expand/Collapse"),o.title=n("Expand/Collapse"),o.componentProps.icon=p,o.componentProps.danger=g==="danger",o.componentProps.type=g,r["x-component-props"]=P(x({},r["x-component-props"]||{}),{titleExpand:m,titleCollapse:d,iconExpand:p,iconCollapse:h,type:g,danger:g==="danger"}),i.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"],title:r.title}}),i.refresh()}})}const expendableActionSettings=new SchemaSettings({name:"actionSettings:expendable",items:[{name:"editButton",Component:ButtonEditor,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),filterActionSettings=new SchemaSettings({name:"actionSettings:filter",items:[{name:"FilterableFields",Component:FilterableFieldsSchemaSettingsItem},{name:"divider",type:"divider"},{name:"EditButton",type:"modal",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),{t:n}=(0,import_react_i18next.useTranslation)();return{title:n("Edit button"),schema:{type:"object",title:n("Edit button"),properties:{title:{"x-decorator":"FormItem","x-component":"Input",title:n("Button title"),default:r.title,"x-component-props":{}},icon:{"x-decorator":"FormItem","x-component":"IconPicker",title:n("Button icon"),default:(e=r==null?void 0:r["x-component-props"])==null?void 0:e.icon,"x-component-props":{}},onlyIcon:{"x-decorator":"FormItem","x-component":"Checkbox",title:n("Icon only"),default:(t=r==null?void 0:r["x-component-props"])==null?void 0:t.onlyIcon,"x-component-props":{},"x-reactions":[{dependencies:["icon"],fulfill:{state:{hidden:"{{!$deps[0]}}"}}}]}}},onSubmit:({title:a,icon:l,onlyIcon:c})=>{r.title=a,o.title=a,o.componentProps.icon=l,o.componentProps.onlyIcon=c,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].icon=l,r["x-component-props"].onlyIcon=c,i.emit("patch",{schema:{"x-uid":r["x-uid"],title:a,"x-component-props":x({},r["x-component-props"])}}),i.refresh()}}}},{name:"divider2",type:"divider"},{name:"delete",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:e=>e["x-component"]==="Space"||e["x-component"]==="ActionBar"}}]}),SchemaSettingsActionLinkItem=()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{dn:o}=useDesignable(),{t:r}=(0,import_react_i18next.useTranslation)(),{urlSchema:i,paramsSchema:n,openInNewWindowSchema:a}=useURLAndHTMLSchema(),l=t["x-component-props"]||{},c={url:l.url,params:l.params||[{}],openInNewWindow:l.openInNewWindow};return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:r("Edit link"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Edit link"),properties:{url:P(x({},i),{required:!0}),params:n,openInNewWindow:a}},onSubmit:({url:u,params:m,openInNewWindow:d})=>{l.url=u,l.params=m,l.openInNewWindow=d,t["x-component-props"]=l,e.componentProps.url=u,e.componentProps.params=m,e.componentProps.openInNewWindow=d,o.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":l}}),o.refresh()},initialValues:c})},customizeLinkActionSettings=new SchemaSettings({name:"actionSettings:link",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"editLink",Component:SchemaSettingsActionLinkItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar(),{association:t}=useDataBlockProps()||{},{getCollectionField:o}=useCollectionManager_deprecated();return o(t),x({},e)}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),refreshActionSettings=new SchemaSettings({name:"actionSettings:refresh",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"secondConFirm",Component:SecondConFirm},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeSaveRecordActionSettings=new SchemaSettings({name:"actionSettings:saveRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"skipRequiredValidation",Component:SkipValidation},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),updateSubmitActionSettings=new SchemaSettings({name:"actionSettings:updateSubmit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConfirmation",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"skipRequiredValidation",Component:SkipValidation,useVisible(){return!(0,import_react.useFieldSchema)().parent["x-initializer"].includes("bulkEditForm")}},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),submitActionSettings=new SchemaSettings({name:"actionSettings:submit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"secondConfirmation",Component:SecondConFirm},{name:"saveMode",Component:SaveMode,useVisible(){var e;const t=(0,import_react.useFieldSchema)();return t["x-action"]==="submit"&&isInitializersSame((e=t.parent)==null?void 0:e["x-initializer"],"createForm:configureActions")}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizeUpdateRecordActionSettings=new SchemaSettings({name:"actionSettings:updateRecord",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"secondConFirm",Component:SecondConFirm},{name:"assignFieldValues",Component:AssignedFieldValues},{name:"afterSuccessfulSubmission",Component:AfterSuccess},{name:"refreshDataBlockRequest",Component:RefreshDataBlockRequest,useComponentProps(){return{isPopupAction:!1}}},{name:"delete",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),customizePopupActionSettings=new SchemaSettings({name:"actionSettings:popup",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{linkageRulesProps:e}=useSchemaToolbar();return x({},e)}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},SchemaSettingAccessControl,{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),editActionSettings=new SchemaSettings({name:"actionSettings:edit",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"delete",type:"remove"}]}),viewActionSettings=new SchemaSettings({name:"actionSettings:view",items:[{name:"editButton",Component:ButtonEditor$1,useComponentProps(){const{buttonEditorProps:e}=useSchemaToolbar();return e}},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext();return{openMode:!e,openSize:!e}}},{name:"remove",sort:100,Component:RemoveButton,useComponentProps(){const{removeButtonProps:e}=useSchemaToolbar();return e}}]}),commonItems$1=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,readPretty:!0,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),{service:l}=useDetailsBlockContext();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,noRecord:!0,onSubmit:({filter:c})=>{c=removeNullCondition(c);const u=n.decoratorProps.params||{};u.filter=c,n.decoratorProps.params=u,r["x-decorator-props"].params=u,a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}}),l.params[0].page=1}}}},{name:"sortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{service:a}=useDetailsBlockContext(),{dn:l}=useDesignable(),c=useSortFields(o),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:m,"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:c,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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit({sort:d}){var p;const h=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),g=n.decoratorProps.params||{};g.sort=h,n.decoratorProps.params=g,i["x-decorator-props"].params=g,l.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:h}))}}}},setDataLoadingModeSettingsItem,{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Details`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],multiDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:multiDataDetails",items:commonItems$1}),detailsWithPaginationSettings=new SchemaSettings({name:"blockSettings:detailsWithPagination",items:commonItems$1}),commonItems=[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,readPretty:!0,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{name:o}=useCollection(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{insertAdjacentPosition:"beforeEnd",componentName:`${i}ReadPrettyFormItem`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}],singleDataDetailsBlockSettings=new SchemaSettings({name:"blockSettings:singleDataDetails",items:commonItems}),detailsBlockSettings=new SchemaSettings({name:"blockSettings:details",items:commonItems}),createFormBlockSettings=new SchemaSettings({name:"blockSettings:createForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){var e;const{action:t}=useFormBlockContext(),o=(0,import_react.useFieldSchema)();return!t&&((e=o==null?void 0:o["x-acl-action"])==null?void 0:e.includes("create"))},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),editFormBlockSettings=new SchemaSettings({name:"blockSettings:editForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"dataTemplates",Component:SchemaSettingsDataTemplates,useVisible(){const{action:e}=useFormBlockContext();return!e},useComponentProps(){const{name:e}=useCollection_deprecated();return{collectionName:e}}},{name:"divider",type:"divider"},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FormItem`,collectionName:r,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider2",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentSettingsItem={name:"fieldComponent",type:"select",useVisible(){const e=useCollectionField(),t=useDataSourceManager();if(!e)return!1;const o=t.collectionFieldInterfaceManager.getFieldInterface(e==null?void 0:e.interface);return Array.isArray(o==null?void 0:o.componentOptions)&&o.componentOptions.length>1&&o.componentOptions.filter(r=>!r.useVisible||r.useVisible()).length>1},useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useCollectionField(),c=useDataSourceManager().collectionFieldInterfaceManager.getFieldInterface(l==null?void 0:l.interface),{fieldSchema:u}=useColumnSchema$1(),m=u||a,{dn:d}=useDesignable(),p=useCompile(),h=((t=(e=c==null?void 0:c.componentOptions)==null?void 0:e.filter(g=>!g.useVisible||g.useVisible()))==null?void 0:t.map(g=>({label:p(g.label),value:g.value,useProps:g.useProps})))||[];return{title:i("Field component"),options:h,value:((o=m["x-component-props"])==null?void 0:o.component)||((r=h[0])==null?void 0:r.value),onChange(g){var _;const f=h.find(S=>S.value===g),v=((_=f==null?void 0:f.useProps)==null?void 0:_.call(f))||{},C=x(x({component:g},v),g===l.uiSchema["x-component"]?l.uiSchema["x-component-props"]:{});import_lodash.default.set(m,"x-component-props",C),n.componentProps=C,d.emit("patch",{schema:{"x-uid":m["x-uid"],"x-component-props":C}})}}}},fieldSettingsFormItem=new SchemaSettings({name:"fieldSettings:FormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCompile(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(i.name)||a(i["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=n(d),i.title=d,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Display title"),checked:(e=r.decoratorProps.showTitle)!=null?e:!0,onChange(n){i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].showTitle=n,r.decoratorProps.showTitle=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":P(x({},i["x-decorator-props"]),{showTitle:n})}}),o.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}})}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"required",type:"switch",useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&o},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable();return{title:e("Required"),checked:t.required,onChange(n){const a={"x-uid":o["x-uid"]};t.required=n,o.required=n,a.required=n,r.emit("patch",{schema:a}),i()}}}},{name:"setDefaultValue",useVisible(){const{isAllowToSetDefaultValue:e}=useIsAllowToSetDefaultValue();return e()},Component:SchemaSettingsDefaultValue},{name:"pattern",type:"select",useVisible(){const{form:e}=useFormBlockContext(),t=(0,import_react.useFieldSchema)();return e&&!(e!=null&&e.readPretty)&&!isPatternDisabled(t)},useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();let i="editable";return o["x-disabled"]===!0&&(i="readonly"),o["x-read-pretty"]===!0&&(i="read-pretty"),{title:e("Pattern"),options:[{label:e("Editable"),value:"editable"},{label:e("Readonly"),value:"readonly"},{label:e("Easy-reading"),value:"read-pretty"}],value:i,onChange(n){const a={"x-uid":o["x-uid"]};switch(n){case"readonly":{o["x-read-pretty"]=!1,o["x-disabled"]=!0,a["x-read-pretty"]=!1,a["x-disabled"]=!0,t.readPretty=!1,t.disabled=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadOnly));break}case"read-pretty":{o["x-read-pretty"]=!0,o["x-disabled"]=!1,a["x-read-pretty"]=!0,a["x-disabled"]=!1,t.readPretty=!0,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.ReadPretty));break}default:{o["x-read-pretty"]=!1,o["x-disabled"]=!1,a["x-read-pretty"]=!1,a["x-disabled"]=!1,t.readPretty=!1,t.disabled=!1,import_lodash.default.set(t,"initStateOfLinkageRules.pattern",getTempFieldState(!0,ActionType.Editable));break}}r.emit("patch",{schema:a}),r.refresh()}}}},{name:"setValidationRules",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r,refresh:i}=useDesignable(),n=useValidateSchema(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(o.name)||a(o["x-collection-field"]),u=m=>m!=null&&!Number.isNaN(m);return{title:e("Set validation rules"),components:{ArrayCollapse,FormLayout:import_antd_v5.FormLayout},schema:{type:"object",title:e("Set validation rules"),properties:{rules:{type:"array",default:o==null?void 0:o["x-validator"],"x-component":"ArrayCollapse","x-decorator":"FormItem","x-component-props":{accordion:!0},maxItems:3,items:{type:"object","x-component":"ArrayCollapse.CollapsePanel","x-component-props":{header:e("Validation rule")},properties:{index:{type:"void","x-component":"ArrayCollapse.Index","x-component-props":{style:{lineHeight:"28px"}}},layout:{type:"void","x-component":"FormLayout","x-component-props":{labelStyle:{marginTop:"6px"},labelCol:8,wrapperCol:16},properties:P(x({},n),{message:{type:"string",title:'{{ t("Error message") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:2,maxRows:2}}}})},remove:{type:"void","x-component":"ArrayCollapse.Remove"},moveUp:{type:"void","x-component":"ArrayCollapse.MoveUp"},moveDown:{type:"void","x-component":"ArrayCollapse.MoveDown"}}},properties:{add:{type:"void",title:'{{ t("Add validation rule") }}',"x-component":"ArrayCollapse.Addition","x-reactions":{dependencies:["rules"],fulfill:{state:{disabled:"{{$deps[0].length >= 3}}"}}}}}}}},onSubmit(m){var d;const p=[];for(const _ of m.rules)p.push(import_lodash.default.pickBy(_,u));const h={"x-uid":o["x-uid"]};if(["percent"].includes(c==null?void 0:c.interface))for(const _ of p)(_.maxValue||_.minValue)&&(_.percentMode=!0),_.percentFormat&&(_.percentFormats=!0);const g=import_lodash.default.concat([],((d=c==null?void 0:c.uiSchema)==null?void 0:d["x-validator"])||[],p);t.validator=g,t.required=o.required,o["x-validator"]=p,h["x-validator"]=p,r.emit("patch",{schema:h}),i()}}},useVisible(){const{form:e}=useFormBlockContext(),t=useIsFormReadPretty(),o=useValidateSchema();return e&&!t&&o}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){return useIsFieldReadPretty()},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${t}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),pageSizeOptions$2=[12,24,60,96,120],gridSizes=["xs","md","lg","xxl"],screenSizeTitleMaps={xs:"Phone device",md:"Tablet device",lg:"Desktop device",xxl:"Large screen device"},screenSizeMaps={xs:"< 768",md:"≥ 768",lg:"≥ 992",xxl:"≥ 1600"},defaultColumnCount={xs:1,md:2,lg:3,xxl:4},columnCountMarks=[1,2,3,4,6,8,12,24].reduce((e,t)=>(e[t]=t,e),{}),GridCardDesigner=()=>{var e,t,o,r,i,n,a,l;const{name:c,title:u}=useCollection_deprecated(),m=useSchemaTemplate(),{t:d}=(0,import_react_i18next.useTranslation)(),p=(0,import_react.useFieldSchema)(),{form:h}=useFormBlockContext(),g=(0,import_react.useField)(),{dn:_}=useDesignable(),f=useSortFields(c),{componentNamePrefix:v}=useBlockTemplateContext(),C=((t=(e=p==null?void 0:p["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],S=((o=p==null?void 0:p["x-decorator-props"])==null?void 0:o.resource)||((r=p==null?void 0:p["x-decorator-props"])==null?void 0:r.association),b=C==null?void 0:C.map(y=>y.startsWith("-")?{field:y.substring(1),direction:"desc"}:{field:y,direction:"asc"});return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{template:m,title:u||c,children:(0,import_jsx_runtime.jsxs)(SchemaComponentOptions,{components:{Slider:import_antd.Slider},children:[(0,import_jsx_runtime.jsx)(SetTheCountOfColumnsDisplayedInARow,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsDataScope,{collectionName:c,defaultFilter:((n=(i=p==null?void 0:p["x-decorator-props"])==null?void 0:i.params)==null?void 0:n.filter)||{},form:h,onSubmit:({filter:y})=>{y=removeNullCondition(y),import_lodash.default.set(p,"x-decorator-props.params.filter",y),g.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:d("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:d("Set default sorting rules"),properties:{sort:{type:"array",default:b,"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:f,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:d("ASC"),value:"asc"},{label:d("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:d("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:y})=>{const F=y.map(j=>j.direction==="desc"?`-${j.field}`:j.field);import_lodash.default.set(p,"x-decorator-props.params.sort",F),g.decoratorProps.params=x({},p["x-decorator-props"].params),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SetDataLoadingMode,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:d("Records per page"),value:((l=(a=g.decoratorProps)==null?void 0:a.params)==null?void 0:l.pageSize)||20,options:pageSizeOptions$2.map(y=>({value:y})),onChange:y=>{import_lodash.default.set(p,"x-decorator-props.params.pageSize",y),g.decoratorProps.params=P(x({},p["x-decorator-props"].params),{page:1}),_.emit("patch",{schema:{"x-uid":p["x-uid"],"x-decorator-props":p["x-decorator-props"]}})}}),(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${v}GridCard`,collectionName:c,resourceName:S}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})})};function SetTheCountOfColumnsDisplayedInARow(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)(),o=(0,import_react.useField)(),{dn:r}=useDesignable(),i=o.decoratorProps.columnCount||defaultColumnCount,n=(0,import_react2.useMemo)(()=>({"x-component":"Slider","x-decorator":"FormItem","x-component-props":{min:1,max:24,marks:columnCountMarks,tooltip:{formatter:l=>`${l}${e("Column")}`},step:null}}),[e]),a=(0,import_react2.useMemo)(()=>gridSizes.reduce((l,c)=>(l[c]=P(x({},n),{title:e(screenSizeTitleMaps[c]),description:`${e("Screen size")} ${screenSizeMaps[c]} ${e("pixels")}`}),l),{}),[n,e]);return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:e("Set the count of columns displayed in a row"),initialValues:i,schema:{type:"object",title:e("Set the count of columns displayed in a row"),properties:a},onSubmit:l=>{import_lodash.default.set(t,"x-decorator-props.columnCount",l),o.decoratorProps.columnCount=l,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})}})}const gridCardBlockSettings=new SchemaSettings({name:"blockSettings:gridCard",items:[{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"SetTheCountOfColumnsDisplayedInARow",Component:SetTheCountOfColumnsDisplayedInARow},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=x({},r["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=x({},i["x-decorator-props"].params),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:pageSizeOptions$2.map(a=>({value:a})),onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}GridCard`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),listBlockSettings=new SchemaSettings({name:"blockSettings:list",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{form:i}=useFormBlockContext(),n=(0,import_react.useField)(),{dn:a}=useDesignable();return{collectionName:o,defaultFilter:((t=(e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:i,onSubmit:({filter:l})=>{l=removeNullCondition(l),import_lodash.default.set(r,"x-decorator-props.params.filter",l),n.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useSortFields(o),c=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],u=c==null?void 0:c.map(m=>m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:r("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:r("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:l,"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:r("ASC"),value:"asc"},{label:r("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:r("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);import_lodash.default.set(i,"x-decorator-props.params.sort",d),n.decoratorProps.params=P(x({},i["x-decorator-props"].params),{page:1}),a.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})}}}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable();return{title:o("Records per page"),value:((t=(e=i.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:a=>{import_lodash.default.set(r,"x-decorator-props.params.pageSize",a),i.decoratorProps.params=P(x({},r["x-decorator-props"].params),{page:1}),n.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}List`,collectionName:o,resourceName:n}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),tableSelectorBlockSettings=new SchemaSettings({name:"blockSettings:tableSelector",items:[{name:"SetTheDataScope",Component:SchemaSettingsDataScope,useComponentProps:()=>{var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{form:n}=useFormBlockContext(),{service:a,extraFilter:l}=useTableSelectorContext(),{dn:c}=useDesignable(),u=useDataLoadingMode(),m=(0,import_react2.useCallback)(({filter:d})=>{d=removeNullCondition(d);const p=r.decoratorProps.params||{};p.filter=d,r.decoratorProps.params=p,i["x-decorator-props"].params=p,(0,import_lodash.cloneDeep)(d),c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}})},[r.decoratorProps,i,l,u,c,a]);return{collectionName:o,defaultFilter:((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:n,onSubmit:m}}},{name:"treeTable",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{service:o}=useTableSelectorContext(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Tree table"),defaultChecked:!0,checked:e.decoratorProps.treeTable,onChange:n=>{var a;e.form.clearFormGraph(`${e.address}.*`),e.decoratorProps.treeTable=n,t["x-decorator-props"].treeTable=n;const l=P(x({},(a=o.params)==null?void 0:a[0]),{tree:n?!0:null});i.emit("patch",{schema:t}),i.refresh(),o.run(l)}}},useVisible:()=>{const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)(),o=useCollection_deprecated(),r=recursiveParent(t,"CollectionField"),i=e(r==null?void 0:r["x-collection-field"]);return(o==null?void 0:o.tree)&&(i==null?void 0:i.target)===(i==null?void 0:i.collectionName)}},{name:"SetDefaultSortingRules",type:"modal",useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useSortFields(o),{service:a}=useTableSelectorContext(),{t:l}=(0,import_react_i18next.useTranslation)(),{dn:c}=useDesignable(),u=((t=(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.params)==null?void 0:t.sort)||[],m=u==null?void 0:u.map(d=>d.startsWith("-")?{field:d.substring(1),direction:"desc"}:{field:d,direction:"asc"});return{title:l("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:l("Set default sorting rules"),properties:{sort:{type:"array",default:m,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:l("ASC"),value:"asc"},{label:l("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:l("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:d})=>{var p;const h=d.map(_=>_.direction==="desc"?`-${_.field}`:_.field),g=r.decoratorProps.params||{};g.sort=h,r.decoratorProps.params=g,i["x-decorator-props"].params=g,c.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:h}))}}},useVisible(){const e=(0,import_react.useField)(),{dragSort:t}=e.decoratorProps;return!t}},setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableSelectorContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),useCollection_deprecated=()=>{var e;const t=useCollection(),o=useAPIClient(),r=o==null?void 0:o.resource(t==null?void 0:t.name),i=(0,import_react2.useMemo)(()=>(t==null?void 0:t.fields)||[],[t]),n=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getInheritedFields)==null?void 0:d.call(t))||[]},[t]),a=(0,import_react2.useMemo)(()=>{var d,p;return((d=t==null?void 0:t.getAllFields)==null?void 0:d.call(t))||((p=t==null?void 0:t.getFields)==null?void 0:p.call(t))||[]},[t]),l=(0,import_react2.useMemo)(()=>{var d;return((d=t==null?void 0:t.getForeignKeyFields)==null?void 0:d.call(t))||[]},[t]),c=(0,import_react2.useCallback)(()=>a==null?void 0:a.find(d=>d.treeParent),[a]),u=(0,import_react2.useCallback)(d=>{var p;return(p=t==null?void 0:t.getField)==null?void 0:p.call(t,d)},[t]),m=(0,import_react2.useCallback)(()=>t==null?void 0:t.getPrimaryKey(),[t]);return P(x({},(e=t==null?void 0:t.getOptions)==null?void 0:e.call(t)),{resource:r,getTreeParentField:c,fields:a,getField:u,getPrimaryKey:m,currentFields:i,inheritedFields:n,foreignKeyFields:l})};function SchemaSettingsSortField(){const{fields:e}=useCollection_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable(),n=useCompile(),{service:a,association:l}=useTableBlockContext(),{getCollectionJoinField:c}=useCollectionManager_deprecated(),u=c(l),m=e.filter(d=>!(d!=null&&d.target)&&d.interface==="sort").map(d=>{var p;return{value:d==null?void 0:d.name,label:n((p=d==null?void 0:d.uiSchema)==null?void 0:p.title)||(d==null?void 0:d.name),disabled:(d==null?void 0:d.scopeKey)&&(u==null?void 0:u.foreignKey)!==d.scopeKey}});return(0,import_jsx_runtime.jsx)(SchemaSettingsSelectItem,{title:r("Drag and drop sorting field"),options:m,value:t.decoratorProps.dragSortBy,onChange:d=>{var p;o["x-decorator-props"].dragSortBy=d,a.run(P(x({},(p=a.params)==null?void 0:p[0]),{sort:d})),t.decoratorProps.dragSortBy=d,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}}),i.refresh()}},"sort-field")}const enabledIndexColumn$1={name:"enableIndexColumn",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Enable index column"),checked:e.decoratorProps.enableIndexColumn!==!1,onChange:i=>q(void 0,null,function*(){e.decoratorProps=e.decoratorProps||{},e.decoratorProps.enableIndexColumn=i,t["x-decorator-props"].enableIndexColumn=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-decorator-props":t["x-decorator-props"]}})})}}},tableBlockSettings=new SchemaSettings({name:"blockSettings:table",items:[{name:"editBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"treeTable",type:"switch",useComponentProps:()=>{var e;const{getCollectionField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{service:n}=useTableBlockContext(),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=useCollection_deprecated(),{resource:u}=r.decoratorProps,m=u&&t(u),d=u!=null&&u.includes(".")?(e=o(m==null?void 0:m.target))==null?void 0:e.tree:!!(c!=null&&c.tree);return{title:a("Tree table"),defaultChecked:!0,checked:d?r.decoratorProps.treeTable:!1,onChange:p=>{var h;r.decoratorProps.treeTable=p,i["x-decorator-props"].treeTable=p,p===!1&&(i["x-decorator-props"].expandFlag=!1);const g=P(x({},(h=n.params)==null?void 0:h[0]),{tree:p?!0:null});l.emit("patch",{schema:i}),l.refresh(),n.run(g)}}},useVisible:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=useCollection_deprecated(),{resource:r}=t.decoratorProps,i=r&&e(r);return(o==null?void 0:o.tree)&&(i==null?void 0:i.collectionName)===(i==null?void 0:i.target)}},createSwitchSettingsItem({name:"expandFlag",title:e=>e("Expand All"),defaultValue:!1,schemaKey:"x-decorator-props.expandFlag",useVisible(){return(0,import_react.useField)().decoratorProps.treeTable}}),{name:"enableDragAndDropSorting",type:"switch",useComponentProps:()=>{const{getCollectionField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{service:r}=useTableBlockContext(),{t:i}=(0,import_react_i18next.useTranslation)(),{dn:n}=useDesignable(),{resource:a}=t.decoratorProps,l=a&&e(a),c=useAPIClient();return{title:i("Enable drag and drop sorting"),checked:t.decoratorProps.dragSort,onChange:u=>q(void 0,null,function*(){var m,d,p;if(u&&l){const{data:h}=yield c.resource("collections.fields",l.collectionName).update({filterByTk:l.name,values:{sortable:!0}}),g=(d=(m=h==null?void 0:h.data)==null?void 0:m[0])==null?void 0:d.sortBy;o["x-decorator-props"].dragSortBy=g}t.decoratorProps.dragSort=u,o["x-decorator-props"].dragSort=u,r.run(P(x({},(p=r.params)==null?void 0:p[0]),{sort:o["x-decorator-props"].dragSortBy})),n.emit("patch",{schema:{"x-uid":o["x-uid"],"x-decorator-props":o["x-decorator-props"]}})})}}},{name:"SortField",Component:SchemaSettingsSortField,useVisible(){return(0,import_react.useField)().decoratorProps.dragSort}},enabledIndexColumn$1,setTheDataScopeSchemaSettingsItem,setDefaultSortingRulesSchemaSettingsItem,setDataLoadingModeSettingsItem,{name:"RecordsPerPage",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{service:i}=useTableBlockContext(),{t:n}=(0,import_react_i18next.useTranslation)(),{dn:a}=useDesignable();return{title:n("Records per page"),value:((t=(e=o.decoratorProps)==null?void 0:e.params)==null?void 0:t.pageSize)||20,options:[{label:"5",value:5},{label:"10",value:10},{label:"20",value:20},{label:"50",value:50},{label:"100",value:100},{label:"200",value:200}],onChange:l=>{var c;const u=o.decoratorProps.params||{};u.pageSize=l,o.decoratorProps.params=u,r["x-decorator-props"].params=u,i.run(P(x({},(c=i.params)==null?void 0:c[0]),{pageSize:l,page:1})),a.emit("patch",{schema:{"x-uid":r["x-uid"],"x-decorator-props":r["x-decorator-props"]}})}}}},{name:"tableSize",type:"select",useComponentProps(){var e;(0,import_react.useField)();const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=t.reduceProperties((n,a)=>{if(a["x-component"]==="TableV2")return a},null);return{title:o("Table size"),value:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.size)||"small",options:[{label:o("Large"),value:"large"},{label:o("Middle"),value:"middle"},{label:o("Small"),value:"small"}],onChange:n=>{i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].size=n,r.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.TABLE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider",sort:7e3,useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"ConvertReferenceToDuplicate",sort:8e3,Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}Table`,collectionName:o,resourceName:n}},useVisible:()=>{var e;const t=(0,import_react.useFieldSchema)();return!((e=t==null?void 0:t["x-decorator-props"])!=null&&e.disableTemplate)}},{name:"divider2",type:"divider",sort:9e3},{name:"delete",type:"remove",sort:1e4,useComponentProps:()=>({removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})}]}),tableColumnSettings=new SchemaSettings({name:"fieldSettings:TableColumn",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},children:[{name:"customColumnTitle",type:"modal",useComponentProps(){var e;const{fieldSchema:t,collectionField:o}=useColumnSchema$1(),r=(0,import_react.useField)(),{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useFieldSchema)(),{dn:a}=useDesignable();return{title:i("Custom column title"),schema:{type:"object",title:i("Custom column title"),properties:{title:{title:i("Column title"),default:n==null?void 0:n.title,description:`${i("Original field title: ")}${((e=o==null?void 0:o.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{r.title=l,n.title=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),a.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:((e=i==null?void 0:i["x-component-props"])==null?void 0:e.tooltip)||"","x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.componentProps.tooltip=n,i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-component-props":i["x-component-props"]}})}}}},{name:"style",Component:e=>{const t=P(x({},e),{category:"style"});return(0,import_jsx_runtime.jsx)(SchemaSettingsLinkageRules,x({},t))},useVisible(){var e,t;const{fieldSchema:o}=useColumnSchema$1(),{isInSubTable:r}=useFlag(),i=(0,import_react.useField)();if(!r)return!0;const n=(t=i.path)==null?void 0:t.splice(((e=i.path)==null?void 0:e.length)-1,1);return o?i.form.query(`${n.concat("*."+o.name)}`).get("readPretty"):!1},useComponentProps(){const{name:e}=useCollection(),{linkageRulesProps:t}=useSchemaToolbar();return P(x({},t),{collectionName:e})}},{name:"columnWidth",type:"modal",useComponentProps(){var e;const t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:o("Column width"),schema:{type:"object",title:o("Column width"),properties:{width:{default:((e=r==null?void 0:r["x-component-props"])==null?void 0:e.width)||100,"x-decorator":"FormItem","x-component":"InputNumber","x-component-props":{}}}},onSubmit:({width:n})=>{const a=r["x-component-props"]||{};a.width=n;const l={"x-uid":r["x-uid"]};l["x-component-props"]=a,r["x-component-props"]=a,t.componentProps.width=n,i.emit("patch",{schema:l}),i.refresh()}}}},{name:"sortable",type:"switch",useVisible(){const e=useCollection(),{collectionField:t}=useColumnSchema$1(),{getInterface:o}=useCollectionManager_deprecated(),r=o(t==null?void 0:t.interface),{currentMode:i}=useAssociationFieldContext();return(r==null?void 0:r.sortable)===!0&&!i&&((e==null?void 0:e.name)===(t==null?void 0:t.collectionName)||!(t!=null&&t.collectionName)||(t==null?void 0:t.inherit))},useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:t("Sortable"),checked:e.componentProps.sorter,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{sorter:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.sorter=i,r.emit("patch",{schema:n}),r.refresh()}}}},{name:"setDefaultValue",useVisible(){const{fieldSchema:e}=useColumnSchema$1();return e?!(e!=null&&e["x-read-pretty"]):!1},Component:SchemaSettingsDefaultValue,useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}}},{name:"required",type:"switch",useVisible(){const{uiSchema:e,fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useField)();return t?["QuickEdit","FormItem"].includes(t["x-decorator"])&&!o.readPretty&&!(e!=null&&e["x-read-pretty"]):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{key:"required",title:o("Required"),checked:e==null?void 0:e.required,onChange:i=>{var n,a;if(!e)return console.error("fieldSchema is required");const l={"x-uid":e["x-uid"]};e.required=i,l.required=i;const c=(a=t.path)==null?void 0:a.splice(((n=t.path)==null?void 0:n.length)-1,1);t.form.query(`${c.concat("*."+e.name)}`).forEach(u=>{u.required=i}),r.emit("patch",{schema:l}),r.refresh()}}}},{name:"pattern",type:"select",useVisible(){const{fieldSchema:e,collectionField:t}=useColumnSchema$1(),o=(0,import_react.useField)();return e?["QuickEdit","FormItem"].includes(e["x-decorator"])&&!(o!=null&&o.readPretty)&&(t==null?void 0:t.interface)!=="o2m"&&!isPatternDisabled(e):!1},useComponentProps(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();let i="editable";return e?(e["x-disabled"]===!0&&(i="readonly"),e["x-read-pretty"]===!0&&(i="read-pretty"),{key:"pattern",title:o("Pattern"),options:[{label:o("Editable"),value:"editable"},{label:o("Readonly"),value:"readonly"},{label:o("Easy-reading"),value:"read-pretty"}],value:i,onChange:n=>{var a,l;const c={"x-uid":e["x-uid"]},u=(l=t.path)==null?void 0:l.splice(((a=t.path)==null?void 0:a.length)-1,1);switch(n){case"readonly":{e["x-read-pretty"]=!1,e["x-disabled"]=!0,c["x-read-pretty"]=!1,c["x-disabled"]=!0,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readonly=!0,m.disabled=!0});break}case"read-pretty":{e["x-read-pretty"]=!0,e["x-disabled"]=!1,c["x-read-pretty"]=!0,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!0});break}default:{e["x-read-pretty"]=!1,e["x-disabled"]=!1,c["x-read-pretty"]=!1,c["x-disabled"]=!1,t.form.query(`${u.concat("*."+e.name)}`).forEach(m=>{m.readPretty=!1,m.disabled+!1});break}}r.emit("patch",{schema:c}),r.refresh()}}):console.error("fieldSchema is required")}},{name:"fixed",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable();return{title:t("Fixed"),options:[{label:t("Not fixed"),value:"none"},{label:t("Left fixed"),value:"left"},{label:t("Right fixed"),value:"right"}],value:((e=o.componentProps)==null?void 0:e.fixed)||"none",onChange(n){const a={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].fixed=n,a["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.fixed=n,i.emit("patch",{schema:a}),i.refresh()}}}},{name:"hidden",type:"switch",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable();return{title:(0,import_jsx_runtime.jsxs)("span",{children:[t("Hide column"),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:t("In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect."),children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{marginLeft:4,opacity:.65}})})]}),checked:e.componentProps.columnHidden,onChange:i=>{const n={"x-uid":o["x-uid"]};o["x-component-props"]=P(x({},o["x-component-props"]),{columnHidden:i}),n["x-component-props"]=o["x-component-props"],e.componentProps.columnHidden=i,r.emit("patch",{schema:n}),r.refresh()}}}},fieldComponentSettingsItem]},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o={Select:"Select",DatePicker:"DatePicker",Nester:"Nester",SubTable:"SubTable",Picker:"Picker",PopoverNester:"PopoverNester",Tag:"Tag"},r=e.schemaSettingsManager.get(`fieldSettings:component:${o[t]||t}`);return(r==null?void 0:r.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!1,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseBlockSettings=new SchemaSettings({name:"blockSettings:filterCollapse",items:[{name:"EditBlockTitle",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"ConvertReferenceToDuplicate",Component:SchemaSettingsTemplate,useComponentProps(){var e,t;const{name:o}=useCollection_deprecated(),r=(0,import_react.useFieldSchema)(),{componentNamePrefix:i}=useBlockTemplateContext(),n=((e=r==null?void 0:r["x-decorator-props"])==null?void 0:e.resource)||((t=r==null?void 0:r["x-decorator-props"])==null?void 0:t.association);return{componentName:`${i}FilterCollapse`,collectionName:o,resourceName:n}}},{name:"ConnectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.COLLAPSE,emptyDescription:e("No blocks to connect")}}},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),filterCollapseItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterCollapseItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"customTitle",type:"modal",useComponentProps(){var e;const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),{getField:i}=useCollection_deprecated(),n=i(t.name)||r(t["x-collection-field"]),{dn:a}=useDesignable();return{title:o("Custom title"),schema:{type:"object",title:o("Custom title"),properties:{title:{default:t==null?void 0:t.title,description:`${o("Original title: ")}${((e=n==null?void 0:n.uiSchema)==null?void 0:e.title)||(t==null?void 0:t.title)}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:l})=>{l&&(t.title=l,a.emit("patch",{schema:{"x-uid":t["x-uid"],title:t.title}})),a.refresh()}}}},{name:"defaultCollapse",type:"switch",useComponentProps(){const e=(0,import_react.useFieldSchema)(),t=(0,import_react.useField)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Default collapse"),checked:t.componentProps.defaultCollapse,onChange:i=>{t.componentProps.defaultCollapse=i,import_lodash.default.set(e,"x-component-props.defaultCollapse",i),r.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":e["x-component-props"]}}),r.refresh()}}}},{name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{form:r}=useFormBlockContext(),i=(0,import_react.useField)(),{getCollectionJoinField:n}=useCollectionManager_deprecated(),{getField:a}=useCollection_deprecated(),l=a(o.name)||n(o["x-collection-field"]),{dn:c}=useDesignable();return{collectionName:l==null?void 0:l.target,defaultFilter:((t=(e=o==null?void 0:o["x-component-props"])==null?void 0:e.params)==null?void 0:t.filter)||{},form:r,onSubmit:({filter:u})=>{var m;import_lodash.default.set(i.componentProps,"params",P(x({},(m=i.componentProps)==null?void 0:m.params),{filter:u})),o["x-component-props"].params=i.componentProps.params,c.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultSortingRules",Component:SchemaSettingsDefaultSortingRules,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated(),r=o(e.name)||t(e["x-collection-field"]);return{name:r==null?void 0:r.target}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"titleField",type:"select",useComponentProps(){var e,t;const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),a=n(o.name)||i(o["x-collection-field"]),l=useCollectionManager(),c=useCompile(),{dn:u}=useDesignable(),m=(a!=null&&a.target?l.getCollectionFields(a==null?void 0:a.target):[]).filter(p=>!(p!=null&&p.target)&&p.type!=="boolean").map(p=>{var h;return{value:p==null?void 0:p.name,label:c((h=p==null?void 0:p.uiSchema)==null?void 0:h.title)||(p==null?void 0:p.name)}}),d=p=>{var h,g,_;const f={"x-uid":o["x-uid"]},v=P(x(x({},(g=(h=a==null?void 0:a.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:g.fieldNames),(_=o["x-component-props"])==null?void 0:_.fieldNames),{label:p});o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].fieldNames=v,f["x-component-props"]=o["x-component-props"],u.emit("patch",{schema:f}),u.refresh()};return{key:"title-field",title:r("Title field"),options:m,value:(t=(e=o["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange:d}},useVisible(){const e=(0,import_react.useFieldSchema)(),t=useCollection().getField(e.name);return!!(t!=null&&t.target)}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue,componentProps:{hideVariableButton:!0}}]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),filterFormBlockSettings=new SchemaSettings({name:"blockSettings:filterForm",items:[{name:"title",Component:SchemaSettingsBlockTitleItem},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"formItemTemplate",Component:SchemaSettingsFormItemTemplate,useComponentProps(){var e,t;const{componentNamePrefix:o}=useBlockTemplateContext(),{name:r}=useCollection(),i=(0,import_react.useFieldSchema)(),n=((e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.resource)||((t=i==null?void 0:i["x-decorator-props"])==null?void 0:t.association);return{componentName:`${o}FilterFormItem`,collectionName:r,resourceName:n}}},{name:"fieldLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection_deprecated(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Field Linkage rules")}}},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{name:e}=useCollection(),{t}=(0,import_react_i18next.useTranslation)();return{collectionName:e,title:t("Block Linkage rules"),category:LinkageRuleCategory.block}}},{name:"connectDataBlocks",Component:SchemaSettingsConnectDataBlocks,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{type:FilterBlockType.FORM,emptyDescription:e("No blocks to connect")}}},{name:"setBlockLayout",Component:SchemaSettingsLayoutItem},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),fieldComponentNameMap=e=>e==="Select"?"FilterSelect":e==="Picker"?"FilterPicker":e,filterFormItemFieldSettings=new SchemaSettings({name:"fieldSettings:FilterFormItem",items:[{name:"decoratorOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Generic properties")}},useChildren(){return[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=useCompile(),n=(0,import_react.useFieldSchema)(),{getCollectionJoinField:a}=useCollectionManager_deprecated(),{getField:l}=useCollection_deprecated(),c=l(n.name)||a(n["x-collection-field"]);return{title:t("Edit field title"),schema:{type:"object",title:t("Edit field title"),properties:{title:{title:t("Field title"),default:r==null?void 0:r.title,description:`${t("Original field title: ")}${(e=c==null?void 0:c.uiSchema)==null?void 0:e.title}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit({title:u}){var m;const d=u.trim()===""?(m=c==null?void 0:c.uiSchema)==null?void 0:m.title:u;r.title=i(d),n.title=d,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}}},{name:"displayTitle",type:"switch",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable(),i=(0,import_react.useField)(),n=(0,import_react.useFieldSchema)();return{title:o("Display title"),checked:(t=(e=n["x-decorator-props"])==null?void 0:e.showTitle)!=null?t:!0,onChange(a){n["x-decorator-props"]=n["x-decorator-props"]||{},n["x-decorator-props"].showTitle=a,i.decoratorProps.showTitle=a,r.emit("patch",{schema:{"x-uid":n["x-uid"],"x-decorator-props":P(x({},n["x-decorator-props"]),{showTitle:a})}}),r.refresh()}}}},{name:"editDescription",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:e("Edit description"),schema:{type:"object",title:e("Edit description"),properties:{description:{default:o==null?void 0:o.description,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({description:i}){o.description=i,r.description=i,t.emit("patch",{schema:{"x-uid":r["x-uid"],description:r.description}}),t.refresh()}}}},{name:"editTooltip",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)();return{title:t("Edit tooltip"),schema:{type:"object",title:t("Edit tooltip"),properties:{tooltip:{default:(e=i==null?void 0:i["x-decorator-props"])==null?void 0:e.tooltip,"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{}}}},onSubmit({tooltip:n}){r.decoratorProps.tooltip=n,i["x-decorator-props"]=i["x-decorator-props"]||{},i["x-decorator-props"].tooltip=n,o.emit("patch",{schema:{"x-uid":i["x-uid"],"x-decorator-props":i["x-decorator-props"]}}),o.refresh()}}}},{name:"setDefaultValue",Component:SchemaSettingsDefaultValue},{name:"operator",Component:EditOperator},fieldComponentSettingsItem]}},{name:"componentOptions",type:"itemGroup",hideIfNoChildren:!0,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{title:e("Specific properties")}},useChildren(){const e=useApp(),t=useFieldComponentName(),o=e.schemaSettingsManager.get(`fieldSettings:component:${fieldComponentNameMap(t)}`);return(o==null?void 0:o.items)||[]}},{name:"divider",type:"divider"},{name:"delete",type:"remove",sort:100,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),markdownBlockSettings=new SchemaSettings({name:"blockSettings:markdown",items:[{name:"EditMarkdown",type:"item",useComponentProps(){const e=(0,import_react.useField)(),{t}=(0,import_react_i18next.useTranslation)();return{title:t("Edit markdown"),onClick:()=>{e.editable=!0}}}},{name:"setTheBlockHeight",Component:SchemaSettingsBlockHeightItem},{name:"blockLinkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useFieldSchema)()["x-decorator"]==="FormItem";return{title:e(t?"Linkage rules":"Block Linkage rules"),category:LinkageRuleCategory.block,returnScope:o=>o.filter(r=>t?!0:!["$nForm","$nRecord"].includes(r.value))}}},{name:"setBlockTemplate",Component:SchemaSettingsRenderEngine},{name:"divider",type:"divider"},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),ellipsisSettingsItem={name:"ellipsis",type:"switch",useComponentProps(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=useTableFieldInstanceList(),r=(0,import_react.useFieldSchema)(),i=(0,import_react.useField)(),{dn:n}=useDesignable(),{t:a}=(0,import_react_i18next.useTranslation)(),l=t||r,c=t?o[0]?!o[0].readPretty:!t["x-read-pretty"]:!i.readPretty;return{title:a("Ellipsis overflow content"),checked:!!((e=l["x-component-props"])!=null&&e.ellipsis),hidden:c,onChange:u=>q(this,null,function*(){t&&o?o.forEach(m=>{m.componentProps.ellipsis=u}):i.componentProps.ellipsis=u,import_lodash.default.set(l,"x-component-props.ellipsis",u),yield n.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":P(x({},l["x-component-props"]),{ellipsis:u})}})})}}},enableLinkSettingsItem={name:"enableLink",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o,{name:i}=useBlockContext()||{};return i!=="kanban"&&((r==null?void 0:r["x-read-pretty"])||e.readPretty)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableLink,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},enableScanSettingsItem={name:"enableScan",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o;return!(r!=null&&r["x-read-pretty"])&&!e.readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable Scan"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.enableScan,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableScan:l}),o.componentProps.enableScan=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},disableManualInputSettingsItem={name:"disableManualInput",type:"switch",useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return(e=(t||o)["x-component-props"])==null?void 0:e.enableScan},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Disable manual input"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.disableManualInput,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{disableManualInput:l}),o.componentProps.disableManualInput=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},openModeSettingsItem={name:"openMode",Component:SchemaSettingOpenModeSchemaItems,useComponentProps(){const{hideOpenMode:e}=useOpenModeContext(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)();return{openMode:!e,openSize:!e,targetSchema:t||o}},useVisible(){var e;const t=(0,import_react.useField)(),{fieldSchema:o}=useColumnSchema$1(),r=(0,import_react.useFieldSchema)(),i=o||r;return((i==null?void 0:i["x-read-pretty"])||t.readPretty)&&((e=i==null?void 0:i["x-component-props"])==null?void 0:e.enableLink)}},autoFocusSettingsItem={name:"autoFocus",type:"switch",useVisible(){const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react.useFieldSchema)(),r=t||o;return!(r!=null&&r["x-read-pretty"])&&!e.readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Auto focus"),checked:(e=n==null?void 0:n["x-component-props"])==null?void 0:e.autoFocus,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{autoFocus:l}),o.componentProps.autoFocus=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},inputComponentSettings=new SchemaSettings({name:"fieldSettings:component:Input",items:[ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem,enableScanSettingsItem,disableManualInputSettingsItem,autoFocusSettingsItem]}),enableLink$1={name:"enableLink",type:"switch",useVisible(){return(0,import_react.useField)().readPretty},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField$2={name:"titleField",type:"select",useComponentProps(){var e,t,o,r;const{t:i}=(0,import_react_i18next.useTranslation)(),n=(0,import_react.useField)(),{dn:a}=useDesignable(),l=useTitleFieldOptions(),{uiSchema:c,fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,h=useCollectionField(),g=m||h,_=x(x(x({},(t=(e=g==null?void 0:g.uiSchema)==null?void 0:e["x-component-props"])==null?void 0:t.fieldNames),(o=n==null?void 0:n.componentProps)==null?void 0:o.fieldNames),(r=p==null?void 0:p["x-component-props"])==null?void 0:r.fieldNames);return{title:i("Title field"),options:l,value:_==null?void 0:_.label,onChange(f){var v,C,S,b,y;const F={"x-uid":p["x-uid"]},j=P(x(x({},(C=(v=g==null?void 0:g.uiSchema)==null?void 0:v["x-component-props"])==null?void 0:C.fieldNames),(S=p["x-component-props"])==null?void 0:S.fieldNames),{label:f});p["x-component-props"]=p["x-component-props"]||{},p["x-component-props"].fieldNames=j,F["x-component-props"]=p["x-component-props"],n.componentProps.fieldNames=p["x-component-props"].fieldNames;const k=(y=n.path)==null?void 0:y.splice(((b=n.path)==null?void 0:b.length)-1,1);n.form.query(`${k.concat("*."+p.name)}`).forEach(T=>{T.componentProps.fieldNames=_}),a.emit("patch",{schema:F}),a.refresh()}}}},getAllowMultiple=e=>{const t=(e==null?void 0:e.title)||"Allow multiple";return{name:"allowMultiple",type:"switch",useVisible(){return useIsAssociationField()},useComponentProps(){var o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c,refresh:u}=useDesignable();return{title:r(t),checked:((o=l["x-component-props"])==null?void 0:o.multiple)===void 0?!0:l["x-component-props"].multiple,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},i.componentProps=i.componentProps||{},l["x-component-props"].multiple=m,i.componentProps.multiple=m,d["x-component-props"]=l["x-component-props"],c.emit("patch",{schema:d}),u()}}}}},quickCreate={name:"quickCreate",type:"select",useComponentProps(){var e;const{defaultOpenMode:t}=useOpenModeContext(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n,insertAdjacent:a}=useDesignable();return{title:o("Quick create"),options:[{label:o("None"),value:"none"},{label:o("Dropdown"),value:"quickAdd"},{label:o("Pop-up"),value:"modalAdd"}],value:((e=r.componentProps)==null?void 0:e.addMode)||"none",onChange(l){l==="modalAdd"&&(i.reduceProperties((u,m)=>m["x-component"]==="Action"?m:u,null)||a("afterBegin",{"x-action":"create","x-acl-action":"create",title:"{{t('Add new')}}","x-toolbar":"ActionSchemaToolbar","x-toolbar-props":{draggable:!1},"x-settings":"actionSettings:addNew","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:t,type:"default",component:"CreateRecordAction"}}));const c={"x-uid":i["x-uid"]};i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].addMode=l,c["x-component-props"]=i["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps.addMode=l,n.emit("patch",{schema:c}),n.refresh()}}}},setDefaultSortingRules$1={name:"setDefaultSortingRules",Component:SchemaSettingsSortingRule},setTheDataScope={name:"setTheDataScope",Component:SchemaSettingsDataScope,useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),{fieldSchema:u,collectionField:m}=useColumnSchema$1(),d=(0,import_react.useFieldSchema)(),p=u||d,h=m||n(p.name)||r(p["x-collection-field"]),g=useVariables$1(),_=useLocalVariables$1(),{dn:f}=useDesignable();return{collectionName:h==null?void 0:h.target,defaultFilter:((o=(t=(e=p==null?void 0:p["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:v=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},v),{form:a,collectionField:v.collectionField,record:l,shouldChange:getShouldChange({collectionField:v.collectionField,variables:g,localVariables:_,getAllCollectionsInheritChain:i})})),onSubmit:({filter:v})=>{v=removeNullCondition(v),import_lodash.default.set(p["x-component-props"],"service.params.filter",v),import_lodash.default.set(c.componentProps,"service.params.filter",v),f.emit("patch",{schema:{"x-uid":p["x-uid"],"x-component-props":p["x-component-props"]}})}}}},fieldComponent$7={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),l=useIsAddNewForm(),c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:a,value:c,onChange(m){var d,p;const h={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,h["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&l&&(h.default=null,n.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:h}),u.refresh()}}}},selectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Select",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},quickCreate),{useVisible(){const e=useIsAssociationField(),t=useIsFieldReadPretty(),{fieldSchema:o}=useColumnSchema$1(),{type:r}=useDataBlockProps()||{};return e&&!o&&!t&&r!=="publicForm"}}),P(x({},getAllowMultiple()),{useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField(),o=useIsShowMultipleSwitch();return!e&&t&&o()}}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}}),ellipsisSettingsItem,P(x({},enableLinkSettingsItem),{useVisible(){const e=useCollectionField(),t=useIsFieldReadPretty();return!useIsAssociationField()&&t&&e.interface!=="multipleSelect"}}),P(x({},openModeSettingsItem),{useVisible(){var e,t;const o=(0,import_react.useField)(),r=useIsAssociationField(),{fieldSchema:i}=useColumnSchema$1(),n=(0,import_react.useFieldSchema)(),a=i||n;return((a==null?void 0:a["x-read-pretty"])||o.readPretty)&&(((e=a==null?void 0:a["x-component-props"])==null?void 0:e.enableLink)||r&&((t=a==null?void 0:a["x-component-props"])==null?void 0:t.enableLink)!==!1)}})]}),filterSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterSelect",items:[P(x({},fieldComponent$7),{useVisible:useIsAssociationField}),P(x({},setTheDataScope),{useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),P(x({},setDefaultSortingRules$1),{useComponentProps(){const{fieldSchema:e}=useColumnSchema$1();return{fieldSchema:e}},useVisible(){const e=useIsSelectFieldMode(),t=useIsFieldReadPretty();return e&&!t}}),getAllowMultiple({title:"Allow multiple selection"}),P(x({},titleField$2),{useVisible:useIsAssociationField}),P(x({},enableLink$1),{useVisible(){const e=useIsFieldReadPretty();return useIsAssociationField()&&e}})]}),fieldComponent$6={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},titleField$1={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{dn:n}=useDesignable(),a=useTitleFieldOptions(),l=useCollectionField();return{title:o("Title field"),options:a,value:(t=(e=r==null?void 0:r.componentProps)==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(c){var u,m;const d={"x-uid":i["x-uid"]},p=P(x(x({},(m=(u=l==null?void 0:l.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.fieldNames),r.componentProps.fieldNames),{label:c});i["x-component-props"]=i["x-component-props"]||{},i["x-component-props"].fieldNames=p,d["x-component-props"]=i["x-component-props"],r.componentProps.fieldNames=i["x-component-props"].fieldNames,n.emit("patch",{schema:d}),n.refresh()}}}},cascadeSelectComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:CascadeSelect",items:[fieldComponent$6,titleField$1,ellipsisSettingsItem,setTheDataScope]}),SchemaSettingsDateRange=function e(t){var o,r,i,n,a,l,c,u,m,d,p,h,g,_,f,v;const{fieldSchema:C}=t,S=(0,import_react.useField)(),{dn:b}=useDesignable(),{t:y}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:F}=useCollectionManager_deprecated(),{isInSubForm:j,isInSubTable:k}=useFlag()||{},T=F(C==null?void 0:C["x-collection-field"])||{},B=((o=C==null?void 0:C["x-component-props"])==null?void 0:o.showTime)||((i=(r=T==null?void 0:T.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.showTime)||!1,w=((n=C==null?void 0:C["x-component-props"])==null?void 0:n.dateFormat)||((l=(a=T==null?void 0:T.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.dateFormat)||"YYYY-MM-DD",L=((c=C==null?void 0:C["x-component-props"])==null?void 0:c.timeFormat)||((m=(u=T==null?void 0:T.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.timeFormat)||"HH:mm:ss",D=((d=C==null?void 0:C["x-component-props"])==null?void 0:d.picker)||((h=(p=T==null?void 0:T.uiSchema)==null?void 0:p["x-component-props"])==null?void 0:h.picker)||"date";C["x-read-pretty"]||S.readOnly||S.readPretty;const R=(g=C==null?void 0:C["x-component-props"])==null?void 0:g._minDate,$=(_=C==null?void 0:C["x-component-props"])==null?void 0:_._maxDate,M=((f=T==null?void 0:T.uiSchema)==null?void 0:f["x-component-props"].gmt)||!1,I=((v=T==null?void 0:T.uiSchema)==null?void 0:v["x-component-props"].utc)||!1,N=useRecord(),{form:O}=useFormBlockContext(),E=(0,import_react2.useCallback)(z=>(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{"x-component":"DatePicker","x-component-props":{dateFormat:w,timeFormat:L,gmt:M,utc:I,picker:D,showTime:B,placeholder:'{{t("Please select time or variable")}}',style:{minWidth:385}},name:"value","x-read-pretty":!1,"x-validator":void 0,"x-decorator":void 0}}),[w,M,D,B,L,I]),V=(0,import_react2.useCallback)(z=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},z),{form:O,record:N,noDisabled:!0,renderSchemaComponent:E})),[C,O,N,E]);function U(z){if(z!=null){if(typeof z=="string")return z;if(typeof z=="object"&&Object.prototype.hasOwnProperty.call(z,"value"))return U(z.value)}}return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:y("Date range limit"),schema:{type:"object","x-decorator":"",properties:{_minDate:{type:"string",title:'{{t("MinDate")}}',"x-decorator":"FormItem","x-component":V,"x-component-props":{name:"_minDate"},default:isVariable$1(R)?R:{value:R}},_maxDate:{type:"string",title:'{{t("MaxDate")}}',"x-decorator":"FormItem","x-component":V,"x-component-props":{name:"_maxDate"},default:isVariable$1($)?$:{value:$}}}},onSubmit:z=>{const G={"x-uid":C["x-uid"]};G["x-component-props"]=S.componentProps||{},C["x-component-props"]=P(x({},S.componentProps||{}),{_maxDate:U(z==null?void 0:z._maxDate),_minDate:U(z==null?void 0:z._minDate)}),G["x-component-props"]=C["x-component-props"],S.componentProps=C["x-component-props"];const Y=S.path.entire.split(".");Y.pop();const H=Y.join(".");S.query(`${H}.*[0:].${C.name}`).forEach(K=>{K.props.name===C.name&&K.setComponentProps({_maxDate:U(z==null?void 0:z._maxDate),_minDate:U(z==null?void 0:z._minDate)})}),b.emit("patch",{schema:G}),b.refresh()},ModalContextProvider:z=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:j,isInSubTable:k,isInFormDataTemplate:!0,children:z.children})})},datePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},{name:"dateScopeSelect",Component:SchemaSettingsDateRange,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useFieldSchema)(),o=e||t;return!(o!=null&&o["x-read-pretty"])}},ellipsisSettingsItem,enableLinkSettingsItem,openModeSettingsItem]}),rangePickerPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:DatePicker.RangePicker",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},ellipsisSettingsItem]}),fileSizeOptions=[{label:"{{t('Large')}}",value:"large"},{label:"{{t('Default')}}",value:"default"},{label:"{{t('Small')}}",value:"small"},{label:500,value:500},{label:400,value:400},{label:300,value:300}],fieldComponent$5={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},fileSizeSetting={name:"size",type:"select",useVisible(){const e=useIsFieldReadPretty(),{fieldSchema:t}=useColumnSchema$1();return e&&!t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i}=useDesignable(),n=useCompile();return{title:t("Size"),options:n(fileSizeOptions),value:((e=o==null?void 0:o.componentProps)==null?void 0:e.size)||"default",onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].size=a,l["x-component-props"]=r["x-component-props"],o.componentProps=o.componentProps||{},o.componentProps.size=a,i.emit("patch",{schema:l}),i.refresh()}}}},showFileName={name:"showFileName",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Show file name"),checked:((e=n["x-component-props"])==null?void 0:e.showFileName)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.showFileName=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].showFileName=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}}},fileManagerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FileManager",items:[fieldComponent$5,{name:"quickUpload",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Quick upload"),checked:((e=n["x-component-props"])==null?void 0:e.quickUpload)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.quickUpload=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].quickUpload=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},{name:"selectFile",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a,refresh:l}=useDesignable();return{title:t("Select file"),checked:((e=n["x-component-props"])==null?void 0:e.selectFile)!==!1,onChange(c){const u={"x-uid":n["x-uid"]};o.componentProps.selectFile=c,n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].selectFile=c,u["x-component-props"]=n["x-component-props"],a.emit("patch",{schema:u}),l()}}},useVisible(){const{fieldSchema:e}=useColumnSchema$1(),t=(0,import_react.useField)(),o=(0,import_react.useForm)();return!(e!=null&&e["x-read-pretty"]||t.readPretty||o.readPretty)}},fileSizeSetting,showFileName,P(x({},getAllowMultiple()),{useVisible(){const e=useIsAssociationField(),t=useIsShowMultipleSwitch();return e&&t()}})]}),designerCss$3=import_css.css`
|
|
687
687
|
position: relative;
|
|
688
688
|
&:hover {
|
|
689
689
|
> .general-schema-designer {
|
|
@@ -721,7 +721,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
721
721
|
}
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
|
-
`,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[P(x({},fileSizeSetting),{useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"}}),showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[P(x({},fileSizeSetting),{useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o}}),showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),m=n(u.name)||r(u["x-collection-field"]),d=useVariables$1(),p=useLocalVariables$1(),{dn:h}=useDesignable();return{collectionName:m==null?void 0:m.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:g=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:a,collectionField:g.collectionField,record:l,shouldChange:getShouldChange({collectionField:g.collectionField,variables:d,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:g})=>{g=removeNullCondition(g),import_lodash.default.set(c.componentProps,"service.params.filter",g),u["x-component-props"]=c.componentProps,h.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),enabledIndexColumn={name:"enableIndexColumn",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Enable index column"),checked:e.componentProps.enableIndexColumn!==!1,onChange:i=>q(void 0,null,function*(){e.componentProps=e.componentProps||{},e.componentProps.enableIndexColumn=i,t["x-component-props"].enableIndexColumn=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":t["x-component-props"]}})})}}},fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=(0,import_react.useFieldSchema)(),{multiple:t}=e["x-component-props"],o=useIsFieldReadPretty(),r=useCollectionField();return!o&&t!==!1&&["hasMany","belongsToMany"].includes(r==null?void 0:r.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(m=>m!=null&&m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=d,o["x-component-props"].sortArr=d,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1(),r=o||t,i=useCollectionManager().getCollectionField(r["x-collection-field"]),{rerenderDataBlock:n}=useRerenderDataBlock();return{collectionName:i==null?void 0:i.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:n}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,enabledIndexColumn,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){var d,p;const h={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,h["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(h.default=null,l.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:h}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$2]}),filterRecordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterPicker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,getAllowMultiple({title:"Allow multiple selection"}),titleField$2]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(m){const d={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,d["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&c&&(d.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:d}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$2,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),m=n||u,{dn:d}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var h,g;const _={"x-uid":l["x-uid"]},f=P(x(x({},(g=(h=m==null?void 0:m.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:g.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=f,_["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,d.emit("patch",{schema:_}),d.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:m}=useDesignable(),d=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:d,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const h={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,h["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,m.emit("patch",{schema:h}),m.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),SchemaSettingsTimeFormat=function e(t){var o,r,i;const{fieldSchema:n}=t,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:u}=useCollectionManager_deprecated(),m=u(n==null?void 0:n["x-collection-field"])||{},d=((o=n==null?void 0:n["x-component-props"])==null?void 0:o.format)||((i=(r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.format)||"HH:mm:ss";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Time format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{format:{type:"string",title:'{{t("Time format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{className:import_css.css`
|
|
724
|
+
`,TableColumnActionBar=(0,import_react.observer)(e=>{const t=useDesigner();return(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})},{displayName:"TableColumnActionBar"}),useColumnSchema=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),r=o.reduceProperties((n,a)=>a["x-component"]==="CollectionField"?a:n,null);if(!r)return{};const i=e(r.name);return{columnSchema:o,fieldSchema:r,collectionField:i,uiSchema:t(i==null?void 0:i.uiSchema)}},TableColumnDecorator=e=>{const t=useDesigner(),o=(0,import_react.useField)(),{fieldSchema:r,uiSchema:i,collectionField:n}=useColumnSchema(),a=useCompile();return(0,import_react2.useEffect)(()=>{o.title||r&&i!=null&&i.title&&(o.title=i==null?void 0:i.title)},[i==null?void 0:i.title]),(0,import_jsx_runtime.jsxs)(SortableItem,{className:designerCss$3,children:[(0,import_jsx_runtime.jsx)(t,{fieldSchema:r,uiSchema:i,collectionField:n}),o.title||a(i==null?void 0:i.title)]})},previewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Preview",items:[P(x({},fileSizeSetting),{useVisible(){var e;const{fieldSchema:t}=useColumnSchema();return((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])!=="TableV2.Column"}}),showFileName]}),uploadAttachmentComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Upload.Attachment",items:[P(x({},fileSizeSetting),{useVisible(){var e;const{fieldSchema:t}=useColumnSchema$1(),o=((e=t==null?void 0:t.parent)==null?void 0:e["x-component"])==="TableV2.Column";return useIsFieldReadPretty()&&!o}}),showFileName]}),inputJSONSettings=new SchemaSettings({name:"fieldSettings:component:Input.JSON",items:[ellipsisSettingsItem]}),createSettingsItem=e=>({name:e.name,type:"select",useComponentProps(){var t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),{fieldSchema:n}=useColumnSchema$1(),a=n||i,{dn:l}=useDesignable();return{title:o(e.title),options:e.options(o),value:((t=a["x-component-props"])==null?void 0:t[e.name])||e.defaultValue,onChange(c){const u={"x-uid":a["x-uid"]};a["x-component-props"]=a["x-component-props"]||{},a["x-component-props"][e.name]=c,u["x-component-props"]=a["x-component-props"],r.componentProps=r.componentProps||{},r.componentProps[e.name]=c,l.emit("patch",{schema:u})}}}}),getSizeOptions=e=>[{value:"small",label:e("Small")},{value:"middle",label:e("Middle")},{value:"large",label:e("Large")},{value:"oversized",label:e("Oversized")},{value:"auto",label:e("Auto")}],getObjectFitOptions=e=>[{value:"cover",label:e("Cover")},{value:"fill",label:e("Fill")},{value:"contain",label:e("Contain")},{value:"scale-down",label:e("Scale Down")},{value:"none",label:e("None")}],size=createSettingsItem({name:"size",title:"Size",options:getSizeOptions,defaultValue:"small"}),objectFit=createSettingsItem({name:"objectFit",title:"Object Fit",options:getObjectFitOptions,defaultValue:"cover"}),inputPreviewComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Input.Preview",items:[size,objectFit]}),inputTextAreaSettings=new SchemaSettings({name:"fieldSettings:component:Input.TextArea",items:[ellipsisSettingsItem,autoFocusSettingsItem]}),inputURLSettings=new SchemaSettings({name:"fieldSettings:component:Input.URL",items:[ellipsisSettingsItem,autoFocusSettingsItem]}),markdownSettings=new SchemaSettings({name:"fieldSettings:component:Markdown",items:[ellipsisSettingsItem]}),markdownVditorSettings=new SchemaSettings({name:"fieldSettings:component:MarkdownVditor",items:[ellipsisSettingsItem]}),richTextSettings=new SchemaSettings({name:"fieldSettings:component:RichText",items:[ellipsisSettingsItem]});function GroupTitleEditor(e){const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{dn:r}=useDesignable(),{t:i}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:i("Edit group title"),schema:{type:"object",title:i("Edit group title"),properties:{children:{"x-decorator":"FormItem","x-component":"Input",title:i("Group title"),default:t.componentProps.children,"x-component-props":{}}}},onSubmit:({children:n})=>{t.componentProps.children=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].children=n,r.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":x({},o["x-component-props"])}}),r.refresh()}})}const dividerSettings=new SchemaSettings({name:"blockSettings:divider",items:[{name:"editTitle",type:"item",Component:GroupTitleEditor},{name:"orientation",type:"select",useComponentProps(){var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{dn:i}=useDesignable();return{title:r("Title position"),value:((e=t.componentProps)==null?void 0:e.orientation)||"left",options:[{label:r("Left"),value:"left"},{label:r("Center"),value:"center"},{label:r("Right"),value:"right"}],onChange:n=>{t.componentProps=t.componentProps||{},t.componentProps.orientation=n,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].orientation=n,i.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}}},{name:"dashed",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Dashed"),defaultChecked:!0,checked:e.componentProps.dashed,onChange:i=>{e.componentProps.dashed=i,t["x-component-props"].dashed=i,i===!1&&(t["x-component-props"].dashed=!1),r.emit("patch",{schema:t}),r.refresh()}}}},{name:"color",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.color||"rgba(0, 0, 0, 0.88)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.color=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].color=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"borderColor",type:"item",useComponentProps:()=>{const{t:e}=(0,import_react_i18next.useTranslation)(),{dn:t}=useDesignable(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)();return{title:(0,import_jsx_runtime.jsxs)("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between"},children:[e("Divider line color"),(0,import_jsx_runtime.jsx)("div",{style:{float:"right"},children:(0,import_jsx_runtime.jsx)(ColorPicker,{defaultValue:o.componentProps.borderColor||"rgba(5, 5, 5, 0.06)",onChange:i=>{o.componentProps=o.componentProps||{},o.componentProps.borderColor=i,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].borderColor=i,t.emit("patch",{schema:r}),t.refresh()}})})]})}}},{name:"delete",type:"remove",useComponentProps(){return{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}}]}),inputNumberComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:InputNumber",items:[{name:"displayFormat",Component:SchemaSettingsNumberFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}},useVisible(){return useIsFieldReadPretty()}},enableLinkSettingsItem,openModeSettingsItem,autoFocusSettingsItem]}),filterFormItemSettings=new SchemaSettings({name:"FilterFormItemSettings",items:[{name:"editFieldTitle",Component:EditTitle},{name:"editDescription",Component:EditDescription},{name:"editTooltip",Component:EditTooltip},{name:"validationRules",Component:EditValidationRules},{name:"setDataScope",Component:SchemaSettingsDataScope,useVisible(){const e=useIsSelectFieldMode(),t=useIsFormReadPretty();return e&&!t},useComponentProps(){var e,t,o;const{getCollectionJoinField:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),{getField:n}=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=useRecord(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),m=n(u.name)||r(u["x-collection-field"]),d=useVariables$1(),p=useLocalVariables$1(),{dn:h}=useDesignable();return{collectionName:m==null?void 0:m.target,defaultFilter:((o=(t=(e=u==null?void 0:u["x-component-props"])==null?void 0:e.service)==null?void 0:t.params)==null?void 0:o.filter)||{},form:a,dynamicComponent:g=>(0,import_jsx_runtime.jsx)(VariableInput,P(x({},g),{form:a,collectionField:g.collectionField,record:l,shouldChange:getShouldChange({collectionField:g.collectionField,variables:d,localVariables:p,getAllCollectionsInheritChain:i})})),onSubmit:({filter:g})=>{g=removeNullCondition(g),import_lodash.default.set(c.componentProps,"service.params.filter",g),u["x-component-props"]=c.componentProps,h.emit("patch",{schema:{"x-uid":u["x-uid"],"x-component-props":c.componentProps}})}}}},{name:"fieldMode",Component:EditComponent},{name:"operator",Component:EditOperator},{name:"titleField",Component:EditTitleField},{name:"divider",type:"divider",useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),{getField:t}=useCollection_deprecated(),o=(0,import_react.useFieldSchema)();return!!(t(o.name)||e(o["x-collection-field"]))}},{name:"remove",type:"remove",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)();return{removeParentsIfNoChildren:!0,confirm:{title:e("Delete field")},breakRemoveOn:{"x-component":"Grid"}}}}]}),enabledIndexColumn={name:"enableIndexColumn",type:"switch",useComponentProps:()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{dn:r}=useDesignable();return{title:o("Enable index column"),checked:e.componentProps.enableIndexColumn!==!1,onChange:i=>q(void 0,null,function*(){e.componentProps=e.componentProps||{},e.componentProps.enableIndexColumn=i,t["x-component-props"].enableIndexColumn=i,r.emit("patch",{schema:{"x-uid":t["x-uid"],"x-component-props":t["x-component-props"]}})})}}},fieldComponent$4={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},allowSelectExistingRecord={name:"allowSelectExistingRecord",type:"switch",useVisible(){const e=(0,import_react.useFieldSchema)(),{multiple:t}=e["x-component-props"],o=useIsFieldReadPretty(),r=useCollectionField();return!o&&t!==!1&&["hasMany","belongsToMany"].includes(r==null?void 0:r.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow selection of existing records"),checked:(e=r["x-component-props"])==null?void 0:e.allowSelectExistingRecord,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowSelectExistingRecord=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowSelectExistingRecord=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},allowDisassociation={name:"allowDisassociation",type:"switch",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow disassociation"),checked:((e=r["x-component-props"])==null?void 0:e.allowDisassociation)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowDisassociation=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowDisassociation=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules={name:"SetDefaultSortingRules",type:"modal",useComponentProps(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=o["x-collection-field"],{target:i}=e(r)||{},n=useSortFields(i),{t:a}=(0,import_react_i18next.useTranslation)(),{dn:l}=useDesignable(),c=t.componentProps.sortArr||[],u=c==null?void 0:c.map(m=>m!=null&&m.startsWith("-")?{field:m.substring(1),direction:"desc"}:{field:m,direction:"asc"});return{title:a("Set default sorting rules"),components:{ArrayItems:import_antd_v5.ArrayItems},schema:{type:"object",title:a("Set default sorting rules"),properties:{sort:{type:"array",default:u,"x-component":"ArrayItems","x-decorator":"FormItem",items:{type:"object",properties:{space:{type:"void","x-component":"Space",properties:{sort:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.SortHandle"},field:{type:"string",enum:n,required:!0,"x-decorator":"FormItem","x-component":"Select","x-component-props":{style:{width:260}}},direction:{type:"string","x-decorator":"FormItem","x-component":"Radio.Group","x-component-props":{optionType:"button"},enum:[{label:a("ASC"),value:"asc"},{label:a("DESC"),value:"desc"}]},remove:{type:"void","x-decorator":"FormItem","x-component":"ArrayItems.Remove"}}}}},properties:{add:{type:"void",title:a("Add sort field"),"x-component":"ArrayItems.Addition"}}}}},onSubmit:({sort:m})=>{const d=m.map(p=>p.direction==="desc"?`-${p.field}`:p.field);t.componentProps.sortArr=d,o["x-component-props"].sortArr=d,l.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})}}},useVisible(){const{getCollectionJoinField:e}=useCollectionManager_deprecated(),t=(0,import_react.useFieldSchema)()["x-collection-field"],{interface:o}=e(t)||{};return useIsFieldReadPretty()&&["m2m","o2m"].includes(o)}},allowAddNewData={name:"allowAddNewData",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useIsAssociationField();return!e&&t},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow add new"),checked:((e=r["x-component-props"])==null?void 0:e.allowAddnew)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};o.componentProps.allowAddnew=a,r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].allowAddnew=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},LinkageRulesComponent=withDynamicSchemaProps(e=>(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(FormLinkageRules,x({},e))}),{displayName:"LinkageRulesComponent"}),linkageRules={name:"linkageRules",Component:SchemaSettingsLinkageRules,useComponentProps(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{fieldSchema:o}=useColumnSchema$1(),r=o||t,i=useCollectionManager().getCollectionField(r["x-collection-field"]),{rerenderDataBlock:n}=useRerenderDataBlock();return{collectionName:i==null?void 0:i.target,Component:LinkageRulesComponent,readPretty:e.readPretty,afterSubmit:n}}},recordPerPage={name:"recordsPerPage",type:"select",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),{dn:i}=useDesignable(),n=[10,20,50,100];return{title:t("Records per page"),value:((e=r.componentProps)==null?void 0:e.pageSize)||10,options:n.map(a=>({value:a})),onChange:a=>{const l={"x-uid":o["x-uid"]};r.componentProps=r.componentProps||{},r.componentProps.pageSize=a,o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].pageSize=a,l["x-component-props"]=o["x-component-props"],i.emit("patch",{schema:l})}}}},subTablePopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:SubTable",items:[fieldComponent$4,allowAddNewData,allowSelectExistingRecord,allowDisassociation,setDefaultSortingRules,enabledIndexColumn,linkageRules,recordPerPage]}),allowMultiple$2={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$3={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useFieldModeOptions(),i=useIsAddNewForm(),n=useFieldComponentName(),{dn:a}=useDesignable();return{title:e("Field component"),options:r,value:n,onChange(l){const c={"x-uid":o["x-uid"]};o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].mode=l,c["x-component-props"]=o["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=l,isSubMode(o)&&i&&(c.default=null,o.default=null,t.setInitialValue(null),t.setValue(null)),a.emit("patch",{schema:c}),a.refresh()}}}},subformComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Nester",items:[fieldComponent$3,allowMultiple$2,allowSelectExistingRecord,{name:"allowDissociate",type:"switch",useVisible(){const{type:e}=useFormBlockType();return!useIsFormReadPretty()&&e==="update"},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow dissociate"),checked:((e=r["x-component-props"])==null?void 0:e.allowDissociate)!==!1,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].allowDissociate=a,o.componentProps.allowDissociate=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},setDefaultSortingRules,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),allowMultiple$1={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany","belongsToArray"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$2={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),r=useFieldComponentName(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useFieldModeOptions({fieldSchema:i,collectionField:n}),{dn:u}=useDesignable();return{title:e("Field component"),options:c,value:r,onChange(m){var d,p;const h={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,h["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(h.default=null,l.default=null,(d=t==null?void 0:t.setInitialValue)==null||d.call(t,null),(p=t==null?void 0:t.setValue)==null||p.call(t,null)),u.emit("patch",{schema:h}),u.refresh()}}}},recordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Picker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,allowMultiple$1,titleField$2]}),filterRecordPickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:FilterPicker",items:[fieldComponent$2,{name:"popupSize",type:"select",useVisible(){return!useIsFieldReadPretty()},useComponentProps(){var e,t,o;const{t:r}=(0,import_react_i18next.useTranslation)(),i=(0,import_react.useField)(),{fieldSchema:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=n||a,{dn:c}=useDesignable();return{title:r("Popup size"),options:[{label:r("Small"),value:"small"},{label:r("Middle"),value:"middle"},{label:r("Large"),value:"large"}],value:(o=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.openSize)!=null?o:((t=l==null?void 0:l["x-component-props"])==null?void 0:t.openMode)=="modal"?"large":"middle",onChange:u=>{i.componentProps.openSize=u,l["x-component-props"]=P(x({},l["x-component-props"]),{openSize:u}),c.emit("patch",{schema:{"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]}}),c.refresh()}}}},allowAddNew,getAllowMultiple({title:"Allow multiple selection"}),titleField$2]}),allowMultiple={name:"allowMultiple",type:"switch",useVisible(){const e=useIsFieldReadPretty(),t=useCollectionField();return!e&&["hasMany","belongsToMany"].includes(t==null?void 0:t.type)},useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{dn:i,refresh:n}=useDesignable();return{title:t("Allow multiple"),checked:((e=r["x-component-props"])==null?void 0:e.multiple)===void 0?!0:r["x-component-props"].multiple,onChange(a){const l={"x-uid":r["x-uid"]};r["x-component-props"]=r["x-component-props"]||{},o.componentProps=o.componentProps||{},r["x-component-props"].multiple=a,o.componentProps.multiple=a,l["x-component-props"]=r["x-component-props"],i.emit("patch",{schema:l}),n()}}}},fieldComponent$1={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),{fieldSchema:o,collectionField:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=o||i,a=useFieldModeOptions({fieldSchema:o,collectionField:r}),{dn:l}=useDesignable(),c=useIsAddNewForm(),u=useFieldComponentName();return{title:e("Field component"),options:a,value:u,onChange(m){const d={"x-uid":n["x-uid"]};n["x-component-props"]=n["x-component-props"]||{},n["x-component-props"].mode=m,d["x-component-props"]=n["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(n)&&c&&(d.default=null,n.default=null,t.setInitialValue(null),t.setValue(null)),l.emit("patch",{schema:d}),l.refresh()}}}},subformPopoverComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:PopoverNester",items:[fieldComponent$1,allowMultiple,titleField$2,linkageRules,{name:"setBlockLayout",Component:SchemaSettingsLayoutItem}]}),enableLink={name:"enableLink",type:"switch",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),{fieldSchema:r}=useColumnSchema$1(),i=(0,import_react.useFieldSchema)(),n=r||i,{dn:a}=useDesignable();return{title:t("Enable link"),checked:((e=n["x-component-props"])==null?void 0:e.enableLink)!==!1,onChange(l){n["x-component-props"]=P(x({},n==null?void 0:n["x-component-props"]),{enableLink:l}),o.componentProps.enableLink=l,a.emit("patch",{schema:{"x-uid":n["x-uid"],"x-component-props":x({},n==null?void 0:n["x-component-props"])}})}}}},titleField={name:"titleField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),{fieldSchema:i,collectionField:n}=useColumnSchema$1(),a=(0,import_react.useFieldSchema)(),l=i||a,c=useTitleFieldOptions(),u=useCollectionField(),m=n||u,{dn:d}=useDesignable();return{title:o("Title field"),options:c,value:(t=(e=l==null?void 0:l["x-component-props"])==null?void 0:e.fieldNames)==null?void 0:t.label,onChange(p){var h,g;const _={"x-uid":l["x-uid"]},f=P(x(x({},(g=(h=m==null?void 0:m.uiSchema)==null?void 0:h["x-component-props"])==null?void 0:g.fieldNames),r.componentProps.fieldNames),{label:p});l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].fieldNames=f,_["x-component-props"]=l["x-component-props"],r.componentProps.fieldNames=l["x-component-props"].fieldNames,d.emit("patch",{schema:_}),d.refresh()}}}},fieldComponent={name:"fieldComponent",type:"select",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),t=(0,import_react.useField)(),o=useIsAddNewForm(),{fieldSchema:r,collectionField:i}=useColumnSchema$1(),n=useFieldModeOptions({fieldSchema:r,collectionField:i}),a=(0,import_react.useFieldSchema)(),l=r||a,c=useFieldComponentName(),{dn:u}=useDesignable();return{title:e("Field component"),options:n,value:c,onChange(m){const d={"x-uid":l["x-uid"]};l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].mode=m,d["x-component-props"]=l["x-component-props"],t.componentProps=t.componentProps||{},t.componentProps.mode=m,isSubMode(l)&&o&&(d.default=null,l.default=null,t.setInitialValue(null),t.setValue(null)),u.emit("patch",{schema:d}),u.refresh()}}}},tagComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:Tag",items:[fieldComponent,{name:"tagColorField",type:"select",useComponentProps(){var e,t;const{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useField)(),i=(0,import_react.useFieldSchema)(),n=useCollectionField(),{fieldSchema:a,collectionField:l}=useColumnSchema$1(),c=a||i,u=l||n,{dn:m}=useDesignable(),d=useColorFields((e=u==null?void 0:u.target)!=null?e:u==null?void 0:u.targetCollection);return{title:o("Tag color field"),options:d,value:(t=c==null?void 0:c["x-component-props"])==null?void 0:t.tagColorField,onChange(p){const h={"x-uid":c["x-uid"]};c["x-component-props"]=c["x-component-props"]||{},c["x-component-props"].tagColorField=p,h["x-component-props"]=c["x-component-props"],r.componentProps.tagColorField=p,m.emit("patch",{schema:h}),m.refresh()}}}},titleField,enableLink,ellipsisSettingsItem]}),SchemaSettingsTimeFormat=function e(t){var o,r,i;const{fieldSchema:n}=t,a=(0,import_react.useField)(),{dn:l}=useDesignable(),{t:c}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:u}=useCollectionManager_deprecated(),m=u(n==null?void 0:n["x-collection-field"])||{},d=((o=n==null?void 0:n["x-component-props"])==null?void 0:o.format)||((i=(r=m==null?void 0:m.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.format)||"HH:mm:ss";return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:c("Time format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{format:{type:"string",title:'{{t("Time format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{className:import_css.css`
|
|
725
725
|
margin-bottom: 0px;
|
|
726
726
|
`},"x-component-props":{className:import_css.css`
|
|
727
727
|
color: red;
|
|
@@ -729,7 +729,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
729
729
|
display: flex;
|
|
730
730
|
margin: 5px 0px;
|
|
731
731
|
}
|
|
732
|
-
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const h={"x-uid":n["x-uid"]};h["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),h["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const g=a.path.entire.split(".");g.pop();const _=g.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:h}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});class SchemaSettingsPlugin extends Plugin{load(){return q(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(filterRecordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings),this.schemaSettingsManager.add(menuItemSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{exactDateTimeCtx:i}=useExactDateVariable(),{urlSearchParamsCtx:n,name:a,defaultValue:l}=useURLSearchParamsVariable(),c=useGlobalVariableCtx("$env");return{builtinVariables:(0,import_react2.useMemo)(()=>[c,{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$nExactDate",ctx:i},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:a,ctx:n,defaultValue:l}].filter(Boolean),[t,e,r,l,n,a,c,i])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?paginate=false",belongsTo:"get",hasOne:"get",belongsToMany:"list?paginate=false",belongsToArray:"list?paginate=false"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,C)=>q(void 0,null,function*(){var S,b;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:T,dataSource:B,variableOption:w}=getFieldPath$1(F,j);let L=T;const{fieldPath:D}=getFieldPath$1(f,j),R=y.length===1?w==null?void 0:w.collectionName:(S=i(D,B))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let M=0;M<y.length;M++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:B,collectionName:R};if(import_lodash.default.isFunction(k))break;const I=y[M],N=y.slice(0,M+1).join("."),{fieldPath:O}=getFieldPath$1(N,j),E=i(O,B),V=(b=n(L,B))==null?void 0:b.getPrimaryKey();if(Array.isArray(k)){const U=k.map(z=>{if(!(C!=null&&C.doNotRequest)&&shouldToRequest(z==null?void 0:z[I],z,N)&&(z==null?void 0:z[V])!=null&&E!=null&&E.target){const G=`/${L}/${z[E.sourceKey||V]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const Y=r.request({headers:getDataSourceHeaders(B),url:G,params:{appends:C==null?void 0:C.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,Y),Y}return z==null?void 0:z[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(C!=null&&C.doNotRequest)&&shouldToRequest(k[I],k,N)&&k[V]!=null&&E!=null&&E.target){const U=`/${L}/${k[E.sourceKey||V]}/${I}:${getAction(E.type)}`;let z=null;if(hasRequested(U))z=yield getRequested(U);else{const Y=r.request({headers:getDataSourceHeaders(B),url:U,params:{appends:C==null?void 0:C.appends}});stashRequested(U,Y),z=yield Y,clearRequested(U)}const G=z.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(L=E.target)}const $=a(import_lodash.default.isFunction(k)?yield k({fieldOperator:C==null?void 0:C.fieldOperator,isParsingVariable:!0,variableName:f}):k);return{value:$===void 0?w.defaultValue:$,dataSource:B,collectionName:R}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const C=x({},v);return delete C[f],C}),delete variablesStore[f]},[c]),h=(0,import_react2.useCallback)((f,v,C)=>q(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),b=yield u(S,v,C);return P(x({},b),{value:uniq(filterEmptyValues(b.value))})}),[u]),g=(0,import_react2.useCallback)((f,v)=>q(void 0,null,function*(){var C;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),b=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(b,S);let j=i(y,F);return!j&&!b.includes(".")&&(j={target:(C=S[b])==null?void 0:C.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:h,registerVariable:m,getVariable:d,getCollectionField:g,removeVariable:p,filterVariables:t}),[g,d,h,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){if(o.split(".").length===2&&(o.startsWith("$nForm.")||o.startsWith("$iteration.")))return!1;let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const useLocalVariablesWithoutCustomVariable=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:h,defaultValue:g}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:C}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:b}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:b||a,collectionName:j},{name:"$form",ctx:b,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:h,defaultValue:g},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:C},{name:"$nForm",ctx:b,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,b,c,u,m,d,_,p,h,S,n,i,y,g,C,o,t,r,F])},mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_,f,v,C,S;const b=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=b(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=b(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=b(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=b(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=b(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=b(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(h=this.props.schema)==null?void 0:h["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(g=this.props.schema)==null?void 0:g["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(C=this.props.schema)==null?void 0:C["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let h=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(h=_)}if((0,import_shared.isFn)(i)&&i(h,m)===!1)return null;const g=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:h,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:h,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return h["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:h,children:g})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:g})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:h}=e,g=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:C}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:b}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&h&&(y.parent=h,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(L=>{L===y.name&&(w.properties[L]=_.current)}),S(),b==null||b()},[y,b,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=C,createMergedSchemaInstance(y,v,n)):y,[v,C,y,n,p]),k=useFieldProps(j),T=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:g,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},B=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?T():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:g,children:T})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:g})):j.type==="void"?n?T():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:g,children:T})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:g})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:g,schema:j}):T();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:B()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=e.openMode||o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","&.nb-in-template":{background:"var(--colorTemplateBgSettingsHover)"},"> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m&&m!=="action"?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return q(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:h,disabled:g,actionCallback:_,confirm:f,addChild:v,onMouseEnter:C,refreshDataBlockRequest:S,confirmTitle:b}=o,y=W(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),T=useCompile(),B=useCollectionRecordData(),w=T((t=k["x-component-props"])==null?void 0:t.confirm)||f,L=(0,import_react2.useMemo)(()=>{var K;return((K=k==null?void 0:k["x-linkage-rules"])==null?void 0:K.filter(J=>!J.disabled))||[]},[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),R=useComponent(n)||n,$=useVariables$1(),M=useLocalVariables$1(),{visibleWithURL:I,setVisibleWithURL:N}=usePopupUtils(),{setSubmitted:O}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),V=useCollectionParentRecordData(),U=useApp(),{getAllDataBlocks:z}=useAllDataBlocks(),G=(0,import_react.useForm)();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j);const K=(0,import_shared.uid)(),J=[];return setTimeout(()=>{G.addEffects(K,()=>{forEachLinkageRule(L,(Q,X)=>{J.push((0,import_reactive.reaction)(()=>[getVariableValuesInCondition({linkageRules:L,localVariables:M})].map(te=>JSON.stringify(te)).join(","),()=>{j.stateOfLinkageRules={},linkageAction({operator:Q.operator,field:j,condition:X.condition,variables:$,localVariables:M,conditionType:X.conditionType,variableNameOfLeftCondition:"$nRecord"},U.jsonLogic)},{fireImmediately:!0,equals:import_lodash.isEqual}))})})}),()=>{G.removeEffects(K),J.forEach(Q=>{Q()})}},[L,B]);const Y=(0,import_react2.useCallback)(K=>{C==null||C(K)},[C]),H=(0,import_react2.useMemo)(()=>m&&((K,J)=>q(void 0,null,function*(){var Q,X;yield m==null?void 0:m(K,J);const te=((X=(Q=k["x-action-settings"])==null?void 0:Q.onSuccess)==null?void 0:X.blocksToRefresh)||[];te.length>0&&z().forEach(ee=>{var re;if(te.includes(ee.uid))try{(re=ee.service)==null||re.refresh()}catch(ae){console.error("Failed to refresh block:",ee.uid,ae)}})})),[m,k,z]);return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:k==null?void 0:k["x-uid"],type:"action",children:(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:Y,tarComponent:R,className:l,type:e.type,Designer:F,onClick:H,confirm:w,confirmTitle:b,popover:r,addChild:v,recordData:B,title:u,style:d,propsDisabled:g,useAction:a,visibleWithURL:I,setVisibleWithURL:N,setSubmitted:O,getAriaLabel:E,parentRecordData:V,actionCallback:_},y))})}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:h,handleMouseEnter:g,tarComponent:_,className:f,type:v,Designer:C,onClick:S,confirm:b,confirmTitle:y,popover:F,addChild:j,recordData:k,title:T,style:B,propsDisabled:w,useAction:L,actionCallback:D,visibleWithURL:R,setVisibleWithURL:$,setSubmitted:M,getAriaLabel:I,parentRecordData:N}=l,O=W(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,V]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:z,hashId:G}=useStyles$8(),[Y,H]=(0,import_react2.useState)(!1),K=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,X=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),ee=(0,import_react.useForm)(),re=useACLActionParamsContext(),{run:ae,element:se,disabled:ge,loading:me}=(L==null?void 0:L(D))||{},de=ee.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||ge,_e=(0,import_react2.useMemo)(()=>{var ue;return P(x({},B),{opacity:m&&(((ue=d==null?void 0:d.data)==null?void 0:ue.hidden)||!re)&&.1,color:de?"rgba(0, 0, 0, 0.25)":B==null?void 0:B.color})},[re,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,B,de]),pe={designable:m,field:d,aclCtx:re,icon:p,loading:typeof me=="boolean"?me:h,disabled:de,buttonStyle:_e,handleMouseEnter:g,tarComponent:_,designerProps:K,componentCls:z,hashId:G,className:f,others:O,getAriaLabel:I,type:v,Designer:C,onClick:S,refreshDataBlockRequest:X,fieldSchema:u,setVisible:V,run:ae,confirm:b,modal:te,setSubmitted:M,confirmTitle:y,title:T},fe=(0,import_react2.useCallback)(ue=>{V==null||V(ue),$==null||$(ue)},[$]);let he=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(pe),visible:E||R,setVisible:fe,formValueChanged:Y,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:M,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},pe)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),se]})});return isBulkEditAction(u)&&(he=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:he})),U(j?(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:he}):he)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}function isWriteEmailAction(e){var t;return e["x-action"]==="customize:writeEmail"||((t=e.parent)==null?void 0:t["x-action"])==="customize:writeEmail"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:h,getAriaLabel:g,type:_,Designer:f,onClick:v,refreshDataBlockRequest:C,fieldSchema:S,setVisible:b,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:T,title:B})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:L}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:R}=usePopupUtils(),$=useVariables$1(),M=useLocalVariables$1(),I=(0,import_react2.useRef)(null),N=useCompile(),O=(0,import_react.useForm)();I.current=R;const E={variables:$,localVariables:M},V=(0,import_react2.useCallback)((U,z=!0)=>q(void 0,null,function*(){var G;if(z&&(0,import_client.isPortalInBody)(U.target))return;U.preventDefault(),U.stopPropagation();const Y=yield getVariableValue(L(F==null?void 0:F.title,{title:N(S.title)}),E),H=yield getVariableValue(L(F==null?void 0:F.content,{title:N(S.title)}),E);if(!n&&o){const K=()=>{v?v(U,()=>{var J,Q;C!==!1&&(k==null||k(!0),(Q=(J=w())==null?void 0:J.refresh)==null||Q.call(J))}):isBulkEditAction(S)||!D()?(b(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?I.current():(b(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?(yield(G=O==null?void 0:O.submit)==null?void 0:G.call(O),j.confirm({title:L(Y,{title:T||B||(t==null?void 0:t.title)}),content:L(H,{title:T||B||(t==null?void 0:t.title)}),onOk:K})):K()}}),[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,T,n,t,S,D,j,v,C,y,k,b,L,B,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:g,handleButtonClick:V,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:B},h))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:h,tarComponent:g,componentCls:_,hashId:f,className:v,type:C,Designer:S,designerProps:b,title:y,isLink:F,onlyIcon:j}=r,k=W(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink","onlyIcon"]),{t:T}=(0,import_react_i18next.useTranslation)(),B=(0,import_react2.useCallback)((0,import_debounce.default)((O,E=!0)=>{h(O,E)},300,{leading:!0,trailing:!1}),[h]);(0,import_react2.useEffect)(()=>()=>{B.cancel()},[]);const w=(0,import_react2.useMemo)(()=>import_react2.default.forwardRef((O,E)=>{var V=O,{component:U=g||import_antd.Button,icon:z,onlyIcon:G,children:Y}=V,H=W(V,["component","icon","onlyIcon","children"]);return(0,import_jsx_runtime.jsxs)(U,P(x({ref:E},H),{children:[G?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:H.title,children:(0,import_jsx_runtime.jsx)("span",{style:{padding:3},children:z&&typeof z=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:z}):z})}):(0,import_jsx_runtime.jsx)("span",{style:{paddingRight:3},children:z&&typeof z=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:z}):z}),G?Y[1]:Y]}))}),[j]);if(!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const L=y??(n==null?void 0:n.title),D=typeof L=="string"?T(L,{ns:NAMESPACE_UI_SCHEMA}):L,R=m,{opacity:$}=R,M=W(R,["opacity"]),I=F&&$?{opacity:$}:void 0,N=j||g?w:g||import_antd.Button;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},k),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:I}):l,disabled:u,style:F?M:m,onClick:B,component:N,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:C==="danger"?void 0:C,title:D,onlyIcon:j,children:[!j&&D&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:I,children:D}),(0,import_jsx_runtime.jsx)(S,x({},b))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=W(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=W(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:x({display:"flex",alignItems:"center",gap:8,marginTop:0},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,h)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,h)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,h)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>e.hidden?null:(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return q(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=W(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=W(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=W(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return q(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,h)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},h));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=W(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=import_react_device_detect.isDesktop?"":fixKeyboardIssue,p=import_react_device_detect.isDesktop?void 0:"topLeft",h=g=>{var _;if(isEmptyObject(g))return;const f=(0,import_shared.toArr)(g).filter(C=>C).map(C=>(0,import_client.isPlainObject)(C)?C[n.value]:C),v=(_=getCurrentOptions(f,r,n))==null?void 0:_.map(C=>({label:C[n.label],value:C[n.value]}));return["tags","multiple"].includes(a)||e.multiple?v:v.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({rootClassName:d,placement:p,role:"button","data-testid":`select-object-${a||"single"}`,value:h(o),defaultValue:h(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(g,_)=>{var f;return((f=_==null?void 0:_[n.label||"label"])!=null?f:"").includes(g)},filterSort:(g,_)=>{var f,v;return((f=g==null?void 0:g[n.label||"label"])!=null?f:"").toLowerCase().localeCompare(((v=_==null?void 0:_[n.label||"label"])!=null?v:"").toLowerCase())},onChange:g=>{const _=getCurrentOptions((0,import_shared.toArr)(g).map(f=>f.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(_):i==null||i(_.shift()||null)},mode:a,tagRender:g=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":g.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},g),{children:g.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},fixKeyboardIssue=import_css.css`
|
|
732
|
+
`,defaultValue:"h:mm a",formats:["hh:mm:ss a","HH:mm:ss"],timeFormat:!0},default:d,enum:[{label:DateFormatCom({format:"hh:mm:ss a"}),value:"hh:mm:ss a"},{label:DateFormatCom({format:"HH:mm:ss"}),value:"HH:mm:ss"},{label:"custom",value:"custom"}]}}},onSubmit:p=>{const h={"x-uid":n["x-uid"]};h["x-component-props"]=a.componentProps||{},n["x-component-props"]=x(x({},a.componentProps||{}),p),h["x-component-props"]=n["x-component-props"],a.componentProps=n["x-component-props"];const g=a.path.entire.split(".");g.pop();const _=g.join(".");a.query(`${_}.*[0:].${n.name}`).forEach(f=>{f.props.name===n.name&&f.setComponentProps(x({},p))}),l.emit("patch",{schema:h}),l.refresh()}})},timePickerComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:TimePicker",items:[{name:"timeDisplayFormat",Component:SchemaSettingsTimeFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}}]}),unixTimestampComponentFieldSettings=new SchemaSettings({name:"fieldSettings:component:UnixTimestamp",items:[{name:"dateDisplayFormat",Component:SchemaSettingsDateFormat,useComponentProps(){const e=(0,import_react.useFieldSchema)(),{fieldSchema:t}=useColumnSchema$1();return{fieldSchema:t||e}}},enableLinkSettingsItem,openModeSettingsItem]});class SchemaSettingsPlugin extends Plugin{load(){return q(this,null,function*(){this.schemaSettingsManager.add(tableBlockSettings),this.schemaSettingsManager.add(createFormBlockSettings),this.schemaSettingsManager.add(editFormBlockSettings),this.schemaSettingsManager.add(filterFormBlockSettings),this.schemaSettingsManager.add(filterFormItemFieldSettings),this.schemaSettingsManager.add(multiDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsWithPaginationSettings),this.schemaSettingsManager.add(singleDataDetailsBlockSettings),this.schemaSettingsManager.add(detailsBlockSettings),this.schemaSettingsManager.add(tableSelectorBlockSettings),this.schemaSettingsManager.add(listBlockSettings),this.schemaSettingsManager.add(gridCardBlockSettings),this.schemaSettingsManager.add(filterCollapseBlockSettings),this.schemaSettingsManager.add(markdownBlockSettings),this.schemaSettingsManager.add(addNewActionSettings),this.schemaSettingsManager.add(filterActionSettings),this.schemaSettingsManager.add(refreshActionSettings),this.schemaSettingsManager.add(viewActionSettings),this.schemaSettingsManager.add(editActionSettings),this.schemaSettingsManager.add(deleteActionSettings),this.schemaSettingsManager.add(disassociateActionSettings),this.schemaSettingsManager.add(associateActionSettings),this.schemaSettingsManager.add(bulkDeleteActionSettings),this.schemaSettingsManager.add(customizeAddRecordActionSettings),this.schemaSettingsManager.add(customizePopupActionSettings),this.schemaSettingsManager.add(customizeLinkActionSettings),this.schemaSettingsManager.add(customizeUpdateRecordActionSettings),this.schemaSettingsManager.add(createSubmitActionSettings),this.schemaSettingsManager.add(updateSubmitActionSettings),this.schemaSettingsManager.add(submitActionSettings),this.schemaSettingsManager.add(customizeSaveRecordActionSettings),this.schemaSettingsManager.add(addChildActionSettings),this.schemaSettingsManager.add(expendableActionSettings),this.schemaSettingsManager.add(fieldSettingsFormItem),this.schemaSettingsManager.add(tableColumnSettings),this.schemaSettingsManager.add(filterCollapseItemFieldSettings),this.schemaSettingsManager.add(selectComponentFieldSettings),this.schemaSettingsManager.add(filterSelectComponentFieldSettings),this.schemaSettingsManager.add(recordPickerComponentFieldSettings),this.schemaSettingsManager.add(filterRecordPickerComponentFieldSettings),this.schemaSettingsManager.add(subformComponentFieldSettings),this.schemaSettingsManager.add(subformPopoverComponentFieldSettings),this.schemaSettingsManager.add(subTablePopoverComponentFieldSettings),this.schemaSettingsManager.add(datePickerComponentFieldSettings),this.schemaSettingsManager.add(rangePickerPickerComponentFieldSettings),this.schemaSettingsManager.add(unixTimestampComponentFieldSettings),this.schemaSettingsManager.add(inputNumberComponentFieldSettings),this.schemaSettingsManager.add(inputComponentSettings),this.schemaSettingsManager.add(inputURLSettings),this.schemaSettingsManager.add(inputTextAreaSettings),this.schemaSettingsManager.add(inputJSONSettings),this.schemaSettingsManager.add(markdownSettings),this.schemaSettingsManager.add(markdownVditorSettings),this.schemaSettingsManager.add(richTextSettings),this.schemaSettingsManager.add(fileManagerComponentFieldSettings),this.schemaSettingsManager.add(tagComponentFieldSettings),this.schemaSettingsManager.add(cascadeSelectComponentFieldSettings),this.schemaSettingsManager.add(inputPreviewComponentFieldSettings),this.schemaSettingsManager.add(uploadAttachmentComponentFieldSettings),this.schemaSettingsManager.add(previewComponentFieldSettings),this.schemaSettingsManager.add(dividerSettings),this.schemaSettingsManager.add(timePickerComponentFieldSettings),this.schemaSettingsManager.add(menuItemSettings)})}}const useBuiltInVariables=()=>{const{currentUserCtx:e}=useCurrentUserVariable(),{currentRoleCtx:t}=useCurrentRoleVariable(),{apiTokenCtx:o}=useAPITokenVariable(),{datetimeCtx:r}=useDatetimeVariable(),{exactDateTimeCtx:i}=useExactDateVariable(),{urlSearchParamsCtx:n,name:a,defaultValue:l}=useURLSearchParamsVariable(),c=useGlobalVariableCtx("$env");return{builtinVariables:(0,import_react2.useMemo)(()=>[c,{name:"$user",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nRole",ctx:t,collectionName:"roles"},{name:"$nToken",ctx:o},{name:"currentUser",ctx:e,collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY},{name:"$nDate",ctx:r},{name:"$date",ctx:r},{name:"$nExactDate",ctx:i},{name:"$system",ctx:{now:()=>(0,import_client.dayjs)().toISOString()}},{name:"currentTime",ctx:()=>(0,import_client.dayjs)().toISOString()},{name:a,ctx:n,defaultValue:l}].filter(Boolean),[t,e,r,l,n,a,c,i])}},filterEmptyValues=e=>Array.isArray(e)?e.filter(t=>t===0||t===!1||t):e,TYPE_TO_ACTION={hasMany:"list?paginate=false",belongsTo:"get",hasOne:"get",belongsToMany:"list?paginate=false",belongsToArray:"list?paginate=false"},getAction=e=>TYPE_TO_ACTION[e],requested={},hasRequested=e=>!!requested[e],getRequested=e=>requested[e],stashRequested=(e,t)=>{requested[e]=t},clearRequested=e=>{delete requested[e]},uniq=e=>!Array.isArray(e)||!import_lodash.default.isObject(e[0])?e:import_lodash.default.uniqBy(e,t=>"id"in t?t.id:JSON.stringify(t)),VariablesContext=(0,import_react2.createContext)(null);VariablesContext.displayName="VariablesContext";const variablesStore={},getFieldPath$1=(e,t)=>{let o,r;return{fieldPath:e.split(".").map(i=>t[i]?(o=t[i].dataSource,r=t[i],t[i].collectionName):i).join("."),dataSource:o,variableOption:r}},VariablesProvider=({children:e,filterVariables:t})=>{const o=(0,import_react2.useRef)({}),r=useAPIClient(),{getCollectionJoinField:i,getCollection:n}=useCollectionManager_deprecated(),a=useCompile(),{builtinVariables:l}=useBuiltInVariables(),c=(0,import_react2.useCallback)(f=>{import_lodash.default.isFunction(f)?o.current=f(o.current):o.current=f},[]),u=(0,import_react2.useCallback)((f,v,C)=>q(void 0,null,function*(){var S,b;const y=f.split("."),F=y[0],j=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v);let k=mergeCtxWithLocalVariables(o.current,v);const{fieldPath:T,dataSource:B,variableOption:w}=getFieldPath$1(F,j);let L=T;const{fieldPath:D}=getFieldPath$1(f,j),R=y.length===1?w==null?void 0:w.collectionName:(S=i(D,B))==null?void 0:S.target;if(!(F in k))throw new Error(`VariablesProvider: ${F} is not found`);for(let M=0;M<y.length;M++){if(k==null)return{value:k===void 0?w==null?void 0:w.defaultValue:k,dataSource:B,collectionName:R};if(import_lodash.default.isFunction(k))break;const I=y[M],N=y.slice(0,M+1).join("."),{fieldPath:O}=getFieldPath$1(N,j),E=i(O,B),V=(b=n(L,B))==null?void 0:b.getPrimaryKey();if(Array.isArray(k)){const U=k.map(z=>{if(!(C!=null&&C.doNotRequest)&&shouldToRequest(z==null?void 0:z[I],z,N)&&(z==null?void 0:z[V])!=null&&E!=null&&E.target){const G=`/${L}/${z[E.sourceKey||V]}/${I}:${getAction(E.type)}`;if(hasRequested(G))return getRequested(G);const Y=r.request({headers:getDataSourceHeaders(B),url:G,params:{appends:C==null?void 0:C.appends}}).then(H=>(clearRequested(G),H.data.data));return stashRequested(G,Y),Y}return z==null?void 0:z[I]});k=removeThroughCollectionFields(import_lodash.default.flatten(yield Promise.all(U)),E)}else if(!(C!=null&&C.doNotRequest)&&shouldToRequest(k[I],k,N)&&k[V]!=null&&E!=null&&E.target){const U=`/${L}/${k[E.sourceKey||V]}/${I}:${getAction(E.type)}`;let z=null;if(hasRequested(U))z=yield getRequested(U);else{const Y=r.request({headers:getDataSourceHeaders(B),url:U,params:{appends:C==null?void 0:C.appends}});stashRequested(U,Y),z=yield Y,clearRequested(U)}const G=z.data.data;k=removeThroughCollectionFields(G,E)}else k=removeThroughCollectionFields((0,import_client.getValuesByPath)(k,I),E);E!=null&&E.target&&(L=E.target)}const $=a(import_lodash.default.isFunction(k)?yield k({fieldOperator:C==null?void 0:C.fieldOperator,isParsingVariable:!0,variableName:f}):k);return{value:$===void 0?w.defaultValue:$,dataSource:B,collectionName:R}}),[i]),m=(0,import_react2.useCallback)(f=>{if(!isVariable$1(`{{${f.name}}}`))throw new Error(`VariablesProvider: ${f.name} is not a valid name`);c(v=>P(x({},v),{[f.name]:f.ctx})),variablesStore[f.name]=P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null})},[c]),d=(0,import_react2.useCallback)(f=>o.current[f]?x({},variablesStore[f]):null,[]),p=(0,import_react2.useCallback)(f=>{c(v=>{const C=x({},v);return delete C[f],C}),delete variablesStore[f]},[c]),h=(0,import_react2.useCallback)((f,v,C)=>q(void 0,null,function*(){if(!isVariable$1(f))return f;v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=getPath(f),b=yield u(S,v,C);return P(x({},b),{value:uniq(filterEmptyValues(b.value))})}),[u]),g=(0,import_react2.useCallback)((f,v)=>q(void 0,null,function*(){var C;if(!isVariable$1(f))throw new Error(`VariablesProvider: ${f} is not a variable string`);v&&(v=import_lodash.default.isArray(v)?v:[v]);const S=mergeVariableToCollectionNameWithLocalVariables(variablesStore,v),b=getPath(f),{fieldPath:y,dataSource:F}=getFieldPath$1(b,S);let j=i(y,F);return!j&&!b.includes(".")&&(j={target:(C=S[b])==null?void 0:C.collectionName}),j}),[i]);(0,import_react2.useEffect)(()=>{l.forEach(f=>{m(P(x({},f),{defaultValue:import_lodash.default.has(f,"defaultValue")?f.defaultValue:null}))})},[l,m]);const _=(0,import_react2.useMemo)(()=>({ctxRef:o,setCtx:c,parseVariable:h,registerVariable:m,getVariable:d,getCollectionField:g,removeVariable:p,filterVariables:t}),[g,d,h,m,p,c]);return(0,import_jsx_runtime.jsx)(VariablesContext.Provider,{value:_,children:e})};VariablesProvider.displayName="VariablesProvider";const VariablesProvider$1=VariablesProvider;function shouldToRequest(e,t,o){if(o.split(".").length===2&&(o.startsWith("$nForm.")||o.startsWith("$iteration.")))return!1;let r=!1;return(0,import_reactive.untracked)(()=>{if(JSON.stringify(e)==="[{}]"||JSON.stringify(e)==="{}"){r=!0;return}r=import_lodash.default.isEmpty(e)}),r}function mergeCtxWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=o.ctx}),e}function mergeVariableToCollectionNameWithLocalVariables(e,t){return e=x({},e),t==null||t.forEach(o=>{e[o.name]=P(x({},o),{defaultValue:import_lodash.default.has(o,"defaultValue")?o.defaultValue:null})}),e}function removeThroughCollectionFields(e,t){return!(t!=null&&t.through)||!e?e:Array.isArray(e)?e.map(o=>import_lodash.default.omit(o,t.through)):import_lodash.default.omit(e,t.through)}const useLocalVariablesWithoutCustomVariable=e=>{const{parentObjectCtx:t,shouldDisplayParentObject:o,collectionName:r}=useParentObjectContext(),{currentObjectCtx:i,shouldDisplayCurrentObject:n}=useCurrentObjectContext(),{currentRecordCtx:a,collectionName:l}=useCurrentRecordContext(),{currentParentRecordCtx:c,collectionName:u,dataSource:m}=useCurrentParentRecordContext(),{popupRecordCtx:d,collectionName:p,dataSource:h,defaultValue:g}=usePopupVariableContext(),{parentPopupRecordCtx:_,collectionName:f,dataSource:v,defaultValue:C}=useParentPopupVariableContext(),{datetimeCtx:S}=useDatetimeVariableContext(),{currentFormCtx:b}=useCurrentFormContext({form:e==null?void 0:e.currentForm}),{name:y}=useCollection_deprecated(),F=useContextVariable();let{name:j}=useBlockCollection();return e!=null&&e.collectionName&&(j=e.collectionName),(0,import_react2.useMemo)(()=>[{name:"currentRecord",ctx:a,collectionName:l},{name:j,ctx:b||a,collectionName:j},{name:"$form",ctx:b,collectionName:j},{name:"$nRecord",ctx:a,collectionName:l,dataSource:m},{name:"$nParentRecord",ctx:c,collectionName:u,dataSource:m},{name:"$nPopupRecord",ctx:d,collectionName:p,dataSource:h,defaultValue:g},{name:"$nParentPopupRecord",ctx:_,collectionName:f,dataSource:v,defaultValue:C},{name:"$nForm",ctx:b,collectionName:j},{name:"$nDate",ctx:S},{name:"$date",ctx:S},F,n&&{name:"$iteration",ctx:i,collectionName:y},o&&{name:"$nParentIteration",ctx:t,collectionName:r}].filter(Boolean),[a,l,j,b,c,u,m,d,_,p,h,S,n,i,y,g,C,o,t,r,F])},mergeChildren=(e,t)=>{if(!(!e&&!t)&&!(0,import_shared.isFn)(e))return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[e,t]})},isValidComponent=e=>e&&(typeof e=="object"||typeof e=="function"),renderChildren=(e,t,o)=>(0,import_shared.isFn)(e)?e(t,o):e,NocoBaseReactiveInternal=e=>{var t;const o=(0,import_react2.useContext)(import_react.SchemaComponentsContext),r=e.field,i=mergeChildren(renderChildren(e.children,r,r.form),(t=r.content)!=null?t:r.componentProps.children);if(r.display!=="visible")return null;const n=a=>{var l;return isValidComponent(a)?a:(l=import_shared.FormPath.getIn(o,a))!=null?l:a};return(a=>r.decoratorType?import_react2.default.createElement(n(r.decoratorType),r.decoratorProps,a):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:a}))(r.componentType?import_react2.default.createElement(n(r.componentType),P(x({},r.componentProps),{value:r.value}),i):i)};NocoBaseReactiveInternal.displayName="NocoBaseReactiveInternal";const NocoBaseReactiveField=NocoBaseReactiveInternal;NocoBaseReactiveField.displayName="NocoBaseReactiveField";function createNocoBaseField(e){return new NocoBaseField$1(e)}let NocoBaseField$1=class{constructor(e){A(this,"props"),A(this,"initialized"),A(this,"loading"),A(this,"validating"),A(this,"submitting"),A(this,"selfModified"),A(this,"active"),A(this,"visited"),A(this,"mounted"),A(this,"unmounted"),A(this,"inputValues"),A(this,"inputValue"),A(this,"feedbacks"),A(this,"title"),A(this,"description"),A(this,"display"),A(this,"pattern"),A(this,"editable"),A(this,"disabled"),A(this,"readOnly"),A(this,"readPretty"),A(this,"visible"),A(this,"hidden"),A(this,"dataSource"),A(this,"validator"),A(this,"required"),A(this,"content"),A(this,"initialValue"),A(this,"value"),A(this,"data"),A(this,"decorator"),A(this,"component"),A(this,"decoratorProps"),A(this,"componentProps"),A(this,"decoratorType"),A(this,"componentType"),A(this,"path"),A(this,"form"),A(this,"address"),this.props=e,this.initialize()}initialize(){var e,t,o,r,i,n,a,l,c,u,m,d,p,h,g,_,f,v,C,S;const b=this.props.compile;this.pattern="readPretty",this.readPretty=!0,this.initialized=!0,this.loading=!1,this.validating=!1,this.submitting=!1,this.selfModified=!1,this.active=!1,this.visited=!0,this.mounted=!0,this.unmounted=!1,this.inputValues=[],this.inputValue=null,this.feedbacks=[],this.title=b(this.props.title||((e=this.props.schema)==null?void 0:e.title)),this.description=b(this.props.description||((t=this.props.schema)==null?void 0:t.description)),this.display="visible",this.editable=this.props.editable||((o=this.props.schema)==null?void 0:o["x-editable"]),this.disabled=this.props.disabled||((r=this.props.schema)==null?void 0:r["x-disabled"]),this.readOnly=this.props.readOnly||((i=this.props.schema)==null?void 0:i["x-read-only"]),this.visible=this.props.visible||((n=this.props.schema)==null?void 0:n["x-visible"]),this.hidden=this.props.hidden||((a=this.props.schema)==null?void 0:a["x-hidden"]),this.dataSource=b(this.props.dataSource||((l=this.props.schema)==null?void 0:l.enum)),this.validator=this.props.validator,this.required=this.props.required||!!((c=this.props.schema)!=null&&c.required),this.content=b(this.props.content||((u=this.props.schema)==null?void 0:u["x-content"])),this.initialValue=b(this.props.initialValue||((m=this.props.schema)==null?void 0:m.default)),this.value=b(this.props.value),this.data=this.props.data||((d=this.props.schema)==null?void 0:d["x-data"]),this.decorator=this.props.decorator?(0,import_shared.toArr)(this.props.decorator):[(p=this.props.schema)==null?void 0:p["x-decorator"],(h=this.props.schema)==null?void 0:h["x-decorator-props"]],this.component=this.props.component?(0,import_shared.toArr)(this.props.component):[(g=this.props.schema)==null?void 0:g["x-component"],(_=this.props.schema)==null?void 0:_["x-component-props"]],this.decoratorProps=((f=this.props.schema)==null?void 0:f["x-decorator-props"])||{},this.componentProps=((v=this.props.schema)==null?void 0:v["x-component-props"])||{},this.decoratorType=(C=this.props.schema)==null?void 0:C["x-decorator"],this.componentType=(S=this.props.schema)==null?void 0:S["x-component"],this.path={},this.form={},this.address={concat:import_lodash.default.noop}}};const NocoBaseField=e=>{const t=useCompile(),o=(0,import_react.useFieldSchema)(),r=(0,import_react2.useMemo)(()=>createNocoBaseField(P(x({},e),{compile:t})),[]);return Object.assign(r.componentProps,o["x-component-props"]),r.value=e.value,(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:r,children:(0,import_jsx_runtime.jsx)(NocoBaseReactiveField,{field:r,children:e.children})})},CollectionFieldUISchemaContext=import_react2.default.createContext({}),RefreshFieldSchemaContext=import_react2.default.createContext(import_lodash.default.noop),RefreshFieldSchemaProvider=({children:e,refresh:t})=>{const o=useRefreshFieldSchema(),r=(0,import_react2.useCallback)(i=>{t(),i!=null&&i.refreshParentSchema&&(o==null||o())},[o,t]);return(0,import_jsx_runtime.jsx)(RefreshFieldSchemaContext.Provider,{value:r,children:e})},RefreshComponentContext=import_react2.default.createContext(import_lodash.default.noop),RefreshComponentProvider=({children:e,refresh:t})=>(0,import_jsx_runtime.jsx)(RefreshComponentContext.Provider,{value:t,children:e}),useRefreshComponent=()=>import_react2.default.useContext(RefreshComponentContext),useRefreshFieldSchema=()=>import_react2.default.useContext(RefreshFieldSchemaContext),useCollectionFieldUISchema=()=>import_react2.default.useContext(CollectionFieldUISchemaContext)||{},CollectionFieldUISchemaProvider=e=>{const{children:t,fieldSchema:o}=e,r=useCollection(),i=useCollectionManager(),n=o==null?void 0:o.name,a=(0,import_react2.useMemo)(()=>{var l;if(!r)return null;const c=(l=o==null?void 0:o["x-component-props"])==null?void 0:l.field;return i.getCollectionField(o==null?void 0:o["x-collection-field"])||c||r.getField((c==null?void 0:c.name)||n)},[r,i,o,n]);return(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:a,children:t})},toFieldProps=import_lodash.default.memoize((e,t)=>e.toFieldProps({scope:t})),useFieldProps=e=>{const t=(0,import_react.useExpressionScope)();return toFieldProps(e,t)},useBasePath=e=>{var t;const o=(0,import_react.useField)();return e.onlyRenderProperties?e.basePath||((t=o==null?void 0:o.address)==null?void 0:t.concat(e.name)):e.basePath||(o==null?void 0:o.address)},createMergedSchemaInstance=(e,t,o)=>{const r=e.toJSON();if(o){if(!r.properties)return e;const i=Object.keys(r.properties)[0],n=Object.values(r.properties)[0];return r.properties[i]=(0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),n),new import_react.Schema(r)}return new import_react.Schema((0,import_shared.merge)(import_lodash.default.omit(t,"type","x-read-pretty"),r))},propertiesToReactElement=({schema:e,field:t,basePath:o,mapProperties:r,filterProperties:i,propsRecursion:n,values:a,isUseFormilyField:l})=>{const c=import_react.Schema.getOrderProperties(e);return c.length?(0,import_jsx_runtime.jsx)(import_react2.Fragment,{children:c.map(({schema:u,key:m},d)=>{const p=(t==null?void 0:t.address)||o;let h=u;if((0,import_shared.isFn)(r)){const _=r(u,m);_&&(h=_)}if((0,import_shared.isFn)(i)&&i(h,m)===!1)return null;const g=(0,import_shared.isBool)(n)&&n?(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{propsRecursion:!0,filterProperties:i,mapProperties:r,schema:h,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l}):(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{schema:h,name:m,basePath:p,values:import_lodash.default.get(a,m),isUseFormilyField:l});return h["x-component"]==="CollectionField"?(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!0,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaProvider,{fieldSchema:h,children:g})},`${d}-${m}`):(0,import_jsx_runtime.jsx)(IsInNocoBaseRecursionFieldContext.Provider,{value:!1,children:(0,import_jsx_runtime.jsx)(CollectionFieldUISchemaContext.Provider,{value:EMPTY_OBJECT,children:g})},`${d}-${m}`)})}):null},IsInNocoBaseRecursionFieldContext=import_react2.default.createContext(!1),useIsInNocoBaseRecursionFieldContext=()=>import_react2.default.useContext(IsInNocoBaseRecursionFieldContext),NocoBaseRecursionField=import_react2.default.memo(e=>{var t,o;const{schema:r,name:i,onlyRenderProperties:n,onlyRenderSelf:a,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d=!0,uiSchema:p,parentSchema:h}=e,g=useBasePath(e),_=(0,import_react2.useRef)(null),f=(0,import_react2.useMemo)(()=>(_.current=null,new import_react.Schema(r)),[r]),{uiSchema:v,defaultValue:C}=useCollectionFieldUISchema(),S=(0,import_ahooks.useUpdate)(),{onChange:b}=(0,import_react2.useContext)(SchemaComponentOnChangeContext),y=_.current||f;!y.parent&&h&&(y.parent=h,!((o=(t=y.parent)==null?void 0:t.properties)!=null&&o[y.name])&&y.name&&import_lodash.default.set(y.parent,`properties.${y.name}`,y));const F=(0,import_react2.useCallback)(()=>{const w=y.parent;_.current=new import_react.Schema(y.toJSON(),w),w!=null&&w.properties&&Object.keys(w.properties).forEach(L=>{L===y.name&&(w.properties[L]=_.current)}),S(),b==null||b()},[y,b,S]),j=(0,import_react2.useMemo)(()=>p?createMergedSchemaInstance(y,p,n):v?(v.default=C,createMergedSchemaInstance(y,v,n)):y,[v,C,y,n,p]),k=useFieldProps(j),T=w=>{if(!a)return propertiesToReactElement({schema:y,field:w,basePath:g,mapProperties:l,filterProperties:c,propsRecursion:u,values:m,isUseFormilyField:d})},B=()=>(0,import_shared.isValid)(i)?j.type==="object"?n?T():(0,import_jsx_runtime.jsx)(import_react.ObjectField,P(x({},k),{name:i,basePath:g,children:T})):j.type==="array"?(0,import_jsx_runtime.jsx)(import_react.ArrayField,P(x({},k),{name:i,basePath:g})):j.type==="void"?n?T():(0,import_jsx_runtime.jsx)(import_react.VoidField,P(x({},k),{name:i,basePath:g,children:T})):d?(0,import_jsx_runtime.jsx)(import_react.Field,P(x({},k),{name:i,basePath:g})):(0,import_jsx_runtime.jsx)(NocoBaseField,{name:i,value:m,initialValue:m,basePath:g,schema:j}):T();return y?(0,import_jsx_runtime.jsx)(import_react.SchemaContext.Provider,{value:y,children:(0,import_jsx_runtime.jsx)(RefreshFieldSchemaProvider,{refresh:F,children:B()})}):(0,import_jsx_runtime.jsx)(import_react2.Fragment,{})});NocoBaseRecursionField.displayName="NocoBaseRecursionField";const PopupLevelContext=import_react2.default.createContext(0),ActionContainer=(0,import_react.observer)(e=>{const{getComponentByOpenMode:t,defaultOpenMode:o}=useOpenModeContext()||{},{openMode:r=e.openMode||o}=useActionContext(),i=import_react2.default.useContext(PopupLevelContext)+1,n=t(r)||ActionDrawer;return(0,import_jsx_runtime.jsx)(PopupLevelContext.Provider,{value:i,children:(0,import_jsx_runtime.jsx)(n,x({footerNodeName:"Action.Container.Footer",level:i||1},e))})},{displayName:"ActionContainer"});ActionContainer.Footer=(0,import_react.observer)(()=>{const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:e.address,schema:t,onlyRenderProperties:!0})},{displayName:"ActionContainer.Footer"});const ActionLink=withDynamicSchemaProps((0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(Action$1,P(x({},e),{component:e.component||"a",className:(0,import_classnames.default)("nb-action-link",e.className),isLink:!0}))),{displayName:"ActionLink"}),useStyles$8=genStyleHook("nb-action",e=>{const{componentCls:t}=e;return{[t]:{position:"relative","&:hover":{"> .general-schema-designer":{display:"block"}},"&.nb-action-link":{margin:"-12px",padding:"12px",".nb-action-title":{marginInlineStart:"0px"}},"> .general-schema-designer":{position:"absolute",zIndex:999,top:"0",bottom:"0",left:"0",right:"0",display:"none",background:"var(--colorBgSettingsHover)",border:"0",pointerEvents:"none","&.nb-in-template":{background:"var(--colorTemplateBgSettingsHover)"},"> .general-schema-designer-icons":{position:"absolute",right:"2px",top:"2px",lineHeight:"16px",pointerEvents:"all",".ant-space-item":{backgroundColor:e.colorSettings,color:"#fff",lineHeight:"16px",width:"16px",paddingLeft:"1px",alignSelf:"stretch"}}},".ant-btn-icon":{marginInlineEnd:"0px !important"},".nb-action-title":{marginInlineStart:`${e.controlPaddingHorizontalSM}px`}}}}),useGetAriaLabelOfAction=e=>{const t=useRecord(),o=useRecordIndex(),r=(0,import_react.useFieldSchema)(),i=useCompile(),n=r["x-component"],a=typeof n=="string"?n:(n==null?void 0:n.displayName)||(n==null?void 0:n.name);let l=(t==null?void 0:t.name)||(t==null?void 0:t.title)||(o!=null?String(o):""),c=r["x-action"],{name:u}=useCollection_deprecated(),{name:m}=useBlockContext()||{};const d=e||i(r.title);return u=u?`-${u}`:"",m=m&&m!=="action"?`-${m}`:"",c=c?`-${c}`:"",l=l?`-${l}`:"",{getAriaLabel:(0,import_react2.useCallback)(p=>(p=p?`-${p}`:"",`action-${a}-${d}${c}${u}${m}${l}${p}`),[c,d,m,u,a,l])}},useA=()=>({run(){return q(this,null,function*(){})}}),handleError=console.log,Action=withDynamicSchemaProps(import_react2.default.memo(e=>{var t;const o=useProps(e),{popover:r,containerRefKey:i,component:n,useAction:a=useA,className:l,icon:c,title:u,onClick:m,style:d,loading:p,openSize:h,disabled:g,actionCallback:_,confirm:f,addChild:v,onMouseEnter:C,refreshDataBlockRequest:S,confirmTitle:b}=o,y=W(o,["popover","containerRefKey","component","useAction","className","icon","title","onClick","style","loading","openSize","disabled","actionCallback","confirm","addChild","onMouseEnter","refreshDataBlockRequest","confirmTitle"]),F=useDesigner(),j=(0,import_react.useField)(),k=(0,import_react.useFieldSchema)(),T=useCompile(),B=useCollectionRecordData(),w=T((t=k["x-component-props"])==null?void 0:t.confirm)||f,L=(0,import_react2.useMemo)(()=>{var K;return((K=k==null?void 0:k["x-linkage-rules"])==null?void 0:K.filter(J=>!J.disabled))||[]},[k==null?void 0:k["x-linkage-rules"]]),{designable:D}=useDesignable(),R=useComponent(n)||n,$=useVariables$1(),M=useLocalVariables$1(),{visibleWithURL:I,setVisibleWithURL:N}=usePopupUtils(),{setSubmitted:O}=useActionContext(),{getAriaLabel:E}=useGetAriaLabelOfAction(u),V=useCollectionParentRecordData(),U=useApp(),{getAllDataBlocks:z}=useAllDataBlocks(),G=(0,import_react.useForm)();(0,import_react2.useEffect)(()=>{j.stateOfLinkageRules&&setInitialActionState(j);const K=(0,import_shared.uid)(),J=[];return setTimeout(()=>{G.addEffects(K,()=>{forEachLinkageRule(L,(Q,X)=>{J.push((0,import_reactive.reaction)(()=>[getVariableValuesInCondition({linkageRules:L,localVariables:M})].map(te=>JSON.stringify(te)).join(","),()=>{j.stateOfLinkageRules={},linkageAction({operator:Q.operator,field:j,condition:X.condition,variables:$,localVariables:M,conditionType:X.conditionType,variableNameOfLeftCondition:"$nRecord"},U.jsonLogic)},{fireImmediately:!0,equals:import_lodash.isEqual}))})})}),()=>{G.removeEffects(K),J.forEach(Q=>{Q()})}},[L,B]);const Y=(0,import_react2.useCallback)(K=>{C==null||C(K)},[C]),H=(0,import_react2.useMemo)(()=>m&&((K,J)=>q(void 0,null,function*(){var Q,X;yield m==null?void 0:m(K,J);const te=((X=(Q=k["x-action-settings"])==null?void 0:Q.onSuccess)==null?void 0:X.blocksToRefresh)||[];te.length>0&&z().forEach(ee=>{var re;if(te.includes(ee.uid))try{(re=ee.service)==null||re.refresh()}catch(ae){console.error("Failed to refresh block:",ee.uid,ae)}})})),[m,k,z]);return(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:k==null?void 0:k["x-uid"],type:"action",children:(0,import_jsx_runtime.jsx)(InternalAction,x({containerRefKey:i,fieldSchema:k,designable:D,field:j,icon:c,loading:p,handleMouseEnter:Y,tarComponent:R,className:l,type:e.type,Designer:F,onClick:H,confirm:w,confirmTitle:b,popover:r,addChild:v,recordData:B,title:u,style:d,propsDisabled:g,useAction:a,visibleWithURL:I,setVisibleWithURL:N,setSubmitted:O,getAriaLabel:E,parentRecordData:V,actionCallback:_},y))})}),{displayName:"Action"}),InternalAction=(0,import_react.observer)(function e(t){var o,r,i,n,a;const l=t,{containerRefKey:c,fieldSchema:u,designable:m,field:d,icon:p,loading:h,handleMouseEnter:g,tarComponent:_,className:f,type:v,Designer:C,onClick:S,confirm:b,confirmTitle:y,popover:F,addChild:j,recordData:k,title:T,style:B,propsDisabled:w,useAction:L,actionCallback:D,visibleWithURL:R,setVisibleWithURL:$,setSubmitted:M,getAriaLabel:I,parentRecordData:N}=l,O=W(l,["containerRefKey","fieldSchema","designable","field","icon","loading","handleMouseEnter","tarComponent","className","type","Designer","onClick","confirm","confirmTitle","popover","addChild","recordData","title","style","propsDisabled","useAction","actionCallback","visibleWithURL","setVisibleWithURL","setSubmitted","getAriaLabel","parentRecordData"]),[E,V]=(0,import_react2.useState)(!1),{wrapSSR:U,componentCls:z,hashId:G}=useStyles$8(),[Y,H]=(0,import_react2.useState)(!1),K=u["x-toolbar-props"]||u["x-designer-props"],J=(o=u==null?void 0:u["x-component-props"])==null?void 0:o.openMode,Q=(r=u==null?void 0:u["x-component-props"])==null?void 0:r.openSize,X=(i=u==null?void 0:u["x-component-props"])==null?void 0:i.refreshDataBlockRequest,{modal:te}=import_antd.App.useApp(),ee=(0,import_react.useForm)(),re=useACLActionParamsContext(),{run:ae,element:se,disabled:ge,loading:me}=(L==null?void 0:L(D))||{},de=ee.disabled||d.disabled||((n=d.data)==null?void 0:n.disabled)||w||ge,_e=(0,import_react2.useMemo)(()=>{var ue;return P(x({},B),{opacity:m&&(((ue=d==null?void 0:d.data)==null?void 0:ue.hidden)||!re)&&.1,color:de?"rgba(0, 0, 0, 0.25)":B==null?void 0:B.color})},[re,m,(a=d==null?void 0:d.data)==null?void 0:a.hidden,B,de]),pe={designable:m,field:d,aclCtx:re,icon:p,loading:typeof me=="boolean"?me:h,disabled:de,buttonStyle:_e,handleMouseEnter:g,tarComponent:_,designerProps:K,componentCls:z,hashId:G,className:f,others:O,getAriaLabel:I,type:v,Designer:C,onClick:S,refreshDataBlockRequest:X,fieldSchema:u,setVisible:V,run:ae,confirm:b,modal:te,setSubmitted:M,confirmTitle:y,title:T},fe=(0,import_react2.useCallback)(ue=>{V==null||V(ue),$==null||$(ue)},[$]);let he=(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:RenderButton(pe),visible:E||R,setVisible:fe,formValueChanged:Y,setFormValueChanged:H,openMode:J,openSize:Q,containerRefKey:c,fieldSchema:u,setSubmitted:M,children:[F&&(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:d.address,onlyRenderProperties:!0,schema:u}),!F&&(0,import_jsx_runtime.jsx)(RenderButton,x({},pe)),(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:!F&&t.children}),se]})});return isBulkEditAction(u)&&(he=(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:he})),U(j?(0,import_jsx_runtime.jsx)(TreeRecordProvider,{parent:k,children:he}):he)});InternalAction.displayName="InternalAction";Action.Popover=function e(t){const{button:o,visible:r,setVisible:i}=useActionContext(),n=(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:ErrorFallback,onError:handleError,children:t.children});return(0,import_jsx_runtime.jsx)(StablePopover,P(x({},t),{destroyTooltipOnHide:!0,open:r,onOpenChange:a=>{i(a)},content:n,children:o}))};Action.Popover.displayName="Action.Popover";Action.Popover.Footer=e=>(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:e.children});Action.Popover.Footer.displayName="Action.Popover.Footer";Action.Link=ActionLink;Action.Designer=ActionDesigner;Action.Drawer=ActionDrawer;Action.Modal=ActionModal;Action.Container=ActionContainer;Action.Page=ActionPage;const Action$1=Action;function isBulkEditAction(e){return e["x-action"]==="customize:bulkEdit"}function isWriteEmailAction(e){var t;return e["x-action"]==="customize:writeEmail"||((t=e.parent)==null?void 0:t["x-action"])==="customize:writeEmail"}const RenderButton=({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,tarComponent:c,designerProps:u,componentCls:m,hashId:d,className:p,others:h,getAriaLabel:g,type:_,Designer:f,onClick:v,refreshDataBlockRequest:C,fieldSchema:S,setVisible:b,run:y,confirm:F,modal:j,setSubmitted:k,confirmTitle:T,title:B})=>{const{getDataBlockRequest:w}=useDataBlockRequestGetter(),{t:L}=(0,import_react_i18next.useTranslation)(),{isPopupVisibleControlledByURL:D}=usePopupSettings(),{openPopup:R}=usePopupUtils(),$=useVariables$1(),M=useLocalVariables$1(),I=(0,import_react2.useRef)(null),N=useCompile(),O=(0,import_react.useForm)();I.current=R;const E={variables:$,localVariables:M},V=(0,import_react2.useCallback)((U,z=!0)=>q(void 0,null,function*(){var G;if(z&&(0,import_client.isPortalInBody)(U.target))return;U.preventDefault(),U.stopPropagation();const Y=yield getVariableValue(L(F==null?void 0:F.title,{title:N(S.title)}),E),H=yield getVariableValue(L(F==null?void 0:F.content,{title:N(S.title)}),E);if(!n&&o){const K=()=>{v?v(U,()=>{var J,Q;C!==!1&&(k==null||k(!0),(Q=(J=w())==null?void 0:J.refresh)==null||Q.call(J))}):isBulkEditAction(S)||!D()?(b(!0),y==null||y()):["view","update","create","customize:popup"].includes(S["x-action"])&&S["x-uid"]?I.current():(b(!0),y==null||y())};(F==null?void 0:F.enable)!==!1&&F!=null&&F.content?(yield(G=O==null?void 0:O.submit)==null?void 0:G.call(O),j.confirm({title:L(Y,{title:T||B||(t==null?void 0:t.title)}),content:L(H,{title:T||B||(t==null?void 0:t.title)}),onOk:K})):K()}}),[o,F==null?void 0:F.content,F==null?void 0:F.enable,F==null?void 0:F.title,T,n,t,S,D,j,v,C,y,k,b,L,B,w]);return(0,import_jsx_runtime.jsx)(RenderButtonInner,x({designable:e,field:t,aclCtx:o,icon:r,loading:i,disabled:n,buttonStyle:a,handleMouseEnter:l,getAriaLabel:g,handleButtonClick:V,tarComponent:c,componentCls:m,hashId:d,className:p,type:_,Designer:f,designerProps:u,title:B},h))};RenderButton.displayName="RenderButton";const RenderButtonInner=(0,import_react.observer)(e=>{var t,o;const r=e,{designable:i,field:n,aclCtx:a,icon:l,loading:c,disabled:u,buttonStyle:m,handleMouseEnter:d,getAriaLabel:p,handleButtonClick:h,tarComponent:g,componentCls:_,hashId:f,className:v,type:C,Designer:S,designerProps:b,title:y,isLink:F,onlyIcon:j}=r,k=W(r,["designable","field","aclCtx","icon","loading","disabled","buttonStyle","handleMouseEnter","getAriaLabel","handleButtonClick","tarComponent","componentCls","hashId","className","type","Designer","designerProps","title","isLink","onlyIcon"]),{t:T}=(0,import_react_i18next.useTranslation)(),B=(0,import_react2.useCallback)((0,import_debounce.default)((O,E=!0)=>{h(O,E)},300,{leading:!0,trailing:!1}),[h]);(0,import_react2.useEffect)(()=>()=>{B.cancel()},[]);const w=(0,import_react2.useMemo)(()=>import_react2.default.forwardRef((O,E)=>{var V=O,{component:U=g||import_antd.Button,icon:z,onlyIcon:G,children:Y}=V,H=W(V,["component","icon","onlyIcon","children"]);return(0,import_jsx_runtime.jsxs)(U,P(x({ref:E},H),{children:[G?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:H.title,children:(0,import_jsx_runtime.jsx)("span",{style:{padding:3},children:z&&typeof z=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:z}):z})}):(0,import_jsx_runtime.jsx)("span",{style:{paddingRight:3},children:z&&typeof z=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:z}):z}),G?Y[1]:Y]}))}),[j]);if(!i&&((t=n==null?void 0:n.data)!=null&&t.hidden||!a))return null;const L=y??(n==null?void 0:n.title),D=typeof L=="string"?T(L,{ns:NAMESPACE_UI_SCHEMA}):L,R=m,{opacity:$}=R,M=W(R,["opacity"]),I=F&&$?{opacity:$}:void 0,N=j||g?w:g||import_antd.Button;return(0,import_jsx_runtime.jsxs)(SortableItem,P(x({role:"button","aria-label":p()},k),{onMouseEnter:d,loading:((o=n==null?void 0:n.data)==null?void 0:o.loading)||c,icon:typeof l=="string"?(0,import_jsx_runtime.jsx)(Icon,{type:l,style:I}):l,disabled:u,style:F?M:m,onClick:B,component:N,className:(0,import_classnames.default)(_,f,v,"nb-action"),type:C==="danger"?void 0:C,title:typeof D=="string"?D:null,onlyIcon:j,children:[!j&&D&&(0,import_jsx_runtime.jsx)("span",{className:l?"nb-action-title":null,style:I,children:D}),(0,import_jsx_runtime.jsx)(S,x({},b))]}))});RenderButtonInner.displayName="RenderButtonInner";const ActionBarContext=import_react2.default.createContext({container:null}),ActionBarProvider=e=>{var t=e,{children:o}=t,r=W(t,["children"]);return(0,import_jsx_runtime.jsx)(ActionBarContext.Provider,{value:r,children:o})},useActionBarContext=()=>(0,import_react2.useContext)(ActionBarContext),Portal=e=>{const t=(0,import_react.useFieldSchema)(),{container:o,parentComponents:r=["BlockItem","CardItem"]}=useActionBarContext();return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:o&&r.includes(t.parent["x-component"])?(0,import_react_dom.createPortal)(e.children,o):e.children})},InternalActionBar=e=>{var t;const{forceProps:o={}}=useActionBarContext(),r=x(x({},useProps(e)),o),{layout:i="two-columns",style:n,spaceProps:a}=r,l=W(r,["layout","style","spaceProps"]),c=(0,import_react.useFieldSchema)(),{render:u}=useSchemaInitializerRender(c["x-initializer"],c["x-initializer-props"]),{designable:m}=useDesignable();if(i==="one-column")return(0,import_jsx_runtime.jsx)(Portal,{children:(0,import_jsx_runtime.jsx)(DndContext,{children:(0,import_jsx_runtime.jsxs)("div",P(x({style:x({display:"flex",alignItems:"center",gap:8,marginTop:0},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[e.children&&(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,h)=>(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))}))}),u({style:{margin:"0 !important"}})]}))})});const d=Object.keys((t=c.properties)!=null?t:{}).length>0;return(0,import_jsx_runtime.jsxs)("div",P(x({style:!m&&!d?void 0:x({display:"flex",justifyContent:"space-between",alignItems:"center",overflowX:"auto",flexShrink:0,gap:"8px"},n)},l),{className:(0,import_css.cx)(l.className,"nb-action-bar"),children:[(0,import_jsx_runtime.jsx)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",overflow:"hidden",flexWrap:"wrap",gap:"8px"},children:(0,import_jsx_runtime.jsxs)(DndContext,{children:[(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:{flexWrap:"wrap"},children:c.mapProperties((p,h)=>p["x-align"]!=="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))})),(0,import_jsx_runtime.jsx)(import_antd.Space,P(x({},a),{style:x({flexWrap:"wrap"},(a==null?void 0:a.style)||{}),children:c.mapProperties((p,h)=>p["x-align"]==="left"?null:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{name:h,schema:p},h))}))]})}),u()]}))},ActionBar=withDynamicSchemaProps(e=>e.hidden?null:(0,import_jsx_runtime.jsx)(InternalActionBar,x({},e)),{displayName:"ActionBar"}),useGetAriaLabelOfPopover=()=>{const e=(0,import_react.useFieldSchema)(),t=e["x-component"],o=typeof t=="string"?t:(t==null?void 0:t.displayName)||(t==null?void 0:t.name),r=useCompile();let{name:i}=useCollection_deprecated(),n=r(e.title);return i=i?`-${i}`:"",n=n?`-${n}`:"",{getAriaLabel:(0,import_react2.useCallback)(a=>(a=a?`-${a}`:"",`popover-${o}${i}${n}${a}`),[i,o,n])}},requestChartData=e=>function(){return q(this,null,function*(){var t;try{const o=yield this.api.request(e);return(t=o==null?void 0:o.data)==null?void 0:t.data}catch{return[]}})},FormComponent$1=e=>{const t=e,{form:o,children:r}=t,i=W(t,["form","children"]),n=(0,import_react.useField)(),a=(0,import_react.useFieldSchema)(),l=useAttach(o.createVoidField(P(x({},n.props),{basePath:""})));return(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},i),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:l.address,schema:a,onlyRenderProperties:!0})}))})})},Def$1=e=>e.children,FormDecorator$1=e=>{const t=e,{form:o,children:r,disabled:i}=t,n=W(t,["form","children","disabled"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useAttach(o.createVoidField(P(x({},a.props),{basePath:""}))),u=useComponent(l["x-component"],Def$1);return(0,import_react2.useEffect)(()=>{o.disabled=i||a.disabled},[i,a.disabled]),(0,import_jsx_runtime.jsx)(import_antd.ConfigProvider,{componentDisabled:i,children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:void 0,children:(0,import_jsx_runtime.jsx)(import_react.FormContext.Provider,{value:o,children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,P(x({layout:"vertical"},n),{children:(0,import_jsx_runtime.jsx)(import_react.FieldContext.Provider,{value:c,children:(0,import_jsx_runtime.jsx)(u,P(x({},a.componentProps),{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:c.address,schema:l,onlyRenderProperties:!0})}))})}))})})})},getRequestParams=e=>{const{request:t,initialValue:o}=e;return t||(()=>Promise.resolve({data:o}))},useDefaultValues=(e={},t={})=>useRequest(getRequestParams(t),e),FormBlockContext=(0,import_react2.createContext)(null);FormBlockContext.displayName="FormBlockContext";const Form$1=(0,import_react.observer)(e=>{const t=e,{request:o,effects:r,initialValue:i,useValues:n=useDefaultValues}=t,a=W(t,["request","effects","initialValue","useValues"]),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=(0,import_react2.useMemo)(()=>(0,import_core.createForm)({effects:r}),[]),m=n({uid:l["x-uid"],onSuccess(p){return q(this,null,function*(){yield u.reset(),u.setValues(p==null?void 0:p.data),u.setInitialValues(p==null?void 0:p.data)})}},e),d=(0,import_react2.useContext)(FormBlockContext);return(0,import_jsx_runtime.jsx)(FormBlockContext.Provider,{value:{parent:d,form:u,result:m,field:c,fieldSchema:l},children:(0,import_jsx_runtime.jsx)(import_antd.Spin,{spinning:(m==null?void 0:m.loading)||!1,children:l["x-decorator"]==="Form"?(0,import_jsx_runtime.jsx)(FormDecorator$1,x({form:u},a)):(0,import_jsx_runtime.jsx)(FormComponent$1,x({form:u},a))})})},{displayName:"Form"});Form$1.Designer=function e(){const{name:t,title:o}=useCollection_deprecated(),r=useSchemaTemplate(),{componentNamePrefix:i}=useBlockTemplateContext();return(0,import_jsx_runtime.jsxs)(GeneralSchemaDesigner,{template:r,title:o||t,children:[(0,import_jsx_runtime.jsx)(SchemaSettingsTemplate,{componentName:`${i}Form`,collectionName:t}),(0,import_jsx_runtime.jsx)(SchemaSettingsDivider,{}),(0,import_jsx_runtime.jsx)(SchemaSettingsRemove,{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}})]})};const formV1Settings=new SchemaSettings({name:"FormV1Settings",items:[{name:"template",Component:SchemaSettingsTemplate,useComponentProps(){const{name:e}=useCollection_deprecated(),{componentNamePrefix:t}=useBlockTemplateContext();return{componentName:`${t}Form`,collectionName:e}}},{name:"divider",type:"divider"},{name:"remove",type:"remove",componentProps:{removeParentsIfNoChildren:!0,breakRemoveOn:{"x-component":"Grid"}}}]}),FormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormSettings",template:o,title:t||e})},ReadPrettyFormDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"ReadPrettyFormSettings",template:o,title:t||e})},DetailsDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"FormDetailsSettings",template:o,title:t||e})},FilterDesigner=()=>{const{name:e,title:t}=useCollection_deprecated(),o=useSchemaTemplate();return(0,import_jsx_runtime.jsx)(GeneralSchemaDesigner,{schemaSettings:"blockSettings:filterForm",template:o,title:t||e})},defaultFieldNames$1={label:"label",value:"value",color:"color",options:"children"};function flatData$1(e,t){const o=[];if(!Array.isArray(e))return o;for(let r=0;r<e.length;r++){const i=e[r][t.options];Array.isArray(i)&&o.push(...flatData$1(i,t)),o.push(x({},e[r]))}return o}function findOptions(e,t,o){if(!e)return[];const r=[];for(const i of o){const n=e.find(a=>a[t.value]==i)||{value:i,label:i&&i.toString()};r.push(n)}return r}function getCurrentOptions(e,t,o){const r=flatData$1(t,o),i=(0,import_lodash.castArray)(e).map(n=>(0,import_client.isPlainObject)(n)?n[o.value]:n);return findOptions(r,o,i)}const ReadPrettyInternal=(0,import_react.observer)(e=>{const[t,o]=(0,import_react2.useState)(!0),[r,i]=(0,import_react2.useState)([]),n=(0,import_react.useField)(),a=useCollectionField();return(0,import_react2.useEffect)(()=>{var l;const c=x(x({},defaultFieldNames$1),e.fieldNames),u=n.dataSource||e.options||(a==null?void 0:a.uiSchema.enum)||[],m=getCurrentOptions(n.value,u,c);if(!(0,import_shared.isValid)(e.value)&&!m.length||(0,import_core.isArrayField)(n)&&((l=n==null?void 0:n.value)==null?void 0:l.length)===0)return;const d=n.value!==null&&m.map((p,h)=>(0,import_jsx_runtime.jsx)(import_antd.Tag,{color:p[c.color],icon:p.icon,children:p[c.label]},h));i(d),o(!1)},[a==null?void 0:a.uiSchema.enum,n,n.dataSource,n.value,e.fieldNames,e.options,e.value]),t?null:(0,import_jsx_runtime.jsx)(EllipsisWithTooltip,{ellipsis:e.ellipsis,children:r})},{displayName:"SelectReadPretty"}),ReadPretty$b=withPopupWrapper(ReadPrettyInternal),isEmptyObject=e=>!(0,import_shared.isValid)(e)||typeof e=="object"&&Object.keys(e).length===0,ObjectSelect=e=>{const t=e,{value:o,options:r,onChange:i,fieldNames:n,mode:a,loading:l,rawOptions:c,defaultValue:u}=t,m=W(t,["value","options","onChange","fieldNames","mode","loading","rawOptions","defaultValue"]),d=import_react_device_detect.isDesktop?"":fixKeyboardIssue,p=import_react_device_detect.isDesktop?void 0:"topLeft",h=g=>{var _;if(isEmptyObject(g))return;const f=(0,import_shared.toArr)(g).filter(C=>C).map(C=>(0,import_client.isPlainObject)(C)?C[n.value]:C),v=(_=getCurrentOptions(f,r,n))==null?void 0:_.map(C=>({label:C[n.label],value:C[n.value]}));return["tags","multiple"].includes(a)||e.multiple?v:v.shift()};return(0,import_jsx_runtime.jsx)(import_antd.Select,x({rootClassName:d,placement:p,role:"button","data-testid":`select-object-${a||"single"}`,value:h(o),defaultValue:h(u),allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close-select"})},labelInValue:!0,notFoundContent:l?(0,import_jsx_runtime.jsx)(import_antd.Spin,{}):(0,import_jsx_runtime.jsx)(import_antd.Empty,{image:import_antd.Empty.PRESENTED_IMAGE_SIMPLE}),options:r,fieldNames:n,showSearch:!0,popupMatchSelectWidth:!1,filterOption:(g,_)=>{var f;return((f=_==null?void 0:_[n.label||"label"])!=null?f:"").includes(g)},filterSort:(g,_)=>{var f,v;return((f=g==null?void 0:g[n.label||"label"])!=null?f:"").toLowerCase().localeCompare(((v=_==null?void 0:_[n.label||"label"])!=null?v:"").toLowerCase())},onChange:g=>{const _=getCurrentOptions((0,import_shared.toArr)(g).map(f=>f.value),c||r,n);["tags","multiple"].includes(a)||e.multiple?i==null||i(_):i==null||i(_.shift()||null)},mode:a,tagRender:g=>(0,import_jsx_runtime.jsx)(import_antd.Tag,P(x({role:"button","aria-label":g.label,closeIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{role:"button","aria-label":"icon-close-tag"})},g),{children:g.label})),maxTagCount:"responsive"},m))},filterOption=(e,t)=>{var o;return((o=t==null?void 0:t.label)!=null?o:"").toLowerCase().includes((e||"").toLowerCase())},fixKeyboardIssue=import_css.css`
|
|
733
733
|
& .ant-select-selection-search-input {
|
|
734
734
|
opacity: 0.1 !important;
|
|
735
735
|
}
|
|
@@ -910,7 +910,7 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
910
910
|
display: none;
|
|
911
911
|
}
|
|
912
912
|
}
|
|
913
|
-
`,InternalPageContent=e=>{var t,o,r;const{loading:i,disablePageHeader:n,enablePageTabs:a,activeKey:l}=e,c=useCurrentRoute(),u=useNavigateNoUpdate(),m=useLocationNoUpdate(),{isMobileLayout:d}=useMobileLayout(),p=((c==null?void 0:c.children)||[]).every(g=>g.schemaUid!==l&&g.tabSchemaName!==l);if(l&&p)return(0,import_jsx_runtime.jsx)(AppNotFound,{});const h=(t=c==null?void 0:c.children)==null?void 0:t.find(g=>g.tabSchemaName===l);if(h){const g=new URLSearchParams(m.search);g.has("tab")&&g.get("tab")===l&&g.delete("tab");const _=g.toString()?`?${g.toString()}`:"",f=m.pathname+(m.pathname.endsWith("/")?`tabs/${h.schemaUid}`:`/tabs/${h.schemaUid}`);return u(f+_),null}return!n&&a?(0,import_jsx_runtime.jsx)(KeepAlive,{uid:l,children:g=>{var _;return(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(_=c.children)==null?void 0:_.find(f=>f.schemaUid===g),children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:g,schemaTransform:d?import_client.transformMultiColumnToSingleColumn:void 0})})}}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(o=c==null?void 0:c.children)==null?void 0:o[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(r=c==null?void 0:c.children)==null?void 0:r[0].schemaUid,schemaTransform:d?import_client.transformMultiColumnToSingleColumn:void 0})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),TabBadge=e=>{var t,o,r;const i=useEvaluatedExpression((o=(t=e.tabRoute.options)==null?void 0:t.badge)==null?void 0:o.count);return i==null?null:(0,import_jsx_runtime.jsx)(import_antd.Badge,P(x({},(r=e.tabRoute.options)==null?void 0:r.badge),{count:i,style:e.style,dot:!1,children:e.children}))},NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),h=useCurrentRoute(),{createRoute:g}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>q(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),T=(0,import_shared.uid)();yield g({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:h.id,tabSchemaName:T}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:T}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=h.enableTabs,C=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=h==null?void 0:h.children)==null?void 0:y.map(F=>{var j,k;if(!F||F.hideInMenu)return null;const T={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:F.schemaUid,type:"pageTab",children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:T,style:{display:"flex",alignItems:"center"},children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{}),(0,import_jsx_runtime.jsx)(TabBadge,{style:{marginLeft:4,color:(k=(j=F.options)==null?void 0:j.badge)==null?void 0:k.textColor},tabRoute:F})]})})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),h]),{onDragEnd:b}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:b,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:C,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),{active:m}=useKeepAlive(),d=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,p=useCurrentRoute(),h=p.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:_}=useToken$1();return(0,import_react2.useEffect)(()=>{const f=a(i.title,{ns:NAMESPACE_UI_SCHEMA})||a(p==null?void 0:p.title,{ns:NAMESPACE_UI_SCHEMA});f&&m&&(n(f),u(f))},[i.title,c,n,a,p==null?void 0:p.title,m]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!d&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||h?"":"height0"),style:{paddingBottom:p.enableTabs||g?0:_.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return q(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}},sort:100},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return q(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}},sort:200},{name:"divider",type:"divider",sort:300},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return q(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}},sort:400}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return q(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return["belongsTo","hasMany","hasOne","belongsToMany","belongsToArray"].includes(e.type)&&e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const FieldsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u,includeFieldPaths:m}=t,d=W(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData","includeFieldPaths"]),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),[g,_]=(0,import_react2.useState)({}),f=a({collection:n}),[v,C]=parseCollectionName(f),S=useApp(),{collectionManager:b}=S.dataSourceManager.getDataSource(v),y=(D,R)=>{const $=b.getCollection(D);return $?$.getAllFields(R):[]},F=Object.values(g),j=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(D=>g[D]).filter(Boolean):r,[r,e.multiple,g]),k=(0,import_react2.useCallback)(D=>q(void 0,null,function*(){if(u!=null)return u(D);if(!D.isLeaf&&D.loadChildren){const R=D.loadChildren(D);_($=>R.reduce((M,I)=>Object.assign(M,{[I.value]:I}),x({},$)))}}),[u]);(0,import_react2.useEffect)(()=>{const D=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,R=(u===null?[]:getCollectionFieldOptions.call({compile:p,getCollectionFields:y,filter:l},C,D)).reduce(($,M)=>Object.assign($,{[M.value]:M}),{});D&&(R[D.value]=D),_(R)},[f,c,l,u]),(0,import_react2.useEffect)(()=>{const D=e.multiple?r:r?[r]:[];if(!(D!=null&&D.length)||D.every($=>!!g[$]))return;const R=[];D.forEach($=>{const M=$.split(".");let I=g[M[0]];for(let N=1;N<M.length&&I;N++){const O=M.slice(0,N+1).join(".");if(g[O]){I=g[O];break}if(!I.isLeaf&&I.loadChildren){const E=I.loadChildren(I);E!=null&&E.length&&(R.push(...E),I=E.find(V=>V.value===M.slice(0,N+1).join(".")))}}}),_($=>R.reduce((M,I)=>Object.assign(M,{[I.value]:I}),x({},$)))},[r,F.length,e.multiple]);const T=(0,import_react2.useCallback)(D=>{if(!e.multiple){i(D);return}const R=D.map(I=>I.value).filter(Boolean),$=new Set(R),M=j.find(I=>!$.has(I.value));if(M){const I=`${M.value}.`;Object.keys(g).forEach(N=>{N.startsWith(I)&&$.delete(N)})}else m&&R.forEach(I=>{const N=I.split(".");if(N.length)for(let O=1;O<=N.length;O++)$.add(N.slice(0,O).join("."))});i(Array.from($))},[e.multiple,j,i,g]),B=(0,import_react2.useCallback)(D=>{var R;const{value:$,onClose:M,disabled:I,closable:N}=D;if(!$)return null;const{fullTitle:O}=(R=g[$])!=null?R:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:N&&!I,onClose:M,children:O==null?void 0:O.join(" / ")})},[g]),w=Array.isArray(j)?j.filter(D=>D.value in g):j,L=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,P(x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:w,placeholder:h("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:L,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:B,onChange:T,treeDataSimpleMode:!0,treeData:F,loadData:k},d),{suffixIcon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})}))},AppendsTreeSelect=e=>(0,import_jsx_runtime.jsx)(FieldsTreeSelect,x({filter:isAssociation,includeFieldPaths:!0},e)),removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=W(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,h]=(0,import_react2.useState)(d),g=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),C=useAPIClient().resource(u.target),S=useCollectionRecordData(),b=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const B=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(B)?B.filter(Boolean):B,L=removeIfKeyEmpty(w,j);h(L),(0,import_lodash.isEqual)(a.value,L)||(a.value=L)},[a.value,j]),(0,import_react2.useEffect)(()=>{const B=(0,import_shared.uid)();return v.addEffects(B,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var L,D,R,$,M,I;const N=filterAnalyses((R=(D=(L=a.componentProps)==null?void 0:L.service)==null?void 0:D.params)==null?void 0:R.filter)||[],O=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);N.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((M=w==null?void 0:w.props)==null?void 0:M.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(O,E))&&(a.setValue(null),h(null))})}),()=>{v.removeEffects(B)}},[]);const k=B=>q(void 0,null,function*(){var w,L;const{search:D,callBack:R}=B,{data:{data:$}}=yield C.create({values:{[((L=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:L.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const M=v.getValuesIn(a.path)||[];M.push($),v.setValuesIn(a.path,M),a.onInput(M)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(R)&&(R==null||R()),import_antd.message.success(_("Saved successfully"))}}),T=B=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(B),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${B.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:B=>{var w;const L=Array.isArray(B)&&B.length===0?null:B;(w=e.onChange)==null||w.call(e,L)},CustomDropdownRender:g==="quickAdd"&&T})),g==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},b),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:B=>B["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:h})=>{c({percent:Math.round(h/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;return typeof e=="string"?{url:e}:((t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data)),P(x({},e),{id:e.id||e.uid,title:e.title||e.name}))},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
|
|
913
|
+
`,InternalPageContent=e=>{var t,o,r;const{loading:i,disablePageHeader:n,enablePageTabs:a,activeKey:l}=e,c=useCurrentRoute(),u=useNavigateNoUpdate(),m=useLocationNoUpdate(),{isMobileLayout:d}=useMobileLayout(),p=((c==null?void 0:c.children)||[]).every(g=>g.schemaUid!==l&&g.tabSchemaName!==l);if(l&&p)return(0,import_jsx_runtime.jsx)(AppNotFound,{});const h=(t=c==null?void 0:c.children)==null?void 0:t.find(g=>g.tabSchemaName===l);if(h){const g=new URLSearchParams(m.search);g.has("tab")&&g.get("tab")===l&&g.delete("tab");const _=g.toString()?`?${g.toString()}`:"",f=m.pathname+(m.pathname.endsWith("/")?`tabs/${h.schemaUid}`:`/tabs/${h.schemaUid}`);return u(f+_),null}return!n&&a?(0,import_jsx_runtime.jsx)(KeepAlive,{uid:l,children:g=>{var _;return(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(_=c.children)==null?void 0:_.find(f=>f.schemaUid===g),children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:g,schemaTransform:d?import_client.transformMultiColumnToSingleColumn:void 0})})}}):(0,import_jsx_runtime.jsx)("div",{className:className1,children:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:(o=c==null?void 0:c.children)==null?void 0:o[0],children:(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{uid:(r=c==null?void 0:c.children)==null?void 0:r[0].schemaUid,schemaTransform:d?import_client.transformMultiColumnToSingleColumn:void 0})})})},PageContent=(0,import_react2.memo)(e=>(0,import_jsx_runtime.jsx)(PopupRouteContextResetter,{children:(0,import_jsx_runtime.jsx)(InternalPageContent,x({},e))})),TabBadge=e=>{var t,o,r;const i=useEvaluatedExpression((o=(t=e.tabRoute.options)==null?void 0:t.badge)==null?void 0:o.count);return i==null?null:(0,import_jsx_runtime.jsx)(import_antd.Badge,P(x({},(r=e.tabRoute.options)==null?void 0:r.badge),{count:i,style:e.style,dot:!1,children:e.children}))},NocoBasePageHeaderTabs=({className:e,activeKey:t})=>{const o=(0,import_react.useFieldSchema)(),{t:r}=(0,import_react_i18next.useTranslation)(),{t:i}=useRouteTranslation(),{token:n}=useToken$1(),a=useRouterBasename(),l=useNavigateNoUpdate(),c=(0,import_react2.useCallback)(y=>{navigateToTab({activeKey:y,navigate:l,basename:a})},[a,l]),u=useDesignable(),{getAriaLabel:m}=useGetAriaLabelOfSchemaInitializer(),d=(0,import_react2.useContext)(import_react.SchemaOptionsContext),{theme:p}=useGlobalTheme(),h=useCurrentRoute(),{createRoute:g}=useNocoBaseRoutes(),_=useCompile(),f=(0,import_react2.useMemo)(()=>u.designable&&(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":m("tabs"),icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),className:"addTabBtn",type:"dashed",onClick:()=>q(void 0,null,function*(){const y=yield FormDialog(r("Add tab"),()=>(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:d.scope,components:x({},d.components),children:(0,import_jsx_runtime.jsx)(import_antd_v5.FormLayout,{layout:"vertical",children:(0,import_jsx_runtime.jsx)(SchemaComponent,{schema:{properties:{title:{title:r("Tab name"),"x-component":"Input","x-decorator":"FormItem",required:!0},icon:{title:r("Icon"),"x-component":"IconPicker","x-decorator":"FormItem"}}}})})}),p).open({initialValues:{}}),{title:F,icon:j}=y,k=(0,import_shared.uid)(),T=(0,import_shared.uid)();yield g({type:NocoBaseDesktopRouteType.tabs,schemaUid:k,title:F||'{{t("Unnamed")}}',icon:j,parentId:h.id,tabSchemaName:T}),u.insertBeforeEnd(getTabSchema({title:F,icon:j,schemaUid:k,tabSchemaName:T}))}),children:r("Add tab")}),[u,m,d==null?void 0:d.components,d==null?void 0:d.scope,r,p]),v=h.enableTabs,C=(0,import_react2.useMemo)(()=>({paddingLeft:n.paddingLG-n.paddingPageHorizontal,paddingRight:n.paddingLG-n.paddingPageHorizontal,marginLeft:n.paddingPageHorizontal-n.paddingLG,marginRight:n.paddingPageHorizontal-n.paddingLG}),[n.paddingLG,n.paddingPageHorizontal]),S=(0,import_react2.useMemo)(()=>{var y;return(y=h==null?void 0:h.children)==null?void 0:y.map(F=>{var j,k;if(!F||F.hideInMenu)return null;const T={__route__:F};return{label:(0,import_jsx_runtime.jsx)(NocoBaseRouteContext.Provider,{value:F,children:(0,import_jsx_runtime.jsx)(VariableScope,{scopeId:F.schemaUid,type:"pageTab",children:(0,import_jsx_runtime.jsxs)(SortableItem,{id:String(F.id),className:(0,import_classnames.default)("nb-action-link","designerCss",e),schema:T,style:{display:"flex",alignItems:"center"},children:[F.icon&&(0,import_jsx_runtime.jsx)(Icon,{style:{marginRight:8},type:F.icon}),(0,import_jsx_runtime.jsx)("span",{children:F.title&&i(_(F.title))||r("Unnamed")}),(0,import_jsx_runtime.jsx)(PageTabDesigner,{}),(0,import_jsx_runtime.jsx)(TabBadge,{style:{marginLeft:4,color:(k=(j=F.options)==null?void 0:j.badge)==null?void 0:k.textColor},tabRoute:F})]})})}),key:F.schemaUid}}).filter(Boolean)},[o,e,r,o.mapProperties(y=>y.title||r("Unnamed")).join(),h]),{onDragEnd:b}=useMenuDragEnd();return v?(0,import_jsx_runtime.jsx)(DndContext,{onDragEnd:b,children:(0,import_jsx_runtime.jsx)(import_antd.Tabs,{size:"small",activeKey:t,tabBarStyle:C,onChange:c,tabBarExtraContent:f,items:S})}):null},NocoBasePageHeader=import_react2.default.memo(({activeKey:e,className:t})=>{var o,r;const i=(0,import_react.useFieldSchema)(),{setTitle:n}=useDocumentTitle(),{t:a}=(0,import_react_i18next.useTranslation)(),{t:l}=useRouteTranslation(),[c,u]=(0,import_react2.useState)(()=>a(i.title)),{active:m}=useKeepAlive(),d=(o=i["x-component-props"])==null?void 0:o.disablePageHeader,p=useCurrentRoute(),h=p.enableTabs,g=(r=i["x-component-props"])==null?void 0:r.hidePageTitle,{token:_}=useToken$1();return(0,import_react2.useEffect)(()=>{const f=a(i.title,{ns:NAMESPACE_UI_SCHEMA})||a(p==null?void 0:p.title,{ns:NAMESPACE_UI_SCHEMA});f&&m&&(n(f),u(f))},[i.title,c,n,a,p==null?void 0:p.title,m]),(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)(PageDesigner,{title:c}),!d&&(0,import_jsx_runtime.jsx)(import_pro_layout.PageHeader,{className:(0,import_classnames.default)("pageHeaderCss",c||h?"":"height0"),style:{paddingBottom:p.enableTabs||g?0:_.paddingSM},ghost:!1,title:g?" ":(!i.title&&c?l(c):c)||" ",footer:(0,import_jsx_runtime.jsx)(NocoBasePageHeaderTabs,{className:t,activeKey:e})})]})});NocoBasePageHeader.displayName="NocoBasePageHeader";function navigateToTab({activeKey:e,navigate:t,basename:o,pathname:r=window.location.pathname}){r=r.replace(o,""),r.endsWith("/")&&(r=r.slice(0,-1)),r.startsWith("/")||(r=`/${r}`),isTabPage(r)?t(withSearchParams(`${r.replace(/\/tabs\/[^/]+$/,`/tabs/${e}`)}`),{replace:!0}):t(withSearchParams(`${r}/tabs/${e}`),{replace:!0})}function isTabPage(e){e.endsWith("/")&&(e=e.slice(0,-1));const t=e.split("/");return t[t.length-2]==="tabs"}function getTabSchema({title:e,icon:t,schemaUid:o,tabSchemaName:r}){return{type:"void",name:r,title:e,"x-icon":t,"x-component":"Grid","x-initializer":"page:addBlock",properties:{},"x-uid":o,"x-async":!0}}function RouteSchemaComponent(){const e=useCurrentPageUid();return(0,import_jsx_runtime.jsx)(RemoteSchemaComponent,{onlyRenderProperties:!0,uid:e})}function useNotDisableHeader(){var e;return!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.disablePageHeader)}const pageSettings=new SchemaSettings({name:"PageSettings",items:[{name:"enablePageHeader",type:"switch",useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Enable page header"),checked:!((e=r["x-component-props"])!=null&&e.disablePageHeader),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].disablePageHeader=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"divider",type:"divider",useVisible:useNotDisableHeader},{name:"displayPageTitle",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){var e;const{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),r=(0,import_react.useFieldSchema)();return{title:o("Display page title"),checked:!((e=r["x-component-props"])!=null&&e.hidePageTitle),onChange(i){r["x-component-props"]=r["x-component-props"]||{},r["x-component-props"].hidePageTitle=!i,t.emit("patch",{schema:{"x-uid":r["x-uid"],"x-component-props":r["x-component-props"]}}),t.refresh()}}}},{name:"editPageTitle",type:"modal",useVisible(){var e;const t=useNotDisableHeader(),o=!((e=(0,import_react.useFieldSchema)()["x-component-props"])!=null&&e.hidePageTitle);return t&&o},useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useField)(),r=(0,import_react.useFieldSchema)(),{title:i}=useSchemaToolbar();return{hide:!0,title:t("Edit page title"),schema:{type:"object",title:t("Edit page title"),properties:{title:{title:t("Title"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},initialValues:{title:i},onSubmit({title:n}){o.title=n,r.title=n,e.emit("patch",{schema:{"x-uid":r["x-uid"],title:n}})}}}},{name:"enablePageTabs",type:"switch",useVisible:useNotDisableHeader,useComponentProps(){const{dn:e}=useDesignable(),{t}=(0,import_react_i18next.useTranslation)(),o=(0,import_react.useFieldSchema)(),r=useCurrentRoute(),{updateRoute:i}=useNocoBaseRoutes();return{title:t("Enable page tabs"),checked:r.enableTabs,onChange(n){return q(this,null,function*(){yield i(r.id,{enableTabs:n}),o["x-component-props"]=o["x-component-props"]||{},o["x-component-props"].enablePageTabs=n,e.emit("patch",{schema:{"x-uid":o["x-uid"],"x-component-props":o["x-component-props"]}})})}}}}]}),pageTabSettings=new SchemaSettings({name:"PageTabSettings",items:[{name:"edit",type:"modal",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Edit"),schema:{type:"object",title:e("Edit tab"),properties:{title:{title:e("Tab name"),required:!0,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}},icon:{title:e("Icon"),"x-decorator":"FormItem","x-component":"IconPicker","x-component-props":{}}}},initialValues:{title:o.title,icon:o.icon},onSubmit:({title:r,icon:i})=>{t(o.id,{title:r,icon:i})}}},sort:100},{name:"hidden",type:"switch",useComponentProps(){const{t:e}=(0,import_react_i18next.useTranslation)(),{updateRoute:t}=useNocoBaseRoutes(),o=useCurrentRoute();return{title:e("Hidden"),checked:o.hideInMenu,onChange:r=>{import_antd.Modal.confirm({title:e("Are you sure you want to hide this tab?"),icon:(0,import_jsx_runtime.jsx)(import_icons.ExclamationCircleFilled,{}),content:e("After hiding, this tab will no longer appear in the tab bar. To show it again, you need to go to the route management page to set it."),onOk(){return q(this,null,function*(){yield t(o.id,{hideInMenu:!!r})})}})}}},sort:200},{name:"divider",type:"divider",sort:300},{name:"delete",type:"item",useComponentProps(){const{modal:e}=import_antd.App.useApp(),{dn:t}=useDesignable(),{t:o}=(0,import_react_i18next.useTranslation)(),{deleteRoute:r}=useNocoBaseRoutes(),i=useCurrentRoute(),n=useNavigateNoUpdate(),a=(0,import_react.useFieldSchema)();return{title:o("Delete"),eventKey:"remove",onClick(){e.confirm(P(x({title:o("Delete block"),content:o("Are you sure you want to delete it?")},confirm),{onOk(){return q(this,null,function*(){yield r(i.id),t.emit("remove",{removed:{"x-uid":i.schemaUid}}),window.location.pathname.includes(i.schemaUid)&&n(`/admin/${a["x-uid"]}`)})}}))},children:o("Delete")}},sort:400}]}),AntdSchemaComponentProvider=e=>{const{children:t}=e;return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{requestChartData,useFilterActionProps:useFilterActionProps$1},components:x(x({},components$2),common),children:t})};class AntdSchemaComponentPlugin extends Plugin{load(){return q(this,null,function*(){this.addComponents(),this.addScopes(),this.addSchemaSettings()})}addComponents(){this.app.addComponents(x(x({},components$2),common))}addScopes(){this.app.addScopes({requestChartData,useFilterActionProps:useFilterActionProps$1})}addSchemaSettings(){this.app.schemaSettingsManager.add(pageSettings),this.app.schemaSettingsManager.add(pageTabSettings),this.app.schemaSettingsManager.add(formItemSettings),this.app.schemaSettingsManager.add(filterFormItemSettings),this.app.schemaSettingsManager.add(formV1Settings),this.app.schemaSettingsManager.add(formSettings),this.app.schemaSettingsManager.add(readPrettyFormSettings),this.app.schemaSettingsManager.add(formDetailsSettings),this.app.schemaSettingsManager.add(actionSettings)}}function usePropsCollection({collection:e}){return e}function loadChildren(e){const t=getCollectionFieldOptions.call(this,e.field.target,e);return t.length&&t.some(o=>isAssociation(o.field))||(e.isLeaf=!0),t}function isAssociation(e){return["belongsTo","hasMany","hasOne","belongsToMany","belongsToArray"].includes(e.type)&&e.target&&e.interface}function trueFilter(e){return!0}function getCollectionFieldOptions(e,t){const o=this.getCollectionFields(e),r=loadChildren.bind(this);return o.filter(this.filter).map(i=>{var n,a,l;const c=t?`${t.value?`${t.value}.`:""}${i.name}`:i.name,u=(a=this.compile((n=i.uiSchema)==null?void 0:n.title))!=null?a:i.name,m=!this.getCollectionFields(i.target).filter(isAssociation).filter(this.filter).length;return{pId:(l=t==null?void 0:t.key)!=null?l:null,id:c,key:c,value:c,title:u,isLeaf:m,loadChildren:m?null:r,field:i,fullTitle:t?[...t.fullTitle,u]:[u]}})}const FieldsTreeSelect=e=>{const t=e,{title:o,value:r,onChange:i,collection:n,useCollection:a=usePropsCollection,filter:l=trueFilter,rootOption:c,loadData:u,includeFieldPaths:m}=t,d=W(t,["title","value","onChange","collection","useCollection","filter","rootOption","loadData","includeFieldPaths"]),p=useCompile(),{t:h}=(0,import_react_i18next.useTranslation)(),[g,_]=(0,import_react2.useState)({}),f=a({collection:n}),[v,C]=parseCollectionName(f),S=useApp(),{collectionManager:b}=S.dataSourceManager.getDataSource(v),y=(D,R)=>{const $=b.getCollection(D);return $?$.getAllFields(R):[]},F=Object.values(g),j=(0,import_react2.useMemo)(()=>e.multiple?(r||[]).map(D=>g[D]).filter(Boolean):r,[r,e.multiple,g]),k=(0,import_react2.useCallback)(D=>q(void 0,null,function*(){if(u!=null)return u(D);if(!D.isLeaf&&D.loadChildren){const R=D.loadChildren(D);_($=>R.reduce((M,I)=>Object.assign(M,{[I.value]:I}),x({},$)))}}),[u]);(0,import_react2.useEffect)(()=>{const D=c?P(x({},c),{id:c.value,key:c.value,title:c.label,fullTitle:c.label,isLeaf:!1}):null,R=(u===null?[]:getCollectionFieldOptions.call({compile:p,getCollectionFields:y,filter:l},C,D)).reduce(($,M)=>Object.assign($,{[M.value]:M}),{});D&&(R[D.value]=D),_(R)},[f,c,l,u]),(0,import_react2.useEffect)(()=>{const D=e.multiple?r:r?[r]:[];if(!(D!=null&&D.length)||D.every($=>!!g[$]))return;const R=[];D.forEach($=>{const M=$.split(".");let I=g[M[0]];for(let N=1;N<M.length&&I;N++){const O=M.slice(0,N+1).join(".");if(g[O]){I=g[O];break}if(!I.isLeaf&&I.loadChildren){const E=I.loadChildren(I);E!=null&&E.length&&(R.push(...E),I=E.find(V=>V.value===M.slice(0,N+1).join(".")))}}}),_($=>R.reduce((M,I)=>Object.assign(M,{[I.value]:I}),x({},$)))},[r,F.length,e.multiple]);const T=(0,import_react2.useCallback)(D=>{if(!e.multiple){i(D);return}const R=D.map(I=>I.value).filter(Boolean),$=new Set(R),M=j.find(I=>!$.has(I.value));if(M){const I=`${M.value}.`;Object.keys(g).forEach(N=>{N.startsWith(I)&&$.delete(N)})}else m&&R.forEach(I=>{const N=I.split(".");if(N.length)for(let O=1;O<=N.length;O++)$.add(N.slice(0,O).join("."))});i(Array.from($))},[e.multiple,j,i,g]),B=(0,import_react2.useCallback)(D=>{var R;const{value:$,onClose:M,disabled:I,closable:N}=D;if(!$)return null;const{fullTitle:O}=(R=g[$])!=null?R:{};return(0,import_jsx_runtime.jsx)(import_antd.Tag,{closable:N&&!I,onClose:M,children:O==null?void 0:O.join(" / ")})},[g]),w=Array.isArray(j)?j.filter(D=>D.value in g):j,L=e.multiple?r:r!=null?[r]:[];return(0,import_jsx_runtime.jsx)(import_antd.TreeSelect,P(x({role:"button","data-testid":`select-field${o?`-${o}`:""}`,value:w,placeholder:h("Select field"),showCheckedStrategy:import_antd.TreeSelect.SHOW_ALL,treeDefaultExpandedKeys:L,allowClear:{clearIcon:(0,import_jsx_runtime.jsx)(import_icons.CloseCircleFilled,{role:"button","aria-label":"icon-close"})},treeCheckStrictly:e.multiple,treeCheckable:e.multiple,tagRender:B,onChange:T,treeDataSimpleMode:!0,treeData:F,loadData:k},d),{suffixIcon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})}))},AppendsTreeSelect=e=>(0,import_jsx_runtime.jsx)(FieldsTreeSelect,x({filter:isAssociation,includeFieldPaths:!0},e)),removeIfKeyEmpty=(e,t)=>!e||typeof e!="object"||!t||Array.isArray(e)||e[t]?e:void 0,AssociationFieldAddNewer=e=>{const t=(0,import_react2.useContext)(SchemaComponentContext);return(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},t),{draggable:!0}),children:(0,import_jsx_runtime.jsx)(Action.Container,x({},e))})},filterAnalyses=e=>{if(!e)return;const t=Object.keys(e)[0]||"$and",o=e[t],r=[];return o==null||o.map(i=>{var n,a,l;const c=getInnermostKeyAndValue(i);if(!(c!=null&&c.key))return!0;const u=/\{\{\$[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\.(\w+)\.id\}\}/,m=(l=(a=(n=c==null?void 0:c.value)==null?void 0:n.match)==null?void 0:a.call(n,u))==null?void 0:l[1];m&&r.push(m)}),r};function getFieldPath(e){const t=e.lastIndexOf(".");return t===-1?e:e.slice(0,t)}const InternalAssociationSelect$1=(0,import_react.observer)(e=>{var t;const o=e,{objectValue:r=!0,addMode:i}=o,n=W(o,["objectValue","addMode"]),a=(0,import_react.useField)(),l=(0,import_react.useFieldSchema)(),c=useServiceOptions$1((l==null?void 0:l["x-component-props"])||e),{options:u}=useAssociationFieldContext(),m=isVariable$1(e.value)?void 0:e.value,d=Array.isArray(m)?m.filter(Boolean):m,[p,h]=(0,import_react2.useState)(d),g=(t=l["x-component-props"])==null?void 0:t.addMode,{t:_}=(0,import_react_i18next.useTranslation)(),{multiple:f}=e,v=(0,import_react.useForm)(),C=useAPIClient().resource(u.target),S=useCollectionRecordData(),b=(0,import_react2.useContext)(SchemaComponentContext),{getCollection:y}=useCollectionManager_deprecated(),F=y(u.target),{filterTargetKey:j}=F;(0,import_react2.useEffect)(()=>{const B=isVariable$1(a.value)?void 0:a.value,w=Array.isArray(B)?B.filter(Boolean):B,L=removeIfKeyEmpty(w,j);h(L),(0,import_lodash.isEqual)(a.value,L)||(a.value=L)},[a.value,j]),(0,import_react2.useEffect)(()=>{const B=(0,import_shared.uid)();return v.addEffects(B,()=>{(0,import_core.onFieldInputValueChange)("*",w=>{var L,D,R,$,M,I;const N=filterAnalyses((R=(D=(L=a.componentProps)==null?void 0:L.service)==null?void 0:D.params)==null?void 0:R.filter)||[],O=getFieldPath(w.address.entire),E=getFieldPath(a.address.entire);N.includes(($=w==null?void 0:w.props)==null?void 0:$.name)&&a.value&&(0,import_lodash.isEqual)(w==null?void 0:w.indexes,a==null?void 0:a.indexes)&&((M=w==null?void 0:w.props)==null?void 0:M.name)!==a.props.name&&(!((I=a==null?void 0:a.indexes)!=null&&I.length)||(0,import_lodash.isEqual)(O,E))&&(a.setValue(null),h(null))})}),()=>{v.removeEffects(B)}},[]);const k=B=>q(void 0,null,function*(){var w,L;const{search:D,callBack:R}=B,{data:{data:$}}=yield C.create({values:{[((L=(w=a==null?void 0:a.componentProps)==null?void 0:w.fieldNames)==null?void 0:L.label)||"id"]:D}});if($){if(["m2m","o2m"].includes(u==null?void 0:u.interface)&&f!==!1){const M=v.getValuesIn(a.path)||[];M.push($),v.setValuesIn(a.path,M),a.onInput(M)}else v.setValuesIn(a.path,$),a.onInput($);(0,import_mathjs.isFunction)(R)&&(R==null||R()),import_antd.message.success(_("Saved successfully"))}}),T=B=>(0,import_jsx_runtime.jsxs)("div",{onClick:()=>k(B),style:{cursor:"pointer",padding:"5px 12px",color:"#0d0c0c"},children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),(0,import_jsx_runtime.jsx)("span",{style:{paddingLeft:5},children:_("Add")+` “${B.search}” `})]});return(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{display:"flex"},children:[(0,import_jsx_runtime.jsx)(RemoteSelect,P(x({style:{width:"100%"}},n),{size:"middle",objectValue:r,value:removeIfKeyEmpty(d||p,j),service:c,onChange:B=>{var w;const L=Array.isArray(B)&&B.length===0?null:B;(w=e.onChange)==null||w.call(e,L)},CustomDropdownRender:g==="quickAdd"&&T})),g==="modalAdd"&&(0,import_jsx_runtime.jsx)(SchemaComponentContext.Provider,{value:P(x({},b),{draggable:!1}),children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:!0,record:null,parent:S,children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(ClearCollectionFieldContext,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:a.address,schema:l,filterProperties:B=>B["x-component"]==="Action"})})})})})]})},l.name)},{displayName:"AssociationSelect"}),AssociationSelect$1=InternalAssociationSelect$1;(0,import_react.connect)(e=>{const t=useServiceOptions$1(e);return e.fieldNames?(0,import_jsx_runtime.jsx)(RemoteSelect.ReadPretty,P(x({},e),{service:t})):null},(0,import_react.mapProps)({dataSource:"options",loading:!0},(e,t)=>P(x({},e),{fieldNames:e.fieldNames&&x(x({},e.fieldNames),t.componentProps.fieldNames),suffixIcon:t!=null&&t.loading||t!=null&&t.validating?(0,import_jsx_runtime.jsx)(import_icons.LoadingOutlined,{}):e.suffixIcon})));const publicPath=window.__nocobase_dev_public_path__||window.__nocobase_public_path__||"/",UPLOAD_PLACEHOLDER=[{ext:/\.docx?$/i,icon:"/file-placeholder/docx-200-200.png"},{ext:/\.pptx?$/i,icon:"/file-placeholder/pptx-200-200.png"},{ext:/\.jpe?g$/i,icon:"/file-placeholder/jpeg-200-200.png"},{ext:/\.pdf$/i,icon:"/file-placeholder/pdf-200-200.png"},{ext:/\.png$/i,icon:"/file-placeholder/png-200-200.png"},{ext:/\.eps$/i,icon:"/file-placeholder/eps-200-200.png"},{ext:/\.ai$/i,icon:"/file-placeholder/ai-200-200.png"},{ext:/\.gif$/i,icon:"/file-placeholder/gif-200-200.png"},{ext:/\.svg$/i,icon:"/file-placeholder/svg-200-200.png"},{ext:/\.xlsx?$/i,icon:"/file-placeholder/xlsx-200-200.png"},{ext:/\.psd?$/i,icon:"/file-placeholder/psd-200-200.png"},{ext:/\.(wav|aif|aiff|au|mp1|mp2|mp3|ra|rm|ram|mid|rmi)$/i,icon:"/file-placeholder/audio-200-200.png"},{ext:/\.(avi|wmv|mpg|mpeg|vob|dat|3gp|mp4|mkv|rm|rmvb|mov|flv)$/i,icon:"/file-placeholder/video-200-200.png"},{ext:/\.(zip|rar|arj|z|gz|iso|jar|ace|tar|uue|dmg|pkg|lzh|cab)$/i,icon:"/file-placeholder/zip-200-200.png"}].map(e=>({ext:e.ext,icon:publicPath+e.icon.slice(1)})),UNKNOWN_FILE_ICON=publicPath+"file-placeholder/unknown-200-200.png",FILE_SIZE_LIMIT_DEFAULT=1024*1024*20;class AttachmentFileTypes{constructor(){A(this,"types",[])}add(t){this.types.unshift(t)}getTypeByFile(t){return this.types.find(o=>o.match(t))}}const attachmentFileTypes=new AttachmentFileTypes;function matchMimetype(e,t){if(!e)return!1;if(e.originFileObj)return(0,import_mime_match.default)(e.type,t);if(e.mimetype)return(0,import_mime_match.default)(e.mimetype,t);if(e.url){const[o]=e.url.split("?");return(0,import_mime_match.default)(import_mime.default.getType(o)||"",t)}return!1}const toArr$1=e=>(0,import_shared.isValid)(e)?Object.keys(e).length===0?[]:(0,import_shared.toArr)(e):[],testOpts=(e,t)=>t&&(0,import_shared.isArr)(t.include)?t.include.some(o=>e.test(o)):t&&(0,import_shared.isArr)(t.exclude)?!t.exclude.some(o=>e.test(o)):!0;function getThumbnailPlaceholderURL(e,t={}){for(let o=0;o<UPLOAD_PLACEHOLDER.length;o++)if(UPLOAD_PLACEHOLDER[o].ext.test(e.extname||e.filename||e.url||e.name))return testOpts(UPLOAD_PLACEHOLDER[o].ext,t)?UPLOAD_PLACEHOLDER[o].icon||UNKNOWN_FILE_ICON:e.name;return UNKNOWN_FILE_ICON}function getResponseMessage({error:e,response:t}){var o,r,i,n;if(e instanceof Error&&"isAxiosError"in e)return e.response?(i=(r=(o=e.response.data)==null?void 0:o.errors)==null?void 0:r.map)==null?void 0:i.call(r,l=>l==null?void 0:l.message).join(", "):e.message;if(!t)return"";if(typeof t=="string")return t;const{errors:a}=(n=t.data)!=null?n:{};return a!=null&&a.length?a.map(l=>l==null?void 0:l.message).join(", "):""}function normalizeFile(e){const t=getResponseMessage(e);return P(x({},e),{title:e.name,response:t})}function useUploadProps(e){const t=useAPIClient();return x({customRequest({action:o,data:r,file:i,filename:n,headers:a,onError:l,onProgress:c,onSuccess:u,withCredentials:m}){const d=new FormData;return r&&Object.keys(r).forEach(p=>{d.append(p,r[p])}),d.append(n,i),t.axios.post(o,d,{withCredentials:m,headers:a,onUploadProgress:({total:p,loaded:h})=>{c({percent:Math.round(h/p*100).toFixed(2)},i)}}).then(({data:p})=>{u(p,i)}).catch(l).finally(()=>{}),{abort(){console.log("upload progress is aborted.")}}}},e)}function toValueItem(e){return e}const toItem=e=>{var t;if(typeof e=="string")return{url:e};(t=e==null?void 0:e.response)!=null&&t.data&&(e=x({uid:e.uid},e.response.data));const o=P(x({},e),{id:e.id||e.uid,title:e.title||e.name});return e.url&&(o.url=e.url.startsWith("https://")||e.url.startsWith("http://")?e.url:`${location.origin}/${e.url.replace(/^\//,"")}`),o},toFileList=e=>toArr$1(e).filter(Boolean).map(toItem),Rules={size(e,t){const o=t??FILE_SIZE_LIMIT_DEFAULT;return o===0||e.size<=o?null:"File size exceeds the limit"},mimetype(e,t="*"){const o=t.toString().trim();return!o||o==="*"||o.split(",").filter(Boolean).some((0,import_mime_match.default)(e.type))?null:"File type is not allowed"}};function validate(e,t){if(!t)return null;const o=Object.keys(t);if(!o.length)return null;for(const r of o){const i=Rules[r](e,t[r]);if(i)return i}return null}function useBeforeUpload(e){const{t}=(0,import_react_i18next.useTranslation)();return(0,import_react2.useCallback)(o=>{const r=validate(o,e);return r?(o.status="error",o.response=t(r)):o.status==="error"&&(delete o.status,delete o.response),!r},[e])}const useStyles$6=genStyleHook("upload",e=>{const{componentCls:t,antCls:o}=e;return{[`${t}-wrapper`]:{"&.nb-upload.nb-upload-small":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"32px !important",width:"32px !important",marginBlock:"0 !important"},[`${t}-list-picture-card ${t}-list-item-name${t}-list-item-name`]:{display:"none !important"},[`${t}-list-picture ${t}-list-item, ${t}-list-picture-card ${t}-list-item`]:{borderRadius:"4px",padding:"1px !important",[`${t}-list-item-image`]:{borderRadius:"2px"}}},"&.nb-upload-large":{[`${t}-list-picture-card-container`]:{margin:"0 3px 3px 0 !important",height:"160px !important",width:"160px !important",marginBlock:"0 28px !important"}},"&.nb-upload":{[`${t}-list-item, ${t}-list-item-list-type-picture-card`]:{padding:"3px !important"},[`${t}-list-item-thumbnail`]:{img:{objectFit:"cover !important"}},[`${t}-list-item-actions`]:{left:"auto !important",right:"2px !important",top:"2px !important",transform:"none !important",width:"fit-content !important",[`${o}-btn-text:hover, ${o}-btn-text:focus`]:{background:"rgba(0, 0, 0, 0.4)"}},[`${t}-list-picture-card ${t}-list-item-info`]:{overflow:"inherit",width:"100%",height:"100%"},[`${t}-list-picture-card ${t}-list-item-name`]:{display:"block !important",marginTop:"5px",fontSize:"13px",color:"#636363"},[`${t}-list-picture-card ${t}-list-item::before`]:{display:"none !important"},[`${t}-list-picture-card ${t}-list-item-progress`]:{bottom:"calc(50% - 11px)",left:`${e.margin/2}px`,pointerEvents:"none"},[`${o}-btn`]:{background:"rgba(0, 0, 0, 0.5)"},[`${t}-list-picture-card-container`]:{}},[`${t}-list-item-error`]:{[`${t}-list-item-info img`]:{opacity:.6}},[`${t}-drag`]:{[`${t}-drag-container`]:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",ul:{color:e.colorTextSecondary,[`${t}-hint`]:{textAlign:"left"}}}}}}}),useUploadStyles=useStyles$6,LightBoxGlobalStyle=import_antd_style.createGlobalStyle`
|
|
914
914
|
.ReactModal__Overlay.ReactModal__Overlay--after-open {
|
|
915
915
|
z-index: 3000 !important; // 避免预览图片时被遮挡
|
|
916
916
|
}
|