@flatbiz/antd 4.5.48 → 4.5.50

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.
@@ -9,5 +9,5 @@ import './../dialog-confirm/index.css';
9
9
  import './../dialog-modal/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import r from"@ant-design/icons/es/icons/MoreOutlined";import{_ as e,a as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefined as o}from"@dimjs/lang/cjs/is-undefined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as p}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as l,Tooltip as c,Space as d,Divider as m,Popconfirm as u,Button as f}from"antd";import{isValidElement as j,Fragment as v,useState as h,useMemo as y,createElement as g}from"react";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaUtils as T}from"../fba-utils/index.js";import{jsx as w,jsxs as P}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"@dimjs/model";var C=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips","color","tipsType","type","isFold"];var b=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return w(l,{content:e.hoverTips,zIndex:1e3,children:w("span",{children:e.content})})}return w(c,{title:e.hoverTips,zIndex:1e3,children:w("span",{children:e.content})})}if(j(e.content)){return w(v,{children:e.content})}return w("span",{children:e.content})};var O=function l(c){var v=h(false),O=v[0],F=v[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&p(i)){F(true);return i.finally((function(){F(false)}))}return}));var I=c.operateList.filter((function(r){if(!r)return false;if(j(r)){var e,i,o;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;if(((i=r.props)==null?void 0:i["v-hidden"])===true)return false;var t=(o=r.props)==null?void 0:o["v-permission"];if(s(t)){return T.hasPermission(t)}return true}if(n(r)){if(!T.hasPermission(r["permission"])){return false}if(Object.prototype.hasOwnProperty.call(r,"show")){return r["show"]}else if(Object.prototype.hasOwnProperty.call(r,"hidden")){return!r["hidden"]}return true}return false}));var M=y((function(){return I.filter((function(r){if(j(r)){return true}return!r["isFold"]}))}),[I]);var N=y((function(){var r=I.filter((function(r){if(j(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var o=e({},r);delete o.isFold;i.push(o)}));return i}),[I]);var _=c.gap===undefined?10:c.gap;var L=!c.split?_:0;return w("div",{className:t("table-operate",c.className),style:c.style,children:P(d,e({split:c.split?w(m,{type:"vertical"}):null,size:L,wrap:o(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,o){if(r&&j(r)){return w(b,{content:r,hoverTips:r.hoverTips,tipsType:r.tipsType},o)}var t=r.text,n=r.onClick,s=r.needConfirm,p=r.confirmMessage,a=r.popconfirmProps,l=r.hoverTips,c=r.color,d=r.tipsType,m=r.type;r.isFold;var f=i(r,C);var v=m||"link";if(s&&!f.disabled){var h=c?false:true;return g(u,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:p,onConfirm:z.bind(null,r),key:o,okButtonProps:{loading:O},onOpenChange:function r(e){if(!e){F(false)}},onCancel:function r(e){e==null||e.stopPropagation()}}),w(k,e({danger:h},f,{onClick:function r(e){e.stopPropagation()},type:v,children:w(b,{content:t,hoverTips:l,tipsType:d},o)})))}return g(k,e({loadingPosition:"center"},f,{type:v,onClick:function r(e){e.stopPropagation();return n==null?void 0:n(e)},key:o}),w(b,{content:t,hoverTips:l,tipsType:r.tipsType}))})),N.length>0?w(x,e({menuList:N,placement:"bottom"},c.dropdownMenuProps,{children:w(f,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:w(r,{})})})):null]}))})};O.defaultProps={split:true};export{O as ButtonOperate,b as ButtonOperateItemContent};
12
+ import r from"@ant-design/icons/es/icons/MoreOutlined";import{_ as e,a as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefined as o}from"@dimjs/lang/cjs/is-undefined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as p}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as l,Tooltip as c,Space as d,Divider as m,Popconfirm as u,Button as f}from"antd";import{isValidElement as j,Fragment as v,useState as h,useMemo as y,createElement as g}from"react";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{DropdownMenuWrapper as x}from"../dropdown-menu-wrapper/index.js";import{fbaUtils as T}from"../fba-utils/index.js";import{jsx as w,jsxs as P}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";import"@dimjs/model";var C=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips","color","tipsType","type","isFold"];var b=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return w(l,{content:e.hoverTips,zIndex:1e3,children:w("span",{children:e.content})})}return w(c,{title:e.hoverTips,zIndex:1e3,children:w("span",{children:e.content})})}if(j(e.content)){return w(v,{children:e.content})}return w("span",{children:e.content})};var O=function l(c){var v=h(false),O=v[0],F=v[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&p(i)){F(true);return i.finally((function(){F(false)}))}return}));var I=c.operateList.filter((function(r){if(!r)return false;if(j(r)){var e,i,o;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;if(((i=r.props)==null?void 0:i["v-hidden"])===true)return false;var t=(o=r.props)==null?void 0:o["v-permission"];if(s(t)){return T.hasPermission(t)}return true}if(n(r)){if(!T.hasPermission(r["permission"])){return false}if(Object.prototype.hasOwnProperty.call(r,"show")){return r["show"]}else if(Object.prototype.hasOwnProperty.call(r,"hidden")){return!r["hidden"]}return true}return false}));var M=y((function(){return I.filter((function(r){if(j(r)){return true}return!r["isFold"]}))}),[I]);var N=y((function(){var r=I.filter((function(r){if(j(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var o=e({},r);delete o.isFold;i.push(o)}));return i}),[I]);var _=c.gap===undefined?10:c.gap;var L=!c.split?_:0;return w("div",{className:t("table-operate",c.className),style:c.style,children:P(d,e({split:c.split?w(m,{type:"vertical"}):null,size:L,wrap:o(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,o){if(r&&j(r)){return w(b,{content:r,hoverTips:r.hoverTips,tipsType:r.tipsType},o)}var t=r.text,n=r.onClick,s=r.needConfirm,p=r.confirmMessage,a=r.popconfirmProps,l=r.hoverTips,c=r.color,d=r.tipsType,m=r.type;r.isFold;var f=i(r,C);var v=m||"link";if(s&&!f.disabled){var h=c?false:true;return g(u,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:p,onConfirm:z.bind(null,r),key:o,okButtonProps:{loading:O},onOpenChange:function r(e){if(!e){F(false)}},onCancel:function r(e){e==null||e.stopPropagation()}}),w(k,e({danger:h},f,{onClick:function r(e){e.stopPropagation()},type:v,children:w(b,{content:t,hoverTips:l,tipsType:d},o)})))}return g(k,e({loadingPosition:"center"},f,{color:c,type:v,onClick:function r(e){e.stopPropagation();return n==null?void 0:n(e)},key:o}),w(b,{content:t,hoverTips:l,tipsType:r.tipsType}))})),N.length>0?w(x,e({menuList:N,placement:"bottom"},c.dropdownMenuProps,{children:w(f,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:w(r,{})})})):null]}))})};O.defaultProps={split:true};export{O as ButtonOperate,b as ButtonOperateItemContent};
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n /** 是否显示按钮,优先级高于 hidden */\n show?: boolean;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission=\"add\"\n * 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏\n *\n *\n * flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n if (item.props?.['v-hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n if (Object.prototype.hasOwnProperty.call(item, 'show')) {\n return item['show'];\n } else if (Object.prototype.hasOwnProperty.call(item, 'hidden')) {\n return !item['hidden'];\n }\n return true;\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n // 多余字段渲染到react dom上,出现警告\n isFold: _isFold,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottom\" {...props.dropdownMenuProps}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_item$props","_item$props2","_item$props3","permission","_isString","fbaUtils","hasPermission","_isPlainObject","Object","prototype","hasOwnProperty","call","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","color","otherProps","_objectWithoutPropertiesLoose","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n /** 是否显示按钮,优先级高于 hidden */\n show?: boolean;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission=\"add\"\n * 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏\n *\n *\n * flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n if (item.props?.['v-hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n if (Object.prototype.hasOwnProperty.call(item, 'show')) {\n return item['show'];\n } else if (Object.prototype.hasOwnProperty.call(item, 'hidden')) {\n return !item['hidden'];\n }\n return true;\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n // 多余字段渲染到react dom上,出现警告\n isFold: _isFold,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n color={color}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottom\" {...props.dropdownMenuProps}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_item$props","_item$props2","_item$props3","permission","_isString","fbaUtils","hasPermission","_isPlainObject","Object","prototype","hasOwnProperty","call","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","color","otherProps","_objectWithoutPropertiesLoose","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .easy-form:not(".easy-form-pure"){background-color:var(--block-bg-color)}.easy-form-anchor{height:0;width:0}.form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable */
2
2
  import './../editable-card/index.css';
3
+ import './../box-grid/index.css';
3
4
  import './../button-wrapper/index.css';
4
5
  import './../config-provider-wrapper/index.css';
5
6
  import './../fba-hooks/index.css';
@@ -9,7 +10,6 @@ import './../card-wrapper/index.css';
9
10
  import './../delete-node/index.css';
10
11
  import './../icon-wrapper/index.css';
11
12
  import './../easy-form/index.css';
12
- import './../box-grid/index.css';
13
13
  import './../form-wrapper/index.css';
14
14
  import './../pre-defined-class-name/index.css';
15
15
  import './../form-item-hidden/index.css';
@@ -17,5 +17,5 @@ import './../form-item-wrapper/index.css';
17
17
  import './../tips-wrapper/index.css';
18
18
  import './index.css';
19
19
  /*! @flatjs/forge MIT @flatbiz/antd */
20
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSensors as i,useSensor as t,PointerSensor as o,DndContext as n}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as s,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{noop as c,toArray as p}from"@flatbiz/utils";import{Space as u,Form as g}from"antd";import{EditableCard as f}from"../editable-card/index.js";import x from"@ant-design/icons/es/icons/DragOutlined";import{CSS as v}from"@dnd-kit/utilities";import{CardWrapper as j}from"../card-wrapper/index.js";import{DeleteNode as h}from"../delete-node/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as D,jsxs as I}from"react/jsx-runtime";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"react";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../easy-form/index.js";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"../form-item-hidden/index.js";import"../form-item-wrapper/index.js";import"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"@dimjs/lang/cjs/is-undefined";var k=["dragIcon","rowId","dragTriggerPosition"];var C=function i(t){var o=t.dragIcon,n=t.rowId,a=t.dragTriggerPosition,d=e(t,k);var l=a||"left";var m=s({id:n}),p=m.setActivatorNodeRef,g=m.listeners,f=m.setNodeRef,C=m.transform,b=m.transition,w=m.isDragging;var z=r({},d.style,{transform:v.Transform.toString(C&&r({},C,{scaleY:1})),transition:b,cursor:"move"},w?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var N=o||D(x,{});return D("div",{ref:f,style:z,children:D(j,{size:"small",style:{marginBottom:10},extra:I(u,{size:10,children:[D(h,{style:{color:"red"},hidden:t.extraData.required&&t.extraData.fields.length===1,onDelete:function e(){t.extraData.operation.remove(t.extraData.index)}}),l==="right"?D("span",r({ref:p,style:{touchAction:"none",cursor:"move"}},g,{children:D(y,{style:{touchAction:"none",cursor:"move",padding:"3px",margin:0,justifyContent:"center",color:"#787878"},icon:N,onClick:c,size:"small"})})):null]}),title:I(u,{size:5,children:[l==="left"?D("span",r({ref:p,style:{touchAction:"none",cursor:"move",display:"flex",alignItems:"center",justifyContent:"center"}},g,{children:D(y,{style:{touchAction:"none",cursor:"move",padding:"3px",margin:0,justifyContent:"center",color:"#787878"},icon:N,onClick:c,size:"small"})})):null,I("span",{children:["第",t.extraData.index+1,"行"]})]}),children:t.children})},n)};var b=function e(r){return D(j,{size:"small",style:{marginBottom:10},extra:D(h,{style:{color:"red"},hidden:r.extraData.required&&r.extraData.fields.length===1,onDelete:function e(){r.extraData.operation.remove(r.extraData.index)}}),title:"第"+(r.extraData.index+1)+"行",children:r.children})};var w=["dragIcon","uidFieldKey","onDragChange","disabledDrag","formListCompleteName","formListName","dragTriggerPosition"];var z=function s(c){var u=c.dragIcon,x=c.uidFieldKey,v=c.onDragChange,j=c.disabledDrag,h=c.formListCompleteName,y=c.formListName,I=c.dragTriggerPosition,k=e(c,w);var z=h||y;var N=g.useFormInstance();var F=g.useWatch(z,N);var P=i(t(o,{activationConstraint:{delay:0,tolerance:0}}));var L=function e(r){var i=r.active,t=r.over;if(i.id!==(t==null?void 0:t.id)){var o=F.findIndex((function(e){return e[x]===i.id}));var n=F.findIndex((function(e){return e[x]===(t==null?void 0:t.id)}));var a=m(F,o,n);N.setFields([{name:z,value:a}]);v==null||v(a,{activeId:i.id,overId:t==null?void 0:t.id,activeIndex:o,overIndex:n})}};return D(n,{sensors:P,modifiers:[a],onDragEnd:L,children:D(d,{items:(F==null?void 0:F.map((function(e){return e[x]})))||[],strategy:l,children:D(f,r({formListName:y,formListCompleteName:h},k,{onCustomWrapper:function e(r,i){if(j){return D(b,{extraData:i,children:r},i.key)}var t=N.getFieldValue([].concat(p(z),[i.fieldItem.name]));if(!(t!=null&&t[x])){console.error("唯一值字段【"+x+"】为空,无法进行拖拽排序",t);return D(b,{extraData:i,children:r},i.key)}return D(C,{dragIcon:u,rowId:t==null?void 0:t[x],extraData:i,dragTriggerPosition:I,children:r},i.key)}}))})})};export{z as DragEditableCard};
20
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSensors as i,useSensor as t,PointerSensor as o,DndContext as n}from"@dnd-kit/core";import{restrictToVerticalAxis as a}from"@dnd-kit/modifiers";import{useSortable as s,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{noop as c,toArray as p}from"@flatbiz/utils";import{Space as u,Form as g}from"antd";import{EditableCard as f}from"../editable-card/index.js";import x from"@ant-design/icons/es/icons/DragOutlined";import{CSS as v}from"@dnd-kit/utilities";import{CardWrapper as j}from"../card-wrapper/index.js";import{DeleteNode as h}from"../delete-node/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as D,jsxs as I}from"react/jsx-runtime";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"react";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../easy-form/index.js";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"../form-item-hidden/index.js";import"../form-item-wrapper/index.js";import"../tips-wrapper/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"@dimjs/lang/cjs/is-undefined";var k=["dragIcon","rowId","dragTriggerPosition"];var C=function i(t){var o=t.dragIcon,n=t.rowId,a=t.dragTriggerPosition,d=e(t,k);var l=a||"left";var m=s({id:n}),p=m.setActivatorNodeRef,g=m.listeners,f=m.setNodeRef,C=m.transform,b=m.transition,w=m.isDragging;var z=r({},d.style,{transform:v.Transform.toString(C&&r({},C,{scaleY:1})),transition:b,cursor:"move"},w?{position:"relative",zIndex:9999,boxShadow:" 0px 0px 12px 4px rgba(34, 33, 81, 0.1)",backgroundColor:"var(--block-bg-color)"}:{});var N=o||D(x,{});return D("div",{ref:f,style:z,children:D(j,{size:"small",style:{marginBottom:10},extra:I(u,{size:10,children:[D(h,{style:{color:"red"},hidden:t.extraData.required&&t.extraData.fields.length===1,onDelete:function e(){t.extraData.operation.remove(t.extraData.index)}}),l==="right"?D("span",r({ref:p,style:{touchAction:"none",cursor:"move"}},g,{children:D(y,{style:{touchAction:"none",cursor:"move",padding:"3px",margin:0,justifyContent:"center",color:"#787878"},icon:N,onClick:c,size:"small"})})):null]}),title:I(u,{size:5,children:[l==="left"?D("span",r({ref:p,style:{touchAction:"none",cursor:"move",display:"flex",alignItems:"center",justifyContent:"center"}},g,{children:D(y,{style:{touchAction:"none",cursor:"move",padding:"3px",margin:0,justifyContent:"center",color:"#787878"},icon:N,onClick:c,size:"small"})})):null,I("span",{children:["第",t.extraData.index+1,"行"]})]}),children:t.children})},n)};var b=function e(r){return D(j,{size:"small",style:{marginBottom:10},extra:D(h,{style:{color:"red"},hidden:r.extraData.required&&r.extraData.fields.length===1,onDelete:function e(){r.extraData.operation.remove(r.extraData.index)}}),title:"第"+(r.extraData.index+1)+"行",children:r.children})};var w=["dragIcon","uidFieldKey","onDragChange","disabledDrag","formListCompleteName","formListName","dragTriggerPosition"];var z=function s(c){var u=c.dragIcon,x=c.uidFieldKey,v=c.onDragChange,j=c.disabledDrag,h=c.formListCompleteName,y=c.formListName,I=c.dragTriggerPosition,k=e(c,w);var z=h||y;var N=g.useFormInstance();var F=g.useWatch(z,N);var P=i(t(o,{activationConstraint:{delay:0,tolerance:0}}));var L=function e(r){var i=r.active,t=r.over;if(i.id!==(t==null?void 0:t.id)){var o=F.findIndex((function(e){return e[x]===i.id}));var n=F.findIndex((function(e){return e[x]===(t==null?void 0:t.id)}));var a=m(F,o,n);N.setFields([{name:z,value:a}]);v==null||v(a,{activeId:i.id,overId:t==null?void 0:t.id,activeIndex:o,overIndex:n})}};return D(n,{sensors:P,modifiers:[a],onDragEnd:L,children:D(d,{items:(F==null?void 0:F.map((function(e){return e[x]})))||[],strategy:l,children:D(f,r({formListName:y,formListCompleteName:h},k,{onCustomWrapper:function e(r,i){if(j){return D(b,{extraData:i,children:r},i.key)}var t=N.getFieldValue([].concat(p(z),[i.fieldItem.name]));if(!(t!=null&&t[x])){console.error("唯一值字段【"+x+"】为空,无法进行拖拽排序",t);return D(b,{extraData:i,children:r},i.key)}return D(C,{dragIcon:u,rowId:t==null?void 0:t[x],extraData:i,dragTriggerPosition:I,children:r},i.key)}}))})})};export{z as DragEditableCard};
21
21
  //# sourceMappingURL=index.js.map
@@ -5,5 +5,5 @@ import './../form-wrapper/index.css';
5
5
  import './../pre-defined-class-name/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefinedOrNull as l,dom as o}from"@flatbiz/utils";import{Form as a}from"antd";import{useMemo as n,useRef as i,Fragment as m,Children as s,cloneElement as u}from"react";import{BoxGrid as p}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as c}from"../pre-defined-class-name/index.js";import{jsxs as x,jsx as v}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var y=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","nonuseFormWrapper"];var h=function h(g){var I=f.useResponsivePoint()||"";var b=g.column,j=g.forceColumn,F=g.children,W=g.width,N=g.gridGutter,G=g.labelWidth,w=g.labelItemVertical,C=g.labelAlign,A=g.formItemGap,P=A===void 0?"15":A,k=g.isPure,B=g.nonuseFormWrapper,S=e(g,y);var T=n((function(){if(j){var r=24/j;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!b){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return e[b]}),[b,j]);var V=function r(){var e=s.toArray(F).filter((function(r){return!!r}));return e.map((function(r,e){var l;var o=r.type["domTypeName"];var n=undefined;if(o==="FormItemText"||o==="FormItemSpan"||o==="FormItemWrapper"||o==="BoxGridCol"||o==="EasyForm"){n=r.props["span"];if(n){if(I==="xs"){n=24}else if(I==="sm"){n=n>12?n:12}}}if(o==="BoxGridCol"||o==="FormItemSpan"){if(o==="FormItemSpan"&&r.props.hidden){return null}return u(r,t({},r.props,T,{span:n,key:e}))}var i=(l=r.props)==null||(l=l.style)==null?void 0:l.display;var m=false;if(o==="FormItemText"||o==="FormItemHidden"||o==="FormItemWrapper"||o==="FormItemWrapperDependencies"||r.type===a.Item||i==="none"){m=true}if(o==="FormItemWrapper"||r.props.noStyle){m=false}return v(p.Col,t({},T,{span:n,removeWrapper:m,children:r}),e)})).filter(Boolean)};var E=n((function(){if(["xs","sm"].includes(I)||!W){return{}}return{width:W}}),[I,W]);var R=l(N)?[15,0]:N;var H=i(null);var L=function r(){try{if(B){return true}if(H.current){var e=o.findParentsElement(H.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return e?true:false}return undefined}catch(r){console.log("error",r);return false}};var _=L();var z=n((function(){if(["xs"].includes(I)){return"left"}return C}),[C,I]);var D=n((function(){return c.getFormLayoutClassName({labelWidth:G,labelItemVertical:w,labelAlign:z,formItemGap:P,className:S.className})}),[G,w,z,P,S.className]);return x(m,{children:[v("div",{className:"easy-form-anchor",ref:H}),_===true?v("div",{style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},"easy-form-nested",D),children:k?F:v(p.Row,{gutter:R,children:V()})}):undefined,_===false?v(d,t({},S,{labelWidth:G,labelAlign:z,labelItemVertical:w,formItemGap:P,style:t({},E,S.style),className:r("easy-form",{"easy-form-pure":k},D),autoComplete:"off",children:k?F:v(p.Row,{gutter:R,children:V()})})):undefined]})};h["domTypeName"]="EasyForm";export{h as EasyForm};
8
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefinedOrNull as l}from"@flatbiz/utils";import{Form as m}from"antd";import{createContext as i,useContext as o,useMemo as a,Children as s,cloneElement as n}from"react";import{BoxGrid as p}from"../box-grid/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as f}from"../pre-defined-class-name/index.js";import{jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";function x(){var r=i(undefined);function e(){var e=o(r);return e}return[e,r.Provider]}var v=x(),y=v[0],g=v[1];var h=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure"];var I=function i(o){var x=u.useResponsivePoint()||"";var v=y();var I=o.column,b=o.forceColumn,j=o.children,F=o.width,N=o.gridGutter,W=o.labelWidth,G=o.labelItemVertical,w=o.labelAlign,C=o.formItemGap,A=C===void 0?"15":C,P=o.isPure,k=e(o,h);var B=a((function(){if(b){var r=24/b;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!I){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return e[I]}),[I,b]);var S=function r(){var e=s.toArray(j).filter((function(r){return!!r}));return e.map((function(r,e){var l;var i=r.type["domTypeName"];var o=undefined;if(i==="FormItemText"||i==="FormItemSpan"||i==="FormItemWrapper"||i==="BoxGridCol"||i==="EasyForm"){o=r.props["span"];if(o){if(x==="xs"){o=24}else if(x==="sm"){o=o>12?o:12}}}if(i==="BoxGridCol"||i==="FormItemSpan"){if(i==="FormItemSpan"&&r.props.hidden){return null}return n(r,t({},r.props,B,{span:o,key:e}))}var a=(l=r.props)==null||(l=l.style)==null?void 0:l.display;var s=false;if(i==="FormItemText"||i==="FormItemHidden"||i==="FormItemWrapper"||i==="FormItemWrapperDependencies"||r.type===m.Item||a==="none"){s=true}if(i==="FormItemWrapper"||r.props.noStyle){s=false}return c(p.Col,t({},B,{span:o,removeWrapper:s,children:r}),e)})).filter(Boolean)};var T=a((function(){if(["xs","sm"].includes(x)||!F){return{}}return{width:F}}),[x,F]);var V=l(N)?[15,0]:N;var R=a((function(){if(["xs"].includes(x)){return"left"}return w}),[w,x]);var E=a((function(){return f.getFormLayoutClassName({labelWidth:W,labelItemVertical:G,labelAlign:R,formItemGap:A,className:k.className})}),[W,G,R,A,k.className]);return c(g,{value:{isNested:true},children:v!=null&&v.isNested?c("div",{style:t({},T,k.style),className:r("easy-form",{"easy-form-pure":P},"easy-form-nested",E),children:P?j:c(p.Row,{gutter:V,children:S()})}):c(d,t({},k,{labelWidth:W,labelAlign:R,labelItemVertical:G,formItemGap:A,style:t({},T,k.style),className:r("easy-form",{"easy-form-pure":P},E),autoComplete:"off",children:P?j:c(p.Row,{gutter:V,children:S()})}))})};I["domTypeName"]="EasyForm";export{I as EasyForm};
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dom, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { Children, cloneElement, Fragment, ReactNode, useMemo, useRef } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { GutterParams } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用\n */\n nonuseFormWrapper?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n nonuseFormWrapper,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span} removeWrapper={removeWrapper}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter) ? ([15, 0] as GutterParams) : gridGutter;\n const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套内部EasyForm节点\n const getIsNestedEasyForm = () => {\n try {\n if (nonuseFormWrapper) {\n return true;\n }\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n console.log('error', error);\n return false;\n }\n };\n\n const isNestedEasyForm = getIsNestedEasyForm();\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [labelWidth, labelItemVertical, labelAlignNew, formItemGap, otherProps.className]);\n\n return (\n <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName,\n )}\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', { 'easy-form-pure': isPure }, fromLayoutClassName)}\n autoComplete=\"off\"\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","nonuseFormWrapper","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","undefined","hidden","cloneElement","_extends","key","display","style","removeWrapper","Form","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","getIsNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","classList","contains","error","console","log","isNestedEasyForm","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_jsxs","Fragment","ref","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/context/create-ctx.ts","@flatbiz/antd/src/easy-form/context/layout-ctx.ts","@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/**\n * A helper to create a Context and Provider with no upfront default value, and\n * without having to check for undefined all the time.\n */\nexport function createCtx<A>() {\n const ctx = createContext<A | undefined>(undefined);\n function useCtx() {\n const c = useContext(ctx);\n // if (c === undefined)\n // throw new Error('useCtx must be inside a Provider with a value');\n return c;\n }\n return [useCtx, ctx.Provider] as const; // 'as const' makes TypeScript infer a tuple\n}\n","import { createCtx } from './create-ctx.js';\n\nexport type AiPilotProviderProviderProps = {\n isNested: boolean;\n};\n\nexport const [useEasyForm, EasyFormProvider] = createCtx<AiPilotProviderProviderProps>();\n","import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { Children, cloneElement, ReactNode, useMemo } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { GutterParams } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { EasyFormProvider, useEasyForm } from './context/layout-ctx';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\n\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const easyFormApi = useEasyForm();\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n ...otherProps\n } = props;\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n if (domTypeName === 'FormItemSpan' && item.props.hidden) {\n return null;\n }\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n const display = item.props?.style?.display;\n let removeWrapper = false;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemHidden' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemWrapperDependencies' ||\n item.type === Form.Item ||\n display === 'none'\n ) {\n removeWrapper = true;\n }\n\n if (domTypeName === 'FormItemWrapper' || item.props.noStyle) {\n removeWrapper = false;\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span} removeWrapper={removeWrapper}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter) ? ([15, 0] as GutterParams) : gridGutter;\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [labelWidth, labelItemVertical, labelAlignNew, formItemGap, otherProps.className]);\n\n return (\n <EasyFormProvider value={{ isNested: true }}>\n {easyFormApi?.isNested ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName,\n )}\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </div>\n ) : (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', { 'easy-form-pure': isPure }, fromLayoutClassName)}\n autoComplete=\"off\"\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </FormWrapper>\n )}\n </EasyFormProvider>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["createCtx","ctx","createContext","undefined","useCtx","c","useContext","Provider","_createCtx","useEasyForm","EasyFormProvider","EasyForm","props","screenType","fbaHooks","useResponsivePoint","easyFormApi","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","_item$props","domTypeName","type","span","hidden","cloneElement","_extends","key","display","style","removeWrapper","Form","Item","noStyle","_jsx","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","value","isNested","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
@@ -1 +1 @@
1
- .editable-card-empty{padding:15px 0 20px}.editable-card-empty .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.editable-card-empty .ant-empty-image{height:25px;margin:0;width:50px}
1
+ .editable-card-empty{padding:15px 0 20px}.editable-card-empty .ant-empty{align-items:center;display:flex;justify-content:center;margin:0}.editable-card-empty .ant-empty-image{height:25px;margin:0;width:50px}.easy-form:not(".easy-form-pure"){background-color:var(--block-bg-color)}.easy-form-anchor{height:0;width:0}.form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable */
2
+ import './../box-grid/index.css';
2
3
  import './../button-wrapper/index.css';
3
4
  import './../config-provider-wrapper/index.css';
4
5
  import './../fba-hooks/index.css';
@@ -8,7 +9,6 @@ import './../card-wrapper/index.css';
8
9
  import './../delete-node/index.css';
9
10
  import './../icon-wrapper/index.css';
10
11
  import './../easy-form/index.css';
11
- import './../box-grid/index.css';
12
12
  import './../form-wrapper/index.css';
13
13
  import './../pre-defined-class-name/index.css';
14
14
  import './../form-item-hidden/index.css';
@@ -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-c0dbec57.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,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{fbaHooks as y}from"../fba-hooks/index.js";import{fbaUtils as j}from"../fba-utils/index.js";import{FormItemHidden as h}from"../form-item-hidden/index.js";import{FormItemWrapper as b}from"../form-item-wrapper/index.js";import{TipsWrapper as x}from"../tips-wrapper/index.js";import{jsx as C,jsxs as k}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";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 F=function F(w){var I=a.useFormInstance();var N=o(w.formListName);var P=s();var R=i.useForceUpdate();var E=d.useConfig(),D=E.componentDisabled;var B=w.formListCompleteName||N;var V=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(I.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var q=i.useCallbackRef((function(e){return I.getFieldValue(e)}));var L=i.useCallbackRef((function(e,r){j.setFormFieldsAndTriggerValuesChange(I,r.map((function(r){return{name:[].concat(B,[e],o(r.name)),value:r.value}})));R()}));var _=y.useMemoCustom((function(){return w.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=C(x,{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{dataIndex:l,render:function r(i,o,s){var p;var c=I.getFieldValue([].concat(B,[o.name],l));if(t(e.render)){return C(m,{children:c})}var f=[].concat(B,[o.name]);var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable({index:i,getCurrentRowData:q.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:L.bind(null,o.name),validateRowFields:V.bind(null,f),getCurrentRowData:q.bind(null,f),forceUpdate:R};if(e.remove!=null&&e.remove(g,i)){return C(m,{})}if(e.hidden!=null&&e.hidden(g,i)){return C(h,{name:[o.name].concat(l)},o.key)}var y=typeof e.formItemProps==="function"?e.formItemProps(g):e.formItemProps;if(!((p=y)!=null&&(p=p.rules)!=null&&p.length)&&d){y=n({},y,{rules:[{required:true,message:""}]})}if(v===true){if(e.formItemContainer){return e.formItemContainer(u(b,n({label:a},y,{name:[o.name].concat(l),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g)))}return u(b,n({label:a},y,{name:[o.name].concat(l),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g))}if(e.formItemContainer){return e.formItemContainer(C(b,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key))}return C(b,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key)}}}))}),[w.columns,I,B,L,V,q,R]);var O=r("editable-card",w.className);return C("div",{className:O,style:w.style,children:C(a.List,{name:N,rules:w.rules,initialValue:w.initialValue,children:function r(i,o,t){var d=t.errors;P.current=o;return k("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 d={index:r,fields:i,fieldItem:e,operation:o,required:w.required,key:""+e.key};if(w.onCustomWrapper){var l;return C(m,{children:w.onCustomWrapper(C(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(l=w.cardEasyFormProps)==null?void 0:l.style),children:_.map((function(n){return n.render(r,e,o)}))})),d)},e.key)}var s=w.cardExtraRender==null?void 0:w.cardExtraRender(d);return C(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:k("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s==null?void 0:s["before"],C(v,{style:{color:"red"},hidden:w.hiddenDeleteBtn||w.required&&i.length===1||D,onDelete:function e(){o.remove(r)}}),s==null?void 0:s["after"]]}),children:C(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(t=w.cardEasyFormProps)==null?void 0:t.style),children:_.map((function(n){return n.render(r,e,o)}))}))},e.key)})),i.length===0?C("div",{className:"editable-card-empty",children:C(l,{image:l.PRESENTED_IMAGE_SIMPLE})}):null,C(c,{block:true,hidden:w.hiddenFooterBtn||D,type:"dashed",icon:C(e,{}),onClick:function e(){var r=w.addRowDefaultValues==null?void 0:w.addRowDefaultValues();o.add(n({},r))},children:w.addRowBtnName||"新增"}),w.contentAfterRender==null?void 0:w.contentAfterRender(o,i.length),d.length?C(a.ErrorList,{errors:[C("div",{style:{color:"#ff4d4f",padding:"5px"},children:d},"0")]}):null]})}})})};export{F 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-c0dbec57.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 l,Empty as d}from"antd";import{useRef as s,Fragment as m,createElement as u,isValidElement as p}from"react";import{useBoxBreakpoint as c,BoxGrid as f}from"../box-grid/index.js";import{ButtonWrapper as v}from"../button-wrapper/index.js";import{CardWrapper as y}from"../card-wrapper/index.js";import{DeleteNode as g}from"../delete-node/index.js";import{EasyForm as j}from"../easy-form/index.js";import{fbaHooks as h}from"../fba-hooks/index.js";import{fbaUtils as b}from"../fba-utils/index.js";import{FormItemHidden as x}from"../form-item-hidden/index.js";import{FormItemWrapper as C}from"../form-item-wrapper/index.js";import{TipsWrapper as k}from"../tips-wrapper/index.js";import{jsx as w,jsxs as I}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";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"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var F=function F(R){var N=a.useFormInstance();var P=o(R.formListName);var E=s();var D=i.useForceUpdate();var q=l.useConfig(),B=q.componentDisabled;var V=s(null);var L=c(V);var S=R.formListCompleteName||P;var _=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(N.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var O=i.useCallbackRef((function(e){return N.getFieldValue(e)}));var z=i.useCallbackRef((function(e,r){b.setFormFieldsAndTriggerValuesChange(N,r.map((function(r){return{name:[].concat(S,[e],o(r.name)),value:r.value}})));D()}));var A=h.useMemoCustom((function(){return R.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=w(k,{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{dataIndex:d,render:function r(i,o,s){var p;var c=N.getFieldValue([].concat(S,[o.name],d));if(t(e.render)){return w(m,{children:c})}var f=[].concat(S,[o.name]);var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable({index:i,getCurrentRowData:O.bind(null,f)},i):e==null?void 0:e.editable;var y={index:i,editable:v,add:s.add,remove:s.remove,move:s.move,rowFormItemName:o.name,rowFormItemCompleteName:f,setCurrentRowField:z.bind(null,o.name),validateRowFields:_.bind(null,f),getCurrentRowData:O.bind(null,f),forceUpdate:D};if(e.remove!=null&&e.remove(y,i)){return w(m,{})}if(e.hidden!=null&&e.hidden(y,i)){return w(x,{name:[o.name].concat(d)},o.key)}var g=typeof e.formItemProps==="function"?e.formItemProps(y):e.formItemProps;if(!((p=g)!=null&&(p=p.rules)!=null&&p.length)&&l){g=n({},g,{rules:[{required:true,message:""}]})}if(v===true){if(e.formItemContainer){return e.formItemContainer(u(C,n({label:a},g,{name:[o.name].concat(d),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(y)))}return u(C,n({label:a},g,{name:[o.name].concat(d),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(y))}if(e.formItemContainer){return e.formItemContainer(w(C,n({label:a,span:e.gridNumber},g,{children:e.render==null?void 0:e.render(y)}),o.key))}return w(C,n({label:a,span:e.gridNumber},g,{children:e.render==null?void 0:e.render(y)}),o.key)}}}))}),[R.columns,N,S,z,_,O,D]);var G=r("editable-card",R.className);return w("div",{className:G,style:R.style,ref:V,children:w(a.List,{name:P,rules:R.rules,initialValue:R.initialValue,children:function r(i,o,t){var l=t.errors;E.current=o;return I("div",{style:{borderRadius:"6px",border:l!=null&&l.length?"1px solid #ff4d4f":"1px solid transparent"},children:[R.contentBeforeRender==null?void 0:R.contentBeforeRender(o,i.length),R.onCustomWrapper?i.map((function(e,r){var t;var a={index:r,fields:i,fieldItem:e,operation:o,required:R.required,key:""+e.key};return w(m,{children:R.onCustomWrapper==null?void 0:R.onCustomWrapper(w(j,n({},R.cardEasyFormProps,{style:n({padding:0,margin:0},(t=R.cardEasyFormProps)==null?void 0:t.style),children:A.map((function(n){return n.render(r,e,o)}))})),a)},e.key)})):w(f.Row,{children:i.map((function(e,r){var t;var a=R.onCustomGroupName?R.onCustomGroupName(r):r+1;var l={index:r,fields:i,fieldItem:e,operation:o,required:R.required,key:""+e.key};var d=R.cardExtraRender==null?void 0:R.cardExtraRender(l);var s=["xs","sm"].includes(L.boxBreakpoint)?24:R.boxGridColSpan;return w(f.Col,{span:s||24,children:w(y,{className:R.cardClassName,title:a,size:"small",style:n({padding:0,margin:"0 0 15px 0"},R.cardStyle),bodyStyle:{paddingBottom:0},extra:p(d)?d:I("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[d==null?void 0:d["before"],w(g,{style:{color:"red"},hidden:R.hiddenDeleteBtn||R.required&&i.length===1||B,onDelete:function e(){o.remove(r)}}),d==null?void 0:d["after"]]}),children:w(j,n({},R.cardEasyFormProps,{style:n({padding:0,margin:0},(t=R.cardEasyFormProps)==null?void 0:t.style),children:A.map((function(n){return n.render(r,e,o)}))}))})},e.key)}))}),i.length===0?w("div",{className:"editable-card-empty",children:w(d,{image:d.PRESENTED_IMAGE_SIMPLE})}):null,w(v,{block:true,hidden:R.hiddenFooterBtn||B,type:"dashed",icon:w(e,{}),onClick:function e(){var r=R.addRowDefaultValues==null?void 0:R.addRowDefaultValues();o.add(n({},r))},children:R.addRowBtnName||"新增"}),R.contentAfterRender==null?void 0:R.contentAfterRender(o,i.length),l.length?w(a.ErrorList,{errors:[w("div",{style:{color:"#ff4d4f",padding:"5px"},children:l},"0")]}):null]})}})})};export{F 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 { ConfigProvider, Empty, Form, FormListFieldData, type FormListOperation } from 'antd';\nimport type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useRef } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaHooks } from '../fba-hooks';\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组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\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\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 = fbaHooks.useMemoCustom(() => {\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 dataIndex,\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 if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\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 {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n if (column.formItemContainer) {\n return column.formItemContainer(\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 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} initialValue={props.initialValue}>\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 (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\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 </Fragment>\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={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\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","fbaHooks","useMemoCustom","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","formItemContainer","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","initialValue","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","hiddenDeleteBtn","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":";87DAgCaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAeC,EAAyBL,EAAMI,cAEpD,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,GA9CP,IAAI,OAAAR,GAAK,CAAC,MAAAS,GAAW,OAAOR,EAAAQ,EAAM,CAAC,GAAAR,EA8C5B,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,EAASC,eAAc,WACrC,OAAOzC,EAAMuC,QAAQd,KAAI,SAACiB,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,SAAC/B,GAAI,QAAOA,EAAK,cAChE,CAEA,IAAMgC,EAAYrD,EAAgBqC,EAAO,cAEzC,MAAO,CACLgB,UAAAA,EACAC,OAAQ,SAARA,EAASC,EAAOC,EAA8BC,GAAiC,IAAAC,EAC7E,IAAMzB,EAAQrC,EAAK+B,iBAAaL,OAAKZ,EAAoB,CAAE8C,EAAUxB,MAASqB,IAC9E,GAAIM,EAAkBtB,EAAOiB,QAAS,CACpC,OAAOZ,EAACkB,EAAQ,CAAAb,SAAEd,GACpB,CAEA,IAAM4B,KAAuBvC,OAAOZ,EAAsB8C,CAAAA,EAAUxB,OAEpE,IAAM8B,SACGzB,GAAM,UAAA,EAANA,EAAQyB,YAAa,WACxBzB,GAAM,UAAA,EAANA,EAAQyB,SACN,CACEP,MAAAA,EACA7B,kBAAmBA,EAAkBqC,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,EAAUxB,KAC3B6B,wBAAAA,EACAjC,mBAAoBA,EAAmBmC,KAAK,KAAMP,EAAUxB,MAC5DrB,kBAAmBA,EAAkBoD,KAAK,KAAMF,GAChDnC,kBAAmBA,EAAkBqC,KAAK,KAAMF,GAChD1D,YAAAA,GAGF,GAAIkC,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,CAACtC,MAAOwB,EAAUxB,MAAIV,OAAK+B,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,GAAIzB,EAAOqC,kBAAmB,CAC5B,OAAOrC,EAAOqC,kBACZC,EAACC,EAAeJ,EAAA,CACdK,MAAOrC,GACHS,EAAa,CACjBjB,KAAI,CAAGwB,EAAUxB,MAAIV,OAAK+B,GAC1ByB,KAAMzC,EAAO0C,WACbR,IAAKf,EAAUe,MAEdlC,EAAOiB,QAAPjB,UAAAA,EAAAA,EAAOiB,OAASU,IAGvB,CACA,OACEW,EAACC,EAAeJ,EAAA,CACdK,MAAOrC,GACHS,EAAa,CACjBjB,KAAI,CAAGwB,EAAUxB,MAAIV,OAAK+B,GAC1ByB,KAAMzC,EAAO0C,WACbR,IAAKf,EAAUe,MAEdlC,EAAOiB,QAAPjB,UAAAA,EAAAA,EAAOiB,OAASU,GAGvB,CACA,GAAI3B,EAAOqC,kBAAmB,CAC5B,OAAOrC,EAAOqC,kBACZhC,EAACkC,EAAeJ,EAAA,CACdK,MAAOrC,EACPsC,KAAMzC,EAAO0C,YAET9B,EAAa,CAAAF,SAEhBV,EAAOiB,oBAAPjB,EAAOiB,OAASU,KAHZR,EAAUe,KAMrB,CACA,OACE7B,EAACkC,EAAeJ,EAAA,CACdK,MAAOrC,EACPsC,KAAMzC,EAAO0C,YAET9B,EAAa,CAAAF,SAEhBV,EAAOiB,oBAAPjB,EAAOiB,OAASU,KAHZR,EAAUe,IAMrB,EAEJ,GACF,GAAG,CACD5E,EAAMuC,QACNtC,EACAc,EACAkB,EACAjB,EACAe,EACAvB,IAGF,IAAM6E,EAAYC,EAAW,gBAAiBtF,EAAMqF,WAEpD,OACEtC,EAAA,MAAA,CAAKsC,UAAWA,EAAWE,MAAOvF,EAAMuF,MAAMnC,SAC5CL,EAAC7C,EAAKsF,KAAI,CAACnD,KAAMjC,EAAcmD,MAAOvD,EAAMuD,MAAOkC,aAAczF,EAAMyF,aAAarC,SACjF,SAAAA,EAACsC,EAAQC,EAAiBC,GAAiB,IAAbC,EAAMD,EAANC,OAC7BvF,EAAqBwF,QAAUH,EAC/B,OACEI,EAAA,MAAA,CACER,MAAO,CACLS,aAAc,MACdC,OAAQJ,GAAAA,MAAAA,EAAQrC,OAAS,oBAAsB,yBAC/CJ,SAAA,CAEDpD,EAAMkG,qBAAmB,UAAA,EAAzBlG,EAAMkG,oBAAsBP,EAAmBD,EAAOlC,QACtDkC,EAAOjE,KAAI,SAAC0E,EAAWvC,GAAU,IAAAwC,EAChC,IAAMxD,EAAQ5C,EAAMqG,kBAAoBrG,EAAMqG,kBAAkBzC,GAASA,EAAQ,EAEjF,IAAM0C,EAAY,CAChB1C,MAAAA,EACA8B,OAAAA,EACAS,UAAAA,EACArC,UAAW6B,EACXtC,SAAUrD,EAAMqD,SAChBuB,IAAG,GAAKuB,EAAUvB,KAEpB,GAAI5E,EAAMuG,gBAAiB,CAAA,IAAAC,EACzB,OACEzD,EAACkB,EAAQ,CAAAb,SACNpD,EAAMuG,gBACLxD,EAAC0D,EAAQ5B,EAAA,CACP6B,kBAAmB,MACf1G,EAAM2G,kBAAiB,CAC3BpB,MAAKV,EAAA,CACH+B,QAAS,EACTC,OAAQ,IAACL,EACNxG,EAAM2G,oBAANH,UAAAA,EAAAA,EAAyBjB,OAC5BnC,SAEDb,EAAQd,KAAI,SAACiB,GACZ,OAAOA,EAAOiB,OAAOC,EAAOuC,EAAWR,SAG3CW,IAfWH,EAAUvB,IAmB7B,CAEA,IAAMkC,EAAwB9G,EAAM+G,iBAAN/G,UAAAA,EAAAA,EAAM+G,gBAAkBT,GAEtD,OACEvD,EAACiE,EAAW,CAEV3B,UAAWrF,EAAMiH,cACjBrE,MAAOA,EACPsE,KAAK,QACL3B,MAAKV,EAAA,CACH+B,QAAS,EACTC,OAAQ,cACL7G,EAAMmH,WAEXC,UAAW,CAAEC,cAAe,GAE5BC,MACEC,EAAeT,GACbA,EAEAf,EAAA,MAAA,CACER,MAAO,CACLiC,QAAS,cACTC,WAAY,SACZC,IAAK,OACLtE,SAAA,CAED0D,GAAqB,UAAA,EAArBA,EAAwB,UACzB/D,EAAC4E,EAAU,CACTpC,MAAO,CAAEqC,MAAO,OAChBlD,OACE1E,EAAM6H,iBACL7H,EAAMqD,UAAYqC,EAAOlC,SAAW,GACrC1C,EAEFgH,SAAU,SAAVA,IACEnC,EAAkBpB,OAAOX,EAC3B,IAEDkD,eAAAA,EAAwB,YAG9B1D,SAEDL,EAAC0D,EAAQ5B,EAAA,CACP6B,kBAAmB,MACf1G,EAAM2G,kBAAiB,CAC3BpB,MAAKV,EAAA,CACH+B,QAAS,EACTC,OAAQ,IAACT,EACNpG,EAAM2G,oBAANP,UAAAA,EAAAA,EAAyBb,OAC5BnC,SAEDb,EAAQd,KAAI,SAACiB,GACZ,OAAOA,EAAOiB,OAAOC,EAAOuC,EAAWR,UAjDtCQ,EAAUvB,IAsDpB,IACAc,EAAOlC,SAAW,EACjBT,EAAA,MAAA,CAAKsC,UAAU,sBAAqBjC,SAClCL,EAACgF,EAAK,CAACC,MAAOD,EAAME,2BAEpB,KACJlF,EAACmF,EAAa,CACZC,MAAK,KACLzD,OAAQ1E,EAAMoI,iBAAmBtH,EACjCuH,KAAK,SACLC,KAAMvF,EAAAwF,MACNC,QAAS,SAATA,IACE,IAAMC,EAAgBzI,EAAM0I,iCAAN1I,EAAM0I,sBAC5B/C,EAAkBrB,IAAGO,EAAM4D,CAAAA,EAAAA,GAC3B,EAAArF,SAEDpD,EAAM2I,eAAiB,OAEzB3I,EAAM4I,gCAAN5I,EAAM4I,mBAAqBjD,EAAmBD,EAAOlC,QACrDqC,EAAOrC,OACNT,EAAC7C,EAAK2I,UAAS,CACbhD,OAAQ,CACN9C,EAAA,MAAA,CAAKwC,MAAO,CAAEqC,MAAO,UAAWhB,QAAS,OAAQxD,SAC9CyC,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, useRef } from 'react';\nimport { BoxGrid, useBoxBreakpoint } from '../box-grid';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaHooks } from '../fba-hooks';\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组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\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\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n\n const comRef = useRef<HTMLDivElement>(null);\n const boxBreakpointApi = useBoxBreakpoint(comRef);\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 = fbaHooks.useMemoCustom(() => {\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 dataIndex,\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 if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\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 {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n if (column.formItemContainer) {\n return column.formItemContainer(\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 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} ref={comRef}>\n <Form.List name={formListName} rules={props.rules} initialValue={props.initialValue}>\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 {props.onCustomWrapper ? (\n fields.map((fieldItem, index) => {\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n return (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper?.(\n <EasyForm\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 </Fragment>\n );\n })\n ) : (\n <BoxGrid.Row>\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\n const cardExtraRenderResult = props.cardExtraRender?.(extraData);\n const span = ['xs', 'sm'].includes(boxBreakpointApi.boxBreakpoint)\n ? 24\n : props.boxGridColSpan;\n return (\n <BoxGrid.Col span={span || 24} key={fieldItem.key}>\n <CardWrapper\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 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={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\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 </BoxGrid.Col>\n );\n })}\n </BoxGrid.Row>\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","comRef","boxBreakpointApi","useBoxBreakpoint","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","fbaHooks","useMemoCustom","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","formItemContainer","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","ref","List","initialValue","fields","formListOperation","_ref","errors","current","_jsxs","borderRadius","border","contentBeforeRender","onCustomWrapper","fieldItem","_props$cardEasyFormPr","extraData","EasyForm","cardEasyFormProps","padding","margin","BoxGrid","Row","_props$cardEasyFormPr2","onCustomGroupName","cardExtraRenderResult","cardExtraRender","includes","boxBreakpoint","boxGridColSpan","Col","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","hiddenDeleteBtn","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../flex-layout/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{b as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Alert as e,Button as n}from"antd";import*as o from"react";import{FlexLayout as i}from"../flex-layout/index.js";import{jsx as a,jsxs as s}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";var p=function(p){function l(){var r;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}r=p.call.apply(p,[this].concat(e))||this;r.state={error:undefined,info:{componentStack:""}};return r}r(l,p);var c=l.prototype;c.componentDidCatch=function r(t,e){this.setState({error:t,info:e})};c.render=function r(){var p=this.props,l=p.message,c=p.description,m=p.children,f=p.onRenderReset;var d=this.state,h=d.error,u=d.info;var v=u&&u.componentStack?u.componentStack:null;var y=typeof l==="undefined"?(h||"").toString():l;var g=typeof c==="undefined"?v:c;var x=t(this.props.stackMaxHeight)?200:this.props.stackMaxHeight;if(h){return a(e,{type:"error",message:s(i,{fullIndex:0,direction:"horizontal",children:[a("span",{children:y}),a(n,{type:"primary",ghost:true,size:"small",onClick:f,children:"重置"})]}),description:a(o.Fragment,{children:a("div",{style:{maxHeight:x,overflow:"auto"},children:a("pre",{style:{fontSize:"0.9em"},children:g})})})})}return m};return l}(o.Component);var l=p;export{l as ErrorBoundaryWrapper};
5
+ import{b as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Alert as e,Button as n}from"antd";import{Fragment as o,Component as i}from"react";import{FlexLayout as a}from"../flex-layout/index.js";import{jsx as s,jsxs as l}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";var p=function(i){function p(){var r;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}r=i.call.apply(i,[this].concat(e))||this;r.state={error:undefined,info:{componentStack:""}};return r}r(p,i);var c=p.prototype;c.componentDidCatch=function r(t,e){this.setState({error:t,info:e})};c.render=function r(){var i=this.props,p=i.message,c=i.description,m=i.children,f=i.onRenderReset;var d=this.state,h=d.error,u=d.info;var v=u&&u.componentStack?u.componentStack:null;var y=typeof p==="undefined"?(h||"").toString():p;var g=typeof c==="undefined"?v:c;var x=t(this.props.stackMaxHeight)?200:this.props.stackMaxHeight;if(h){return s(e,{type:"error",message:l(a,{fullIndex:0,direction:"horizontal",children:[s("span",{children:y}),s(n,{type:"primary",ghost:true,size:"small",onClick:f,children:"重置"})]}),description:s(o,{children:s("div",{style:{maxHeight:x,overflow:"auto"},children:s("pre",{style:{fontSize:"0.9em"},children:g})})})})}return m};return p}(i);var c=p;export{c as ErrorBoundaryWrapper};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/error-boundary-wrapper/error-boundary.tsx"],"sourcesContent":["import { isUndefinedOrNull, type TNoopDefine } from '@flatbiz/utils';\nimport { Alert, Button } from 'antd';\nimport * as React from 'react';\nimport { FlexLayout } from '../flex-layout';\n\ninterface ErrorBoundaryProps {\n message?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n onRenderReset?: TNoopDefine;\n /** 栈消息最大高度,默认值200 */\n stackMaxHeight?: number | 'auto';\n}\n\ninterface ErrorBoundaryStates {\n error?: Error | null;\n info?: {\n componentStack?: string;\n };\n}\n\nclass ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryStates> {\n state = {\n error: undefined,\n info: {\n componentStack: '',\n },\n };\n\n componentDidCatch(error: Error | null, info: object) {\n this.setState({ error, info });\n }\n\n render() {\n const { message, description, children, onRenderReset } = this.props;\n const { error, info } = this.state;\n const componentStack = info && info.componentStack ? info.componentStack : null;\n const errorMessage = typeof message === 'undefined' ? (error || '').toString() : message;\n const errorDescription = typeof description === 'undefined' ? componentStack : description;\n const stackMaxHeight = isUndefinedOrNull(this.props.stackMaxHeight) ? 200 : this.props.stackMaxHeight;\n if (error) {\n return (\n <Alert\n type=\"error\"\n message={\n <FlexLayout fullIndex={0} direction=\"horizontal\">\n <span>{errorMessage}</span>\n <Button type=\"primary\" ghost size=\"small\" onClick={onRenderReset}>\n 重置\n </Button>\n </FlexLayout>\n }\n description={\n <React.Fragment>\n <div style={{ maxHeight: stackMaxHeight, overflow: 'auto' }}>\n <pre style={{ fontSize: '0.9em' }}>{errorDescription}</pre>\n </div>\n </React.Fragment>\n }\n />\n );\n }\n return children;\n }\n}\n\n/**\n * react 异常拦截\n */\nexport const ErrorBoundaryWrapper = ErrorBoundary;\n"],"names":["ErrorBoundary","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","state","error","undefined","info","componentStack","_inheritsLoose","_proto","prototype","componentDidCatch","setState","render","_this$props","props","message","description","children","onRenderReset","_this$state","errorMessage","toString","errorDescription","stackMaxHeight","isUndefinedOrNull","_jsx","Alert","type","_jsxs","FlexLayout","fullIndex","direction","Button","ghost","size","onClick","React","Fragment","style","maxHeight","overflow","fontSize","Component","ErrorBoundaryWrapper"],"mappings":";6TAG4C,IAkBtCA,WAAaC,GAAA,SAAAD,IAAA,IAAAE,EAAA,IAAA,IAAAC,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAA,CAAAF,EAAAE,GAAAJ,UAAAI,EAAA,CAAAN,EAAAD,EAAAQ,KAAAC,MAAAT,EAAA,CAAAU,MAAAC,OAAAN,KAAAK,KAAAT,EACjBW,MAAQ,CACNC,MAAOC,UACPC,KAAM,CACJC,eAAgB,KAEnB,OAAAf,CAAA,CAAAgB,EAAAlB,EAAAC,GAAA,IAAAkB,EAAAnB,EAAAoB,UAAAD,EAEDE,kBAAA,SAAAA,EAAkBP,EAAqBE,GACrCL,KAAKW,SAAS,CAAER,MAAAA,EAAOE,KAAAA,KACxBG,EAEDI,OAAA,SAAAA,IACE,IAAAC,EAA0Db,KAAKc,MAAvDC,EAAOF,EAAPE,QAASC,EAAWH,EAAXG,YAAaC,EAAQJ,EAARI,SAAUC,EAAaL,EAAbK,cACxC,IAAAC,EAAwBnB,KAAKE,MAArBC,EAAKgB,EAALhB,MAAOE,EAAIc,EAAJd,KACf,IAAMC,EAAiBD,GAAQA,EAAKC,eAAiBD,EAAKC,eAAiB,KAC3E,IAAMc,SAAsBL,IAAY,aAAeZ,GAAS,IAAIkB,WAAaN,EACjF,IAAMO,SAA0BN,IAAgB,YAAcV,EAAiBU,EAC/E,IAAMO,EAAiBC,EAAkBxB,KAAKc,MAAMS,gBAAkB,IAAMvB,KAAKc,MAAMS,eACvF,GAAIpB,EAAO,CACT,OACEsB,EAACC,EAAK,CACJC,KAAK,QACLZ,QACEa,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,aAAYd,UAC9CQ,EAAA,OAAA,CAAAR,SAAOG,IACPK,EAACO,EAAM,CAACL,KAAK,UAAUM,MAAK,KAACC,KAAK,QAAQC,QAASjB,EAAcD,SAAC,UAKtED,YACES,EAACW,EAAMC,SAAQ,CAAApB,SACbQ,EAAA,MAAA,CAAKa,MAAO,CAAEC,UAAWhB,EAAgBiB,SAAU,QAASvB,SAC1DQ,EAAA,MAAA,CAAKa,MAAO,CAAEG,SAAU,SAAUxB,SAAEK,SAMhD,CACA,OAAOL,GACR,OAAA5B,CAAA,EA1CyB+C,EAAMM,WAgD3B,IAAMC,EAAuBtD"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/error-boundary-wrapper/error-boundary.tsx"],"sourcesContent":["import { isUndefinedOrNull, type TNoopDefine } from '@flatbiz/utils';\nimport { Alert, Button } from 'antd';\nimport { Component, Fragment } from 'react';\nimport { FlexLayout } from '../flex-layout';\n\ninterface ErrorBoundaryProps {\n message?: React.ReactNode;\n description?: React.ReactNode;\n children?: React.ReactNode;\n onRenderReset?: TNoopDefine;\n /** 栈消息最大高度,默认值200 */\n stackMaxHeight?: number | 'auto';\n}\n\ninterface ErrorBoundaryStates {\n error?: Error | null;\n info?: {\n componentStack?: string;\n };\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryStates> {\n state = {\n error: undefined,\n info: {\n componentStack: '',\n },\n };\n\n componentDidCatch(error: Error | null, info: object) {\n this.setState({ error, info });\n }\n\n render() {\n const { message, description, children, onRenderReset } = this.props;\n const { error, info } = this.state;\n const componentStack = info && info.componentStack ? info.componentStack : null;\n const errorMessage = typeof message === 'undefined' ? (error || '').toString() : message;\n const errorDescription = typeof description === 'undefined' ? componentStack : description;\n const stackMaxHeight = isUndefinedOrNull(this.props.stackMaxHeight) ? 200 : this.props.stackMaxHeight;\n if (error) {\n return (\n <Alert\n type=\"error\"\n message={\n <FlexLayout fullIndex={0} direction=\"horizontal\">\n <span>{errorMessage}</span>\n <Button type=\"primary\" ghost size=\"small\" onClick={onRenderReset}>\n 重置\n </Button>\n </FlexLayout>\n }\n description={\n <Fragment>\n <div style={{ maxHeight: stackMaxHeight, overflow: 'auto' }}>\n <pre style={{ fontSize: '0.9em' }}>{errorDescription}</pre>\n </div>\n </Fragment>\n }\n />\n );\n }\n return children;\n }\n}\n\n/**\n * react 异常拦截\n */\nexport const ErrorBoundaryWrapper = ErrorBoundary;\n"],"names":["ErrorBoundary","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","state","error","undefined","info","componentStack","_inheritsLoose","_proto","prototype","componentDidCatch","setState","render","_this$props","props","message","description","children","onRenderReset","_this$state","errorMessage","toString","errorDescription","stackMaxHeight","isUndefinedOrNull","_jsx","Alert","type","_jsxs","FlexLayout","fullIndex","direction","Button","ghost","size","onClick","Fragment","style","maxHeight","overflow","fontSize","Component","ErrorBoundaryWrapper"],"mappings":";qVAG4C,IAkBtCA,WAAaC,GAAA,SAAAD,IAAA,IAAAE,EAAA,IAAA,IAAAC,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAA,CAAAF,EAAAE,GAAAJ,UAAAI,EAAA,CAAAN,EAAAD,EAAAQ,KAAAC,MAAAT,EAAA,CAAAU,MAAAC,OAAAN,KAAAK,KAAAT,EACjBW,MAAQ,CACNC,MAAOC,UACPC,KAAM,CACJC,eAAgB,KAEnB,OAAAf,CAAA,CAAAgB,EAAAlB,EAAAC,GAAA,IAAAkB,EAAAnB,EAAAoB,UAAAD,EAEDE,kBAAA,SAAAA,EAAkBP,EAAqBE,GACrCL,KAAKW,SAAS,CAAER,MAAAA,EAAOE,KAAAA,KACxBG,EAEDI,OAAA,SAAAA,IACE,IAAAC,EAA0Db,KAAKc,MAAvDC,EAAOF,EAAPE,QAASC,EAAWH,EAAXG,YAAaC,EAAQJ,EAARI,SAAUC,EAAaL,EAAbK,cACxC,IAAAC,EAAwBnB,KAAKE,MAArBC,EAAKgB,EAALhB,MAAOE,EAAIc,EAAJd,KACf,IAAMC,EAAiBD,GAAQA,EAAKC,eAAiBD,EAAKC,eAAiB,KAC3E,IAAMc,SAAsBL,IAAY,aAAeZ,GAAS,IAAIkB,WAAaN,EACjF,IAAMO,SAA0BN,IAAgB,YAAcV,EAAiBU,EAC/E,IAAMO,EAAiBC,EAAkBxB,KAAKc,MAAMS,gBAAkB,IAAMvB,KAAKc,MAAMS,eACvF,GAAIpB,EAAO,CACT,OACEsB,EAACC,EAAK,CACJC,KAAK,QACLZ,QACEa,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,aAAYd,UAC9CQ,EAAA,OAAA,CAAAR,SAAOG,IACPK,EAACO,EAAM,CAACL,KAAK,UAAUM,MAAK,KAACC,KAAK,QAAQC,QAASjB,EAAcD,SAAC,UAKtED,YACES,EAACW,EAAQ,CAAAnB,SACPQ,EAAA,MAAA,CAAKY,MAAO,CAAEC,UAAWf,EAAgBgB,SAAU,QAAStB,SAC1DQ,EAAA,MAAA,CAAKY,MAAO,CAAEG,SAAU,SAAUvB,SAAEK,SAMhD,CACA,OAAOL,GACR,OAAA5B,CAAA,EA1CyBoD,GAgDrB,IAAMC,EAAuBrD"}
package/esm/index.js CHANGED
@@ -111,6 +111,7 @@ import './pdf-preview2/index.css';
111
111
  import './permission/index.css';
112
112
  import './radio-group-wrapper/index.css';
113
113
  import './relation-tree/index.css';
114
+ import './resizable-drawer/index.css';
114
115
  import './rich-text-editor/index.css';
115
116
  import './rich-text-viewer/index.css';
116
117
  import './roll-location-center/index.css';
@@ -141,5 +142,5 @@ import './tree-selector-wrapper/index.css';
141
142
  import './x-mind-preview/index.css';
142
143
  import './index.css';
143
144
  /*! @flatjs/forge MIT @flatbiz/antd */
144
- 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{AiSearch}from"./ai-search/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-83bede1b.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{dialogDragModal}from"./dialog-drag-modal/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{dialogPreviewImage}from"./dialog-preview-image/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{FormItemSpan}from"./form-item-span/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormItemWrapperDependencies}from"./form-item-wrapper-dependencies/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{PdfPreview2}from"./pdf-preview2/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{TabsSticky}from"./tabs-sticky/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{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/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-c0dbec57.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"@flatbiz/ai-request";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/CloseCircleFilled";import"@ant-design/icons/es/icons/RedoOutlined";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"@dimjs/model-react";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"react-dom/client";import"react-draggable";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/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/model";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";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";
145
+ 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{AiSearch}from"./ai-search/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-83bede1b.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{dialogDragModal}from"./dialog-drag-modal/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{dialogPreviewImage}from"./dialog-preview-image/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{FormItemSpan}from"./form-item-span/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormItemWrapperDependencies}from"./form-item-wrapper-dependencies/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{PdfPreview2}from"./pdf-preview2/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{ResizableDrawer}from"./resizable-drawer/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{TabsSticky}from"./tabs-sticky/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{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/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-c0dbec57.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"@flatbiz/ai-request";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/CloseCircleFilled";import"@ant-design/icons/es/icons/RedoOutlined";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"@dimjs/model-react";import"./time-53b3f55f.js";import"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"react-dom/client";import"react-draggable";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/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@dimjs/model";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@ant-design/icons/es/icons/QuestionCircleFilled";import"@dimjs/lang/cjs/is-deep-equal";import"react-dom";import"react-resizable";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"simple-mind-map";
145
146
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Select as e,Pagination as r}from"antd";import"react";import{jsx as n}from"react/jsx-runtime";var o=function r(o){return n(e,t({size:"small"},o,{placement:"topLeft"}))};o.Option=e.Option;e.Option;var i=function r(o){return n(e,t({size:"middle"},o,{placement:"topLeft"}))};i.Option=e.Option;var p=function e(p){var a=p.size==="small"?o:i;return n(r,t({},p,{selectComponentClass:a}))};export{p as PaginationWrapper};
4
+ import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Select as e,Pagination as n}from"antd";import{jsx as r}from"react/jsx-runtime";var o=function n(o){return r(e,t({size:"small"},o,{placement:"topLeft"}))};o.Option=e.Option;e.Option;var i=function n(o){return r(e,t({size:"middle"},o,{placement:"topLeft"}))};i.Option=e.Option;var p=function e(p){var l=p.size==="small"?o:i;return r(n,t({},p,{selectComponentClass:l}))};export{p as PaginationWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pagination-wrapper/select.tsx","@flatbiz/antd/src/pagination-wrapper/pagination.tsx"],"sourcesContent":["import { Select, SelectProps } from 'antd';\nimport * as React from 'react';\n\ntype CompoundedComponent = React.FC<SelectProps> & {\n Option: typeof Select.Option;\n};\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const SmallSelect: CompoundedComponent = (props) => (\n <Select size=\"small\" {...props} placement=\"topLeft\" />\n);\n\nSmallSelect.Option = Select.Option;\n\nexport const LargeSelect: CompoundedComponent = (props) => (\n <Select size=\"large\" {...props} placement=\"topLeft\" />\n);\n\nLargeSelect.Option = Select.Option;\n\nexport const MiddleSelect: CompoundedComponent = (props) => (\n <Select size=\"middle\" {...props} placement=\"topLeft\" />\n);\n\nMiddleSelect.Option = Select.Option;\n","import { Pagination, PaginationProps } from 'antd';\nimport { MiddleSelect, SmallSelect } from './select';\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const PaginationWrapper = (props: PaginationProps) => {\n const selectComponentClass = props.size === 'small' ? SmallSelect : MiddleSelect;\n return <Pagination {...props} selectComponentClass={selectComponentClass} />;\n};\n"],"names":["SmallSelect","props","_jsx","Select","_extends","size","placement","Option","MiddleSelect","PaginationWrapper","selectComponentClass","Pagination"],"mappings":";iKAcO,IAAMA,EAAmC,SAAnCA,EAAoCC,GAAK,OACpDC,EAACC,EAAMC,EAAA,CAACC,KAAK,SAAYJ,EAAK,CAAEK,UAAU,YAAY,EAGxDN,EAAYO,OAASJ,EAAOI,OAMPJ,EAAOI,OAErB,IAAMC,EAAoC,SAApCA,EAAqCP,GAAK,OACrDC,EAACC,EAAMC,EAAA,CAACC,KAAK,UAAaJ,EAAK,CAAEK,UAAU,YAAY,EAGzDE,EAAaD,OAASJ,EAAOI,WCpBhBE,EAAoB,SAApBA,EAAqBR,GAChC,IAAMS,EAAuBT,EAAMI,OAAS,QAAUL,EAAcQ,EACpE,OAAON,EAACS,EAAUP,KAAKH,EAAK,CAAES,qBAAsBA,IACtD"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pagination-wrapper/select.tsx","@flatbiz/antd/src/pagination-wrapper/pagination.tsx"],"sourcesContent":["import { Select, SelectProps } from 'antd';\n\ntype CompoundedComponent = React.FC<SelectProps> & {\n Option: typeof Select.Option;\n};\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const SmallSelect: CompoundedComponent = (props) => (\n <Select size=\"small\" {...props} placement=\"topLeft\" />\n);\n\nSmallSelect.Option = Select.Option;\n\nexport const LargeSelect: CompoundedComponent = (props) => (\n <Select size=\"large\" {...props} placement=\"topLeft\" />\n);\n\nLargeSelect.Option = Select.Option;\n\nexport const MiddleSelect: CompoundedComponent = (props) => (\n <Select size=\"middle\" {...props} placement=\"topLeft\" />\n);\n\nMiddleSelect.Option = Select.Option;\n","import { Pagination, PaginationProps } from 'antd';\nimport { MiddleSelect, SmallSelect } from './select';\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const PaginationWrapper = (props: PaginationProps) => {\n const selectComponentClass = props.size === 'small' ? SmallSelect : MiddleSelect;\n return <Pagination {...props} selectComponentClass={selectComponentClass} />;\n};\n"],"names":["SmallSelect","props","_jsx","Select","_extends","size","placement","Option","MiddleSelect","PaginationWrapper","selectComponentClass","Pagination"],"mappings":";mJAaO,IAAMA,EAAmC,SAAnCA,EAAoCC,GAAK,OACpDC,EAACC,EAAMC,EAAA,CAACC,KAAK,SAAYJ,EAAK,CAAEK,UAAU,YAAY,EAGxDN,EAAYO,OAASJ,EAAOI,OAMPJ,EAAOI,OAErB,IAAMC,EAAoC,SAApCA,EAAqCP,GAAK,OACrDC,EAACC,EAAMC,EAAA,CAACC,KAAK,UAAaJ,EAAK,CAAEK,UAAU,YAAY,EAGzDE,EAAaD,OAASJ,EAAOI,WCnBhBE,EAAoB,SAApBA,EAAqBR,GAChC,IAAMS,EAAuBT,EAAMI,OAAS,QAAUL,EAAcQ,EACpE,OAAON,EAACS,EAAUP,KAAKH,EAAK,CAAES,qBAAsBA,IACtD"}
@@ -0,0 +1 @@
1
+ .resize-border{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==");background-position:50%;background-repeat:no-repeat;box-sizing:border-box;cursor:ew-resize;height:100%;left:0;position:absolute;top:0;user-select:none;width:10px;z-index:2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.drawer-resizable{bottom:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s cubic-bezier(.7,0,.3,1);z-index:99}.drawer-resizable.drawer-resizable-visible{opacity:1;pointer-events:auto}.drawer-resizable .drawer-resizable-mask{animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.7,0,.3,1);background-color:rgba(0,0,0,.4);inset:0;opacity:0;position:absolute;transition:opacity .3s cubic-bezier(.7,0,.3,1)}.drawer-resizable .drawer-resizable-content{background-color:#fff;bottom:0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2);display:flex;flex-direction:column;height:100%;opacity:0;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.7,0,.3,1),opacity .3s cubic-bezier(.7,0,.3,1)}.drawer-resizable .drawer-resizable-header{align-items:center;border-bottom:1px solid #e5e6eb;display:flex;justify-content:space-between;padding:16px 24px}.drawer-resizable .drawer-resizable-header .drawer-resizable-title{color:#1d2129;display:inline-flex;font-size:16px;font-weight:600;line-height:normal}.drawer-resizable .drawer-resizable-header .drawer-close{border-radius:50%;color:#4e5969;padding:8px;transition:color .2s,background-color .2s}.drawer-resizable .drawer-resizable-header .drawer-close:hover{background-color:#f2f3f5;color:#1d2129}.drawer-resizable .drawer-resizable-body{flex:1;overflow-y:auto;padding:16px}.drawer-resizable .drawer-footer{border-top:1px solid #e5e6eb;padding:8px 16px}.ant-btn.drawer-resizable-title-close{align-items:center;background:transparent;border:0;border-radius:4px;color:rgba(0,0,0,.45);cursor:pointer;display:inline-flex;font-size:16px;font-style:normal;font-weight:600;height:24px;justify-content:center;line-height:1;margin-inline-end:8px;text-align:center;text-decoration:none;text-rendering:auto;text-transform:none;transition:all .2s;width:24px}.ant-btn.drawer-resizable-title-close:hover{background-color:rgba(0,0,0,.06);color:rgba(0,0,0,.88);text-decoration:none}.ant-btn.drawer-resizable-title-close:active{background-color:rgba(0,0,0,.15)}
@@ -0,0 +1,15 @@
1
+ /* eslint-disable */
2
+ import './../button-wrapper/index.css';
3
+ import './../config-provider-wrapper/index.css';
4
+ import './../fba-hooks/index.css';
5
+ import './../types/index.css';
6
+ import './../fba-utils/index.css';
7
+ import './index.css';
8
+ /*! @flatjs/forge MIT @flatbiz/antd */
9
+ import e from"@ant-design/icons/es/icons/CloseOutlined";import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as i}from"@wove/react/cjs/hooks";import{Button as o,Space as a}from"antd";import{forwardRef as n,useState as s,useMemo as l}from"react";import{createPortal as d}from"react-dom";import{Resizable as c}from"react-resizable";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{jsx as p,jsxs as u}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";function f(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var v={exports:{}};
10
+ /*!
11
+ Copyright (c) 2018 Jed Watson.
12
+ Licensed under the MIT License (MIT), see
13
+ http://jedwatson.github.io/classnames
14
+ */(function(e){(function(){var r={}.hasOwnProperty;function t(){var e="";for(var r=0;r<arguments.length;r++){var t=arguments[r];if(t){e=o(e,i(t))}}return e}function i(e){if(typeof e==="string"||typeof e==="number"){return e}if(typeof e!=="object"){return""}if(Array.isArray(e)){return t.apply(null,e)}if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]")){return e.toString()}var i="";for(var a in e){if(r.call(e,a)&&e[a]){i=o(i,a)}}return i}function o(e,r){if(!r){return e}if(e){return e+" "+r}return e+r}if(e.exports){t.default=t;e.exports=t}else{window.classNames=t}})()})(v);var y=v.exports;var h=f(y);var j=n((function(e,t){return p("div",r({ref:t},e,{className:"resize-border"}))}));var b=10;var g=function e(){b++;return b};var w=function n(f){var v=f.open,y=f.onClose,b=f.title,w=b===void 0?"抽屉标题":b,x=f.width,z=x===void 0?600:x,k=f.children,N=f.footer,C=f.maskClosable,S=C===void 0?true:C,P=f.className,O=f.style,_=f.mask,E=_===void 0?true:_,R=f.styles,A=f.headerExtraRender,F=f.zIndex,I=f.onOk,q=f.okText,H=f.cancelText,T=f.hidenFooter;var X=s(z),Y=X[0],B=X[1];var D=function e(r,t){var i=t.size;B(i.width)};var L=function e(r){r.stopPropagation();if(S){y()}};var M=typeof Y==="number"?Y+"px":Y;var U=v?{transform:"translateX(0)",opacity:1}:{transform:"translateX(100%)",opacity:0};var G=v?1:0;var J=l((function(){return F?F:10+g()}),[F]);var K=i.useCallbackRef((function(e){if(I){var r=I(e);if(r&&t(r)){return r.then(y)}}return y()}));return d(u("div",{className:h("drawer-resizable",{"drawer-resizable-visible":v},P),style:!E?{width:M,zIndex:J}:{left:0,zIndex:J},children:[E?p("div",{className:"drawer-resizable-mask",style:{opacity:G},onClick:L}):null,u("div",{className:"drawer-resizable-content",style:r({width:M},U,O),children:[u("div",{className:"drawer-resizable-header",style:R==null?void 0:R.header,children:[u("div",{className:"drawer-resizable-title",children:[p(o,{type:"text",className:"drawer-resizable-title-close",icon:p(e,{}),onClick:function e(r){r.stopPropagation();y()}}),p("div",{className:"",children:w})]}),A?p("div",{className:"drawer-resizable-title-extra",children:A}):null]}),p("div",{className:"drawer-resizable-body",style:R==null?void 0:R.body,children:p(c,{onResize:D,width:Y,handle:p(j,{}),axis:"x",resizeHandles:["w"],minConstraints:[400,0],maxConstraints:[1200,0],style:{height:"100%"},onResizeStop:function e(r){r.stopPropagation();var t=document.querySelectorAll("iframe");t.forEach((function(e){e.style.pointerEvents=""}))},onResizeStart:function e(r){r.stopPropagation();var t=document.querySelectorAll("iframe");t.forEach((function(e){e.style.pointerEvents="none"}))},children:k})}),T?null:N?p("div",{className:"drawer-footer",style:R==null?void 0:R.footer,children:N}):p("div",{className:"drawer-footer",style:R==null?void 0:R.footer,children:u(a,{children:[p(m,{onClick:y,children:H||"取消"}),p(m,{onClick:K,type:"primary",loadingPosition:"center",children:q||"确定"})]})})]})]}),document.body)};export{w as ResizableDrawer};
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/node_modules/classnames/index.js","@flatbiz/antd/src/resizable-drawer/resize-handle/index.tsx","@flatbiz/antd/src/resizable-drawer/utils.ts","@flatbiz/antd/src/resizable-drawer/drawer.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { forwardRef } from 'react';\nimport './style.less';\nexport const ResizeHandle = forwardRef<HTMLDivElement>((props, ref) => {\n return <div ref={ref} {...props} className=\"resize-border\" />;\n});\n","let zIndex = 10;\n\nexport const getZindex = () => {\n zIndex++;\n return zIndex;\n};\n","import { CloseOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Button, Space } from 'antd';\nimport classNames from 'classnames';\nimport React, { useMemo, useState, type CSSProperties, type ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Resizable } from 'react-resizable';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ResizeHandle } from './resize-handle';\nimport './style.less';\nimport { getZindex } from './utils';\n\ntype ResizableDrawerProps = {\n open?: boolean;\n onClose: () => void;\n title?: React.ReactNode;\n width?: number | string;\n children?: React.ReactNode;\n footer?: React.ReactNode | null;\n hidenFooter?: boolean;\n maskClosable?: boolean;\n mask?: boolean;\n className?: string;\n style?: React.CSSProperties;\n styles?: {\n header?: CSSProperties;\n body?: CSSProperties;\n footer?: CSSProperties;\n };\n headerExtraRender?: ReactElement;\n zIndex?: number;\n cancelText?: string;\n okText?: string;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const ResizableDrawer: React.FC<ResizableDrawerProps> = ({\n open,\n onClose,\n title = '抽屉标题',\n width: initialWidth = 600,\n children,\n footer,\n maskClosable = true,\n className,\n style,\n mask = true,\n styles,\n headerExtraRender,\n zIndex,\n onOk,\n okText,\n cancelText,\n hidenFooter,\n}) => {\n const [width, setWidth] = useState(initialWidth);\n\n const onResize = (_, data) => {\n const { size } = data;\n setWidth(size.width);\n };\n // 遮罩层点击\n const handleMaskClick = (e: React.MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n if (maskClosable) {\n onClose();\n }\n };\n\n // 计算宽度样式\n const widthStyle = typeof width === 'number' ? `${width}px` : width;\n\n const drawerStyle = open\n ? {\n transform: 'translateX(0)',\n opacity: 1,\n }\n : {\n transform: 'translateX(100%)',\n opacity: 0,\n };\n\n const maskOpacity = open ? 1 : 0;\n\n const zIndexInner = useMemo(() => {\n return zIndex ? zIndex : 10 + getZindex();\n }, [zIndex]);\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n return createPortal(\n <div\n className={classNames('drawer-resizable', { 'drawer-resizable-visible': open }, className)}\n style={!mask ? { width: widthStyle, zIndex: zIndexInner } : { left: 0, zIndex: zIndexInner }}\n >\n {mask ? (\n <div className=\"drawer-resizable-mask\" style={{ opacity: maskOpacity }} onClick={handleMaskClick} />\n ) : null}\n\n <div\n className=\"drawer-resizable-content\"\n style={{\n width: widthStyle,\n ...drawerStyle,\n ...style,\n }}\n >\n {/* 头部 */}\n <div className=\"drawer-resizable-header\" style={styles?.header}>\n <div className=\"drawer-resizable-title\">\n <Button\n type=\"text\"\n className=\"drawer-resizable-title-close\"\n icon={<CloseOutlined />}\n onClick={(event) => {\n event.stopPropagation();\n onClose();\n }}\n ></Button>\n <div className=\"\">{title}</div>\n </div>\n {headerExtraRender ? <div className=\"drawer-resizable-title-extra\">{headerExtraRender}</div> : null}\n </div>\n\n {/* 内容区域 */}\n <div className=\"drawer-resizable-body\" style={styles?.body}>\n <Resizable\n onResize={onResize}\n width={width}\n handle={<ResizeHandle />}\n axis=\"x\"\n resizeHandles={['w']}\n minConstraints={[400, 0]}\n maxConstraints={[1200, 0]}\n style={{ height: '100%' }}\n onResizeStop={(e) => {\n e.stopPropagation();\n const iframeList = document.querySelectorAll('iframe');\n iframeList.forEach((item) => {\n item.style.pointerEvents = '';\n });\n }}\n onResizeStart={(e) => {\n e.stopPropagation();\n const iframeList = document.querySelectorAll('iframe');\n iframeList.forEach((item) => {\n item.style.pointerEvents = 'none';\n });\n }}\n >\n {children}\n </Resizable>\n </div>\n {/* 底部 */}\n {hidenFooter ? null : footer ? (\n <div className=\"drawer-footer\" style={styles?.footer}>\n {footer}\n </div>\n ) : (\n <div className=\"drawer-footer\" style={styles?.footer}>\n <Space>\n <ButtonWrapper onClick={onClose}>{cancelText || '取消'}</ButtonWrapper>\n <ButtonWrapper onClick={onOkHandle} type=\"primary\" loadingPosition=\"center\">\n {okText || '确定'}\n </ButtonWrapper>\n </Space>\n </div>\n )}\n </div>\n </div>,\n document.body,\n );\n};\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","value","newClass","module","exports","default","window","ResizeHandle","forwardRef","props","ref","_jsx","_extends","className","zIndex","getZindex","ResizableDrawer","_ref","open","onClose","_ref$title","title","_ref$width","width","initialWidth","children","footer","_ref$maskClosable","maskClosable","style","_ref$mask","mask","styles","headerExtraRender","onOk","okText","cancelText","hidenFooter","_useState","useState","setWidth","onResize","_","data","size","handleMaskClick","e","stopPropagation","widthStyle","drawerStyle","transform","opacity","maskOpacity","zIndexInner","useMemo","onOkHandle","_hooks","useCallbackRef","response","_isPromise","then","createPortal","_jsxs","left","onClick","header","Button","type","icon","_CloseOutlined","event","body","Resizable","handle","axis","resizeHandles","minConstraints","maxConstraints","height","onResizeStop","iframeList","document","querySelectorAll","forEach","item","pointerEvents","onResizeStart","Space","ButtonWrapper","loadingPosition"],"mappings":"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","x_google_ignoreList":[0]}
package/index.d.ts CHANGED
@@ -13,8 +13,8 @@ import { CheckboxGroupProps } from 'antd/lib/checkbox';
13
13
  import { SearchProps, TextAreaProps } from 'antd/lib/input';
14
14
  import { UploadChangeParam } from 'antd/lib/upload';
15
15
  import { UploadFile } from 'antd/lib/upload/interface';
16
- import * as React from 'react';
17
- import { CSSProperties, DependencyList, DetailedHTMLProps, FC, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes } from 'react';
16
+ import React from 'react';
17
+ import { CSSProperties, Component, DependencyList, DetailedHTMLProps, FC, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes } from 'react';
18
18
  import { IAceEditorProps } from 'react-ace';
19
19
  import { SplitProps } from 'react-split';
20
20
  import { Editor as TinyMCEEditor } from 'tinymce';
@@ -1590,10 +1590,6 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1590
1590
  * 是否为纯净模式,对EasyForm的子节点不做任何包装处理
1591
1591
  */
1592
1592
  isPure?: boolean;
1593
- /**
1594
- * true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用
1595
- */
1596
- nonuseFormWrapper?: boolean;
1597
1593
  /**
1598
1594
  * 栅格占位格数,最大值:24
1599
1595
  * ```
@@ -1836,6 +1832,13 @@ export type EditableCardProps = {
1836
1832
  * ```
1837
1833
  */
1838
1834
  cardEasyFormProps?: Omit<EasyFormProps, "nonuseFormWrapper" | "isPure" | "children">;
1835
+ /**
1836
+ * 定义卡片网格水平跨度,最大值:24,默认值:24;设置 onCustomWrapper 后失效
1837
+ * ```
1838
+ * 1. 外层宽度在 xs、sm 时,强制为24
1839
+ * ```
1840
+ */
1841
+ boxGridColSpan?: number;
1839
1842
  /**
1840
1843
  * 默认卡片右侧布局,设置 onCustomWrapper 后失效
1841
1844
  * ```
@@ -3442,7 +3445,7 @@ export interface ErrorBoundaryStates {
3442
3445
  componentStack?: string;
3443
3446
  };
3444
3447
  }
3445
- declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryStates> {
3448
+ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryStates> {
3446
3449
  state: {
3447
3450
  error: undefined;
3448
3451
  info: {
@@ -3450,7 +3453,7 @@ declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBou
3450
3453
  };
3451
3454
  };
3452
3455
  componentDidCatch(error: Error | null, info: object): void;
3453
- render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
3456
+ render(): string | number | boolean | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
3454
3457
  }
3455
3458
  /**
3456
3459
  * react 异常拦截
@@ -4869,6 +4872,30 @@ export type TRelationTreeOperate = {
4869
4872
  onChange: (name: string, value: TAny) => void;
4870
4873
  };
4871
4874
  export declare const RelationTree: (props: RelationTreeProps) => import("react/jsx-runtime").JSX.Element;
4875
+ export type ResizableDrawerProps = {
4876
+ open?: boolean;
4877
+ onClose: () => void;
4878
+ title?: React.ReactNode;
4879
+ width?: number | string;
4880
+ children?: React.ReactNode;
4881
+ footer?: React.ReactNode | null;
4882
+ hidenFooter?: boolean;
4883
+ maskClosable?: boolean;
4884
+ mask?: boolean;
4885
+ className?: string;
4886
+ style?: React.CSSProperties;
4887
+ styles?: {
4888
+ header?: CSSProperties;
4889
+ body?: CSSProperties;
4890
+ footer?: CSSProperties;
4891
+ };
4892
+ headerExtraRender?: ReactElement;
4893
+ zIndex?: number;
4894
+ cancelText?: string;
4895
+ okText?: string;
4896
+ onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
4897
+ };
4898
+ export declare const ResizableDrawer: React.FC<ResizableDrawerProps>;
4872
4899
  export interface RichTextEditorProps extends Omit<IAllProps, "onChange" | "init"> {
4873
4900
  /** 设置高度,默认:500 */
4874
4901
  height?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.5.48",
3
+ "version": "4.5.50",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -62,6 +62,7 @@
62
62
  "@flatbiz/ai-request": "^4.0.1"
63
63
  },
64
64
  "dependencies": {
65
+ "react-resizable": "^3.0.5",
65
66
  "@dnd-kit/core": "^6.0.8",
66
67
  "@dnd-kit/modifiers": "^6.0.1",
67
68
  "@dnd-kit/sortable": "^7.0.2",