@flatbiz/antd 4.5.27 → 4.5.28

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.
@@ -7,5 +7,5 @@ import './../fba-utils/index.css';
7
7
  import './../flex-layout/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as o,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as i}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as l}from"@flatbiz/utils";import{useSize as a}from"ahooks";import{Form as d,Modal as s}from"antd";import{useState as m,useMemo as c}from"react";import{createRoot as u}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{FlexLayout as h}from"../flex-layout/index.js";import{createCtx as g}from"@wove/react/cjs/create-ctx";import{jsx as y,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";var w=g(),k=w[0],x=w[1];var C=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var b=function e(u){var g,w;var k=u.title,b=u.titleExtra,_=u.divElement,P=u.elementId,E=u.onOk,H=u.onCancel,B=u.okButtonProps,I=u.cancelButtonProps,z=u.content,F=u.configProviderProps,O=u.className,R=u.okHidden,N=u.cancelHidden,T=u.footer,D=u.cancelText,M=u.okText,S=u.size,Y=u.bodyHeight,q=r(u,C);var A=m(true),L=A[0],U=A[1];var G=d.useForm(),J=G[0];var K=a(document.querySelector("html"));var Q=v.useResponsivePoint()||"";var V=m({}),W=V[0],X=V[1];var Z=n.useCallbackRef((function(){try{delete window[P]}catch(e){}U(false)}));v.useEffectCustom((function(){window[P]=Z}),[Z]);var $=n.useCallbackRef((function(e){if(H){var t=H(J,e);if(t&&i(t)){return t.then(Z)}}return Z()}));var ee=n.useCallbackRef((function(e){if(E){var t=E(J,e);if(t&&i(t)){return t.then(Z)}}return Z()}));var te=n.useCallbackRef((function(){l.removeBodyChild("#"+P);u.afterClose==null?void 0:u.afterClose()}));var oe=v.useMemoCustom((function(){if(T){return typeof T==="function"?T(J,W):T}if(N&&R){return null}return[y(f,o({},I,{onClick:$,hidden:N,children:D||"取消"}),"0"),y(f,o({type:"primary"},B,{onClick:ee,hidden:R,children:M||"提交"}),"1")].filter(Boolean)}),[W]);var re=c((function(){if(!(K!=null&&K.height)||!Q)return undefined;var e=["xs","sm"].includes(Q);if(S=="large"){return{height:(K==null?void 0:K.height)*.7,width:e?"90%":K.width*.6}}if(S=="small"){var t=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e?"90%":t<470?470:t}}if(S=="middle"){return{height:(K==null?void 0:K.height)*.4,width:e?"90%":K.width*.5}}return undefined}),[K==null?void 0:K.height,K==null?void 0:K.width,Q,S]);var ie=t("v-dialog-modal",{"v-dialog-modal-title-extra":!!b},O);var ne=function e(t){X(t)};var le=((g=q.styles)==null||(g=g.body)==null?void 0:g.height)||Y;return y(x,{value:{rerenderFooter:ne},children:y(p,o({},F,{children:y(s,o({title:b?j(h,{direction:"horizontal",fullIndex:0,children:[y("span",{children:k}),b]}):k,maskClosable:true,centered:true,onCancel:Z,destroyOnClose:true,width:re==null?void 0:re.width},q,{footer:oe,styles:o({},q.styles,{body:o({height:le||(re==null?void 0:re.height),maxHeight:"calc(100vh - 200px)"},(w=q.styles)==null?void 0:w.body)}),className:ie,open:L,afterClose:te,getContainer:_,children:typeof z==="function"?z(J,{onClose:Z}):z}))}))})};var _={open:function e(t){var r=l.bodyAppendDivElement(),i=r.divElement,n=r.elementId;window["__dialog_modal_elementId"]=n;var a=u(i);a.render(y(b,o({},t,{divElement:i,elementId:n})));return{close:function e(){var t,o;(t=(o=window)[n])==null?void 0:t.call(o)}}},close:function t(){try{var o,r;var i=window["__dialog_modal_elementId"];if(e(i))(o=(r=window)[i])==null?void 0:o.call(r)}catch(e){}},useDialogModal:function e(){var t=k();return{rerenderFooter:function e(o){t.rerenderFooter(o)}}}};export{_ as dialogModal};
10
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as o,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as i}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as l}from"@flatbiz/utils";import{useSize as a}from"ahooks";import{Form as d,Modal as s}from"antd";import{useState as m,useMemo as c}from"react";import{createRoot as u}from"react-dom/client";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{FlexLayout as h}from"../flex-layout/index.js";import{createCtx as g}from"@wove/react/cjs/create-ctx";import{jsx as y,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";var w=g(),k=w[0],x=w[1];var C=["title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var b=function e(u){var g,w;var k=u.title,b=u.titleExtra,_=u.divElement,P=u.elementId,E=u.onOk,H=u.onCancel,B=u.okButtonProps,I=u.cancelButtonProps,z=u.content,F=u.configProviderProps,O=u.className,R=u.okHidden,N=u.cancelHidden,T=u.footer,D=u.cancelText,M=u.okText,S=u.size,Y=u.bodyHeight,q=r(u,C);var A=m(true),L=A[0],U=A[1];var G=d.useForm(),J=G[0];var K=a(document.querySelector("html"));var Q=v.useResponsivePoint()||"";var V=m({}),W=V[0],X=V[1];var Z=n.useCallbackRef((function(){try{delete window[P]}catch(e){}U(false)}));v.useEffectCustom((function(){window[P]=Z}),[Z]);var $=n.useCallbackRef((function(e){if(H){var t=H(J,e);if(t&&i(t)){return t.then(Z)}}return Z()}));var ee=n.useCallbackRef((function(e){if(E){var t=E(J,e);if(t&&i(t)){return t.then(Z)}}return Z()}));var te=n.useCallbackRef((function(){l.removeBodyChild("#"+P);u.afterClose==null?void 0:u.afterClose()}));var oe=v.useMemoCustom((function(){if(T){return typeof T==="function"?T(J,W):T}if(N&&R||T===null){return null}return[y(f,o({},I,{onClick:$,hidden:N,children:D||"取消"}),"0"),y(f,o({type:"primary"},B,{onClick:ee,hidden:R,children:M||"提交"}),"1")].filter(Boolean)}),[W]);var re=c((function(){if(!(K!=null&&K.height)||!Q)return undefined;var e=["xs","sm"].includes(Q);if(S=="large"){return{height:(K==null?void 0:K.height)*.7,width:e?"90%":K.width*.6}}if(S=="small"){var t=K.width*.3;return{height:(K==null?void 0:K.height)*.4,width:e?"90%":t<470?470:t}}if(S=="middle"){return{height:(K==null?void 0:K.height)*.4,width:e?"90%":K.width*.5}}return undefined}),[K==null?void 0:K.height,K==null?void 0:K.width,Q,S]);var ie=t("v-dialog-modal",{"v-dialog-modal-title-extra":!!b},O);var ne=function e(t){X(t)};var le=((g=q.styles)==null||(g=g.body)==null?void 0:g.height)||Y;return y(x,{value:{rerenderFooter:ne},children:y(p,o({},F,{children:y(s,o({title:b?j(h,{direction:"horizontal",fullIndex:0,children:[y("span",{children:k}),b]}):k,maskClosable:true,centered:true,onCancel:Z,destroyOnClose:true,width:re==null?void 0:re.width},q,{footer:oe,styles:o({},q.styles,{body:o({height:le||(re==null?void 0:re.height),maxHeight:"calc(100vh - 200px)"},(w=q.styles)==null?void 0:w.body)}),className:ie,open:L,afterClose:te,getContainer:_,children:typeof z==="function"?z(J,{onClose:Z}):z}))}))})};var _={open:function e(t){var r=l.bodyAppendDivElement(),i=r.divElement,n=r.elementId;window["__dialog_modal_elementId"]=n;var a=u(i);a.render(y(b,o({},t,{divElement:i,elementId:n})));return{close:function e(){var t,o;(t=(o=window)[n])==null?void 0:t.call(o)}}},close:function t(){try{var o,r;var i=window["__dialog_modal_elementId"];if(e(i))(o=(r=window)[i])==null?void 0:o.call(r)}catch(e){}},useDialogModal:function e(){var t=k();return{rerenderFooter:function e(o){t.rerenderFooter(o)}}}};export{_ as dialogModal};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/context.ts","@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useDialogModalCtx, DialogModalCtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { DialogModalCtxProvider, useDialogModalCtx } from './context';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:无\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if (cancelHidden && okHidden) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'v-dialog-modal',\n { 'v-dialog-modal-title-extra': !!titleExtra },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n return (\n <DialogModalCtxProvider value={{ rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n </DialogModalCtxProvider>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * 4. size属性可使用预设的弹窗尺寸(默认值middle),如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogModal: () => {\n const ctx = useDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["_createCtx","_createCtx2","useDialogModalCtx","DialogModalCtxProvider","ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","_useState2","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","footerNew","useMemoCustom","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","filter","Boolean","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","value","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogModal","ctx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/context.ts","@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useDialogModalCtx, DialogModalCtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport { DialogModalCtxProvider, useDialogModalCtx } from './context';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度,默认:无\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'v-dialog-modal',\n { 'v-dialog-modal-title-extra': !!titleExtra },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n return (\n <DialogModalCtxProvider value={{ rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n </DialogModalCtxProvider>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * 4. size属性可使用预设的弹窗尺寸(默认值middle),如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogModal: () => {\n const ctx = useDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["_createCtx","_createCtx2","useDialogModalCtx","DialogModalCtxProvider","ModalRender","props","_otherProps$styles","_otherProps$styles2","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","screenType","fbaHooks","useResponsivePoint","_useState2","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","footerNew","useMemoCustom","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","filter","Boolean","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","value","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","maxHeight","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogModal","ctx"],"mappings":"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"}
@@ -16,5 +16,5 @@ import './../form-item-wrapper/index.css';
16
16
  import './../tips-wrapper/index.css';
17
17
  import './index.css';
18
18
  /*! @flatjs/forge MIT @flatbiz/antd */
19
- import e from"@ant-design/icons/es/icons/PlusOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as i}from"@wove/react/cjs/hooks";import{toArray as o,isUndefinedOrNull as t}from"@flatbiz/utils";import{Form as a,Empty as l}from"antd";import{useRef as d,useMemo as s,Fragment as m,createElement as u,isValidElement as p}from"react";import{ButtonWrapper as c}from"../button-wrapper/index.js";import{CardWrapper as f}from"../card-wrapper/index.js";import{DeleteNode as v}from"../delete-node/index.js";import{EasyForm as g}from"../easy-form/index.js";import{fbaUtils as y}from"../fba-utils/index.js";import{FormItemHidden as j}from"../form-item-hidden/index.js";import{FormItemWrapper as h}from"../form-item-wrapper/index.js";import{TipsWrapper as x}from"../tips-wrapper/index.js";import{jsx as b,jsxs as F}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var k=function k(w){var C=a.useFormInstance();var P=o(w.formListName);var R=d();var N=i.useForceUpdate();var I=w.formListCompleteName||P;var E=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(C.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var D=i.useCallbackRef((function(e){return C.getFieldValue(e)}));var q=i.useCallbackRef((function(e,r){y.setFormFieldsAndTriggerValuesChange(C,r.map((function(r){return{name:[].concat(I,[e],o(r.name)),value:r.value}})));N()}));var L=s((function(){return w.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=b(x,{tipType:"popover",popoverProps:{content:e.tips},children:i})}var l=e.required;if(!l&&typeof e.formItemProps==="object"&&(r=e.formItemProps.rules)!=null&&r.length){l=!!e.formItemProps.rules.find((function(e){return!!e["required"]}))}var d=o(e["dataIndex"]);return{render:function r(i,o,s){var p;var c=C.getFieldValue([].concat(I,[o.name]));var f=C.getFieldValue([].concat(I,[o.name],d));if(t(e.render)){return b(m,{children:f})}var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable(c,i):e==null?void 0:e.editable;var g=[].concat(I,[o.name]);var y={index:i,editable:v,add:s.add,remove:s.remove,move:s.move,rowFormItemName:o.name,rowFormItemCompleteName:g,setCurrentRowField:q.bind(null,o.name),validateRowFields:E.bind(null,g),getCurrentRowData:D.bind(null,g),forceUpdate:N};if(e.hidden!=null&&e.hidden(c,i)){return b(j,{name:[o.name].concat(d)},o.key)}var x=typeof e.formItemProps==="function"?e.formItemProps(y):e.formItemProps;if(!((p=x)!=null&&(p=p.rules)!=null&&p.length)&&l){x=n({},x,{rules:[{required:true,message:""}]})}if(v===true){return u(h,n({},x,{name:[o.name].concat(d),label:a,span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(y))}return b(h,n({label:a,span:e.gridNumber},x,{children:e.render==null?void 0:e.render(y)}),o.key)}}}))}),[w.columns,C,I,q,E,D,N]);var V=r("editable-card",w.className);return b("div",{className:V,style:w.style,children:b(a.List,{name:P,rules:w.rules,children:function r(i,o,t){var d=t.errors;R.current=o;return F("div",{style:{borderRadius:"6px",border:d!=null&&d.length?"1px solid #ff4d4f":"1px solid transparent"},children:[w.contentBeforeRender==null?void 0:w.contentBeforeRender(o,i.length),i.map((function(e,r){var t;var a=w.onCustomGroupName?w.onCustomGroupName(r):r+1;var l={index:r,fields:i,fieldItem:e,operation:o,required:w.required,key:""+e.key};if(w.onCustomWrapper){var d;return w.onCustomWrapper(b(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(d=w.cardEasyFormProps)==null?void 0:d.style),children:L.map((function(r,n){return r.render(n,e,o)}))}),e.key),l)}var s=w.cardExtraRender==null?void 0:w.cardExtraRender(l);return b(f,{className:w.cardClassName,title:a,size:"small",style:n({padding:0,margin:"0 0 15px 0"},w.cardStyle),bodyStyle:{paddingBottom:0},extra:p(s)?s:F("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s==null?void 0:s["before"],b(v,{style:{color:"red"},hidden:w.required&&i.length===1,onDelete:function e(){o.remove(r)}}),s==null?void 0:s["after"]]}),children:b(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(t=w.cardEasyFormProps)==null?void 0:t.style),children:L.map((function(r,n){return r.render(n,e,o)}))}),e.key)},e.key)})),i.length===0?b("div",{className:"editable-card-empty",children:b(l,{image:l.PRESENTED_IMAGE_SIMPLE})}):null,b(c,{block:true,hidden:w.hiddenFooterBtn,type:"dashed",icon:b(e,{}),style:{marginTop:i.length?15:0},onClick:function e(){var r=w.addRowDefaultValues==null?void 0:w.addRowDefaultValues();o.add(n({},r))},children:"新增"}),w.contentAfterRender==null?void 0:w.contentAfterRender(o,i.length),d.length?b(a.ErrorList,{errors:[b("div",{style:{color:"#ff4d4f",padding:"5px"},children:d},"0")]}):null]})}})})};export{k as EditableCard};
19
+ import e from"@ant-design/icons/es/icons/PlusOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as i}from"@wove/react/cjs/hooks";import{toArray as o,isUndefinedOrNull as t}from"@flatbiz/utils";import{Form as a,ConfigProvider as d,Empty as l}from"antd";import{useRef as s,useMemo as m,Fragment as u,createElement as p,isValidElement as c}from"react";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{CardWrapper as v}from"../card-wrapper/index.js";import{DeleteNode as g}from"../delete-node/index.js";import{EasyForm as y}from"../easy-form/index.js";import{fbaUtils as j}from"../fba-utils/index.js";import{FormItemHidden as h}from"../form-item-hidden/index.js";import{FormItemWrapper as x}from"../form-item-wrapper/index.js";import{TipsWrapper as b}from"../tips-wrapper/index.js";import{jsx as F,jsxs as k}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var w=function w(C){var P=a.useFormInstance();var R=o(C.formListName);var N=s();var I=i.useForceUpdate();var E=d.useConfig(),D=E.componentDisabled;var q=C.formListCompleteName||R;var B=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(P.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var L=i.useCallbackRef((function(e){return P.getFieldValue(e)}));var _=i.useCallbackRef((function(e,r){j.setFormFieldsAndTriggerValuesChange(P,r.map((function(r){return{name:[].concat(q,[e],o(r.name)),value:r.value}})));I()}));var O=m((function(){return C.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=F(b,{tipType:"popover",popoverProps:{content:e.tips},children:i})}var d=e.required;if(!d&&typeof e.formItemProps==="object"&&(r=e.formItemProps.rules)!=null&&r.length){d=!!e.formItemProps.rules.find((function(e){return!!e["required"]}))}var l=o(e["dataIndex"]);return{render:function r(i,o,s){var m;var c=P.getFieldValue([].concat(q,[o.name],l));if(t(e.render)){return F(u,{children:c})}var f=[].concat(q,[o.name]);var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable({index:i,getCurrentRowData:L.bind(null,f)},i):e==null?void 0:e.editable;var g={index:i,editable:v,add:s.add,remove:s.remove,move:s.move,rowFormItemName:o.name,rowFormItemCompleteName:f,setCurrentRowField:_.bind(null,o.name),validateRowFields:B.bind(null,f),getCurrentRowData:L.bind(null,f),forceUpdate:I};if(e.remove!=null&&e.remove(g,i)){return F(u,{})}if(e.hidden!=null&&e.hidden(g,i)){return F(h,{name:[o.name].concat(l)},o.key)}var y=typeof e.formItemProps==="function"?e.formItemProps(g):e.formItemProps;if(!((m=y)!=null&&(m=m.rules)!=null&&m.length)&&d){y=n({},y,{rules:[{required:true,message:""}]})}if(v===true){return p(x,n({},y,{name:[o.name].concat(l),label:a,span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g))}return F(x,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key)}}}))}),[C.columns,P,q,_,B,L,I]);var S=r("editable-card",C.className);return F("div",{className:S,style:C.style,children:F(a.List,{name:R,rules:C.rules,children:function r(i,o,t){var d=t.errors;N.current=o;return k("div",{style:{borderRadius:"6px",border:d!=null&&d.length?"1px solid #ff4d4f":"1px solid transparent"},children:[C.contentBeforeRender==null?void 0:C.contentBeforeRender(o,i.length),i.map((function(e,r){var t;var a=C.onCustomGroupName?C.onCustomGroupName(r):r+1;var d={index:r,fields:i,fieldItem:e,operation:o,required:C.required,key:""+e.key};if(C.onCustomWrapper){var l;return C.onCustomWrapper(F(y,n({nonuseFormWrapper:true},C.cardEasyFormProps,{style:n({padding:0,margin:0},(l=C.cardEasyFormProps)==null?void 0:l.style),children:O.map((function(n){return n.render(r,e,o)}))}),e.key),d)}var s=C.cardExtraRender==null?void 0:C.cardExtraRender(d);return F(v,{className:C.cardClassName,title:a,size:"small",style:n({padding:0,margin:"0 0 15px 0"},C.cardStyle),bodyStyle:{paddingBottom:0},extra:c(s)?s:k("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s==null?void 0:s["before"],F(g,{style:{color:"red"},hidden:C.required&&i.length===1||D,onDelete:function e(){o.remove(r)}}),s==null?void 0:s["after"]]}),children:F(y,n({nonuseFormWrapper:true},C.cardEasyFormProps,{style:n({padding:0,margin:0},(t=C.cardEasyFormProps)==null?void 0:t.style),children:O.map((function(n){return n.render(r,e,o)}))}),e.key)},e.key)})),i.length===0?F("div",{className:"editable-card-empty",children:F(l,{image:l.PRESENTED_IMAGE_SIMPLE})}):null,F(f,{block:true,hidden:C.hiddenFooterBtn||D,type:"dashed",icon:F(e,{}),onClick:function e(){var r=C.addRowDefaultValues==null?void 0:C.addRowDefaultValues();o.add(n({},r))},children:C.addRowBtnName||"新增"}),C.contentAfterRender==null?void 0:C.contentAfterRender(o,i.length),d.length?F(a.ErrorList,{errors:[F("div",{style:{color:"#ff4d4f",padding:"5px"},children:d},"0")]}):null]})}})})};export{w as EditableCard};
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\n\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Empty, Form, FormListFieldData, type FormListOperation } from 'antd';\nimport type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useMemo, useRef } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport type { EditableCardDataIndex, EditableCardOperation, EditableCardProps } from './type';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. EditableCard有两种模式,正常 & 禁用\n * 2. 必须在外部包裹Form组件\n * 3. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 4. 可使用DragEditableCard组件实现拖拽排序\n * 5. 设置EditableCard disabled后,通过 LabelValueRender 组件展示数据,可通过 disabledRenderProps 配置布局\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (formItemPrevName: Array<string | number>, nameList: EditableCardDataIndex[]) => {\n await form.validateFields(\n nameList.map((item) => [...formItemPrevName, ...toArray<string | number>(item)]),\n );\n },\n );\n const getCurrentRowData = hooks.useCallbackRef((formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n });\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[],\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [...formListCompleteName, formItemPrevName, ...toArray<string | number>(item.name)],\n value: item.value,\n };\n }),\n );\n forceUpdate();\n },\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: column.tips }}>\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (!required && typeof column.formItemProps === 'object' && column.formItemProps.rules?.length) {\n required = !!column.formItemProps.rules.find((item) => !!item['required']);\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n render: (index, fieldData: FormListFieldData, operation: FormListOperation) => {\n const record = form.getFieldValue([...formListCompleteName, fieldData.name]);\n const value = form.getFieldValue([...formListCompleteName, fieldData.name, ...dataIndex]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const editable =\n typeof column?.editable === 'function' ? column?.editable(record, index) : column?.editable;\n\n const rowFormItemCompleteName = [...formListCompleteName, fieldData.name];\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(null, rowFormItemCompleteName),\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n forceUpdate,\n };\n\n if (column.hidden?.(record, index)) {\n return <FormItemHidden name={[fieldData.name, ...dataIndex]} key={fieldData.key} />;\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules}>\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName ? props.onCustomGroupName(index) : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n if (props.onCustomWrapper) {\n return props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column, index) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>,\n extraData,\n );\n }\n\n const cardExtraRenderResult = props.cardExtraRender?.(extraData);\n\n return (\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={props.required && fields.length === 1}\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column, index) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>\n </CardWrapper>\n );\n })}\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: fields.length ? 15 : 0 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n 新增\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","useMemo","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_formItemProps","record","isUndefinedOrNull","Fragment","editable","rowFormItemCompleteName","renderOperationProps","add","remove","move","rowFormItemName","bind","hidden","FormItemHidden","key","_extends","message","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","fields","formListOperation","_ref","errors","current","_jsxs","borderRadius","border","contentBeforeRender","fieldItem","_props$cardEasyFormPr2","onCustomGroupName","extraData","onCustomWrapper","_props$cardEasyFormPr","EasyForm","nonuseFormWrapper","cardEasyFormProps","padding","margin","cardExtraRenderResult","cardExtraRender","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","defaultValues","addRowDefaultValues","contentAfterRender","ErrorList"],"mappings":";s4DAiCaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAeC,EAAyBL,EAAMI,cACpD,IAAME,EAAuBC,IAC7B,IAAMC,EAAcC,EAAMC,iBAE1B,IAAMC,EAAuBX,EAAMW,sBAAwBP,EAE3D,IAAMQ,EAAoBH,EAAMI,gBAC9B,SAAOC,EAA0CC,GAAjD,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GACE,OAAAF,QAAAG,QAAMlB,EAAKmB,eACTL,EAASM,KAAI,SAACC,GAAI,MAAA,GAAAC,OAAST,EAAqBT,EAAyBiB,GAAM,MADjFE,eAECC,GA7CP,IAAI,OAAAR,GAAK,CAAC,MAAAS,GAAW,OAAOR,EAAAQ,EAAM,CAAC,GAAAR,EA6C5B,GACF,IAEH,IAAMS,EAAoBlB,EAAMI,gBAAe,SAACC,GAC9C,OAAOb,EAAK2B,cAAcd,EAC5B,IAEA,IAAMe,EAAqBpB,EAAMI,gBAC/B,SACEC,EACAgB,GAKAC,EAASC,oCACP/B,EACA6B,EAAiBT,KAAI,SAACC,GACpB,MAAO,CACLW,KAAIV,GAAAA,OAAMZ,EAAsBG,CAAAA,GAAqBT,EAAyBiB,EAAKW,OACnFC,MAAOZ,EAAKY,MAEf,KAEH1B,GACF,IAGF,IAAM2B,EAAUC,GAAQ,WACtB,OAAOpC,EAAMmC,QAAQd,KAAI,SAACgB,GAAW,IAAAC,EACnC,IAAMC,EAAQF,EAAOE,MACrB,IAAIC,EAAiDD,EACrD,GAAIF,EAAOI,KAAM,CACfD,EACEE,EAACC,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,QAAST,EAAOI,MAAOM,SACnER,GAGP,CAEA,IAAIS,EAAWX,EAAOW,SAEtB,IAAKA,UAAmBX,EAAOY,gBAAkB,WAAQX,EAAID,EAAOY,cAAcC,QAArBZ,MAAAA,EAA4Ba,OAAQ,CAC/FH,IAAaX,EAAOY,cAAcC,MAAME,MAAK,SAAC9B,GAAI,QAAOA,EAAK,cAChE,CAEA,IAAM+B,EAAYhD,EAAgBgC,EAAO,cAEzC,MAAO,CACLiB,OAAQ,SAAAA,EAACC,EAAOC,EAA8BC,GAAiC,IAAAC,EAC7E,IAAMC,EAAS1D,EAAK2B,cAAaL,GAAAA,OAAKZ,EAAsB6C,CAAAA,EAAUvB,QACtE,IAAMC,EAAQjC,EAAK2B,iBAAaL,OAAKZ,EAAoB,CAAE6C,EAAUvB,MAASoB,IAC9E,GAAIO,EAAkBvB,EAAOiB,QAAS,CACpC,OAAOZ,EAACmB,EAAQ,CAAAd,SAAEb,GACpB,CAEA,IAAM4B,SACGzB,GAAM,UAAA,EAANA,EAAQyB,YAAa,WAAazB,GAAM,UAAA,EAANA,EAAQyB,SAASH,EAAQJ,GAASlB,GAAM,UAAA,EAANA,EAAQyB,SAErF,IAAMC,KAAuBxC,OAAOZ,EAAsB6C,CAAAA,EAAUvB,OAEpE,IAAM+B,EAA8C,CAClDT,MAAAA,EACAO,SAAAA,EACAG,IAAKR,EAAUQ,IACfC,OAAQT,EAAUS,OAClBC,KAAMV,EAAUU,KAChBC,gBAAiBZ,EAAUvB,KAC3B8B,wBAAAA,EACAlC,mBAAoBA,EAAmBwC,KAAK,KAAMb,EAAUvB,MAC5DrB,kBAAmBA,EAAkByD,KAAK,KAAMN,GAChDpC,kBAAmBA,EAAkB0C,KAAK,KAAMN,GAChDvD,YAAAA,GAGF,GAAI6B,EAAOiC,QAAM,MAAbjC,EAAOiC,OAASX,EAAQJ,GAAQ,CAClC,OAAOb,EAAC6B,EAAc,CAACtC,MAAOuB,EAAUvB,MAAIV,OAAK8B,IAAiBG,EAAUgB,IAC9E,CACA,IAAIvB,SACKZ,EAAOY,gBAAkB,WAC5BZ,EAAOY,cAAce,GACrB3B,EAAOY,cAEb,MAAIS,EAACT,IAAa,OAAAS,EAAbA,EAAeR,cAAfQ,EAAsBP,SAAUH,EAAU,CAC7CC,EAAawB,EAAA,CAAA,EACRxB,EAAa,CAChBC,MAAO,CAAC,CAAEF,SAAU,KAAM0B,QAAS,MAEvC,CAEA,GAAIZ,IAAa,KAAM,CACrB,OACEa,EAACC,EAAeH,KACVxB,EAAa,CACjBhB,KAAI,CAAGuB,EAAUvB,MAAIV,OAAK8B,GAC1BwB,MAAOrC,EACPsC,KAAMzC,EAAO0C,WACbP,IAAKhB,EAAUgB,MAEdnC,EAAOiB,QAAPjB,UAAAA,EAAAA,EAAOiB,OAASU,GAGvB,CACA,OACEtB,EAACkC,EAAeH,EAAA,CACdI,MAAOrC,EACPsC,KAAMzC,EAAO0C,YAET9B,EAAa,CAAAF,SAEhBV,EAAOiB,oBAAPjB,EAAOiB,OAASU,KAHZR,EAAUgB,IAMrB,EAEJ,GACF,GAAG,CACDxE,EAAMmC,QACNlC,EACAU,EACAkB,EACAjB,EACAe,EACAnB,IAGF,IAAMwE,EAAYC,EAAW,gBAAiBjF,EAAMgF,WAEpD,OACEtC,EAAA,MAAA,CAAKsC,UAAWA,EAAWE,MAAOlF,EAAMkF,MAAMnC,SAC5CL,EAACxC,EAAKiF,KAAI,CAAClD,KAAM7B,EAAc8C,MAAOlD,EAAMkD,MAAMH,SAC/C,SAAAA,EAACqC,EAAQC,EAAiBC,GAAiB,IAAbC,EAAMD,EAANC,OAC7BjF,EAAqBkF,QAAUH,EAC/B,OACEI,EAAA,MAAA,CACEP,MAAO,CACLQ,aAAc,MACdC,OAAQJ,GAAAA,MAAAA,EAAQpC,OAAS,oBAAsB,yBAC/CJ,SAAA,CAED/C,EAAM4F,qBAAmB,UAAA,EAAzB5F,EAAM4F,oBAAsBP,EAAmBD,EAAOjC,QACtDiC,EAAO/D,KAAI,SAACwE,EAAWtC,GAAU,IAAAuC,EAChC,IAAMvD,EAAQvC,EAAM+F,kBAAoB/F,EAAM+F,kBAAkBxC,GAASA,EAAQ,EAEjF,IAAMyC,EAAY,CAChBzC,MAAAA,EACA6B,OAAAA,EACAS,UAAAA,EACApC,UAAW4B,EACXrC,SAAUhD,EAAMgD,SAChBwB,IAAG,GAAKqB,EAAUrB,KAEpB,GAAIxE,EAAMiG,gBAAiB,CAAA,IAAAC,EACzB,OAAOlG,EAAMiG,gBACXvD,EAACyD,EAAQ1B,EAAA,CACP2B,kBAAmB,MAEfpG,EAAMqG,kBAAiB,CAC3BnB,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,IAACL,EACNlG,EAAMqG,oBAANH,UAAAA,EAAAA,EAAyBhB,OAC5BnC,SAEDZ,EAAQd,KAAI,SAACgB,EAAQkB,GACpB,OAAOlB,EAAOiB,OAAOC,EAAOsC,EAAWR,QATpCQ,EAAUrB,KAYjBwB,EAEJ,CAEA,IAAMQ,EAAwBxG,EAAMyG,iBAANzG,UAAAA,EAAAA,EAAMyG,gBAAkBT,GAEtD,OACEtD,EAACgE,EAAW,CAEV1B,UAAWhF,EAAM2G,cACjBpE,MAAOA,EACPqE,KAAK,QACL1B,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,cACLvG,EAAM6G,WAEXC,UAAW,CAAEC,cAAe,GAE5BC,MACEC,EAAeT,GACbA,EAEAf,EAAA,MAAA,CACEP,MAAO,CACLgC,QAAS,cACTC,WAAY,SACZC,IAAK,OACLrE,SAAA,CAEDyD,GAAqB,UAAA,EAArBA,EAAwB,UACzB9D,EAAC2E,EAAU,CACTnC,MAAO,CAAEoC,MAAO,OAChBhD,OAAQtE,EAAMgD,UAAYoC,EAAOjC,SAAW,EAC5CoE,SAAU,SAAAA,IACRlC,EAAkBnB,OAAOX,EAC3B,IAEDiD,eAAAA,EAAwB,YAG9BzD,SAEDL,EAACyD,EAAQ1B,EAAA,CACP2B,kBAAmB,MAEfpG,EAAMqG,kBAAiB,CAC3BnB,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,IAACT,EACN9F,EAAMqG,oBAANP,UAAAA,EAAAA,EAAyBZ,OAC5BnC,SAEDZ,EAAQd,KAAI,SAACgB,EAAQkB,GACpB,OAAOlB,EAAOiB,OAAOC,EAAOsC,EAAWR,QATpCQ,EAAUrB,MArCZqB,EAAUrB,IAmDpB,IACAY,EAAOjC,SAAW,EACjBT,EAAA,MAAA,CAAKsC,UAAU,sBAAqBjC,SAClCL,EAAC8E,EAAK,CAACC,MAAOD,EAAME,2BAEpB,KACJhF,EAACiF,EAAa,CACZC,MAAK,KACLtD,OAAQtE,EAAM6H,gBACdC,KAAK,SACLC,KAAMrF,EAAAsF,MACN9C,MAAO,CAAE+C,UAAW7C,EAAOjC,OAAS,GAAK,GACzC+E,QAAS,SAAAA,IACP,IAAMC,EAAgBnI,EAAMoI,iCAANpI,EAAMoI,sBAC5B/C,EAAkBpB,IAAGQ,EAAM0D,CAAAA,EAAAA,GAC3B,EAAApF,SACH,OAGA/C,EAAMqI,gCAANrI,EAAMqI,mBAAqBhD,EAAmBD,EAAOjC,QACrDoC,EAAOpC,OACNT,EAACxC,EAAKoI,UAAS,CACb/C,OAAQ,CACN7C,EAAA,MAAA,CAAKwC,MAAO,CAAEoC,MAAO,UAAWhB,QAAS,OAAQvD,SAC9CwC,GADmD,QAKxD,OAGV,KAIR"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\n\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ConfigProvider, Empty, Form, FormListFieldData, type FormListOperation } from 'antd';\nimport type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useMemo, useRef } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport type { EditableCardDataIndex, EditableCardOperation, EditableCardProps } from './type';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\n * 4. 设置EditableCard disabled后,通过 LabelValueRender 组件展示数据,可通过 disabledRenderProps 配置布局\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (formItemPrevName: Array<string | number>, nameList: EditableCardDataIndex[]) => {\n await form.validateFields(\n nameList.map((item) => [...formItemPrevName, ...toArray<string | number>(item)]),\n );\n },\n );\n const getCurrentRowData = hooks.useCallbackRef((formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n });\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[],\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [...formListCompleteName, formItemPrevName, ...toArray<string | number>(item.name)],\n value: item.value,\n };\n }),\n );\n forceUpdate();\n },\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: column.tips }}>\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (!required && typeof column.formItemProps === 'object' && column.formItemProps.rules?.length) {\n required = !!column.formItemProps.rules.find((item) => !!item['required']);\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n render: (index, fieldData: FormListFieldData, operation: FormListOperation) => {\n const value = form.getFieldValue([...formListCompleteName, fieldData.name, ...dataIndex]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const rowFormItemCompleteName = [...formListCompleteName, fieldData.name];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(\n {\n index,\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n },\n index,\n )\n : column?.editable;\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(null, rowFormItemCompleteName),\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n forceUpdate,\n };\n\n if (column.remove?.(renderOperationProps, index)) {\n return <Fragment />;\n }\n\n if (column.hidden?.(renderOperationProps, index)) {\n return <FormItemHidden name={[fieldData.name, ...dataIndex]} key={fieldData.key} />;\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules}>\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName ? props.onCustomGroupName(index) : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n if (props.onCustomWrapper) {\n return props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>,\n extraData,\n );\n }\n\n const cardExtraRenderResult = props.cardExtraRender?.(extraData);\n\n return (\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={(props.required && fields.length === 1) || componentDisabled}\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\n key={fieldItem.key}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>\n </CardWrapper>\n );\n })}\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn || componentDisabled}\n type=\"dashed\"\n icon={<PlusOutlined />}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n {props.addRowBtnName || '新增'}\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","_ConfigProvider$useCo","ConfigProvider","useConfig","componentDisabled","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","useMemo","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_formItemProps","isUndefinedOrNull","Fragment","rowFormItemCompleteName","editable","bind","renderOperationProps","add","remove","move","rowFormItemName","hidden","FormItemHidden","key","_extends","message","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","fields","formListOperation","_ref","errors","current","_jsxs","borderRadius","border","contentBeforeRender","fieldItem","_props$cardEasyFormPr2","onCustomGroupName","extraData","onCustomWrapper","_props$cardEasyFormPr","EasyForm","nonuseFormWrapper","cardEasyFormProps","padding","margin","cardExtraRenderResult","cardExtraRender","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":";05DAgCaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAeC,EAAyBL,EAAMI,cACpD,IAAME,EAAuBC,IAC7B,IAAMC,EAAcC,EAAMC,iBAC1B,IAAAC,EAA8BC,EAAeC,YAArCC,EAAiBH,EAAjBG,kBAER,IAAMC,EAAuBf,EAAMe,sBAAwBX,EAE3D,IAAMY,EAAoBP,EAAMQ,gBAC9B,SAAOC,EAA0CC,GAAjD,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GACE,OAAAF,QAAAG,QAAMtB,EAAKuB,eACTL,EAASM,KAAI,SAACC,GAAI,MAAA,GAAAC,OAAST,EAAqBb,EAAyBqB,GAAM,MADjFE,eAECC,GA7CP,IAAI,OAAAR,GAAK,CAAC,MAAAS,GAAW,OAAOR,EAAAQ,EAAM,CAAC,GAAAR,EA6C5B,GACF,IAEH,IAAMS,EAAoBtB,EAAMQ,gBAAe,SAACC,GAC9C,OAAOjB,EAAK+B,cAAcd,EAC5B,IAEA,IAAMe,EAAqBxB,EAAMQ,gBAC/B,SACEC,EACAgB,GAKAC,EAASC,oCACPnC,EACAiC,EAAiBT,KAAI,SAACC,GACpB,MAAO,CACLW,KAAIV,GAAAA,OAAMZ,EAAsBG,CAAAA,GAAqBb,EAAyBqB,EAAKW,OACnFC,MAAOZ,EAAKY,MAEf,KAEH9B,GACF,IAGF,IAAM+B,EAAUC,GAAQ,WACtB,OAAOxC,EAAMuC,QAAQd,KAAI,SAACgB,GAAW,IAAAC,EACnC,IAAMC,EAAQF,EAAOE,MACrB,IAAIC,EAAiDD,EACrD,GAAIF,EAAOI,KAAM,CACfD,EACEE,EAACC,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,QAAST,EAAOI,MAAOM,SACnER,GAGP,CAEA,IAAIS,EAAWX,EAAOW,SAEtB,IAAKA,UAAmBX,EAAOY,gBAAkB,WAAQX,EAAID,EAAOY,cAAcC,QAArBZ,MAAAA,EAA4Ba,OAAQ,CAC/FH,IAAaX,EAAOY,cAAcC,MAAME,MAAK,SAAC9B,GAAI,QAAOA,EAAK,cAChE,CAEA,IAAM+B,EAAYpD,EAAgBoC,EAAO,cAEzC,MAAO,CACLiB,OAAQ,SAAAA,EAACC,EAAOC,EAA8BC,GAAiC,IAAAC,EAC7E,IAAMxB,EAAQrC,EAAK+B,iBAAaL,OAAKZ,EAAoB,CAAE6C,EAAUvB,MAASoB,IAC9E,GAAIM,EAAkBtB,EAAOiB,QAAS,CACpC,OAAOZ,EAACkB,EAAQ,CAAAb,SAAEb,GACpB,CAEA,IAAM2B,KAAuBtC,OAAOZ,EAAsB6C,CAAAA,EAAUvB,OAEpE,IAAM6B,SACGzB,GAAM,UAAA,EAANA,EAAQyB,YAAa,WACxBzB,GAAM,UAAA,EAANA,EAAQyB,SACN,CACEP,MAAAA,EACA5B,kBAAmBA,EAAkBoC,KAAK,KAAMF,IAElDN,GAEFlB,GAAAA,UAAAA,EAAAA,EAAQyB,SAEd,IAAME,EAA8C,CAClDT,MAAAA,EACAO,SAAAA,EACAG,IAAKR,EAAUQ,IACfC,OAAQT,EAAUS,OAClBC,KAAMV,EAAUU,KAChBC,gBAAiBZ,EAAUvB,KAC3B4B,wBAAAA,EACAhC,mBAAoBA,EAAmBkC,KAAK,KAAMP,EAAUvB,MAC5DrB,kBAAmBA,EAAkBmD,KAAK,KAAMF,GAChDlC,kBAAmBA,EAAkBoC,KAAK,KAAMF,GAChDzD,YAAAA,GAGF,GAAIiC,EAAO6B,QAAM,MAAb7B,EAAO6B,OAASF,EAAsBT,GAAQ,CAChD,OAAOb,EAACkB,EAAQ,CAAA,EAClB,CAEA,GAAIvB,EAAOgC,QAAM,MAAbhC,EAAOgC,OAASL,EAAsBT,GAAQ,CAChD,OAAOb,EAAC4B,EAAc,CAACrC,MAAOuB,EAAUvB,MAAIV,OAAK8B,IAAiBG,EAAUe,IAC9E,CACA,IAAItB,SACKZ,EAAOY,gBAAkB,WAC5BZ,EAAOY,cAAce,GACrB3B,EAAOY,cAEb,MAAIS,EAACT,IAAa,OAAAS,EAAbA,EAAeR,cAAfQ,EAAsBP,SAAUH,EAAU,CAC7CC,EAAauB,EAAA,CAAA,EACRvB,EAAa,CAChBC,MAAO,CAAC,CAAEF,SAAU,KAAMyB,QAAS,MAEvC,CAEA,GAAIX,IAAa,KAAM,CACrB,OACEY,EAACC,EAAeH,KACVvB,EAAa,CACjBhB,KAAI,CAAGuB,EAAUvB,MAAIV,OAAK8B,GAC1BuB,MAAOpC,EACPqC,KAAMxC,EAAOyC,WACbP,IAAKf,EAAUe,MAEdlC,EAAOiB,QAAPjB,UAAAA,EAAAA,EAAOiB,OAASU,GAGvB,CACA,OACEtB,EAACiC,EAAeH,EAAA,CACdI,MAAOpC,EACPqC,KAAMxC,EAAOyC,YAET7B,EAAa,CAAAF,SAEhBV,EAAOiB,oBAAPjB,EAAOiB,OAASU,KAHZR,EAAUe,IAMrB,EAEJ,GACF,GAAG,CACD3E,EAAMuC,QACNtC,EACAc,EACAkB,EACAjB,EACAe,EACAvB,IAGF,IAAM2E,EAAYC,EAAW,gBAAiBpF,EAAMmF,WAEpD,OACErC,EAAA,MAAA,CAAKqC,UAAWA,EAAWE,MAAOrF,EAAMqF,MAAMlC,SAC5CL,EAAC5C,EAAKoF,KAAI,CAACjD,KAAMjC,EAAckD,MAAOtD,EAAMsD,MAAMH,SAC/C,SAAAA,EAACoC,EAAQC,EAAiBC,GAAiB,IAAbC,EAAMD,EAANC,OAC7BpF,EAAqBqF,QAAUH,EAC/B,OACEI,EAAA,MAAA,CACEP,MAAO,CACLQ,aAAc,MACdC,OAAQJ,GAAAA,MAAAA,EAAQnC,OAAS,oBAAsB,yBAC/CJ,SAAA,CAEDnD,EAAM+F,qBAAmB,UAAA,EAAzB/F,EAAM+F,oBAAsBP,EAAmBD,EAAOhC,QACtDgC,EAAO9D,KAAI,SAACuE,EAAWrC,GAAU,IAAAsC,EAChC,IAAMtD,EAAQ3C,EAAMkG,kBAAoBlG,EAAMkG,kBAAkBvC,GAASA,EAAQ,EAEjF,IAAMwC,EAAY,CAChBxC,MAAAA,EACA4B,OAAAA,EACAS,UAAAA,EACAnC,UAAW2B,EACXpC,SAAUpD,EAAMoD,SAChBuB,IAAG,GAAKqB,EAAUrB,KAEpB,GAAI3E,EAAMoG,gBAAiB,CAAA,IAAAC,EACzB,OAAOrG,EAAMoG,gBACXtD,EAACwD,EAAQ1B,EAAA,CACP2B,kBAAmB,MAEfvG,EAAMwG,kBAAiB,CAC3BnB,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,IAACL,EACNrG,EAAMwG,oBAANH,UAAAA,EAAAA,EAAyBhB,OAC5BlC,SAEDZ,EAAQd,KAAI,SAACgB,GACZ,OAAOA,EAAOiB,OAAOC,EAAOqC,EAAWR,QATpCQ,EAAUrB,KAYjBwB,EAEJ,CAEA,IAAMQ,EAAwB3G,EAAM4G,iBAAN5G,UAAAA,EAAAA,EAAM4G,gBAAkBT,GAEtD,OACErD,EAAC+D,EAAW,CAEV1B,UAAWnF,EAAM8G,cACjBnE,MAAOA,EACPoE,KAAK,QACL1B,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,cACL1G,EAAMgH,WAEXC,UAAW,CAAEC,cAAe,GAE5BC,MACEC,EAAeT,GACbA,EAEAf,EAAA,MAAA,CACEP,MAAO,CACLgC,QAAS,cACTC,WAAY,SACZC,IAAK,OACLpE,SAAA,CAEDwD,GAAqB,UAAA,EAArBA,EAAwB,UACzB7D,EAAC0E,EAAU,CACTnC,MAAO,CAAEoC,MAAO,OAChBhD,OAASzE,EAAMoD,UAAYmC,EAAOhC,SAAW,GAAMzC,EACnD4G,SAAU,SAAAA,IACRlC,EAAkBlB,OAAOX,EAC3B,IAEDgD,eAAAA,EAAwB,YAG9BxD,SAEDL,EAACwD,EAAQ1B,EAAA,CACP2B,kBAAmB,MAEfvG,EAAMwG,kBAAiB,CAC3BnB,MAAKT,EAAA,CACH6B,QAAS,EACTC,OAAQ,IAACT,EACNjG,EAAMwG,oBAANP,UAAAA,EAAAA,EAAyBZ,OAC5BlC,SAEDZ,EAAQd,KAAI,SAACgB,GACZ,OAAOA,EAAOiB,OAAOC,EAAOqC,EAAWR,QATpCQ,EAAUrB,MArCZqB,EAAUrB,IAmDpB,IACAY,EAAOhC,SAAW,EACjBT,EAAA,MAAA,CAAKqC,UAAU,sBAAqBhC,SAClCL,EAAC6E,EAAK,CAACC,MAAOD,EAAME,2BAEpB,KACJ/E,EAACgF,EAAa,CACZC,MAAK,KACLtD,OAAQzE,EAAMgI,iBAAmBlH,EACjCmH,KAAK,SACLC,KAAMpF,EAAAqF,MACNC,QAAS,SAAAA,IACP,IAAMC,EAAgBrI,EAAMsI,iCAANtI,EAAMsI,sBAC5B9C,EAAkBnB,IAAGO,EAAMyD,CAAAA,EAAAA,GAC3B,EAAAlF,SAEDnD,EAAMuI,eAAiB,OAEzBvI,EAAMwI,gCAANxI,EAAMwI,mBAAqBhD,EAAmBD,EAAOhC,QACrDmC,EAAOnC,OACNT,EAAC5C,EAAKuI,UAAS,CACb/C,OAAQ,CACN5C,EAAA,MAAA,CAAKuC,MAAO,CAAEoC,MAAO,UAAWhB,QAAS,OAAQtD,SAC9CuC,GADmD,QAKxD,OAGV,KAIR"}
@@ -8,5 +8,5 @@ import './../flex-layout/index.css';
8
8
  import './../block-layout/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as l}from"@flatbiz/utils";import{createContext as a,useState as i,useMemo as t,useContext as u,createElement as s}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as c}from"@dimjs/lang/cjs/is-promise";import{useSize as f}from"ahooks";import{Form as v,Modal as p,Space as m,Drawer as g,theme as C}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as x}from"../index-7f4ad045.js";import{createCtx as b}from"@wove/react/cjs/create-ctx";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{BlockLayout as O}from"../block-layout/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=a({});var R=b(),M=R[0],P=R[1];var T=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var F=function e(l){var a,u;var s=l.titleExtra,m=l.title,g=l.onOk,C=l.onCancel,b=l.okButtonProps,O=l.cancelButtonProps,j=l.content,R=l.className,M=l.okHidden,F=l.cancelHidden,N=l.footer,H=l.cancelText,A=l.okText,B=l.size,L=l.bodyHeight,z=n(l,T);var E=v.useForm(),W=E[0];var _=f(document.querySelector("html"));var S=x();var Y=k.useResponsivePoint()||"";var q=i({}),I=q[0],U=q[1];var G=o.useCallbackRef((function(){l.onClose==null?void 0:l.onClose()}));var J=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var K=o.useCallbackRef((function(e){if(g){var o=g(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var Q=k.useMemoCustom((function(){var e;if(N){return typeof N==="function"?N(W,I):N}if(F&&M){return null}return[w(h,r({},O,{onClick:J,hidden:F,children:H||((e=S.FbaDialogModal)==null?void 0:e.cancelText)}),"0"),w(h,r({type:"primary"},b,{onClick:K,hidden:M,children:A||"提交"}),"1")].filter(Boolean)}),[I,l.open]);var V=t((function(){if(!(_!=null&&_.height)||!Y)return undefined;var e=["xs","sm"].includes(Y);if(B=="large"){return{height:(_==null?void 0:_.height)*.7,width:e?"90%":_.width*.6}}if(B=="small"){var o=_.width*.3;return{height:(_==null?void 0:_.height)*.4,width:e?"90%":o<470?470:o}}if(B=="middle"){return{height:(_==null?void 0:_.height)*.4,width:e?"90%":_.width*.5}}return undefined}),[_==null?void 0:_.height,_==null?void 0:_.width,Y,B]);var X=d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},{"fba-dialog-modal-footer-empty":!Q},R);var Z=function e(o){U(o)};var $=((a=z.styles)==null||(a=a.body)==null?void 0:a.height)||L;return w(P,{value:{rerenderFooter:Z},children:w(p,r({maskClosable:true,title:s?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:m}),s]}):m,centered:true,onCancel:G,destroyOnClose:true,width:V==null?void 0:V.width},z,{footer:Q,styles:r({},z.styles,{body:r({height:$||(V==null?void 0:V.height),maxHeight:"calc(100vh - 200px)"},(u=z.styles)==null?void 0:u.body)}),className:X,open:l.open,children:typeof j==="function"?j(W,{onClose:G}):j}))})};var N=function e(o){var n=d("fba-dialog-confirm",o.className);return w(F,r({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var H=function e(o){return w(N,r({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,r){return o.onClick==null?void 0:o.onClick(r)}}))};var A=b(),B=A[0],L=A[1];var z=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var E=function e(l){var a=l.onOk,u=l.onCancel,s=l.content,f=l.okText,p=l.cancelText,C=l.okButtonExtraProps,y=l.cancelButtonExtraProps,x=l.operatePosition,b=x===void 0?"footer":x,O=l.operateRender,j=l.width,R=l.okHidden,M=l.cancelHidden,P=l.extra,T=n(l,z);var F=v.useForm(),N=F[0];var H=k.useResponsivePoint()||"";var A=i({}),B=A[0],E=A[1];var W=o.useCallbackRef((function(e){l.onClose==null?void 0:l.onClose(e)}));var _=o.useCallbackRef((function(e){if(u){var o=u(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var S=o.useCallbackRef((function(e){if(a){var o=a(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var Y=k.useMemoCustom((function(){if(O){return O(N,B)}var e=R||(C==null?void 0:C.hidden);var o=R||(C==null?void 0:C.hidden);var n=D(m,{children:[o?null:w(h,r({},y,{onClick:_,children:p||"取消"})),e?null:w(h,r({type:"primary"},C,{onClick:S,children:f||"提交"}))]});if(!R||!M){return n}return null}),[B,l.open]);var q=t((function(){if(!H)return undefined;if(["xs","sm"].includes(H)){return{width:"90%",maxWidth:"90%"}}if(j){return{width:j,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[H,j]);var I=typeof P==="function"?P(N):P;var U=function e(o){E(o)};return w(L,{value:{rerenderFooter:U},children:w(g,r({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:q==null?void 0:q.maxWidth},footer:b==="footer"?Y:null},T,{width:q==null?void 0:q.width,styles:r({},T.styles),className:d("app-dialog-drawer",T.className),extra:b==="header"?Y:I,open:l.open,onClose:W,children:typeof s==="function"?s(N,{onClose:W}):s}))})};var W=function e(o){var n=o.className,r=o.message,l=o.mask;var a=C.useToken(),i=a.token;var t=i.colorPrimary;return w(p,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:l,children:w(O,{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:r||"处理中"})]})})})};var _=function e(){var o=u(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(l){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var S=function e(){var o=u(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(l){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var Y=function e(){var o=u(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(l){o.dialogModalOpen==null?void 0:o.dialogModalOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var q=function e(){var o=u(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(l){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var I=function e(){var o=u(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(l){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var U=function e(){var o=u(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(l){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var G=function e(){var o=u(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(l){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var J=function e(n){var a=i({}),t=a[0],u=a[1];var d=i(l()),c=d[0],f=d[1];var v=i({}),p=v[0],m=v[1];var g=i(l()),C=g[0],h=g[1];var k=i({}),y=k[0],x=k[1];var b=i(l()),w=b[0],O=b[1];var R=i({}),M=R[0],P=R[1];var T=i(l()),A=T[0],B=T[1];var L=i({}),z=L[0],_=L[1];var S=i({}),Y=S[0],q=S[1];var I=i(),U=I[0],G=I[1];var J=i(l()),K=J[0],Q=J[1];var V=i(l()),X=V[0],Z=V[1];var $=i(l()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){u(e)}));var re=o.useCallbackRef((function(e){u(r({},t,{open:false}));t.onClose==null?void 0:t.onClose(e);setTimeout((function(){f(l())}),200)}));var le=o.useCallbackRef((function(e){m(e)}));var ae=o.useCallbackRef((function(e){m(r({},p,{open:false}));p.onClose==null?void 0:p.onClose(e);setTimeout((function(){h(l())}),200)}));var ie=o.useCallbackRef((function(e){x(e)}));var te=o.useCallbackRef((function(){x(r({},y,{open:false}));y.onClose==null?void 0:y.onClose();setTimeout((function(){O(l())}),200)}));var ue=o.useCallbackRef((function(e){P(e)}));var se=o.useCallbackRef((function(){P(r({},M,{open:false}));M.onClose==null?void 0:M.onClose();setTimeout((function(){B(l())}),200)}));var de=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(r({},z,{open:false}));z.onClose==null?void 0:z.onClose();setTimeout((function(){Q(l())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var ve=o.useCallbackRef((function(){q(r({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(l())}),200)}));var pe=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(r({},U,{open:false}));setTimeout((function(){oe(l())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:re,dialogDrawerOpen2:le,dialogDrawerClose2:ae,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:ue,dialogModalClose2:se,dialogAlertOpen:de,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:ve,dialogLoadingOpen:pe,dialogLoadingClose:me},children:[s(E,r({},t,{onClose:re,key:c})),s(E,r({},p,{onClose:ae,key:C})),s(F,r({},y,{onClose:te,key:w})),s(F,r({},M,{onClose:se,key:A})),s(H,r({},z,{onClose:ce,key:K})),s(N,r({},Y,{onClose:ve,key:X})),s(W,r({},U,{key:ee})),n.children]})};var K=e.attachPropertiesToComponent(J,{useDialogDrawer:_,useDialogDrawer2:S,useDialogModal:Y,useDialogModal2:q,useDialogConfirm:U,useDialogAlert:I,useDialogLoading:G});export{K as FbaApp};
11
+ import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as l}from"@flatbiz/utils";import{createContext as a,useState as i,useMemo as t,useContext as u,createElement as s}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as c}from"@dimjs/lang/cjs/is-promise";import{useSize as f}from"ahooks";import{Form as v,Modal as p,Space as m,Drawer as g,theme as C}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as x}from"../index-7f4ad045.js";import{createCtx as b}from"@wove/react/cjs/create-ctx";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{BlockLayout as O}from"../block-layout/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=a({});var R=b(),M=R[0],P=R[1];var T=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var F=function e(l){var a,u;var s=l.titleExtra,m=l.title,g=l.onOk,C=l.onCancel,b=l.okButtonProps,O=l.cancelButtonProps,j=l.content,R=l.className,M=l.okHidden,F=l.cancelHidden,N=l.footer,H=l.cancelText,A=l.okText,B=l.size,L=l.bodyHeight,z=n(l,T);var E=v.useForm(),W=E[0];var _=f(document.querySelector("html"));var S=x();var Y=k.useResponsivePoint()||"";var q=i({}),I=q[0],U=q[1];var G=o.useCallbackRef((function(){l.onClose==null?void 0:l.onClose()}));var J=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var K=o.useCallbackRef((function(e){if(g){var o=g(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var Q=k.useMemoCustom((function(){var e;if(N){return typeof N==="function"?N(W,I):N}if(F&&M||N===null){return null}return[w(h,r({},O,{onClick:J,hidden:F,children:H||((e=S.FbaDialogModal)==null?void 0:e.cancelText)}),"0"),w(h,r({type:"primary"},b,{onClick:K,hidden:M,children:A||"提交"}),"1")].filter(Boolean)}),[I,l.open]);var V=t((function(){if(!(_!=null&&_.height)||!Y)return undefined;var e=["xs","sm"].includes(Y);if(B=="large"){return{height:(_==null?void 0:_.height)*.7,width:e?"90%":_.width*.6}}if(B=="small"){var o=_.width*.3;return{height:(_==null?void 0:_.height)*.4,width:e?"90%":o<470?470:o}}if(B=="middle"){return{height:(_==null?void 0:_.height)*.4,width:e?"90%":_.width*.5}}return undefined}),[_==null?void 0:_.height,_==null?void 0:_.width,Y,B]);var X=d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},{"fba-dialog-modal-footer-empty":!Q},R);var Z=function e(o){U(o)};var $=((a=z.styles)==null||(a=a.body)==null?void 0:a.height)||L;return w(P,{value:{rerenderFooter:Z},children:w(p,r({maskClosable:true,title:s?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:m}),s]}):m,centered:true,onCancel:G,destroyOnClose:true,width:V==null?void 0:V.width},z,{footer:Q,styles:r({},z.styles,{body:r({height:$||(V==null?void 0:V.height),maxHeight:"calc(100vh - 200px)"},(u=z.styles)==null?void 0:u.body)}),className:X,open:l.open,children:typeof j==="function"?j(W,{onClose:G}):j}))})};var N=function e(o){var n=d("fba-dialog-confirm",o.className);return w(F,r({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var H=function e(o){return w(N,r({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,r){return o.onClick==null?void 0:o.onClick(r)}}))};var A=b(),B=A[0],L=A[1];var z=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var E=function e(l){var a=l.onOk,u=l.onCancel,s=l.content,f=l.okText,p=l.cancelText,C=l.okButtonExtraProps,y=l.cancelButtonExtraProps,x=l.operatePosition,b=x===void 0?"footer":x,O=l.operateRender,j=l.width,R=l.okHidden,M=l.cancelHidden,P=l.extra,T=n(l,z);var F=v.useForm(),N=F[0];var H=k.useResponsivePoint()||"";var A=i({}),B=A[0],E=A[1];var W=o.useCallbackRef((function(e){l.onClose==null?void 0:l.onClose(e)}));var _=o.useCallbackRef((function(e){if(u){var o=u(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var S=o.useCallbackRef((function(e){if(a){var o=a(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var Y=k.useMemoCustom((function(){if(O){return O(N,B)}var e=R||(C==null?void 0:C.hidden);var o=R||(C==null?void 0:C.hidden);var n=D(m,{children:[o?null:w(h,r({},y,{onClick:_,children:p||"取消"})),e?null:w(h,r({type:"primary"},C,{onClick:S,children:f||"提交"}))]});if(!R||!M){return n}return null}),[B,l.open]);var q=t((function(){if(!H)return undefined;if(["xs","sm"].includes(H)){return{width:"90%",maxWidth:"90%"}}if(j){return{width:j,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[H,j]);var I=typeof P==="function"?P(N):P;var U=function e(o){E(o)};return w(L,{value:{rerenderFooter:U},children:w(g,r({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:q==null?void 0:q.maxWidth},footer:b==="footer"?Y:null},T,{width:q==null?void 0:q.width,styles:r({},T.styles),className:d("app-dialog-drawer",T.className),extra:b==="header"?Y:I,open:l.open,onClose:W,children:typeof s==="function"?s(N,{onClose:W}):s}))})};var W=function e(o){var n=o.className,r=o.message,l=o.mask;var a=C.useToken(),i=a.token;var t=i.colorPrimary;return w(p,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:l,children:w(O,{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:r||"处理中"})]})})})};var _=function e(){var o=u(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(l){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var S=function e(){var o=u(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(l){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var Y=function e(){var o=u(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(l){o.dialogModalOpen==null?void 0:o.dialogModalOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var q=function e(){var o=u(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(l){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var I=function e(){var o=u(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(l){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var U=function e(){var o=u(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(l){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var G=function e(){var o=u(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(l){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var J=function e(n){var a=i({}),t=a[0],u=a[1];var d=i(l()),c=d[0],f=d[1];var v=i({}),p=v[0],m=v[1];var g=i(l()),C=g[0],h=g[1];var k=i({}),y=k[0],x=k[1];var b=i(l()),w=b[0],O=b[1];var R=i({}),M=R[0],P=R[1];var T=i(l()),A=T[0],B=T[1];var L=i({}),z=L[0],_=L[1];var S=i({}),Y=S[0],q=S[1];var I=i(),U=I[0],G=I[1];var J=i(l()),K=J[0],Q=J[1];var V=i(l()),X=V[0],Z=V[1];var $=i(l()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){u(e)}));var re=o.useCallbackRef((function(e){u(r({},t,{open:false}));t.onClose==null?void 0:t.onClose(e);setTimeout((function(){f(l())}),200)}));var le=o.useCallbackRef((function(e){m(e)}));var ae=o.useCallbackRef((function(e){m(r({},p,{open:false}));p.onClose==null?void 0:p.onClose(e);setTimeout((function(){h(l())}),200)}));var ie=o.useCallbackRef((function(e){x(e)}));var te=o.useCallbackRef((function(){x(r({},y,{open:false}));y.onClose==null?void 0:y.onClose();setTimeout((function(){O(l())}),200)}));var ue=o.useCallbackRef((function(e){P(e)}));var se=o.useCallbackRef((function(){P(r({},M,{open:false}));M.onClose==null?void 0:M.onClose();setTimeout((function(){B(l())}),200)}));var de=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(r({},z,{open:false}));z.onClose==null?void 0:z.onClose();setTimeout((function(){Q(l())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var ve=o.useCallbackRef((function(){q(r({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(l())}),200)}));var pe=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(r({},U,{open:false}));setTimeout((function(){oe(l())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:re,dialogDrawerOpen2:le,dialogDrawerClose2:ae,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:ue,dialogModalClose2:se,dialogAlertOpen:de,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:ve,dialogLoadingOpen:pe,dialogLoadingClose:me},children:[s(E,r({},t,{onClose:re,key:c})),s(E,r({},p,{onClose:ae,key:C})),s(F,r({},y,{onClose:te,key:w})),s(F,r({},M,{onClose:se,key:A})),s(H,r({},z,{onClose:ce,key:K})),s(N,r({},Y,{onClose:ve,key:X})),s(W,r({},U,{key:ee})),n.children]})};var K=e.attachPropertiesToComponent(J,{useDialogDrawer:_,useDialogDrawer2:S,useDialogModal:Y,useDialogModal2:q,useDialogConfirm:U,useDialogAlert:I,useDialogLoading:G});export{K as FbaApp};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/context.ts","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogModalCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if (cancelHidden && okHidden) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n { 'fba-dialog-modal-footer-empty': !footerNew },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={props.open}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n size={null}\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogDrawerCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => ReactElement;\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n // const operateGroup = (\n // <Space>\n // {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n // <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n // {cancelText || '取消'}\n // </ButtonWrapper>\n // )}\n // {okHidden || okButtonExtraProps?.hidden ? null : (\n // <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n // {okText || '提交'}\n // </ButtonWrapper>\n // )}\n // </Space>\n // );\n\n // const operateRenderHandle = () => {\n // if (operateRender) {\n // return operateRender(form);\n // }\n // if (!okHidden || !cancelHidden) {\n // return operateGroup;\n // }\n // return null;\n // };\n\n const newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <BlockLayout className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { useFbaAppDialogDrawerCtx } from './dialog-drawer/context';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\nimport { useFbaAppDialogModalCtx } from './dialog-modal/context';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","_createCtx","_createCtx2","useFbaAppDialogModalCtx","CtxProvider","FbaAppModal","props","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","_useState","useState","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","footerNew","useMemoCustom","_localMessage$FbaDial","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","filter","Boolean","open","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","value","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","FbaAppConfirm","FbaAppAlert","_form","useFbaAppDialogDrawerCtx","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","newOperateRender","okHiddenNew","cancelHiddenNew","operateGroup","Space","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","dialogDrawerOpen","close","useAppDialogDrawer","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useAppDialogModal","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":";o4CA8BO,IAAMA,EAAgBC,EAAgC,IC3BtD,IAAAC,EAA+CC,IAAxCC,EAAuBF,EAAA,GAAEG,EAAWH,EAAA,yLC0D3C,IAAMI,EAAc,SAAdA,EAAeC,GAA4B,IAAAC,EAAAC,EACtD,IACEC,EAgBEH,EAhBFG,WACAC,EAeEJ,EAfFI,MACAC,EAcEL,EAdFK,KACAC,EAaEN,EAbFM,SACAC,EAYEP,EAZFO,cACAC,EAWER,EAXFQ,kBACAC,EAUET,EAVFS,QACAC,EASEV,EATFU,UACAC,EAQEX,EARFW,SACAC,EAOEZ,EAPFY,aACAC,EAMEb,EANFa,OACAC,EAKEd,EALFc,WACAC,EAIEf,EAJFe,OACAC,EAGEhB,EAHFgB,KACAC,EAEEjB,EAFFiB,WACGC,EAAUC,EACXnB,EAAKoB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAWC,EAAQC,SAASC,cAAc,SAChD,IAAMC,EAAeC,IACrB,IAAMC,EAAaC,EAASC,sBAAwB,GAEpD,IAAAC,EAA8CC,EAAuB,IAA9DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1C,IAAMI,EAAUC,EAAMC,gBAAe,WACnCxC,EAAMsC,SAAO,UAAA,EAAbtC,EAAMsC,SACR,IAEA,IAAMG,EAAiBF,EAAMC,gBAAe,SAACE,GAC3C,GAAIpC,EAAU,CACZ,IAAMqC,EAAWrC,EAASkB,EAAMkB,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,IAEA,IAAMC,EAAaT,EAAMC,gBAAe,SAACE,GACvC,GAAIrC,EAAM,CACR,IAAMsC,EAAWtC,EAAKmB,EAAMkB,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,IAEA,IAAME,EAAYjB,EAASkB,eAAc,WAAM,IAAAC,EAC7C,GAAItC,EAAQ,CACV,cAAcA,IAAW,WAAaA,EAAOW,EAAMY,GAAmBvB,CACxE,CACA,GAAID,GAAgBD,EAAU,CAC5B,OAAO,IACT,CACA,MAAO,CACLyC,EAACC,EAAaC,KAAa9C,EAAiB,CAAE+C,QAASd,EAAgBe,OAAQ5C,EAAa6C,SACzF3C,KAAUqC,EAAItB,EAAa6B,iBAAc,UAAA,EAA3BP,EAA6BrC,cAD3B,KAGnBsC,EAACC,EAAaC,EAAA,CAASK,KAAK,WAAcpD,EAAa,CAAEgD,QAASP,EAAYQ,OAAQ7C,EAAS8C,SAC5F1C,GAAU,OADM,MAGnB6C,OAAOC,QACV,GAAE,CAACzB,EAAiBpC,EAAM8D,OAE3B,IAAMC,EAAaC,GAAQ,WACzB,KAAKvC,GAAQ,MAARA,EAAUwC,UAAWlC,EAAY,OAAOmC,UAC7C,IAAMC,EAAS,CAAC,KAAM,MAAMC,SAASrC,GACrC,GAAIf,GAAQ,QAAS,CACnB,MAAO,CACLiD,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQ1C,EAAS4C,MAAQ,GAE7C,CACA,GAAIrD,GAAQ,QAAS,CACnB,IAAMqD,EAAQ5C,EAAS4C,MAAQ,GAC/B,MAAO,CACLJ,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQE,EAAQ,IAAM,IAAMA,EAEhD,CAEA,GAAIrD,GAAQ,SAAU,CACpB,MAAO,CACLiD,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQ1C,EAAS4C,MAAQ,GAE7C,CAEA,OAAOH,SACT,GAAG,CAACzC,eAAAA,EAAUwC,OAAQxC,GAAAA,UAAAA,EAAAA,EAAU4C,MAAOtC,EAAYf,IAEnD,IAAMsD,EAAeC,EACnB,mBACA,CAAE,iCAAkCpE,GACpC,CAAE,iCAAkC8C,GACpCvC,GAGF,IAAM8D,EAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAGrB,IAAMC,IAAgBzE,EAAAiB,EAAWyD,SAAM,OAAA1E,EAAjBA,EAAmB2E,OAAI,UAAA,EAAvB3E,EAAyBgE,SAAUhD,EAEzD,OACEmC,EAACtD,EAAW,CAAC+E,MAAO,CAAEL,eAAAA,GAAiBf,SACrCL,EAAC0B,EAAKxB,EAAA,CACJyB,aAAc,KACd3E,MACED,EACE6E,EAACC,EAAU,CAACC,UAAU,aAAaC,UAAW,EAAE1B,UAC9CL,EAAA,OAAA,CAAAK,SAAOrD,IACND,KAGHC,EAGJgF,SAAU,KACV9E,SAAUgC,EACV+C,eAAc,KACdhB,MAAON,GAAAA,UAAAA,EAAAA,EAAYM,OACfnD,EAAU,CACdL,OAAQoC,EACR0B,OAAMrB,EACDpC,GAAAA,EAAWyD,OAAM,CACpBC,KAAItB,EAAA,CACFW,OAAQS,IAAiBX,GAAAA,UAAAA,EAAAA,EAAYE,QACrCqB,UAAW,wBAAqBpF,EAC7BgB,EAAWyD,SAAXzE,UAAAA,EAAAA,EAAmB0E,QAG1BlE,UAAW4D,EACXR,KAAM9D,EAAM8D,KAAKL,gBAEThD,IAAY,WAAaA,EAAQe,EAAM,CAAEc,QAAAA,IAAa7B,MAItE,ECvMO,IAAM8E,EAAgB,SAAhBA,EAAiBvF,GAC5B,IAAMU,EAAY6D,EAAW,qBAAsBvE,EAAMU,WACzD,OACE0C,EAACrD,EAAWuD,EAAA,CACVvC,OAAO,KACPC,KAAM,KACNqD,MAAO,IACPvD,WAAW,KACXiE,aAAc,MACV/E,EAAK,CACTU,UAAWA,IAGjB,ECUO,IAAM8E,EAAc,SAAdA,EAAexF,GAC1B,OACEoD,EAACmC,EAAajC,EAAA,CACZvC,OAAO,KACPH,aAAc,KACdmE,aAAc,OACV/E,EAAK,CACTK,KAAM,SAAAA,EAACoF,EAAO/C,GACZ,OAAO1C,EAAMuD,SAAO,UAAA,EAAbvD,EAAMuD,QAAUb,EACzB,IAGN,ECtCO,IAAA/C,EAAgDC,IAAzC8F,EAAwB/F,EAAA,GAAEG,EAAWH,EAAA,uLCsC5C,IAAMgG,EAAe,SAAfA,EAAgB3F,GAC3B,IACEK,EAcEL,EAdFK,KACAC,EAaEN,EAbFM,SACAG,EAYET,EAZFS,QACAM,EAWEf,EAXFe,OACAD,EAUEd,EAVFc,WACA8E,EASE5F,EATF4F,mBACAC,EAQE7F,EARF6F,uBAAsBC,EAQpB9F,EAPF+F,gBAAAA,EAAeD,SAAG,EAAA,SAAQA,EAC1BE,EAMEhG,EANFgG,cACA3B,EAKErE,EALFqE,MACA1D,EAIEX,EAJFW,SACAC,EAGEZ,EAHFY,aACAqF,EAEEjG,EAFFiG,MACG/E,EAAUC,EACXnB,EAAKoB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMU,EAAaC,EAASC,sBAAwB,GACpD,IAAAC,EAA8CC,EAAuB,IAA9DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1C,IAAMI,EAAUC,EAAMC,gBAAe,SAACE,GACpC1C,EAAMsC,SAANtC,UAAAA,EAAAA,EAAMsC,QAAUI,EAClB,IAEA,IAAMD,EAAiBF,EAAMC,gBAAe,SAACE,GAC3C,GAAIpC,EAAU,CACZ,IAAMqC,EAAWrC,EAASkB,EAAMkB,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,IAEA,IAAMC,EAAaT,EAAMC,gBAAe,SAACE,GACvC,GAAIrC,EAAM,CACR,IAAMsC,EAAWtC,EAAKmB,EAAMkB,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,IA2BA,IAAMmD,EAAmBlE,EAASkB,eAAc,WAC9C,GAAI8C,EAAe,CACjB,OAAOA,EAAcxE,EAAMY,EAC7B,CAEA,IAAM+D,EAAcxF,IAAYiF,GAAAA,UAAAA,EAAAA,EAAoBpC,QACpD,IAAM4C,EAAkBzF,IAAYiF,GAAAA,UAAAA,EAAAA,EAAoBpC,QAExD,IAAM6C,EACJrB,EAACsB,EAAK,CAAA7C,SAAA,CACH2C,EAAkB,KACjBhD,EAACC,EAAaC,EAAA,CAAA,EAAKuC,EAAsB,CAAEtC,QAASd,EAAegB,SAChE3C,GAAc,QAGlBqF,EAAc,KACb/C,EAACC,EAAaC,EAAA,CAACK,KAAK,WAAciC,EAAkB,CAAErC,QAASP,EAAWS,SACvE1C,GAAU,WAKnB,IAAKJ,IAAaC,EAAc,CAC9B,OAAOyF,CACT,CACA,OAAO,IACR,GAAE,CAACjE,EAAiBpC,EAAM8D,OAE3B,IAAMC,EAAaC,GAAQ,WACzB,IAAKjC,EAAY,OAAOmC,UACxB,GAAI,CAAC,KAAM,MAAME,SAASrC,GAAa,CACrC,MAAO,CACLsC,MAAO,MACPkC,SAAU,MAEd,CACA,GAAIlC,EAAO,CACT,MAAO,CAAEA,MAAOA,EAAOkC,SAAU,qBACnC,CACA,MAAO,CAAElC,MAAO,MAAOkC,SAAU,qBACnC,GAAG,CAACxE,EAAYsC,IAEhB,IAAMmC,SAAqBP,IAAU,WAAaA,EAAMzE,GAAQyE,EAEhE,IAAMzB,EAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAGrB,OACErB,EAACtD,EAAW,CAAC+E,MAAO,CAAEL,eAAAA,GAAiBf,SACrCL,EAACqD,EAAMnD,EAAA,CACLyB,aAAc,KACdM,eAAc,KAEdqB,oBAAqB,CAAEH,SAAUxC,GAAAA,UAAAA,EAAAA,EAAYwC,UAC7C1F,OAAQkF,IAAoB,SAAWG,EAAmB,MACtDhF,EAAU,CACdmD,MAAON,GAAAA,UAAAA,EAAAA,EAAYM,MACnBM,OAAMrB,EAAA,GACDpC,EAAWyD,QAMhBjE,UAAW6D,EAAW,oBAAqBrD,EAAWR,WACtDuF,MAAOF,IAAoB,SAAWG,EAAmBM,EACzD1C,KAAM9D,EAAM8D,KACZxB,QAASA,EAAQmB,gBAEThD,IAAY,WAAaA,EAAQe,EAAM,CAAEc,QAAAA,IAAa7B,MAItE,EC/KO,IAAMkG,EAAgB,SAAhBA,EAAiB3G,GAC5B,IAAQU,EAA6BV,EAA7BU,UAAWkG,EAAkB5G,EAAlB4G,QAASC,EAAS7G,EAAT6G,KAC5B,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,OACE9D,EAAC0B,EAAK,CACJC,aAAc,MACdK,SAAU,KACVC,eAAc,KACd3E,UAAW6D,EAAW,qBAAsB7D,GAC5CoD,KAAM9D,EAAM8D,KACZjD,OAAQ,KACRsG,SAAU,MACVC,MAAO,CAAE,sBAAuBF,GAChCL,KAAMA,EAAKpD,SAEXL,EAACiE,EAAW,CAAC3G,UAAW6D,EAAW,8BAA8Bd,SAC/DuB,EAAA,MAAA,CAAKtE,UAAU,iBAAgB+C,UAC7BL,EAAA,MAAA,CAAK1C,UAAU,iBACf0C,EAAA,MAAA,CAAK1C,UAAU,cAAa+C,SAAEmD,GAAW,cAKnD,ECtBO,IAAMU,EAAkB,SAAlBA,IACX,IAAMC,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIE,mBAAiB,UAAA,EAArBF,EAAIE,qBAGN,MAAO,CACLC,gBAAiB,CACf5D,KAAM,SAAAA,EAACW,GACL8C,EAAII,kBAAJJ,UAAAA,EAAAA,EAAII,iBAAgBrE,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACxC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,EAMPuF,mBAAoB,SAAAA,IAClB,IAAMN,EAAM7B,IACZ,MAAO,CAELlB,eAAgB,SAAAA,EAACC,GACf8C,EAAI/C,eAAeC,EACrB,EAEJ,GAGN,EAKO,IAAMqD,EAAmB,SAAnBA,IACX,IAAMP,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIQ,oBAAkB,UAAA,EAAtBR,EAAIQ,sBAGN,MAAO,CACLC,iBAAkB,CAChBlE,KAAM,SAAAA,EAACW,GACL8C,EAAIU,mBAAJV,UAAAA,EAAAA,EAAIU,kBAAiB3E,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,EAMPuF,mBAAoB,SAAAA,IAClB,IAAMN,EAAM7B,IACZ,MAAO,CAELlB,eAAgB,SAAAA,EAACC,GACf8C,EAAI/C,eAAeC,EACrB,EAEJ,GAGN,EAQO,IAAMyD,EAAiB,SAAjBA,IACX,IAAMX,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIY,kBAAgB,UAAA,EAApBZ,EAAIY,oBAGN,MAAO,CACLC,eAAgB,CACdtE,KAAM,SAAAA,EAACW,GACL8C,EAAIc,iBAAJd,UAAAA,EAAAA,EAAIc,gBAAe/E,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACvC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,EAIPgG,kBAAmB,SAAAA,IACjB,IAAMf,EAAM1H,IACZ,MAAO,CAEL2E,eAAgB,SAAAA,EAACC,GACf8C,EAAI/C,eAAeC,EACrB,EAEJ,GAGN,EAQO,IAAM8D,EAAkB,SAAlBA,IACX,IAAMhB,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIiB,mBAAiB,UAAA,EAArBjB,EAAIiB,qBAGN,MAAO,CACLC,gBAAiB,CACf3E,KAAM,SAAAA,EAACW,GACL8C,EAAImB,kBAAJnB,UAAAA,EAAAA,EAAImB,iBAAgBpF,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACxC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,EAIPgG,kBAAmB,SAAAA,IACjB,IAAMf,EAAM1H,IACZ,MAAO,CAEL2E,eAAgB,SAAAA,EAACC,GACf8C,EAAI/C,eAAeC,EACrB,EAEJ,GAGN,EAMO,IAAMkE,EAAiB,SAAjBA,IACX,IAAMpB,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIqB,kBAAgB,UAAA,EAApBrB,EAAIqB,oBAGN,MAAO,CACLC,eAAgB,CACd/E,KAAM,SAAAA,EAACW,GACL8C,EAAIuB,iBAAJvB,UAAAA,EAAAA,EAAIuB,gBAAexF,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACvC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,GAGb,EAKO,IAAMyG,EAAmB,SAAnBA,IACX,IAAMxB,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAIyB,oBAAkB,UAAA,EAAtBzB,EAAIyB,sBAGN,MAAO,CACLC,iBAAkB,CAChBnF,KAAM,SAAAA,EAACW,GACL8C,EAAI2B,mBAAJ3B,UAAAA,EAAAA,EAAI2B,kBAAiB5F,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,GAGb,EAKO,IAAM6G,EAAmB,SAAnBA,IACX,IAAM5B,EAAMC,EAAW/H,GAEvB,IAAM6C,EAAU,SAAVA,IACJiF,EAAI6B,oBAAkB,UAAA,EAAtB7B,EAAI6B,sBAGN,MAAO,CACLC,iBAAkB,CAChBvF,KAAM,SAAAA,EAACW,GACL8C,EAAI+B,mBAAJ/B,UAAAA,EAAAA,EAAI+B,kBAAiBhG,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDsF,MAAOtF,GAGb,EAEO,IAAMiH,EAAS,SAATA,EAAUvJ,GACrB,IAAAkC,EAAsCC,EAA4B,IAA3DqH,EAAWtH,EAAA,GAAEuH,EAAcvH,EAAA,GAClC,IAAAwH,EAAkCvH,EAASwH,KAApCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAE9B,IAAAI,EAAwC3H,EAA4B,IAA7D4H,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAoC9H,EAASwH,KAAtCO,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAEhC,IAAAG,EAAoCjI,EAA2B,IAAxDkI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAgCpI,EAASwH,KAAlCa,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5B,IAAAG,EAAsCvI,EAA2B,IAA1DwI,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClC,IAAAG,EAAkC1I,EAASwH,KAApCmB,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9B,IAAAG,EAAoC7I,EAA2B,IAAxD8I,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAwChJ,EAA6B,IAA9DiJ,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAwCnJ,IAAjCoJ,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAEpC,IAAAG,EAAgCtJ,EAASwH,KAAlC+B,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5B,IAAAG,EAAoCzJ,EAASwH,KAAtCkC,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAoC5J,EAASwH,KAAtCqC,GAAUD,EAAA,GAAEE,GAAaF,EAAA,GAEhC,IAAMpE,GAAyDpF,EAAMC,gBAAe,SAACiC,GACnFgF,EAAehF,EACjB,IACA,IAAMgD,GAAoBlF,EAAMC,gBAAe,SAACE,GAC9C+G,EAAcnG,EAAA,CAAA,EAAMkG,EAAW,CAAE1F,KAAM,SACvC0F,EAAYlH,SAAZkH,UAAAA,EAAAA,EAAYlH,QAAUI,GACtBwJ,YAAW,WACTrC,EAAaF,IACd,GAAE,IACL,IAEA,IAAM1B,GAA2D1F,EAAMC,gBAAe,SAACiC,GACrFuF,EAAgBvF,EAClB,IAEA,IAAMsD,GAAqBxF,EAAMC,gBAAe,SAACE,GAC/CsH,EAAe1G,EAAA,CAAA,EAAMyG,EAAY,CAAEjG,KAAM,SACzCiG,EAAazH,SAAbyH,UAAAA,EAAAA,EAAazH,QAAUI,GACvBwJ,YAAW,WACT/B,EAAcR,IACf,GAAE,IACL,IAEA,IAAMtB,GAAuD9F,EAAMC,gBAAe,SAACiC,GACjF6F,EAAc7F,EAChB,IAEA,IAAM0D,GAAmB5F,EAAMC,gBAAe,WAC5C8H,EAAahH,EAAA,CAAA,EAAM+G,EAAU,CAAEvG,KAAM,SACrCuG,EAAW/H,SAAO,UAAA,EAAlB+H,EAAW/H,UACX4J,YAAW,WACTzB,EAAYd,IACb,GAAE,IACL,IAEA,IAAMjB,GAAyDnG,EAAMC,gBAAe,SAACiC,GACnFmG,EAAenG,EACjB,IAEA,IAAM+D,GAAoBjG,EAAMC,gBAAe,WAC7CoI,EAActH,EAAA,CAAA,EAAMqH,EAAW,CAAE7G,KAAM,SACvC6G,EAAYrI,SAAO,UAAA,EAAnBqI,EAAYrI,UACZ4J,YAAW,WACTnB,EAAapB,IACd,GAAE,IACL,IAEA,IAAMb,GAAuDvG,EAAMC,gBAAe,SAACiC,GACjFyG,EAAczG,EAChB,IAEA,IAAMmE,GAAmBrG,EAAMC,gBAAe,WAC5C0I,EAAa5H,EAAA,CAAA,EAAM2H,EAAU,CAAEnH,KAAM,SACrCmH,EAAW3I,SAAO,UAAA,EAAlB2I,EAAW3I,UACX4J,YAAW,WACTP,EAAYhC,IACb,GAAE,IACL,IAEA,IAAMT,GAA2D3G,EAAMC,gBAAe,SAACiC,GACrF4G,EAAgB5G,EAClB,IAEA,IAAMuE,GAAqBzG,EAAMC,gBAAe,WAC9C6I,EAAe/H,EAAA,CAAA,EAAM8H,EAAY,CAAEtH,KAAM,SACzCsH,EAAa9I,SAAO,UAAA,EAApB8I,EAAa9I,UACb4J,YAAW,WACTJ,EAAcnC,IACf,GAAE,IACL,IAEA,IAAML,GAA2D/G,EAAMC,gBAAe,SAACiC,GACrF+G,EAAgB/G,EAClB,IAEA,IAAM2E,GAAqB7G,EAAMC,gBAAe,WAC9CgJ,EAAelI,EAAA,CAAA,EAAMiI,EAAY,CAAEzH,KAAM,SACzCoI,YAAW,WACTD,GAActC,IACf,GAAE,IACL,IAEA,OACE3E,EAACvF,EAAc0M,SAAQ,CACrBtH,MAAO,CACL8C,iBAAAA,GACAF,kBAAAA,GACAQ,kBAAAA,GACAF,mBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAO,iBAAAA,GACAF,kBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,IACA3F,UAEF2I,EAACzG,EAAYrC,KAAKkG,EAAW,CAAElH,QAASmF,GAAmB4E,IAAKzC,KAChEwC,EAACzG,EAAYrC,KAAKyG,EAAY,CAAEzH,QAASyF,GAAoBsE,IAAKnC,KAClEkC,EAACrM,EAAWuD,KAAK+G,EAAU,CAAE/H,QAAS6F,GAAkBkE,IAAK7B,KAC7D4B,EAACrM,EAAWuD,KAAKqH,EAAW,CAAErI,QAASkG,GAAmB6D,IAAKvB,KAC/DsB,EAAC5G,EAAWlC,KAAK2H,EAAU,CAAE3I,QAASsG,GAAkByD,IAAKX,KAC7DU,EAAC7G,EAAajC,KAAK8H,EAAY,CAAE9I,QAAS0G,GAAoBqD,IAAKR,KACnEO,EAACzF,EAAarD,KAAKiI,EAAY,CAAEc,IAAKL,MACrChM,EAAMyD,WAGb,EClVO,IAAM8F,EAAS+C,EAASC,4BAA4BC,EAAa,CAEtElF,gBAAAA,EACAQ,iBAAAA,EAEAI,eAAAA,EACAK,gBAAAA,EAEAQ,iBAAAA,EAEAJ,eAAAA,EAEAQ,iBAAAA"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/context.ts","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({});\n","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogModalCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n size,\n bodyHeight,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ].filter(Boolean);\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n { 'fba-dialog-modal-footer-empty': !footerNew },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={props.open}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n size={null}\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogDrawerCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => ReactElement;\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n // const operateGroup = (\n // <Space>\n // {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n // <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n // {cancelText || '取消'}\n // </ButtonWrapper>\n // )}\n // {okHidden || okButtonExtraProps?.hidden ? null : (\n // <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n // {okText || '提交'}\n // </ButtonWrapper>\n // )}\n // </Space>\n // );\n\n // const operateRenderHandle = () => {\n // if (operateRender) {\n // return operateRender(form);\n // }\n // if (!okHidden || !cancelHidden) {\n // return operateGroup;\n // }\n // return null;\n // };\n\n const newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <BlockLayout className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { useFbaAppDialogDrawerCtx } from './dialog-drawer/context';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\nimport { useFbaAppDialogModalCtx } from './dialog-modal/context';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n/**\n * 不支持多个弹框\n * @returns\n */\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","_createCtx","_createCtx2","useFbaAppDialogModalCtx","CtxProvider","FbaAppModal","props","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","_useState","useState","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","footerNew","useMemoCustom","_localMessage$FbaDial","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","filter","Boolean","open","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","value","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","FbaAppConfirm","FbaAppAlert","_form","useFbaAppDialogDrawerCtx","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","newOperateRender","okHiddenNew","cancelHiddenNew","operateGroup","Space","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","dialogDrawerOpen","close","useAppDialogDrawer","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useAppDialogModal","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
package/esm/index.js CHANGED
@@ -96,6 +96,7 @@ import './mention-editor/index.css';
96
96
  import './mentions-wrapper/index.css';
97
97
  import './modal-action/index.css';
98
98
  import './modal-wrapper/index.css';
99
+ import './number-range-form-item/index.css';
99
100
  import './page-fixed-footer/index.css';
100
101
  import './page404/index.css';
101
102
  import './pdf/index.css';
@@ -131,5 +132,5 @@ import './tree-wrapper/index.css';
131
132
  import './x-mind-preview/index.css';
132
133
  import './index.css';
133
134
  /*! @flatjs/forge MIT @flatbiz/antd */
134
- export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{DeleteNode}from"./delete-node/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableCard}from"./editable-card/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditableTablePro}from"./editable-table-pro/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/PlusOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";import"simple-mind-map";
135
+ export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{BlockLayout}from"./block-layout/index.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{DeleteNode}from"./delete-node/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableCard}from"./editable-card/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditableTablePro}from"./editable-table-pro/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileExport}from"./file-export/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{NumberRangeFormItem}from"./number-range-form-item/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/PlusOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";import"simple-mind-map";
135
136
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ .v-flex-layout{display:flex}.v-flex-vertical{flex-direction:column}
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+ import './../form-item-wrapper/index.css';
3
+ import './../pre-defined-class-name/index.css';
4
+ import './../types/index.css';
5
+ import './index.css';
6
+ /*! @flatjs/forge MIT @flatbiz/antd */
7
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isNotEmptyArray as i,isEmptyArray as n,isUndefinedOrNull as t}from"@flatbiz/utils";import{InputNumber as s}from"antd";import{useMemo as o}from"react";import{FlexLayout as m}from"../flex-layout/index.js";import{FormItemWrapper as u}from"../form-item-wrapper/index.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"../pre-defined-class-name/index.js";var d=["minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual"];var f=function f(p){var c=p.minFormItemName,v=p.maxFormItemName,P=p.required,g=p.requiredRuleMessage,x=p.rangeRuleMessage,I=p.minInputNumberProps,h=p.maxInputNumberProps,j=p.isInputEqual,q=e(p,d);var N=o((function(){if(!x)return["最小值输入不能超过最大值","最大值输入不能低于最小值"];if(i(x)){return[x[0],x[1]||x[0]]}return[x,x]}),[x]);var y=o((function(){if(!g||n(g))return[];if(i(g)){return[g[0],g[1]||g[0]]}return[g,g]}),[g]);var b=[{required:P,message:y[0]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(v);if(t(s)){return Promise.resolve()}if(j){if(n<=s){return Promise.resolve()}}else{if(n<s){return Promise.resolve()}}return Promise.reject(new Error(N[0]))}}}];var F=[{required:P,message:y[1]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(c);if(t(s)){return Promise.resolve()}if(j){if(n>=s){return Promise.resolve()}}else{if(n>s){return Promise.resolve()}}return Promise.reject(new Error(N[1]))}}}];return a(u,r({},q,{required:P,children:l(m,{fullIndex:[0,1],direction:"horizontal",gap:10,children:[a(u,{name:c,dependencies:[v],rules:b,style:{margin:0},children:a(s,r({placeholder:"请输入"},I,{style:r({width:"100%"},I==null?void 0:I.style)}))}),a(u,{name:v,dependencies:[c],rules:F,style:{margin:0},children:a(s,r({placeholder:"请输入"},h,{style:r({width:"100%"},h==null?void 0:h.style)}))})]})}))};export{f as NumberRangeFormItem};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/number-range-form-item/number-range.tsx"],"sourcesContent":["import { isEmptyArray, isNotEmptyArray, isUndefinedOrNull } from '@flatbiz/utils';\nimport { InputNumber, InputNumberProps } from 'antd';\nimport { useMemo } from 'react';\nimport { FlexLayout } from '../flex-layout/flex-layout';\nimport { FormItemWrapper, type FormItemWrapperProps } from '../form-item-wrapper';\nimport type { FormItemNamePath } from '../types';\n\n// type InputNumberProps = GetProps<typeof InputNumber>;\n\nexport type NumberRangeFormItemProps = Omit<FormItemWrapperProps, 'name' | 'rules'> & {\n minFormItemName: FormItemNamePath;\n maxFormItemName: FormItemNamePath;\n /** 是否必填 */\n required?: boolean;\n /** 必填验证异常文案 */\n requiredRuleMessage?: string | [string, string];\n /** 范围验证异常文案 */\n rangeRuleMessage?: string | [string, string];\n minInputNumberProps?: Omit<InputNumberProps, 'value'>;\n maxInputNumberProps?: Omit<InputNumberProps, 'value'>;\n /** 最小值与最大值输入是否可以相同 */\n isInputEqual?: boolean;\n};\n/**\n * 数字输入范围组件\n */\nexport const NumberRangeFormItem = (props: NumberRangeFormItemProps) => {\n const {\n minFormItemName,\n maxFormItemName,\n required,\n requiredRuleMessage,\n rangeRuleMessage,\n minInputNumberProps,\n maxInputNumberProps,\n isInputEqual,\n ...otherProps\n } = props;\n\n const rangeRuleMessageList = useMemo(() => {\n if (!rangeRuleMessage) return ['最小值输入不能超过最大值', '最大值输入不能低于最小值'];\n if (isNotEmptyArray(rangeRuleMessage)) {\n return [rangeRuleMessage[0], rangeRuleMessage[1] || rangeRuleMessage[0]];\n }\n return [rangeRuleMessage, rangeRuleMessage] as string[];\n }, [rangeRuleMessage]);\n\n const requiredRuleMessageList = useMemo(() => {\n if (!requiredRuleMessage || isEmptyArray(requiredRuleMessage)) return [];\n if (isNotEmptyArray(requiredRuleMessage)) {\n return [requiredRuleMessage[0], requiredRuleMessage[1] || requiredRuleMessage[0]];\n }\n return [requiredRuleMessage, requiredRuleMessage] as string[];\n }, [requiredRuleMessage]);\n\n const minRules = [\n { required: required, message: requiredRuleMessageList[0] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const maxValue = getFieldValue(maxFormItemName);\n if (isUndefinedOrNull(maxValue)) {\n return Promise.resolve();\n }\n if (isInputEqual) {\n if (value <= maxValue) {\n return Promise.resolve();\n }\n } else {\n if (value < maxValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[0]));\n },\n }),\n ];\n\n const maxRules = [\n { required: required, message: requiredRuleMessageList[1] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const minValue = getFieldValue(minFormItemName);\n if (isUndefinedOrNull(minValue)) {\n return Promise.resolve();\n }\n\n if (isInputEqual) {\n if (value >= minValue) {\n return Promise.resolve();\n }\n } else {\n if (value > minValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[1]));\n },\n }),\n ];\n\n return (\n <FormItemWrapper {...otherProps} required={required}>\n <FlexLayout fullIndex={[0, 1]} direction=\"horizontal\" gap={10}>\n <FormItemWrapper\n name={minFormItemName}\n dependencies={[maxFormItemName]}\n rules={minRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...minInputNumberProps}\n style={{ width: '100%', ...minInputNumberProps?.style }}\n />\n </FormItemWrapper>\n <FormItemWrapper\n name={maxFormItemName}\n dependencies={[minFormItemName]}\n rules={maxRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...maxInputNumberProps}\n style={{ width: '100%', ...maxInputNumberProps?.style }}\n />\n </FormItemWrapper>\n </FlexLayout>\n </FormItemWrapper>\n );\n};\n"],"names":["NumberRangeFormItem","props","minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual","otherProps","_objectWithoutPropertiesLoose","_excluded","rangeRuleMessageList","useMemo","isNotEmptyArray","requiredRuleMessageList","isEmptyArray","minRules","message","_ref","getFieldValue","validator","_","value","isUndefinedOrNull","Promise","resolve","maxValue","reject","Error","maxRules","_ref2","minValue","_jsx","FormItemWrapper","_extends","children","_jsxs","FlexLayout","fullIndex","direction","gap","name","dependencies","rules","style","margin","InputNumber","placeholder","width"],"mappings":";unBA0BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IACEC,EASED,EATFC,gBACAC,EAQEF,EARFE,gBACAC,EAOEH,EAPFG,SACAC,EAMEJ,EANFI,oBACAC,EAKEL,EALFK,iBACAC,EAIEN,EAJFM,oBACAC,EAGEP,EAHFO,oBACAC,EAEER,EAFFQ,aACGC,EAAUC,EACXV,EAAKW,GAET,IAAMC,EAAuBC,GAAQ,WACnC,IAAKR,EAAkB,MAAO,CAAC,eAAgB,gBAC/C,GAAIS,EAAgBT,GAAmB,CACrC,MAAO,CAACA,EAAiB,GAAIA,EAAiB,IAAMA,EAAiB,GACvE,CACA,MAAO,CAACA,EAAkBA,EAC5B,GAAG,CAACA,IAEJ,IAAMU,EAA0BF,GAAQ,WACtC,IAAKT,GAAuBY,EAAaZ,GAAsB,MAAO,GACtE,GAAIU,EAAgBV,GAAsB,CACxC,MAAO,CAACA,EAAoB,GAAIA,EAAoB,IAAMA,EAAoB,GAChF,CACA,MAAO,CAACA,EAAqBA,EAC/B,GAAG,CAACA,IAEJ,IAAMa,EAAW,CACf,CAAEd,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAI,GAAA,IAAGC,EAAaD,EAAbC,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMC,EAAWP,EAAclB,GAC/B,GAAIsB,EAAkBG,GAAW,CAC/B,OAAOF,QAAQC,SACjB,CACA,GAAIlB,EAAc,CAChB,GAAIe,GAASI,EAAU,CACrB,OAAOF,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQI,EAAU,CACpB,OAAOF,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,IAAMkB,EAAW,CACf,CAAE3B,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAgB,GAAA,IAAGX,EAAaW,EAAbX,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMM,EAAWZ,EAAcnB,GAC/B,GAAIuB,EAAkBQ,GAAW,CAC/B,OAAOP,QAAQC,SACjB,CAEA,GAAIlB,EAAc,CAChB,GAAIe,GAASS,EAAU,CACrB,OAAOP,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQS,EAAU,CACpB,OAAOP,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,OACEqB,EAACC,EAAeC,KAAK1B,EAAU,CAAEN,SAAUA,EAASiC,SAClDC,EAACC,EAAU,CAACC,UAAW,CAAC,EAAG,GAAIC,UAAU,aAAaC,IAAK,GAAGL,SAAA,CAC5DH,EAACC,EAAe,CACdQ,KAAMzC,EACN0C,aAAc,CAACzC,GACf0C,MAAO3B,EACP4B,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACR1C,EAAmB,CACvBuC,MAAKV,EAAA,CAAIc,MAAO,QAAW3C,GAAmB,UAAA,EAAnBA,EAAqBuC,YAGpDZ,EAACC,EAAe,CACdQ,KAAMxC,EACNyC,aAAc,CAAC1C,GACf2C,MAAOd,EACPe,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACRzC,EAAmB,CACvBsC,MAAKV,EAAA,CAAIc,MAAO,QAAW1C,GAAmB,UAAA,EAAnBA,EAAqBsC,iBAM5D"}
package/index.d.ts CHANGED
@@ -1517,7 +1517,7 @@ export type EditableCardColumnItem = {
1517
1517
  */
1518
1518
  dataIndex: EditableCardDataIndex;
1519
1519
  /** 是否可编辑 */
1520
- editable: boolean | ((record: TPlainObject, index: number) => boolean);
1520
+ editable: boolean | ((operation: Pick<EditableCardOperation, "index" | "getCurrentRowData">, index: number) => boolean);
1521
1521
  /**
1522
1522
  * 布局占用网格数目(最大数值24)
1523
1523
  * ```
@@ -1573,10 +1573,12 @@ export type EditableCardColumnItem = {
1573
1573
  /**
1574
1574
  * 隐藏域设置
1575
1575
  * ```
1576
- * 如果是动态隐藏,并且在逻辑切换后无效果,可尝试执行 render.operation.forceUpdate()
1576
+ * 如果是动态隐藏,并且在逻辑切换后无效果,可尝试执行 operation.forceUpdate()
1577
1577
  * ```
1578
1578
  */
1579
- hidden?: (record: TPlainObject, index: number) => boolean;
1579
+ hidden?: (operation: EditableCardOperation, index: number) => boolean;
1580
+ /** 移除设置,优先级高于 hidden */
1581
+ remove?: (operation: EditableCardOperation, index: number) => boolean;
1580
1582
  };
1581
1583
  export type EditableCardProps = {
1582
1584
  className?: string;
@@ -1613,6 +1615,7 @@ export type EditableCardProps = {
1613
1615
  addRowDefaultValues?: () => TPlainObject;
1614
1616
  /** 隐藏底部`新增`按钮 */
1615
1617
  hiddenFooterBtn?: boolean;
1618
+ addRowBtnName?: string;
1616
1619
  /** 顶部区域渲染 */
1617
1620
  contentBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;
1618
1621
  /** 底部区域渲染 */
@@ -1816,6 +1819,13 @@ export type SelectorWrapperProps = Omit<SelectProps, "onSearch" | "notFoundConte
1816
1819
  showIcon?: boolean;
1817
1820
  /** select option添加图标;与showIcon组合使用 */
1818
1821
  icon?: (data: TPlainObject, index: number) => ReactElement;
1822
+ /**
1823
+ * 配置文案
1824
+ * ```
1825
+ * 例如:
1826
+ * 1. no-dependencies-params:未获取到依赖查询条件
1827
+ * ```
1828
+ */
1819
1829
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
1820
1830
  /**
1821
1831
  * value格式
@@ -3095,11 +3105,10 @@ export declare const EasyTable: import("react").ForwardRefExoticComponent<EasyTa
3095
3105
  /**
3096
3106
  * 使用FormList实现可编辑卡片
3097
3107
  * ```
3098
- * 1. EditableCard有两种模式,正常 & 禁用
3099
- * 2. 必须在外部包裹Form组件
3100
- * 3. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法
3101
- * 4. 可使用DragEditableCard组件实现拖拽排序
3102
- * 5. 设置EditableCard disabled后,通过 LabelValueRender 组件展示数据,可通过 disabledRenderProps 配置布局
3108
+ * 1. 必须在外部包裹Form组件
3109
+ * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法
3110
+ * 3. 可使用DragEditableCard组件实现拖拽排序
3111
+ * 4. 设置EditableCard disabled后,通过 LabelValueRender 组件展示数据,可通过 disabledRenderProps 配置布局
3103
3112
  *
3104
3113
  * demo
3105
3114
  * https://fex.qa.tcshuke.com/docs/admin/main/form/grid
@@ -4263,6 +4272,30 @@ declare const ModalWrapperFooter: (props: any) => import("react/jsx-runtime").JS
4263
4272
  * ```
4264
4273
  */
4265
4274
  export declare const ModalWrapper: FC<ModalWrapperProps> & ModalWrapperStaticMethods;
4275
+ export type NumberRangeFormItemProps = Omit<FormItemWrapperProps, "name" | "rules"> & {
4276
+ minFormItemName: FormItemNamePath;
4277
+ maxFormItemName: FormItemNamePath;
4278
+ /** 是否必填 */
4279
+ required?: boolean;
4280
+ /** 必填验证异常文案 */
4281
+ requiredRuleMessage?: string | [
4282
+ string,
4283
+ string
4284
+ ];
4285
+ /** 范围验证异常文案 */
4286
+ rangeRuleMessage?: string | [
4287
+ string,
4288
+ string
4289
+ ];
4290
+ minInputNumberProps?: Omit<InputNumberProps, "value">;
4291
+ maxInputNumberProps?: Omit<InputNumberProps, "value">;
4292
+ /** 最小值与最大值输入是否可以相同 */
4293
+ isInputEqual?: boolean;
4294
+ };
4295
+ /**
4296
+ * 数字输入范围组件
4297
+ */
4298
+ export declare const NumberRangeFormItem: (props: NumberRangeFormItemProps) => import("react/jsx-runtime").JSX.Element;
4266
4299
  export type PageFixedFooterProps = {
4267
4300
  className?: string;
4268
4301
  style?: CSSProperties;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.5.27",
3
+ "version": "4.5.28",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",