@flatbiz/antd 4.2.33 → 4.2.35

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.
Files changed (56) hide show
  1. package/esm/button-operate/index.js +1 -1
  2. package/esm/{button-operate-260750d4.js → button-operate-04d9185b.js} +2 -2
  3. package/esm/{button-operate-260750d4.js.map → button-operate-04d9185b.js.map} +1 -1
  4. package/esm/button-wrapper/index.js +1 -1
  5. package/esm/button-wrapper-c63ea6fc.js +3 -0
  6. package/esm/button-wrapper-c63ea6fc.js.map +1 -0
  7. package/esm/date-picker-wrapper/index.js +1 -1
  8. package/esm/{date-picker-wrapper-407942d1.js → date-picker-wrapper-ba650858.js} +2 -2
  9. package/esm/{date-picker-wrapper-407942d1.js.map → date-picker-wrapper-ba650858.js.map} +1 -1
  10. package/esm/date-range-picker-wrapper/index.js +1 -1
  11. package/esm/{date-range-picker-wrapper-d22d0f60.js → date-range-picker-wrapper-fb15c592.js} +2 -2
  12. package/esm/{date-range-picker-wrapper-d22d0f60.js.map → date-range-picker-wrapper-fb15c592.js.map} +1 -1
  13. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  14. package/esm/dialog-alert/index.js +1 -1
  15. package/esm/dialog-confirm/index.js +1 -1
  16. package/esm/{dialog-confirm-4b387b9b.js → dialog-confirm-b289f5ed.js} +2 -2
  17. package/esm/{dialog-confirm-4b387b9b.js.map → dialog-confirm-b289f5ed.js.map} +1 -1
  18. package/esm/dialog-drawer/index.js +1 -1
  19. package/esm/dialog-loading/index.js +1 -1
  20. package/esm/dialog-loading/index.js.map +1 -1
  21. package/esm/dialog-modal/index.js +1 -1
  22. package/esm/{dialog-modal-8568caf2.js → dialog-modal-225b0fe0.js} +2 -2
  23. package/esm/{dialog-modal-8568caf2.js.map → dialog-modal-225b0fe0.js.map} +1 -1
  24. package/esm/dropdown-menu-wrapper/index.js +1 -1
  25. package/esm/{dropdown-menu-wrapper-bd05860d.js → dropdown-menu-wrapper-2c4b6cad.js} +2 -2
  26. package/esm/{dropdown-menu-wrapper-bd05860d.js.map → dropdown-menu-wrapper-2c4b6cad.js.map} +1 -1
  27. package/esm/easy-table/index.js +1 -1
  28. package/esm/editable-field/index.js +1 -1
  29. package/esm/editable-field/index.js.map +1 -1
  30. package/esm/editable-table/index.js +1 -1
  31. package/esm/editable-table/index.js.map +1 -1
  32. package/esm/local-loading/index.css +1 -1
  33. package/esm/local-loading/index.js +1 -1
  34. package/esm/local-loading/index.js.map +1 -1
  35. package/esm/selector-wrapper/index.js +1 -1
  36. package/esm/selector-wrapper-ece722f5.js +3 -0
  37. package/esm/selector-wrapper-ece722f5.js.map +1 -0
  38. package/esm/table-cell-render/index.js +1 -1
  39. package/esm/tag-wrapper/index.css +1 -0
  40. package/esm/tag-wrapper/index.js +6 -0
  41. package/esm/tag-wrapper/index.js.map +1 -0
  42. package/esm/time-53b3f55f.js +3 -0
  43. package/esm/{time-2782aa9b.js.map → time-53b3f55f.js.map} +1 -1
  44. package/esm/time-picker-wrapper/index.js +1 -1
  45. package/esm/time-range-picker-wrapper/index.js +1 -1
  46. package/esm/{time-range-picker-wrapper-24adf0d0.js → time-range-picker-wrapper-be9850b5.js} +2 -2
  47. package/esm/{time-range-picker-wrapper-24adf0d0.js.map → time-range-picker-wrapper-be9850b5.js.map} +1 -1
  48. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  49. package/esm/tree-wrapper/index.js +1 -1
  50. package/index.d.ts +16 -5
  51. package/package.json +1 -1
  52. package/esm/button-wrapper-6441881c.js +0 -3
  53. package/esm/button-wrapper-6441881c.js.map +0 -1
  54. package/esm/selector-wrapper-6560eb49.js +0 -3
  55. package/esm/selector-wrapper-6560eb49.js.map +0 -1
  56. package/esm/time-2782aa9b.js +0 -3
@@ -6,5 +6,5 @@ import './../fba-utils/index.css';
6
6
  import './../dropdown-menu-wrapper/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- export{a as ButtonOperate,B as ButtonOperateItemContent}from"../button-operate-260750d4.js";import"@ant-design/icons/es/icons/MoreOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dropdown-menu-wrapper-bd05860d.js";
9
+ export{a as ButtonOperate,B as ButtonOperateItemContent}from"../button-operate-04d9185b.js";import"@ant-design/icons/es/icons/MoreOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dropdown-menu-wrapper-2c4b6cad.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as n}from"@dimjs/lang/cjs/is-undefined";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as l}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as p,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{Fragment as h,useState as v,isValidElement as g,useMemo as T,createElement as j}from"react";import{B as y}from"./button-wrapper-6441881c.js";import{D as k}from"./dropdown-menu-wrapper-bd05860d.js";import{f as C}from"./fba-utils-1e895394.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(p,{content:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(h,{children:e.children})};var B=function p(c){var h=v(false),B=h[0],I=h[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&l(i)){I(true);return i.finally((function(){I(false)}))}return}));var F=c.operateList.filter((function(r){if(!r)return false;if(g(r)){var e,i;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var n=(i=r.props)==null?void 0:i["v-permission"];if(s(n)){return C.hasPermission(n)}return true}if(t(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var M=T((function(){return F.filter((function(r){if(g(r)){return true}return!r["isFold"]}))}),[F]);var N=T((function(){var r=F.filter((function(r){if(g(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var n=e({},r);delete n.isFold;i.push(n)}));return i}),[F]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:o("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:n(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,n){if(r&&g(r)){return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:r},n)}var o=r.text,t=r.onClick,s=r.needConfirm,l=r.confirmMessage,a=r.popconfirmProps,p=i(r,w);var c=r.type||"link";if(s&&!p.disabled){var f=!!r.color?false:true;return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:j(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:l,onConfirm:z.bind(null,r),key:n,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}}}),P(y,e({danger:f},p,{onClick:undefined,type:c,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},p,{type:c,onClick:function r(e){e.stopPropagation();return t==null?void 0:t(e)},children:g(o)?P("span",{children:o}):o}))},n)})),N.length>0?P(k,{menuList:N,children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})}):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
3
- //# sourceMappingURL=button-operate-260750d4.js.map
2
+ import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as n}from"@dimjs/lang/cjs/is-undefined";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as l}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as p,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{Fragment as h,useState as v,isValidElement as g,useMemo as T,createElement as j}from"react";import{B as y}from"./button-wrapper-c63ea6fc.js";import{D as k}from"./dropdown-menu-wrapper-2c4b6cad.js";import{f as C}from"./fba-utils-1e895394.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(p,{content:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P(h,{children:e.children})})}return P(h,{children:e.children})};var B=function p(c){var h=v(false),B=h[0],I=h[1];var z=a.useCallbackRef((function(r,e){var i=r.onClick==null?void 0:r.onClick(e);if(i&&l(i)){I(true);return i.finally((function(){I(false)}))}return}));var F=c.operateList.filter((function(r){if(!r)return false;if(g(r)){var e,i;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var n=(i=r.props)==null?void 0:i["v-permission"];if(s(n)){return C.hasPermission(n)}return true}if(t(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var M=T((function(){return F.filter((function(r){if(g(r)){return true}return!r["isFold"]}))}),[F]);var N=T((function(){var r=F.filter((function(r){if(g(r)){return false}return r["isFold"]}));var i=[];r.forEach((function(r){var n=e({},r);delete n.isFold;i.push(n)}));return i}),[F]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:o("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:n(c.wrap)?true:c.wrap},c.spaceProps,{children:[M.map((function(r,n){if(r&&g(r)){return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:r},n)}var o=r.text,t=r.onClick,s=r.needConfirm,l=r.confirmMessage,a=r.popconfirmProps,p=i(r,w);var c=r.type||"link";if(s&&!p.disabled){var f=!!r.color?false:true;return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:j(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:l,onConfirm:z.bind(null,r),key:n,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}}}),P(y,e({danger:f},p,{onClick:undefined,type:c,children:g(o)?P("span",{children:o}):o})))},n)}return P(x,{hoverTips:r.hoverTips,tipsType:r.tipsType,children:P(y,e({loadingPosition:"center"},p,{type:c,onClick:function r(e){e.stopPropagation();return t==null?void 0:t(e)},children:g(o)?P("span",{children:o}):o}))},n)})),N.length>0?P(k,{menuList:N,children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})}):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
3
+ //# sourceMappingURL=button-operate-04d9185b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-operate-260750d4.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 { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\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 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 return !item['hidden'];\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 hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n {item}\n </ButtonOperateItemContent>\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\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 >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\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","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","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","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"button-operate-04d9185b.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 { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n // 是否折叠合拢\n isFold?: boolean;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { children?: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <Fragment>{props.children}</Fragment>\n </Tooltip>\n );\n }\n return <Fragment>{props.children}</Fragment>;\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 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 return !item['hidden'];\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 hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n {item}\n </ButtonOperateItemContent>\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, ...otherProps } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\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 >\n <ButtonWrapper danger={danger} {...otherProps} onClick={undefined} type={type}>\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </Popconfirm>\n </ButtonOperateItemContent>\n );\n }\n return (\n <ButtonOperateItemContent hoverTips={item.hoverTips} tipsType={item.tipsType} key={index}>\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n >\n {isValidElement(text) ? <span>{text}</span> : text}\n </ButtonWrapper>\n </ButtonOperateItemContent>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList}>\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","Fragment","Tooltip","title","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","isValidElement","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","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","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","ButtonWrapper","loadingPosition","stopPropagation","length","DropdownMenuWrapper","menuList","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
@@ -4,5 +4,5 @@ import './../fba-hooks/index.css';
4
4
  import './../fba-utils/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
- export{B as ButtonWrapper}from"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"react";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";
7
+ export{B as ButtonWrapper}from"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"react";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";
8
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+ import r from"@ant-design/icons/es/icons/LoadingOutlined";import{_ as o,a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Button as c}from"antd";import{useState as t}from"react";import{C as a}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as s}from"./fba-hooks/index.js";import{f as d}from"./fba-utils-1e895394.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";var u=["loadingPosition","color","debounceDuration","permission","hidden","loading"];var p=function r(o){if(o.color&&!o.disabled){var i={};if(o.type==="link"){i={colorLink:o.color,colorLinkActive:o.color,colorLinkHover:o.color}}else if(o.type==="primary"){i={colorPrimary:o.color,colorPrimaryHover:o.color,colorPrimaryActive:o.color}}else{i={colorPrimaryHover:o.color,colorPrimaryActive:o.color,colorText:o.color,colorBorder:o.color}}return f(a,{theme:{components:{Button:i}},children:o.children})}return o.children};var v=function a(v){var h=v.loadingPosition,y=v.color,b=v.debounceDuration,g=v.permission,k=v.hidden,P=v.loading,j=o(v,u);var C=P;var x=t(false),B=x[0],H=x[1];var L=h===undefined?"left":h;var w=L==="left";var A=n(b)?500:b;s.useEffectCustom((function(){if(!n(P)){H(C||false)}}),[P]);var D=l.useDebounceClick((function(r){var o=v.onClick;if(!o){return}var i=o(r);if(i&&e(i)){H(true);i.catch((function(r){console.error(r)})).finally((function(){H(false)}))}}),A);if(!d.hasPermission(g)){return null}if(k){return null}if(w){return f(p,{color:y,disabled:v.disabled,type:v.type,children:f(c,i({},j,{onClick:D,loading:B,children:v.children}))})}return f(p,{color:y,disabled:v.disabled,type:v.type,children:m(c,i({},j,{onClick:D,children:[B&&f("div",{className:"bw-center-loading",children:f(r,{})}),B?f("div",{style:{opacity:.5},children:v.children}):v.children]}))})};export{v as B};
3
+ //# sourceMappingURL=button-wrapper-c63ea6fc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-wrapper-c63ea6fc.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, ButtonProps } from 'antd';\nimport { OverrideToken } from 'antd/es/theme/interface';\nimport { ReactElement, useState } from 'react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n permission?: string;\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自定loading效果\n * 2. 添加指定时间内重复点击无效(默认间隙时间500ms)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const { loadingPosition, color, debounceDuration, permission, hidden, loading, ...otherProps } = props;\n const loadingNew = loading as boolean | undefined;\n const [innerLoading, setLoading] = useState(false);\n const loadingPositionNew = loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loadingNew || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} loading={innerLoading}>\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick}>\n {innerLoading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{props.children}</div> : props.children}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","loading","otherProps","_objectWithoutPropertiesLoose","_excluded","loadingNew","_useState","useState","innerLoading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_extends","_jsxs","className","_LoadingOutlined","style","opacity"],"mappings":";inBAsBA,IAAMA,EAAgB,SAAhBA,EAAiBC,GAMrB,GAAIA,EAAMC,QAAUD,EAAME,SAAU,CAClC,IAAIC,EAAuC,CAAA,EAC3C,GAAIH,EAAMI,OAAS,OAAQ,CACzBD,EAAc,CACZE,UAAWL,EAAMC,MACjBK,gBAAiBN,EAAMC,MACvBM,eAAgBP,EAAMC,MAE1B,MAAO,GAAID,EAAMI,OAAS,UAAW,CACnCD,EAAc,CACZK,aAAcR,EAAMC,MACpBQ,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAE9B,KAAO,CACLE,EAAc,CACZM,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAC1BU,UAAWX,EAAMC,MACjBW,YAAaZ,EAAMC,MAEvB,CAEA,OACEY,EAACC,EAAqB,CACpBC,MAAO,CACLC,WAAY,CACVC,OAAQd,IAEVe,SAEDlB,EAAMkB,UAGb,CACA,OAAOlB,EAAMkB,QACf,MASaC,EAAgB,SAAhBA,EAAiBnB,GAC5B,IAAQoB,EAAyFpB,EAAzFoB,gBAAiBnB,EAAwED,EAAxEC,MAAOoB,EAAiErB,EAAjEqB,iBAAkBC,EAA+CtB,EAA/CsB,WAAYC,EAAmCvB,EAAnCuB,OAAQC,EAA2BxB,EAA3BwB,QAAYC,EAAUC,EAAK1B,EAAK2B,GACtG,IAAMC,EAAaJ,EACnB,IAAAK,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAqBb,IAAoBc,UAAY,OAASd,EACpE,IAAMe,EAAgBF,IAAuB,OAC7C,IAAMG,EAAsBC,EAAkBhB,GAAoB,IAAMA,EAExEiB,EAASC,iBAAgB,WACvB,IAAKF,EAAkBb,GAAU,CAC/BQ,EAAWJ,GAAc,MAC3B,CACF,GAAG,CAACJ,IAEJ,IAAMgB,EAAUC,EAAMC,kBAAiB,SAACC,GACtC,IAAMH,EAAUxC,EAAMwC,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BZ,EAAW,MACXY,EACGE,OAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,IACCE,SAAQ,WACPjB,EAAW,MACb,GACJ,CACD,GAAEI,GAEH,IAAKc,EAASC,cAAc7B,GAAa,CACvC,OAAO,IACT,CAEA,GAAIC,EAAQ,CACV,OAAO,IACT,CAEA,GAAIY,EAAe,CACjB,OACEtB,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEL,EAACI,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAShB,QAASO,EAAab,SAC7DlB,EAAMkB,aAIf,CAEA,OACEL,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEmC,EAACpC,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAQtB,SAAA,CACtCa,GACClB,EAAA,MAAA,CAAKyC,UAAU,oBAAmBpC,SAChCL,EAAA0C,EAAA,MAGHxB,EAAelB,EAAA,MAAA,CAAK2C,MAAO,CAAEC,QAAS,IAAMvC,SAAElB,EAAMkB,WAAkBlB,EAAMkB,cAIrF"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- export{D as DatePickerWrapper}from"../date-picker-wrapper-407942d1.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"dayjs";import"react";import"../time-2782aa9b.js";import"react/jsx-runtime";
4
+ export{D as DatePickerWrapper}from"../date-picker-wrapper-ba650858.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"dayjs";import"react";import"../time-53b3f55f.js";import"react/jsx-runtime";
5
5
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as a}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as i}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as s,g as u,a as f,b as d}from"./time-2782aa9b.js";import{jsx as l}from"react/jsx-runtime";var m=["value","onChange","style","format"];var b=function b(c){var v=c.value,D=c.onChange,p=c.style,M=c.format,g=e(c,m);var C=c.disabledDateConfig||{},h=C.minDate,Y=C.maxDate,L=C.disabledHourList,j=C.disabledMinuteList,w=C.disabledSecondList;var H=h?n(h):undefined;var T=Y?n(Y):undefined;var k=o((function(){if(M)return M;if(c.showTime)return s.YMDHms;return s.YMD}),[c.showTime,M]);var x=a.useCallbackRef((function(e,r){if(e){D==null?void 0:D(r)}else{D==null?void 0:D(undefined)}}));var y=a.useCallbackRef((function(e){var r=e.format(s.YMD);if(!c.disabledDateConfig){return false}if(H&&T){if(!t.in(r,H.format(s.YMD),T.format(s.YMD))){return true}}else if(H){if(!t.gte(r,H.format(s.YMD))){return true}}else if(T){if(!t.gte(T.format(s.YMD),r)){return true}}return false}));var R=o((function(){if(v){return n(t.dateNormalize(v))}return undefined}),[v]);var S=a.useCallbackRef((function(e){var r={minDateTime:H,maxDateTime:T,disabledHourList:L,disabledMinuteList:j,disabledSecondList:w};e=e||R||n(new Date);return{disabledHours:function a(){return u(e,r)},disabledMinutes:function a(){return f(e,r)},disabledSeconds:function a(){return d(e,r)}}}));return l(i,r({disabledDate:y,disabledTime:S},g,{format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{b as D};
3
- //# sourceMappingURL=date-picker-wrapper-407942d1.js.map
2
+ import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as a}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as i}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as s,g as u,a as f,b as d}from"./time-53b3f55f.js";import{jsx as l}from"react/jsx-runtime";var m=["value","onChange","style","format"];var b=function b(c){var v=c.value,D=c.onChange,p=c.style,M=c.format,g=e(c,m);var C=c.disabledDateConfig||{},h=C.minDate,Y=C.maxDate,L=C.disabledHourList,j=C.disabledMinuteList,w=C.disabledSecondList;var H=h?n(h):undefined;var T=Y?n(Y):undefined;var k=o((function(){if(M)return M;if(c.showTime)return s.YMDHms;return s.YMD}),[c.showTime,M]);var x=a.useCallbackRef((function(e,r){if(e){D==null?void 0:D(r)}else{D==null?void 0:D(undefined)}}));var y=a.useCallbackRef((function(e){var r=e.format(s.YMD);if(!c.disabledDateConfig){return false}if(H&&T){if(!t.in(r,H.format(s.YMD),T.format(s.YMD))){return true}}else if(H){if(!t.gte(r,H.format(s.YMD))){return true}}else if(T){if(!t.gte(T.format(s.YMD),r)){return true}}return false}));var R=o((function(){if(v){return n(t.dateNormalize(v))}return undefined}),[v]);var S=a.useCallbackRef((function(e){var r={minDateTime:H,maxDateTime:T,disabledHourList:L,disabledMinuteList:j,disabledSecondList:w};e=e||R||n(new Date);return{disabledHours:function a(){return u(e,r)},disabledMinutes:function a(){return f(e,r)},disabledSeconds:function a(){return d(e,r)}}}));return l(i,r({disabledDate:y,disabledTime:S},g,{format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{b as D};
3
+ //# sourceMappingURL=date-picker-wrapper-ba650858.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-wrapper-407942d1.js","sources":["@flatbiz/antd/src/date-picker-wrapper/date-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport type { PickerDateProps } from 'antd/es/date-picker/generatePicker';\nimport dayjs from 'dayjs';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DatePickerWrapperProps = Omit<PickerDateProps<dayjs.Dayjs>, 'value' | 'onChange' | 'format'> & {\n value?: string;\n onChange?: (value?: string) => void;\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n /** 可自定义格式 */\n format?: TDayjsDateType;\n};\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型 DayjsDateTypeEnum.YMDHms;其他格式化类型自定义format\n * 4. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 5. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n * ```\n */\nexport const DatePickerWrapper = (props: DatePickerWrapperProps) => {\n const { value, onChange, style, format, ...otherProps } = props;\n const { minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((date, dateString: string) => {\n if (date) {\n onChange?.(dateString);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current: dayjs.Dayjs) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n return false;\n });\n\n const datePickerValue = useMemo(() => {\n if (value) {\n return dayjs(flatbizDate.dateNormalize(value));\n }\n return undefined;\n }, [value]);\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || datePickerValue || dayjs(new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={datePickerValue}\n onChange={onChangeDate}\n />\n );\n};\n"],"names":["DatePickerWrapper","props","value","onChange","style","format","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","customFormat","useMemo","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","date","dateString","getDisabledDate","current","currentDate","flatbizDate","in","gte","datePickerValue","dateNormalize","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","_extends","disabledDate","disabledTime","width"],"mappings":";yYAoCaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAkDD,EAAlDC,MAAOC,EAA2CF,EAA3CE,SAAUC,EAAiCH,EAAjCG,MAAOC,EAA0BJ,EAA1BI,OAAWC,EAAUC,EAAKN,EAAKO,GAC/D,IAAAC,EACER,EAAMS,oBAAsB,CAAE,EADxBC,EAAOF,EAAPE,QAASC,EAAOH,EAAPG,QAASC,EAAgBJ,EAAhBI,iBAAkBC,EAAkBL,EAAlBK,mBAAoBC,EAAkBN,EAAlBM,mBAEhE,IAAMC,EAAqBL,EAAUM,EAAMN,GAAWO,UACtD,IAAMC,EAAqBP,EAAUK,EAAML,GAAWM,UACtD,IAAME,EAAeC,GAAQ,WAC3B,GAAIhB,EAAQ,OAAOA,EACnB,GAAIJ,EAAMqB,SAAU,OAAOC,EAAkBC,OAC7C,OAAOD,EAAkBE,GAC1B,GAAE,CAACxB,EAAMqB,SAAUjB,IAEpB,IAAMqB,EAAeC,EAAMC,gBAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACR1B,GAAAA,UAAAA,EAAAA,EAAW2B,EACb,KAAO,CACL3B,GAAAA,UAAAA,EAAAA,EAAWe,UACb,CACF,IAEA,IAAMa,EAAkBJ,EAAMC,gBAAe,SAACI,GAC5C,IAAMC,EAAcD,EAAQ3B,OAAOkB,EAAkBE,KACrD,IAAKxB,EAAMS,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIM,GAAsBG,EAAoB,CAC5C,IACGe,EAAYC,GACXF,EACAjB,EAAmBX,OAAOkB,EAAkBE,KAC5CN,EAAmBd,OAAOkB,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIT,EAAoB,CAC7B,IAAKkB,EAAYE,IAAIH,EAAajB,EAAmBX,OAAOkB,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIN,EAAoB,CAC7B,IAAKe,EAAYE,IAAIjB,EAAmBd,OAAOkB,EAAkBE,KAAMQ,GAAc,CACnF,OAAO,IACT,CACF,CACA,OAAO,KACT,IAEA,IAAMI,EAAkBhB,GAAQ,WAC9B,GAAInB,EAAO,CACT,OAAOe,EAAMiB,EAAYI,cAAcpC,GACzC,CACA,OAAOgB,SACT,GAAG,CAAChB,IAEJ,IAAMqC,EAAkBZ,EAAMC,gBAAe,SAACI,GAC5C,IAAMQ,EAAU,CACdC,YAAazB,EACb0B,YAAavB,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEFiB,EAAUA,GAAWK,GAAmBpB,EAAM,IAAI0B,MAClD,MAAO,CACLC,cAAe,SAAAA,IACb,OAAOC,EAAgBb,EAASQ,EACjC,EACDM,gBAAiB,SAAAA,IACf,OAAOC,EAAkBf,EAASQ,EACnC,EACDQ,gBAAiB,SAAAA,IACf,OAAOC,EAAkBjB,EAASQ,EACpC,EAEJ,IAEA,OACEU,EAACC,EAAUC,EAAA,CACTC,aAActB,EACduB,aAAcf,GACVjC,EAAU,CACdD,OAAQe,EACRhB,MAAKgD,EAAA,CAAIG,MAAO,QAAWnD,GAC3BF,MAAOmC,EACPlC,SAAUuB,IAGhB"}
1
+ {"version":3,"file":"date-picker-wrapper-ba650858.js","sources":["@flatbiz/antd/src/date-picker-wrapper/date-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport type { PickerDateProps } from 'antd/es/date-picker/generatePicker';\nimport dayjs from 'dayjs';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DatePickerWrapperProps = Omit<PickerDateProps<dayjs.Dayjs>, 'value' | 'onChange' | 'format'> & {\n value?: string;\n onChange?: (value?: string) => void;\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n /** 可自定义格式 */\n format?: TDayjsDateType;\n};\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型 DayjsDateTypeEnum.YMDHms;其他格式化类型自定义format\n * 4. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 5. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n * ```\n */\nexport const DatePickerWrapper = (props: DatePickerWrapperProps) => {\n const { value, onChange, style, format, ...otherProps } = props;\n const { minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((date, dateString: string) => {\n if (date) {\n onChange?.(dateString);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current: dayjs.Dayjs) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n return false;\n });\n\n const datePickerValue = useMemo(() => {\n if (value) {\n return dayjs(flatbizDate.dateNormalize(value));\n }\n return undefined;\n }, [value]);\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || datePickerValue || dayjs(new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={datePickerValue}\n onChange={onChangeDate}\n />\n );\n};\n"],"names":["DatePickerWrapper","props","value","onChange","style","format","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","customFormat","useMemo","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","date","dateString","getDisabledDate","current","currentDate","flatbizDate","in","gte","datePickerValue","dateNormalize","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","_extends","disabledDate","disabledTime","width"],"mappings":";yYAoCaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAkDD,EAAlDC,MAAOC,EAA2CF,EAA3CE,SAAUC,EAAiCH,EAAjCG,MAAOC,EAA0BJ,EAA1BI,OAAWC,EAAUC,EAAKN,EAAKO,GAC/D,IAAAC,EACER,EAAMS,oBAAsB,CAAE,EADxBC,EAAOF,EAAPE,QAASC,EAAOH,EAAPG,QAASC,EAAgBJ,EAAhBI,iBAAkBC,EAAkBL,EAAlBK,mBAAoBC,EAAkBN,EAAlBM,mBAEhE,IAAMC,EAAqBL,EAAUM,EAAMN,GAAWO,UACtD,IAAMC,EAAqBP,EAAUK,EAAML,GAAWM,UACtD,IAAME,EAAeC,GAAQ,WAC3B,GAAIhB,EAAQ,OAAOA,EACnB,GAAIJ,EAAMqB,SAAU,OAAOC,EAAkBC,OAC7C,OAAOD,EAAkBE,GAC1B,GAAE,CAACxB,EAAMqB,SAAUjB,IAEpB,IAAMqB,EAAeC,EAAMC,gBAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACR1B,GAAAA,UAAAA,EAAAA,EAAW2B,EACb,KAAO,CACL3B,GAAAA,UAAAA,EAAAA,EAAWe,UACb,CACF,IAEA,IAAMa,EAAkBJ,EAAMC,gBAAe,SAACI,GAC5C,IAAMC,EAAcD,EAAQ3B,OAAOkB,EAAkBE,KACrD,IAAKxB,EAAMS,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIM,GAAsBG,EAAoB,CAC5C,IACGe,EAAYC,GACXF,EACAjB,EAAmBX,OAAOkB,EAAkBE,KAC5CN,EAAmBd,OAAOkB,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIT,EAAoB,CAC7B,IAAKkB,EAAYE,IAAIH,EAAajB,EAAmBX,OAAOkB,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIN,EAAoB,CAC7B,IAAKe,EAAYE,IAAIjB,EAAmBd,OAAOkB,EAAkBE,KAAMQ,GAAc,CACnF,OAAO,IACT,CACF,CACA,OAAO,KACT,IAEA,IAAMI,EAAkBhB,GAAQ,WAC9B,GAAInB,EAAO,CACT,OAAOe,EAAMiB,EAAYI,cAAcpC,GACzC,CACA,OAAOgB,SACT,GAAG,CAAChB,IAEJ,IAAMqC,EAAkBZ,EAAMC,gBAAe,SAACI,GAC5C,IAAMQ,EAAU,CACdC,YAAazB,EACb0B,YAAavB,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEFiB,EAAUA,GAAWK,GAAmBpB,EAAM,IAAI0B,MAClD,MAAO,CACLC,cAAe,SAAAA,IACb,OAAOC,EAAgBb,EAASQ,EACjC,EACDM,gBAAiB,SAAAA,IACf,OAAOC,EAAkBf,EAASQ,EACnC,EACDQ,gBAAiB,SAAAA,IACf,OAAOC,EAAkBjB,EAASQ,EACpC,EAEJ,IAEA,OACEU,EAACC,EAAUC,EAAA,CACTC,aAActB,EACduB,aAAcf,GACVjC,EAAU,CACdD,OAAQe,EACRhB,MAAKgD,EAAA,CAAIG,MAAO,QAAWnD,GAC3BF,MAAOmC,EACPlC,SAAUuB,IAGhB"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- export{D as DateRangePickerWrapper}from"../date-range-picker-wrapper-d22d0f60.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"dayjs";import"react";import"../time-2782aa9b.js";import"react/jsx-runtime";
4
+ export{D as DateRangePickerWrapper}from"../date-range-picker-wrapper-fb15c592.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"antd";import"dayjs";import"react";import"../time-53b3f55f.js";import"react/jsx-runtime";
5
5
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{_ as e,a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{flatbizDate as n}from"@flatbiz/utils";import{DatePicker as i}from"antd";import t from"dayjs";import{useState as l,useMemo as u}from"react";import{D as o,g as f,a as s,b as d}from"./time-2782aa9b.js";import{jsx as m}from"react/jsx-runtime";var v=["value","onChange","style","format","onOpenChange"];var c=function c(b){var D=b.value,g=b.onChange,p=b.style,C=b.format,h=b.onOpenChange,M=e(b,v);var y=b.disabledDateConfig||{},Y=y.maxDays,L=y.minDate,j=y.maxDate,k=y.disabledHourList,w=y.disabledMinuteList,x=y.disabledSecondList;var H=L?t(L):undefined;var T=j?t(j):undefined;var R=l(null),z=R[0],O=R[1];var S=l(null),N=S[0],P=S[1];var _=D||[],B=_[0],q=_[1];var A=u((function(){if(B&&q){var e=n.dateNormalize(B);var a=n.dateNormalize(q);return[t(e),t(a)]}return undefined}),[B,q]);var E=u((function(){if(C)return C;if(b.showTime===true)return o.YMDHms;return o.YMD}),[b.showTime,C]);var F=r.useCallbackRef((function(e,a){if(e&&e[0]&&e[1]){g==null?void 0:g(a)}else{g==null?void 0:g(undefined)}}));var G=r.useCallbackRef((function(e){var a=e.format(o.YMD);if(!b.disabledDateConfig){return false}if(H&&T){if(!n.in(a,H.format(o.YMD),T.format(o.YMD))){return true}}else if(H){if(!n.gte(a,H.format(o.YMD))){return true}}else if(T){if(!n.gte(T.format(o.YMD),a)){return true}}if(!Y||!(z!=null&&z[0])&&!(z!=null&&z[1])){return false}var r=(z==null?void 0:z[0])&&e.diff(z[0],"days")>Y-1;var i=(z==null?void 0:z[1])&&z[1].diff(e,"days")>Y-1;return!!i||!!r}));var I=function e(a){if(Y&&Y>0){if(a){P([null,null]);O([null,null])}else{P(null)}}h==null?void 0:h(a)};var J=r.useCallbackRef((function(e){var a={minDateTime:H,maxDateTime:T,disabledHourList:k,disabledMinuteList:w,disabledSecondList:x};e=e||t(B||new Date);return{disabledHours:function r(){return f(e,a)},disabledMinutes:function r(){return s(e,a)},disabledSeconds:function r(){return d(e,a)}}}));return m(i.RangePicker,a({disabledDate:G,disabledTime:J},M,{format:E,style:a({width:"100%"},p),value:N||A,onChange:F,onOpenChange:I,onCalendarChange:function e(a){return O(a)}}))};export{c as D};
3
- //# sourceMappingURL=date-range-picker-wrapper-d22d0f60.js.map
2
+ import{_ as e,a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{flatbizDate as n}from"@flatbiz/utils";import{DatePicker as i}from"antd";import t from"dayjs";import{useState as l,useMemo as u}from"react";import{D as o,g as f,a as s,b as d}from"./time-53b3f55f.js";import{jsx as m}from"react/jsx-runtime";var v=["value","onChange","style","format","onOpenChange"];var c=function c(b){var D=b.value,g=b.onChange,p=b.style,C=b.format,h=b.onOpenChange,M=e(b,v);var y=b.disabledDateConfig||{},Y=y.maxDays,L=y.minDate,j=y.maxDate,k=y.disabledHourList,w=y.disabledMinuteList,x=y.disabledSecondList;var H=L?t(L):undefined;var T=j?t(j):undefined;var R=l(null),z=R[0],O=R[1];var S=l(null),N=S[0],P=S[1];var _=D||[],B=_[0],q=_[1];var A=u((function(){if(B&&q){var e=n.dateNormalize(B);var a=n.dateNormalize(q);return[t(e),t(a)]}return undefined}),[B,q]);var E=u((function(){if(C)return C;if(b.showTime===true)return o.YMDHms;return o.YMD}),[b.showTime,C]);var F=r.useCallbackRef((function(e,a){if(e&&e[0]&&e[1]){g==null?void 0:g(a)}else{g==null?void 0:g(undefined)}}));var G=r.useCallbackRef((function(e){var a=e.format(o.YMD);if(!b.disabledDateConfig){return false}if(H&&T){if(!n.in(a,H.format(o.YMD),T.format(o.YMD))){return true}}else if(H){if(!n.gte(a,H.format(o.YMD))){return true}}else if(T){if(!n.gte(T.format(o.YMD),a)){return true}}if(!Y||!(z!=null&&z[0])&&!(z!=null&&z[1])){return false}var r=(z==null?void 0:z[0])&&e.diff(z[0],"days")>Y-1;var i=(z==null?void 0:z[1])&&z[1].diff(e,"days")>Y-1;return!!i||!!r}));var I=function e(a){if(Y&&Y>0){if(a){P([null,null]);O([null,null])}else{P(null)}}h==null?void 0:h(a)};var J=r.useCallbackRef((function(e){var a={minDateTime:H,maxDateTime:T,disabledHourList:k,disabledMinuteList:w,disabledSecondList:x};e=e||t(B||new Date);return{disabledHours:function r(){return f(e,a)},disabledMinutes:function r(){return s(e,a)},disabledSeconds:function r(){return d(e,a)}}}));return m(i.RangePicker,a({disabledDate:G,disabledTime:J},M,{format:E,style:a({width:"100%"},p),value:N||A,onChange:F,onOpenChange:I,onCalendarChange:function e(a){return O(a)}}))};export{c as D};
3
+ //# sourceMappingURL=date-range-picker-wrapper-fb15c592.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-wrapper-d22d0f60.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper/date-range-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport { useMemo, useState } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DateRangePickerWrapperProps = Omit<\n RangePickerDateProps<Dayjs>,\n 'value' | 'onChange' | 'onCalendarChange' | 'disabledDate' | 'format'\n> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n /**\n * 1. minDate、maxDate 与 format格式相同;默认:YYYY-MM-DD\n * 2. maxDays 最大可选的天数\n */\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n maxDays?: number;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsDateType;\n};\n\ntype RangeValue = [Dayjs | null, Dayjs | null] | null;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss;其他格式化类型自定义format\n * 4. 可设置disabledDateConfig,来控制日期项的disbaled状态\n * 5. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 6. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n *\n * TODO: 引用DatePicker.RangePicker TS有问题,待解决\n * TODO: 存在场景缺陷,当设置maxDays、showTime后,在选择单个日期不通过确认按钮直接切换输入框,无法获取回调,无法约束disabledDate\n * ```\n */\nexport const DateRangePickerWrapper = (props: DateRangePickerWrapperProps) => {\n const { value, onChange, style, format, onOpenChange: onAntdOpenChange, ...otherProps } = props;\n const { maxDays, minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n\n const [dates, setDates] = useState<RangeValue>(null);\n const [hackValue, setHackValue] = useState<RangeValue>(null);\n\n const [date1, date2] = value || [];\n const rangePickerValue = useMemo(() => {\n if (date1 && date2) {\n const newDate1 = flatbizDate.dateNormalize(date1);\n const newDate2 = flatbizDate.dateNormalize(date2);\n return [dayjs(newDate1), dayjs(newDate2)];\n }\n return undefined;\n }, [date1, date2]) as [Dayjs, Dayjs];\n\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime === true) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((dates, dateStrings) => {\n if (dates && dates[0] && dates[1]) {\n onChange?.(dateStrings);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n\n if (!maxDays || (!dates?.[0] && !dates?.[1])) {\n return false;\n }\n\n const tooLate = dates?.[0] && current.diff(dates[0], 'days') > maxDays - 1;\n const tooEarly = dates?.[1] && dates[1].diff(current, 'days') > maxDays - 1;\n return !!tooEarly || !!tooLate;\n });\n\n const onOpenChange = (open: boolean) => {\n if (maxDays && maxDays > 0) {\n if (open) {\n setHackValue([null, null]);\n setDates([null, null]);\n } else {\n setHackValue(null);\n }\n }\n onAntdOpenChange?.(open);\n };\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || dayjs(date1 || new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker.RangePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={hackValue || rangePickerValue}\n onChange={onChangeDate}\n onOpenChange={onOpenChange}\n onCalendarChange={(val) => setDates(val as RangeValue)}\n />\n );\n};\n"],"names":["DateRangePickerWrapper","props","value","onChange","style","format","onAntdOpenChange","onOpenChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","maxDays","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","_useState","useState","dates","setDates","_useState2","hackValue","setHackValue","_ref2","date1","date2","rangePickerValue","useMemo","newDate1","flatbizDate","dateNormalize","newDate2","customFormat","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","dateStrings","getDisabledDate","current","currentDate","in","gte","tooLate","diff","tooEarly","open","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","RangePicker","_extends","disabledDate","disabledTime","width","onCalendarChange","val"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-picker-wrapper-fb15c592.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper/date-range-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport { useMemo, useState } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DateRangePickerWrapperProps = Omit<\n RangePickerDateProps<Dayjs>,\n 'value' | 'onChange' | 'onCalendarChange' | 'disabledDate' | 'format'\n> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n /**\n * 1. minDate、maxDate 与 format格式相同;默认:YYYY-MM-DD\n * 2. maxDays 最大可选的天数\n */\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n maxDays?: number;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsDateType;\n};\n\ntype RangeValue = [Dayjs | null, Dayjs | null] | null;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss;其他格式化类型自定义format\n * 4. 可设置disabledDateConfig,来控制日期项的disbaled状态\n * 5. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 6. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n *\n * TODO: 引用DatePicker.RangePicker TS有问题,待解决\n * TODO: 存在场景缺陷,当设置maxDays、showTime后,在选择单个日期不通过确认按钮直接切换输入框,无法获取回调,无法约束disabledDate\n * ```\n */\nexport const DateRangePickerWrapper = (props: DateRangePickerWrapperProps) => {\n const { value, onChange, style, format, onOpenChange: onAntdOpenChange, ...otherProps } = props;\n const { maxDays, minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n\n const [dates, setDates] = useState<RangeValue>(null);\n const [hackValue, setHackValue] = useState<RangeValue>(null);\n\n const [date1, date2] = value || [];\n const rangePickerValue = useMemo(() => {\n if (date1 && date2) {\n const newDate1 = flatbizDate.dateNormalize(date1);\n const newDate2 = flatbizDate.dateNormalize(date2);\n return [dayjs(newDate1), dayjs(newDate2)];\n }\n return undefined;\n }, [date1, date2]) as [Dayjs, Dayjs];\n\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime === true) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((dates, dateStrings) => {\n if (dates && dates[0] && dates[1]) {\n onChange?.(dateStrings);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n\n if (!maxDays || (!dates?.[0] && !dates?.[1])) {\n return false;\n }\n\n const tooLate = dates?.[0] && current.diff(dates[0], 'days') > maxDays - 1;\n const tooEarly = dates?.[1] && dates[1].diff(current, 'days') > maxDays - 1;\n return !!tooEarly || !!tooLate;\n });\n\n const onOpenChange = (open: boolean) => {\n if (maxDays && maxDays > 0) {\n if (open) {\n setHackValue([null, null]);\n setDates([null, null]);\n } else {\n setHackValue(null);\n }\n }\n onAntdOpenChange?.(open);\n };\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || dayjs(date1 || new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker.RangePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={hackValue || rangePickerValue}\n onChange={onChangeDate}\n onOpenChange={onOpenChange}\n onCalendarChange={(val) => setDates(val as RangeValue)}\n />\n );\n};\n"],"names":["DateRangePickerWrapper","props","value","onChange","style","format","onAntdOpenChange","onOpenChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","maxDays","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","_useState","useState","dates","setDates","_useState2","hackValue","setHackValue","_ref2","date1","date2","rangePickerValue","useMemo","newDate1","flatbizDate","dateNormalize","newDate2","customFormat","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","dateStrings","getDisabledDate","current","currentDate","in","gte","tooLate","diff","tooEarly","open","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","RangePicker","_extends","disabledDate","disabledTime","width","onCalendarChange","val"],"mappings":"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"}
@@ -4,5 +4,5 @@ import './../fba-hooks/index.css';
4
4
  import './../types/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
- import{_ as e,a as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{Form as o,Input as t}from"antd";import{useMemo as i,useRef as l,forwardRef as u,useImperativeHandle as s}from"react";import{D as m}from"../date-range-picker-wrapper-d22d0f60.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{jsxs as c,Fragment as d,jsx as f}from"react/jsx-runtime";import"@flatbiz/utils";import"dayjs";import"../time-2782aa9b.js";import"../use-responsive-point-21b8c601.js";var p=["startName","endName","formListName","dateRangePickerWrapperProps"];var h=function t(u){var s=u.startName,h=u.endName,C=u.formListName,_=u.dateRangePickerWrapperProps,j=e(u,p);var P=o.useFormInstance();var k=i((function(){if(a(s)&&a(h)){return s.slice(0,s.length-1).concat("__#invalid_date_"+s[s.length-1]+"_"+h[h.length-1])}return"__#invalid_date_"+s+"_"+h}),[s,h]);var N=i((function(){return C?[].concat(C,s):s}),[s,C]);var b=i((function(){return C?[].concat(C,h):h}),[h,C]);var F=o.useWatch(N,P);var I=o.useWatch(b,P);var W=v.usePrevious(F);var x=v.usePrevious(I);v.useEffectCustom((function(){var e=C?[].concat(C,k):k;if(F&&I){P.setFields([{name:e,value:[F,I]}])}if(W&&x&&!F&&!I){P.setFields([{name:e,value:undefined}])}}),[F,I]);var R=l(null);var w=l(null);var y=r.useCallbackRef((function(e){var n,r;P.setFields([{name:N,value:e==null?void 0:e[0]},{name:b,value:e==null?void 0:e[1]}]);(n=R.current)==null?void 0:n.onChange==null?void 0:n.onChange(e==null?void 0:e[0]);(r=w.current)==null?void 0:r.onChange==null?void 0:r.onChange(e==null?void 0:e[1]);_==null?void 0:_.onChange==null?void 0:_.onChange(e)}));return c(d,{children:[f(o.Item,{name:s,hidden:true,children:f(g,{ref:R})}),f(o.Item,{name:h,hidden:true,children:f(g,{ref:w})}),f(o.Item,n({},j,{name:k,children:f(m,n({},_,{onChange:y}))}))]})};var g=u((function(e,n){s(n,(function(){return{onChange:function n(r){e.onChange==null?void 0:e.onChange(r)}}}));return f(t,{value:e.value})}));export{h as DateRangePickerWrapperFormItem};
7
+ import{_ as e,a as n}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{Form as o,Input as t}from"antd";import{useMemo as i,useRef as l,forwardRef as u,useImperativeHandle as s}from"react";import{D as m}from"../date-range-picker-wrapper-fb15c592.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{jsxs as c,Fragment as d,jsx as f}from"react/jsx-runtime";import"@flatbiz/utils";import"dayjs";import"../time-53b3f55f.js";import"../use-responsive-point-21b8c601.js";var p=["startName","endName","formListName","dateRangePickerWrapperProps"];var h=function t(u){var s=u.startName,h=u.endName,C=u.formListName,_=u.dateRangePickerWrapperProps,j=e(u,p);var P=o.useFormInstance();var k=i((function(){if(a(s)&&a(h)){return s.slice(0,s.length-1).concat("__#invalid_date_"+s[s.length-1]+"_"+h[h.length-1])}return"__#invalid_date_"+s+"_"+h}),[s,h]);var N=i((function(){return C?[].concat(C,s):s}),[s,C]);var b=i((function(){return C?[].concat(C,h):h}),[h,C]);var F=o.useWatch(N,P);var I=o.useWatch(b,P);var W=v.usePrevious(F);var x=v.usePrevious(I);v.useEffectCustom((function(){var e=C?[].concat(C,k):k;if(F&&I){P.setFields([{name:e,value:[F,I]}])}if(W&&x&&!F&&!I){P.setFields([{name:e,value:undefined}])}}),[F,I]);var R=l(null);var w=l(null);var y=r.useCallbackRef((function(e){var n,r;P.setFields([{name:N,value:e==null?void 0:e[0]},{name:b,value:e==null?void 0:e[1]}]);(n=R.current)==null?void 0:n.onChange==null?void 0:n.onChange(e==null?void 0:e[0]);(r=w.current)==null?void 0:r.onChange==null?void 0:r.onChange(e==null?void 0:e[1]);_==null?void 0:_.onChange==null?void 0:_.onChange(e)}));return c(d,{children:[f(o.Item,{name:s,hidden:true,children:f(g,{ref:R})}),f(o.Item,{name:h,hidden:true,children:f(g,{ref:w})}),f(o.Item,n({},j,{name:k,children:f(m,n({},_,{onChange:y}))}))]})};var g=u((function(e,n){s(n,(function(){return{onChange:function n(r){e.onChange==null?void 0:e.onChange(r)}}}));return f(t,{value:e.value})}));export{h as DateRangePickerWrapperFormItem};
8
8
  //# sourceMappingURL=index.js.map
@@ -7,5 +7,5 @@ import './../fba-hooks/index.css';
7
7
  import './../fba-utils/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{a as i}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{d as o}from"../dialog-confirm-4b387b9b.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";var r={open:function r(t){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},t,{onOk:t.onClick}))}};export{r as dialogAlert};
10
+ import{a as i}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{d as o}from"../dialog-confirm-b289f5ed.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-225b0fe0.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";var r={open:function r(t){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},t,{onOk:t.onClick}))}};export{r as dialogAlert};
11
11
  //# sourceMappingURL=index.js.map
@@ -6,5 +6,5 @@ import './../fba-hooks/index.css';
6
6
  import './../fba-utils/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- export{d as dialogConfirm}from"../dialog-confirm-4b387b9b.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";
9
+ export{d as dialogConfirm}from"../dialog-confirm-b289f5ed.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal-225b0fe0.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{d as o}from"./dialog-modal-8568caf2.js";var e={open:function e(l){var r=s("v-dialog-confirm",l.className);return o.open(a({width:350,okText:"确定",cancelText:"取消",maskClosable:true},l,{className:r}))}};export{e as d};
3
- //# sourceMappingURL=dialog-confirm-4b387b9b.js.map
2
+ import{a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{d as o}from"./dialog-modal-225b0fe0.js";var e={open:function e(l){var r=s("v-dialog-confirm",l.className);return o.open(a({width:350,okText:"确定",cancelText:"取消",maskClosable:true},l,{className:r}))}};export{e as d};
3
+ //# sourceMappingURL=dialog-confirm-b289f5ed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-confirm-4b387b9b.js","sources":["@flatbiz/antd/src/dialog-confirm/dialog-confirm.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dialogModal, DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport const dialogConfirm = {\n open: (props: DialogModalProps) => {\n const className = classNames('v-dialog-confirm', props.className);\n return dialogModal.open({\n width: 350,\n okText: '确定',\n cancelText: '取消',\n maskClosable: true,\n ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable"],"mappings":";gKAIO,IAAMA,EAAgB,CAC3BC,KAAM,SAAAA,EAACC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,MACXR,EAAK,CACRC,UAAAA,IAEJ"}
1
+ {"version":3,"file":"dialog-confirm-b289f5ed.js","sources":["@flatbiz/antd/src/dialog-confirm/dialog-confirm.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dialogModal, DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport const dialogConfirm = {\n open: (props: DialogModalProps) => {\n const className = classNames('v-dialog-confirm', props.className);\n return dialogModal.open({\n width: 350,\n okText: '确定',\n cancelText: '取消',\n maskClosable: true,\n ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable"],"mappings":";gKAIO,IAAMA,EAAgB,CAC3BC,KAAM,SAAAA,EAACC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,MACXR,EAAK,CACRC,UAAAA,IAEJ"}
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
5
5
  import './../fba-utils/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as s}from"react-dom/client";import{B as c}from"../button-wrapper-6441881c.js";import{C as m}from"../config-provider-wrapper-dfe8f592.js";import{fbaHooks as p}from"../fba-hooks/index.js";import{b as u}from"../dom-4d04aa64.js";import{jsx as f,jsxs as v}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../fba-utils-1e895394.js";import"@dimjs/lang/cjs/is-array";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"../use-responsive-point-21b8c601.js";var j=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden"];var w=function e(s){var u=s.divElement,w=s.elementId,g=s.onOk,h=s.onCancel,k=s.content,y=s.configProviderProps,C=s.okText,x=s.cancelText,P=s.okButtonExtraProps,_=s.cancelButtonExtraProps,b=s.operatePosition,E=b===void 0?"footer":b,B=s.operateRender,I=s.width,H=I===void 0?600:I,O=s.okHidden,R=s.cancelHidden,T=o(s,j);var z=d(true),F=z[0],S=z[1];var W=i.useForm(),Y=W[0];var D=t.useCallbackRef((function(){try{delete window[w]}catch(e){}S(false)}));p.useEffectCustom((function(){window[w]=D}),[D]);var L=t.useCallbackRef((function(e){if(h){var r=h(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var N=t.useCallbackRef((function(e){if(g){var r=g(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var U=v(a,{children:[R||_!=null&&_.hidden?null:f(c,r({},_,{onClick:L,children:x||"取消"})),O||P!=null&&P.hidden?null:f(c,r({type:"primary"},P,{onClick:N,children:C||"提交"}))]});var q=function e(){if(B){return B(Y)}if(!O||!R){return U}return null};return f(m,r({},y,{children:f(l,r({maskClosable:true,destroyOnClose:true,onClose:D,width:"80%",contentWrapperStyle:{maxWidth:H},extra:E==="header"?q():null,footer:E==="footer"?q():null},T,{open:F,getContainer:u,children:typeof k==="function"?k(Y,{onClose:D}):k}))}))};var g={open:function e(o){var n=u(),t=n.divElement,i=n.elementId;window["__dialog_drawer_elementId"]=i;var a=s(t);a.render(f(w,r({},o,{divElement:t,elementId:i})));return{close:function e(){var r,o;(r=(o=window)[i])==null?void 0:r.call(o)}}},close:function r(){try{var o,n;var t=window["__dialog_drawer_elementId"];if(e(t))(o=(n=window)[t])==null?void 0:o.call(n)}catch(e){}}};export{g as dialogDrawer};
8
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as s}from"react-dom/client";import{B as c}from"../button-wrapper-c63ea6fc.js";import{C as m}from"../config-provider-wrapper-dfe8f592.js";import{fbaHooks as p}from"../fba-hooks/index.js";import{b as u}from"../dom-4d04aa64.js";import{jsx as f,jsxs as v}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../fba-utils-1e895394.js";import"@dimjs/lang/cjs/is-array";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"../use-responsive-point-21b8c601.js";var j=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden"];var w=function e(s){var u=s.divElement,w=s.elementId,g=s.onOk,h=s.onCancel,k=s.content,y=s.configProviderProps,C=s.okText,x=s.cancelText,P=s.okButtonExtraProps,_=s.cancelButtonExtraProps,b=s.operatePosition,E=b===void 0?"footer":b,B=s.operateRender,I=s.width,H=I===void 0?600:I,O=s.okHidden,R=s.cancelHidden,T=o(s,j);var z=d(true),F=z[0],S=z[1];var W=i.useForm(),Y=W[0];var D=t.useCallbackRef((function(){try{delete window[w]}catch(e){}S(false)}));p.useEffectCustom((function(){window[w]=D}),[D]);var L=t.useCallbackRef((function(e){if(h){var r=h(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var N=t.useCallbackRef((function(e){if(g){var r=g(Y,e);if(r&&n(r)){return r.then(D)}}return D()}));var U=v(a,{children:[R||_!=null&&_.hidden?null:f(c,r({},_,{onClick:L,children:x||"取消"})),O||P!=null&&P.hidden?null:f(c,r({type:"primary"},P,{onClick:N,children:C||"提交"}))]});var q=function e(){if(B){return B(Y)}if(!O||!R){return U}return null};return f(m,r({},y,{children:f(l,r({maskClosable:true,destroyOnClose:true,onClose:D,width:"80%",contentWrapperStyle:{maxWidth:H},extra:E==="header"?q():null,footer:E==="footer"?q():null},T,{open:F,getContainer:u,children:typeof k==="function"?k(Y,{onClose:D}):k}))}))};var g={open:function e(o){var n=u(),t=n.divElement,i=n.elementId;window["__dialog_drawer_elementId"]=i;var a=s(t);a.render(f(w,r({},o,{divElement:t,elementId:i})));return{close:function e(){var r,o;(r=(o=window)[i])==null?void 0:r.call(o)}}},close:function r(){try{var o,n;var t=window["__dialog_drawer_elementId"];if(e(t))(o=(n=window)[t])==null?void 0:o.call(n)}catch(e){}}};export{g as dialogDrawer};
9
9
  //# sourceMappingURL=index.js.map
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as a}from"@wove/react/cjs/hooks";import{theme as l,Modal as n}from"antd";import{useState as i}from"react";import{createRoot as t}from"react-dom/client";import{fbaHooks as s}from"../fba-hooks/index.js";import{b as d,r as m}from"../dom-4d04aa64.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var v=function e(o){var t=o.elementId;var d=l.useToken(),v=d.token;var u=v.colorPrimary;var p=i(true),g=p[0],w=p[1];var j=a.useCallbackRef((function(){try{delete window[t]}catch(e){}w(false)}));s.useEffectCustom((function(){window[t]=j}),[j]);var _=a.useCallbackRef((function(){m("#"+t)}));return c(n,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",o.className),open:g,afterClose:_,getContainer:o.divElement,footer:null,closable:false,style:{"--v-loading-color":u},children:c("div",{className:r("v-dialog-loading-content"),children:f("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:o.message||"处理中"})]})})})};var u={open:function e(r){var a=d(),l=a.divElement,n=a.elementId;window["__dialog_loading_elementId"]=n;var i=t(l);i.render(c(v,o({},r,{divElement:l,elementId:n})));return{close:function e(){var o,r;(o=(r=window)[n])==null?void 0:o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null?void 0:r.call(a)}catch(e){}}};export{u as dialogLoading};
5
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as o}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as a}from"@wove/react/cjs/hooks";import{theme as l,Modal as n}from"antd";import{useState as i}from"react";import{createRoot as s}from"react-dom/client";import{fbaHooks as t}from"../fba-hooks/index.js";import{b as m,r as d}from"../dom-4d04aa64.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var v=function e(o){var s=o.elementId,m=o.className,v=o.divElement,u=o.message,p=o.mask;var g=l.useToken(),w=g.token;var j=w.colorPrimary;var k=i(true),_=k[0],h=k[1];var b=a.useCallbackRef((function(){try{delete window[s]}catch(e){}h(false)}));t.useEffectCustom((function(){window[s]=b}),[b]);var C=a.useCallbackRef((function(){d("#"+s)}));return c(n,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",m),open:_,afterClose:C,getContainer:v,footer:null,closable:false,style:{"--v-loading-color":j},mask:p,children:c("div",{className:r("v-dialog-loading-content"),children:f("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:u||"处理中"})]})})})};var u={open:function e(r){var a=m(),l=a.divElement,n=a.elementId;window["__dialog_loading_elementId"]=n;var i=s(l);i.render(c(v,o({},r,{divElement:l,elementId:n,mask:r==null?void 0:r.mask})));return{close:function e(){var o,r;(o=(r=window)[n])==null?void 0:o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null?void 0:r.call(a)}catch(e){}}};export{u as dialogLoading};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-loading/dialog-loading.tsx"],"sourcesContent":["import { isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogLoadingProps = {\n className?: string;\n message?: string;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogLoadingProps) => {\n const elementId = props.elementId;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n const [open, setOpen] = useState(true);\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n });\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('v-dialog-loading', props.className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={props.divElement}\n footer={null}\n // width={120}\n closable={false}\n style={{ '--v-loading-color': colorPrimary } as CSSProperties}\n >\n <div className={classNames('v-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{props.message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n\nexport const dialogLoading = {\n open: (props?: DialogLoadingProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_loading_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_loading_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","elementId","_theme$useToken","theme","useToken","token","colorPrimary","_useState","useState","open","setOpen","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onAfterClose","removeBodyChild","_jsx","Modal","maskClosable","centered","destroyOnClose","className","_classNames","afterClose","getContainer","divElement","footer","closable","style","children","_jsxs","message","dialogLoading","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","_extends","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":";+iBAeA,IAAMA,EAAc,SAAdA,EAAeC,GACnB,IAAMC,EAAYD,EAAMC,UACxB,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAMI,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOb,EACf,CAAC,MAAOc,GACP,CAEFL,EAAQ,MACV,IAEAM,EAASC,iBAAgB,WACvBH,OAAOb,GAAaU,CACtB,GAAG,CAACA,IAEJ,IAAMO,EAAeN,EAAMC,gBAAe,WACxCM,EAAe,IAAKlB,EACtB,IAEA,OACEmB,EAACC,EAAK,CACJC,aAAc,MACdC,SAAU,KACVC,eAAc,KACdC,UAAWC,EAAW,mBAAoB1B,EAAMyB,WAChDhB,KAAMA,EACNkB,WAAYT,EACZU,aAAc5B,EAAM6B,WACpBC,OAAQ,KAERC,SAAU,MACVC,MAAO,CAAE,oBAAqB1B,GAAgC2B,SAE9Db,EAAA,MAAA,CAAKK,UAAWC,EAAW,4BAA4BO,SACrDC,EAAA,MAAA,CAAKT,UAAU,iBAAgBQ,UAC7Bb,EAAA,MAAA,CAAKK,UAAU,iBACfL,EAAA,MAAA,CAAKK,UAAU,cAAaQ,SAAEjC,EAAMmC,SAAW,cAKzD,EAEO,IAAMC,EAAgB,CAC3B3B,KAAM,SAAAA,EAACT,GACL,IAAAqC,EAAkCC,IAA1BT,EAAUQ,EAAVR,WAAY5B,EAASoC,EAATpC,UACpBa,OAAO,8BAAgCb,EACvC,IAAMsC,EAAOC,EAAWX,GACxBU,EAAKE,OAAOrB,EAACrB,EAAW2C,EAAA,CAAA,EAAK1C,EAAK,CAAE6B,WAAYA,EAAY5B,UAAWA,MACvE,MAAO,CACL0C,MAAO,SAAAA,IAAM,IAAAC,EAAAC,GACXD,GAAAC,EAAA/B,QAAOb,KAAU,UAAA,EAAjB2C,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAAA,IACL,IAAI,IAAAI,EAAAC,EACF,IAAM/C,EAAYa,OAAO,8BACzB,GAAImC,EAAShD,IAAY8C,GAAAC,EAAAlC,QAAOb,KAAP8C,UAAAA,EAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAOjC,GACP,CAEJ"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-loading/dialog-loading.tsx"],"sourcesContent":["import { isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogLoadingProps) => {\n const { elementId, className, divElement, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n const [open, setOpen] = useState(true);\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n });\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('v-dialog-loading', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={null}\n closable={false}\n style={{ '--v-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('v-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n\nexport const dialogLoading = {\n open: (props?: DialogLoadingProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_loading_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} mask={props?.mask} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_loading_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","elementId","className","divElement","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","_useState","useState","open","setOpen","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onAfterClose","removeBodyChild","_jsx","Modal","maskClosable","centered","destroyOnClose","_classNames","afterClose","getContainer","footer","closable","style","children","_jsxs","dialogLoading","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","_extends","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":";+iBAgBA,IAAMA,EAAc,SAAdA,EAAeC,GACnB,IAAQC,EAAoDD,EAApDC,UAAWC,EAAyCF,EAAzCE,UAAWC,EAA8BH,EAA9BG,WAAYC,EAAkBJ,EAAlBI,QAASC,EAASL,EAATK,KACnD,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAMI,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOjB,EACf,CAAC,MAAOkB,GACP,CAEFL,EAAQ,MACV,IAEAM,EAASC,iBAAgB,WACvBH,OAAOjB,GAAac,CACtB,GAAG,CAACA,IAEJ,IAAMO,EAAeN,EAAMC,gBAAe,WACxCM,EAAe,IAAKtB,EACtB,IAEA,OACEuB,EAACC,EAAK,CACJC,aAAc,MACdC,SAAU,KACVC,eAAc,KACd1B,UAAW2B,EAAW,mBAAoB3B,GAC1CW,KAAMA,EACNiB,WAAYR,EACZS,aAAc5B,EACd6B,OAAQ,KACRC,SAAU,MACVC,MAAO,CAAE,oBAAqBxB,GAC9BL,KAAMA,EAAK8B,SAEXX,EAAA,MAAA,CAAKtB,UAAW2B,EAAW,4BAA4BM,SACrDC,EAAA,MAAA,CAAKlC,UAAU,iBAAgBiC,UAC7BX,EAAA,MAAA,CAAKtB,UAAU,iBACfsB,EAAA,MAAA,CAAKtB,UAAU,cAAaiC,SAAE/B,GAAW,cAKnD,EAEO,IAAMiC,EAAgB,CAC3BxB,KAAM,SAAAA,EAACb,GACL,IAAAsC,EAAkCC,IAA1BpC,EAAUmC,EAAVnC,WAAYF,EAASqC,EAATrC,UACpBiB,OAAO,8BAAgCjB,EACvC,IAAMuC,EAAOC,EAAWtC,GACxBqC,EAAKE,OAAOlB,EAACzB,EAAW4C,EAAA,CAAA,EAAK3C,EAAK,CAAEG,WAAYA,EAAYF,UAAWA,EAAWI,KAAML,GAAAA,UAAAA,EAAAA,EAAOK,SAC/F,MAAO,CACLuC,MAAO,SAAAA,IAAM,IAAAC,EAAAC,GACXD,GAAAC,EAAA5B,QAAOjB,KAAU,UAAA,EAAjB4C,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAAA,IACL,IAAI,IAAAI,EAAAC,EACF,IAAMhD,EAAYiB,OAAO,8BACzB,GAAIgC,EAASjD,IAAY+C,GAAAC,EAAA/B,QAAOjB,KAAP+C,UAAAA,EAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAO9B,GACP,CAEJ"}
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
5
5
  import './../fba-utils/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- export{d as dialogModal}from"../dialog-modal-8568caf2.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/utils/cjs/class-names";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";
8
+ export{d as dialogModal}from"../dialog-modal-225b0fe0.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/utils/cjs/class-names";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";import"../dom-4d04aa64.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Form as i,Modal as l}from"antd";import{useState as c}from"react";import{createRoot as s}from"react-dom/client";import{B as d}from"./button-wrapper-6441881c.js";import{C as m}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as f}from"./fba-hooks/index.js";import{b as u,r as p}from"./dom-4d04aa64.js";import{jsx as v}from"react/jsx-runtime";var C=["divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText"];var k=function e(s){var u=s.divElement,k=s.elementId,w=s.onOk,j=s.onCancel,h=s.okButtonProps,g=s.cancelButtonProps,_=s.content,b=s.configProviderProps,P=s.className,x=s.okHidden,y=s.cancelHidden,B=s.footer,I=s.cancelText,E=s.okText,H=n(s,C);var R=c(true),T=R[0],N=R[1];var O=i.useForm(),F=O[0];var q=a.useCallbackRef((function(){try{delete window[k]}catch(e){}N(false)}));f.useEffectCustom((function(){window[k]=q}),[q]);var z=a.useCallbackRef((function(e){if(j){var o=j(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var A=a.useCallbackRef((function(e){if(w){var o=w(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var D=a.useCallbackRef((function(){p("#"+k);s.afterClose==null?void 0:s.afterClose()}));var G=[v(d,r({},g,{onClick:z,hidden:y,children:I||"取消"}),"0"),v(d,r({type:"primary"},h,{onClick:A,hidden:x,children:E||"提交"}),"1")];var J=B||G;return v(m,r({},b,{children:v(l,r({maskClosable:true,centered:true,onCancel:q,destroyOnClose:true},H,{className:o("v-dialog-modal",P),open:T,afterClose:D,getContainer:u,footer:J,children:typeof _==="function"?_(F,{onClose:q}):_}))}))};var w={open:function e(o){var n=u(),t=n.divElement,a=n.elementId;window["__dialog_modal_elementId"]=a;var i=s(t);i.render(v(k,r({},o,{divElement:t,elementId:a})));return{close:function e(){var o,r;(o=(r=window)[a])==null?void 0:o.call(r)}}},close:function o(){try{var r,n;var t=window["__dialog_modal_elementId"];if(e(t))(r=(n=window)[t])==null?void 0:r.call(n)}catch(e){}}};export{w as d};
3
- //# sourceMappingURL=dialog-modal-8568caf2.js.map
2
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Form as i,Modal as l}from"antd";import{useState as c}from"react";import{createRoot as s}from"react-dom/client";import{B as d}from"./button-wrapper-c63ea6fc.js";import{C as m}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as f}from"./fba-hooks/index.js";import{b as u,r as p}from"./dom-4d04aa64.js";import{jsx as v}from"react/jsx-runtime";var C=["divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText"];var k=function e(s){var u=s.divElement,k=s.elementId,w=s.onOk,j=s.onCancel,h=s.okButtonProps,g=s.cancelButtonProps,_=s.content,b=s.configProviderProps,P=s.className,x=s.okHidden,y=s.cancelHidden,B=s.footer,I=s.cancelText,E=s.okText,H=n(s,C);var R=c(true),T=R[0],N=R[1];var O=i.useForm(),F=O[0];var q=a.useCallbackRef((function(){try{delete window[k]}catch(e){}N(false)}));f.useEffectCustom((function(){window[k]=q}),[q]);var z=a.useCallbackRef((function(e){if(j){var o=j(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var A=a.useCallbackRef((function(e){if(w){var o=w(F,e);if(o&&t(o)){return o.then(q)}}return q()}));var D=a.useCallbackRef((function(){p("#"+k);s.afterClose==null?void 0:s.afterClose()}));var G=[v(d,r({},g,{onClick:z,hidden:y,children:I||"取消"}),"0"),v(d,r({type:"primary"},h,{onClick:A,hidden:x,children:E||"提交"}),"1")];var J=B||G;return v(m,r({},b,{children:v(l,r({maskClosable:true,centered:true,onCancel:q,destroyOnClose:true},H,{className:o("v-dialog-modal",P),open:T,afterClose:D,getContainer:u,footer:J,children:typeof _==="function"?_(F,{onClose:q}):_}))}))};var w={open:function e(o){var n=u(),t=n.divElement,a=n.elementId;window["__dialog_modal_elementId"]=a;var i=s(t);i.render(v(k,r({},o,{divElement:t,elementId:a})));return{close:function e(){var o,r;(o=(r=window)[a])==null?void 0:o.call(r)}}},close:function o(){try{var r,n;var t=window["__dialog_modal_elementId"];if(e(t))(r=(n=window)[t])==null?void 0:r.call(n)}catch(e){}}};export{w as d};
3
+ //# sourceMappingURL=dialog-modal-225b0fe0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-modal-8568caf2.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n className={classNames('v-dialog-modal', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 函数式调用弹框;初始化后,内容无法更新\n *```\n * 1. 基础使用方式\n * dialogModal.open({\n * title: '我是弹框',\n * content: <div>我是内容</div>,\n * });\n * ```\n * ```\n * ***************************\n * 2. 结合内置form使用,可在onOK、onCancel获取form对象\n * dialogModal.open({\n * title: '我是弹框',\n * content: (form, operate) => {\n * return (\n * <Form form={form}>\n * <Form.Item name=\"useName\">\n * <Input placeholder=\"请输入\" />\n * </Form.Item>\n * </Form>\n * );\n * },\n * onOK: (form) => {\n * console.log('content form数据', form.getFieldsValue());\n * return Promise.resolve();\n * },\n * });\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","ConfigProviderWrapper","Modal","maskClosable","centered","destroyOnClose","_classNames","getContainer","dialogModal","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
1
+ {"version":3,"file":"dialog-modal-225b0fe0.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n className={classNames('v-dialog-modal', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 函数式调用弹框;初始化后,内容无法更新\n *```\n * 1. 基础使用方式\n * dialogModal.open({\n * title: '我是弹框',\n * content: <div>我是内容</div>,\n * });\n * ```\n * ```\n * ***************************\n * 2. 结合内置form使用,可在onOK、onCancel获取form对象\n * dialogModal.open({\n * title: '我是弹框',\n * content: (form, operate) => {\n * return (\n * <Form form={form}>\n * <Form.Item name=\"useName\">\n * <Input placeholder=\"请输入\" />\n * </Form.Item>\n * </Form>\n * );\n * },\n * onOK: (form) => {\n * console.log('content form数据', form.getFieldsValue());\n * return Promise.resolve();\n * },\n * });\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","ConfigProviderWrapper","Modal","maskClosable","centered","destroyOnClose","_classNames","getContainer","dialogModal","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -5,5 +5,5 @@ import './../fba-hooks/index.css';
5
5
  import './../fba-utils/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-bd05860d.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-6441881c.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";
8
+ export{D as DropdownMenuWrapper}from"../dropdown-menu-wrapper-2c4b6cad.js";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"antd";import"react";import"../button-wrapper-c63ea6fc.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"../config-provider-wrapper-dfe8f592.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"react/jsx-runtime";import"../fba-utils-1e895394.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{Popconfirm as i,Dropdown as t}from"antd";import{useState as a,createElement as l,useMemo as s}from"react";import{B as f}from"./button-wrapper-6441881c.js";import{fbaHooks as u}from"./fba-hooks/index.js";import{f as p}from"./fba-utils-1e895394.js";import{jsx as d}from"react/jsx-runtime";function c(e){var o=true;var r=false;while(o){if(e.tagName==="HTML"||e.tagName==="BODY"){o=false;r=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){r=true;o=false}else{if(!e||!e.parentNode){o=false}else{e=e.parentNode}}}}return r}var m=["menuList"],v=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","popconfirmProps"];var g=function g(y){var k=y.menuList,C=e(y,m);var h=a([]),b=h[0],P=h[1];var x=n.useId(undefined,"DropdownMenuWrapper");var w=a({}),j=w[0],N=w[1];var B=n.useCallbackRef((function(e,o){var r;o.stopPropagation();N((r={},r[e]={open:true},r))}));var S=n.useCallbackRef((function(e,n,i){i.stopPropagation();var t=e.onClick==null?void 0:e.onClick(i);if(t&&r(t)){j[n]={loading:true,open:true};N(o({},j));t.finally((function(){j[n]={loading:false,open:false};N(o({},j))}));return}j[n]={loading:false,open:false};N(o({},j))}));var z=n.useCallbackRef((function(e,o){o.stopPropagation();return e.onClick==null?void 0:e.onClick(o)}));u.useEffectCustom((function(){var r=[];k.filter(Boolean).forEach((function(n,t){var a,s;if(!n)return;var u=n.text,c=n.color,m=n.permission,g=n.needConfirm,y=n.confirmMessage,k=n.hidden,C=n.type,h=n.style,b=n.popconfirmProps,P=e(n,v);if(k)return;if(m&&!p.hasPermission(m))return;var x=c?o({color:c},h):h;var w=C||"link";var M={key:t,label:l(f,o({loadingPosition:"center",size:"small"},P,{type:w,style:x,key:t,onClick:z.bind(null,n)}),u)};var T={key:t,label:l(i,o({okText:"确定",cancelText:"取消",trigger:["click"],destroyTooltipOnHide:true},b,{title:y,onConfirm:S.bind(null,n,t),onCancel:function e(o){o==null?void 0:o.stopPropagation();N({})},overlayClassName:"dmw-popconfirm",arrow:true,key:t,overlayStyle:{zIndex:10},open:((a=j[t])==null?void 0:a.open)||false,okButtonProps:{loading:(s=j[t])==null?void 0:s.loading}}),d(f,o({loadingPosition:"center",size:"small",danger:c?false:P.danger},P,{onClick:B.bind(null,t),type:w,style:x,children:u})))};if(g&&!P.disabled){r.push(T)}else{r.push(M)}}));P(r)}),[k,j]);var M=document.querySelector("."+x);var T=s((function(){if(y.isFixed||M&&c(M)){return undefined}return M}),[y.isFixed,M]);return d("div",{className:x,style:{position:"relative"},children:d(t,o({trigger:(C==null?void 0:C.trigger)||["hover"],getPopupContainer:T?function(){return M}:undefined,arrow:{pointAtCenter:true}},C,{overlayStyle:o({zIndex:9},C.overlayStyle),menu:{items:b},onOpenChange:function e(o){if(!o){N({})}},children:y.children}))})};export{g as D};
3
- //# sourceMappingURL=dropdown-menu-wrapper-bd05860d.js.map
2
+ import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as r}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{Popconfirm as i,Dropdown as t}from"antd";import{useState as a,createElement as l,useMemo as s}from"react";import{B as f}from"./button-wrapper-c63ea6fc.js";import{fbaHooks as u}from"./fba-hooks/index.js";import{f as p}from"./fba-utils-1e895394.js";import{jsx as d}from"react/jsx-runtime";function c(e){var o=true;var r=false;while(o){if(e.tagName==="HTML"||e.tagName==="BODY"){o=false;r=false}else{var n=window.getComputedStyle(e),i=n.position;if(i==="sticky"){r=true;o=false}else{if(!e||!e.parentNode){o=false}else{e=e.parentNode}}}}return r}var m=["menuList"],v=["text","color","permission","needConfirm","confirmMessage","hidden","type","style","popconfirmProps"];var g=function g(y){var k=y.menuList,C=e(y,m);var h=a([]),b=h[0],P=h[1];var x=n.useId(undefined,"DropdownMenuWrapper");var w=a({}),j=w[0],N=w[1];var B=n.useCallbackRef((function(e,o){var r;o.stopPropagation();N((r={},r[e]={open:true},r))}));var S=n.useCallbackRef((function(e,n,i){i.stopPropagation();var t=e.onClick==null?void 0:e.onClick(i);if(t&&r(t)){j[n]={loading:true,open:true};N(o({},j));t.finally((function(){j[n]={loading:false,open:false};N(o({},j))}));return}j[n]={loading:false,open:false};N(o({},j))}));var z=n.useCallbackRef((function(e,o){o.stopPropagation();return e.onClick==null?void 0:e.onClick(o)}));u.useEffectCustom((function(){var r=[];k.filter(Boolean).forEach((function(n,t){var a,s;if(!n)return;var u=n.text,c=n.color,m=n.permission,g=n.needConfirm,y=n.confirmMessage,k=n.hidden,C=n.type,h=n.style,b=n.popconfirmProps,P=e(n,v);if(k)return;if(m&&!p.hasPermission(m))return;var x=c?o({color:c},h):h;var w=C||"link";var M={key:t,label:l(f,o({loadingPosition:"center",size:"small"},P,{type:w,style:x,key:t,onClick:z.bind(null,n)}),u)};var T={key:t,label:l(i,o({okText:"确定",cancelText:"取消",trigger:["click"],destroyTooltipOnHide:true},b,{title:y,onConfirm:S.bind(null,n,t),onCancel:function e(o){o==null?void 0:o.stopPropagation();N({})},overlayClassName:"dmw-popconfirm",arrow:true,key:t,overlayStyle:{zIndex:10},open:((a=j[t])==null?void 0:a.open)||false,okButtonProps:{loading:(s=j[t])==null?void 0:s.loading}}),d(f,o({loadingPosition:"center",size:"small",danger:c?false:P.danger},P,{onClick:B.bind(null,t),type:w,style:x,children:u})))};if(g&&!P.disabled){r.push(T)}else{r.push(M)}}));P(r)}),[k,j]);var M=document.querySelector("."+x);var T=s((function(){if(y.isFixed||M&&c(M)){return undefined}return M}),[y.isFixed,M]);return d("div",{className:x,style:{position:"relative"},children:d(t,o({trigger:(C==null?void 0:C.trigger)||["hover"],getPopupContainer:T?function(){return M}:undefined,arrow:{pointAtCenter:true}},C,{overlayStyle:o({zIndex:9},C.overlayStyle),menu:{items:b},onOpenChange:function e(o){if(!o){N({})}},children:y.children}))})};export{g as D};
3
+ //# sourceMappingURL=dropdown-menu-wrapper-2c4b6cad.js.map