@nocobase/client 1.8.22 → 1.8.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.mjs +48 -48
- package/lib/index.js +4 -4
- package/package.json +5 -5
package/es/index.mjs
CHANGED
|
@@ -8771,7 +8771,7 @@ function addAppVersion(e, t) {
|
|
|
8771
8771
|
addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
|
|
8772
8772
|
}), e;
|
|
8773
8773
|
}
|
|
8774
|
-
const name = "@nocobase/client", version = "1.8.
|
|
8774
|
+
const name = "@nocobase/client", version = "1.8.23", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
8775
8775
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
8776
8776
|
"@ant-design/cssinjs": "^1.11.1",
|
|
8777
8777
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -8792,9 +8792,9 @@ const name = "@nocobase/client", version = "1.8.22", license = "AGPL-3.0", main
|
|
|
8792
8792
|
"@formily/reactive-react": "^2.2.27",
|
|
8793
8793
|
"@formily/shared": "^2.2.27",
|
|
8794
8794
|
"@formily/validator": "^2.2.27",
|
|
8795
|
-
"@nocobase/evaluators": "1.8.
|
|
8796
|
-
"@nocobase/sdk": "1.8.
|
|
8797
|
-
"@nocobase/utils": "1.8.
|
|
8795
|
+
"@nocobase/evaluators": "1.8.23",
|
|
8796
|
+
"@nocobase/sdk": "1.8.23",
|
|
8797
|
+
"@nocobase/utils": "1.8.23",
|
|
8798
8798
|
ahooks: "^3.7.2",
|
|
8799
8799
|
antd: "5.24.2",
|
|
8800
8800
|
"antd-style": "3.7.1",
|
|
@@ -13002,18 +13002,18 @@ const DatePickerContext = React.createContext({ utc: !0 }), useDatePickerContext
|
|
|
13002
13002
|
}), [e._maxDate, e._minDate, r, o]);
|
|
13003
13003
|
const d = () => z(void 0, null, function* () {
|
|
13004
13004
|
let m = e._minDate ? Promise.resolve(dayjs(e._minDate)) : Promise.resolve(null), h = e._maxDate ? Promise.resolve(dayjs(e._maxDate)) : Promise.resolve(null);
|
|
13005
|
-
isVariable$1(e._maxDate) && (h = o(e._maxDate, r).then((S) =>
|
|
13005
|
+
isVariable$1(e._maxDate) && (h = o(e._maxDate, r).then((S) => dayjs(Array.isArray(S.value) ? last(S.value) : S.value))), isVariable$1(e._minDate) && (m = o(e._minDate, r).then(
|
|
13006
13006
|
(S) => dayjs(Array.isArray(S.value) ? first(S.value) : S.value)
|
|
13007
13007
|
));
|
|
13008
13008
|
const [g, f] = yield Promise.all([m, h]), C = Array.from({ length: 60 }, (S, v) => v), b = (S) => {
|
|
13009
13009
|
if (!dayjs.isDayjs(S))
|
|
13010
13010
|
return !1;
|
|
13011
13011
|
const v = g ? g.startOf("day") : null, F = f ? f.endOf("day") : null;
|
|
13012
|
-
return v && S.
|
|
13012
|
+
return !!(v && S.startOf("day").isBefore(v) || F && S.startOf("day").isAfter(F));
|
|
13013
13013
|
}, y = (S) => {
|
|
13014
13014
|
if (!S || !g && !f)
|
|
13015
13015
|
return { disabledHours: () => [], disabledMinutes: () => [], disabledSeconds: () => [] };
|
|
13016
|
-
const v = S
|
|
13016
|
+
const v = S, F = g && v.isSame(g, "day"), I = f && v.isSame(f, "day");
|
|
13017
13017
|
return {
|
|
13018
13018
|
disabledHours: () => {
|
|
13019
13019
|
const $ = [];
|
|
@@ -30672,7 +30672,6 @@ const SortableProvider = (e) => {
|
|
|
30672
30672
|
className: cx("nb-sortable-designer", e.className),
|
|
30673
30673
|
ref: p,
|
|
30674
30674
|
style: m
|
|
30675
|
-
// setNodeRef,
|
|
30676
30675
|
}),
|
|
30677
30676
|
r
|
|
30678
30677
|
);
|
|
@@ -45391,7 +45390,44 @@ const getSourceData = (e, t) => {
|
|
|
45391
45390
|
) }) });
|
|
45392
45391
|
},
|
|
45393
45392
|
{ displayName: "InternalSubTable" }
|
|
45394
|
-
)
|
|
45393
|
+
), toValue$3 = (e, t) => e == null ? t : e, ButtonTabList = observer$1(
|
|
45394
|
+
(e) => {
|
|
45395
|
+
const t = useFieldSchema(), { enableLink: n, tagColorField: o } = t["x-component-props"], r = useFieldNames$1({ fieldNames: e.fieldNames }), a = useInsertSchema$1("Viewer"), { options: i } = useAssociationFieldContext(), l = useCompile(), { designable: c } = useDesignable(), u = useLabelUiSchema$1(i, (r == null ? void 0 : r.label) || "label"), { snapshot: d } = useActionContext(), p = useRef(), { getCollection: m } = useCollectionManager_deprecated(), h = m(i == null ? void 0 : i.target), g = (h == null ? void 0 : h.template) === "tree", { openPopup: f } = usePopupUtils(), C = useCollectionRecordData(), b = useRef(!1), y = useRef(t);
|
|
45396
|
+
y.current = t;
|
|
45397
|
+
const S = useCallback(() => y.current, []);
|
|
45398
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: toArr$3(e.value).map((F, I, R) => {
|
|
45399
|
+
const T = F == null ? void 0 : F[(r == null ? void 0 : r.label) || "label"], D = g ? transformNestedData(F).map((N) => N == null ? void 0 : N[(r == null ? void 0 : r.label) || "label"]).join(" / ") : isObject(T) ? JSON.stringify(T) : T, $ = toValue$3(l(D), "N/A"), B = getTabFormatValue(l(u), $, F[o]);
|
|
45400
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
45401
|
+
/* @__PURE__ */ jsx("span", { children: d ? B : n !== !1 ? /* @__PURE__ */ jsx(
|
|
45402
|
+
"a",
|
|
45403
|
+
{
|
|
45404
|
+
onMouseEnter: () => {
|
|
45405
|
+
e.setBtnHover(!0);
|
|
45406
|
+
},
|
|
45407
|
+
onClick: (N) => {
|
|
45408
|
+
var j;
|
|
45409
|
+
e.setBtnHover(!0), N.stopPropagation(), N.preventDefault(), c && !t.properties && (a(schema$1.Viewer), b.current = !0), b.current ? setTimeout(() => {
|
|
45410
|
+
f({
|
|
45411
|
+
recordData: F,
|
|
45412
|
+
parentRecordData: C,
|
|
45413
|
+
customActionSchema: S()
|
|
45414
|
+
}), b.current = !1;
|
|
45415
|
+
}) : f({
|
|
45416
|
+
recordData: F,
|
|
45417
|
+
parentRecordData: C
|
|
45418
|
+
}), (j = p == null ? void 0 : p.current) == null || j.setPopoverVisible(!1);
|
|
45419
|
+
},
|
|
45420
|
+
children: B
|
|
45421
|
+
}
|
|
45422
|
+
) : B }),
|
|
45423
|
+
I < R.length - 1 ? /* @__PURE__ */ jsx("span", { style: { marginRight: 4, color: "#aaa" }, children: "," }) : null
|
|
45424
|
+
] }, `${F == null ? void 0 : F[r.value]}_${I}`);
|
|
45425
|
+
}) });
|
|
45426
|
+
},
|
|
45427
|
+
{
|
|
45428
|
+
displayName: "ButtonTabList"
|
|
45429
|
+
}
|
|
45430
|
+
), ReadPrettyInternalTag = (e) => /* @__PURE__ */ jsx(ReadPrettyInternalViewer, P(x({}, e), { ButtonList: ButtonTabList }));
|
|
45395
45431
|
var AssociationFieldMode = /* @__PURE__ */ ((e) => (e.Picker = "Picker", e.Nester = "Nester", e.PopoverNester = "PopoverNester", e.Select = "Select", e.SubTable = "SubTable", e.FileManager = "FileManager", e.CascadeSelect = "CascadeSelect", e.Tag = "Tag", e))(AssociationFieldMode || {});
|
|
45396
45432
|
const defaultModeToComponent = {
|
|
45397
45433
|
Picker: InternalPicker,
|
|
@@ -45400,7 +45436,8 @@ const defaultModeToComponent = {
|
|
|
45400
45436
|
Select: AssociationSelect$1,
|
|
45401
45437
|
SubTable: InternalSubTable,
|
|
45402
45438
|
FileManager: InternalFileManager,
|
|
45403
|
-
CascadeSelect: InternalCascadeSelect
|
|
45439
|
+
CascadeSelect: InternalCascadeSelect,
|
|
45440
|
+
Tag: ReadPrettyInternalTag
|
|
45404
45441
|
}, AssociationFieldModeContext = createContext({
|
|
45405
45442
|
modeToComponent: defaultModeToComponent,
|
|
45406
45443
|
getComponent: (e) => defaultModeToComponent[e],
|
|
@@ -46021,44 +46058,7 @@ const CreateRecordAction$1 = forwardRef(InternalCreateRecordAction), initializer
|
|
|
46021
46058
|
) }, "add") });
|
|
46022
46059
|
},
|
|
46023
46060
|
{ displayName: "ToManyNester" }
|
|
46024
|
-
),
|
|
46025
|
-
(e) => {
|
|
46026
|
-
const t = useFieldSchema(), { enableLink: n, tagColorField: o } = t["x-component-props"], r = useFieldNames$1({ fieldNames: e.fieldNames }), a = useInsertSchema$1("Viewer"), { options: i } = useAssociationFieldContext(), l = useCompile(), { designable: c } = useDesignable(), u = useLabelUiSchema$1(i, (r == null ? void 0 : r.label) || "label"), { snapshot: d } = useActionContext(), p = useRef(), { getCollection: m } = useCollectionManager_deprecated(), h = m(i == null ? void 0 : i.target), g = (h == null ? void 0 : h.template) === "tree", { openPopup: f } = usePopupUtils(), C = useCollectionRecordData(), b = useRef(!1), y = useRef(t);
|
|
46027
|
-
y.current = t;
|
|
46028
|
-
const S = useCallback(() => y.current, []);
|
|
46029
|
-
return /* @__PURE__ */ jsx(Fragment$1, { children: toArr$3(e.value).map((F, I, R) => {
|
|
46030
|
-
const T = F == null ? void 0 : F[(r == null ? void 0 : r.label) || "label"], D = g ? transformNestedData(F).map((N) => N == null ? void 0 : N[(r == null ? void 0 : r.label) || "label"]).join(" / ") : isObject(T) ? JSON.stringify(T) : T, $ = toValue$3(l(D), "N/A"), B = getTabFormatValue(l(u), $, F[o]);
|
|
46031
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
46032
|
-
/* @__PURE__ */ jsx("span", { children: d ? B : n !== !1 ? /* @__PURE__ */ jsx(
|
|
46033
|
-
"a",
|
|
46034
|
-
{
|
|
46035
|
-
onMouseEnter: () => {
|
|
46036
|
-
e.setBtnHover(!0);
|
|
46037
|
-
},
|
|
46038
|
-
onClick: (N) => {
|
|
46039
|
-
var j;
|
|
46040
|
-
e.setBtnHover(!0), N.stopPropagation(), N.preventDefault(), c && !t.properties && (a(schema$1.Viewer), b.current = !0), b.current ? setTimeout(() => {
|
|
46041
|
-
f({
|
|
46042
|
-
recordData: F,
|
|
46043
|
-
parentRecordData: C,
|
|
46044
|
-
customActionSchema: S()
|
|
46045
|
-
}), b.current = !1;
|
|
46046
|
-
}) : f({
|
|
46047
|
-
recordData: F,
|
|
46048
|
-
parentRecordData: C
|
|
46049
|
-
}), (j = p == null ? void 0 : p.current) == null || j.setPopoverVisible(!1);
|
|
46050
|
-
},
|
|
46051
|
-
children: B
|
|
46052
|
-
}
|
|
46053
|
-
) : B }),
|
|
46054
|
-
I < R.length - 1 ? /* @__PURE__ */ jsx("span", { style: { marginRight: 4, color: "#aaa" }, children: "," }) : null
|
|
46055
|
-
] }, `${F == null ? void 0 : F[r.value]}_${I}`);
|
|
46056
|
-
}) });
|
|
46057
|
-
},
|
|
46058
|
-
{
|
|
46059
|
-
displayName: "ButtonTabList"
|
|
46060
|
-
}
|
|
46061
|
-
), ReadPrettyInternalTag = (e) => /* @__PURE__ */ jsx(ReadPrettyInternalViewer, P(x({}, e), { ButtonList: ButtonTabList })), ReadPrettyAssociationField = (e) => {
|
|
46061
|
+
), ReadPrettyAssociationField = (e) => {
|
|
46062
46062
|
const { currentMode: t } = useAssociationFieldContext();
|
|
46063
46063
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
46064
46064
|
["Select", "Picker", "CascadeSelect"].includes(t) && /* @__PURE__ */ jsx(ReadPrettyInternalViewer, x({}, e)),
|
package/lib/index.js
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
width: 100%;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
`,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.8.22",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.22","@nocobase/sdk":"1.8.22","@nocobase/utils":"1.8.22",ahooks:"^3.7.2",antd:"5.24.2","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>z(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>z(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>z(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
|
|
65
|
+
`,items:l},n))})},SchemaInitializerSubMenu=e=>{var t;const o=e,{children:r,items:i,title:n,name:a,onOpenChange:l,icon:c}=o,u=Y(o,["children","items","title","name","onOpenChange","icon"]),m=useCompile(),d=useSchemaInitializerItem(),p=(0,import_react2.useMemo)(()=>a||(d==null?void 0:d.name)||(0,import_shared.uid)(),[a,d]),h=(t=i||r)==null?void 0:t.filter(f=>f.useVisible?f.useVisible():!0),g=useSchemaInitializerMenuItems(h,a),_=(0,import_react2.useMemo)(()=>[P(x({},u),{key:p,label:m(n),icon:typeof c=="string"?(0,import_jsx_runtime.jsx)(import_icons.default,{type:c}):c,children:g})],[g,m,c,p,u,n]);return(0,import_jsx_runtime.jsx)(SchemaInitializerMenu,{onOpenChange:l,items:_})},SchemaInitializerSubMenuInternal=()=>{const e=useSchemaInitializerItem();return(0,import_jsx_runtime.jsx)(SchemaInitializerSubMenu,x({},e))},useAriaAttributeOfMenuItem=()=>{const{isInMenu:e}=useSchemaInitializerSubMenuContext();return{attribute:(0,import_react2.useMemo)(()=>e?{}:{role:"menuitem"},[e])}},{Paragraph:Paragraph$1,Text:Text$2}=import_antd.Typography,ErrorFallbackModal=e=>{const[t,o]=import_react2.default.useState(!1),r=(0,import_jsx_runtime.jsx)(Paragraph$1,{style:{display:"flex",marginBottom:0},copyable:{text:e.error.message},children:(0,import_jsx_runtime.jsxs)(Text$2,{type:"danger",style:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",display:"inline-block",maxWidth:"200px"},children:["Error: ",e.error.message]})});return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{onMouseOver:()=>o(!0),children:e.children||r}),(0,import_jsx_runtime.jsx)(import_antd.Modal,{zIndex:1e4,open:t,footer:null,onCancel:()=>o(!1),width:"60%",children:(0,import_jsx_runtime.jsx)(ErrorFallback,x({},e))})]})},{Paragraph,Text:Text$1,Link}=import_antd.Typography,useDownloadLogs=(e,t={})=>{const o=useLocationNoUpdate(),[r,i]=import_react2.default.useState(!1),n=useAPIClient();return{loading:r,download:()=>z(void 0,null,function*(){i(!0);try{const a=yield n.request({url:"logger:collect",method:"post",responseType:"blob",data:x({error:{message:e.message,stack:e.stack},location:o},t)}),l=window.URL.createObjectURL(new Blob([a.data],{type:"application/gzip"})),c=document.createElement("a");c.setAttribute("href",l),c.setAttribute("download","logs.tar.gz"),c.click(),c.remove()}catch(a){console.log(a)}i(!1)})}},ErrorFallback=({error:e})=>{const t=(0,import_react.useFieldSchema)(),{t:o}=(0,import_react_i18next.useTranslation)(),{loading:r,download:i}=useDownloadLogs(e,{schema:t}),n=(0,import_jsx_runtime.jsxs)(import_react_i18next.Trans,{children:["This is likely a NocoBase internals bug. Please open an issue at ",(0,import_jsx_runtime.jsx)(Link,{href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:"here"})]});return(0,import_jsx_runtime.jsx)("div",{style:{backgroundColor:"white"},children:(0,import_jsx_runtime.jsx)(import_antd.Result,{style:{maxWidth:"60vw",margin:"auto"},status:"error",title:o("Render Failed"),subTitle:n,extra:[(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"primary",href:"https://github.com/nocobase/nocobase/issues",target:"_blank",children:o("Feedback")},"feedback"),(0,import_jsx_runtime.jsx)(import_antd.Button,{loading:r,onClick:i,children:o("Download logs")},"log")],children:(0,import_jsx_runtime.jsx)(Paragraph,{copyable:{text:e.stack},children:(0,import_jsx_runtime.jsx)(Text$1,{type:"danger",style:{whiteSpace:"pre-line",textAlign:"center"},children:e.stack})})})})};ErrorFallback.Modal=ErrorFallbackModal;const AppNotFound=()=>{const e=(0,import_react_router_dom.useNavigate)(),{t}=(0,import_react_i18next.useTranslation)();return(0,import_jsx_runtime.jsx)(import_antd.Result,{status:"404",title:"404",subTitle:t("Sorry, the page you visited does not exist."),extra:(0,import_jsx_runtime.jsx)(import_antd.Button,{onClick:()=>e("/",{replace:!0}),type:"primary",children:"Back Home"})})};class Plugin{constructor(t,o){this.options=t,this.app=o,this.options=t,this.app=o}get pluginManager(){return this.app.pluginManager}get pm(){return this.app.pm}get router(){return this.app.router}get pluginSettingsManager(){return this.app.pluginSettingsManager}get schemaInitializerManager(){return this.app.schemaInitializerManager}get schemaSettingsManager(){return this.app.schemaSettingsManager}get dataSourceManager(){return this.app.dataSourceManager}afterAdd(){return z(this,null,function*(){})}beforeLoad(){return z(this,null,function*(){})}load(){return z(this,null,function*(){})}t(t,o={}){var r;return this.app.i18n.t(t,x({ns:(r=this.options)==null?void 0:r.packageName},o))}}const titleWrapperStyle={display:"flex",alignItems:"center",gap:4},withTooltipComponent=e=>t=>{const{tooltip:o}=t;return o?(0,import_jsx_runtime.jsxs)("div",{style:titleWrapperStyle,children:[(0,import_jsx_runtime.jsx)(e,x({},t)),(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:o,children:(0,import_jsx_runtime.jsx)(import_icons.QuestionCircleOutlined,{style:{zIndex:1}})})]}):(0,import_jsx_runtime.jsx)(e,x({},t))},{evaluate}=import_client3.evaluators.get("formula.js"),useEvaluatedExpression=e=>{const t=useVariables$1(),o=useLocalVariables$1(),[r,i]=(0,import_react2.useState)();return(0,import_react2.useEffect)(()=>{z(void 0,null,function*(){if(e==null||e===""){i(void 0);return}const{exp:n,scope:a}=yield replaceVariables(e,{variables:t,localVariables:o});try{const l=evaluate(n,x({now:()=>new Date().toString()},a));i(l)}catch(l){console.error(l)}})},[t.parseVariable,e,o]),r};class SchemaInitializer{constructor(t){A(this,"options"),A(this,"name"),this.options=Object.assign({items:[]},t),this.name=t.name}get items(){return this.options.items}add(t,o){const r=t.split("."),i=r[r.length-1],n=P(x({},o),{name:i}),a=(u,m)=>{const d=this.items.findIndex(p=>p.name===u);d===-1?this.items.push(m):this.items[d]=m};if(r.length===1){a(i,n);return}const l=r.slice(0,-1).join("."),c=this.get(l);if(c){c.children||(c.children=[]);const u=t.replace(`${c.name}.`,""),m=c.children.findIndex(d=>d.name===u);m===-1?c.children.push(n):c.children[m]=n}else a(i,n)}get(t){var o;if(!t)return;const r=t.split(".");let i={children:this.items};for(let n=0;n<r.length;n++){const a=r[n],l=(o=i.children)==null?void 0:o.find(c=>c.name===a);if(l&&(i=l),n===r.length-1)return l}}remove(t){const o=t.split(".");if(o.length===1){const i=this.items.findIndex(n=>n.name===o[0]);i!==-1&&this.items.splice(i,1);return}const r=this.get(o.slice(0,-1).join("."));if(r&&r.children){const i=o[o.length-1],n=r.children.findIndex(a=>a.name===i);n!==-1&&r.children.splice(n,1)}}}var NocoBaseDesktopRouteType=(e=>(e.group="group",e.page="page",e.link="link",e.tabs="tabs",e))(NocoBaseDesktopRouteType||{});const useStyles$h=genStyleHook("nb-menu-item",e=>{const{componentCls:t}=e;return{[t]:{paddingLeft:`${e.padding}px !important`,paddingRight:`${e.padding}px !important`}}}),useAttach=e=>{const t=(0,import_react2.useRef)(null);return(0,import_react2.useEffect)(()=>(t.current&&e!==t.current&&t.current.onUnmount(),t.current=e,e.onMount(),()=>{e.onUnmount()}),[e]),e},compileCache={},hasVariable=e=>/{{.*?}}/g.test(e),useCompile=({noCache:e}={noCache:!1})=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext);return(r,i)=>{let n=!1,a;if(typeof r=="string"&&r.startsWith("{{")&&(n=!0,a=r),r&&typeof r=="object"&&!(0,import_react2.isValidElement)(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(Array.isArray(r)){try{a=JSON.stringify(r)}catch(l){return console.warn("Failed to stringify:",l),r}if(compileCache[a])return compileCache[a];n=hasVariable(a)}if(n){const l=x(x(x({},t.scope),o),i);if(!a)return import_react.Schema.compile(r,l);try{return e?import_react.Schema.compile(r,l):(compileCache[a]=compileCache[a]||import_react.Schema.compile(r,l),compileCache[a])}catch(c){return console.log("useCompile error",r,c),import_react.Schema.compile(r,l)}}return r}},useComponent=(e,t)=>{const{components:o}=(0,import_react2.useContext)(import_react.SchemaOptionsContext);return e?typeof e!="string"?e:(0,import_lodash.get)(o,e)||t:t},LAZY_COMPONENT_KEY=Symbol("LAZY_COMPONENT_KEY");function lazy(e,...t){if(t.length===0){const o=(0,import_react2.lazy)(()=>e().then(i=>{const n=i.default;return r[LAZY_COMPONENT_KEY]=n,{default:n}})),r=i=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(o,x({},i))});return r}return t.reduce((o,r)=>{const i=(0,import_react2.lazy)(()=>e().then(n=>{const a=(0,import_lodash.get)(n,r);return o[r][LAZY_COMPONENT_KEY]=a,{default:a}}));return o[r]=n=>(0,import_jsx_runtime.jsx)(import_react2.default.Suspense,{fallback:(0,import_jsx_runtime.jsx)(import_antd.Spin,{}),children:(0,import_jsx_runtime.jsx)(i,x({},n))}),o},{})}function useLazy(e,t){const o=typeof t=="function"?t:i=>i[t],r=(0,import_react_imported_component.loadableResource)(e);if(!r.payload)throw new Promise((i,n)=>{r.loadIfNeeded(),r.resolution.then(i).catch(n)});return o(r.payload)}function addAppVersion(e,t){if(e)return e["x-app-version"]||(e["x-app-version"]=t),Object.keys(e.properties||{}).forEach(o=>{var r;addAppVersion((r=e.properties)==null?void 0:r[o],t)}),e}const name="@nocobase/client",version="1.8.23",license="AGPL-3.0",main="lib/index.js",module$1="es/index.mjs",types="es/index.d.ts",dependencies={"@ahooksjs/use-url-state":"3.5.1","@ant-design/cssinjs":"^1.11.1","@ant-design/icons":"^5.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.23","@nocobase/sdk":"1.8.23","@nocobase/utils":"1.8.23",ahooks:"^3.7.2",antd:"5.24.2","antd-style":"3.7.1",axios:"^1.7.0","bignumber.js":"^9.1.2",classnames:"^2.3.1",cronstrue:"^2.11.0","file-saver":"^2.0.5",filesize:"9.0.11",flat:"^5.0.2","html5-qrcode":"^2.3.8",i18next:"^22.4.9","i18next-http-backend":"^2.1.1",ignore:"^5.2.0",json5:"^2.2.3",lodash:"4.17.21","lru-cache":"6.0.0","markdown-it":"14.1.0","markdown-it-highlightjs":"3.3.1",mathjs:"^10.6.0",mermaid:"9.4.3",mime:"^4.0.4","mime-match":"^1.0.2","react-beautiful-dnd":"^13.1.0","react-device-detect":"2.2.3","react-drag-listview":"^0.1.9","react-error-boundary":"^4.0.10","react-helmet":"^6.1.0","react-hotkeys-hook":"^3.4.7","react-i18next":"^11.15.1","react-iframe":"~1.8.5","react-image-lightbox":"^5.1.4","react-intersection-observer":"9.14.0","react-js-cron":"^3.1.0","react-quill":"^2.0.0","react-router-dom":"^6.11.2","react-to-print":"^2.14.7","sanitize-html":"2.13.0","use-deep-compare-effect":"^1.8.1"},peerDependencies={react:">=18.0.0","react-dom":">=18.0.0","react-is":">=18.0.0"},devDependencies={"@testing-library/react":"^14.0.0","@types/markdown-it":"14.1.1","@types/markdown-it-highlightjs":"3.3.1","@types/react-big-calendar":"^1.6.4","axios-mock-adapter":"^1.20.0",dumi:"2.2.14","dumi-theme-nocobase":"^0.2.28"},clientPkg={name,version,license,main,module:module$1,types,dependencies,peerDependencies,devDependencies};function createDesignable(e){return new Designable(e)}const generateUid=e=>{e&&(e["x-uid"]||(e["x-uid"]=(0,import_shared.uid)()),Object.keys(e.properties||{}).forEach(t=>{generateUid(e.properties[t])}))},defaultWrap=e=>e,matchSchema=(e,t)=>{if(!(!e||!t)){for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o]!==(e==null?void 0:e[o]))return!1;return!0}},splitWrapSchema=(e,t)=>{if(e["x-uid"]&&e["x-uid"]===t["x-uid"])return[null,e.toJSON()];const o=e.toJSON(),r=P(x({},o),{properties:{}});let i=null;const n=(a,l)=>{Object.keys(a||{}).forEach(c=>{const u=a[c];if(u["x-uid"]===t["x-uid"]){i=a[c];return}else l.properties[c]=P(x({},u),{properties:{}}),n(u==null?void 0:u.properties,l.properties[c])})};return n(o.properties,r),[r,i]},translate=e=>e;class Designable{constructor(t){A(this,"current"),A(this,"options"),A(this,"appVersion"),A(this,"events",{}),this.options=t,this.current=t.current,this.appVersion=t.appVersion}get model(){return this.options.model}get query(){return this.options.query}loadAPIClientEvents(){const{api:t,t:o=translate}=this.options;if(!t)return;const r=i=>{if(!i)return[];const n=Object.values(i.properties).length,a=[];return i.mapProperties(l=>{l["x-component-props"]=l["x-component-props"]||{},l["x-component-props"].width=100/n,l["x-uid"]&&a.push({"x-uid":l["x-uid"],"x-component-props":l["x-component-props"]})}),i["x-uid"]&&a.length?a:[]};this.on("insertAdjacent",i=>z(this,[i],function*({onSuccess:n,current:a,position:l,schema:c,wrap:u,wrapped:m,removed:d}){var p;let h=[];if((m==null?void 0:m["x-component"])==="Grid.Col"&&(h=h.concat(r(m.parent))),(d==null?void 0:d["x-component"])==="Grid.Col"&&(h=h.concat(r(d.parent))),this.refresh(),!a["x-uid"])return;const g=yield t.request({url:`/uiSchemas:insertAdjacent/${a["x-uid"]}?position=${l}`,method:"post",data:{schema:addAppVersion(c,this.appVersion),wrap:u}});h.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:h})),d!=null&&d["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${d["x-uid"]}`,method:"post"})),n==null||n((p=g==null?void 0:g.data)==null?void 0:p.data),import_antd.message.success(o("Saved successfully"),.2)})),this.on("patch",i=>z(this,[i],function*({schema:n}){this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:patch",method:"post",data:x({},n)}),import_antd.message.success(o("Saved successfully"),.2))})),this.on("initializeActionContext",i=>z(this,[i],function*({schema:n}){n!=null&&n["x-uid"]&&(yield t.request({url:"/uiSchemas:initializeActionContext",method:"post",data:x({},n)}))})),this.on("batchPatch",i=>z(this,[i],function*({schemas:n}){this.refresh(),yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:n}),import_antd.message.success(o("Saved successfully"),.2)})),this.on("remove",i=>z(this,[i],function*({removed:n}){let a=[];(n==null?void 0:n["x-component"])==="Grid.Col"&&(a=r(n.parent)),this.refresh(),n!=null&&n["x-uid"]&&(yield t.request({url:`/uiSchemas:remove/${n["x-uid"]}`,method:"post"}),a.length&&(yield t.request({url:"/uiSchemas:batchPatch",method:"post",data:a})),import_antd.message.success(o("Saved successfully"),.2))}))}prepareProperty(t){t.type||(t.type="void"),t.name||(t.name=(0,import_shared.uid)()),this.current["x-uid"]&&generateUid(t)}on(t,o){this.events[t]||(this.events[t]=[]),this.events[t].push(o)}emit(t,...o){return z(this,null,function*(){if(!this.events[t])return;const[r,...i]=o;return Promise.all(this.events[t].map(n=>n.bind(this)(x({current:this.current},r),...i)))})}parentsIn(t){if(!t||!import_react.Schema.isSchemaInstance(t))return!1;let o=this.current;for(;o!=null&&o.parent;){if(o.parent===t)return!0;o=o.parent}return!1}refresh(t){const{refresh:o}=this.options;return o==null?void 0:o(t)}deepMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly"},r={"x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(i=>{o[i]?(this.current[i]=t[i],this.updateModel(o[i],t[i])):r[i]?Object.keys(t[i]).forEach(n=>{(0,import_set.default)(this.current,[i,n],t[i][n]),this.updateModel([r[i],n],t[i][n])}):this.current[i]=t[i]}),this.emit("patch",{schema:t})}getSchemaAttribute(t,o){return(0,import_get.default)(this.current,t,o)}shallowMerge(t){const o={title:"title",description:"description",default:"initialValue",readOnly:"readOnly",writeOnly:"editable",enum:"dataSource","x-pattern":"pattern","x-display":"display","x-validator":"validator","x-decorator":"decorator","x-component":"component","x-reactions":"reactions","x-content":"content","x-visible":"visible","x-hidden":"hidden","x-disabled":"disabled","x-editable":"editable","x-read-only":"readOnly","x-decorator-props":"decoratorProps","x-component-props":"componentProps","x-data":"data"};Object.keys(t).forEach(r=>{this.current[r]=t[r],o[r]&&this.updateModel(o[r],t[r])}),this.emit("patch",{schema:t})}updateModel(t,o){const r=i=>{(0,import_set.default)(i,t,o)};this.model&&r(this.model),this.query&&this.query.take(r)}insertAdjacent(t,o,r={}){switch(t){case"beforeBegin":return this.insertBeforeBegin(o,r);case"afterBegin":return this.insertAfterBegin(o,r);case"beforeEnd":return this.insertBeforeEnd(o,r);case"afterEnd":return this.insertAfterEnd(o,r)}}recursiveRemoveIfNoChildren(t,o){if(!t)return;let r=t,i;const n=o==null?void 0:o.breakRemoveOn;for(;r;){if(typeof n=="function"){if(n(r))break}else if(matchSchema(r,n))break;if(Object.keys(r.properties||{}).length>0)break;r.parent&&(i=r.parent.removeProperty(r.name)),r=r.parent}return i}remove(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return this.emit("remove",{removed:a})}removeWithoutEmit(t,o={}){const{breakRemoveOn:r,removeParentsIfNoChildren:i}=o,n=t||this.current;let a=n.parent.removeProperty(n.name);if(i){const l=this.recursiveRemoveIfNoChildren(n.parent,{breakRemoveOn:r});l&&(a=l)}return a}insertBeforeBeginOrAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current)||!import_react.Schema.isSchemaInstance(t)||this.current.parent!==t.parent)return;let r=0,i=0;return this.current.parent.mapProperties((n,a,l)=>{this.current.name===a&&(i=l),t.name===a&&(r=l)}),r>i?this.insertBeforeBegin(t,o):this.insertAfterEnd(t,o)}insertBeforeBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=!1,u=0,m=0;this.current.parent.mapProperties((_,f)=>{f===this.current.name&&(m=u,c=!0,++u),_["x-index"]=u,++u,c&&(l[f]=_,this.current.parent.removeProperty(f))}),this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p["x-index"]=m,p.parent=this.current.parent,this.current.parent.setProperties(l);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"beforeBegin",schema:g,wrapped:d,wrap:h},r))}insertAfterBegin(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));const l={};let c=1;this.current.mapProperties((h,g)=>{h["x-index"]=c,++c,l[g]=h}),this.current.properties={},this.prepareProperty(t);const u=i(t),m=this.current.addProperty(u.name||(0,import_shared.uid)(),u);m["x-index"]=0,m.parent=this.current,this.current.setProperties(l);const[d,p]=splitWrapSchema(m,t);this.emit("insertAdjacent",x({position:"afterBegin",schema:p,wrap:d,wrapped:u},r))}insertBeforeEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;delete t["x-index"];const r={onSuccess:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;if(import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n}))}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const l=i(t),c=this.current.addProperty(l.name||(0,import_shared.uid)(),l);c.parent=this.current;const[u,m]=splitWrapSchema(c,t);return this.emit("insertAdjacent",x({position:"beforeEnd",schema:m,wrap:u,wrapped:l},r))}insertAfterEnd(t,o={}){if(!import_react.Schema.isSchemaInstance(this.current))return;const r={onSuccess:o==null?void 0:o.onSuccess},{wrap:i=defaultWrap,breakRemoveOn:n,removeParentsIfNoChildren:a}=o;let l=0,c=0,u=!1;const m={};if(this.current.parent.mapProperties((_,f)=>{_["x-index"]=l,f===this.current.name&&(++l,c=l,u=!0),++l,u&&f!==this.current.name&&(m[f]=_,this.current.parent.removeProperty(f))}),import_react.Schema.isSchemaInstance(t)){if(this.parentsIn(t)){this.emit("error",{code:"parent_is_not_allowed",schema:t});return}t.parent.removeProperty(t.name),a&&(r.removed=this.recursiveRemoveIfNoChildren(t.parent,{breakRemoveOn:n})),t.parent=null}else t&&(t=(0,import_cloneDeep.default)(t));this.prepareProperty(t);const d=i(t),p=this.current.parent.addProperty(d.name||(0,import_shared.uid)(),d);p.parent=this.current.parent,p["x-index"]=c,this.current.parent.setProperties(m);const[h,g]=splitWrapSchema(p,t);this.emit("insertAdjacent",x({position:"afterEnd",schema:g,wrap:h,wrapped:d},r))}}function useFindComponent(){const e=(0,import_react2.useContext)(import_react.SchemaOptionsContext),t=(0,import_react2.useMemo)(()=>(e==null?void 0:e.components)||{},[e]);return o=>{if(!o)return null;if(typeof o!="string")return o;const r=(0,import_get.default)(t,o);return r||console.error(`[nocobase]: Component "${o}" not found`),r}}function useDesignable(){const{designable:e,setDesignable:t,refresh:o,reset:r}=(0,import_react2.useContext)(SchemaComponentContext),i=(0,import_react2.useContext)(import_react.SchemaOptionsContext),n=(0,import_react2.useMemo)(()=>(i==null?void 0:i.components)||{},[i]),a=(0,import_react2.useMemo)(()=>()=>(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{}),[]),l=(0,import_ahooks.useUpdate)(),c=useRefreshFieldSchema(),u=useRefreshComponent(),m=(0,import_react2.useCallback)(v=>{o==null||o(),l(),c==null||c(v),u==null||u()},[o,l,c,u]),d=(0,import_react.useField)(),p=(0,import_react.useFieldSchema)(),h=useAPIClient(),{t:g}=(0,import_react_i18next.useTranslation)(),_=(0,import_react2.useMemo)(()=>createDesignable({t:g,api:h,refresh:m,current:p,model:d,appVersion:clientPkg.version}),[g,h,m,p,d]);(0,import_react2.useEffect)(()=>{_.loadAPIClientEvents()},[_]);const{isMobileLayout:f}=useMobileLayout();return{dn:_,designable:f?!1:e,reset:r,refresh:m,setDesignable:t,DesignableBar:a,findComponent:(0,import_react2.useCallback)(v=>{var C;if(!v)return null;if(typeof v!="string")return v;const S=(0,import_get.default)(n,v);return(C=S==null?void 0:S[LAZY_COMPONENT_KEY])!=null?C:S},[import_get.default]),on:_.on.bind(_),patch:(0,import_react2.useCallback)((v,C)=>{const S=b=>{Object.keys(b).forEach(y=>{const F=b[y];y==="title"&&(d.title=F,p.title=F),y==="x-decorator-props"&&(d.decoratorProps||(d.decoratorProps={}),p["x-decorator-props"]||(p["x-decorator-props"]={}),Object.keys(F).forEach(j=>{d.decoratorProps[j]=F[j],p["x-decorator-props"][j]=F[j]})),y==="x-component-props"&&(d.componentProps||(d.componentProps={}),p["x-component-props"]||(p["x-component-props"]={}),Object.keys(F).forEach(j=>{d.componentProps[j]=F[j],p["x-component-props"][j]=F[j]}))})};if(typeof v=="string"){const b={};return(0,import_set.default)(b,v,C),S(b)}S(v),m()},[_]),shallowMerge:(0,import_react2.useCallback)(v=>{_.shallowMerge(v)},[_]),deepMerge:(0,import_react2.useCallback)(v=>{_.deepMerge(v)},[_]),remove:(0,import_react2.useCallback)((v,C)=>{_.remove(v,C)},[_]),insertAdjacent:(0,import_react2.useCallback)((v,C,S)=>{_.insertAdjacent(v,C,S)},[_]),insertBeforeBegin:(0,import_react2.useCallback)(v=>{_.insertBeforeBegin(v)},[_]),insertAfterBegin:(0,import_react2.useCallback)(v=>{_.insertAfterBegin(v)},[_]),insertBeforeEnd:(0,import_react2.useCallback)(v=>{_.insertBeforeEnd(v)},[_]),insertAfterEnd:(0,import_react2.useCallback)(v=>{_.insertAfterEnd(v)},[_])}}const DefaultSchemaToolbar=()=>null;DefaultSchemaToolbar.isNullComponent=!0;const useDesigner=()=>{const{designable:e}=useDesignable(),t=(0,import_react.useFieldSchema)(),o=(0,import_react2.useMemo)(()=>t["x-designer"]||t["x-toolbar"]?t["x-designer"]||t["x-toolbar"]:t["x-settings"]?SchemaToolbar:DefaultSchemaToolbar,[t]),r=useComponent(o);return e&&r||DefaultSchemaToolbar},useFieldProps$1=e=>{const t=(0,import_react2.useContext)(import_react.SchemaOptionsContext),o=(0,import_react2.useContext)(import_react.SchemaExpressionScopeContext),r=(0,import_react2.useRef)();return r.current=o,e.toFieldProps(P(x({},t),{get scope(){return x(x({},t.scope),r.current)}}))};function useSchemaComponentContext(){return(0,import_react2.useContext)(SchemaComponentContext)}const useFieldComponentOptions=()=>{var e;const{getCollectionJoinField:t,getCollection:o}=useCollectionManager_deprecated(),r=(0,import_react.useFieldSchema)(),{getField:i}=useCollection_deprecated(),n=i(r.name)||t(r["x-collection-field"]),{t:a}=(0,import_react_i18next.useTranslation)(),{label:l}=((e=r["x-component-props"])==null?void 0:e.fieldNames)||{};return(0,import_react2.useMemo)(()=>{if(!n||!(n!=null&&n.interface)||!["o2o","oho","obo","o2m","linkTo","m2o","m2m"].includes(n.interface))return;const c=o(n.target);if((c==null?void 0:c.template)==="file")return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];switch(n.interface){case"o2m":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subtable"),value:"TableField"},{label:a("Select"),value:"AssociationSelect"}];case"m2o":case"m2m":case"linkTo":return[{label:a("Record picker"),value:"CollectionField"},{label:a("Select"),value:"AssociationSelect"}];default:return[{label:a("Record picker"),value:"CollectionField"},{label:a("Subform"),value:"FormField"},{label:a("Select"),value:"AssociationSelect"}]}},[a,n==null?void 0:n.interface,l])},useFieldTitle=()=>{var e;const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollection(),i=useCollectionManager(),n=(r==null?void 0:r.getField(o.name))||(i==null?void 0:i.getCollectionField(o["x-collection-field"])),a=useCompile();(0,import_react2.useEffect)(()=>{var l;t!=null&&t.title||(t.title=a((l=n==null?void 0:n.uiSchema)==null?void 0:l.title))},[(e=n==null?void 0:n.uiSchema)==null?void 0:e.title])},useDef$4=()=>({}),useProps=(e={})=>{const t=e,{useProps:o=useDef$4}=t,r=Y(t,["useProps"]);let i=o;typeof o!="function"&&(i=useDef$4);const n=i();return x(x({},r),n)};function useParsedFilter({filterOption:e,onFilterChange:t}){const{parseFilter:o,findVariable:r}=useParseDataScopeFilter(),[i,n]=(0,import_react2.useState)({}),[a,l]=(0,import_react2.useState)(!!e);return(0,import_react2.useEffect)(()=>{if(!e)return;const c=()=>z(this,null,function*(){l(!0);const m=yield o(e);l(!1),n(m),t==null||t(m)});c();const u=import_lodash.default.debounce(c,DEBOUNCE_WAIT);(0,import_reactive.reaction)(()=>(0,import_client.flatten)(e,{breakOn({key:m}){return m.startsWith("$")&&m!=="$and"&&m!=="$or"},transformValue(m){if(!isVariable$1(m))return m;const d=getVariableName(m),p=r(d);let h=null;const g=getPath(m).split(".");return g.forEach((_,f)=>{const v=g.slice(0,f+1).join("."),C=(0,import_client.getValuesByPath)({[d]:(p==null?void 0:p.ctx)||{}},v);import_lodash.default.isEmpty(C)||(h=C)}),h}}),u,{equals:import_lodash.default.isEqual})},[JSON.stringify(e),o,r]),{filter:i,parseVariableLoading:a}}const useParentRecordCommon=e=>{const t=useCollectionRecordData();if(e)return t},useTableBlockDecoratorProps=e=>{var t;const{params:o,parseVariableLoading:r}=useTableBlockParams(e),i=useParentRecordCommon(e.association),n=(t=useDataSourceManager().getDataSource(e.dataSource))==null?void 0:t.collectionManager.getCollection(e.collection);return{params:o,parentRecord:i,parseVariableLoading:r,rowKey:(n==null?void 0:n.filterTargetKey)||"id"}};function useTableBlockParams(e){var t;const o=(0,import_react.useFieldSchema)(),{filter:r,parseVariableLoading:i}=useParsedFilter({filterOption:(t=e.params)==null?void 0:t.filter});return{params:(0,import_react2.useMemo)(()=>{const n=e.params||{},{dragSortBy:a}=(o==null?void 0:o["x-decorator-props"])||{};return e.dragSort&&a&&(n.sort=a),P(x({},n),{filter:r})},[o,r,e.dragSort,e.params]),parseVariableLoading:i}}const key="__isNewRecord__",isNewRecord=e=>(0,import_reactive.untracked)(()=>!!(e!=null&&e[key])),markRecordAsNew=e=>{if(!(0,import_lodash.isObject)(e))throw new Error("markRecordAsNew: record must be an object");return e[key]=!0,e},useDefaultLoading=()=>{var e;return!!((e=useDataBlockRequest())!=null&&e.loading)},withSkeletonComponent=(e,t)=>{const{useLoading:o=useDefaultLoading,displayName:r,SkeletonComponent:i=import_antd.Skeleton}=t||{},n=import_react2.default.memo(a=>{const l=o(),c=(0,import_react2.useRef)(!1),u=(0,import_react2.useDeferredValue)(l);return!c.current&&u?(0,import_jsx_runtime.jsx)(i,{}):(c.current=!0,(0,import_jsx_runtime.jsx)(e,x({},a)))});return n.displayName=r||`${e.displayName}(withSkeletonComponent)`||`${e.name}(withSkeletonComponent)`,n},getActionValue=(e,t)=>{const o=r=>(r==null?void 0:r.mode)==="constant"?r.value:null;switch(!0){case[ActionType.Color,ActionType.BackgroundColor,ActionType.TextAlign,ActionType.FontSize,ActionType.FontWeight,ActionType.FontStyle].includes(e):return o(t);default:return null}},getSatisfiedActions=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield Promise.all(o.filter(a=>!a.disabled).map(a=>z(void 0,null,function*(){return(yield conditionAnalyses({ruleGroup:a.condition,variables:r,localVariables:i,conditionType:a.conditionType},n))?a:null})))).filter(Boolean).map(a=>a.actions).flat()}),getSatisfiedValues=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedActions({rules:o,variables:r,localVariables:i},n)).map(a=>P(x({},a),{value:getActionValue(a.operator,a.value)}))}),getSatisfiedValueMap=(e,t)=>z(void 0,[e,t],function*({rules:o,variables:r,localVariables:i},n){return(yield getSatisfiedValues({rules:o,variables:r,localVariables:i},n)).reduce((a,l)=>P(x({},a),{[l.operator]:l.value}),{})});function useSatisfiedActionValues({formValues:e,category:t="default",rules:o,schema:r,form:i}){const[n,a]=(0,import_react2.useState)({}),l=(0,import_react.useFieldSchema)(),c=useVariables$1(),u=useLocalVariables$1({currentForm:{values:e}}),m=r??l,d=o??(m[LinkageRuleDataKeyMap[t]]||(m==null?void 0:m.parent[LinkageRuleDataKeyMap[t]])),p=useApp(),h=(0,import_react2.useCallback)(()=>{d&&e&&getSatisfiedValueMap({rules:d,variables:c,localVariables:u},p.jsonLogic).then(g=>{(0,import_lodash.isEmpty)(g)?a({}):a(g)}).catch(g=>{throw new Error(g.message)})},[c,u,d,e]);return(0,import_react2.useEffect)(()=>{if(h(),i){const g=(0,import_shared.uid)();return i.addEffects(g,()=>{(0,import_core.onFormValuesChange)(()=>{h()})}),()=>{i.removeEffects(g)}}},[i,h,e]),{valueMap:n}}const GetStyleRules=import_react2.default.memo(({record:e,schema:t,onStyleChange:o})=>{const{valueMap:r}=useSatisfiedActionValues({formValues:e,category:"style",schema:t});return(0,import_react2.useEffect)(()=>{o(r)},[o,r]),null});GetStyleRules.displayName="GetStyleRules";const opacityStyle={opacity:.5},containerStyle={position:"relative"},spinStyle={display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:0,right:0,height:"100%",maxHeight:400,zIndex:1e3},displayNone$3={display:"none"},HighPerformanceSpin=import_react2.default.memo(e=>(0,import_jsx_runtime.jsxs)("div",{style:containerStyle,children:[(0,import_jsx_runtime.jsx)(import_antd.Spin,P(x({},import_lodash.default.omit(e,"children")),{style:e.spinning?spinStyle:displayNone$3})),(0,import_jsx_runtime.jsx)("div",{style:e.spinning?opacityStyle:null,children:e.children})]}));var FilterBlockType=(e=>(e[e.FORM=0]="FORM",e[e.TABLE=1]="TABLE",e[e.TREE=2]="TREE",e[e.COLLAPSE=3]="COLLAPSE",e))(FilterBlockType||{});const mergeFilter=(e,t="$and")=>{const o=e.filter(r=>{if(r&&typeof r=="object"&&!Array.isArray(r))return Object.values(r).filter(i=>i!==void 0).length});return o.length===0?{}:o.length===1?o[0]:{[t]:o}},getSupportFieldsByAssociation=(e,t)=>{var o;return(o=t.associatedFields)==null?void 0:o.filter(r=>e==null?void 0:e.some(i=>i===r.target))},getSupportFieldsByForeignKey=(e,t)=>{var o;return(o=t.foreignKeyFields)==null?void 0:o.filter(r=>e.fields.some(i=>i.type!=="belongsTo"&&i.foreignKey===r.name&&i.target===r.collectionName))},useSupportedBlocks=e=>{const{getDataBlocks:t}=useFilterBlock(),o=(0,import_react.useFieldSchema)(),r=useCollection(),{getAllCollectionsInheritChain:i}=useAllCollectionsInheritChainGetter();if(e===0||e===3)return t().filter(n=>isSameCollection(n.collection,r));if(e===1||e===2)return t().filter(n=>{var a,l;return o["x-uid"]!==n.uid&&(isSameCollection(n.collection,r)||((a=getSupportFieldsByAssociation(i(r.name,r.dataSource),n))==null?void 0:a.length)||((l=getSupportFieldsByForeignKey(r,n))==null?void 0:l.length))})},transformToFilter=(e,t,o,r)=>(e=(0,import_client.flatten)(e,{breakOn({value:i,path:n}){if(["$match","$notMatch","$anyOf","$noneOf","$childIn","$childNotIn","$dateBetween","$in","$notIn"].includes(t[n]))return!0;const a=o(`${r}.${n}`);if(["datetime","datetimeNoTz","date","unixTimestamp","createdAt","updatedAt"].includes(a==null?void 0:a.interface))return!0;if(a!=null&&a.target){if(Array.isArray(i))return!0;const l=a.targetKey||"id";if(i&&i[l]!=null)return!0}return!1}}),{$and:Object.keys(e).map(i=>{let n=import_lodash.default.get(e,i);const a=o(`${r}.${i}`);return a!=null&&a.target&&["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(a.type)&&(n=(0,import_client.getValuesByPath)(n,a.targetKey||"id"),i=`${i}.${a.targetKey||"id"}`,(a==null?void 0:a.interface)==="chinaRegion"&&(n=import_lodash.default.last(n))),!n&&n!==0&&n!==!1?null:{[i]:{[t[i]||"$eq"]:n}}}).filter(Boolean)}),useAssociatedFields=()=>{var e;return((e=useCollection())==null?void 0:e.fields.filter(t=>isAssocField(t)))||[]},isAssocField=e=>["o2o","oho","obo","m2o","createdBy","updatedBy","o2m","m2m","linkTo","chinaRegion","mbm"].includes(e==null?void 0:e.interface),isSameCollection=(e,t)=>e.name===t.name&&e.dataSource===t.dataSource,useFilterAPI=()=>{const e=(0,import_react.useFieldSchema)(),{getDataBlocks:t}=useFilterBlock(),{targets:o,uid:r}=findFilterTargets(e),i=t(),[n,a]=(0,import_react2.useState)(()=>o&&o.some(u=>i.some(m=>m.uid===u.uid))),l=Object.keys(o||{});(0,import_react2.useEffect)(()=>{a(o&&o.some(u=>i.some(m=>m.uid===u.uid)))},[l.length,o,i]);const c=(0,import_react2.useCallback)((u,m="id",d="$eq")=>{const p=i.find(h=>h.uid===e.parent["x-uid"]);i.forEach(h=>{var g,_,f,v;let C=m;const S=o.find(j=>j.uid===h.uid);if(!S)return;import_lodash.default.isFunction(u)&&(u=u(S,h,getSourceKey$1(p,S.field))),import_lodash.default.isFunction(m)&&(C=m(S,h)),import_lodash.default.isFunction(d)&&(d=d(S));const b=((g=h.service.params)==null?void 0:g[0])||{},y=((f=(_=h.service.params)==null?void 0:_[1])==null?void 0:f.filters)||{};if(u!=null)y[r]={$and:[{[C]:{[d]:u}}]};else if((v=h.clearSelection)==null||v.call(h),delete y[r],h.dataLoadingMode==="manual")return h.clearData();const F=mergeFilter([...Object.values(y).map(j=>removeNullCondition(j)),h.defaultFilter]);h.doFilter(P(x({},b),{page:1,filter:F}),{filters:y})})},[i,o,r,e]);return{isConnected:n,doFilter:c}},isInFilterFormBlock=e=>{for(;e;){if(e["x-filter-targets"])return e["x-decorator"]==="FilterFormBlockProvider";e=e.parent}return!1};function getSourceKey$1(e,t){var o,r,i;const n=(o=e==null?void 0:e.associatedFields)==null?void 0:o.find(a=>a.foreignKey===t);return(n==null?void 0:n.sourceKey)||((i=(r=t==null?void 0:t.split)==null?void 0:r.call(t,"."))==null?void 0:i[1])}const AssociationFieldContext=(0,import_react2.createContext)({});AssociationFieldContext.displayName="AssociationFieldContext";const useInsertSchema$1=e=>{const t=(0,import_react.useFieldSchema)(),{insertAfterBegin:o}=useDesignable(),{isMobileLayout:r}=useMobileLayout();return(0,import_react2.useCallback)(i=>{r||t.reduceProperties((n,a)=>a["x-component"]==="AssociationField."+e?a:n,null)||o((0,import_cloneDeep.default)(i))},[e,t,o,r])};function useAssociationFieldContext(){return(0,import_react2.useContext)(AssociationFieldContext)}function useServiceOptions$1(e){var t,o,r,i,n,a,l,c,u,m;const{action:d="list",service:p,useOriginalFilter:h}=e,g=(0,import_react.useFieldSchema)(),_=(0,import_react.useField)(),{getField:f}=useCollection_deprecated(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=useRecord(),{isNew:S}=useCollectionRecord()||{},b=((0,import_lodash.isString)((r=(o=(t=g==null?void 0:g["x-component-props"])==null?void 0:t.service)==null?void 0:o.params)==null?void 0:r.filter)?(a=(n=(i=_.componentProps)==null?void 0:i.service)==null?void 0:n.params)==null?void 0:a.filter:(u=(c=(l=g==null?void 0:g["x-component-props"])==null?void 0:l.service)==null?void 0:c.params)==null?void 0:u.filter)||((m=p==null?void 0:p.params)==null?void 0:m.filter),{filter:y}=useParsedFilter({filterOption:b,onFilterChange:()=>{S&&_.reset()}}),F=(0,import_react2.useMemo)(()=>f(g.name)||v(g==null?void 0:g["x-collection-field"]),[g]),j=C==null?void 0:C[F==null?void 0:F.sourceKey],k=(0,import_react2.useMemo)(()=>{const T=["oho","o2m"].includes(F==null?void 0:F.interface);return mergeFilter([mergeFilter([T&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$is:null}}:null,y]),T&&j!==void 0&&j!==null&&!isInFilterFormBlock(g)&&F!=null&&F.foreignKey&&!h?{[F.foreignKey]:{$eq:j}}:null],"$or")},[F==null?void 0:F.interface,F==null?void 0:F.foreignKey,g,y,j,h]);return(0,import_react2.useMemo)(()=>P(x({resource:F==null?void 0:F.target,action:d},p),{params:P(x({},p==null?void 0:p.params),{filter:k})}),[F==null?void 0:F.target,d,k,p])}const useFieldNames$1=(e={})=>{var t,o,r,i,n;const a=(0,import_react.useFieldSchema)(),l=((i=(r=(o=(t=a["x-component-props"])==null?void 0:t.field)==null?void 0:o.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.fieldNames)||((n=a["x-component-props"])==null?void 0:n.fieldNames)||e.fieldNames;return x({label:"label",value:"value"},l)},SubFormContext=(0,import_react2.createContext)(null);SubFormContext.displayName="SubFormContext";const SubFormProvider=e=>{const t=(0,import_react2.useContext)(SubFormContext),{value:o,collection:r,fieldSchema:i,parent:n,skip:a}=e.value,l=(0,import_react2.useMemo)(()=>import_lodash.default.omitBy({value:o,collection:r,fieldSchema:i,skip:a,parent:n||(t!=null&&t.skip?t.parent:t)},import_lodash.default.isUndefined),[o,r,i,a,n,t]);return(0,import_jsx_runtime.jsx)(SubFormContext.Provider,{value:l,children:e.children})},useSubFormValue=()=>{const{value:e,collection:t,fieldSchema:o,parent:r}=(0,import_react2.useContext)(SubFormContext)||{};return{formValue:e,collection:t,fieldSchema:o,parent:r}},TableSkeleton=({rows:e=5,columns:t=6})=>{const{token:o}=useToken$1(),r=o.controlHeight*2.06,i=o.controlHeight*1.75,n=(0,import_react2.useMemo)(()=>import_css.css`
|
|
66
66
|
&.skeleton-wrapper {
|
|
67
67
|
width: 100%;
|
|
68
68
|
background: ${o.colorBgContainer};
|
|
@@ -271,7 +271,7 @@ ${JSON.stringify(E,null,2)}`)},[u,c,l,i,r,j,t,a,n,g,o,_,S,k,b,y,h]),M=(0,import_
|
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
|
-
`,TableColumnActionBar$1=(0,import_react.observer)(e=>{const t=useDesigner(),{isInSubTable:o}=useFlag()||{},{designable:r}=useSchemaComponentContext(),{token:i}=useToken$1(),{name:n}=(useBlockContext==null?void 0:useBlockContext())||{};return!r||t.isNullComponent?e.children:(0,import_jsx_runtime.jsx)(SortableItem,{className:designerCss$4({margin:`-${i.margin}px -${i.marginXS}px`,padding:`${i.margin}px ${i.marginXS}px`}),children:(0,import_jsx_runtime.jsxs)(BlockContext.Provider,{value:{name:o?n:"taleColumn"},children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})})},{displayName:"TableColumnActionBar"}),useColumnSchema$1=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o==null?void 0:o.reduceProperties((a,l)=>isCollectionFieldComponent(l)?l:a,null);if(!i)return{};const n=e(i.name)||r(i==null?void 0:i["x-collection-field"]);return{columnSchema:o,fieldSchema:i,collectionField:n,uiSchema:t(n==null?void 0:n.uiSchema)}},useTableFieldInstanceList=()=>{const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react2.useMemo)(()=>{var r,i;if(!t||!e)return[];const n=(i=e.path)==null?void 0:i.splice(((r=e.path)==null?void 0:r.length)-1,1);return e.form.query(`${n.concat("*."+t.name)}`).map()},[e,t]);return t?o:[]},TableColumnDecorator$1=e=>{var t,o;const r=useDesigner(),i=(0,import_react.useField)(),{fieldSchema:n,uiSchema:a,collectionField:l}=useColumnSchema$1(),{designable:c}=useSchemaComponentContext(),u=useCompile(),{isInSubTable:m}=useFlag()||{},{token:d}=useToken$1(),{name:p}=(useBlockContext==null?void 0:useBlockContext())||{};let h=n==null?void 0:n.required;if(m){const g=(o=i.path)==null?void 0:o.splice(((t=i.path)==null?void 0:t.length)-1,1),_=i.form.query(`${g.concat("*."+n.name)}`).take();h=typeof(_==null?void 0:_.required)=="boolean"?_.required:n==null?void 0:n.required}return(0,import_react2.useEffect)(()=>{i.title||n&&a!=null&&a.title&&(i.title=a==null?void 0:a.title)},[a==null?void 0:a.title]),!c||r.isNullComponent?(0,import_jsx_runtime.jsxs)(CollectionFieldContext.Provider,{value:l,children:[(0,import_jsx_runtime.jsx)(r,{fieldSchema:n,uiSchema:a,collectionField:l}),(0,import_jsx_runtime.jsxs)("span",{role:"button",children:[h&&(0,import_jsx_runtime.jsx)("span",{className:"ant-formily-item-asterisk",children:"*"}),(0,import_jsx_runtime.jsx)("span",{children:(i==null?void 0:i.title)||u(a==null?void 0:a.title)})]})]}):(0,import_jsx_runtime.jsx)(SortableItem,{className:designerCss$4({margin:`-${d.margin}px -${d.marginXS}px`,padding:`${d.margin}px ${d.marginXS}px`}),children:(0,import_jsx_runtime.jsx)(CollectionFieldContext.Provider,{value:l,children:(0,import_jsx_runtime.jsxs)(BlockContext.Provider,{value:{name:m?p:"taleColumn"},children:[(0,import_jsx_runtime.jsx)(r,{fieldSchema:n,uiSchema:a,collectionField:l}),(0,import_jsx_runtime.jsxs)("span",{role:"button",children:[h&&(0,import_jsx_runtime.jsx)("span",{className:"ant-formily-item-asterisk",children:"*"}),(0,import_jsx_runtime.jsx)("span",{children:(i==null?void 0:i.title)||u(a==null?void 0:a.title)})]})]})})})},SchemaToolbarContext=(0,import_react2.createContext)({});SchemaToolbarContext.displayName="SchemaToolbarContext";const SchemaToolbarProvider=e=>{const t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(SchemaToolbarContext.Provider,{value:r,children:o})};function useSchemaToolbar(){return(0,import_react2.useContext)(SchemaToolbarContext)}const SchemaToolbarErrorFallback=e=>{const{designable:t}=useDesignable();return t?(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,P(x({},e),{children:(0,import_jsx_runtime.jsx)(SchemaToolbar,{title:`render toolbar error: ${e.error.message}`})})):null},useSchemaToolbarRender=e=>{const{designable:t}=useDesignable(),o=(0,import_react2.useMemo)(()=>{if(e["x-designer"]||e["x-toolbar"])return e["x-designer"]||e["x-toolbar"];if(e["x-settings"])return SchemaToolbar},[e]),r=useComponent(o);return{render(i){return!t||!r?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:SchemaToolbarErrorFallback,onError:console.error,children:(0,import_jsx_runtime.jsx)(r,x(x({},e["x-toolbar-props"]),i))})},exists:!!r}},generalSettingsItems=[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=useCompile(),i=(0,import_react.useField)(),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:i==null?void 0:i.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;i.title=r(d),n.title=u,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}},useVisible(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated();return!!(o(e.name)||t(e["x-collection-field"]))}},{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()}}},useVisible(){return!(0,import_react.useField)().readPretty}},{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()}}},useVisible(){return(0,import_react.useField)().readPretty}},{name:"required",type:"switch",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:o.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()}}},useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&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})}}],RemoveConditionContext$1=(0,import_react2.createContext)(null);RemoveConditionContext$1.displayName="RemoveConditionContext";const FilterContext$3=(0,import_react2.createContext)(null);FilterContext$3.displayName="FilterContext";const FilterLogicContext$1=(0,import_react2.createContext)(null);FilterLogicContext$1.displayName="FilterLogicContext";const findOption$2=(e=[],t)=>{var o;let r=t,i;return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const a=r.find(l=>l.name===n);a&&(i=a),r=(a==null?void 0:a.children)||[]}),i},useValues$2=()=>{const{name:e}=useCollection_deprecated(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),o=(0,import_react.useField)(),{options:r,collectionName:i,field:n}=(0,import_react2.useContext)(FilterContext$3)||{},a=(0,import_flat.default)(o.value||{}),l=Object.keys(a).shift()||"",c=(0,import_react2.useMemo)(()=>{const[h=""]=l.split(".$");return t(`${i||e}.${h}`)},[e,l]),u=(0,import_react2.useCallback)(()=>{var h,g,_,f;o.value=o.data.dataIndex?import_flat.default.unflatten({[`${(h=o.data.dataIndex)==null?void 0:h.join(".")}.${(_=(g=o.data)==null?void 0:g.operator)==null?void 0:_.value}`]:(f=o.data)==null?void 0:f.value}):{}},[o]);(0,import_react2.useEffect)(()=>{var h;if(o.data=o.data||{},!l||!r)return;const[g="",_=""]=l.split(".$"),[f]=_.split(".",2),v=g.split("."),C=findOption$2(v,r),S=C==null?void 0:C.operators,b=(h=S==null?void 0:S.find)==null?void 0:h.call(S,y=>y.value===`$${f}`);if(o.data.dataIndex=v,(v==null?void 0:v.length)>1){const y=v.concat();y.pop();const F=t(`${e}.${y.join(".")}`);n.collectionName=F==null?void 0:F.target}else n.collectionName=null;o.data.operators=S,o.data.operator=b,o.data.schema=(0,import_shared.merge)(C==null?void 0:C.schema,b==null?void 0:b.schema),o.data.value=(0,import_get.default)((0,import_flat.unflatten)(o.value),`${g}.$${f}`)},[o.path]);const m=(0,import_react2.useCallback)(h=>{var g;const _=findOption$2(h,r),f=(g=_==null?void 0:_.operators)==null?void 0:g[0];o.data=o.data||{},o.data.operators=_==null?void 0:_.operators,o.data.operator=f;const v=(0,import_cloneDeep.default)(_==null?void 0:_.schema),C=(0,import_cloneDeep.default)(f==null?void 0:f.schema);if(o.data.schema=(0,import_shared.merge)(v,C),o.data.dataIndex=h,(h==null?void 0:h.length)>1){const S=h.concat();S.pop();const b=t(`${e}.${S.join(".")}`);n.collectionName=b==null?void 0:b.target}else n.collectionName=null;o.data.value=f!=null&&f.noValue?f.default||!0:void 0,u()},[u,o,r]),d=(0,import_react2.useCallback)(h=>{var g,_,f;const v=(f=(_=(g=o.data)==null?void 0:g.operators)==null?void 0:_.find)==null?void 0:f.call(_,y=>y.value===h);o.data.operator=v;const C=findOption$2(o.data.dataIndex,r),S=(0,import_cloneDeep.default)(C==null?void 0:C.schema),b=(0,import_cloneDeep.default)(v==null?void 0:v.schema);o.data.schema=(0,import_shared.merge)(S,b),o.data.value=v.noValue?v.default||!0:void 0,u()},[u,o.data,r]),p=(0,import_react2.useCallback)(h=>{o.data.value=h,u()},[u,o.data]);return P(x({fields:r},(o==null?void 0:o.data)||{}),{collectionField:c,setDataIndex:m,setOperator:d,setValue:p})},useBlockCollection=()=>{const e=useDataBlockProps();return{name:(e==null?void 0:e.collection)||(e==null?void 0:e.resource)}},useIsSameOrChildCollection=()=>{const{getChildrenCollections:e}=useCollectionManager_deprecated();return(t,o)=>{if(t===o)return!0;const r=e(o);return r==null?void 0:r.some(i=>i.name===t)}},getChildren$2=(e,{schema:t,depth:o,maxDepth:r,loadChildren:i,compile:n},a,l)=>e.map(c=>{const u=!l(c.target,a==null?void 0:a.target);return c.target?o>=r?null:{key:c.name,value:c.name,name:c.name,label:n(c.title),title:n(c.title),disabled:u,isLeaf:!0,field:c,depth:o,loadChildren:i}:{key:c.name,value:c.name,name:c.name,label:n(c.title),title:n(c.title),disabled:u,isLeaf:!0,depth:o}}).filter(Boolean),useContextAssociationFields=({schema:e,maxDepth:t=3,contextCollectionName:o,collectionField:r})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCompile(),a=useGetFilterOptions(),l=useIsSameOrChildCollection(),c=u=>{var m;if(!((m=u.field)!=null&&m.target))return new Promise(p=>{(0,import_client.error)("Must be set field target"),u.children=[],p(void 0)});const d=u.field.target;return new Promise(p=>{setTimeout(()=>{const h=getChildren$2(a(d).filter(g=>r?["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type):!0),{schema:e,depth:u.depth+1,maxDepth:t,loadChildren:c,compile:n},r,l)||[];if(h.length===0){u.disabled=!0,u.children=[],p();return}u.children=h,p()},5)})};return(0,import_react2.useMemo)(()=>({label:i("Table selected records"),value:"$context",key:"$context",isLeaf:!1,field:{target:o},depth:0,loadChildren:c}),[e==null?void 0:e["x-component"]])},useLabelUiSchemaV2=()=>{const e=useCollectionManager();return(t,o)=>{if(!t)return;const r=e==null?void 0:e.getCollectionField(`${t}.${o}`);return r==null?void 0:r.uiSchema}},useLabelUiSchema$1=(e,t)=>{const o=useCollectionManager();if(!e)return;const r=o==null?void 0:o.getCollectionField(`${e}.${t}`);return r==null?void 0:r.uiSchema},getDatePickerLabels$1=e=>{const t=(0,import_client.getDefaultFormat)(e),o=(0,import_client.str2moment)(e.value,e),r=o&&o.isValid()?o.format(t):e.value;return(0,import_shared.isArr)(r)?r.join("~"):r},toArr$2=e=>e?Array.isArray(e)?e:[e]:[],getLabelFormatValue$1=(e,t,o=!1)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t){const i=toArr$2(t).map(n=>{const a=r.find(l=>l.value===n);return o?import_react2.default.createElement(import_antd.Tag,{color:a==null?void 0:a.color},a==null?void 0:a.label):a==null?void 0:a.label});return o?i:i.join(", ")}switch(e==null?void 0:e["x-component"]){case"DatePicker":return getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t}));default:return t}},getTabFormatValue=(e,t,o)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t)return toArr$2(t).map(i=>{const n=r.find(a=>a.value===i);return import_react2.default.createElement(import_antd.Tag,{color:o||(n==null?void 0:n.color)},n==null?void 0:n.label)});switch(e==null?void 0:e["x-component"]){case"DatePicker":return import_react2.default.createElement(import_antd.Tag,{color:o},getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t})));default:return import_react2.default.createElement(import_antd.Tag,{color:o},t)}};function flatData$2(e){const t=[];for(let o=0;o<e.length;o++){const r=e[o].children;Array.isArray(r)&&t.push(...flatData$2(r)),t.push(x({},e[o]))}return t}function isSubMode(e){var t,o;const r=((t=e["x-component-props"])==null?void 0:t.mode)||((o=e.componentProps)==null?void 0:o.mode);return["Nester","SubTable","PopoverNester"].includes(r)}const useSpecialCase=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionField:r}=useCollectionManager_deprecated(),i=(0,import_react2.useMemo)(()=>o(t.name),[t.name,o]),n=(0,import_react2.useCallback)(()=>isSpecialCaseField({collectionField:i,fieldSchema:t,getCollectionField:r}),[i,t,r]),a=(0,import_react2.useCallback)(l=>{const c=getParentFieldSchema(t);if(c){const u=e.query(c.name).take();if(u){const m=import_lodash.default.isEmpty(l)?[]:import_lodash.default.map(transformValue(l,{field:u,subFieldSchema:t}),d=>markRecordAsNew(d));isSubset(m,u.initialValue)||u.setInitialValue(m)}}},[t,e]);return{isSpecialCase:n,setDefaultValue:a}};function getParentFieldSchema(e){for(;e!=null&&e.parent;)if(e=e.parent,isSubMode(e))return e;return e}function isSpecialCaseField({collectionField:e,fieldSchema:t,getCollectionField:o}){if(!t.default||!t.default.includes("$context"))return!1;if(e&&["hasOne","belongsTo"].includes(e.type)&&t){const r=getParentFieldSchema(t);if(r&&r["x-collection-field"]){const i=o(r["x-collection-field"]);if(["hasMany","belongsToMany"].includes(i==null?void 0:i.type))return!0}}return!1}function transformValue(e,t){const{field:o,subFieldSchema:r}=t,i=o.value;let n=null;return Array.isArray(e)?n=e.map(a=>({[r.name]:a})):n=[{[r.name]:e}],import_lodash.default.assignWith([...i],n,(a,l)=>(!a&&l&&(l.__notFromDatabase=!0),import_lodash.default.assign(x({},i[0]),l)))}const useSubTableSpecialCase=({rootField:e,rootSchema:t})=>{const{hasUsedVariable:o}=useHasUsedVariable();(0,import_react2.useEffect)(()=>{if(import_lodash.default.isEmpty(e.value)&&o("$context",t)){const r=e.value,i=[markRecordAsNew({})];e.value=i,setTimeout(()=>{JSON.stringify(e.value)===JSON.stringify(i)&&(e.value=r)})}},[e,t,o])};function isSubset(e,t){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){const r=e[o],i=t[o];if(!import_lodash.default.isMatch(import_lodash.default.omitBy(i,import_lodash.default.isNil),import_lodash.default.omitBy(r,import_lodash.default.isNil)))return!1}return!0}const checkSchema=(e,t)=>{if(e["x-decorator"]==="FormItem"){const r=e.default;if(r&&typeof r=="string"&&isVariable$1(r)&&r.includes(t))return!0}let o=!1;return e.mapProperties(r=>{checkSchema(r,t)&&(o=!0)}),o};function useHasUsedVariable(){return{hasUsedVariable:(0,import_react2.useCallback)((e,t)=>checkSchema(t,e),[])}}const BaseVariableContext=import_react2.default.createContext(null),BaseVariableProvider=e=>(0,import_jsx_runtime.jsx)(BaseVariableContext.Provider,{value:e,children:e.children}),getChildren$1=(e,{collectionField:t,uiSchema:o,depth:r,maxDepth:i,noDisabled:n,loadChildren:a,compile:l,isDisabled:c,targetFieldSchema:u,getCollectionField:m,deprecated:d})=>e.map(p=>!p.target||p.target==="chinaRegions"||p.interface==="attachmentURL"?{key:p.name,value:p.name,label:l(p.title),disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),isLeaf:!0,depth:r,operators:p==null?void 0:p.operators,schema:p==null?void 0:p.schema}:r>=i?null:{key:p.name,value:p.name,label:l(p.title),isLeaf:!1,field:p,depth:r,disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),loadChildren:a}).filter(Boolean),getLabelWithTooltip=(e,t)=>t?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{placement:"left",title:t,zIndex:9999,children:(0,import_jsx_runtime.jsx)("span",{style:{position:"relative",display:"inline-block",marginLeft:-14,paddingLeft:14,marginRight:-80,paddingRight:80,zIndex:1},children:e})}):e,useBaseVariable=({collectionField:e,uiSchema:t,targetFieldSchema:o,maxDepth:r=3,name:i,title:n,collectionName:a,noChildren:l=!1,noDisabled:c=!0,dataSource:u,returnFields:m=g=>g,deprecated:d,tooltip:p,operators:h=[]})=>{const g=useCompile(),_=useGetFilterOptions(),{isDisabled:f}=(0,import_react2.useContext)(BaseVariableContext)||{},{isLeftVariable:v}=(0,import_react2.useContext)(FlagContext)||{},C=useCollectionManager(),S=b=>{var y;if(!((y=b.field)!=null&&y.target))return Promise.resolve(void 0);const F=b.field.target;return new Promise(j=>{setTimeout(()=>{var k;const T=(v&&F==="attachments"&&g((k=b.field)==null?void 0:k.children)||getChildren$1(m(_(F,u,!0),b),{collectionField:e,uiSchema:t,targetFieldSchema:o,depth:b.depth+1,maxDepth:r,noDisabled:c,loadChildren:S,compile:g,isDisabled:f||isDisabledDefault,getCollectionField:C.getCollectionField,deprecated:d})||[]).sort((M,w)=>M.isLeaf&&!w.isLeaf?-1:!M.isLeaf&&w.isLeaf?1:0).sort((M,w)=>M.disabled&&!w.disabled?1:!M.disabled&&w.disabled?-1:0);if(T.length===0){b.disabled=!0,b.isLeaf=!0,j();return}b.children=T,j()},5)})};return(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(n,p),value:i,key:i,isLeaf:l,field:{target:a},depth:0,loadChildren:S,children:[],disabled:!!d,deprecated:d,operators:h}),[t==null?void 0:t["x-component"]])};function isDisabledDefault(e){var t,o;const{option:r,collectionField:i,uiSchema:n,targetFieldSchema:a,getCollectionField:l}=e;return!n||!i?!0:i.interface==="json"?!1:!i.target&&["hasMany","belongsToMany"].includes(r.type)?!0:!i.target&&["hasOne","belongsTo"].includes(r.type)||r.target&&isSpecialCaseField({collectionField:i,fieldSchema:a,getCollectionField:l})?!1:["hasOne","belongsTo"].includes(i.type)&&["hasMany","belongsToMany"].includes(r.type)?!0:["hasOne","belongsTo"].includes(i.type)&&["hasOne","belongsTo"].includes(r.type)||["hasMany","belongsToMany"].includes(i.type)&&r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const CurrentRecordContext=(0,import_react2.createContext)(null),CurrentRecordContextProvider=e=>{const t=(0,import_react2.useMemo)(()=>({recordData:e.recordData,collectionName:e.collectionName}),[e.recordData,e.collectionName]);return(0,import_jsx_runtime.jsxs)(CurrentRecordContext.Provider,{value:t,children:[" ",e.children," "]})},useCurrentRecord=()=>(0,import_react2.useContext)(CurrentRecordContext),useCurrentRecordContext=()=>{const e=useCurrentRecord(),{name:t}=useBlockContext()||{},o=useCollection(),r=useCollectionRecordData(),{formRecord:i,collectionName:n}=useFormBlockContext();let a=i!=null&&i.data?n:o==null?void 0:o.name;return a=(e==null?void 0:e.collectionName)||a,{currentRecordCtx:(e==null?void 0:e.recordData)||(i==null?void 0:i.data)||r,shouldDisplayCurrentRecord:!import_lodash.default.isEmpty(import_lodash.default.omit(r,["__collectionName","__parent"]))||!!(i!=null&&i.data)||t==="taleColumn",collectionName:a,blockType:t,dataSource:o==null?void 0:o.dataSource}},useCurrentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i,blockType:n,dataSource:a}=useCurrentRecordContext();return{currentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nRecord",title:t("Current record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,deprecated:n==="form"&&!r,tooltip:n==="form"?t('This variable has been deprecated and can be replaced with "Current form"'):"",dataSource:a}),currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i}},SettingsMenuProvider=e=>SelectWithTitle,DropdownVisibleContext=(0,import_react2.createContext)(null);DropdownVisibleContext.displayName="DropdownVisibleContext";const CurrentUserContext=(0,import_react2.createContext)(null);CurrentUserContext.displayName="CurrentUserContext";const useCurrentUserContext=()=>(0,import_react2.useContext)(CurrentUserContext),useIsLoggedIn=()=>{var e;const t=(0,import_react2.useContext)(CurrentUserContext);return!!((e=t==null?void 0:t.data)!=null&&e.data)},useCurrentRoles=()=>{var e;const{allowAnonymous:t}=useACLRoleContext(),{data:o}=useCurrentUserContext()||{},r=useCompile();return(0,import_react2.useMemo)(()=>{var i;const n=(((i=o==null?void 0:o.data)==null?void 0:i.roles)||[]).map(({name:a,title:l})=>({name:a,title:r(l)}));return t&&n.push({title:"Anonymous",name:"anonymous"}),n},[t,(e=o==null?void 0:o.data)==null?void 0:e.roles,r])},CurrentUserProvider=e=>{const t=useAPIClient(),o=useRequest(()=>t.request({url:"/auth:check",skipNotify:!0,skipAuth:!0}).then(i=>i==null?void 0:i.data)),{render:r}=useAppSpin();return o.loading?r():(0,import_jsx_runtime.jsx)(CurrentUserContext.Provider,{value:o,children:e.children})},CurrentUserSettingsMenuContext=(0,import_react2.createContext)(null);CurrentUserSettingsMenuContext.displayName="CurrentUserSettingsMenuContext";const useCurrentUserSettingsMenu=()=>{const{menuItems:e}=(0,import_react2.useContext)(CurrentUserSettingsMenuContext)||{},t=(0,import_react2.useCallback)(()=>e.current,[e]),o=(0,import_react2.useCallback)((r,i)=>{let n;if(i&&(r._options=i),(n=e.current.findIndex(l=>l.key===r.key))!==-1){e.current[n]=r,e.current=[...e.current];return}if(i){if(i.before){const l=e.current.findIndex(c=>c.key===i.before);e.current.splice(l,0,r);return}if(i.after){const l=e.current.findIndex(c=>c.key===i.after);e.current.splice(l+1,0,r);return}}const a=e.current;e.current=a.filter(l=>{var c,u;return r.key!==((c=l._options)==null?void 0:c.before)&&r.key!==((u=l._options)==null?void 0:u.after)}),e.current.push(...a.filter(l=>{var c;return((c=l._options)==null?void 0:c.before)===r.key})),e.current.push(r),e.current.push(...a.filter(l=>{var c;return((c=l._options)==null?void 0:c.after)===r.key}))},[e]);if(!e)throw(0,import_client.error)("CurrentUser: You should use `CurrentUserSettingsMenuProvider` in the root of your app."),new Error("CurrentUser: You should use `CurrentUserSettingsMenuProvider` in the root of your app.");return{getMenuItems:t,addMenuItem:o}},CurrentUserSettingsMenuProvider=({children:e})=>{const t=(0,import_react2.useRef)([]),o=(0,import_react2.useMemo)(()=>({menuItems:t}),[t]);return(0,import_jsx_runtime.jsx)(CurrentUserSettingsMenuContext.Provider,{value:o,children:e})},useUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:n("Current user"),collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY,noDisabled:o,targetFieldSchema:r})},useCurrentUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useCurrentUserContext();return{currentUserSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:a("Current user"),collectionName:"users",noDisabled:o,targetFieldSchema:r,dataSource:DEFAULT_DATA_SOURCE_KEY}),currentUserCtx:(n=l==null?void 0:l.data)==null?void 0:n.data}},useAPITokenVariable=({noDisabled:e}={})=>{var t;const o=useAPIClient();return{apiTokenSettings:useBaseVariable({name:"$nToken",title:"API token",noDisabled:e,noChildren:!0,operators:string}),apiTokenCtx:(t=o.auth)==null?void 0:t.token}},popupSchema={type:"void","x-component":"Action.Container","x-action":"view",title:'{{ t("View record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},useInsertSchema=()=>{const e=(0,import_react.useFieldSchema)(),{insertAfterBegin:t}=useDesignable();return(0,import_react2.useCallback)(o=>{e.reduceProperties((r,i)=>i["x-component"]==="Action.Container"?i:r,null)||t((0,import_lodash.cloneDeep)(o))},[e,t])},filterProperties=e=>e["x-component"]==="Action.Container",FieldLink=e=>{const t=e,{WrappedComponent:o}=t,r=Y(t,["WrappedComponent"]),i=(0,import_react.useFieldSchema)(),{openPopup:n}=usePopupUtils(),a=(0,import_react2.useRef)(!1),l=useInsertSchema(),c=(0,import_react2.useRef)(i);c.current=i;const u=(0,import_react2.useCallback)(()=>c.current,[]),m=(0,import_react2.useCallback)(()=>{i.properties||(l(popupSchema),a.current=!0),a.current?(setTimeout(()=>{n({customActionSchema:u()})}),a.current=!1):i.properties&&n()},[i,l,n,u]);return(0,import_jsx_runtime.jsx)("a",{onClick:m,children:(0,import_jsx_runtime.jsx)(o,x({},r))})};function withPopupWrapper(e){return t=>{const[o,r]=(0,import_react2.useState)(!1),[i,n]=(0,import_react2.useState)(!1),a=useCollection(),l=useActionContext(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{enableLink:m,openMode:d,openSize:p}=(u==null?void 0:u["x-component-props"])||{},{visibleWithURL:h,setVisibleWithURL:g}=usePopupUtils(),_=(0,import_react2.useCallback)(C=>{r==null||r(C),g==null||g(C)},[g]),f=(0,import_react2.useRef)(u);f.current=u;const{setSubmitted:v}=l;return m?(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:(0,import_jsx_runtime.jsx)(e,x({},t)),visible:o||h,setVisible:_,formValueChanged:i,setFormValueChanged:n,openMode:d,openSize:p,containerRefKey:"field-popup",fieldSchema:u,setSubmitted:v,children:[(0,import_jsx_runtime.jsx)(CollectionProvider,{name:a.name,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:c==null?void 0:c.address,schema:u,filterProperties})})})}),(0,import_jsx_runtime.jsx)(FieldLink,P(x({},t),{WrappedComponent:e}))]})}):(0,import_jsx_runtime.jsx)(e,x({},t))}}const ReadPretty$d=()=>null;ReadPretty$d.DatePicker=function(e){const{value:t,picker:o="date"}=e,r=(0,import_builtins.usePrefixCls)("description-date-picker",e);if(!t)return(0,import_jsx_runtime.jsx)("div",{});const i=()=>{const n=(0,import_client.getDefaultFormat)(e),a=(0,import_client.str2moment)(t,e),l=import_dayjs.default.isDayjs(a)?a.format(n):"";return(0,import_shared.isArr)(l)?l.join("~"):l};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(r,e.className),children:i()})};ReadPretty$d.DateRangePicker=function(e){const t=(0,import_builtins.usePrefixCls)("description-text",e),o=(0,import_client.getDefaultFormat)(e),r=()=>{const i=(0,import_client.str2moment)(e.value,e);if(!i)return"";const n=i.map(a=>a.format(o));return(0,import_shared.isArr)(n)?n.join("~"):n};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(t,e.className),style:e.style,children:r()})};ReadPretty$d.DatePicker=withPopupWrapper(ReadPretty$d.DatePicker);const DatePickerContext=import_react2.default.createContext({utc:!0}),useDatePickerContext=()=>import_react2.default.useContext(DatePickerContext),DatePickerProvider=DatePickerContext.Provider,InternalDatePicker=(0,import_react.connect)(import_antd.DatePicker,(0,import_react.mapProps)(mapDatePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DatePicker)),InternalRangePicker=(0,import_react.connect)(import_antd.DatePicker.RangePicker,(0,import_react.mapProps)(mapRangePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DateRangePicker)),DatePicker=e=>{const{utc:t=!0}=useDatePickerContext(),o=Array.isArray(e.value)?e.value[0]:e.value,{parseVariable:r}=useVariables$1()||{},i=useLocalVariables$1(),[n,a]=(0,import_react2.useState)(null),[l,c]=(0,import_react2.useState)(null),u=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>(u.current&&u.current(),u.current=(0,import_reactive.autorun)(()=>{m()}),()=>{u.current()}),[e._maxDate,e._minDate,i,r]);const m=()=>z(void 0,null,function*(){let p=e._minDate?Promise.resolve((0,import_dayjs.default)(e._minDate)):Promise.resolve(null),h=e._maxDate?Promise.resolve((0,import_dayjs.default)(e._maxDate)):Promise.resolve(null);isVariable$1(e._maxDate)&&(h=r(e._maxDate,i).then(S=>(console.log((0,import_dayjs.default)(Array.isArray(S.value)?(0,import_lodash.last)(S.value):S.value)),(0,import_dayjs.default)(Array.isArray(S.value)?(0,import_lodash.last)(S.value):S.value)))),isVariable$1(e._minDate)&&(p=r(e._minDate,i).then(S=>(0,import_dayjs.default)(Array.isArray(S.value)?(0,import_lodash.first)(S.value):S.value)));const[g,_]=yield Promise.all([p,h]),f=Array.from({length:60},(S,b)=>b),v=S=>{if(!import_dayjs.default.isDayjs(S))return!1;const b=g?g.startOf("day"):null,y=_?_.endOf("day"):null;return b&&S.isBefore(b,"day")||y&&S.isAfter(y,"day")},C=S=>{if(!S||!g&&!_)return{disabledHours:()=>[],disabledMinutes:()=>[],disabledSeconds:()=>[]};const b=S.utc(),y=g&&b.isSame(g,"day"),F=_&&b.isSame(_,"day");return{disabledHours:()=>{const j=[];if(y)for(let k=0;k<g.hour();k++)j.push(k);if(F)for(let k=_.hour()+1;k<24;k++)j.push(k);return j},disabledMinutes:j=>y&&j===g.hour()?f.filter(k=>k<g.minute()):F&&j===_.hour()?f.filter(k=>k>_.minute()):[],disabledSeconds:(j,k)=>y&&j===g.hour()&&k===g.minute()?f.filter(T=>T<g.second()):F&&j===_.hour()&&k===_.minute()?f.filter(T=>T>_.second()):[]}};a(()=>v),c(()=>C)}),d=P(x({utc:t},e),{disabledDate:n,disabledTime:l,showTime:e.showTime?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1});return(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},d),{value:o}))};DatePicker.ReadPretty=ReadPretty$d.DatePicker;DatePicker.RangePicker=function(e){const{value:t,picker:o="date",format:r,showTime:i,timeFormat:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),{utc:u=!0}=useDatePickerContext(),m=getDateRanges(),d=useCompile(),p=!l["x-filter-operator"],h=[{label:a("Today"),value:m.today},{label:a("Last week"),value:m.lastWeek},{label:a("This week"),value:m.thisWeek},{label:a("Next week"),value:m.nextWeek},{label:a("Last month"),value:m.lastMonth},{label:a("This month"),value:m.thisMonth},{label:a("Next month"),value:m.nextMonth},{label:a("Last quarter"),value:m.lastQuarter},{label:a("This quarter"),value:m.thisQuarter},{label:a("Next quarter"),value:m.nextQuarter},{label:a("Last year"),value:m.lastYear},{label:a("This year"),value:m.thisYear},{label:a("Next year"),value:m.nextYear},{label:a("Last 7 days"),value:m.last7Days},{label:a("Next 7 days"),value:m.next7Days},{label:a("Last 30 days"),value:m.last30Days},{label:a("Next 30 days"),value:m.next30Days},{label:a("Last 90 days"),value:m.last90Days},{label:a("Next 90 days"),value:m.next90Days}],g=t?inferPickerType(t==null?void 0:t[0],o):o,_=(0,import_client.getPickerFormat)(g)||r,f=P(x({utc:u,presets:h},e),{format:(0,import_client.getDateTimeFormat)(g,_,i,n),picker:g,showTime:i?{defaultValue:[(0,import_dayjs.default)("00:00:00","HH:mm:ss"),(0,import_dayjs.default)("23:59:59","HH:mm:ss")]}:!1}),[v,C]=(0,import_react2.useState)(f);return p?(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:g,options:d([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:S=>{const b=(0,import_client.getPickerFormat)(S),y=(0,import_client.getDateTimeFormat)(S,b,i,n);c.setComponentProps({picker:S,format:b}),f.picker=S,f.format=y,C(f),l["x-component-props"]=P(x({},e),{picker:S,format:y}),c.value=void 0}}),(0,import_jsx_runtime.jsx)(InternalRangePicker,P(x({},v),{value:t}))]}):(0,import_jsx_runtime.jsx)(InternalRangePicker,x({},f))};function toLocalNaiveISOString(e,t){return e&&e.endsWith("Z")?(0,import_dayjs.default)(e).format(t):e}DatePicker.FilterWithPicker=function(e){const{picker:t="date",format:o,showTime:r,timeFormat:i}=e,n=isMobile(),{utc:a=!0}=useDatePickerContext(),l=Array.isArray(e.value)?e.value[0]:e.value,c=useCompile(),u=(0,import_react.useFieldSchema)(),m=l?inferPickerType(l,t):t,[d,p]=(0,import_react2.useState)(m),h=(0,import_client.getPickerFormat)(m)||o,g=P(x({utc:a,inputReadOnly:n},e),{underFilter:!0,showTime:r?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1,format:(0,import_client.getDateTimeFormat)(d,h,r,i),picker:d,onChange:C=>{e.onChange(void 0),setTimeout(()=>{e.onChange(C)})}}),_=(0,import_react.useField)(),[f,v]=(0,import_react2.useState)(g);return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{width:"100%"},children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,value:d,options:c([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:C=>{p(C);const S=(0,import_client.getPickerFormat)(C),b=(0,import_client.getDateTimeFormat)(C,S,r,i);_.setComponentProps({picker:C,format:S}),g.picker=C,g.format=b,v(g),u["x-component-props"]=P(x({},e),{picker:C,format:b}),_.value=null}}),(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},f),{value:toLocalNaiveISOString(l,(0,import_client.getDateTimeFormat)(d,h,r,i))}))]})};const useDateVariable=({operator:e,schema:t,noDisabled:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),i=(e==null?void 0:e.value)||"",n=o?!1:!["DatePicker","DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"]),a=[{key:"now",value:"now",label:r("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||i==="$dateBetween",operators:datetime,schema:{}},{key:"dayBeforeYesterday",value:"dayBeforeYesterday",label:r("Day before yesterday"),disabled:n,operators:datetime},{key:"yesterday",value:"yesterday",label:r("Yesterday"),disabled:n,operators:datetime},{key:"today",value:"today",label:r("Today"),disabled:n,operators:datetime},{key:"tomorrow",value:"tomorrow",label:r("Tomorrow"),disabled:n,operators:datetime},{key:"lastIsoWeek",value:"lastIsoWeek",label:r("Last week"),disabled:n,operators:datetime},{key:"thisIsoWeek",value:"thisIsoWeek",label:r("This week"),disabled:n,operators:datetime},{key:"nextIsoWeek",value:"nextIsoWeek",label:r("Next week"),disabled:n,operators:datetime},{key:"lastMonth",value:"lastMonth",label:r("Last month"),disabled:n,operators:datetime},{key:"thisMonth",value:"thisMonth",label:r("This month"),disabled:n,operators:datetime},{key:"nextMonth",value:"nextMonth",label:r("Next month"),disabled:n,operators:datetime},{key:"lastQuarter",value:"lastQuarter",label:r("Last quarter"),disabled:n,operators:datetime},{key:"thisQuarter",value:"thisQuarter",label:r("This quarter"),disabled:n,operators:datetime},{key:"nextQuarter",value:"nextQuarter",label:r("Next quarter"),disabled:n,operators:datetime},{key:"lastYear",value:"lastYear",label:r("Last year"),disabled:n,operators:datetime},{key:"thisYear",value:"thisYear",label:r("This year"),disabled:n,operators:datetime},{key:"nextYear",value:"nextYear",label:r("Next year"),disabled:n,operators:datetime},{key:"last7Days",value:"last7Days",label:r("Last 7 days"),disabled:n,operators:datetime},{key:"next7Days",value:"next7Days",label:r("Next 7 days"),disabled:n,operators:datetime},{key:"last30Days",value:"last30Days",label:r("Last 30 days"),disabled:n,operators:datetime},{key:"next30Days",value:"next30Days",label:r("Next 30 days"),disabled:n,operators:datetime},{key:"last90Days",value:"last90Days",label:r("Last 90 days"),disabled:n,operators:datetime},{key:"next90Days",value:"next90Days",label:r("Next 90 days"),disabled:n,operators:datetime}],l=(0,import_react2.useMemo)(()=>({label:r("Date variables"),value:"$nDate",key:"$nDate",disabled:a.every(c=>c.disabled),children:a}),[t==null?void 0:t["x-component"]]);return t?l:null},useDatetimeVariableContext=()=>{const{utc:e=!0}=useDatePickerContext();return{datetimeCtx:(0,import_react2.useMemo)(()=>getDateRanges({shouldBeString:!0,utc:e}),[e])}},useDatetimeVariable=({operator:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{getOperator:n}=useOperators(),{collectionField:a}=useFlag(),l=(0,import_react2.useMemo)(()=>{const u=(e==null?void 0:e.value)||n(r==null?void 0:r.name)||"",m=o?!1:!["DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"])&&!u,d=[{key:"now",value:"now",label:i("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||u==="$dateBetween",operators:datetime},{key:"dayBeforeYesterday",value:"dayBeforeYesterday",label:i("Day before yesterday"),disabled:m,operators:datetime},{key:"yesterday",value:"yesterday",label:i("Yesterday"),disabled:m,operators:datetime},{key:"today",value:"today",label:i("Today"),disabled:m,operators:datetime},{key:"tomorrow",value:"tomorrow",label:i("Tomorrow"),disabled:m,operators:datetime},{key:"lastIsoWeek",value:"lastIsoWeek",label:i("Last week"),disabled:m,operators:datetime},{key:"thisIsoWeek",value:"thisIsoWeek",label:i("This week"),disabled:m,operators:datetime},{key:"nextIsoWeek",value:"nextIsoWeek",label:i("Next week"),disabled:m,operators:datetime},{key:"lastMonth",value:"lastMonth",label:i("Last month"),disabled:m,operators:datetime},{key:"thisMonth",value:"thisMonth",label:i("This month"),disabled:m,operators:datetime},{key:"nextMonth",value:"nextMonth",label:i("Next month"),disabled:m,operators:datetime},{key:"lastQuarter",value:"lastQuarter",label:i("Last quarter"),disabled:m,operators:datetime},{key:"thisQuarter",value:"thisQuarter",label:i("This quarter"),disabled:m,operators:datetime},{key:"nextQuarter",value:"nextQuarter",label:i("Next quarter"),disabled:m,operators:datetime},{key:"lastYear",value:"lastYear",label:i("Last year"),disabled:m,operators:datetime},{key:"thisYear",value:"thisYear",label:i("This year"),disabled:m,operators:datetime},{key:"nextYear",value:"nextYear",label:i("Next year"),disabled:m,operators:datetime},{key:"last7Days",value:"last7Days",label:i("Last 7 days"),disabled:m,operators:datetime},{key:"next7Days",value:"next7Days",label:i("Next 7 days"),disabled:m,operators:datetime},{key:"last30Days",value:"last30Days",label:i("Last 30 days"),disabled:m,operators:datetime},{key:"next30Days",value:"next30Days",label:i("Next 30 days"),disabled:m,operators:datetime},{key:"last90Days",value:"last90Days",label:i("Last 90 days"),disabled:m,operators:datetime},{key:"next90Days",value:"next90Days",label:i("Next 90 days"),disabled:m,operators:datetime}];return{label:i(a?"Date variables(Deprecated)":"Date variables"),value:"$nDate",key:"$nDate",disabled:d.every(p=>p.disabled)||a,children:d}},[t==null?void 0:t["x-component"],r]),{datetimeCtx:c}=useDatetimeVariableContext();return{datetimeSettings:l,datetimeCtx:c}},useExactDateVariableContext=()=>({exactDateTimeCtx:(0,import_react2.useMemo)(()=>getDateExact(),[])}),useExactDateVariable=({schema:e,targetFieldSchema:t}={})=>{var o;const{collectionField:r}=useFlag(),{dateOnly:i,utc:n,accuracy:a,picker:l}=((o=r==null?void 0:r.uiSchema)==null?void 0:o["x-component-props"])||{},{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react2.useMemo)(()=>{const d=h=>{if(!l){if(h==="now")return"nowLocal";if(h==="today")return"todayDate";if(h==="yesterday")return"yesterdayDate";if(h==="tomorrow")return"tomorrowDate"}return i?h==="now"?null:`${h}Date`:`${h}${n||a?"Utc":"Local"}`},p=[{key:"now",value:d("now"),label:c("Now"),operators:datetime},{key:"today",value:d("today"),label:c("Today"),operators:datetime},{key:"yesterday",value:d("yesterday"),label:c("Yesterday"),operators:datetime},{key:"tomorrow",value:d("tomorrow"),label:c("Tomorrow"),operators:datetime}].filter(h=>h.value);return{label:c("Date variables"),value:"$nExactDate",key:"$nExactDate",children:p}},[e==null?void 0:e["x-component"],t]),{exactDateTimeCtx:m}=useExactDateVariableContext();return{exactDateTimeSettings:u,exactDateTimeCtx:m,shouldDisplayExactDate:!!r}},useCurrentFormContext=({form:e}={})=>{const{form:t}=useFormBlockContext(),{isVariableParsedInOtherContext:o}=useFlag(),{name:r}=(useBlockContext==null?void 0:useBlockContext())||{},i=e||t;return{currentFormCtx:i==null?void 0:i.values,shouldDisplayCurrentForm:["form","filter-form"].includes(r)&&i&&!i.readPretty&&!o}},useCurrentFormVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r,form:i}={})=>{const{currentFormCtx:n,shouldDisplayCurrentForm:a}=useCurrentFormContext({form:i}),{t:l}=(0,import_react_i18next.useTranslation)(),{collectionName:c}=useFormBlockContext(),u=useCollection(),m=useDataSource();return{currentFormSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nForm",title:l("Current form"),collectionName:c||(u==null?void 0:u.name),noDisabled:o,dataSource:m==null?void 0:m.key,returnFields:(d,p)=>d}),currentFormCtx:n,shouldDisplayCurrentForm:a}},useCurrentObjectContext=()=>{const{isInSubForm:e,isInSubTable:t}=useFlag()||{},{formValue:o,collection:r}=useSubFormValue();return{shouldDisplayCurrentObject:e||t,currentObjectCtx:o,collectionOfCurrentObject:r}},useCurrentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const i=useCollection(),{t:n}=(0,import_react_i18next.useTranslation)(),{shouldDisplayCurrentObject:a,currentObjectCtx:l,collectionOfCurrentObject:c}=useCurrentObjectContext(),u=useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$iteration",title:n("Current object"),collectionName:(c==null?void 0:c.name)||(i==null?void 0:i.name),noDisabled:o,dataSource:i==null?void 0:i.dataSource,returnFields:(m,d)=>m});return{shouldDisplayCurrentObject:a,currentObjectCtx:l,currentObjectSettings:u}},useParentObjectContext=()=>{const{parent:e}=useSubFormValue(),{value:t,collection:o}=e||{},{isInSubForm:r,isInSubTable:i}=useFlag()||{};return{shouldDisplayParentObject:(r||i)&&!!o,parentObjectCtx:t,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource}},useParentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l,dataSource:c}=useParentObjectContext();return{parentObjectSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nParentIteration",title:i("Parent object"),collectionName:l,noDisabled:o,dataSource:c,returnFields:(u,m)=>u}),shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l}},useParentPopupVariableContext=()=>{const{value:e,title:t,collection:o}=useParentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{parentPopupRecordCtx:e,shouldDisplayParentPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},useParentPopupVariable=(e={})=>{const{parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=useParentPopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},ParentCollectionContext=(0,import_react2.createContext)(null);ParentCollectionContext.displayName="ParentCollectionContext";const ParentCollectionProvider=e=>{const t=useCollection();return(0,import_jsx_runtime.jsx)(ParentCollectionContext.Provider,{value:t,children:e.children})},useParentCollection=()=>(0,import_react2.useContext)(ParentCollectionContext),AssociationProvider=e=>{const{name:t,children:o}=e,r=useCollectionManager().getCollectionName(t);return r?(0,import_jsx_runtime.jsx)(CollectionProvider,{name:String(t).split(".")[0],children:(0,import_jsx_runtime.jsx)(ParentCollectionProvider,{children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:r,children:o})})})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Collection",name:t})},useAssociationName=()=>{const e=useCollectionField();return e!=null&&e.target?`${e.collectionName}.${e.name}`:null},useCurrentParentRecordContext=()=>{var e,t;const o=useCollectionRecord(),{name:r,dataSource:i}=useParentCollection()||{},n=useCollection(),{isInSubForm:a,isInSubTable:l}=useFlag()||{},c=r?i:n==null?void 0:n.dataSource,u=useCollectionField();return{currentParentRecordCtx:((e=o==null?void 0:o.parentRecord)==null?void 0:e.data)||(o==null?void 0:o.data),shouldDisplayCurrentParentRecord:!!((t=o==null?void 0:o.parentRecord)!=null&&t.data)&&!a&&!l&&u,collectionName:r||(n==null?void 0:n.name),dataSource:c}},useCurrentParentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}=useCurrentParentRecordContext();return{currentParentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentRecord",title:t("Parent record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:n}),currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}},usePopupVariableContext=()=>{const{value:e,title:t,collection:o}=useCurrentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{popupRecordCtx:e,shouldDisplayPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},usePopupVariable=(e={})=>{const{popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=usePopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},useRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:n("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0,operators:string})},useCurrentRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0}={})=>{var n,a,l;const{t:c}=(0,import_react_i18next.useTranslation)(),u=useAPIClient(),m=useCompile(),{data:d}=useCurrentUserContext()||{},p=(((n=d==null?void 0:d.data)==null?void 0:n.roles)||[]).map(({name:h,title:g})=>({name:h,title:m(g)}));return{currentRoleSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:c("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0,operators:string}),currentRoleCtx:((a=u.auth)==null?void 0:a.role)==="__union__"?p.map(h=>h.name):(l=u.auth)==null?void 0:l.role}},getURLSearchParams=e=>(e.startsWith("?")&&(e=e.slice(1)),import_qs.default.parse(e)||{}),getURLSearchParamsChildren=e=>Object.keys(e).map(t=>({label:t,value:t,key:t,isLeaf:!0,operators:string})),useURLSearchParamsCtx=e=>{const[t]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({}));return(0,import_react2.useMemo)(()=>{const o=getURLSearchParams(e);return(0,import_reactive.untracked)(()=>{Object.assign(t,o),Object.keys(t).forEach(r=>{o[r]===void 0&&delete t[r]})}),t},[t,e])},useURLSearchParamsVariable=(e={})=>{const t="$nURLSearchParams",{t:o}=(0,import_react_i18next.useTranslation)(),r=useLocationSearch(),{isVariableParsedInOtherContext:i}=useFlag(),n=useURLSearchParamsCtx(r),a=(0,import_react2.useMemo)(()=>import_lodash.default.isEmpty(n),[n]),l=(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(o("URL search params"),a?o("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."):""),value:t,key:t,isLeaf:!1,disabled:a,loadChildren:(c,u)=>z(void 0,null,function*(){const m=u?{[u]:void 0}:{};c.children=getURLSearchParamsChildren(x(x({},m),n))})}),[a,o,n]);return{name:t,urlSearchParamsSettings:l,urlSearchParamsCtx:n,defaultValue:void 0,shouldDisplay:!i}},useVariableOptions=({collectionField:e,form:t,uiSchema:o,operator:r,noDisabled:i,targetFieldSchema:n,record:a})=>{var l,c;const u=useApp(),m=((l=u==null?void 0:u.getVariables)==null?void 0:l.call(u).map(E=>{const{visible:O=!0,option:V}=E.useOption();return{visible:O,option:V}}).filter(({visible:E})=>E))||[],{filterVariables:d=()=>!0}=useVariables$1()||{},p=(c=a==null?void 0:a.__parent)==null?void 0:c.__collectionName,{currentUserSettings:h}=useCurrentUserVariable({maxDepth:3,uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentRoleSettings:g}=useCurrentRoleVariable({uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{apiTokenSettings:_}=useAPITokenVariable({noDisabled:i}),{datetimeSettings:f}=useDatetimeVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{exactDateTimeSettings:v,shouldDisplayExactDate:C}=useExactDateVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{currentFormSettings:S,shouldDisplayCurrentForm:b}=useCurrentFormVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n,form:t}),{currentObjectSettings:y,shouldDisplayCurrentObject:F}=useCurrentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{parentObjectSettings:j,shouldDisplayParentObject:k}=useParentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{currentRecordSettings:T,shouldDisplayCurrentRecord:M}=useCurrentRecordVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:w,shouldDisplayPopupRecord:L}=usePopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:D,shouldDisplayParentPopupRecord:R}=useParentPopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentParentRecordSettings:N,shouldDisplayCurrentParentRecord:B}=useCurrentParentRecordVariable({schema:o,collectionName:p,collectionField:e,noDisabled:i,targetFieldSchema:n}),{urlSearchParamsSettings:I,shouldDisplay:$}=useURLSearchParamsVariable();return[...(0,import_react2.useMemo)(()=>[h,g,_,f,C&&v,b&&S,F&&y,k&&j,M&&T,B&&N,L&&w,R&&D,$&&I].filter(Boolean).filter(d),[h,g,_,f,b,S,F,y,k,j,M,T,B,N,L,w,$,I]),...m.map(({option:E})=>E)]},VariableInput=e=>{const{value:t,onChange:o,renderSchemaComponent:r,style:i,schema:n,className:a,contextCollectionName:l,collectionField:c,shouldChange:u,form:m,record:d,returnScope:p=import_lodash.default.identity,targetFieldSchema:h,noDisabled:g,hideVariableButton:_,setScopes:f,nullable:v=!0,constantAbel:C=!0,changeOnSelect:S=!0}=e,{name:b}=useBlockCollection(),y=useVariableScope(),{operator:F,schema:j=c==null?void 0:c.uiSchema}=useValues$2(),k=useVariableOptions({collectionField:c,form:m,record:d,operator:F,uiSchema:j,targetFieldSchema:h,noDisabled:g}),T=useContextAssociationFields({schema:n,maxDepth:2,contextCollectionName:l,collectionField:c}),{compatOldVariables:M}=useCompatOldVariables({collectionField:c,uiSchema:j,targetFieldSchema:h,blockCollectionName:b});l&&k.every(D=>D.value!==T.value)&&k.push(T);const w=(0,import_react2.useCallback)((D,R)=>{if(!u)return o(D,R);setTimeout(()=>z(void 0,null,function*(){(yield u(D,R))&&o(D,R)}))},[o,u]),L=p(M(import_lodash.default.isEmpty(y)?k:y,{value:t}));return(0,import_react2.useEffect)(()=>{f==null||f(L)},[t,y]),(0,import_jsx_runtime.jsx)(Variable.Input,{className:a,value:t,onChange:w,scope:L,style:i,changeOnSelect:S,hideVariableButton:_,nullable:v,constantAbel:C,children:(0,import_jsx_runtime.jsx)(r,{value:t,onChange:o})})},getShouldChange=({collectionField:e,variables:t,localVariables:o,getAllCollectionsInheritChain:r})=>(e&&r(e.target),(i,n)=>z(void 0,null,function*(){return!0}));function useCompatOldVariables(e){const{uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i,blockCollectionName:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),{currentUserSettings:l}=useCurrentUserVariable({maxDepth:1,uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i}),{currentRecordSettings:c}=useCurrentRecordVariable({schema:t,collectionField:o,noDisabled:r,targetFieldSchema:i});return{compatOldVariables:(0,import_react2.useCallback)((u,{value:m})=>{if(!isVariable$1(m))return u;u=[...u];const d={value:"$system",key:"$system",label:a("System variables"),isLeaf:!1,children:[{value:"now",key:"now",label:a("Current time"),isLeaf:!0,depth:1}],depth:0},p={value:"currentTime",label:a("Current time"),children:null};if(m.includes("$system")&&u.push(d),m.includes(`${n}.`)){const h=u.find(g=>g.value==="$nForm"||g.value==="$nRecord");h&&(h.value=n)}if(m.includes("$form")){const h=u.find(g=>g.value==="$nForm");h&&(h.value="$form")}if(m.includes("currentUser")){const h=u.find(g=>g.value==="$user");h?h.value="currentUser":u.unshift(P(x({},l),{value:"currentUser"}))}if(m.includes("currentRecord")){const h=u.find(g=>g.value==="$nRecord");h?h.value="currentRecord":u.unshift(P(x({},c),{value:"currentRecord"}))}if(m.includes("currentTime")&&u.push(p),m.includes("$date")){const h=u.find(g=>g.value==="$nDate");h&&(h.value="$date")}return u},[n])}}const SchemaSettingsDataScope=function(e){const{t}=(0,import_react_i18next.useTranslation)(),{getFields:o}=useCollectionFilterOptionsV2(e.collectionName),r=useRecord(),{form:i}=useFormBlockContext(),n=useVariables$1(),a=useLocalVariables$1(),{getAllCollectionsInheritChain:l}=useCollectionManager_deprecated(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},m=useBlockContext==null?void 0:useBlockContext(),d=(0,import_react2.useCallback)(h=>(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:i,record:r,noDisabled:!0,shouldChange:getShouldChange({collectionField:h.collectionField,variables:n,localVariables:a,getAllCollectionsInheritChain:l})}))}),[i,l,a,r,n]),p=()=>({type:"object",title:t("Set the data scope"),properties:{filter:{enum:e.collectionFilterOption||o(),"x-decorator":h=>(0,import_jsx_runtime.jsx)(BaseVariableProvider,P(x({},h),{children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:c,isInSubTable:u,children:(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:{name:i?"form":m==null?void 0:m.name},children:h.children})})})),"x-decorator-props":{isDisabled},"x-component":"Filter","x-component-props":{collectionName:e.collectionName,dynamicComponent:e.dynamicComponent||d}}}});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:t("Set the data scope"),initialValues:{filter:e.defaultFilter},schema:p,onSubmit:e.onSubmit,noRecord:e.noRecord})};function isDisabled(e){var t,o;const{option:r,collectionField:i,uiSchema:n}=e;return!n||!i?!0:i.interface==="json"||r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const SchemaSettingsDateFormat=function(e){var t,o,r,i,n,a,l,c,u,m,d,p;const{fieldSchema:h}=e,g=(0,import_react.useField)(),{dn:_}=useDesignable(),{t:f}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=v(h==null?void 0:h["x-collection-field"])||{},S=(t=h==null?void 0:h["x-component-props"])==null?void 0:t.showTime,b=((o=h==null?void 0:h["x-component-props"])==null?void 0:o.dateFormat)||((i=(r=C==null?void 0:C.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.dateFormat)||"YYYY-MM-DD",y=((n=h==null?void 0:h["x-component-props"])==null?void 0:n.timeFormat)||((l=(a=C==null?void 0:C.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.timeFormat)||"HH:mm:ss",F=((c=h==null?void 0:h["x-component-props"])==null?void 0:c.picker)||((m=(u=C==null?void 0:C.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.picker)||"date",j=h["x-read-pretty"]||g.readOnly||g.readPretty;return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:f("Date display format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{picker:{type:"string",title:'{{t("Picker")}}',"x-decorator":"FormItem","x-component":"Radio.Group",default:F,description:!j&&'{{ t("Switching the picker, the value and default value will be cleared") }}',enum:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]},dateFormat:{type:"string",title:'{{t("Date format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{},"x-component-props":{className:import_css.css`
|
|
274
|
+
`,TableColumnActionBar$1=(0,import_react.observer)(e=>{const t=useDesigner(),{isInSubTable:o}=useFlag()||{},{designable:r}=useSchemaComponentContext(),{token:i}=useToken$1(),{name:n}=(useBlockContext==null?void 0:useBlockContext())||{};return!r||t.isNullComponent?e.children:(0,import_jsx_runtime.jsx)(SortableItem,{className:designerCss$4({margin:`-${i.margin}px -${i.marginXS}px`,padding:`${i.margin}px ${i.marginXS}px`}),children:(0,import_jsx_runtime.jsxs)(BlockContext.Provider,{value:{name:o?n:"taleColumn"},children:[(0,import_jsx_runtime.jsx)(t,{}),e.children]})})},{displayName:"TableColumnActionBar"}),useColumnSchema$1=()=>{const{getField:e}=useCollection_deprecated(),t=useCompile(),o=(0,import_react.useFieldSchema)(),{getCollectionJoinField:r}=useCollectionManager_deprecated(),i=o==null?void 0:o.reduceProperties((a,l)=>isCollectionFieldComponent(l)?l:a,null);if(!i)return{};const n=e(i.name)||r(i==null?void 0:i["x-collection-field"]);return{columnSchema:o,fieldSchema:i,collectionField:n,uiSchema:t(n==null?void 0:n.uiSchema)}},useTableFieldInstanceList=()=>{const e=(0,import_react.useField)(),{fieldSchema:t}=useColumnSchema$1(),o=(0,import_react2.useMemo)(()=>{var r,i;if(!t||!e)return[];const n=(i=e.path)==null?void 0:i.splice(((r=e.path)==null?void 0:r.length)-1,1);return e.form.query(`${n.concat("*."+t.name)}`).map()},[e,t]);return t?o:[]},TableColumnDecorator$1=e=>{var t,o;const r=useDesigner(),i=(0,import_react.useField)(),{fieldSchema:n,uiSchema:a,collectionField:l}=useColumnSchema$1(),{designable:c}=useSchemaComponentContext(),u=useCompile(),{isInSubTable:m}=useFlag()||{},{token:d}=useToken$1(),{name:p}=(useBlockContext==null?void 0:useBlockContext())||{};let h=n==null?void 0:n.required;if(m){const g=(o=i.path)==null?void 0:o.splice(((t=i.path)==null?void 0:t.length)-1,1),_=i.form.query(`${g.concat("*."+n.name)}`).take();h=typeof(_==null?void 0:_.required)=="boolean"?_.required:n==null?void 0:n.required}return(0,import_react2.useEffect)(()=>{i.title||n&&a!=null&&a.title&&(i.title=a==null?void 0:a.title)},[a==null?void 0:a.title]),!c||r.isNullComponent?(0,import_jsx_runtime.jsxs)(CollectionFieldContext.Provider,{value:l,children:[(0,import_jsx_runtime.jsx)(r,{fieldSchema:n,uiSchema:a,collectionField:l}),(0,import_jsx_runtime.jsxs)("span",{role:"button",children:[h&&(0,import_jsx_runtime.jsx)("span",{className:"ant-formily-item-asterisk",children:"*"}),(0,import_jsx_runtime.jsx)("span",{children:(i==null?void 0:i.title)||u(a==null?void 0:a.title)})]})]}):(0,import_jsx_runtime.jsx)(SortableItem,{className:designerCss$4({margin:`-${d.margin}px -${d.marginXS}px`,padding:`${d.margin}px ${d.marginXS}px`}),children:(0,import_jsx_runtime.jsx)(CollectionFieldContext.Provider,{value:l,children:(0,import_jsx_runtime.jsxs)(BlockContext.Provider,{value:{name:m?p:"taleColumn"},children:[(0,import_jsx_runtime.jsx)(r,{fieldSchema:n,uiSchema:a,collectionField:l}),(0,import_jsx_runtime.jsxs)("span",{role:"button",children:[h&&(0,import_jsx_runtime.jsx)("span",{className:"ant-formily-item-asterisk",children:"*"}),(0,import_jsx_runtime.jsx)("span",{children:(i==null?void 0:i.title)||u(a==null?void 0:a.title)})]})]})})})},SchemaToolbarContext=(0,import_react2.createContext)({});SchemaToolbarContext.displayName="SchemaToolbarContext";const SchemaToolbarProvider=e=>{const t=e,{children:o}=t,r=Y(t,["children"]);return(0,import_jsx_runtime.jsx)(SchemaToolbarContext.Provider,{value:r,children:o})};function useSchemaToolbar(){return(0,import_react2.useContext)(SchemaToolbarContext)}const SchemaToolbarErrorFallback=e=>{const{designable:t}=useDesignable();return t?(0,import_jsx_runtime.jsx)(ErrorFallback.Modal,P(x({},e),{children:(0,import_jsx_runtime.jsx)(SchemaToolbar,{title:`render toolbar error: ${e.error.message}`})})):null},useSchemaToolbarRender=e=>{const{designable:t}=useDesignable(),o=(0,import_react2.useMemo)(()=>{if(e["x-designer"]||e["x-toolbar"])return e["x-designer"]||e["x-toolbar"];if(e["x-settings"])return SchemaToolbar},[e]),r=useComponent(o);return{render(i){return!t||!r?null:(0,import_jsx_runtime.jsx)(import_react_error_boundary.ErrorBoundary,{FallbackComponent:SchemaToolbarErrorFallback,onError:console.error,children:(0,import_jsx_runtime.jsx)(r,x(x({},e["x-toolbar-props"]),i))})},exists:!!r}},generalSettingsItems=[{name:"editFieldTitle",type:"modal",useComponentProps(){var e;const{t}=(0,import_react_i18next.useTranslation)(),{dn:o}=useDesignable(),r=useCompile(),i=(0,import_react.useField)(),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:i==null?void 0:i.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;i.title=r(d),n.title=u,o.emit("patch",{schema:{"x-uid":n["x-uid"],title:n.title}}),o.refresh()}}},useVisible(){const e=(0,import_react.useFieldSchema)(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),{getField:o}=useCollection_deprecated();return!!(o(e.name)||t(e["x-collection-field"]))}},{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()}}},useVisible(){return!(0,import_react.useField)().readPretty}},{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()}}},useVisible(){return(0,import_react.useField)().readPretty}},{name:"required",type:"switch",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:o.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()}}},useVisible(){const e=(0,import_react.useField)(),t=(0,import_react.useFieldSchema)(),{required:o=!0}=useSchemaToolbar();return!e.readPretty&&t["x-component"]!=="FormField"&&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})}}],RemoveConditionContext$1=(0,import_react2.createContext)(null);RemoveConditionContext$1.displayName="RemoveConditionContext";const FilterContext$3=(0,import_react2.createContext)(null);FilterContext$3.displayName="FilterContext";const FilterLogicContext$1=(0,import_react2.createContext)(null);FilterLogicContext$1.displayName="FilterLogicContext";const findOption$2=(e=[],t)=>{var o;let r=t,i;return(o=e==null?void 0:e.forEach)==null||o.call(e,n=>{const a=r.find(l=>l.name===n);a&&(i=a),r=(a==null?void 0:a.children)||[]}),i},useValues$2=()=>{const{name:e}=useCollection_deprecated(),{getCollectionJoinField:t}=useCollectionManager_deprecated(),o=(0,import_react.useField)(),{options:r,collectionName:i,field:n}=(0,import_react2.useContext)(FilterContext$3)||{},a=(0,import_flat.default)(o.value||{}),l=Object.keys(a).shift()||"",c=(0,import_react2.useMemo)(()=>{const[h=""]=l.split(".$");return t(`${i||e}.${h}`)},[e,l]),u=(0,import_react2.useCallback)(()=>{var h,g,_,f;o.value=o.data.dataIndex?import_flat.default.unflatten({[`${(h=o.data.dataIndex)==null?void 0:h.join(".")}.${(_=(g=o.data)==null?void 0:g.operator)==null?void 0:_.value}`]:(f=o.data)==null?void 0:f.value}):{}},[o]);(0,import_react2.useEffect)(()=>{var h;if(o.data=o.data||{},!l||!r)return;const[g="",_=""]=l.split(".$"),[f]=_.split(".",2),v=g.split("."),C=findOption$2(v,r),S=C==null?void 0:C.operators,b=(h=S==null?void 0:S.find)==null?void 0:h.call(S,y=>y.value===`$${f}`);if(o.data.dataIndex=v,(v==null?void 0:v.length)>1){const y=v.concat();y.pop();const F=t(`${e}.${y.join(".")}`);n.collectionName=F==null?void 0:F.target}else n.collectionName=null;o.data.operators=S,o.data.operator=b,o.data.schema=(0,import_shared.merge)(C==null?void 0:C.schema,b==null?void 0:b.schema),o.data.value=(0,import_get.default)((0,import_flat.unflatten)(o.value),`${g}.$${f}`)},[o.path]);const m=(0,import_react2.useCallback)(h=>{var g;const _=findOption$2(h,r),f=(g=_==null?void 0:_.operators)==null?void 0:g[0];o.data=o.data||{},o.data.operators=_==null?void 0:_.operators,o.data.operator=f;const v=(0,import_cloneDeep.default)(_==null?void 0:_.schema),C=(0,import_cloneDeep.default)(f==null?void 0:f.schema);if(o.data.schema=(0,import_shared.merge)(v,C),o.data.dataIndex=h,(h==null?void 0:h.length)>1){const S=h.concat();S.pop();const b=t(`${e}.${S.join(".")}`);n.collectionName=b==null?void 0:b.target}else n.collectionName=null;o.data.value=f!=null&&f.noValue?f.default||!0:void 0,u()},[u,o,r]),d=(0,import_react2.useCallback)(h=>{var g,_,f;const v=(f=(_=(g=o.data)==null?void 0:g.operators)==null?void 0:_.find)==null?void 0:f.call(_,y=>y.value===h);o.data.operator=v;const C=findOption$2(o.data.dataIndex,r),S=(0,import_cloneDeep.default)(C==null?void 0:C.schema),b=(0,import_cloneDeep.default)(v==null?void 0:v.schema);o.data.schema=(0,import_shared.merge)(S,b),o.data.value=v.noValue?v.default||!0:void 0,u()},[u,o.data,r]),p=(0,import_react2.useCallback)(h=>{o.data.value=h,u()},[u,o.data]);return P(x({fields:r},(o==null?void 0:o.data)||{}),{collectionField:c,setDataIndex:m,setOperator:d,setValue:p})},useBlockCollection=()=>{const e=useDataBlockProps();return{name:(e==null?void 0:e.collection)||(e==null?void 0:e.resource)}},useIsSameOrChildCollection=()=>{const{getChildrenCollections:e}=useCollectionManager_deprecated();return(t,o)=>{if(t===o)return!0;const r=e(o);return r==null?void 0:r.some(i=>i.name===t)}},getChildren$2=(e,{schema:t,depth:o,maxDepth:r,loadChildren:i,compile:n},a,l)=>e.map(c=>{const u=!l(c.target,a==null?void 0:a.target);return c.target?o>=r?null:{key:c.name,value:c.name,name:c.name,label:n(c.title),title:n(c.title),disabled:u,isLeaf:!0,field:c,depth:o,loadChildren:i}:{key:c.name,value:c.name,name:c.name,label:n(c.title),title:n(c.title),disabled:u,isLeaf:!0,depth:o}}).filter(Boolean),useContextAssociationFields=({schema:e,maxDepth:t=3,contextCollectionName:o,collectionField:r})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),n=useCompile(),a=useGetFilterOptions(),l=useIsSameOrChildCollection(),c=u=>{var m;if(!((m=u.field)!=null&&m.target))return new Promise(p=>{(0,import_client.error)("Must be set field target"),u.children=[],p(void 0)});const d=u.field.target;return new Promise(p=>{setTimeout(()=>{const h=getChildren$2(a(d).filter(g=>r?["hasOne","hasMany","belongsTo","belongsToMany","belongsToArray"].includes(g.type):!0),{schema:e,depth:u.depth+1,maxDepth:t,loadChildren:c,compile:n},r,l)||[];if(h.length===0){u.disabled=!0,u.children=[],p();return}u.children=h,p()},5)})};return(0,import_react2.useMemo)(()=>({label:i("Table selected records"),value:"$context",key:"$context",isLeaf:!1,field:{target:o},depth:0,loadChildren:c}),[e==null?void 0:e["x-component"]])},useLabelUiSchemaV2=()=>{const e=useCollectionManager();return(t,o)=>{if(!t)return;const r=e==null?void 0:e.getCollectionField(`${t}.${o}`);return r==null?void 0:r.uiSchema}},useLabelUiSchema$1=(e,t)=>{const o=useCollectionManager();if(!e)return;const r=o==null?void 0:o.getCollectionField(`${e}.${t}`);return r==null?void 0:r.uiSchema},getDatePickerLabels$1=e=>{const t=(0,import_client.getDefaultFormat)(e),o=(0,import_client.str2moment)(e.value,e),r=o&&o.isValid()?o.format(t):e.value;return(0,import_shared.isArr)(r)?r.join("~"):r},toArr$2=e=>e?Array.isArray(e)?e:[e]:[],getLabelFormatValue$1=(e,t,o=!1)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t){const i=toArr$2(t).map(n=>{const a=r.find(l=>l.value===n);return o?import_react2.default.createElement(import_antd.Tag,{color:a==null?void 0:a.color},a==null?void 0:a.label):a==null?void 0:a.label});return o?i:i.join(", ")}switch(e==null?void 0:e["x-component"]){case"DatePicker":return getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t}));default:return t}},getTabFormatValue=(e,t,o)=>{const r=e==null?void 0:e.enum;if(Array.isArray(r)&&t)return toArr$2(t).map(i=>{const n=r.find(a=>a.value===i);return import_react2.default.createElement(import_antd.Tag,{color:o||(n==null?void 0:n.color)},n==null?void 0:n.label)});switch(e==null?void 0:e["x-component"]){case"DatePicker":return import_react2.default.createElement(import_antd.Tag,{color:o},getDatePickerLabels$1(P(x({},e==null?void 0:e["x-component-props"]),{value:t})));default:return import_react2.default.createElement(import_antd.Tag,{color:o},t)}};function flatData$2(e){const t=[];for(let o=0;o<e.length;o++){const r=e[o].children;Array.isArray(r)&&t.push(...flatData$2(r)),t.push(x({},e[o]))}return t}function isSubMode(e){var t,o;const r=((t=e["x-component-props"])==null?void 0:t.mode)||((o=e.componentProps)==null?void 0:o.mode);return["Nester","SubTable","PopoverNester"].includes(r)}const useSpecialCase=()=>{const e=(0,import_react.useForm)(),t=(0,import_react.useFieldSchema)(),{getField:o}=useCollection_deprecated(),{getCollectionField:r}=useCollectionManager_deprecated(),i=(0,import_react2.useMemo)(()=>o(t.name),[t.name,o]),n=(0,import_react2.useCallback)(()=>isSpecialCaseField({collectionField:i,fieldSchema:t,getCollectionField:r}),[i,t,r]),a=(0,import_react2.useCallback)(l=>{const c=getParentFieldSchema(t);if(c){const u=e.query(c.name).take();if(u){const m=import_lodash.default.isEmpty(l)?[]:import_lodash.default.map(transformValue(l,{field:u,subFieldSchema:t}),d=>markRecordAsNew(d));isSubset(m,u.initialValue)||u.setInitialValue(m)}}},[t,e]);return{isSpecialCase:n,setDefaultValue:a}};function getParentFieldSchema(e){for(;e!=null&&e.parent;)if(e=e.parent,isSubMode(e))return e;return e}function isSpecialCaseField({collectionField:e,fieldSchema:t,getCollectionField:o}){if(!t.default||!t.default.includes("$context"))return!1;if(e&&["hasOne","belongsTo"].includes(e.type)&&t){const r=getParentFieldSchema(t);if(r&&r["x-collection-field"]){const i=o(r["x-collection-field"]);if(["hasMany","belongsToMany"].includes(i==null?void 0:i.type))return!0}}return!1}function transformValue(e,t){const{field:o,subFieldSchema:r}=t,i=o.value;let n=null;return Array.isArray(e)?n=e.map(a=>({[r.name]:a})):n=[{[r.name]:e}],import_lodash.default.assignWith([...i],n,(a,l)=>(!a&&l&&(l.__notFromDatabase=!0),import_lodash.default.assign(x({},i[0]),l)))}const useSubTableSpecialCase=({rootField:e,rootSchema:t})=>{const{hasUsedVariable:o}=useHasUsedVariable();(0,import_react2.useEffect)(()=>{if(import_lodash.default.isEmpty(e.value)&&o("$context",t)){const r=e.value,i=[markRecordAsNew({})];e.value=i,setTimeout(()=>{JSON.stringify(e.value)===JSON.stringify(i)&&(e.value=r)})}},[e,t,o])};function isSubset(e,t){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){const r=e[o],i=t[o];if(!import_lodash.default.isMatch(import_lodash.default.omitBy(i,import_lodash.default.isNil),import_lodash.default.omitBy(r,import_lodash.default.isNil)))return!1}return!0}const checkSchema=(e,t)=>{if(e["x-decorator"]==="FormItem"){const r=e.default;if(r&&typeof r=="string"&&isVariable$1(r)&&r.includes(t))return!0}let o=!1;return e.mapProperties(r=>{checkSchema(r,t)&&(o=!0)}),o};function useHasUsedVariable(){return{hasUsedVariable:(0,import_react2.useCallback)((e,t)=>checkSchema(t,e),[])}}const BaseVariableContext=import_react2.default.createContext(null),BaseVariableProvider=e=>(0,import_jsx_runtime.jsx)(BaseVariableContext.Provider,{value:e,children:e.children}),getChildren$1=(e,{collectionField:t,uiSchema:o,depth:r,maxDepth:i,noDisabled:n,loadChildren:a,compile:l,isDisabled:c,targetFieldSchema:u,getCollectionField:m,deprecated:d})=>e.map(p=>!p.target||p.target==="chinaRegions"||p.interface==="attachmentURL"?{key:p.name,value:p.name,label:l(p.title),disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),isLeaf:!0,depth:r,operators:p==null?void 0:p.operators,schema:p==null?void 0:p.schema}:r>=i?null:{key:p.name,value:p.name,label:l(p.title),isLeaf:!1,field:p,depth:r,disabled:d||(n?!1:c({option:p,collectionField:t,uiSchema:o,targetFieldSchema:u,getCollectionField:m})),loadChildren:a}).filter(Boolean),getLabelWithTooltip=(e,t)=>t?(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{placement:"left",title:t,zIndex:9999,children:(0,import_jsx_runtime.jsx)("span",{style:{position:"relative",display:"inline-block",marginLeft:-14,paddingLeft:14,marginRight:-80,paddingRight:80,zIndex:1},children:e})}):e,useBaseVariable=({collectionField:e,uiSchema:t,targetFieldSchema:o,maxDepth:r=3,name:i,title:n,collectionName:a,noChildren:l=!1,noDisabled:c=!0,dataSource:u,returnFields:m=g=>g,deprecated:d,tooltip:p,operators:h=[]})=>{const g=useCompile(),_=useGetFilterOptions(),{isDisabled:f}=(0,import_react2.useContext)(BaseVariableContext)||{},{isLeftVariable:v}=(0,import_react2.useContext)(FlagContext)||{},C=useCollectionManager(),S=b=>{var y;if(!((y=b.field)!=null&&y.target))return Promise.resolve(void 0);const F=b.field.target;return new Promise(j=>{setTimeout(()=>{var k;const T=(v&&F==="attachments"&&g((k=b.field)==null?void 0:k.children)||getChildren$1(m(_(F,u,!0),b),{collectionField:e,uiSchema:t,targetFieldSchema:o,depth:b.depth+1,maxDepth:r,noDisabled:c,loadChildren:S,compile:g,isDisabled:f||isDisabledDefault,getCollectionField:C.getCollectionField,deprecated:d})||[]).sort((M,w)=>M.isLeaf&&!w.isLeaf?-1:!M.isLeaf&&w.isLeaf?1:0).sort((M,w)=>M.disabled&&!w.disabled?1:!M.disabled&&w.disabled?-1:0);if(T.length===0){b.disabled=!0,b.isLeaf=!0,j();return}b.children=T,j()},5)})};return(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(n,p),value:i,key:i,isLeaf:l,field:{target:a},depth:0,loadChildren:S,children:[],disabled:!!d,deprecated:d,operators:h}),[t==null?void 0:t["x-component"]])};function isDisabledDefault(e){var t,o;const{option:r,collectionField:i,uiSchema:n,targetFieldSchema:a,getCollectionField:l}=e;return!n||!i?!0:i.interface==="json"?!1:!i.target&&["hasMany","belongsToMany"].includes(r.type)?!0:!i.target&&["hasOne","belongsTo"].includes(r.type)||r.target&&isSpecialCaseField({collectionField:i,fieldSchema:a,getCollectionField:l})?!1:["hasOne","belongsTo"].includes(i.type)&&["hasMany","belongsToMany"].includes(r.type)?!0:["hasOne","belongsTo"].includes(i.type)&&["hasOne","belongsTo"].includes(r.type)||["hasMany","belongsToMany"].includes(i.type)&&r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const CurrentRecordContext=(0,import_react2.createContext)(null),CurrentRecordContextProvider=e=>{const t=(0,import_react2.useMemo)(()=>({recordData:e.recordData,collectionName:e.collectionName}),[e.recordData,e.collectionName]);return(0,import_jsx_runtime.jsxs)(CurrentRecordContext.Provider,{value:t,children:[" ",e.children," "]})},useCurrentRecord=()=>(0,import_react2.useContext)(CurrentRecordContext),useCurrentRecordContext=()=>{const e=useCurrentRecord(),{name:t}=useBlockContext()||{},o=useCollection(),r=useCollectionRecordData(),{formRecord:i,collectionName:n}=useFormBlockContext();let a=i!=null&&i.data?n:o==null?void 0:o.name;return a=(e==null?void 0:e.collectionName)||a,{currentRecordCtx:(e==null?void 0:e.recordData)||(i==null?void 0:i.data)||r,shouldDisplayCurrentRecord:!import_lodash.default.isEmpty(import_lodash.default.omit(r,["__collectionName","__parent"]))||!!(i!=null&&i.data)||t==="taleColumn",collectionName:a,blockType:t,dataSource:o==null?void 0:o.dataSource}},useCurrentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i,blockType:n,dataSource:a}=useCurrentRecordContext();return{currentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nRecord",title:t("Current record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,deprecated:n==="form"&&!r,tooltip:n==="form"?t('This variable has been deprecated and can be replaced with "Current form"'):"",dataSource:a}),currentRecordCtx:o,shouldDisplayCurrentRecord:r,collectionName:i}},SettingsMenuProvider=e=>SelectWithTitle,DropdownVisibleContext=(0,import_react2.createContext)(null);DropdownVisibleContext.displayName="DropdownVisibleContext";const CurrentUserContext=(0,import_react2.createContext)(null);CurrentUserContext.displayName="CurrentUserContext";const useCurrentUserContext=()=>(0,import_react2.useContext)(CurrentUserContext),useIsLoggedIn=()=>{var e;const t=(0,import_react2.useContext)(CurrentUserContext);return!!((e=t==null?void 0:t.data)!=null&&e.data)},useCurrentRoles=()=>{var e;const{allowAnonymous:t}=useACLRoleContext(),{data:o}=useCurrentUserContext()||{},r=useCompile();return(0,import_react2.useMemo)(()=>{var i;const n=(((i=o==null?void 0:o.data)==null?void 0:i.roles)||[]).map(({name:a,title:l})=>({name:a,title:r(l)}));return t&&n.push({title:"Anonymous",name:"anonymous"}),n},[t,(e=o==null?void 0:o.data)==null?void 0:e.roles,r])},CurrentUserProvider=e=>{const t=useAPIClient(),o=useRequest(()=>t.request({url:"/auth:check",skipNotify:!0,skipAuth:!0}).then(i=>i==null?void 0:i.data)),{render:r}=useAppSpin();return o.loading?r():(0,import_jsx_runtime.jsx)(CurrentUserContext.Provider,{value:o,children:e.children})},CurrentUserSettingsMenuContext=(0,import_react2.createContext)(null);CurrentUserSettingsMenuContext.displayName="CurrentUserSettingsMenuContext";const useCurrentUserSettingsMenu=()=>{const{menuItems:e}=(0,import_react2.useContext)(CurrentUserSettingsMenuContext)||{},t=(0,import_react2.useCallback)(()=>e.current,[e]),o=(0,import_react2.useCallback)((r,i)=>{let n;if(i&&(r._options=i),(n=e.current.findIndex(l=>l.key===r.key))!==-1){e.current[n]=r,e.current=[...e.current];return}if(i){if(i.before){const l=e.current.findIndex(c=>c.key===i.before);e.current.splice(l,0,r);return}if(i.after){const l=e.current.findIndex(c=>c.key===i.after);e.current.splice(l+1,0,r);return}}const a=e.current;e.current=a.filter(l=>{var c,u;return r.key!==((c=l._options)==null?void 0:c.before)&&r.key!==((u=l._options)==null?void 0:u.after)}),e.current.push(...a.filter(l=>{var c;return((c=l._options)==null?void 0:c.before)===r.key})),e.current.push(r),e.current.push(...a.filter(l=>{var c;return((c=l._options)==null?void 0:c.after)===r.key}))},[e]);if(!e)throw(0,import_client.error)("CurrentUser: You should use `CurrentUserSettingsMenuProvider` in the root of your app."),new Error("CurrentUser: You should use `CurrentUserSettingsMenuProvider` in the root of your app.");return{getMenuItems:t,addMenuItem:o}},CurrentUserSettingsMenuProvider=({children:e})=>{const t=(0,import_react2.useRef)([]),o=(0,import_react2.useMemo)(()=>({menuItems:t}),[t]);return(0,import_jsx_runtime.jsx)(CurrentUserSettingsMenuContext.Provider,{value:o,children:e})},useUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:n("Current user"),collectionName:"users",dataSource:DEFAULT_DATA_SOURCE_KEY,noDisabled:o,targetFieldSchema:r})},useCurrentUserVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=3}={})=>{var n;const{t:a}=(0,import_react_i18next.useTranslation)(),l=useCurrentUserContext();return{currentUserSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$user",title:a("Current user"),collectionName:"users",noDisabled:o,targetFieldSchema:r,dataSource:DEFAULT_DATA_SOURCE_KEY}),currentUserCtx:(n=l==null?void 0:l.data)==null?void 0:n.data}},useAPITokenVariable=({noDisabled:e}={})=>{var t;const o=useAPIClient();return{apiTokenSettings:useBaseVariable({name:"$nToken",title:"API token",noDisabled:e,noChildren:!0,operators:string}),apiTokenCtx:(t=o.auth)==null?void 0:t.token}},popupSchema={type:"void","x-component":"Action.Container","x-action":"view",title:'{{ t("View record") }}',"x-component-props":{className:"nb-action-popup"},properties:{tabs:{type:"void","x-component":"Tabs","x-component-props":{},"x-initializer":"popup:addTab",properties:{tab1:{type:"void",title:'{{t("Details")}}',"x-component":"Tabs.TabPane","x-designer":"Tabs.Designer","x-component-props":{},properties:{grid:{type:"void","x-component":"Grid","x-initializer":"popup:common:addBlock",properties:{}}}}}}}},useInsertSchema=()=>{const e=(0,import_react.useFieldSchema)(),{insertAfterBegin:t}=useDesignable();return(0,import_react2.useCallback)(o=>{e.reduceProperties((r,i)=>i["x-component"]==="Action.Container"?i:r,null)||t((0,import_lodash.cloneDeep)(o))},[e,t])},filterProperties=e=>e["x-component"]==="Action.Container",FieldLink=e=>{const t=e,{WrappedComponent:o}=t,r=Y(t,["WrappedComponent"]),i=(0,import_react.useFieldSchema)(),{openPopup:n}=usePopupUtils(),a=(0,import_react2.useRef)(!1),l=useInsertSchema(),c=(0,import_react2.useRef)(i);c.current=i;const u=(0,import_react2.useCallback)(()=>c.current,[]),m=(0,import_react2.useCallback)(()=>{i.properties||(l(popupSchema),a.current=!0),a.current?(setTimeout(()=>{n({customActionSchema:u()})}),a.current=!1):i.properties&&n()},[i,l,n,u]);return(0,import_jsx_runtime.jsx)("a",{onClick:m,children:(0,import_jsx_runtime.jsx)(o,x({},r))})};function withPopupWrapper(e){return t=>{const[o,r]=(0,import_react2.useState)(!1),[i,n]=(0,import_react2.useState)(!1),a=useCollection(),l=useActionContext(),c=(0,import_react.useField)(),u=(0,import_react.useFieldSchema)(),{enableLink:m,openMode:d,openSize:p}=(u==null?void 0:u["x-component-props"])||{},{visibleWithURL:h,setVisibleWithURL:g}=usePopupUtils(),_=(0,import_react2.useCallback)(C=>{r==null||r(C),g==null||g(C)},[g]),f=(0,import_react2.useRef)(u);f.current=u;const{setSubmitted:v}=l;return m?(0,import_jsx_runtime.jsx)(PopupVisibleProvider,{visible:!1,children:(0,import_jsx_runtime.jsxs)(ActionContextProvider,{button:(0,import_jsx_runtime.jsx)(e,x({},t)),visible:o||h,setVisible:_,formValueChanged:i,setFormValueChanged:n,openMode:d,openSize:p,containerRefKey:"field-popup",fieldSchema:u,setSubmitted:v,children:[(0,import_jsx_runtime.jsx)(CollectionProvider,{name:a.name,children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{children:(0,import_jsx_runtime.jsx)(VariablePopupRecordProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:c==null?void 0:c.address,schema:u,filterProperties})})})}),(0,import_jsx_runtime.jsx)(FieldLink,P(x({},t),{WrappedComponent:e}))]})}):(0,import_jsx_runtime.jsx)(e,x({},t))}}const ReadPretty$d=()=>null;ReadPretty$d.DatePicker=function(e){const{value:t,picker:o="date"}=e,r=(0,import_builtins.usePrefixCls)("description-date-picker",e);if(!t)return(0,import_jsx_runtime.jsx)("div",{});const i=()=>{const n=(0,import_client.getDefaultFormat)(e),a=(0,import_client.str2moment)(t,e),l=import_dayjs.default.isDayjs(a)?a.format(n):"";return(0,import_shared.isArr)(l)?l.join("~"):l};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(r,e.className),children:i()})};ReadPretty$d.DateRangePicker=function(e){const t=(0,import_builtins.usePrefixCls)("description-text",e),o=(0,import_client.getDefaultFormat)(e),r=()=>{const i=(0,import_client.str2moment)(e.value,e);if(!i)return"";const n=i.map(a=>a.format(o));return(0,import_shared.isArr)(n)?n.join("~"):n};return(0,import_jsx_runtime.jsx)("div",{className:(0,import_classnames.default)(t,e.className),style:e.style,children:r()})};ReadPretty$d.DatePicker=withPopupWrapper(ReadPretty$d.DatePicker);const DatePickerContext=import_react2.default.createContext({utc:!0}),useDatePickerContext=()=>import_react2.default.useContext(DatePickerContext),DatePickerProvider=DatePickerContext.Provider,InternalDatePicker=(0,import_react.connect)(import_antd.DatePicker,(0,import_react.mapProps)(mapDatePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DatePicker)),InternalRangePicker=(0,import_react.connect)(import_antd.DatePicker.RangePicker,(0,import_react.mapProps)(mapRangePicker()),(0,import_react.mapReadPretty)(ReadPretty$d.DateRangePicker)),DatePicker=e=>{const{utc:t=!0}=useDatePickerContext(),o=Array.isArray(e.value)?e.value[0]:e.value,{parseVariable:r}=useVariables$1()||{},i=useLocalVariables$1(),[n,a]=(0,import_react2.useState)(null),[l,c]=(0,import_react2.useState)(null),u=(0,import_react2.useRef)(null);(0,import_react2.useEffect)(()=>(u.current&&u.current(),u.current=(0,import_reactive.autorun)(()=>{m()}),()=>{u.current()}),[e._maxDate,e._minDate,i,r]);const m=()=>z(void 0,null,function*(){let p=e._minDate?Promise.resolve((0,import_dayjs.default)(e._minDate)):Promise.resolve(null),h=e._maxDate?Promise.resolve((0,import_dayjs.default)(e._maxDate)):Promise.resolve(null);isVariable$1(e._maxDate)&&(h=r(e._maxDate,i).then(S=>(0,import_dayjs.default)(Array.isArray(S.value)?(0,import_lodash.last)(S.value):S.value))),isVariable$1(e._minDate)&&(p=r(e._minDate,i).then(S=>(0,import_dayjs.default)(Array.isArray(S.value)?(0,import_lodash.first)(S.value):S.value)));const[g,_]=yield Promise.all([p,h]),f=Array.from({length:60},(S,b)=>b),v=S=>{if(!import_dayjs.default.isDayjs(S))return!1;const b=g?g.startOf("day"):null,y=_?_.endOf("day"):null;return!!(b&&S.startOf("day").isBefore(b)||y&&S.startOf("day").isAfter(y))},C=S=>{if(!S||!g&&!_)return{disabledHours:()=>[],disabledMinutes:()=>[],disabledSeconds:()=>[]};const b=S,y=g&&b.isSame(g,"day"),F=_&&b.isSame(_,"day");return{disabledHours:()=>{const j=[];if(y)for(let k=0;k<g.hour();k++)j.push(k);if(F)for(let k=_.hour()+1;k<24;k++)j.push(k);return j},disabledMinutes:j=>y&&j===g.hour()?f.filter(k=>k<g.minute()):F&&j===_.hour()?f.filter(k=>k>_.minute()):[],disabledSeconds:(j,k)=>y&&j===g.hour()&&k===g.minute()?f.filter(T=>T<g.second()):F&&j===_.hour()&&k===_.minute()?f.filter(T=>T>_.second()):[]}};a(()=>v),c(()=>C)}),d=P(x({utc:t},e),{disabledDate:n,disabledTime:l,showTime:e.showTime?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1});return(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},d),{value:o}))};DatePicker.ReadPretty=ReadPretty$d.DatePicker;DatePicker.RangePicker=function(e){const{value:t,picker:o="date",format:r,showTime:i,timeFormat:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),{utc:u=!0}=useDatePickerContext(),m=getDateRanges(),d=useCompile(),p=!l["x-filter-operator"],h=[{label:a("Today"),value:m.today},{label:a("Last week"),value:m.lastWeek},{label:a("This week"),value:m.thisWeek},{label:a("Next week"),value:m.nextWeek},{label:a("Last month"),value:m.lastMonth},{label:a("This month"),value:m.thisMonth},{label:a("Next month"),value:m.nextMonth},{label:a("Last quarter"),value:m.lastQuarter},{label:a("This quarter"),value:m.thisQuarter},{label:a("Next quarter"),value:m.nextQuarter},{label:a("Last year"),value:m.lastYear},{label:a("This year"),value:m.thisYear},{label:a("Next year"),value:m.nextYear},{label:a("Last 7 days"),value:m.last7Days},{label:a("Next 7 days"),value:m.next7Days},{label:a("Last 30 days"),value:m.last30Days},{label:a("Next 30 days"),value:m.next30Days},{label:a("Last 90 days"),value:m.last90Days},{label:a("Next 90 days"),value:m.next90Days}],g=t?inferPickerType(t==null?void 0:t[0],o):o,_=(0,import_client.getPickerFormat)(g)||r,f=P(x({utc:u,presets:h},e),{format:(0,import_client.getDateTimeFormat)(g,_,i,n),picker:g,showTime:i?{defaultValue:[(0,import_dayjs.default)("00:00:00","HH:mm:ss"),(0,import_dayjs.default)("23:59:59","HH:mm:ss")]}:!1}),[v,C]=(0,import_react2.useState)(f);return p?(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,defaultValue:g,options:d([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:S=>{const b=(0,import_client.getPickerFormat)(S),y=(0,import_client.getDateTimeFormat)(S,b,i,n);c.setComponentProps({picker:S,format:b}),f.picker=S,f.format=y,C(f),l["x-component-props"]=P(x({},e),{picker:S,format:y}),c.value=void 0}}),(0,import_jsx_runtime.jsx)(InternalRangePicker,P(x({},v),{value:t}))]}):(0,import_jsx_runtime.jsx)(InternalRangePicker,x({},f))};function toLocalNaiveISOString(e,t){return e&&e.endsWith("Z")?(0,import_dayjs.default)(e).format(t):e}DatePicker.FilterWithPicker=function(e){const{picker:t="date",format:o,showTime:r,timeFormat:i}=e,n=isMobile(),{utc:a=!0}=useDatePickerContext(),l=Array.isArray(e.value)?e.value[0]:e.value,c=useCompile(),u=(0,import_react.useFieldSchema)(),m=l?inferPickerType(l,t):t,[d,p]=(0,import_react2.useState)(m),h=(0,import_client.getPickerFormat)(m)||o,g=P(x({utc:a,inputReadOnly:n},e),{underFilter:!0,showTime:r?{defaultValue:(0,import_dayjs.default)("00:00:00","HH:mm:ss")}:!1,format:(0,import_client.getDateTimeFormat)(d,h,r,i),picker:d,onChange:C=>{e.onChange(void 0),setTimeout(()=>{e.onChange(C)})}}),_=(0,import_react.useField)(),[f,v]=(0,import_react2.useState)(g);return(0,import_jsx_runtime.jsxs)(import_antd.Space.Compact,{style:{width:"100%"},children:[(0,import_jsx_runtime.jsx)(import_antd.Select,{role:"button","data-testid":"select-picker",style:{width:"100px"},popupMatchSelectWidth:!1,value:d,options:c([{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]),onChange:C=>{p(C);const S=(0,import_client.getPickerFormat)(C),b=(0,import_client.getDateTimeFormat)(C,S,r,i);_.setComponentProps({picker:C,format:S}),g.picker=C,g.format=b,v(g),u["x-component-props"]=P(x({},e),{picker:C,format:b}),_.value=null}}),(0,import_jsx_runtime.jsx)(InternalDatePicker,P(x({},f),{value:toLocalNaiveISOString(l,(0,import_client.getDateTimeFormat)(d,h,r,i))}))]})};const useDateVariable=({operator:e,schema:t,noDisabled:o})=>{const{t:r}=(0,import_react_i18next.useTranslation)(),i=(e==null?void 0:e.value)||"",n=o?!1:!["DatePicker","DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"]),a=[{key:"now",value:"now",label:r("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||i==="$dateBetween",operators:datetime,schema:{}},{key:"dayBeforeYesterday",value:"dayBeforeYesterday",label:r("Day before yesterday"),disabled:n,operators:datetime},{key:"yesterday",value:"yesterday",label:r("Yesterday"),disabled:n,operators:datetime},{key:"today",value:"today",label:r("Today"),disabled:n,operators:datetime},{key:"tomorrow",value:"tomorrow",label:r("Tomorrow"),disabled:n,operators:datetime},{key:"lastIsoWeek",value:"lastIsoWeek",label:r("Last week"),disabled:n,operators:datetime},{key:"thisIsoWeek",value:"thisIsoWeek",label:r("This week"),disabled:n,operators:datetime},{key:"nextIsoWeek",value:"nextIsoWeek",label:r("Next week"),disabled:n,operators:datetime},{key:"lastMonth",value:"lastMonth",label:r("Last month"),disabled:n,operators:datetime},{key:"thisMonth",value:"thisMonth",label:r("This month"),disabled:n,operators:datetime},{key:"nextMonth",value:"nextMonth",label:r("Next month"),disabled:n,operators:datetime},{key:"lastQuarter",value:"lastQuarter",label:r("Last quarter"),disabled:n,operators:datetime},{key:"thisQuarter",value:"thisQuarter",label:r("This quarter"),disabled:n,operators:datetime},{key:"nextQuarter",value:"nextQuarter",label:r("Next quarter"),disabled:n,operators:datetime},{key:"lastYear",value:"lastYear",label:r("Last year"),disabled:n,operators:datetime},{key:"thisYear",value:"thisYear",label:r("This year"),disabled:n,operators:datetime},{key:"nextYear",value:"nextYear",label:r("Next year"),disabled:n,operators:datetime},{key:"last7Days",value:"last7Days",label:r("Last 7 days"),disabled:n,operators:datetime},{key:"next7Days",value:"next7Days",label:r("Next 7 days"),disabled:n,operators:datetime},{key:"last30Days",value:"last30Days",label:r("Last 30 days"),disabled:n,operators:datetime},{key:"next30Days",value:"next30Days",label:r("Next 30 days"),disabled:n,operators:datetime},{key:"last90Days",value:"last90Days",label:r("Last 90 days"),disabled:n,operators:datetime},{key:"next90Days",value:"next90Days",label:r("Next 90 days"),disabled:n,operators:datetime}],l=(0,import_react2.useMemo)(()=>({label:r("Date variables"),value:"$nDate",key:"$nDate",disabled:a.every(c=>c.disabled),children:a}),[t==null?void 0:t["x-component"]]);return t?l:null},useDatetimeVariableContext=()=>{const{utc:e=!0}=useDatePickerContext();return{datetimeCtx:(0,import_react2.useMemo)(()=>getDateRanges({shouldBeString:!0,utc:e}),[e])}},useDatetimeVariable=({operator:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{getOperator:n}=useOperators(),{collectionField:a}=useFlag(),l=(0,import_react2.useMemo)(()=>{const u=(e==null?void 0:e.value)||n(r==null?void 0:r.name)||"",m=o?!1:!["DatePicker.RangePicker"].includes(t==null?void 0:t["x-component"])&&!u,d=[{key:"now",value:"now",label:i("Current time"),disabled:o?!1:(t==null?void 0:t["x-component"])!=="DatePicker"||u==="$dateBetween",operators:datetime},{key:"dayBeforeYesterday",value:"dayBeforeYesterday",label:i("Day before yesterday"),disabled:m,operators:datetime},{key:"yesterday",value:"yesterday",label:i("Yesterday"),disabled:m,operators:datetime},{key:"today",value:"today",label:i("Today"),disabled:m,operators:datetime},{key:"tomorrow",value:"tomorrow",label:i("Tomorrow"),disabled:m,operators:datetime},{key:"lastIsoWeek",value:"lastIsoWeek",label:i("Last week"),disabled:m,operators:datetime},{key:"thisIsoWeek",value:"thisIsoWeek",label:i("This week"),disabled:m,operators:datetime},{key:"nextIsoWeek",value:"nextIsoWeek",label:i("Next week"),disabled:m,operators:datetime},{key:"lastMonth",value:"lastMonth",label:i("Last month"),disabled:m,operators:datetime},{key:"thisMonth",value:"thisMonth",label:i("This month"),disabled:m,operators:datetime},{key:"nextMonth",value:"nextMonth",label:i("Next month"),disabled:m,operators:datetime},{key:"lastQuarter",value:"lastQuarter",label:i("Last quarter"),disabled:m,operators:datetime},{key:"thisQuarter",value:"thisQuarter",label:i("This quarter"),disabled:m,operators:datetime},{key:"nextQuarter",value:"nextQuarter",label:i("Next quarter"),disabled:m,operators:datetime},{key:"lastYear",value:"lastYear",label:i("Last year"),disabled:m,operators:datetime},{key:"thisYear",value:"thisYear",label:i("This year"),disabled:m,operators:datetime},{key:"nextYear",value:"nextYear",label:i("Next year"),disabled:m,operators:datetime},{key:"last7Days",value:"last7Days",label:i("Last 7 days"),disabled:m,operators:datetime},{key:"next7Days",value:"next7Days",label:i("Next 7 days"),disabled:m,operators:datetime},{key:"last30Days",value:"last30Days",label:i("Last 30 days"),disabled:m,operators:datetime},{key:"next30Days",value:"next30Days",label:i("Next 30 days"),disabled:m,operators:datetime},{key:"last90Days",value:"last90Days",label:i("Last 90 days"),disabled:m,operators:datetime},{key:"next90Days",value:"next90Days",label:i("Next 90 days"),disabled:m,operators:datetime}];return{label:i(a?"Date variables(Deprecated)":"Date variables"),value:"$nDate",key:"$nDate",disabled:d.every(p=>p.disabled)||a,children:d}},[t==null?void 0:t["x-component"],r]),{datetimeCtx:c}=useDatetimeVariableContext();return{datetimeSettings:l,datetimeCtx:c}},useExactDateVariableContext=()=>({exactDateTimeCtx:(0,import_react2.useMemo)(()=>getDateExact(),[])}),useExactDateVariable=({schema:e,targetFieldSchema:t}={})=>{var o;const{collectionField:r}=useFlag(),{dateOnly:i,utc:n,accuracy:a,picker:l}=((o=r==null?void 0:r.uiSchema)==null?void 0:o["x-component-props"])||{},{t:c}=(0,import_react_i18next.useTranslation)(),u=(0,import_react2.useMemo)(()=>{const d=h=>{if(!l){if(h==="now")return"nowLocal";if(h==="today")return"todayDate";if(h==="yesterday")return"yesterdayDate";if(h==="tomorrow")return"tomorrowDate"}return i?h==="now"?null:`${h}Date`:`${h}${n||a?"Utc":"Local"}`},p=[{key:"now",value:d("now"),label:c("Now"),operators:datetime},{key:"today",value:d("today"),label:c("Today"),operators:datetime},{key:"yesterday",value:d("yesterday"),label:c("Yesterday"),operators:datetime},{key:"tomorrow",value:d("tomorrow"),label:c("Tomorrow"),operators:datetime}].filter(h=>h.value);return{label:c("Date variables"),value:"$nExactDate",key:"$nExactDate",children:p}},[e==null?void 0:e["x-component"],t]),{exactDateTimeCtx:m}=useExactDateVariableContext();return{exactDateTimeSettings:u,exactDateTimeCtx:m,shouldDisplayExactDate:!!r}},useCurrentFormContext=({form:e}={})=>{const{form:t}=useFormBlockContext(),{isVariableParsedInOtherContext:o}=useFlag(),{name:r}=(useBlockContext==null?void 0:useBlockContext())||{},i=e||t;return{currentFormCtx:i==null?void 0:i.values,shouldDisplayCurrentForm:["form","filter-form"].includes(r)&&i&&!i.readPretty&&!o}},useCurrentFormVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r,form:i}={})=>{const{currentFormCtx:n,shouldDisplayCurrentForm:a}=useCurrentFormContext({form:i}),{t:l}=(0,import_react_i18next.useTranslation)(),{collectionName:c}=useFormBlockContext(),u=useCollection(),m=useDataSource();return{currentFormSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nForm",title:l("Current form"),collectionName:c||(u==null?void 0:u.name),noDisabled:o,dataSource:m==null?void 0:m.key,returnFields:(d,p)=>d}),currentFormCtx:n,shouldDisplayCurrentForm:a}},useCurrentObjectContext=()=>{const{isInSubForm:e,isInSubTable:t}=useFlag()||{},{formValue:o,collection:r}=useSubFormValue();return{shouldDisplayCurrentObject:e||t,currentObjectCtx:o,collectionOfCurrentObject:r}},useCurrentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const i=useCollection(),{t:n}=(0,import_react_i18next.useTranslation)(),{shouldDisplayCurrentObject:a,currentObjectCtx:l,collectionOfCurrentObject:c}=useCurrentObjectContext(),u=useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$iteration",title:n("Current object"),collectionName:(c==null?void 0:c.name)||(i==null?void 0:i.name),noDisabled:o,dataSource:i==null?void 0:i.dataSource,returnFields:(m,d)=>m});return{shouldDisplayCurrentObject:a,currentObjectCtx:l,currentObjectSettings:u}},useParentObjectContext=()=>{const{parent:e}=useSubFormValue(),{value:t,collection:o}=e||{},{isInSubForm:r,isInSubTable:i}=useFlag()||{};return{shouldDisplayParentObject:(r||i)&&!!o,parentObjectCtx:t,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource}},useParentObjectVariable=({collectionField:e,schema:t,noDisabled:o,targetFieldSchema:r}={})=>{const{t:i}=(0,import_react_i18next.useTranslation)(),{shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l,dataSource:c}=useParentObjectContext();return{parentObjectSettings:useBaseVariable({collectionField:e,uiSchema:t,targetFieldSchema:r,maxDepth:4,name:"$nParentIteration",title:i("Parent object"),collectionName:l,noDisabled:o,dataSource:c,returnFields:(u,m)=>u}),shouldDisplayParentObject:n,parentObjectCtx:a,collectionName:l}},useParentPopupVariableContext=()=>{const{value:e,title:t,collection:o}=useParentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{parentPopupRecordCtx:e,shouldDisplayParentPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},useParentPopupVariable=(e={})=>{const{parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=useParentPopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),parentPopupRecordCtx:t,shouldDisplayParentPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},ParentCollectionContext=(0,import_react2.createContext)(null);ParentCollectionContext.displayName="ParentCollectionContext";const ParentCollectionProvider=e=>{const t=useCollection();return(0,import_jsx_runtime.jsx)(ParentCollectionContext.Provider,{value:t,children:e.children})},useParentCollection=()=>(0,import_react2.useContext)(ParentCollectionContext),AssociationProvider=e=>{const{name:t,children:o}=e,r=useCollectionManager().getCollectionName(t);return r?(0,import_jsx_runtime.jsx)(CollectionProvider,{name:String(t).split(".")[0],children:(0,import_jsx_runtime.jsx)(ParentCollectionProvider,{children:(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t,children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:r,children:o})})})}):(0,import_jsx_runtime.jsx)(CollectionDeletedPlaceholder,{type:"Collection",name:t})},useAssociationName=()=>{const e=useCollectionField();return e!=null&&e.target?`${e.collectionName}.${e.name}`:null},useCurrentParentRecordContext=()=>{var e,t;const o=useCollectionRecord(),{name:r,dataSource:i}=useParentCollection()||{},n=useCollection(),{isInSubForm:a,isInSubTable:l}=useFlag()||{},c=r?i:n==null?void 0:n.dataSource,u=useCollectionField();return{currentParentRecordCtx:((e=o==null?void 0:o.parentRecord)==null?void 0:e.data)||(o==null?void 0:o.data),shouldDisplayCurrentParentRecord:!!((t=o==null?void 0:o.parentRecord)!=null&&t.data)&&!a&&!l&&u,collectionName:r||(n==null?void 0:n.name),dataSource:c}},useCurrentParentRecordVariable=(e={})=>{const{t}=(0,import_react_i18next.useTranslation)(),{currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}=useCurrentParentRecordContext();return{currentParentRecordSettings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nParentRecord",title:t("Parent record"),collectionName:i,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:n}),currentParentRecordCtx:o,shouldDisplayCurrentParentRecord:r,collectionName:i,dataSource:n}},usePopupVariableContext=()=>{const{value:e,title:t,collection:o}=useCurrentPopupRecord()||{},{isVariableParsedInOtherContext:r}=useFlag();return{popupRecordCtx:e,shouldDisplayPopupRecord:!!e&&!r,collectionName:o==null?void 0:o.name,dataSource:o==null?void 0:o.dataSource,defaultValue:void 0,title:t}},usePopupVariable=(e={})=>{const{popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n,title:a}=usePopupVariableContext();return{settings:useBaseVariable({collectionField:e.collectionField,uiSchema:e.schema,name:"$nPopupRecord",title:a,collectionName:r,noDisabled:e.noDisabled,targetFieldSchema:e.targetFieldSchema,dataSource:i}),popupRecordCtx:t,shouldDisplayPopupRecord:o,collectionName:r,dataSource:i,defaultValue:n}},useRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0})=>{const{t:n}=(0,import_react_i18next.useTranslation)();return useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:n("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0,operators:string})},useCurrentRoleVariable=({collectionField:e,uiSchema:t,noDisabled:o,targetFieldSchema:r,maxDepth:i=0}={})=>{var n,a,l;const{t:c}=(0,import_react_i18next.useTranslation)(),u=useAPIClient(),m=useCompile(),{data:d}=useCurrentUserContext()||{},p=(((n=d==null?void 0:d.data)==null?void 0:n.roles)||[]).map(({name:h,title:g})=>({name:h,title:m(g)}));return{currentRoleSettings:useBaseVariable({collectionField:e,uiSchema:t,maxDepth:i,name:"$nRole",title:c("Current role"),collectionName:"roles",noDisabled:o,targetFieldSchema:r,noChildren:!0,operators:string}),currentRoleCtx:((a=u.auth)==null?void 0:a.role)==="__union__"?p.map(h=>h.name):(l=u.auth)==null?void 0:l.role}},getURLSearchParams=e=>(e.startsWith("?")&&(e=e.slice(1)),import_qs.default.parse(e)||{}),getURLSearchParamsChildren=e=>Object.keys(e).map(t=>({label:t,value:t,key:t,isLeaf:!0,operators:string})),useURLSearchParamsCtx=e=>{const[t]=(0,import_react2.useState)(()=>(0,import_reactive.observable)({}));return(0,import_react2.useMemo)(()=>{const o=getURLSearchParams(e);return(0,import_reactive.untracked)(()=>{Object.assign(t,o),Object.keys(t).forEach(r=>{o[r]===void 0&&delete t[r]})}),t},[t,e])},useURLSearchParamsVariable=(e={})=>{const t="$nURLSearchParams",{t:o}=(0,import_react_i18next.useTranslation)(),r=useLocationSearch(),{isVariableParsedInOtherContext:i}=useFlag(),n=useURLSearchParamsCtx(r),a=(0,import_react2.useMemo)(()=>import_lodash.default.isEmpty(n),[n]),l=(0,import_react2.useMemo)(()=>({label:getLabelWithTooltip(o("URL search params"),a?o("The value of this variable is derived from the query string of the page URL. This variable can only be used normally when the page has a query string."):""),value:t,key:t,isLeaf:!1,disabled:a,loadChildren:(c,u)=>z(void 0,null,function*(){const m=u?{[u]:void 0}:{};c.children=getURLSearchParamsChildren(x(x({},m),n))})}),[a,o,n]);return{name:t,urlSearchParamsSettings:l,urlSearchParamsCtx:n,defaultValue:void 0,shouldDisplay:!i}},useVariableOptions=({collectionField:e,form:t,uiSchema:o,operator:r,noDisabled:i,targetFieldSchema:n,record:a})=>{var l,c;const u=useApp(),m=((l=u==null?void 0:u.getVariables)==null?void 0:l.call(u).map(E=>{const{visible:O=!0,option:V}=E.useOption();return{visible:O,option:V}}).filter(({visible:E})=>E))||[],{filterVariables:d=()=>!0}=useVariables$1()||{},p=(c=a==null?void 0:a.__parent)==null?void 0:c.__collectionName,{currentUserSettings:h}=useCurrentUserVariable({maxDepth:3,uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentRoleSettings:g}=useCurrentRoleVariable({uiSchema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{apiTokenSettings:_}=useAPITokenVariable({noDisabled:i}),{datetimeSettings:f}=useDatetimeVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{exactDateTimeSettings:v,shouldDisplayExactDate:C}=useExactDateVariable({operator:r,schema:o,noDisabled:!0,targetFieldSchema:n}),{currentFormSettings:S,shouldDisplayCurrentForm:b}=useCurrentFormVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n,form:t}),{currentObjectSettings:y,shouldDisplayCurrentObject:F}=useCurrentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{parentObjectSettings:j,shouldDisplayParentObject:k}=useParentObjectVariable({collectionField:e,schema:o,noDisabled:i,targetFieldSchema:n}),{currentRecordSettings:T,shouldDisplayCurrentRecord:M}=useCurrentRecordVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:w,shouldDisplayPopupRecord:L}=usePopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{settings:D,shouldDisplayParentPopupRecord:R}=useParentPopupVariable({schema:o,collectionField:e,noDisabled:i,targetFieldSchema:n}),{currentParentRecordSettings:N,shouldDisplayCurrentParentRecord:B}=useCurrentParentRecordVariable({schema:o,collectionName:p,collectionField:e,noDisabled:i,targetFieldSchema:n}),{urlSearchParamsSettings:I,shouldDisplay:$}=useURLSearchParamsVariable();return[...(0,import_react2.useMemo)(()=>[h,g,_,f,C&&v,b&&S,F&&y,k&&j,M&&T,B&&N,L&&w,R&&D,$&&I].filter(Boolean).filter(d),[h,g,_,f,b,S,F,y,k,j,M,T,B,N,L,w,$,I]),...m.map(({option:E})=>E)]},VariableInput=e=>{const{value:t,onChange:o,renderSchemaComponent:r,style:i,schema:n,className:a,contextCollectionName:l,collectionField:c,shouldChange:u,form:m,record:d,returnScope:p=import_lodash.default.identity,targetFieldSchema:h,noDisabled:g,hideVariableButton:_,setScopes:f,nullable:v=!0,constantAbel:C=!0,changeOnSelect:S=!0}=e,{name:b}=useBlockCollection(),y=useVariableScope(),{operator:F,schema:j=c==null?void 0:c.uiSchema}=useValues$2(),k=useVariableOptions({collectionField:c,form:m,record:d,operator:F,uiSchema:j,targetFieldSchema:h,noDisabled:g}),T=useContextAssociationFields({schema:n,maxDepth:2,contextCollectionName:l,collectionField:c}),{compatOldVariables:M}=useCompatOldVariables({collectionField:c,uiSchema:j,targetFieldSchema:h,blockCollectionName:b});l&&k.every(D=>D.value!==T.value)&&k.push(T);const w=(0,import_react2.useCallback)((D,R)=>{if(!u)return o(D,R);setTimeout(()=>z(void 0,null,function*(){(yield u(D,R))&&o(D,R)}))},[o,u]),L=p(M(import_lodash.default.isEmpty(y)?k:y,{value:t}));return(0,import_react2.useEffect)(()=>{f==null||f(L)},[t,y]),(0,import_jsx_runtime.jsx)(Variable.Input,{className:a,value:t,onChange:w,scope:L,style:i,changeOnSelect:S,hideVariableButton:_,nullable:v,constantAbel:C,children:(0,import_jsx_runtime.jsx)(r,{value:t,onChange:o})})},getShouldChange=({collectionField:e,variables:t,localVariables:o,getAllCollectionsInheritChain:r})=>(e&&r(e.target),(i,n)=>z(void 0,null,function*(){return!0}));function useCompatOldVariables(e){const{uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i,blockCollectionName:n}=e,{t:a}=(0,import_react_i18next.useTranslation)(),{currentUserSettings:l}=useCurrentUserVariable({maxDepth:1,uiSchema:t,collectionField:o,noDisabled:r,targetFieldSchema:i}),{currentRecordSettings:c}=useCurrentRecordVariable({schema:t,collectionField:o,noDisabled:r,targetFieldSchema:i});return{compatOldVariables:(0,import_react2.useCallback)((u,{value:m})=>{if(!isVariable$1(m))return u;u=[...u];const d={value:"$system",key:"$system",label:a("System variables"),isLeaf:!1,children:[{value:"now",key:"now",label:a("Current time"),isLeaf:!0,depth:1}],depth:0},p={value:"currentTime",label:a("Current time"),children:null};if(m.includes("$system")&&u.push(d),m.includes(`${n}.`)){const h=u.find(g=>g.value==="$nForm"||g.value==="$nRecord");h&&(h.value=n)}if(m.includes("$form")){const h=u.find(g=>g.value==="$nForm");h&&(h.value="$form")}if(m.includes("currentUser")){const h=u.find(g=>g.value==="$user");h?h.value="currentUser":u.unshift(P(x({},l),{value:"currentUser"}))}if(m.includes("currentRecord")){const h=u.find(g=>g.value==="$nRecord");h?h.value="currentRecord":u.unshift(P(x({},c),{value:"currentRecord"}))}if(m.includes("currentTime")&&u.push(p),m.includes("$date")){const h=u.find(g=>g.value==="$nDate");h&&(h.value="$date")}return u},[n])}}const SchemaSettingsDataScope=function(e){const{t}=(0,import_react_i18next.useTranslation)(),{getFields:o}=useCollectionFilterOptionsV2(e.collectionName),r=useRecord(),{form:i}=useFormBlockContext(),n=useVariables$1(),a=useLocalVariables$1(),{getAllCollectionsInheritChain:l}=useCollectionManager_deprecated(),{isInSubForm:c,isInSubTable:u}=useFlag()||{},m=useBlockContext==null?void 0:useBlockContext(),d=(0,import_react2.useCallback)(h=>(0,import_jsx_runtime.jsx)(DatePickerProvider,{value:{utc:!1},children:(0,import_jsx_runtime.jsx)(VariableInput,P(x({},h),{form:i,record:r,noDisabled:!0,shouldChange:getShouldChange({collectionField:h.collectionField,variables:n,localVariables:a,getAllCollectionsInheritChain:l})}))}),[i,l,a,r,n]),p=()=>({type:"object",title:t("Set the data scope"),properties:{filter:{enum:e.collectionFilterOption||o(),"x-decorator":h=>(0,import_jsx_runtime.jsx)(BaseVariableProvider,P(x({},h),{children:(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:c,isInSubTable:u,children:(0,import_jsx_runtime.jsx)(BlockContext.Provider,{value:{name:i?"form":m==null?void 0:m.name},children:h.children})})})),"x-decorator-props":{isDisabled},"x-component":"Filter","x-component-props":{collectionName:e.collectionName,dynamicComponent:e.dynamicComponent||d}}}});return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:t("Set the data scope"),initialValues:{filter:e.defaultFilter},schema:p,onSubmit:e.onSubmit,noRecord:e.noRecord})};function isDisabled(e){var t,o;const{option:r,collectionField:i,uiSchema:n}=e;return!n||!i?!0:i.interface==="json"||r.target?!1:["input","markdown","richText","textarea","username"].includes(i.interface)?!["string","number"].includes((t=r.schema)==null?void 0:t.type):i.interface&&r.interface?i.interface!==r.interface:(n==null?void 0:n["x-component"])!==((o=r.schema)==null?void 0:o["x-component"])}const SchemaSettingsDateFormat=function(e){var t,o,r,i,n,a,l,c,u,m,d,p;const{fieldSchema:h}=e,g=(0,import_react.useField)(),{dn:_}=useDesignable(),{t:f}=(0,import_react_i18next.useTranslation)(),{getCollectionJoinField:v}=useCollectionManager_deprecated(),C=v(h==null?void 0:h["x-collection-field"])||{},S=(t=h==null?void 0:h["x-component-props"])==null?void 0:t.showTime,b=((o=h==null?void 0:h["x-component-props"])==null?void 0:o.dateFormat)||((i=(r=C==null?void 0:C.uiSchema)==null?void 0:r["x-component-props"])==null?void 0:i.dateFormat)||"YYYY-MM-DD",y=((n=h==null?void 0:h["x-component-props"])==null?void 0:n.timeFormat)||((l=(a=C==null?void 0:C.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:l.timeFormat)||"HH:mm:ss",F=((c=h==null?void 0:h["x-component-props"])==null?void 0:c.picker)||((m=(u=C==null?void 0:C.uiSchema)==null?void 0:u["x-component-props"])==null?void 0:m.picker)||"date",j=h["x-read-pretty"]||g.readOnly||g.readPretty;return(0,import_jsx_runtime.jsx)(SchemaSettingsModalItem,{title:f("Date display format"),scope:{getPickerFormat:import_client.getPickerFormat},schema:{type:"object",properties:{picker:{type:"string",title:'{{t("Picker")}}',"x-decorator":"FormItem","x-component":"Radio.Group",default:F,description:!j&&'{{ t("Switching the picker, the value and default value will be cleared") }}',enum:[{label:'{{t("Date")}}',value:"date"},{label:'{{t("Month")}}',value:"month"},{label:'{{t("Quarter")}}',value:"quarter"},{label:'{{t("Year")}}',value:"year"}]},dateFormat:{type:"string",title:'{{t("Date format")}}',"x-component":ExpiresRadio,"x-decorator":"FormItem","x-decorator-props":{},"x-component-props":{className:import_css.css`
|
|
275
275
|
.ant-radio-wrapper {
|
|
276
276
|
display: flex;
|
|
277
277
|
margin: 5px 0px;
|
|
@@ -996,14 +996,14 @@ https://requirejs.org/docs/errors.html#`+e);return i.requireType=e,i.requireModu
|
|
|
996
996
|
.ant-table-tbody .nb-column-initializer {
|
|
997
997
|
min-width: 40px !important;
|
|
998
998
|
}
|
|
999
|
-
`,layout:"vertical",bordered:!1,feedbackLayout:"popover",children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:{scope:l.scope,components:c},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:t.address,schema:o,filterProperties:u=>u["x-component"]==="AssociationField.SubTable"})})})})})},{displayName:"InternalSubTable"});var AssociationFieldMode=(e=>(e.Picker="Picker",e.Nester="Nester",e.PopoverNester="PopoverNester",e.Select="Select",e.SubTable="SubTable",e.FileManager="FileManager",e.CascadeSelect="CascadeSelect",e.Tag="Tag",e))(AssociationFieldMode||{});const defaultModeToComponent={Picker:InternalPicker,Nester:InternalNester,PopoverNester:InternalPopoverNester,Select:AssociationSelect$1,SubTable:InternalSubTable,FileManager:InternalFileManager,CascadeSelect:InternalCascadeSelect},AssociationFieldModeContext=(0,import_react2.createContext)({modeToComponent:defaultModeToComponent,getComponent:e=>defaultModeToComponent[e],getDefaultComponent:e=>defaultModeToComponent[e]}),AssociationFieldModeProvider=e=>{const t=useAssociationFieldModeContext(),o=(0,import_react2.useMemo)(()=>x(x({},t.modeToComponent),e.modeToComponent),[t.modeToComponent,e.modeToComponent]),r=(0,import_react2.useCallback)(a=>o[a]||defaultModeToComponent[a],[o]),i=(0,import_react2.useCallback)(a=>defaultModeToComponent[a],[]),n=(0,import_react2.useMemo)(()=>({modeToComponent:o,getComponent:r,getDefaultComponent:i}),[r,o,i]);return(0,import_jsx_runtime.jsx)(AssociationFieldModeContext.Provider,{value:n,children:e.children})},useAssociationFieldModeContext=()=>import_react2.default.useContext(AssociationFieldModeContext),AssociationFieldProvider=(0,import_react.observer)(e=>{var t,o,r;const i=(0,import_react.useField)(),n=useCollectionManager(),a=(0,import_react.useFieldSchema)(),l=useAPIClient(),c=useSchemaOptionsContext(),u=(0,import_react2.useRef)(null),m=useCollectionRecord();useSchemaComponentContext();const d=((t=a["x-component-props"])==null?void 0:t.multiple)!==!1,p=((o=a["x-component-props"])==null?void 0:o.allowDissociate)!==!1,h=(0,import_react2.useMemo)(()=>n.getCollectionField(a["x-collection-field"]),[a["x-collection-field"],a.name]),g=(0,import_react2.useMemo)(()=>{var F;return((F=n.getCollection(h==null?void 0:h.target))==null?void 0:F.template)==="file"},[a["x-collection-field"]]),_=(0,import_react2.useMemo)(()=>{var F;return((F=a["x-component-props"])==null?void 0:F.mode)||(g?"FileManager":"Select")},[(r=a["x-component-props"])==null?void 0:r.mode]),[f,v]=(0,import_react2.useState)(!i.readPretty),{loading:C,run:S}=useRequest(()=>{var F;const j=h.targetKey;if(!a.default||!["Picker","Select"].includes(_)||!import_lodash.default.isObject(a.default))return Promise.reject(null);const k=Array.isArray(a.default)?a.default.map(T=>T[j]):a.default[j];return import_lodash.default.isUndefined(k)||import_lodash.default.isNil(k)||import_lodash.default.isNaN(k)||m&&!m.isNew?Promise.reject(null):l.request({resource:h.target,action:Array.isArray(k)?"list":"get",headers:getDataSourceHeaders((F=n==null?void 0:n.dataSource)==null?void 0:F.key),params:{filter:{[j]:k}}})},{manual:!0,onSuccess(F){var j;i.initialValue=(j=F==null?void 0:F.data)==null?void 0:j.data}}),{active:b}=useKeepAlive();if((0,import_react2.useEffect)(()=>{var F;if(b){if(v(!0),!h){v(!1);return}if(["Picker","Select"].includes(_)&&a.default&&S(),i.value&&i.form.__template&&["Nester","SubTable","PopoverNester"].includes(_)&&(["belongsTo","hasOne"].includes(h.type)?((F=i.value)!=null&&F[h.targetKey]&&delete i.value[h.targetKey],i.value=x(x({},i.initialValue),i.value)):["belongsToMany","hasMany"].includes(h.type)&&Array.isArray(i.value)&&(i.value=i.value.map(j=>{var k;return delete j[h.targetKey],x(x({},(k=i.initialValue)==null?void 0:k[0]),j)}))),i.value!==null&&i.value!==void 0){["Nester","PopoverNester"].includes(_)&&Array.isArray(i.value)&&i.value.length===0&&["belongsToMany","hasMany","belongsToArray"].includes(h.type)&&(i.value=[markRecordAsNew({})]),v(!1);return}["Nester"].includes(_)&&(["belongsTo","hasOne"].includes(h.type)?i.value={}:["belongsToMany","hasMany","belongsToArray"].includes(h.type)&&(i.value=[markRecordAsNew({})])),_==="SubTable"&&(i.value=[]),v(!1)}},[_,h,i,b]),f||C)return null;const y=P(x({},c.components),{FormItem:F=>(0,import_jsx_runtime.jsx)(FormItem,P(x({},F),{getPopupContainer:j=>u.current||document.body}))});return h?(0,import_jsx_runtime.jsx)("div",{ref:u,children:(0,import_jsx_runtime.jsx)(AssociationFieldContext.Provider,{value:{options:h,field:i,fieldSchema:a,allowMultiple:d,allowDissociate:p,currentMode:_},children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:{components:y,scope:c.scope},children:e.children})})}):null},{displayName:"AssociationFieldProvider"}),InternalField=e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollectionField_deprecated(),{getInterface:i}=useCollectionManager_deprecated(),{uiSchema:n}=r,a=i(r.interface),l=useComponent((n==null?void 0:n["x-component"])||a.default.uiSchema["x-component"]),c=useCompile(),u=(d,p)=>{t[d]=typeof t[d]>"u"?p:t[d]},m=()=>{typeof o.required>"u"&&(t.required=!!n.required)};return(0,import_react2.useEffect)(()=>{if(!n)return;u("content",n["x-content"]),u("title",n.title),u("description",n.description),u("initialValue",n.default),o["x-disabled"]===!0&&(t.disabled=!0),o["x-read-pretty"]===!0&&(t.readPretty=!0),m(),t.dataSource=n.enum;const d=c(n["x-component-props"])||{},p=(0,import_shared.merge)(d,t.componentProps||{});t.componentProps=p},[JSON.stringify(n)]),n?import_react2.default.createElement(l,e,e.children):null},CollectionField=e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(InternalField,x({},e))})};var AssignedFieldValueType=(e=>(e.ConstantValue="constantValue",e.DynamicValue="dynamicValue",e))(AssignedFieldValueType||{});const AssignedFieldInner=e=>{const{value:t,onChange:o}=e,{getCollectionFields:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),n=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=useRecord(),m=useVariables$1(),d=useLocalVariables$1(),p=useCollectionFilterOptions(n),{name:h,getField:g}=n,_=g(l.name),{uiSchema:f}=useCollectionField_deprecated(),v=(0,import_react2.useMemo)(()=>getShouldChange({collectionField:_,variables:m,localVariables:d,getAllCollectionsInheritChain:i}),[_,i,d,m]),C=(0,import_react2.useCallback)(b=>{const y=b.find(j=>j.value==="$nForm"),F=r(h);return!(F!=null&&F.length)&&y&&(y.children=formatVariableScop(p)),(0,import_lodash.cloneDeepWith)(b,j=>{if((0,import_react2.isValidElement)(j))return j})},[p,h]),S=(0,import_react2.useCallback)(({value:b,onChange:y})=>(0,import_jsx_runtime.jsx)(CollectionField,P(x({},e),{value:b,onChange:y})),[JSON.stringify(import_lodash.default.omit(e,"value"))]);return(0,import_react2.useEffect)(()=>{f&&(c.title=typeof c.title>"u"?(f==null?void 0:f.title)||c.name:c.title)},[JSON.stringify(f)]),(0,import_jsx_runtime.jsx)(FlagProvider,{collectionField:_,children:(0,import_jsx_runtime.jsx)(VariableInput,{form:a,record:u,value:t,onChange:o,renderSchemaComponent:S,collectionField:_,shouldChange:v,returnScope:C,targetFieldSchema:l})})},AssignedField=e=>(useFormBlockContext(),useBlockContext(),(0,import_jsx_runtime.jsx)(AssignedFieldInner,x({},e)));function useAclCheck(e){return useAclCheckFn()(e)}function useAclCheckFn(){const{data:e,inResources:t,getResourceActionParams:o,getStrategyActionParams:r}=useACLRolesCheck(),i=useRecordPkValue(),n=useCollection_deprecated();function a(l){const c=n.resource,u=(m,d={})=>{const[p]=m.split(":");return e!=null&&e.allowAll?{}:t(p)?o(m):r(m)};return!l&&c&&(l=`${c}:create}`),l!=null&&l.includes(":")||(l=`${c}:${l}`),l?!!u(l,{recordPkValue:i}):!0}return a}const InternalCreateRecordAction=(e,t)=>{const o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),i=(o==null?void 0:o["x-linkage-rules"])||[],n=useRecord(),a=useVariables$1(),l=useLocalVariables$1({currentForm:{values:n}}),{openPopup:c}=usePopupUtils(),u=useTreeParentRecord(),m=useCollectionManager(),d=useApp();(0,import_react2.useEffect)(()=>{r.stateOfLinkageRules={},i.filter(g=>!g.disabled).forEach(g=>{var _;(_=g.actions)==null||_.forEach(f=>{linkageAction({operator:f.operator,field:r,condition:g.condition,variables:a,localVariables:l,conditionType:g.conditionType},d.jsonLogic)})})},[r,i,l,a]);const p=(0,import_react2.createRef)(),h=(0,import_ref.composeRef)(t,p);return(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:g=>{var _;g=m.getCollection(g.name)||g,u?c({recordData:u}):(_=g.isInherited)!=null&&_.call(g)?c({collectionNameUsedInURL:g.name}):c()}}))})};function getLinkageCollection(e,t,o){const r={$form:t.values,$iteration:t.values};if(e.includes("$iteration")){const i=o.path.segments.concat([]);return i.splice(-2),e=e.replace("$iteration.",`$iteration.${i.join(".")}.`),parseVariables(e,r)}else return parseVariables(e,{$form:t.values})}const CreateAction=(0,import_react.observer)(e=>{var t;const{onClick:o}=e,r=useCollection_deprecated(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=(0,import_react.useForm)(),l=useVariables$1(),c=useAclCheckFn(),u=i["x-enable-children"]||[],m=i==null?void 0:i["x-allow-add-to-current"],d=(t=i==null?void 0:i["x-component-props"])==null?void 0:t.linkageFromForm,p=n.componentProps.type==="danger"?void 0:n.componentProps.type||"primary",{getChildrenCollections:h}=useCollectionManager_deprecated(),g=h(r.name),_=(0,import_react2.useMemo)(()=>u.map(T=>{if(!T)return;const M=g.find(w=>w.name===T.collection);if(M)return P(x({},M.getOptions()),{title:T.title||M.title})}).filter(T=>T&&c(`${T.name}:create`)),[u,g]),f=(i==null?void 0:i["x-linkage-rules"])||[],v=useRecord(),C=useLocalVariables$1({currentForm:{values:v}}),S=useCompile(),{designable:b}=useDesignable(),y=e.icon||null,F=useApp(),j=(0,import_react2.useMemo)(()=>_.map(T=>({key:T.name,label:S(T.title),onClick:()=>o==null?void 0:o(T)})),[_,o]),k=(0,import_react2.useMemo)(()=>({items:j}),[j]);return(0,import_react2.useEffect)(()=>{n.stateOfLinkageRules={},f.filter(T=>!T.disabled).forEach(T=>{var M;(M=T.actions)==null||M.forEach(w=>{linkageAction({operator:w.operator,field:n,condition:T.condition,variables:l,localVariables:C,conditionType:T.conditionType},F.jsonLogic)})})},[n,f,C,l]),(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(FinallyButton,{inheritsCollections:_,linkageFromForm:d,allowAddToCurrent:m,props:e,componentType:p,menu:k,onClick:o,collection:r,icon:y,field:n,form:a,designable:b})})},{displayName:"CreateAction"});function FinallyButton(e){var t=e,{inheritsCollections:o,linkageFromForm:r,allowAddToCurrent:i,props:n}=t,a=n,{onlyIcon:l}=a,c=Y(a,["onlyIcon"]),{componentType:u,menu:m,onClick:d,collection:p,icon:h,field:g,form:_,designable:f}=t,v,C,S,b,y,F;const{getCollection:j}=useCollectionManager_deprecated(),k=useACLActionParamsContext(),T=(0,import_react2.useMemo)(()=>{var M;const w=f&&(((M=g==null?void 0:g.data)==null?void 0:M.hidden)||!k);return{opacity:u!=="link"&&w?.1:1}},[f,(v=g==null?void 0:g.data)==null?void 0:v.hidden,k,u]);return(o==null?void 0:o.length)>0?r?(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":c["aria-label"],type:u,disabled:g.disabled,danger:c.danger,icon:h,onClick:M=>{const w=getLinkageCollection(r,_,g),L=o.find(R=>R.name===w)?w:p.name,D=j(L);d==null||d(D)},style:x({display:!f&&((C=g==null?void 0:g.data)==null?void 0:C.hidden)&&"none",opacity:f&&((S=g==null?void 0:g.data)==null?void 0:S.hidden)&&.1},T),children:c.children}):i===void 0||i?(0,import_jsx_runtime.jsxs)(import_antd.Dropdown.Button,{"aria-label":c["aria-label"],danger:c.danger,type:u,icon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{}),style:x(x({},c==null?void 0:c.style),T),buttonsRender:([M,w])=>[import_react2.default.cloneElement(M,{style:c==null?void 0:c.style}),import_react2.default.cloneElement(w,{loading:!1,style:P(x({},c==null?void 0:c.style),{justifyContent:"center"})})],menu:m,onClick:M=>{d==null||d(p)},children:[h,c.children]}):(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:m,children:(0,import_jsx_runtime.jsxs)(import_antd.Button,{"aria-label":c["aria-label"],icon:h,type:u,danger:c.danger,style:x(x({},c==null?void 0:c.style),T),children:[c.children," ",(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})]})}):(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({},c),{"aria-label":c["aria-label"],type:u,disabled:g.disabled,danger:c.danger,icon:h,onClick:M=>{d==null||d(p)},style:x(P(x({},c==null?void 0:c.style),{display:!f&&(b=g==null?void 0:g.data)!=null&&b.hidden?"none":"inline-block",opacity:f&&((y=g==null?void 0:g.data)==null?void 0:y.hidden)&&.1}),T),children:l?(F=c==null?void 0:c.children)==null?void 0:F[1]:c==null?void 0:c.children}))}const CreateRecordAction$1=(0,import_react2.forwardRef)(InternalCreateRecordAction),initializerComponents=Object.freeze(Object.defineProperty({__proto__:null,AssignedField,AssignedFieldInner,AssignedFieldValueType,CreateAction,CreateRecordAction:CreateRecordAction$1,useAclCheck},Symbol.toStringTag,{value:"Module"})),CreateRecordAction=(0,import_react.observer)(e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useActionContext(),{getCollection:i}=useCollectionManager_deprecated(),n=useInsertSchema$1("AddNewer"),{options:a}=useAssociationFieldContext(),[l,c]=(0,import_react2.useState)(!1),u=i(a==null?void 0:a.target),[m,d]=(0,import_react2.useState)(u==null?void 0:u.name),[p,h]=(0,import_react2.useState)(u==null?void 0:u.dataSource),[g,_]=(0,import_react2.useState)(!1),f=(0,import_react2.useMemo)(()=>o.reduceProperties((C,S)=>S["x-component"]==="AssociationField.AddNewer"?(Object.keys(S.parent.properties).forEach(b=>{b!==S.name&&S.parent.removeProperty(b)}),S.parent):C),[o]),v=C=>{n(schema$1.AddNewer),c(!0),d(C.name),h(C.dataSource)};return(0,import_jsx_runtime.jsxs)(CollectionProvider_deprecated,{name:a==null?void 0:a.target,children:[(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:C=>v(C)})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:P(x({},r),{visible:l,setVisible:c,formValueChanged:g,setFormValueChanged:_}),children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:m,dataSource:p,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:f})})})})]})},{displayName:"CreateRecordAction"}),EditableAssociationField=e=>{const{multiple:t}=e,o=(0,import_react.useField)(),r=(0,import_react.useForm)(),{options:i,currentMode:n}=useAssociationFieldContext(),{getComponent:a}=useAssociationFieldModeContext(),l=()=>{const{onClick:u}=useAssociationCreateActionProps(),m=(0,import_react.useField)(),{getPrimaryKey:d}=useCollection_deprecated(),p=d();return{onClick(){return z(this,null,function*(){var h,g;yield u();const{data:_}=((g=(h=m.data)==null?void 0:h.data)==null?void 0:g.data)||{};if(_)if(["m2m","o2m"].includes(i==null?void 0:i.interface)&&t!==!1){const f=r.getValuesIn(o.path)||[];f.find(v=>v[p]===_[p])||(f.push(_),r.setValuesIn(o.path,f),o.onInput(f))}else r.setValuesIn(o.path,_),o.onInput(_)})}}},c=a(n);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{useCreateActionProps:l},components:{CreateRecordAction},children:(0,import_jsx_runtime.jsx)(c,x({},e))})},Editable$1=(0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(AssociationFieldProvider,{children:(0,import_jsx_runtime.jsx)(EditableAssociationField,x({},e))}),{displayName:"Editable"}),Nester=e=>{const{options:t}=(0,import_react2.useContext)(AssociationFieldContext);return["hasOne","belongsTo"].includes(t.type)?(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(ToOneNester,x({},e))}):["hasMany","belongsToMany","belongsToArray"].includes(t.type)?(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(ToManyNester,x({},e))}):null},ToOneNester=e=>{const{field:t}=useAssociationFieldContext(),o=useCollectionRecord(),r=useCollection(),i=(0,import_react.useFieldSchema)(),n=(0,import_react2.useCallback)(({form:a,fieldSchema:l,collectionField:c,getInterface:u,formBlockType:m})=>{var d;return!c||c.target&&(d=l["x-component-props"])!=null&&d.mode&&!["Picker","Select"].includes(l["x-component-props"].mode)||m==="update"?!1:!(a!=null&&a.readPretty)&&!isPatternDisabled(l)&&!interfacesOfUnsupportedDefaultValue.includes(c==null?void 0:c.interface)&&!isSystemField(c,u)},[]);return(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"nester",children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:t.value,collection:r,fieldSchema:i.parent},children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:o==null?void 0:o.isNew,record:t.value,parent:o==null?void 0:o.data,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:n,children:(0,import_jsx_runtime.jsx)(import_antd.Card,{bordered:!0,children:e.children})})})})})},ToManyNester=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),{options:o,field:r,allowMultiple:i,allowDissociate:n,currentMode:a}=useAssociationFieldContext(),{allowSelectExistingRecord:l}=r.componentProps,{t:c}=(0,import_react_i18next.useTranslation)(),u=useCollectionRecordData(),m=useCollection(),d=(0,import_ahooks.useUpdate)(),{isMobileLayout:p}=useMobileLayout(),h=(0,import_react2.useMemo)(()=>p?(0,import_client.transformMultiColumnToSingleColumn)(t):t,[p,t]),g=(0,import_react2.useMemo)(()=>p?(0,import_client.transformMultiColumnToSingleColumn)(t.parent):t.parent,[p,t.parent]),_=useRefreshComponent(),f=(0,import_react2.useCallback)(()=>{d(),_==null||_()},[d,_]),[v,C]=(0,import_react2.useState)(!1),[S,b]=(0,import_react2.useState)([]),y=useFieldNames$1(e),F=useCompile(),j=useLabelUiSchema$1(o,(y==null?void 0:y.label)||"label"),k=()=>({run(){C(!0)}});Array.isArray(r.value)||(r.value=[]);const T=(0,import_react2.useCallback)(({form:R,fieldSchema:N,collectionField:B,getInterface:I})=>{var $;return!B||B.target&&($=N["x-component-props"])!=null&&$.mode&&!["Picker","Select"].includes(N["x-component-props"].mode)?!1:!(R!=null&&R.readPretty)&&!isPatternDisabled(N)&&!interfacesOfUnsupportedDefaultValue.includes(B==null?void 0:B.interface)&&!isSystemField(B,I)},[]),M=()=>{const{setVisible:R}=useActionContext(),{selectedRows:N,setSelectedRows:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){N.map(I=>r.value.push(markRecordAsNew(I))),r.onInput(r.value),r.initialValue=r.value,B([]),R(!1)}}},w=(0,import_react2.useMemo)(()=>r.value&&Object.keys(r.value).length>0?(Array.isArray(r.value)?r.value:r.value?[r.value]:[]).filter(Boolean).map(R=>{const N=R==null?void 0:R[y.label];return P(x({},R),{[y.label]:getLabelFormatValue$1(F(j),F(N))})}):[],[r.value,y==null?void 0:y.label]),L={size:"small",fieldNames:r.componentProps.fieldNames,multiple:!0,association:{target:o==null?void 0:o.target},options:w,onChange:e==null?void 0:e.onChange,selectedRows:S,setSelectedRows:b,collectionField:o},D=()=>{const R=(o==null?void 0:o.targetKey)||"id",N=(r.value||[]).map(B=>B==null?void 0:B[R]).filter(Boolean);return N.length?{$and:[{[`${R}.$ne`]:N}]}:{}};return r.value.length>0?(0,import_jsx_runtime.jsxs)(import_antd.Card,{bordered:!0,style:{position:"relative"},className:import_css.css`
|
|
999
|
+
`,layout:"vertical",bordered:!1,feedbackLayout:"popover",children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:{scope:l.scope,components:c},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:t.address,schema:o,filterProperties:u=>u["x-component"]==="AssociationField.SubTable"})})})})})},{displayName:"InternalSubTable"}),toValue$3=(e,t)=>e??t,ButtonTabList=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),{enableLink:o,tagColorField:r}=t["x-component-props"],i=useFieldNames$1({fieldNames:e.fieldNames}),n=useInsertSchema$1("Viewer"),{options:a}=useAssociationFieldContext(),l=useCompile(),{designable:c}=useDesignable(),u=useLabelUiSchema$1(a,(i==null?void 0:i.label)||"label"),{snapshot:m}=useActionContext(),d=(0,import_react2.useRef)(),{getCollection:p}=useCollectionManager_deprecated(),h=p(a==null?void 0:a.target),g=(h==null?void 0:h.template)==="tree",{openPopup:_}=usePopupUtils(),f=useCollectionRecordData(),v=(0,import_react2.useRef)(!1),C=(0,import_react2.useRef)(t);C.current=t;const S=(0,import_react2.useCallback)(()=>C.current,[]);return(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:(0,import_shared.toArr)(e.value).map((b,y,F)=>{const j=b==null?void 0:b[(i==null?void 0:i.label)||"label"],k=g?transformNestedData(b).map(w=>w==null?void 0:w[(i==null?void 0:i.label)||"label"]).join(" / "):isObject(j)?JSON.stringify(j):j,T=toValue$3(l(k),"N/A"),M=getTabFormatValue(l(u),T,b[r]);return(0,import_jsx_runtime.jsxs)(import_react2.Fragment,{children:[(0,import_jsx_runtime.jsx)("span",{children:m?M:o!==!1?(0,import_jsx_runtime.jsx)("a",{onMouseEnter:()=>{e.setBtnHover(!0)},onClick:w=>{var L;e.setBtnHover(!0),w.stopPropagation(),w.preventDefault(),c&&!t.properties&&(n(schema$1.Viewer),v.current=!0),v.current?setTimeout(()=>{_({recordData:b,parentRecordData:f,customActionSchema:S()}),v.current=!1}):_({recordData:b,parentRecordData:f}),(L=d==null?void 0:d.current)==null||L.setPopoverVisible(!1)},children:M}):M}),y<F.length-1?(0,import_jsx_runtime.jsx)("span",{style:{marginRight:4,color:"#aaa"},children:","}):null]},`${b==null?void 0:b[i.value]}_${y}`)})})},{displayName:"ButtonTabList"}),ReadPrettyInternalTag=e=>(0,import_jsx_runtime.jsx)(ReadPrettyInternalViewer,P(x({},e),{ButtonList:ButtonTabList}));var AssociationFieldMode=(e=>(e.Picker="Picker",e.Nester="Nester",e.PopoverNester="PopoverNester",e.Select="Select",e.SubTable="SubTable",e.FileManager="FileManager",e.CascadeSelect="CascadeSelect",e.Tag="Tag",e))(AssociationFieldMode||{});const defaultModeToComponent={Picker:InternalPicker,Nester:InternalNester,PopoverNester:InternalPopoverNester,Select:AssociationSelect$1,SubTable:InternalSubTable,FileManager:InternalFileManager,CascadeSelect:InternalCascadeSelect,Tag:ReadPrettyInternalTag},AssociationFieldModeContext=(0,import_react2.createContext)({modeToComponent:defaultModeToComponent,getComponent:e=>defaultModeToComponent[e],getDefaultComponent:e=>defaultModeToComponent[e]}),AssociationFieldModeProvider=e=>{const t=useAssociationFieldModeContext(),o=(0,import_react2.useMemo)(()=>x(x({},t.modeToComponent),e.modeToComponent),[t.modeToComponent,e.modeToComponent]),r=(0,import_react2.useCallback)(a=>o[a]||defaultModeToComponent[a],[o]),i=(0,import_react2.useCallback)(a=>defaultModeToComponent[a],[]),n=(0,import_react2.useMemo)(()=>({modeToComponent:o,getComponent:r,getDefaultComponent:i}),[r,o,i]);return(0,import_jsx_runtime.jsx)(AssociationFieldModeContext.Provider,{value:n,children:e.children})},useAssociationFieldModeContext=()=>import_react2.default.useContext(AssociationFieldModeContext),AssociationFieldProvider=(0,import_react.observer)(e=>{var t,o,r;const i=(0,import_react.useField)(),n=useCollectionManager(),a=(0,import_react.useFieldSchema)(),l=useAPIClient(),c=useSchemaOptionsContext(),u=(0,import_react2.useRef)(null),m=useCollectionRecord();useSchemaComponentContext();const d=((t=a["x-component-props"])==null?void 0:t.multiple)!==!1,p=((o=a["x-component-props"])==null?void 0:o.allowDissociate)!==!1,h=(0,import_react2.useMemo)(()=>n.getCollectionField(a["x-collection-field"]),[a["x-collection-field"],a.name]),g=(0,import_react2.useMemo)(()=>{var F;return((F=n.getCollection(h==null?void 0:h.target))==null?void 0:F.template)==="file"},[a["x-collection-field"]]),_=(0,import_react2.useMemo)(()=>{var F;return((F=a["x-component-props"])==null?void 0:F.mode)||(g?"FileManager":"Select")},[(r=a["x-component-props"])==null?void 0:r.mode]),[f,v]=(0,import_react2.useState)(!i.readPretty),{loading:C,run:S}=useRequest(()=>{var F;const j=h.targetKey;if(!a.default||!["Picker","Select"].includes(_)||!import_lodash.default.isObject(a.default))return Promise.reject(null);const k=Array.isArray(a.default)?a.default.map(T=>T[j]):a.default[j];return import_lodash.default.isUndefined(k)||import_lodash.default.isNil(k)||import_lodash.default.isNaN(k)||m&&!m.isNew?Promise.reject(null):l.request({resource:h.target,action:Array.isArray(k)?"list":"get",headers:getDataSourceHeaders((F=n==null?void 0:n.dataSource)==null?void 0:F.key),params:{filter:{[j]:k}}})},{manual:!0,onSuccess(F){var j;i.initialValue=(j=F==null?void 0:F.data)==null?void 0:j.data}}),{active:b}=useKeepAlive();if((0,import_react2.useEffect)(()=>{var F;if(b){if(v(!0),!h){v(!1);return}if(["Picker","Select"].includes(_)&&a.default&&S(),i.value&&i.form.__template&&["Nester","SubTable","PopoverNester"].includes(_)&&(["belongsTo","hasOne"].includes(h.type)?((F=i.value)!=null&&F[h.targetKey]&&delete i.value[h.targetKey],i.value=x(x({},i.initialValue),i.value)):["belongsToMany","hasMany"].includes(h.type)&&Array.isArray(i.value)&&(i.value=i.value.map(j=>{var k;return delete j[h.targetKey],x(x({},(k=i.initialValue)==null?void 0:k[0]),j)}))),i.value!==null&&i.value!==void 0){["Nester","PopoverNester"].includes(_)&&Array.isArray(i.value)&&i.value.length===0&&["belongsToMany","hasMany","belongsToArray"].includes(h.type)&&(i.value=[markRecordAsNew({})]),v(!1);return}["Nester"].includes(_)&&(["belongsTo","hasOne"].includes(h.type)?i.value={}:["belongsToMany","hasMany","belongsToArray"].includes(h.type)&&(i.value=[markRecordAsNew({})])),_==="SubTable"&&(i.value=[]),v(!1)}},[_,h,i,b]),f||C)return null;const y=P(x({},c.components),{FormItem:F=>(0,import_jsx_runtime.jsx)(FormItem,P(x({},F),{getPopupContainer:j=>u.current||document.body}))});return h?(0,import_jsx_runtime.jsx)("div",{ref:u,children:(0,import_jsx_runtime.jsx)(AssociationFieldContext.Provider,{value:{options:h,field:i,fieldSchema:a,allowMultiple:d,allowDissociate:p,currentMode:_},children:(0,import_jsx_runtime.jsx)(import_react.SchemaOptionsContext.Provider,{value:{components:y,scope:c.scope},children:e.children})})}):null},{displayName:"AssociationFieldProvider"}),InternalField=e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useCollectionField_deprecated(),{getInterface:i}=useCollectionManager_deprecated(),{uiSchema:n}=r,a=i(r.interface),l=useComponent((n==null?void 0:n["x-component"])||a.default.uiSchema["x-component"]),c=useCompile(),u=(d,p)=>{t[d]=typeof t[d]>"u"?p:t[d]},m=()=>{typeof o.required>"u"&&(t.required=!!n.required)};return(0,import_react2.useEffect)(()=>{if(!n)return;u("content",n["x-content"]),u("title",n.title),u("description",n.description),u("initialValue",n.default),o["x-disabled"]===!0&&(t.disabled=!0),o["x-read-pretty"]===!0&&(t.readPretty=!0),m(),t.dataSource=n.enum;const d=c(n["x-component-props"])||{},p=(0,import_shared.merge)(d,t.componentProps||{});t.componentProps=p},[JSON.stringify(n)]),n?import_react2.default.createElement(l,e,e.children):null},CollectionField=e=>{const t=(0,import_react.useFieldSchema)();return(0,import_jsx_runtime.jsx)(CollectionFieldProvider,{name:t.name,children:(0,import_jsx_runtime.jsx)(InternalField,x({},e))})};var AssignedFieldValueType=(e=>(e.ConstantValue="constantValue",e.DynamicValue="dynamicValue",e))(AssignedFieldValueType||{});const AssignedFieldInner=e=>{const{value:t,onChange:o}=e,{getCollectionFields:r,getAllCollectionsInheritChain:i}=useCollectionManager_deprecated(),n=useCollection_deprecated(),{form:a}=useFormBlockContext(),l=(0,import_react.useFieldSchema)(),c=(0,import_react.useField)(),u=useRecord(),m=useVariables$1(),d=useLocalVariables$1(),p=useCollectionFilterOptions(n),{name:h,getField:g}=n,_=g(l.name),{uiSchema:f}=useCollectionField_deprecated(),v=(0,import_react2.useMemo)(()=>getShouldChange({collectionField:_,variables:m,localVariables:d,getAllCollectionsInheritChain:i}),[_,i,d,m]),C=(0,import_react2.useCallback)(b=>{const y=b.find(j=>j.value==="$nForm"),F=r(h);return!(F!=null&&F.length)&&y&&(y.children=formatVariableScop(p)),(0,import_lodash.cloneDeepWith)(b,j=>{if((0,import_react2.isValidElement)(j))return j})},[p,h]),S=(0,import_react2.useCallback)(({value:b,onChange:y})=>(0,import_jsx_runtime.jsx)(CollectionField,P(x({},e),{value:b,onChange:y})),[JSON.stringify(import_lodash.default.omit(e,"value"))]);return(0,import_react2.useEffect)(()=>{f&&(c.title=typeof c.title>"u"?(f==null?void 0:f.title)||c.name:c.title)},[JSON.stringify(f)]),(0,import_jsx_runtime.jsx)(FlagProvider,{collectionField:_,children:(0,import_jsx_runtime.jsx)(VariableInput,{form:a,record:u,value:t,onChange:o,renderSchemaComponent:S,collectionField:_,shouldChange:v,returnScope:C,targetFieldSchema:l})})},AssignedField=e=>(useFormBlockContext(),useBlockContext(),(0,import_jsx_runtime.jsx)(AssignedFieldInner,x({},e)));function useAclCheck(e){return useAclCheckFn()(e)}function useAclCheckFn(){const{data:e,inResources:t,getResourceActionParams:o,getStrategyActionParams:r}=useACLRolesCheck(),i=useRecordPkValue(),n=useCollection_deprecated();function a(l){const c=n.resource,u=(m,d={})=>{const[p]=m.split(":");return e!=null&&e.allowAll?{}:t(p)?o(m):r(m)};return!l&&c&&(l=`${c}:create}`),l!=null&&l.includes(":")||(l=`${c}:${l}`),l?!!u(l,{recordPkValue:i}):!0}return a}const InternalCreateRecordAction=(e,t)=>{const o=(0,import_react.useFieldSchema)(),r=(0,import_react.useField)(),i=(o==null?void 0:o["x-linkage-rules"])||[],n=useRecord(),a=useVariables$1(),l=useLocalVariables$1({currentForm:{values:n}}),{openPopup:c}=usePopupUtils(),u=useTreeParentRecord(),m=useCollectionManager(),d=useApp();(0,import_react2.useEffect)(()=>{r.stateOfLinkageRules={},i.filter(g=>!g.disabled).forEach(g=>{var _;(_=g.actions)==null||_.forEach(f=>{linkageAction({operator:f.operator,field:r,condition:g.condition,variables:a,localVariables:l,conditionType:g.conditionType},d.jsonLogic)})})},[r,i,l,a]);const p=(0,import_react2.createRef)(),h=(0,import_ref.composeRef)(t,p);return(0,import_jsx_runtime.jsx)("div",{ref:h,children:(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:g=>{var _;g=m.getCollection(g.name)||g,u?c({recordData:u}):(_=g.isInherited)!=null&&_.call(g)?c({collectionNameUsedInURL:g.name}):c()}}))})};function getLinkageCollection(e,t,o){const r={$form:t.values,$iteration:t.values};if(e.includes("$iteration")){const i=o.path.segments.concat([]);return i.splice(-2),e=e.replace("$iteration.",`$iteration.${i.join(".")}.`),parseVariables(e,r)}else return parseVariables(e,{$form:t.values})}const CreateAction=(0,import_react.observer)(e=>{var t;const{onClick:o}=e,r=useCollection_deprecated(),i=(0,import_react.useFieldSchema)(),n=(0,import_react.useField)(),a=(0,import_react.useForm)(),l=useVariables$1(),c=useAclCheckFn(),u=i["x-enable-children"]||[],m=i==null?void 0:i["x-allow-add-to-current"],d=(t=i==null?void 0:i["x-component-props"])==null?void 0:t.linkageFromForm,p=n.componentProps.type==="danger"?void 0:n.componentProps.type||"primary",{getChildrenCollections:h}=useCollectionManager_deprecated(),g=h(r.name),_=(0,import_react2.useMemo)(()=>u.map(T=>{if(!T)return;const M=g.find(w=>w.name===T.collection);if(M)return P(x({},M.getOptions()),{title:T.title||M.title})}).filter(T=>T&&c(`${T.name}:create`)),[u,g]),f=(i==null?void 0:i["x-linkage-rules"])||[],v=useRecord(),C=useLocalVariables$1({currentForm:{values:v}}),S=useCompile(),{designable:b}=useDesignable(),y=e.icon||null,F=useApp(),j=(0,import_react2.useMemo)(()=>_.map(T=>({key:T.name,label:S(T.title),onClick:()=>o==null?void 0:o(T)})),[_,o]),k=(0,import_react2.useMemo)(()=>({items:j}),[j]);return(0,import_react2.useEffect)(()=>{n.stateOfLinkageRules={},f.filter(T=>!T.disabled).forEach(T=>{var M;(M=T.actions)==null||M.forEach(w=>{linkageAction({operator:w.operator,field:n,condition:T.condition,variables:l,localVariables:C,conditionType:T.conditionType},F.jsonLogic)})})},[n,f,C,l]),(0,import_jsx_runtime.jsx)("div",{children:(0,import_jsx_runtime.jsx)(FinallyButton,{inheritsCollections:_,linkageFromForm:d,allowAddToCurrent:m,props:e,componentType:p,menu:k,onClick:o,collection:r,icon:y,field:n,form:a,designable:b})})},{displayName:"CreateAction"});function FinallyButton(e){var t=e,{inheritsCollections:o,linkageFromForm:r,allowAddToCurrent:i,props:n}=t,a=n,{onlyIcon:l}=a,c=Y(a,["onlyIcon"]),{componentType:u,menu:m,onClick:d,collection:p,icon:h,field:g,form:_,designable:f}=t,v,C,S,b,y,F;const{getCollection:j}=useCollectionManager_deprecated(),k=useACLActionParamsContext(),T=(0,import_react2.useMemo)(()=>{var M;const w=f&&(((M=g==null?void 0:g.data)==null?void 0:M.hidden)||!k);return{opacity:u!=="link"&&w?.1:1}},[f,(v=g==null?void 0:g.data)==null?void 0:v.hidden,k,u]);return(o==null?void 0:o.length)>0?r?(0,import_jsx_runtime.jsx)(import_antd.Button,{"aria-label":c["aria-label"],type:u,disabled:g.disabled,danger:c.danger,icon:h,onClick:M=>{const w=getLinkageCollection(r,_,g),L=o.find(R=>R.name===w)?w:p.name,D=j(L);d==null||d(D)},style:x({display:!f&&((C=g==null?void 0:g.data)==null?void 0:C.hidden)&&"none",opacity:f&&((S=g==null?void 0:g.data)==null?void 0:S.hidden)&&.1},T),children:c.children}):i===void 0||i?(0,import_jsx_runtime.jsxs)(import_antd.Dropdown.Button,{"aria-label":c["aria-label"],danger:c.danger,type:u,icon:(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{}),style:x(x({},c==null?void 0:c.style),T),buttonsRender:([M,w])=>[import_react2.default.cloneElement(M,{style:c==null?void 0:c.style}),import_react2.default.cloneElement(w,{loading:!1,style:P(x({},c==null?void 0:c.style),{justifyContent:"center"})})],menu:m,onClick:M=>{d==null||d(p)},children:[h,c.children]}):(0,import_jsx_runtime.jsx)(import_antd.Dropdown,{menu:m,children:(0,import_jsx_runtime.jsxs)(import_antd.Button,{"aria-label":c["aria-label"],icon:h,type:u,danger:c.danger,style:x(x({},c==null?void 0:c.style),T),children:[c.children," ",(0,import_jsx_runtime.jsx)(import_icons.DownOutlined,{})]})}):(0,import_jsx_runtime.jsx)(import_antd.Button,P(x({},c),{"aria-label":c["aria-label"],type:u,disabled:g.disabled,danger:c.danger,icon:h,onClick:M=>{d==null||d(p)},style:x(P(x({},c==null?void 0:c.style),{display:!f&&(b=g==null?void 0:g.data)!=null&&b.hidden?"none":"inline-block",opacity:f&&((y=g==null?void 0:g.data)==null?void 0:y.hidden)&&.1}),T),children:l?(F=c==null?void 0:c.children)==null?void 0:F[1]:c==null?void 0:c.children}))}const CreateRecordAction$1=(0,import_react2.forwardRef)(InternalCreateRecordAction),initializerComponents=Object.freeze(Object.defineProperty({__proto__:null,AssignedField,AssignedFieldInner,AssignedFieldValueType,CreateAction,CreateRecordAction:CreateRecordAction$1,useAclCheck},Symbol.toStringTag,{value:"Module"})),CreateRecordAction=(0,import_react.observer)(e=>{const t=(0,import_react.useField)(),o=(0,import_react.useFieldSchema)(),r=useActionContext(),{getCollection:i}=useCollectionManager_deprecated(),n=useInsertSchema$1("AddNewer"),{options:a}=useAssociationFieldContext(),[l,c]=(0,import_react2.useState)(!1),u=i(a==null?void 0:a.target),[m,d]=(0,import_react2.useState)(u==null?void 0:u.name),[p,h]=(0,import_react2.useState)(u==null?void 0:u.dataSource),[g,_]=(0,import_react2.useState)(!1),f=(0,import_react2.useMemo)(()=>o.reduceProperties((C,S)=>S["x-component"]==="AssociationField.AddNewer"?(Object.keys(S.parent.properties).forEach(b=>{b!==S.name&&S.parent.removeProperty(b)}),S.parent):C),[o]),v=C=>{n(schema$1.AddNewer),c(!0),d(C.name),h(C.dataSource)};return(0,import_jsx_runtime.jsxs)(CollectionProvider_deprecated,{name:a==null?void 0:a.target,children:[(0,import_jsx_runtime.jsx)(CreateAction,P(x({},e),{onClick:C=>v(C)})),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:P(x({},r),{visible:l,setVisible:c,formValueChanged:g,setFormValueChanged:_}),children:(0,import_jsx_runtime.jsx)(CollectionProvider_deprecated,{name:m,dataSource:p,children:(0,import_jsx_runtime.jsx)(TabsContextProvider,{children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:t.address,schema:f})})})})]})},{displayName:"CreateRecordAction"}),EditableAssociationField=e=>{const{multiple:t}=e,o=(0,import_react.useField)(),r=(0,import_react.useForm)(),{options:i,currentMode:n}=useAssociationFieldContext(),{getComponent:a}=useAssociationFieldModeContext(),l=()=>{const{onClick:u}=useAssociationCreateActionProps(),m=(0,import_react.useField)(),{getPrimaryKey:d}=useCollection_deprecated(),p=d();return{onClick(){return z(this,null,function*(){var h,g;yield u();const{data:_}=((g=(h=m.data)==null?void 0:h.data)==null?void 0:g.data)||{};if(_)if(["m2m","o2m"].includes(i==null?void 0:i.interface)&&t!==!1){const f=r.getValuesIn(o.path)||[];f.find(v=>v[p]===_[p])||(f.push(_),r.setValuesIn(o.path,f),o.onInput(f))}else r.setValuesIn(o.path,_),o.onInput(_)})}}},c=a(n);return(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{useCreateActionProps:l},components:{CreateRecordAction},children:(0,import_jsx_runtime.jsx)(c,x({},e))})},Editable$1=(0,import_react.observer)(e=>(0,import_jsx_runtime.jsx)(AssociationFieldProvider,{children:(0,import_jsx_runtime.jsx)(EditableAssociationField,x({},e))}),{displayName:"Editable"}),Nester=e=>{const{options:t}=(0,import_react2.useContext)(AssociationFieldContext);return["hasOne","belongsTo"].includes(t.type)?(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(ToOneNester,x({},e))}):["hasMany","belongsToMany","belongsToArray"].includes(t.type)?(0,import_jsx_runtime.jsx)(FlagProvider,{isInSubForm:!0,children:(0,import_jsx_runtime.jsx)(ToManyNester,x({},e))}):null},ToOneNester=e=>{const{field:t}=useAssociationFieldContext(),o=useCollectionRecord(),r=useCollection(),i=(0,import_react.useFieldSchema)(),n=(0,import_react2.useCallback)(({form:a,fieldSchema:l,collectionField:c,getInterface:u,formBlockType:m})=>{var d;return!c||c.target&&(d=l["x-component-props"])!=null&&d.mode&&!["Picker","Select"].includes(l["x-component-props"].mode)||m==="update"?!1:!(a!=null&&a.readPretty)&&!isPatternDisabled(l)&&!interfacesOfUnsupportedDefaultValue.includes(c==null?void 0:c.interface)&&!isSystemField(c,u)},[]);return(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"nester",children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:t.value,collection:r,fieldSchema:i.parent},children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:o==null?void 0:o.isNew,record:t.value,parent:o==null?void 0:o.data,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:n,children:(0,import_jsx_runtime.jsx)(import_antd.Card,{bordered:!0,children:e.children})})})})})},ToManyNester=(0,import_react.observer)(e=>{const t=(0,import_react.useFieldSchema)(),{options:o,field:r,allowMultiple:i,allowDissociate:n,currentMode:a}=useAssociationFieldContext(),{allowSelectExistingRecord:l}=r.componentProps,{t:c}=(0,import_react_i18next.useTranslation)(),u=useCollectionRecordData(),m=useCollection(),d=(0,import_ahooks.useUpdate)(),{isMobileLayout:p}=useMobileLayout(),h=(0,import_react2.useMemo)(()=>p?(0,import_client.transformMultiColumnToSingleColumn)(t):t,[p,t]),g=(0,import_react2.useMemo)(()=>p?(0,import_client.transformMultiColumnToSingleColumn)(t.parent):t.parent,[p,t.parent]),_=useRefreshComponent(),f=(0,import_react2.useCallback)(()=>{d(),_==null||_()},[d,_]),[v,C]=(0,import_react2.useState)(!1),[S,b]=(0,import_react2.useState)([]),y=useFieldNames$1(e),F=useCompile(),j=useLabelUiSchema$1(o,(y==null?void 0:y.label)||"label"),k=()=>({run(){C(!0)}});Array.isArray(r.value)||(r.value=[]);const T=(0,import_react2.useCallback)(({form:R,fieldSchema:N,collectionField:B,getInterface:I})=>{var $;return!B||B.target&&($=N["x-component-props"])!=null&&$.mode&&!["Picker","Select"].includes(N["x-component-props"].mode)?!1:!(R!=null&&R.readPretty)&&!isPatternDisabled(N)&&!interfacesOfUnsupportedDefaultValue.includes(B==null?void 0:B.interface)&&!isSystemField(B,I)},[]),M=()=>{const{setVisible:R}=useActionContext(),{selectedRows:N,setSelectedRows:B}=(0,import_react2.useContext)(RecordPickerContext);return{onClick(){N.map(I=>r.value.push(markRecordAsNew(I))),r.onInput(r.value),r.initialValue=r.value,B([]),R(!1)}}},w=(0,import_react2.useMemo)(()=>r.value&&Object.keys(r.value).length>0?(Array.isArray(r.value)?r.value:r.value?[r.value]:[]).filter(Boolean).map(R=>{const N=R==null?void 0:R[y.label];return P(x({},R),{[y.label]:getLabelFormatValue$1(F(j),F(N))})}):[],[r.value,y==null?void 0:y.label]),L={size:"small",fieldNames:r.componentProps.fieldNames,multiple:!0,association:{target:o==null?void 0:o.target},options:w,onChange:e==null?void 0:e.onChange,selectedRows:S,setSelectedRows:b,collectionField:o},D=()=>{const R=(o==null?void 0:o.targetKey)||"id",N=(r.value||[]).map(B=>B==null?void 0:B[R]).filter(Boolean);return N.length?{$and:[{[`${R}.$ne`]:N}]}:{}};return r.value.length>0?(0,import_jsx_runtime.jsxs)(import_antd.Card,{bordered:!0,style:{position:"relative"},className:import_css.css`
|
|
1000
1000
|
> .ant-card-body > .ant-divider:last-child {
|
|
1001
1001
|
display: none;
|
|
1002
1002
|
}
|
|
1003
1003
|
`,children:[(0,import_jsx_runtime.jsxs)(RefreshComponentProvider,{refresh:f,children:[r.value.map((R,N)=>{let B=n;return n||(B=!(R!=null&&R[o.targetKey])),(0,import_jsx_runtime.jsxs)(import_react2.default.Fragment,{children:[(0,import_jsx_runtime.jsx)("div",{style:{textAlign:"right"},children:!r.readPretty&&B&&(!t["x-template-uid"]||N>0)&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Remove"),children:(0,import_jsx_runtime.jsx)(import_icons.CloseOutlined,{style:{zIndex:1e3,color:"#a8a3a3"},onClick:()=>{(0,import_reactive.action)(()=>((0,import_internals.spliceArrayState)(r,{startIndex:N,deleteCount:1}),r.value.splice(N,1),Array.isArray(r.initialValue)&&r.initialValue.splice(N,1),r.onInput(r.value)))}})},"remove")}),(0,import_jsx_runtime.jsx)(FormActiveFieldsProvider,{name:"nester",children:(0,import_jsx_runtime.jsx)(SubFormProvider,{value:{value:R,collection:m,fieldSchema:t.parent},children:(0,import_jsx_runtime.jsx)(RecordProvider,{isNew:isNewRecord(R),record:R,parent:u,children:(0,import_jsx_runtime.jsx)(RecordIndexProvider,{index:N,children:(0,import_jsx_runtime.jsx)(DefaultValueProvider,{isAllowToSetDefaultValue:T,children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address.concat(N),schema:h})})})})})}),(0,import_jsx_runtime.jsx)(import_antd.Divider,{})]},N)}),(0,import_jsx_runtime.jsxs)(import_antd.Space,{children:[r.editable&&i&&(0,import_jsx_runtime.jsx)(Action.Link,{useProps:()=>({onClick:()=>{(0,import_reactive.action)(()=>{Array.isArray(r.value)||(r.value=[]);const R=r.value.length;return r.value.splice(R,0,markRecordAsNew({})),(0,import_shared.each)(r.form.fields,(N,B)=>{N||delete r.form.fields[B]}),r.onInput(r.value)})}}),title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},className:"nb-sub-form-addNew",children:[(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{})," ",c("Add new")]})}),r.editable&&l&&a==="Nester"&&i&&(0,import_jsx_runtime.jsx)(Action.Link,{useAction:k,title:(0,import_jsx_runtime.jsxs)(import_antd.Space,{style:{gap:2},children:[(0,import_jsx_runtime.jsx)(import_icons.ZoomInOutlined,{})," ",c("Select record")]})})]})]}),(0,import_jsx_runtime.jsx)(ActionContextProvider,{value:{openSize:"middle",openMode:"drawer",visible:v,setVisible:C},children:(0,import_jsx_runtime.jsx)(RecordPickerProvider,P(x({},L),{children:(0,import_jsx_runtime.jsx)(CollectionProvider,{name:o==null?void 0:o.target,children:(0,import_jsx_runtime.jsx)(FormProvider,{children:(0,import_jsx_runtime.jsx)(TableSelectorParamsProvider,{params:{filter:D()},children:(0,import_jsx_runtime.jsx)(SchemaComponentOptions,{scope:{usePickActionProps:M,useTableSelectorProps:useTableSelectorProps$2,useCreateActionProps},children:(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{onlyRenderProperties:!0,basePath:r.address,schema:g,filterProperties:R=>R["x-component"]==="AssociationField.Selector"})})})})})}))})]}):(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:r.editable&&i&&(0,import_jsx_runtime.jsx)(import_antd.Tooltip,{title:c("Add new"),children:(0,import_jsx_runtime.jsx)(import_antd.Button,{type:"default",className:import_css.css`
|
|
1004
1004
|
border: 1px solid #f0f0f0 !important;
|
|
1005
1005
|
box-shadow: none;
|
|
1006
|
-
`,block:!0,icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),onClick:()=>{const R=r.value;R.push(markRecordAsNew({})),r.value=R}})},"add")})},{displayName:"ToManyNester"}),
|
|
1006
|
+
`,block:!0,icon:(0,import_jsx_runtime.jsx)(import_icons.PlusOutlined,{}),onClick:()=>{const R=r.value;R.push(markRecordAsNew({})),r.value=R}})},"add")})},{displayName:"ToManyNester"}),ReadPrettyAssociationField=e=>{const{currentMode:t}=useAssociationFieldContext();return(0,import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment,{children:[["Select","Picker","CascadeSelect"].includes(t)&&(0,import_jsx_runtime.jsx)(ReadPrettyInternalViewer,x({},e)),t==="Tag"&&(0,import_jsx_runtime.jsx)(ReadPrettyInternalTag,x({},e)),t==="Nester"&&(0,import_jsx_runtime.jsx)(InternalNester,x({},e)),t==="SubTable"&&(0,import_jsx_runtime.jsx)(InternalSubTable,x({},e)),t==="FileManager"&&(0,import_jsx_runtime.jsx)(FileManageReadPretty,x({},e))]})},ReadPretty$7=(0,import_react.observer)(e=>{const t=(0,import_react.useField)(),o=t.initialValue,r=t.value||o;return(0,import_jsx_runtime.jsx)(AssociationFieldProvider,{children:(0,import_jsx_runtime.jsx)(ReadPrettyAssociationField,P(x({},e),{value:r}))})},{displayName:"ReadPretty"}),ColumnFieldProvider=e=>{const{schema:t,basePath:o}=e,r=useRecord(),i=useCollection(),n=(0,import_react2.useMemo)(()=>t.reduceProperties((l,c)=>c["x-component"]==="CollectionField"?c:l,null),[t]),a=n&&i.getField(n["x-collection-field"]);if(n&&r!=null&&r.__collection&&a&&["select","multipleSelect"].includes(a.interface)){const l=`${r.__collection}.${n.name}`,c=P(x({},t.toJSON()),{properties:{[n.name]:P(x({},n.toJSON()),{"x-collection-field":l})}});return(0,import_jsx_runtime.jsx)(NocoBaseRecursionField,{basePath:o,schema:c,onlyRenderProperties:!0,isUseFormilyField:!0})}return e.children},InViewContext=import_react2.default.createContext(!1),useArrayField=e=>{const t=(0,import_react.useField)();return e.field||t};function getSchemaArrJSON(e){return e.map(t=>t.name==="actions"?(0,import_lodash.omit)(t.toJSON(),"properties"):t.toJSON())}function adjustColumnOrder(e){const t=[],o=[],r=[];return e.forEach(i=>{i.fixed==="left"?t.push(i):i.fixed==="right"?r.push(i):o.push(i)}),[...t,...o,...r]}const useColumnsDeepMemoized=e=>{const t=getSchemaArrJSON(e),o=(0,import_ahooks.useCreation)(()=>({value:import_lodash.default.cloneDeep(t)}),[]);return import_lodash.default.isEqual(t,o.value)||(o.value=import_lodash.default.cloneDeep(t)),o.value},TableColumnTitle=withTooltipComponent(import_react.RecursionField),useTableColumns$1=(e,t)=>{const{token:o}=useToken$1(),{t:r}=(0,import_react_i18next.useTranslation)(),i=useArrayField(e),n=(0,import_react.useFieldSchema)(),{schemaInWhitelist:a}=useACLFieldWhitelist(),{designable:l}=useDesignable(),{exists:c,render:u}=useSchemaInitializerRender(n["x-initializer"],n["x-initializer-props"]),m=useCollectionParentRecordData(),d=n.reduceProperties((C,S)=>isColumnComponent$1(S)&&a(Object.values(S.properties||{}).pop())?C.concat([S]):C,[]),{current:p,pageSize:h}=t,g=useColumnsDeepMemoized(d),_=(0,import_react2.useMemo)(()=>import_css.css`
|
|
1007
1007
|
.nb-action-link {
|
|
1008
1008
|
margin: -${o.paddingContentVerticalLG}px -${o.marginSM}px;
|
|
1009
1009
|
padding: ${o.paddingContentVerticalLG}px ${o.paddingSM+4}px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/client",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.23",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"@formily/reactive-react": "^2.2.27",
|
|
27
27
|
"@formily/shared": "^2.2.27",
|
|
28
28
|
"@formily/validator": "^2.2.27",
|
|
29
|
-
"@nocobase/evaluators": "1.8.
|
|
30
|
-
"@nocobase/sdk": "1.8.
|
|
31
|
-
"@nocobase/utils": "1.8.
|
|
29
|
+
"@nocobase/evaluators": "1.8.23",
|
|
30
|
+
"@nocobase/sdk": "1.8.23",
|
|
31
|
+
"@nocobase/utils": "1.8.23",
|
|
32
32
|
"ahooks": "^3.7.2",
|
|
33
33
|
"antd": "5.24.2",
|
|
34
34
|
"antd-style": "3.7.1",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"dumi": "2.2.14",
|
|
84
84
|
"dumi-theme-nocobase": "^0.2.28"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "e5d7668cd760e281f9d1eeca6828ea2bc866bbae"
|
|
87
87
|
}
|