@flatbiz/antd 4.5.55 → 4.5.56

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 (242) hide show
  1. package/esm/ace-editor-groovy/index.js +1 -1
  2. package/esm/ace-editor-groovy/index.js.map +1 -1
  3. package/esm/ace-editor-java/index.js +1 -1
  4. package/esm/ace-editor-java/index.js.map +1 -1
  5. package/esm/ace-editor-json/index.js +1 -1
  6. package/esm/ace-editor-json/index.js.map +1 -1
  7. package/esm/ace-editor-mysql/index.js +1 -1
  8. package/esm/ace-editor-mysql/index.js.map +1 -1
  9. package/esm/ace-editor-xml/index.js +1 -1
  10. package/esm/ace-editor-xml/index.js.map +1 -1
  11. package/esm/anchor-steps/index.js +1 -1
  12. package/esm/anchor-steps/index.js.map +1 -1
  13. package/esm/bootstrap/index.js +1 -1
  14. package/esm/bootstrap/index.js.map +1 -1
  15. package/esm/box-grid/index.js +1 -1
  16. package/esm/box-grid/index.js.map +1 -1
  17. package/esm/button-operate/index.js +1 -1
  18. package/esm/button-operate/index.js.map +1 -1
  19. package/esm/button-wrapper/index.js +1 -1
  20. package/esm/button-wrapper/index.js.map +1 -1
  21. package/esm/card-layout/index.js +1 -1
  22. package/esm/card-layout/index.js.map +1 -1
  23. package/esm/cascader-wrapper/index.js +1 -1
  24. package/esm/cascader-wrapper/index.js.map +1 -1
  25. package/esm/check-list/index.js +1 -1
  26. package/esm/check-list/index.js.map +1 -1
  27. package/esm/checkbox-wrapper/index.js +1 -1
  28. package/esm/checkbox-wrapper/index.js.map +1 -1
  29. package/esm/code-render/index.css +1 -0
  30. package/esm/code-render/index.js +5 -0
  31. package/esm/code-render/index.js.map +1 -0
  32. package/esm/color-picker-wrapper/index.css +1 -1
  33. package/esm/color-picker-wrapper/index.js +1 -1
  34. package/esm/color-picker-wrapper/index.js.map +1 -1
  35. package/esm/config-provider-wrapper/index.js +1 -1
  36. package/esm/copy-wrapper/index.js +1 -1
  37. package/esm/copy-wrapper/index.js.map +1 -1
  38. package/esm/date-picker-wrapper/index.js +1 -1
  39. package/esm/date-picker-wrapper/index.js.map +1 -1
  40. package/esm/date-range-picker-wrapper/index.js +1 -1
  41. package/esm/date-range-picker-wrapper/index.js.map +1 -1
  42. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  43. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  44. package/esm/delete-node/index.js +1 -1
  45. package/esm/delete-node/index.js.map +1 -1
  46. package/esm/dialog-alert/index.js +1 -1
  47. package/esm/dialog-confirm/index.js +1 -1
  48. package/esm/dialog-drag-modal/index.js +1 -1
  49. package/esm/dialog-drag-modal/index.js.map +1 -1
  50. package/esm/dialog-drawer/index.js +1 -1
  51. package/esm/dialog-drawer/index.js.map +1 -1
  52. package/esm/dialog-drawer-content/index.js +1 -1
  53. package/esm/dialog-drawer-content/index.js.map +1 -1
  54. package/esm/dialog-loading/index.js +1 -1
  55. package/esm/dialog-loading/index.js.map +1 -1
  56. package/esm/dialog-modal/index.js +1 -1
  57. package/esm/dialog-modal/index.js.map +1 -1
  58. package/esm/dialog-preview-image/index.js +1 -1
  59. package/esm/dialog-preview-image/index.js.map +1 -1
  60. package/esm/drag-collapse/index.js +1 -1
  61. package/esm/drag-collapse/index.js.map +1 -1
  62. package/esm/drag-collapse-form-list/index.js +1 -1
  63. package/esm/drag-collapse-form-list/index.js.map +1 -1
  64. package/esm/drag-editable-card/index.js +1 -1
  65. package/esm/drag-editable-card/index.js.map +1 -1
  66. package/esm/drag-editable-table/index.js +1 -1
  67. package/esm/drag-editable-table/index.js.map +1 -1
  68. package/esm/drag-editable-table-pro/index.js +1 -1
  69. package/esm/drag-editable-table-pro/index.js.map +1 -1
  70. package/esm/drag-form-list/index.js +1 -1
  71. package/esm/drag-form-list/index.js.map +1 -1
  72. package/esm/drag-table/index.js +1 -1
  73. package/esm/drag-table/index.js.map +1 -1
  74. package/esm/drawer-wrapper/index.js +1 -1
  75. package/esm/drawer-wrapper/index.js.map +1 -1
  76. package/esm/dropdown-menu-wrapper/index.js +1 -1
  77. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  78. package/esm/easy-form/index.js +1 -1
  79. package/esm/easy-form/index.js.map +1 -1
  80. package/esm/easy-table/index.js +1 -1
  81. package/esm/easy-table/index.js.map +1 -1
  82. package/esm/editable-card/index.js +1 -1
  83. package/esm/editable-card/index.js.map +1 -1
  84. package/esm/editable-field/index.js +1 -1
  85. package/esm/editable-field/index.js.map +1 -1
  86. package/esm/editable-table/index.js +1 -1
  87. package/esm/editable-table/index.js.map +1 -1
  88. package/esm/editable-table-pro/index.js +1 -1
  89. package/esm/editable-table-pro/index.js.map +1 -1
  90. package/esm/editor-wrapper/index.js +1 -1
  91. package/esm/editor-wrapper/index.js.map +1 -1
  92. package/esm/fba-app/index.js +1 -1
  93. package/esm/fba-app/index.js.map +1 -1
  94. package/esm/fba-hooks/index.js +1 -1
  95. package/esm/fba-hooks/index.js.map +1 -1
  96. package/esm/fba-utils/index.js +1 -1
  97. package/esm/fba-utils/index.js.map +1 -1
  98. package/esm/file-export/index.js +1 -1
  99. package/esm/file-export/index.js.map +1 -1
  100. package/esm/file-import/index.js +1 -1
  101. package/esm/file-import/index.js.map +1 -1
  102. package/esm/file-select/index.js +1 -1
  103. package/esm/file-select/index.js.map +1 -1
  104. package/esm/flex-layout/index.js +1 -1
  105. package/esm/flex-layout/index.js.map +1 -1
  106. package/esm/form-grid/index.js +1 -1
  107. package/esm/form-grid/index.js.map +1 -1
  108. package/esm/form-item-group/index.js +1 -1
  109. package/esm/form-item-group/index.js.map +1 -1
  110. package/esm/form-item-text/index.js +1 -1
  111. package/esm/form-item-text/index.js.map +1 -1
  112. package/esm/form-item-wrapper/index.js +1 -1
  113. package/esm/form-item-wrapper/index.js.map +1 -1
  114. package/esm/form-list-wrapper/index.js +1 -1
  115. package/esm/form-list-wrapper/index.js.map +1 -1
  116. package/esm/form-wrapper/index.js +1 -1
  117. package/esm/form-wrapper/index.js.map +1 -1
  118. package/esm/full-screen/index.js +1 -1
  119. package/esm/full-screen/index.js.map +1 -1
  120. package/esm/icon-wrapper/index.js +1 -1
  121. package/esm/icon-wrapper/index.js.map +1 -1
  122. package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
  123. package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
  124. package/esm/index.js +2 -1
  125. package/esm/input-search-wrapper/index.js +1 -1
  126. package/esm/input-search-wrapper/index.js.map +1 -1
  127. package/esm/input-text-area-wrapper/index.js +1 -1
  128. package/esm/input-text-area-wrapper/index.js.map +1 -1
  129. package/esm/input-wrapper/index.js +1 -1
  130. package/esm/input-wrapper/index.js.map +1 -1
  131. package/esm/json-editor/index.js +1 -1
  132. package/esm/json-editor/index.js.map +1 -1
  133. package/esm/label-value-layout/index.js +1 -1
  134. package/esm/label-value-layout/index.js.map +1 -1
  135. package/esm/label-value-render/index.js +1 -1
  136. package/esm/label-value-render/index.js.map +1 -1
  137. package/esm/local-loading/index.js +1 -1
  138. package/esm/local-loading/index.js.map +1 -1
  139. package/esm/mention-editor/index.js +1 -1
  140. package/esm/mention-editor/index.js.map +1 -1
  141. package/esm/mentions-wrapper/index.js +1 -1
  142. package/esm/mentions-wrapper/index.js.map +1 -1
  143. package/esm/modal-action/index.js +1 -1
  144. package/esm/modal-action/index.js.map +1 -1
  145. package/esm/modal-wrapper/index.js +1 -1
  146. package/esm/modal-wrapper/index.js.map +1 -1
  147. package/esm/number-range-form-item/index.js +1 -1
  148. package/esm/number-range-form-item/index.js.map +1 -1
  149. package/esm/pdf/index.js +1 -1
  150. package/esm/pdf/index.js.map +1 -1
  151. package/esm/pdf-preview/index.js +1 -1
  152. package/esm/pdf-preview/index.js.map +1 -1
  153. package/esm/radio-group-wrapper/index.js +1 -1
  154. package/esm/radio-group-wrapper/index.js.map +1 -1
  155. package/esm/relation-tree/index.js +1 -1
  156. package/esm/relation-tree/index.js.map +1 -1
  157. package/esm/request-status/index.js +1 -1
  158. package/esm/request-status/index.js.map +1 -1
  159. package/esm/resizable-drawer/index.js +1 -1
  160. package/esm/resizable-drawer/index.js.map +1 -1
  161. package/esm/rich-text-editor/index.js +1 -1
  162. package/esm/rich-text-editor/index.js.map +1 -1
  163. package/esm/rich-text-viewer/index.js +1 -1
  164. package/esm/rich-text-viewer/index.js.map +1 -1
  165. package/esm/roll-location-center/index.js +1 -1
  166. package/esm/roll-location-center/index.js.map +1 -1
  167. package/esm/roll-location-in-view/index.js +1 -1
  168. package/esm/roll-location-in-view/index.js.map +1 -1
  169. package/esm/rule-describe/index.js +1 -1
  170. package/esm/rule-describe/index.js.map +1 -1
  171. package/esm/search-form/index.js +1 -1
  172. package/esm/search-form/index.js.map +1 -1
  173. package/esm/search-menu/index.js +1 -1
  174. package/esm/search-menu/index.js.map +1 -1
  175. package/esm/selector-wrapper/index.js +1 -1
  176. package/esm/selector-wrapper/index.js.map +1 -1
  177. package/esm/selector-wrapper-search/index.js +1 -1
  178. package/esm/selector-wrapper-search/index.js.map +1 -1
  179. package/esm/selector-wrapper-simple/index.js +1 -1
  180. package/esm/selector-wrapper-simple/index.js.map +1 -1
  181. package/esm/simple-layout/index.js +1 -1
  182. package/esm/simple-layout/index.js.map +1 -1
  183. package/esm/sms-count-down/index.js +1 -1
  184. package/esm/sms-count-down/index.js.map +1 -1
  185. package/esm/split-wrapper/index.js +1 -1
  186. package/esm/split-wrapper/index.js.map +1 -1
  187. package/esm/styles/index.css +1 -1
  188. package/esm/svg-http-view/index.js +1 -1
  189. package/esm/svg-http-view/index.js.map +1 -1
  190. package/esm/switch-confirm-wrapper/index.js +1 -1
  191. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  192. package/esm/switch-wrapper/index.js +1 -1
  193. package/esm/switch-wrapper/index.js.map +1 -1
  194. package/esm/table-cell-render/index.js +1 -1
  195. package/esm/table-cell-render/index.js.map +1 -1
  196. package/esm/table-scrollbar/index.js +1 -1
  197. package/esm/table-scrollbar/index.js.map +1 -1
  198. package/esm/tabs-sticky/index.js +1 -1
  199. package/esm/tabs-sticky/index.js.map +1 -1
  200. package/esm/tabs-wrapper/index.js +1 -1
  201. package/esm/tabs-wrapper/index.js.map +1 -1
  202. package/esm/tag-group/index.js +1 -1
  203. package/esm/tag-group/index.js.map +1 -1
  204. package/esm/tag-list-render/index.js +1 -1
  205. package/esm/tag-list-render/index.js.map +1 -1
  206. package/esm/tag-list-select/index.js +1 -1
  207. package/esm/tag-list-select/index.js.map +1 -1
  208. package/esm/tag-wrapper/index.js +1 -1
  209. package/esm/tag-wrapper/index.js.map +1 -1
  210. package/esm/text-css-ellipsis/index.js +1 -1
  211. package/esm/text-css-ellipsis/index.js.map +1 -1
  212. package/esm/text-overflow/index.js +1 -1
  213. package/esm/text-overflow/index.js.map +1 -1
  214. package/esm/text-overflow-render/index.js +1 -1
  215. package/esm/text-symbol-wrapper/index.js +1 -1
  216. package/esm/text-symbol-wrapper/index.js.map +1 -1
  217. package/esm/time-ea73b2fb.js +3 -0
  218. package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
  219. package/esm/time-picker-wrapper/index.js +1 -1
  220. package/esm/time-picker-wrapper/index.js.map +1 -1
  221. package/esm/time-range-picker-wrapper/index.js +1 -1
  222. package/esm/time-range-picker-wrapper/index.js.map +1 -1
  223. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  224. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  225. package/esm/tree-modal/index.js +1 -1
  226. package/esm/tree-modal/index.js.map +1 -1
  227. package/esm/tree-modal-selector/index.js +1 -1
  228. package/esm/tree-modal-selector/index.js.map +1 -1
  229. package/esm/tree-selector-wrapper/index.js +1 -1
  230. package/esm/tree-selector-wrapper/index.js.map +1 -1
  231. package/esm/tree-wrapper/index.js +1 -1
  232. package/esm/tree-wrapper/index.js.map +1 -1
  233. package/esm/upload-wrapper/index.js +1 -1
  234. package/esm/upload-wrapper/index.js.map +1 -1
  235. package/esm/use-responsive-point-1e6d93d9.js +3 -0
  236. package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
  237. package/esm/x-mind-preview/index.js +1 -1
  238. package/esm/x-mind-preview/index.js.map +1 -1
  239. package/index.d.ts +43 -4
  240. package/package.json +4 -5
  241. package/esm/time-53b3f55f.js +0 -3
  242. package/esm/use-responsive-point-21b8c601.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/copy-wrapper/copy.tsx"],"sourcesContent":["import { CheckOutlined, CopyOutlined } from '@ant-design/icons';\nimport { Flex, message } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { Fragment, useEffect, useMemo, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\nexport type CopyWrapperProps = {\n copyText: string | (() => string);\n /** 复制后提示消息 */\n copyAfterMsg?: string;\n /** 复制鼠标悬浮提示\n * ```\n * hoverTips={(trigger) => {\n * return trigger ? '复制成功' : '复制数据';\n * }}\n * ```\n */\n hoverTips?: string | ((trigger) => string);\n /** 设置icon后失效 */\n iconStyle?: CSSProperties;\n /** 自定义文本,显示在复制图标前或后 */\n text?: ReactNode;\n\n hiddenTips?: boolean;\n /** 自定义复制icon图标 */\n icon?: ReactNode;\n /** 复制图标位置,text 为空时,此配置无效 */\n iconPosition?: 'left' | 'right';\n};\n\nexport const CopyWrapper = (props: CopyWrapperProps) => {\n const [trigger, setTrigger] = useState(false);\n\n const onClick = () => {\n if (trigger) return;\n setTrigger(true);\n const copyText = typeof props.copyText === 'function' ? props.copyText() : props.copyText;\n copy(copyText);\n if (props.copyAfterMsg) {\n void message.success(props.copyAfterMsg);\n }\n };\n\n useEffect(() => {\n if (trigger) {\n setTimeout(() => {\n setTrigger(false);\n }, 1000);\n }\n }, [trigger]);\n\n const hoverTips = useMemo(() => {\n if (props.hiddenTips) return undefined;\n if (typeof props.hoverTips === 'function') {\n return props.hoverTips(trigger);\n }\n if (props.hoverTips) return props.hoverTips;\n return '复制';\n }, [props, trigger]);\n\n if (!props.text) {\n return (\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n );\n }\n\n return (\n <Flex align=\"center\" gap={5} style={{ alignItems: 'center' }}>\n {props.iconPosition !== 'left' ? <div>{props.text}</div> : null}\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n {props.iconPosition === 'left' ? <div>{props.text}</div> : null}\n </Flex>\n );\n};\n\nCopyWrapper.copy = (text: string) => {\n copy(text);\n};\n"],"names":["CopyWrapper","props","_useState","useState","trigger","setTrigger","onClick","copyText","copy","copyAfterMsg","message","success","useEffect","setTimeout","hoverTips","useMemo","hiddenTips","undefined","text","_jsx","IconWrapper","wrapperStyle","display","_CheckOutlined","style","_extends","color","iconStyle","icon","Fragment","children","_CopyOutlined","size","_jsxs","Flex","align","gap","alignItems","iconPosition"],"mappings":";wfA+BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAU,SAAVA,IACJ,GAAIF,EAAS,OACbC,EAAW,MACX,IAAME,SAAkBN,EAAMM,WAAa,WAAaN,EAAMM,WAAaN,EAAMM,SACjFC,EAAKD,GACL,GAAIN,EAAMQ,aAAc,MACjBC,EAAQC,QAAQV,EAAMQ,aAC7B,GAGFG,GAAU,WACR,GAAIR,EAAS,CACXS,YAAW,WACTR,EAAW,MACZ,GAAE,IACL,CACF,GAAG,CAACD,IAEJ,IAAMU,EAAYC,GAAQ,WACxB,GAAId,EAAMe,WAAY,OAAOC,UAC7B,UAAWhB,EAAMa,YAAc,WAAY,CACzC,OAAOb,EAAMa,UAAUV,EACzB,CACA,GAAIH,EAAMa,UAAW,OAAOb,EAAMa,UAClC,MAAO,IACT,GAAG,CAACb,EAAOG,IAEX,IAAKH,EAAMiB,KAAM,CACf,OACEC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,GAGf,CAEA,OACE2B,EAACC,EAAI,CAACC,MAAM,SAASC,IAAK,EAAGZ,MAAO,CAAEa,WAAY,UAAWP,UAC1D7B,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,KAC3DC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,IAEVL,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,OAGjE,EAEAlB,EAAYQ,KAAO,SAACU,GAClBV,EAAKU,EACP"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/copy-wrapper/copy.tsx"],"sourcesContent":["import { CheckOutlined, CopyOutlined } from '@ant-design/icons';\nimport { Flex, message } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { Fragment, useEffect, useMemo, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\nexport type CopyWrapperProps = {\n copyText: string | (() => string);\n /** 复制后提示消息 */\n copyAfterMsg?: string;\n /** 复制鼠标悬浮提示\n * ```\n * hoverTips={(trigger) => {\n * return trigger ? '复制成功' : '复制数据';\n * }}\n * ```\n */\n hoverTips?: string | ((trigger) => string);\n /** 设置icon后失效 */\n iconStyle?: CSSProperties;\n /** 自定义文本,显示在复制图标前或后 */\n text?: ReactNode;\n\n hiddenTips?: boolean;\n /** 自定义复制icon图标 */\n icon?: ReactNode;\n /** 复制图标位置,text 为空时,此配置无效 */\n iconPosition?: 'left' | 'right';\n};\n\nexport const CopyWrapper = (props: CopyWrapperProps) => {\n const [trigger, setTrigger] = useState(false);\n\n const onClick = () => {\n if (trigger) return;\n setTrigger(true);\n const copyText = typeof props.copyText === 'function' ? props.copyText() : props.copyText;\n copy(copyText);\n if (props.copyAfterMsg) {\n void message.success(props.copyAfterMsg);\n }\n };\n\n useEffect(() => {\n if (trigger) {\n setTimeout(() => {\n setTrigger(false);\n }, 1000);\n }\n }, [trigger]);\n\n const hoverTips = useMemo(() => {\n if (props.hiddenTips) return undefined;\n if (typeof props.hoverTips === 'function') {\n return props.hoverTips(trigger);\n }\n if (props.hoverTips) return props.hoverTips;\n return '复制';\n }, [props, trigger]);\n\n if (!props.text) {\n return (\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n );\n }\n\n return (\n <Flex align=\"center\" gap={5} style={{ alignItems: 'center' }}>\n {props.iconPosition !== 'left' ? <div>{props.text}</div> : null}\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n {props.iconPosition === 'left' ? <div>{props.text}</div> : null}\n </Flex>\n );\n};\n\nCopyWrapper.copy = (text: string) => {\n copy(text);\n};\n"],"names":["CopyWrapper","props","_useState","useState","trigger","setTrigger","onClick","copyText","copy","copyAfterMsg","message","success","useEffect","setTimeout","hoverTips","useMemo","hiddenTips","undefined","text","_jsx","IconWrapper","wrapperStyle","display","_CheckOutlined","style","_extends","color","iconStyle","icon","Fragment","children","_CopyOutlined","size","_jsxs","Flex","align","gap","alignItems","iconPosition"],"mappings":";wfA+BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAU,SAAVA,IACJ,GAAIF,EAAS,OACbC,EAAW,MACX,IAAME,SAAkBN,EAAMM,WAAa,WAAaN,EAAMM,WAAaN,EAAMM,SACjFC,EAAKD,GACL,GAAIN,EAAMQ,aAAc,MACjBC,EAAQC,QAAQV,EAAMQ,aAC7B,GAGFG,EAAU,WACR,GAAIR,EAAS,CACXS,WAAW,WACTR,EAAW,MACZ,EAAE,IACL,CACF,EAAG,CAACD,IAEJ,IAAMU,EAAYC,EAAQ,WACxB,GAAId,EAAMe,WAAY,OAAOC,UAC7B,UAAWhB,EAAMa,YAAc,WAAY,CACzC,OAAOb,EAAMa,UAAUV,EACzB,CACA,GAAIH,EAAMa,UAAW,OAAOb,EAAMa,UAClC,MAAO,IACT,EAAG,CAACb,EAAOG,IAEX,IAAKH,EAAMiB,KAAM,CACf,OACEC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,GAGf,CAEA,OACE2B,EAACC,EAAI,CAACC,MAAM,SAASC,IAAK,EAAGZ,MAAO,CAAEa,WAAY,UAAWP,UAC1D7B,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,KAC3DC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,IAEVL,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,OAGjE,EAEAlB,EAAYQ,KAAO,SAACU,GAClBV,EAAKU,EACP"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as i}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as a}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as u,g as s,a as f,b as l}from"../time-53b3f55f.js";import{jsx as m}from"react/jsx-runtime";var d=["value","onChange","style","format","outputNormalize","inputNormalize"];var c=function c(b){var v=b.value,D=b.onChange,p=b.style,h=b.format,M=b.outputNormalize,g=b.inputNormalize,w=e(b,d);var T=b.disabledDateConfig||{},C=T.minDate,H=T.maxDate,Y=T.disabledHourList,z=T.disabledMinuteList,L=T.disabledSecondList;var j=C?n(C):undefined;var N=H?n(H):undefined;var k=o((function(){if(h)return h;if(b.showTime)return u.YMDHms;return u.YMD}),[b.showTime,h]);var x=i.useCallbackRef((function(e,r){if(e){if(M){D==null||D(M(r))}else{D==null||D(r)}}else{D==null||D(undefined)}}));var y=i.useCallbackRef((function(e){var r=e.format(u.YMD);if(!b.disabledDateConfig){return false}if(j&&N){if(!t.in(r,j.format(u.YMD),N.format(u.YMD))){return true}}else if(j){if(!t.gte(r,j.format(u.YMD))){return true}}else if(N){if(!t.gte(N.format(u.YMD),r)){return true}}return false}));var R=o((function(){if(v){var e=g?g(v):v;if(e){return n(t.dateNormalize(e))}}return undefined}),[v]);var S=i.useCallbackRef((function(e){var r={minDateTime:j,maxDateTime:N,disabledHourList:Y,disabledMinuteList:z,disabledSecondList:L};e=e||R||n(new Date);return{disabledHours:function i(){return s(e,r)},disabledMinutes:function i(){return f(e,r)},disabledSeconds:function i(){return l(e,r)}}}));var _=o((function(){if(b.showTime)return b.showTime;if(k&&k.includes("HH")){return true}return false}),[b.showTime,k]);return m(a,r({disabledDate:y,disabledTime:S},w,{showTime:_,format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{c as DatePickerWrapper};
4
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as i}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as a}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as u,g as s,a as f,b as l}from"../time-ea73b2fb.js";import{jsx as m}from"react/jsx-runtime";var d=["value","onChange","style","format","outputNormalize","inputNormalize"];var c=function c(b){var v=b.value,D=b.onChange,p=b.style,h=b.format,M=b.outputNormalize,g=b.inputNormalize,w=e(b,d);var T=b.disabledDateConfig||{},C=T.minDate,H=T.maxDate,Y=T.disabledHourList,z=T.disabledMinuteList,L=T.disabledSecondList;var j=C?n(C):undefined;var N=H?n(H):undefined;var k=o(function(){if(h)return h;if(b.showTime)return u.YMDHms;return u.YMD},[b.showTime,h]);var x=i.useCallbackRef(function(e,r){if(e){if(M){D==null||D(M(r))}else{D==null||D(r)}}else{D==null||D(undefined)}});var y=i.useCallbackRef(function(e){var r=e.format(u.YMD);if(!b.disabledDateConfig){return false}if(j&&N){if(!t.in(r,j.format(u.YMD),N.format(u.YMD))){return true}}else if(j){if(!t.gte(r,j.format(u.YMD))){return true}}else if(N){if(!t.gte(N.format(u.YMD),r)){return true}}return false});var R=o(function(){if(v){var e=g?g(v):v;if(e){return n(t.dateNormalize(e))}}return undefined},[v]);var S=i.useCallbackRef(function(e){var r={minDateTime:j,maxDateTime:N,disabledHourList:Y,disabledMinuteList:z,disabledSecondList:L};e=e||R||n(new Date);return{disabledHours:function i(){return s(e,r)},disabledMinutes:function i(){return f(e,r)},disabledSeconds:function i(){return l(e,r)}}});var _=o(function(){if(b.showTime)return b.showTime;if(k&&k.includes("HH")){return true}return false},[b.showTime,k]);return m(a,r({disabledDate:y,disabledTime:S},w,{showTime:_,format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{c as DatePickerWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-picker-wrapper/date-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate, TAny } 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<TAny>, 'value' | 'onChange' | 'format'> & {\n /** 默认格式为 'YYYY-MM-DD' */\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 /** value 输出适配 */\n outputNormalize?: (value?: TAny) => TAny;\n /** value 输入适配 */\n inputNormalize?: (value?: TAny) => string | undefined;\n};\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value 默认格式为 'YYYY-MM-DD',可以通过 inputNormalize 来进行自定义转换\n * 2. onChange返回类型 string,可以通过 outputNormalize 来进行自定义转换\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, outputNormalize, inputNormalize, ...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 if (outputNormalize) {\n onChange?.(outputNormalize(dateString));\n } else {\n onChange?.(dateString);\n }\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 return false;\n });\n\n const datePickerValue = useMemo(() => {\n if (value) {\n const valueFt = inputNormalize ? inputNormalize(value) : value;\n if (valueFt) {\n return dayjs(flatbizDate.dateNormalize(valueFt));\n }\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 const showTime = useMemo(() => {\n if (props.showTime) return props.showTime;\n if (customFormat && customFormat.includes('HH')) {\n return true;\n }\n return false;\n }, [props.showTime, customFormat]);\n\n return (\n <DatePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n showTime={showTime}\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","outputNormalize","inputNormalize","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","valueFt","dateNormalize","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","includes","_jsx","DatePicker","_extends","disabledDate","disabledTime","width"],"mappings":";8aAyCaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAmFD,EAAnFC,MAAOC,EAA4EF,EAA5EE,SAAUC,EAAkEH,EAAlEG,MAAOC,EAA2DJ,EAA3DI,OAAQC,EAAmDL,EAAnDK,gBAAiBC,EAAkCN,EAAlCM,eAAmBC,EAAUC,EAAKR,EAAKS,GAChG,IAAAC,EACEV,EAAMW,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,GAAIlB,EAAQ,OAAOA,EACnB,GAAIJ,EAAMuB,SAAU,OAAOC,EAAkBC,OAC7C,OAAOD,EAAkBE,GAC1B,GAAE,CAAC1B,EAAMuB,SAAUnB,IAEpB,IAAMuB,EAAeC,EAAMC,gBAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACR,GAAIzB,EAAiB,CACnBH,SAAAA,EAAWG,EAAgB0B,GAC7B,KAAO,CACL7B,GAAAA,MAAAA,EAAW6B,EACb,CACF,KAAO,CACL7B,GAAAA,MAAAA,EAAWiB,UACb,CACF,IAEA,IAAMa,EAAkBJ,EAAMC,gBAAe,SAACI,GAC5C,IAAMC,EAAcD,EAAQ7B,OAAOoB,EAAkBE,KACrD,IAAK1B,EAAMW,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIM,GAAsBG,EAAoB,CAC5C,IACGe,EAAYC,GACXF,EACAjB,EAAmBb,OAAOoB,EAAkBE,KAC5CN,EAAmBhB,OAAOoB,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIT,EAAoB,CAC7B,IAAKkB,EAAYE,IAAIH,EAAajB,EAAmBb,OAAOoB,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIN,EAAoB,CAC7B,IAAKe,EAAYE,IAAIjB,EAAmBhB,OAAOoB,EAAkBE,KAAMQ,GAAc,CACnF,OAAO,IACT,CACF,CACA,OAAO,KACT,IAEA,IAAMI,EAAkBhB,GAAQ,WAC9B,GAAIrB,EAAO,CACT,IAAMsC,EAAUjC,EAAiBA,EAAeL,GAASA,EACzD,GAAIsC,EAAS,CACX,OAAOrB,EAAMiB,EAAYK,cAAcD,GACzC,CACF,CACA,OAAOpB,SACT,GAAG,CAAClB,IAEJ,IAAMwC,EAAkBb,EAAMC,gBAAe,SAACI,GAC5C,IAAMS,EAAU,CACdC,YAAa1B,EACb2B,YAAaxB,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEFiB,EAAUA,GAAWK,GAAmBpB,EAAM,IAAI2B,MAClD,MAAO,CACLC,cAAe,SAAfA,IACE,OAAOC,EAAgBd,EAASS,EACjC,EACDM,gBAAiB,SAAjBA,IACE,OAAOC,EAAkBhB,EAASS,EACnC,EACDQ,gBAAiB,SAAjBA,IACE,OAAOC,EAAkBlB,EAASS,EACpC,EAEJ,IAEA,IAAMnB,EAAWD,GAAQ,WACvB,GAAItB,EAAMuB,SAAU,OAAOvB,EAAMuB,SACjC,GAAIF,GAAgBA,EAAa+B,SAAS,MAAO,CAC/C,OAAO,IACT,CACA,OAAO,KACR,GAAE,CAACpD,EAAMuB,SAAUF,IAEpB,OACEgC,EAACC,EAAUC,EAAA,CACTC,aAAcxB,EACdyB,aAAchB,GACVlC,EAAU,CACdgB,SAAUA,EACVnB,OAAQiB,EACRlB,MAAKoD,EAAA,CAAIG,MAAO,QAAWvD,GAC3BF,MAAOqC,EACPpC,SAAUyB,IAGhB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-picker-wrapper/date-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate, TAny } 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<TAny>, 'value' | 'onChange' | 'format'> & {\n /** 默认格式为 'YYYY-MM-DD' */\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 /** value 输出适配 */\n outputNormalize?: (value?: TAny) => TAny;\n /** value 输入适配 */\n inputNormalize?: (value?: TAny) => string | undefined;\n};\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value 默认格式为 'YYYY-MM-DD',可以通过 inputNormalize 来进行自定义转换\n * 2. onChange返回类型 string,可以通过 outputNormalize 来进行自定义转换\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, outputNormalize, inputNormalize, ...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 if (outputNormalize) {\n onChange?.(outputNormalize(dateString));\n } else {\n onChange?.(dateString);\n }\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 return false;\n });\n\n const datePickerValue = useMemo(() => {\n if (value) {\n const valueFt = inputNormalize ? inputNormalize(value) : value;\n if (valueFt) {\n return dayjs(flatbizDate.dateNormalize(valueFt));\n }\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 const showTime = useMemo(() => {\n if (props.showTime) return props.showTime;\n if (customFormat && customFormat.includes('HH')) {\n return true;\n }\n return false;\n }, [props.showTime, customFormat]);\n\n return (\n <DatePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n showTime={showTime}\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","outputNormalize","inputNormalize","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","valueFt","dateNormalize","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","includes","_jsx","DatePicker","_extends","disabledDate","disabledTime","width"],"mappings":";8aAyCaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAmFD,EAAnFC,MAAOC,EAA4EF,EAA5EE,SAAUC,EAAkEH,EAAlEG,MAAOC,EAA2DJ,EAA3DI,OAAQC,EAAmDL,EAAnDK,gBAAiBC,EAAkCN,EAAlCM,eAAmBC,EAAUC,EAAKR,EAAKS,GAChG,IAAAC,EACEV,EAAMW,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,EAAQ,WAC3B,GAAIlB,EAAQ,OAAOA,EACnB,GAAIJ,EAAMuB,SAAU,OAAOC,EAAkBC,OAC7C,OAAOD,EAAkBE,GAC1B,EAAE,CAAC1B,EAAMuB,SAAUnB,IAEpB,IAAMuB,EAAeC,EAAMC,eAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACR,GAAIzB,EAAiB,CACnBH,SAAAA,EAAWG,EAAgB0B,GAC7B,KAAO,CACL7B,GAAAA,MAAAA,EAAW6B,EACb,CACF,KAAO,CACL7B,GAAAA,MAAAA,EAAWiB,UACb,CACF,GAEA,IAAMa,EAAkBJ,EAAMC,eAAe,SAACI,GAC5C,IAAMC,EAAcD,EAAQ7B,OAAOoB,EAAkBE,KACrD,IAAK1B,EAAMW,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIM,GAAsBG,EAAoB,CAC5C,IACGe,EAAYC,GACXF,EACAjB,EAAmBb,OAAOoB,EAAkBE,KAC5CN,EAAmBhB,OAAOoB,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIT,EAAoB,CAC7B,IAAKkB,EAAYE,IAAIH,EAAajB,EAAmBb,OAAOoB,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIN,EAAoB,CAC7B,IAAKe,EAAYE,IAAIjB,EAAmBhB,OAAOoB,EAAkBE,KAAMQ,GAAc,CACnF,OAAO,IACT,CACF,CACA,OAAO,KACT,GAEA,IAAMI,EAAkBhB,EAAQ,WAC9B,GAAIrB,EAAO,CACT,IAAMsC,EAAUjC,EAAiBA,EAAeL,GAASA,EACzD,GAAIsC,EAAS,CACX,OAAOrB,EAAMiB,EAAYK,cAAcD,GACzC,CACF,CACA,OAAOpB,SACT,EAAG,CAAClB,IAEJ,IAAMwC,EAAkBb,EAAMC,eAAe,SAACI,GAC5C,IAAMS,EAAU,CACdC,YAAa1B,EACb2B,YAAaxB,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEFiB,EAAUA,GAAWK,GAAmBpB,EAAM,IAAI2B,MAClD,MAAO,CACLC,cAAe,SAAfA,IACE,OAAOC,EAAgBd,EAASS,EACjC,EACDM,gBAAiB,SAAjBA,IACE,OAAOC,EAAkBhB,EAASS,EACnC,EACDQ,gBAAiB,SAAjBA,IACE,OAAOC,EAAkBlB,EAASS,EACpC,EAEJ,GAEA,IAAMnB,EAAWD,EAAQ,WACvB,GAAItB,EAAMuB,SAAU,OAAOvB,EAAMuB,SACjC,GAAIF,GAAgBA,EAAa+B,SAAS,MAAO,CAC/C,OAAO,IACT,CACA,OAAO,KACR,EAAE,CAACpD,EAAMuB,SAAUF,IAEpB,OACEgC,EAACC,EAAUC,EAAA,CACTC,aAAcxB,EACdyB,aAAchB,GACVlC,EAAU,CACdgB,SAAUA,EACVnB,OAAQiB,EACRlB,MAAKoD,EAAA,CAAIG,MAAO,QAAWvD,GAC3BF,MAAOqC,EACPpC,SAAUyB,IAGhB"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as n}from"@wove/react/cjs/hooks";import{flatbizDate as a}from"@flatbiz/utils";import{DatePicker as i}from"antd";import t from"dayjs";import{useState as u,useMemo as l}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","outputNormalize","inputNormalize"];var c=function c(b){var p=b.value,D=b.onChange,h=b.style,g=b.format,C=b.onOpenChange,M=b.outputNormalize,w=b.inputNormalize,T=e(b,v);var y=b.disabledDateConfig||{},z=y.maxDays,H=y.minDate,Y=y.maxDate,L=y.disabledHourList,N=y.disabledMinuteList,j=y.disabledSecondList;var k=H?t(H):undefined;var x=Y?t(Y):undefined;var R=u(null),O=R[0],S=R[1];var P=u(null),_=P[0],B=P[1];var q=l((function(){if(w){return w(p)||[]}return p||[]}),[p]),A=q[0],E=q[1];var F=l((function(){if(A&&E){var e=a.dateNormalize(A);var r=a.dateNormalize(E);return[t(e),t(r)]}return undefined}),[A,E]);var G=l((function(){if(g)return g;if(b.showTime===true)return o.YMDHms;return o.YMD}),[b.showTime,g]);var I=l((function(){if(b.showTime)return b.showTime;if(G&&G.includes("HH")){return true}return false}),[b.showTime,G]);var J=n.useCallbackRef((function(e,r){if(e&&e[0]&&e[1]){if(M){D==null||D(M(r))}else{D==null||D(r)}}else{D==null||D(undefined)}}));var K=n.useCallbackRef((function(e){var r=e.format(o.YMD);if(!b.disabledDateConfig){return false}if(k&&x){if(!a.in(r,k.format(o.YMD),x.format(o.YMD))){return true}}else if(k){if(!a.gte(r,k.format(o.YMD))){return true}}else if(x){if(!a.gte(x.format(o.YMD),r)){return true}}if(!z||!(O!=null&&O[0])&&!(O!=null&&O[1])){return false}var n=(O==null?void 0:O[0])&&e.diff(O[0],"days")>z-1;var i=(O==null?void 0:O[1])&&O[1].diff(e,"days")>z-1;return!!i||!!n}));var Q=function e(r){if(z&&z>0){if(r){B([null,null]);S([null,null])}else{B(null)}}C==null||C(r)};var U=n.useCallbackRef((function(e){var r={minDateTime:k,maxDateTime:x,disabledHourList:L,disabledMinuteList:N,disabledSecondList:j};e=e||t(A||new Date);return{disabledHours:function n(){return f(e,r)},disabledMinutes:function n(){return s(e,r)},disabledSeconds:function n(){return d(e,r)}}}));return m(i.RangePicker,r({disabledDate:K,disabledTime:U},T,{showTime:I,format:G,style:r({width:"100%"},h),value:_||F,onChange:J,onOpenChange:Q,onCalendarChange:function e(r){return S(r)}}))};export{c as DateRangePickerWrapper};
4
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as n}from"@wove/react/cjs/hooks";import{flatbizDate as a}from"@flatbiz/utils";import{DatePicker as i}from"antd";import t from"dayjs";import{useState as u,useMemo as l}from"react";import{D as o,g as f,a as s,b as d}from"../time-ea73b2fb.js";import{jsx as m}from"react/jsx-runtime";var v=["value","onChange","style","format","onOpenChange","outputNormalize","inputNormalize"];var c=function c(b){var p=b.value,D=b.onChange,h=b.style,g=b.format,C=b.onOpenChange,M=b.outputNormalize,w=b.inputNormalize,T=e(b,v);var y=b.disabledDateConfig||{},z=y.maxDays,H=y.minDate,Y=y.maxDate,L=y.disabledHourList,N=y.disabledMinuteList,j=y.disabledSecondList;var k=H?t(H):undefined;var x=Y?t(Y):undefined;var R=u(null),O=R[0],S=R[1];var P=u(null),_=P[0],B=P[1];var q=l(function(){if(w){return w(p)||[]}return p||[]},[p]),A=q[0],E=q[1];var F=l(function(){if(A&&E){var e=a.dateNormalize(A);var r=a.dateNormalize(E);return[t(e),t(r)]}return undefined},[A,E]);var G=l(function(){if(g)return g;if(b.showTime===true)return o.YMDHms;return o.YMD},[b.showTime,g]);var I=l(function(){if(b.showTime)return b.showTime;if(G&&G.includes("HH")){return true}return false},[b.showTime,G]);var J=n.useCallbackRef(function(e,r){if(e&&e[0]&&e[1]){if(M){D==null||D(M(r))}else{D==null||D(r)}}else{D==null||D(undefined)}});var K=n.useCallbackRef(function(e){var r=e.format(o.YMD);if(!b.disabledDateConfig){return false}if(k&&x){if(!a.in(r,k.format(o.YMD),x.format(o.YMD))){return true}}else if(k){if(!a.gte(r,k.format(o.YMD))){return true}}else if(x){if(!a.gte(x.format(o.YMD),r)){return true}}if(!z||!(O!=null&&O[0])&&!(O!=null&&O[1])){return false}var n=(O==null?void 0:O[0])&&e.diff(O[0],"days")>z-1;var i=(O==null?void 0:O[1])&&O[1].diff(e,"days")>z-1;return!!i||!!n});var Q=function e(r){if(z&&z>0){if(r){B([null,null]);S([null,null])}else{B(null)}}C==null||C(r)};var U=n.useCallbackRef(function(e){var r={minDateTime:k,maxDateTime:x,disabledHourList:L,disabledMinuteList:N,disabledSecondList:j};e=e||t(A||new Date);return{disabledHours:function n(){return f(e,r)},disabledMinutes:function n(){return s(e,r)},disabledSeconds:function n(){return d(e,r)}}});return m(i.RangePicker,r({disabledDate:K,disabledTime:U},T,{showTime:I,format:G,style:r({width:"100%"},h),value:_||F,onChange:J,onOpenChange:Q,onCalendarChange:function e(r){return S(r)}}))};export{c as DateRangePickerWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper/date-range-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/es/date-picker/generatePicker';\nimport dayjs, { 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<TAny>,\n 'value' | 'onChange' | 'onCalendarChange' | '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 /** value 输出适配 */\n outputNormalize?: (value: [string, string]) => TAny;\n /** value 输入适配 */\n inputNormalize?: (value?: TAny) => [string, string] | undefined;\n};\n\ntype RangeValue = [Dayjs | null, Dayjs | null] | null;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string],可以通过 inputNormalize来进行自定义转换\n * 2. onChange返回类型 [string, string],可以通过 outputNormalize来进行自定义转换\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 {\n value,\n onChange,\n style,\n format,\n onOpenChange: onAntdOpenChange,\n outputNormalize,\n inputNormalize,\n ...otherProps\n } = 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] = useMemo(() => {\n if (inputNormalize) {\n return inputNormalize(value) || [];\n }\n return value || [];\n }, [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 showTime = useMemo(() => {\n if (props.showTime) return props.showTime;\n if (customFormat && customFormat.includes('HH')) {\n return true;\n }\n return false;\n }, [props.showTime, customFormat]);\n\n const onChangeDate = hooks.useCallbackRef((dates, dateStrings) => {\n if (dates && dates[0] && dates[1]) {\n if (outputNormalize) {\n onChange?.(outputNormalize(dateStrings) as [string, string]);\n } else {\n onChange?.(dateStrings);\n }\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 showTime={showTime}\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","outputNormalize","inputNormalize","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","maxDays","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","_useState","useState","dates","setDates","_useState2","hackValue","setHackValue","_useMemo","useMemo","date1","date2","rangePickerValue","newDate1","flatbizDate","dateNormalize","newDate2","customFormat","showTime","DayjsDateTypeEnum","YMDHms","YMD","includes","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":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper/date-range-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/es/date-picker/generatePicker';\nimport dayjs, { 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<TAny>,\n 'value' | 'onChange' | 'onCalendarChange' | '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 /** value 输出适配 */\n outputNormalize?: (value: [string, string]) => TAny;\n /** value 输入适配 */\n inputNormalize?: (value?: TAny) => [string, string] | undefined;\n};\n\ntype RangeValue = [Dayjs | null, Dayjs | null] | null;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string],可以通过 inputNormalize来进行自定义转换\n * 2. onChange返回类型 [string, string],可以通过 outputNormalize来进行自定义转换\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 {\n value,\n onChange,\n style,\n format,\n onOpenChange: onAntdOpenChange,\n outputNormalize,\n inputNormalize,\n ...otherProps\n } = 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] = useMemo(() => {\n if (inputNormalize) {\n return inputNormalize(value) || [];\n }\n return value || [];\n }, [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 showTime = useMemo(() => {\n if (props.showTime) return props.showTime;\n if (customFormat && customFormat.includes('HH')) {\n return true;\n }\n return false;\n }, [props.showTime, customFormat]);\n\n const onChangeDate = hooks.useCallbackRef((dates, dateStrings) => {\n if (dates && dates[0] && dates[1]) {\n if (outputNormalize) {\n onChange?.(outputNormalize(dateStrings) as [string, string]);\n } else {\n onChange?.(dateStrings);\n }\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 showTime={showTime}\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","outputNormalize","inputNormalize","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","maxDays","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","_useState","useState","dates","setDates","_useState2","hackValue","setHackValue","_useMemo","useMemo","date1","date2","rangePickerValue","newDate1","flatbizDate","dateNormalize","newDate2","customFormat","showTime","DayjsDateTypeEnum","YMDHms","YMD","includes","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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"}
@@ -8,5 +8,5 @@ import './../pre-defined-class-name/index.css';
8
8
  import './../types/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{toArray as i}from"@flatbiz/utils";import{Form as t}from"antd";import{useMemo as o,useEffect as m,useRef as s}from"react";import{DateRangePickerWrapper as l}from"../date-range-picker-wrapper/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{fbaUtils as v}from"../fba-utils/index.js";import{FormItemHidden as c}from"../form-item-hidden/index.js";import{FormItemWrapper as d}from"../form-item-wrapper/index.js";import{jsxs as f,Fragment as p,jsx as j}from"react/jsx-runtime";import"dayjs";import"../time-53b3f55f.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/model";import"../pre-defined-class-name/index.js";import"@dimjs/utils/cjs/class-names";var h=["startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps"];var g=function s(u){var g;var C=u.startName,x=u.endName,N=u.formListName,k=u.formListCompleteName,P=u.dateRangePickerWrapperProps,b=e(u,h);var F=t.useFormInstance();var W=k||N;var L=o((function(){if(W&&n(C)&&n(x)){var e=C[0],r=C.slice(1);var a=x.slice(1);return[e].concat("__#invalid_date_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_date_"+C+"_"+x}),[W,C,x]);var w=o((function(){return W?[].concat(i(W),L):L}),[L,W]);var R=o((function(){return W?[].concat(i(W),i(C)):C}),[C,W]);var y=o((function(){return W?[].concat(i(W),i(x)):x}),[x,W]);var z=t.useWatch(R,F);var A=t.useWatch(y,F);var B=t.useWatch(w,F);var E=a.useCallbackRef((function(e){var r=e==null?void 0:e[0];var a=e==null?void 0:e[1];v.setFormFieldsAndTriggerValuesChange(F,[{name:R,value:r},{name:y,value:a}]);P==null||P.onChange==null||P.onChange(e)}));m((function(){if(z&&A){F.setFields([{name:w,value:[z,A]}])}else{F.setFields([{name:w,value:undefined}])}}),[z,A,B,F,w]);return f(p,{children:[j(c,{name:C}),j(c,{name:x}),j(d,r({},b,{name:L,children:W&&(g=u.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(l,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var t=s(0);var o=u.usePrevious(a.value);u.useEffectCustom((function(){var e,r;if(t.current===0&&!o&&(e=a.value)!=null&&e[0]&&(r=a.value)!=null&&r[1]){t.current=1;a.onChange==null||a.onChange(a.value)}}),[(n=a.value)==null?void 0:n[0],(i=a.value)==null?void 0:i[1]]);return j(l,r({},a))};export{g as DateRangePickerWrapperFormItem};
11
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{toArray as i}from"@flatbiz/utils";import{Form as t}from"antd";import{useMemo as o,useEffect as m,useRef as s}from"react";import{DateRangePickerWrapper as l}from"../date-range-picker-wrapper/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{fbaUtils as v}from"../fba-utils/index.js";import{FormItemHidden as c}from"../form-item-hidden/index.js";import{FormItemWrapper as d}from"../form-item-wrapper/index.js";import{jsxs as f,Fragment as p,jsx as j}from"react/jsx-runtime";import"dayjs";import"../time-ea73b2fb.js";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/model";import"../pre-defined-class-name/index.js";import"@dimjs/utils/cjs/class-names";var h=["startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps"];var g=function s(u){var g;var C=u.startName,x=u.endName,N=u.formListName,k=u.formListCompleteName,P=u.dateRangePickerWrapperProps,b=e(u,h);var F=t.useFormInstance();var W=k||N;var L=o(function(){if(W&&n(C)&&n(x)){var e=C[0],r=C.slice(1);var a=x.slice(1);return[e].concat("__#invalid_date_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_date_"+C+"_"+x},[W,C,x]);var w=o(function(){return W?[].concat(i(W),L):L},[L,W]);var R=o(function(){return W?[].concat(i(W),i(C)):C},[C,W]);var y=o(function(){return W?[].concat(i(W),i(x)):x},[x,W]);var z=t.useWatch(R,F);var A=t.useWatch(y,F);var B=t.useWatch(w,F);var E=a.useCallbackRef(function(e){var r=e==null?void 0:e[0];var a=e==null?void 0:e[1];v.setFormFieldsAndTriggerValuesChange(F,[{name:R,value:r},{name:y,value:a}]);P==null||P.onChange==null||P.onChange(e)});m(function(){if(z&&A){F.setFields([{name:w,value:[z,A]}])}else{F.setFields([{name:w,value:undefined}])}},[z,A,B,F,w]);return f(p,{children:[j(c,{name:C}),j(c,{name:x}),j(d,r({},b,{name:L,children:W&&(g=u.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(l,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var t=s(0);var o=u.usePrevious(a.value);u.useEffectCustom(function(){var e,r;if(t.current===0&&!o&&(e=a.value)!=null&&e[0]&&(r=a.value)!=null&&r[1]){t.current=1;a.onChange==null||a.onChange(a.value)}},[(n=a.value)==null?void 0:n[0],(i=a.value)==null?void 0:i[1]]);return j(l,r({},a))};export{g as DateRangePickerWrapperFormItem};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper-form-item/date-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\n\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { DateRangePickerWrapper, DateRangePickerWrapperProps } from '../date-range-picker-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type DateRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 DateRangePickerWrapperFormItem 在Form.List场景下 必传\n * @deprecated 使用 formListCompleteName 配置\n */\n formListName?: Array<string | number>;\n /**\n * 前端 formItem 前缀FormName,当 TimeRangePickerWrapperFormItem 处在Form.List场景下,必传\n * ```\n * 例如 处在formList内部时,则 formListCompleteName = ['xxxxList']\n * 例如 处在formList套formList内部时,则 formListCompleteName = ['xxxxList', 索引值, 'xxxxList2']\n * ```\n */\n formListCompleteName?: Array<string | number> | string;\n\n dateRangePickerWrapperProps?: DateRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_date_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 dateRangePickerWrapperProps={{ format: 'YYYY-MM-DD HH:mm' }}\n * 使用场景:\n * 1. 基础使用场景\n * <DateRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data.prevCompleteName} startName={data.getInsideFormItemName('date1')} endName={data.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * 3. Form.List 套 Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <FormListWrapper name={data.getInsideFormItemName('childrenList')} prevCompleteName={data.prevCompleteName}>\n * {(data2) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const DateRangePickerWrapperFormItem = (props: DateRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n dateRangePickerWrapperProps,\n ...otherProps\n } = props;\n const form = Form.useFormInstance();\n\n const prevName = formListCompleteName || formListName;\n\n const bodyName = useMemo(() => {\n if (prevName && isArray(startName) && isArray(endName)) {\n const [startName0, ...startNameOther] = startName;\n const [, ...endNameOther] = endName;\n return [startName0].concat(`__#invalid_date_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_date_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\n );\n\n const startCompleteName = useMemo(() => {\n return prevName\n ? [...toArray<string | number>(prevName), ...toArray<string | number>(startName)]\n : startName;\n }, [startName, prevName]);\n\n const endCompleteName = useMemo(() => {\n return prevName ? [...toArray<string | number>(prevName), ...toArray<string | number>(endName)] : endName;\n }, [endName, prevName]);\n\n const startVal = Form.useWatch(startCompleteName, form);\n const endVal = Form.useWatch(endCompleteName, form);\n const bodyValue = Form.useWatch(bodyCompleteName, form);\n\n const onChange = hooks.useCallbackRef((data) => {\n const value1 = data?.[0];\n const value2 = data?.[1];\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n { name: startCompleteName, value: value1 },\n { name: endCompleteName, value: value2 },\n ]);\n dateRangePickerWrapperProps?.onChange?.(data);\n });\n\n useEffect(() => {\n if (startVal && endVal) {\n form.setFields([{ name: bodyCompleteName, value: [startVal, endVal] }]);\n } else {\n form.setFields([{ name: bodyCompleteName, value: undefined }]);\n }\n }, [startVal, endVal, bodyValue, form, bodyCompleteName]);\n\n return (\n <>\n <FormItemHidden name={startName} />\n <FormItemHidden name={endName} />\n <FormItemWrapper {...otherProps} name={bodyName}>\n {prevName && props.rules?.length ? (\n <Content {...dateRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <DateRangePickerWrapper {...dateRangePickerWrapperProps} onChange={onChange} />\n )}\n </FormItemWrapper>\n </>\n );\n};\n\nconst Content = (props) => {\n const ref = useRef<number>(0);\n const preValue = fbaHooks.usePrevious(props.value);\n fbaHooks.useEffectCustom(() => {\n // 处在Form.List场景下,当第一次外部赋值时,会出现赋值成功,但显示异常效果\n if (ref.current === 0 && !preValue && props.value?.[0] && props.value?.[1]) {\n ref.current = 1;\n props.onChange?.(props.value);\n }\n }, [props.value?.[0], props.value?.[1]]);\n\n return <DateRangePickerWrapper {...props} />;\n};\n"],"names":["DateRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","prevName","bodyName","useMemo","_isArray","startName0","startNameOther","slice","endNameOther","concat","join","bodyCompleteName","toArray","startCompleteName","endCompleteName","startVal","useWatch","endVal","bodyValue","onChange","_hooks","useCallbackRef","data","value1","value2","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","useEffect","setFields","undefined","_jsxs","_Fragment","children","_jsx","FormItemHidden","FormItemWrapper","_extends","rules","length","Content","DateRangePickerWrapper","_props$value3","_props$value4","ref","useRef","preValue","fbaHooks","usePrevious","useEffectCustom","_props$value","_props$value2","current"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper-form-item/date-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\n\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { DateRangePickerWrapper, DateRangePickerWrapperProps } from '../date-range-picker-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type DateRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 DateRangePickerWrapperFormItem 在Form.List场景下 必传\n * @deprecated 使用 formListCompleteName 配置\n */\n formListName?: Array<string | number>;\n /**\n * 前端 formItem 前缀FormName,当 TimeRangePickerWrapperFormItem 处在Form.List场景下,必传\n * ```\n * 例如 处在formList内部时,则 formListCompleteName = ['xxxxList']\n * 例如 处在formList套formList内部时,则 formListCompleteName = ['xxxxList', 索引值, 'xxxxList2']\n * ```\n */\n formListCompleteName?: Array<string | number> | string;\n\n dateRangePickerWrapperProps?: DateRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_date_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 dateRangePickerWrapperProps={{ format: 'YYYY-MM-DD HH:mm' }}\n * 使用场景:\n * 1. 基础使用场景\n * <DateRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data.prevCompleteName} startName={data.getInsideFormItemName('date1')} endName={data.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * 3. Form.List 套 Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <FormListWrapper name={data.getInsideFormItemName('childrenList')} prevCompleteName={data.prevCompleteName}>\n * {(data2) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const DateRangePickerWrapperFormItem = (props: DateRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n dateRangePickerWrapperProps,\n ...otherProps\n } = props;\n const form = Form.useFormInstance();\n\n const prevName = formListCompleteName || formListName;\n\n const bodyName = useMemo(() => {\n if (prevName && isArray(startName) && isArray(endName)) {\n const [startName0, ...startNameOther] = startName;\n const [, ...endNameOther] = endName;\n return [startName0].concat(`__#invalid_date_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_date_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\n );\n\n const startCompleteName = useMemo(() => {\n return prevName\n ? [...toArray<string | number>(prevName), ...toArray<string | number>(startName)]\n : startName;\n }, [startName, prevName]);\n\n const endCompleteName = useMemo(() => {\n return prevName ? [...toArray<string | number>(prevName), ...toArray<string | number>(endName)] : endName;\n }, [endName, prevName]);\n\n const startVal = Form.useWatch(startCompleteName, form);\n const endVal = Form.useWatch(endCompleteName, form);\n const bodyValue = Form.useWatch(bodyCompleteName, form);\n\n const onChange = hooks.useCallbackRef((data) => {\n const value1 = data?.[0];\n const value2 = data?.[1];\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n { name: startCompleteName, value: value1 },\n { name: endCompleteName, value: value2 },\n ]);\n dateRangePickerWrapperProps?.onChange?.(data);\n });\n\n useEffect(() => {\n if (startVal && endVal) {\n form.setFields([{ name: bodyCompleteName, value: [startVal, endVal] }]);\n } else {\n form.setFields([{ name: bodyCompleteName, value: undefined }]);\n }\n }, [startVal, endVal, bodyValue, form, bodyCompleteName]);\n\n return (\n <>\n <FormItemHidden name={startName} />\n <FormItemHidden name={endName} />\n <FormItemWrapper {...otherProps} name={bodyName}>\n {prevName && props.rules?.length ? (\n <Content {...dateRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <DateRangePickerWrapper {...dateRangePickerWrapperProps} onChange={onChange} />\n )}\n </FormItemWrapper>\n </>\n );\n};\n\nconst Content = (props) => {\n const ref = useRef<number>(0);\n const preValue = fbaHooks.usePrevious(props.value);\n fbaHooks.useEffectCustom(() => {\n // 处在Form.List场景下,当第一次外部赋值时,会出现赋值成功,但显示异常效果\n if (ref.current === 0 && !preValue && props.value?.[0] && props.value?.[1]) {\n ref.current = 1;\n props.onChange?.(props.value);\n }\n }, [props.value?.[0], props.value?.[1]]);\n\n return <DateRangePickerWrapper {...props} />;\n};\n"],"names":["DateRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","prevName","bodyName","useMemo","_isArray","startName0","startNameOther","slice","endNameOther","concat","join","bodyCompleteName","toArray","startCompleteName","endCompleteName","startVal","useWatch","endVal","bodyValue","onChange","_hooks","useCallbackRef","data","value1","value2","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","useEffect","setFields","undefined","_jsxs","_Fragment","children","_jsx","FormItemHidden","FormItemWrapper","_extends","rules","length","Content","DateRangePickerWrapper","_props$value3","_props$value4","ref","useRef","preValue","fbaHooks","usePrevious","useEffectCustom","_props$value","_props$value2","current"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../icon-wrapper/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import e from"@ant-design/icons/es/icons/CloseCircleFilled";import o from"@ant-design/icons/es/icons/DeleteOutlined";import{hooks as i}from"@wove/react/cjs/hooks";import{useState as r,useRef as n,Fragment as s}from"react";import{IconWrapper as t}from"../icon-wrapper/index.js";import{jsx as c}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";import"antd";var l=function l(m){var a=r(false),u=a[0],f=a[1];var p=n();var d=i.useDebounceClick((function(e){e.stopPropagation();if(!u){f(true);p.current=setTimeout((function(){f(false)}),3e3)}else{clearTimeout(p.current);f(false);m.onDelete()}}),300);if(m.hidden)return c(s,{});return c(t,{className:m.className,style:m.style,icon:!u?m.icon?m.icon:c(o,{}):m.confirmIcon?m.confirmIcon:c(e,{style:{color:"red"}}),onClick:d,size:"small"})};export{l as DeleteNode};
5
+ import e from"@ant-design/icons/es/icons/CloseCircleFilled";import o from"@ant-design/icons/es/icons/DeleteOutlined";import{hooks as i}from"@wove/react/cjs/hooks";import{useState as r,useRef as n,Fragment as s}from"react";import{IconWrapper as t}from"../icon-wrapper/index.js";import{jsx as c}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";import"antd";var l=function l(m){var a=r(false),u=a[0],f=a[1];var p=n();var d=i.useDebounceClick(function(e){e.stopPropagation();if(!u){f(true);p.current=setTimeout(function(){f(false)},3e3)}else{clearTimeout(p.current);f(false);m.onDelete()}},300);if(m.hidden)return c(s,{});return c(t,{className:m.className,style:m.style,icon:!u?m.icon?m.icon:c(o,{}):m.confirmIcon?m.confirmIcon:c(e,{style:{color:"red"}}),onClick:d,size:"small"})};export{l as DeleteNode};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/delete-node/delete-node.tsx"],"sourcesContent":["import { CloseCircleFilled, DeleteOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, Fragment, ReactElement, useRef, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\n/** 删除节点,点击后会弹出确认框 */\nexport const DeleteNode = (props: {\n onDelete: () => void;\n /** 默认图标 */\n icon?: ReactElement;\n /** 确认图标 */\n confirmIcon?: ReactElement;\n /** 是否隐藏 */\n hidden?: boolean;\n style?: CSSProperties;\n className?: string;\n}) => {\n const [status, setStatus] = useState(false);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const onClick = hooks.useDebounceClick((event) => {\n event.stopPropagation();\n if (!status) {\n setStatus(true);\n timeoutRef.current = setTimeout(() => {\n setStatus(false);\n }, 3000);\n } else {\n clearTimeout(timeoutRef.current);\n setStatus(false);\n props.onDelete();\n }\n }, 300);\n\n if (props.hidden) return <Fragment />;\n\n return (\n <IconWrapper\n className={props.className}\n style={props.style}\n icon={\n !status ? (\n props.icon ? (\n props.icon\n ) : (\n <DeleteOutlined />\n )\n ) : props.confirmIcon ? (\n props.confirmIcon\n ) : (\n <CloseCircleFilled style={{ color: 'red' }} />\n )\n }\n onClick={onClick}\n size=\"small\"\n />\n );\n};\n"],"names":["DeleteNode","props","_useState","useState","status","setStatus","timeoutRef","useRef","onClick","_hooks","useDebounceClick","event","stopPropagation","current","setTimeout","clearTimeout","onDelete","hidden","_jsx","Fragment","IconWrapper","className","style","icon","_DeleteOutlined","confirmIcon","_CloseCircleFilled","color","size"],"mappings":";ycAMaA,EAAa,SAAbA,EAAcC,GAWzB,IAAAC,EAA4BC,EAAS,OAA9BC,EAAMF,EAAA,GAAEG,EAASH,EAAA,GACxB,IAAMI,EAAaC,IAEnB,IAAMC,EAAUC,EAAMC,kBAAiB,SAACC,GACtCA,EAAMC,kBACN,IAAKR,EAAQ,CACXC,EAAU,MACVC,EAAWO,QAAUC,YAAW,WAC9BT,EAAU,MACX,GAAE,IACL,KAAO,CACLU,aAAaT,EAAWO,SACxBR,EAAU,OACVJ,EAAMe,UACR,CACD,GAAE,KAEH,GAAIf,EAAMgB,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACED,EAACE,EAAW,CACVC,UAAWpB,EAAMoB,UACjBC,MAAOrB,EAAMqB,MACbC,MACGnB,EACCH,EAAMsB,KACJtB,EAAMsB,KAENL,EAAAM,EAAA,CAAiB,GAEjBvB,EAAMwB,YACRxB,EAAMwB,YAENP,EAAAQ,EAAA,CAAmBJ,MAAO,CAAEK,MAAO,SAGvCnB,QAASA,EACToB,KAAK,SAGX"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/delete-node/delete-node.tsx"],"sourcesContent":["import { CloseCircleFilled, DeleteOutlined } from '@ant-design/icons';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, Fragment, ReactElement, useRef, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\n/** 删除节点,点击后会弹出确认框 */\nexport const DeleteNode = (props: {\n onDelete: () => void;\n /** 默认图标 */\n icon?: ReactElement;\n /** 确认图标 */\n confirmIcon?: ReactElement;\n /** 是否隐藏 */\n hidden?: boolean;\n style?: CSSProperties;\n className?: string;\n}) => {\n const [status, setStatus] = useState(false);\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n const onClick = hooks.useDebounceClick((event) => {\n event.stopPropagation();\n if (!status) {\n setStatus(true);\n timeoutRef.current = setTimeout(() => {\n setStatus(false);\n }, 3000);\n } else {\n clearTimeout(timeoutRef.current);\n setStatus(false);\n props.onDelete();\n }\n }, 300);\n\n if (props.hidden) return <Fragment />;\n\n return (\n <IconWrapper\n className={props.className}\n style={props.style}\n icon={\n !status ? (\n props.icon ? (\n props.icon\n ) : (\n <DeleteOutlined />\n )\n ) : props.confirmIcon ? (\n props.confirmIcon\n ) : (\n <CloseCircleFilled style={{ color: 'red' }} />\n )\n }\n onClick={onClick}\n size=\"small\"\n />\n );\n};\n"],"names":["DeleteNode","props","_useState","useState","status","setStatus","timeoutRef","useRef","onClick","_hooks","useDebounceClick","event","stopPropagation","current","setTimeout","clearTimeout","onDelete","hidden","_jsx","Fragment","IconWrapper","className","style","icon","_DeleteOutlined","confirmIcon","_CloseCircleFilled","color","size"],"mappings":";ycAMaA,EAAa,SAAbA,EAAcC,GAWzB,IAAAC,EAA4BC,EAAS,OAA9BC,EAAMF,EAAA,GAAEG,EAASH,EAAA,GACxB,IAAMI,EAAaC,IAEnB,IAAMC,EAAUC,EAAMC,iBAAiB,SAACC,GACtCA,EAAMC,kBACN,IAAKR,EAAQ,CACXC,EAAU,MACVC,EAAWO,QAAUC,WAAW,WAC9BT,EAAU,MACX,EAAE,IACL,KAAO,CACLU,aAAaT,EAAWO,SACxBR,EAAU,OACVJ,EAAMe,UACR,CACD,EAAE,KAEH,GAAIf,EAAMgB,OAAQ,OAAOC,EAACC,EAAQ,CAAE,GAEpC,OACED,EAACE,EAAW,CACVC,UAAWpB,EAAMoB,UACjBC,MAAOrB,EAAMqB,MACbC,MACGnB,EACCH,EAAMsB,KACJtB,EAAMsB,KAENL,EAAAM,EAAA,CAAiB,GAEjBvB,EAAMwB,YACRxB,EAAMwB,YAENP,EAAAQ,EAAA,CAAmBJ,MAAO,CAAEK,MAAO,SAGvCnB,QAASA,EACToB,KAAK,SAGX"}
@@ -9,5 +9,5 @@ import './../fba-utils/index.css';
9
9
  import './../flex-layout/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{dialogConfirm as o}from"../dialog-confirm/index.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var t={open:function t(s){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},s,{onOk:s.onClick}))}};export{t as dialogAlert};
12
+ import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{dialogConfirm as o}from"../dialog-confirm/index.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-853b36e6.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-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var t={open:function t(s){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},s,{onOk:s.onClick}))}};export{t as dialogAlert};
13
13
  //# sourceMappingURL=index.js.map
@@ -8,5 +8,5 @@ import './../fba-utils/index.css';
8
8
  import './../flex-layout/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{dialogModal as t}from"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var s={open:function s(r){var e=o("v-dialog-confirm",r.className);return t.open(i({width:350,okText:"确定",cancelText:"取消",maskClosable:true,size:null},r,{className:e}))}};export{s as dialogConfirm};
11
+ import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{dialogModal as t}from"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-853b36e6.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-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var s={open:function s(r){var e=o("v-dialog-confirm",r.className);return t.open(i({width:350,okText:"确定",cancelText:"取消",maskClosable:true,size:null},r,{className:e}))}};export{s as dialogConfirm};
12
12
  //# sourceMappingURL=index.js.map
@@ -8,5 +8,5 @@ import './../gap/index.css';
8
8
  import './../icon-wrapper/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{isString as e}from"@dimjs/lang/cjs/is-string";import o from"@ant-design/icons/es/icons/CloseOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isNumber as r}from"@dimjs/lang/cjs/is-number";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as n,Space as m}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as p}from"react-dom/client";import f from"react-draggable";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{Gap as g}from"../gap/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as h,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/lang/cjs/is-undefined";var w=function e(p){var w,_,x;var b=v.useResponsivePoint()||"";var k=n.useForm(),C=k[0];var I=s(true),O=I[0],N=I[1];var H=p.xOffset||0;var R=l.useCallbackRef((function(){try{N(false);setTimeout((function(){a.removeBodyChild("#"+p.elementId);delete window[p.elementId]}),100)}catch(e){}N(false)}));v.useEffectCustom((function(){window[p.elementId]=R}),[R]);var B=p.footer===null||p.okHidden&&p.cancelHidden&&!p.footerOperateBeforeRender&&!p.footerOperateAfterRender;var E=d(document.querySelector("html"));var K=c((function(){var e={};if(E){var o=E.height;e={maxHeight:o-200+"px"}}return i({},e,{height:p.bodyHeight})}),[E,p.bodyHeight]);var Y=c((function(){var e={opacity:O?1:0};var o=p.event&&r(p.event.clientX)&&r(p.event.clientY);var t=p.width||500;var l=["xs","sm"].includes(b);if(l){if(p.event&&o){var a=p.event.clientY;return i({},e,{top:a-30<0?a:a-30,width:"90%",left:"5%"},p.style)}return i({},e,{top:30,width:"90%",left:"5%"},p.style)}var d=0;if(p.event&&o){var n=p.event,m=n.clientX,s=n.clientY;e.left=m+H+"px";var c=s-30<0?s:s-30;e.top=c+"px";d=((E==null?void 0:E.width)||0)-m-H-t;if(d<0){e.left=m-t-H}}else{e.top="100px";e.left="50%";e.marginLeft="-"+t/2+"px"}return i({width:t},e,p.style)}),[O,p.width,p.event,H,p.style,b,E]);return h(f,{handle:".dialog-drag-modal-move-handle",children:j("div",{className:t("dialog-drag-modal",p.className),style:Y,children:[j("div",{className:"dialog-drag-modal-header dialog-drag-modal-move-handle",style:(w=p.styles)==null?void 0:w.header,children:[h("div",{className:"dialog-drag-modal-title",children:p.title}),h(y,{className:"dialog-drag-modal-close",icon:h(o,{}),onClick:R})]}),h("div",{className:"dialog-drag-modal-body",style:i({},K,(_=p.styles)==null?void 0:_.body),children:typeof p.content==="function"?p.content(C,{onClose:R}):p.content}),B?h(g,{className:"dialog-drag-modal-move-handle",height:20}):h("div",{className:"dialog-drag-modal-footer dialog-drag-modal-move-handle",style:(x=p.styles)==null?void 0:x.footer,children:p.footer?p.footer(C,{onClose:R}):j(m,{children:[p.footerOperateBeforeRender==null?void 0:p.footerOperateBeforeRender(C,{onClose:R}),p.cancelHidden==true?null:h(u,{type:"default",onClick:R,children:"取消"}),p.okHidden==true?null:h(u,{type:"primary",children:"提交"}),p.footerOperateAfterRender==null?void 0:p.footerOperateAfterRender(C,{onClose:R})]})})]})})};var _={open:function e(o){if(o.modalKey&&document.getElementById(o.modalKey)){return}var t=a.bodyAppendDivElement(o.modalKey),r=t.divElement,l=t.elementId;var d=o.modalKey?"__dialog_drag_modal_elementId_"+o.modalKey:"__dialog_drag_modal_elementId";window[d]=l;var n=p(r);n.render(h(w,i({},o,{divElement:r,elementId:l})));return{close:function e(){var o,t;(o=(t=window)[l])==null||o.call(t)}}},close:function o(t){try{var r,i;var l=t?window["__dialog_drag_modal_elementId_"+t]:window["__dialog_drag_modal_elementId"];if(e(l))(r=(i=window)[l])==null||r.call(i)}catch(e){}}};export{_ as dialogDragModal};
11
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import o from"@ant-design/icons/es/icons/CloseOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isNumber as r}from"@dimjs/lang/cjs/is-number";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as n,Space as m}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as p}from"react-dom/client";import f from"react-draggable";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{Gap as g}from"../gap/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as h,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-853b36e6.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/lang/cjs/is-undefined";var w=function e(p){var w,_,x;var b=v.useResponsivePoint()||"";var k=n.useForm(),C=k[0];var I=s(true),O=I[0],N=I[1];var H=p.xOffset||0;var R=l.useCallbackRef(function(){try{N(false);setTimeout(function(){a.removeBodyChild("#"+p.elementId);delete window[p.elementId]},100)}catch(e){}N(false)});v.useEffectCustom(function(){window[p.elementId]=R},[R]);var B=p.footer===null||p.okHidden&&p.cancelHidden&&!p.footerOperateBeforeRender&&!p.footerOperateAfterRender;var E=d(document.querySelector("html"));var K=c(function(){var e={};if(E){var o=E.height;e={maxHeight:o-200+"px"}}return i({},e,{height:p.bodyHeight})},[E,p.bodyHeight]);var Y=c(function(){var e={opacity:O?1:0};var o=p.event&&r(p.event.clientX)&&r(p.event.clientY);var t=p.width||500;var l=["xs","sm"].includes(b);if(l){if(p.event&&o){var a=p.event.clientY;return i({},e,{top:a-30<0?a:a-30,width:"90%",left:"5%"},p.style)}return i({},e,{top:30,width:"90%",left:"5%"},p.style)}var d=0;if(p.event&&o){var n=p.event,m=n.clientX,s=n.clientY;e.left=m+H+"px";var c=s-30<0?s:s-30;e.top=c+"px";d=((E==null?void 0:E.width)||0)-m-H-t;if(d<0){e.left=m-t-H}}else{e.top="100px";e.left="50%";e.marginLeft="-"+t/2+"px"}return i({width:t},e,p.style)},[O,p.width,p.event,H,p.style,b,E]);return h(f,{handle:".dialog-drag-modal-move-handle",children:j("div",{className:t("dialog-drag-modal",p.className),style:Y,children:[j("div",{className:"dialog-drag-modal-header dialog-drag-modal-move-handle",style:(w=p.styles)==null?void 0:w.header,children:[h("div",{className:"dialog-drag-modal-title",children:p.title}),h(y,{className:"dialog-drag-modal-close",icon:h(o,{}),onClick:R})]}),h("div",{className:"dialog-drag-modal-body",style:i({},K,(_=p.styles)==null?void 0:_.body),children:typeof p.content==="function"?p.content(C,{onClose:R}):p.content}),B?h(g,{className:"dialog-drag-modal-move-handle",height:20}):h("div",{className:"dialog-drag-modal-footer dialog-drag-modal-move-handle",style:(x=p.styles)==null?void 0:x.footer,children:p.footer?p.footer(C,{onClose:R}):j(m,{children:[p.footerOperateBeforeRender==null?void 0:p.footerOperateBeforeRender(C,{onClose:R}),p.cancelHidden==true?null:h(u,{type:"default",onClick:R,children:"取消"}),p.okHidden==true?null:h(u,{type:"primary",children:"提交"}),p.footerOperateAfterRender==null?void 0:p.footerOperateAfterRender(C,{onClose:R})]})})]})})};var _={open:function e(o){if(o.modalKey&&document.getElementById(o.modalKey)){return}var t=a.bodyAppendDivElement(o.modalKey),r=t.divElement,l=t.elementId;var d=o.modalKey?"__dialog_drag_modal_elementId_"+o.modalKey:"__dialog_drag_modal_elementId";window[d]=l;var n=p(r);n.render(h(w,i({},o,{divElement:r,elementId:l})));return{close:function e(){var o,t;(o=(t=window)[l])==null||o.call(t)}}},close:function o(t){try{var r,i;var l=t?window["__dialog_drag_modal_elementId_"+t]:window["__dialog_drag_modal_elementId"];if(e(l))(r=(i=window)[l])==null||r.call(i)}catch(e){}}};export{_ as dialogDragModal};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drag-modal/drag-modal.tsx"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { isNumber, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { BodyAppendDivElementProps, TNoopDefine } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Space } from 'antd';\nimport type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Draggable from 'react-draggable';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { Gap } from '../gap';\nimport { IconWrapper } from '../icon-wrapper';\nimport './style.less';\n\nexport type DialogDragModalProps = {\n /** 相同的modalKey,最多只有一个弹起状态 */\n modalKey?: string;\n className?: string;\n style?: CSSProperties;\n styles?: {\n header?: CSSProperties;\n body?: CSSProperties;\n footer?: CSSProperties;\n };\n width?: number;\n bodyHeight?: number;\n /** 触发弹起点击事件event,用于计算鼠标位置 */\n event?: React.MouseEvent<HTMLElement>;\n /** 定义弹出层距离触发点的x轴偏移量 */\n xOffset?: number;\n\n title?: string;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\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 /** 覆盖当前footer,自定义操作按钮 */\n footer?: null | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n /** 当前footer操作按钮,左侧扩展 */\n footerOperateBeforeRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n /** 当前footer操作按钮,右侧扩展 */\n footerOperateAfterRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDragModalProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [form] = Form.useForm();\n const [open, setOpen] = useState(true);\n const xOffset = props.xOffset || 0;\n const onClose = hooks.useCallbackRef(() => {\n try {\n setOpen(false);\n setTimeout(() => {\n dom.removeBodyChild(`#${props.elementId}`);\n delete window[props.elementId];\n }, 100);\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[props.elementId] = onClose;\n }, [onClose]);\n\n const hiddenFooter =\n props.footer === null ||\n (props.okHidden &&\n props.cancelHidden &&\n !props.footerOperateBeforeRender &&\n !props.footerOperateAfterRender);\n\n const htmlSize = useSize(document.querySelector('html'));\n\n const bodyStyle = useMemo(() => {\n let style: CSSProperties = {};\n if (htmlSize) {\n const { height } = htmlSize;\n style = {\n maxHeight: `${height - 200}px`,\n };\n }\n return {\n ...style,\n height: props.bodyHeight,\n };\n }, [htmlSize, props.bodyHeight]);\n\n const modalStyle = useMemo(() => {\n const style: CSSProperties = {\n opacity: open ? 1 : 0,\n };\n\n const hasEvent = props.event && isNumber(props.event.clientX) && isNumber(props.event.clientY);\n const width = props.width || 500;\n\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n if (props.event && hasEvent) {\n const { clientY } = props.event;\n return {\n ...style,\n top: clientY - 30 < 0 ? clientY : clientY - 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n return {\n ...style,\n top: 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n let modalToRightWallCount = 0;\n if (props.event && hasEvent) {\n const { clientX, clientY } = props.event;\n style.left = `${clientX + xOffset}px`;\n const top = clientY - 30 < 0 ? clientY : clientY - 30;\n style.top = `${top}px`;\n modalToRightWallCount = (htmlSize?.width || 0) - clientX - xOffset - width;\n\n if (modalToRightWallCount < 0) {\n style.left = clientX - width - xOffset;\n }\n } else {\n style.top = '100px';\n style.left = '50%';\n style.marginLeft = `-${width / 2}px`;\n }\n\n return {\n width,\n ...style,\n ...props.style,\n };\n }, [open, props.width, props.event, xOffset, props.style, screenType, htmlSize]);\n\n return (\n <Draggable handle=\".dialog-drag-modal-move-handle\">\n <div className={classNames('dialog-drag-modal', props.className)} style={modalStyle}>\n <div className=\"dialog-drag-modal-header dialog-drag-modal-move-handle\" style={props.styles?.header}>\n <div className=\"dialog-drag-modal-title\">{props.title}</div>\n <IconWrapper className=\"dialog-drag-modal-close\" icon={<CloseOutlined />} onClick={onClose} />\n </div>\n <div className=\"dialog-drag-modal-body\" style={{ ...bodyStyle, ...props.styles?.body }}>\n {typeof props.content === 'function' ? props.content(form, { onClose }) : props.content}\n </div>\n {hiddenFooter ? (\n <Gap className=\"dialog-drag-modal-move-handle\" height={20} />\n ) : (\n <div\n className=\"dialog-drag-modal-footer dialog-drag-modal-move-handle\"\n style={props.styles?.footer}\n >\n {props.footer ? (\n props.footer(form, { onClose })\n ) : (\n <Space>\n {props.footerOperateBeforeRender?.(form, { onClose })}\n {props.cancelHidden == true ? null : (\n <ButtonWrapper type=\"default\" onClick={onClose}>\n 取消\n </ButtonWrapper>\n )}\n {props.okHidden == true ? null : <ButtonWrapper type=\"primary\">提交</ButtonWrapper>}\n {props.footerOperateAfterRender?.(form, { onClose })}\n </Space>\n )}\n </div>\n )}\n </div>\n </Draggable>\n );\n};\n\n/**\n * 可移动弹框\n * ```\n * 1. 设置 event 后,弹起位置受鼠标点击位置控制\n * 2. 相同的modalKey,最多只有一个弹起状态\n * ```\n */\nexport const dialogDragModal = {\n open: (props: DialogDragModalProps) => {\n if (props.modalKey && document.getElementById(props.modalKey)) {\n return;\n }\n const { divElement, elementId } = dom.bodyAppendDivElement(props.modalKey);\n const idKey = props.modalKey\n ? `__dialog_drag_modal_elementId_${props.modalKey}`\n : '__dialog_drag_modal_elementId';\n window[idKey] = 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. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: (modalKey?: string) => {\n try {\n const elementId = (\n modalKey\n ? window[`__dialog_drag_modal_elementId_${modalKey}`]\n : window['__dialog_drag_modal_elementId']\n ) as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_props$styles","_props$styles2","_props$styles3","screenType","fbaHooks","useResponsivePoint","_Form$useForm","Form","useForm","form","_useState","useState","open","setOpen","xOffset","onClose","_hooks","useCallbackRef","setTimeout","dom","removeBodyChild","elementId","window","_error","useEffectCustom","hiddenFooter","footer","okHidden","cancelHidden","footerOperateBeforeRender","footerOperateAfterRender","htmlSize","useSize","document","querySelector","bodyStyle","useMemo","style","height","maxHeight","_extends","bodyHeight","modalStyle","opacity","hasEvent","event","_isNumber","clientX","clientY","width","isXsSm","includes","top","left","modalToRightWallCount","_props$event","marginLeft","_jsx","Draggable","handle","children","_jsxs","className","_classNames","styles","header","title","IconWrapper","icon","_CloseOutlined","onClick","body","content","Gap","Space","ButtonWrapper","type","dialogDragModal","modalKey","getElementById","_dom$bodyAppendDivEle","bodyAppendDivElement","divElement","idKey","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drag-modal/drag-modal.tsx"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { isNumber, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { BodyAppendDivElementProps, TNoopDefine } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Space } from 'antd';\nimport type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Draggable from 'react-draggable';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { Gap } from '../gap';\nimport { IconWrapper } from '../icon-wrapper';\nimport './style.less';\n\nexport type DialogDragModalProps = {\n /** 相同的modalKey,最多只有一个弹起状态 */\n modalKey?: string;\n className?: string;\n style?: CSSProperties;\n styles?: {\n header?: CSSProperties;\n body?: CSSProperties;\n footer?: CSSProperties;\n };\n width?: number;\n bodyHeight?: number;\n /** 触发弹起点击事件event,用于计算鼠标位置 */\n event?: React.MouseEvent<HTMLElement>;\n /** 定义弹出层距离触发点的x轴偏移量 */\n xOffset?: number;\n\n title?: string;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\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 /** 覆盖当前footer,自定义操作按钮 */\n footer?: null | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n /** 当前footer操作按钮,左侧扩展 */\n footerOperateBeforeRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n /** 当前footer操作按钮,右侧扩展 */\n footerOperateAfterRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDragModalProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [form] = Form.useForm();\n const [open, setOpen] = useState(true);\n const xOffset = props.xOffset || 0;\n const onClose = hooks.useCallbackRef(() => {\n try {\n setOpen(false);\n setTimeout(() => {\n dom.removeBodyChild(`#${props.elementId}`);\n delete window[props.elementId];\n }, 100);\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[props.elementId] = onClose;\n }, [onClose]);\n\n const hiddenFooter =\n props.footer === null ||\n (props.okHidden &&\n props.cancelHidden &&\n !props.footerOperateBeforeRender &&\n !props.footerOperateAfterRender);\n\n const htmlSize = useSize(document.querySelector('html'));\n\n const bodyStyle = useMemo(() => {\n let style: CSSProperties = {};\n if (htmlSize) {\n const { height } = htmlSize;\n style = {\n maxHeight: `${height - 200}px`,\n };\n }\n return {\n ...style,\n height: props.bodyHeight,\n };\n }, [htmlSize, props.bodyHeight]);\n\n const modalStyle = useMemo(() => {\n const style: CSSProperties = {\n opacity: open ? 1 : 0,\n };\n\n const hasEvent = props.event && isNumber(props.event.clientX) && isNumber(props.event.clientY);\n const width = props.width || 500;\n\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n if (props.event && hasEvent) {\n const { clientY } = props.event;\n return {\n ...style,\n top: clientY - 30 < 0 ? clientY : clientY - 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n return {\n ...style,\n top: 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n let modalToRightWallCount = 0;\n if (props.event && hasEvent) {\n const { clientX, clientY } = props.event;\n style.left = `${clientX + xOffset}px`;\n const top = clientY - 30 < 0 ? clientY : clientY - 30;\n style.top = `${top}px`;\n modalToRightWallCount = (htmlSize?.width || 0) - clientX - xOffset - width;\n\n if (modalToRightWallCount < 0) {\n style.left = clientX - width - xOffset;\n }\n } else {\n style.top = '100px';\n style.left = '50%';\n style.marginLeft = `-${width / 2}px`;\n }\n\n return {\n width,\n ...style,\n ...props.style,\n };\n }, [open, props.width, props.event, xOffset, props.style, screenType, htmlSize]);\n\n return (\n <Draggable handle=\".dialog-drag-modal-move-handle\">\n <div className={classNames('dialog-drag-modal', props.className)} style={modalStyle}>\n <div className=\"dialog-drag-modal-header dialog-drag-modal-move-handle\" style={props.styles?.header}>\n <div className=\"dialog-drag-modal-title\">{props.title}</div>\n <IconWrapper className=\"dialog-drag-modal-close\" icon={<CloseOutlined />} onClick={onClose} />\n </div>\n <div className=\"dialog-drag-modal-body\" style={{ ...bodyStyle, ...props.styles?.body }}>\n {typeof props.content === 'function' ? props.content(form, { onClose }) : props.content}\n </div>\n {hiddenFooter ? (\n <Gap className=\"dialog-drag-modal-move-handle\" height={20} />\n ) : (\n <div\n className=\"dialog-drag-modal-footer dialog-drag-modal-move-handle\"\n style={props.styles?.footer}\n >\n {props.footer ? (\n props.footer(form, { onClose })\n ) : (\n <Space>\n {props.footerOperateBeforeRender?.(form, { onClose })}\n {props.cancelHidden == true ? null : (\n <ButtonWrapper type=\"default\" onClick={onClose}>\n 取消\n </ButtonWrapper>\n )}\n {props.okHidden == true ? null : <ButtonWrapper type=\"primary\">提交</ButtonWrapper>}\n {props.footerOperateAfterRender?.(form, { onClose })}\n </Space>\n )}\n </div>\n )}\n </div>\n </Draggable>\n );\n};\n\n/**\n * 可移动弹框\n * ```\n * 1. 设置 event 后,弹起位置受鼠标点击位置控制\n * 2. 相同的modalKey,最多只有一个弹起状态\n * ```\n */\nexport const dialogDragModal = {\n open: (props: DialogDragModalProps) => {\n if (props.modalKey && document.getElementById(props.modalKey)) {\n return;\n }\n const { divElement, elementId } = dom.bodyAppendDivElement(props.modalKey);\n const idKey = props.modalKey\n ? `__dialog_drag_modal_elementId_${props.modalKey}`\n : '__dialog_drag_modal_elementId';\n window[idKey] = 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. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: (modalKey?: string) => {\n try {\n const elementId = (\n modalKey\n ? window[`__dialog_drag_modal_elementId_${modalKey}`]\n : window['__dialog_drag_modal_elementId']\n ) as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_props$styles","_props$styles2","_props$styles3","screenType","fbaHooks","useResponsivePoint","_Form$useForm","Form","useForm","form","_useState","useState","open","setOpen","xOffset","onClose","_hooks","useCallbackRef","setTimeout","dom","removeBodyChild","elementId","window","_error","useEffectCustom","hiddenFooter","footer","okHidden","cancelHidden","footerOperateBeforeRender","footerOperateAfterRender","htmlSize","useSize","document","querySelector","bodyStyle","useMemo","style","height","maxHeight","_extends","bodyHeight","modalStyle","opacity","hasEvent","event","_isNumber","clientX","clientY","width","isXsSm","includes","top","left","modalToRightWallCount","_props$event","marginLeft","_jsx","Draggable","handle","children","_jsxs","className","_classNames","styles","header","title","IconWrapper","icon","_CloseOutlined","onClick","body","content","Gap","Space","ButtonWrapper","type","dialogDragModal","modalKey","getElementById","_dom$bodyAppendDivEle","bodyAppendDivElement","divElement","idKey","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -6,5 +6,5 @@ import './../types/index.css';
6
6
  import './../fba-utils/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as r,a as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as u}from"react-dom/client";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{C as p}from"../index-83bede1b.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{u as v,C as j}from"../context-1f2093c6.js";import{jsx as h,jsxs as w}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@wove/react/cjs/create-ctx";var x=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var y=function e(i){var u;var v=i.divElement,y=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,P=i.configProviderProps,b=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,F=i.operatePosition,I=F===void 0?"footer":F,R=i.operateRender,W=i.width,H=i.okHidden,O=i.cancelHidden,D=i.extra,T=t(i,x);var z=s(true),S=z[0],Y=z[1];var A=s(),L=A[0],M=A[1];var N=a.useForm(),U=N[0];var q=f.useResponsivePoint()||"";var G=s({}),J=G[0],K=G[1];var Q=n.useCallbackRef((function(){try{delete window[y]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[y]=Q}),[Q]);var V=n.useCallbackRef((function(e){if(k){var r=k(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var X=n.useCallbackRef((function(e){if(g){var r=g(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var Z=f.useMemoCustom((function(){if(R){return R(U,J)}var e=H||(E==null?void 0:E.hidden);var t=H||(E==null?void 0:E.hidden);var o=w(l,{children:[t?null:h(m,r({},B,{onClick:V,children:_||"取消"})),e?null:h(m,r({type:"primary"},E,{onClick:X,children:b||"提交"}))]});if(!H||!O){return o}return null}),[J]);var $=typeof D==="function"?D(U):D;var ee=function e(r){M(r)};var re=c((function(){if(!q)return undefined;if(["xs","sm"].includes(q)){return{width:"90%",maxWidth:"90%"}}if(W){return{width:W,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[q,W]);var te=function e(r){K(r)};var oe=c((function(){return typeof C==="function"?C(U,{onClose:Q}):C}),[]);return h(j,{value:{onClose:Q,updateBodyStyle:ee,rerenderFooter:te},children:h(p,r({},P,{children:h(d,r({maskClosable:true,destroyOnClose:true,onClose:Q,contentWrapperStyle:{maxWidth:re==null?void 0:re.maxWidth},footer:I==="footer"?Z:null},T,{width:re==null?void 0:re.width,styles:r({},T.styles,{body:r({},L,(u=T.styles)==null?void 0:u.body)}),extra:I==="header"?Z:$,open:S,getContainer:v,children:oe}))}))})};var g={open:function e(t){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=u(n);l.render(h(y,r({},t,{divElement:n,elementId:a})));return{close:function e(){var r,t;(r=(t=window)[a])==null||r.call(t)}}},close:function r(){try{var t,o;var n=window["__dialog_drawer_elementId"];if(e(n))(t=(o=window)[n])==null||t.call(o)}catch(e){}},useDialogDrawer:function e(){var r=v();return{rerenderFooter:function e(t){r.rerenderFooter(t)}}}};export{g as dialogDrawer};
9
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as r,a as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as u}from"react-dom/client";import{ButtonWrapper as m}from"../button-wrapper/index.js";import{C as p}from"../index-853b36e6.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{u as v,C as j}from"../context-1f2093c6.js";import{jsx as h,jsxs as w}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@wove/react/cjs/create-ctx";var x=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var y=function e(i){var u;var v=i.divElement,y=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,P=i.configProviderProps,b=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,F=i.operatePosition,I=F===void 0?"footer":F,R=i.operateRender,W=i.width,H=i.okHidden,O=i.cancelHidden,D=i.extra,T=t(i,x);var z=s(true),S=z[0],Y=z[1];var A=s(),L=A[0],M=A[1];var N=a.useForm(),U=N[0];var q=f.useResponsivePoint()||"";var G=s({}),J=G[0],K=G[1];var Q=n.useCallbackRef(function(){try{delete window[y]}catch(e){}Y(false)});f.useEffectCustom(function(){window[y]=Q},[Q]);var V=n.useCallbackRef(function(e){if(k){var r=k(U,e);if(r&&o(r)){return r.then(Q)}}return Q()});var X=n.useCallbackRef(function(e){if(g){var r=g(U,e);if(r&&o(r)){return r.then(Q)}}return Q()});var Z=f.useMemoCustom(function(){if(R){return R(U,J)}var e=H||(E==null?void 0:E.hidden);var t=H||(E==null?void 0:E.hidden);var o=w(l,{children:[t?null:h(m,r({},B,{onClick:V,children:_||"取消"})),e?null:h(m,r({type:"primary"},E,{onClick:X,children:b||"提交"}))]});if(!H||!O){return o}return null},[J]);var $=typeof D==="function"?D(U):D;var ee=function e(r){M(r)};var re=c(function(){if(!q)return undefined;if(["xs","sm"].includes(q)){return{width:"90%",maxWidth:"90%"}}if(W){return{width:W,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}},[q,W]);var te=function e(r){K(r)};var oe=c(function(){return typeof C==="function"?C(U,{onClose:Q}):C},[]);return h(j,{value:{onClose:Q,updateBodyStyle:ee,rerenderFooter:te},children:h(p,r({},P,{children:h(d,r({maskClosable:true,destroyOnClose:true,onClose:Q,contentWrapperStyle:{maxWidth:re==null?void 0:re.maxWidth},footer:I==="footer"?Z:null},T,{width:re==null?void 0:re.width,styles:r({},T.styles,{body:r({},L,(u=T.styles)==null?void 0:u.body)}),extra:I==="header"?Z:$,open:S,getContainer:v,children:oe}))}))})};var g={open:function e(t){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=u(n);l.render(h(y,r({},t,{divElement:n,elementId:a})));return{close:function e(){var r,t;(r=(t=window)[a])==null||r.call(t)}}},close:function r(){try{var t,o;var n=window["__dialog_drawer_elementId"];if(e(n))(t=(o=window)[n])==null||t.call(o)}catch(e){}},useDialogDrawer:function e(){var r=v();return{rerenderFooter:function e(t){r.rerenderFooter(t)}}}};export{g as dialogDrawer};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider, useDialogDrawerCtx } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n /**\n * content只在第一次弹起时,执行一次\n */\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle, rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={open}\n getContainer={divElement}\n >\n {contentFt}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_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. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogDrawer: () => {\n const ctx = useDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","_useState3","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","newOperateRender","useMemoCustom","okHiddenNew","hidden","cancelHiddenNew","operateGroup","_jsxs","Space","children","_jsx","ButtonWrapper","_extends","onClick","type","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","rerenderFooter","data","contentFt","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogDrawer","ctx","useDialogDrawerCtx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider, useDialogDrawerCtx } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n /**\n * content只在第一次弹起时,执行一次\n */\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle, rerenderFooter }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={open}\n getContainer={divElement}\n >\n {contentFt}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_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. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogDrawer: () => {\n const ctx = useDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","_useState3","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","newOperateRender","useMemoCustom","okHiddenNew","hidden","cancelHiddenNew","operateGroup","_jsxs","Space","children","_jsx","ButtonWrapper","_extends","onClick","type","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","rerenderFooter","data","contentFt","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString","useDialogDrawer","ctx","useDialogDrawerCtx"],"mappings":";igDA2CA,IAAMA,EAAc,SAAdA,EAAeC,GAAyD,IAAAC,EAC5E,IACEC,EAiBEF,EAjBFE,WACAC,EAgBEH,EAhBFG,UACAC,EAeEJ,EAfFI,KACAC,EAcEL,EAdFK,SACAC,EAaEN,EAbFM,QACAC,EAYEP,EAZFO,oBACAC,EAWER,EAXFQ,OACAC,EAUET,EAVFS,WACAC,EASEV,EATFU,mBACAC,EAQEX,EARFW,uBAAsBC,EAQpBZ,EAPFa,gBAAAA,EAAeD,SAAG,EAAA,SAAQA,EAC1BE,EAMEd,EANFc,cACAC,EAKEf,EALFe,MACAC,EAIEhB,EAJFgB,SACAC,EAGEjB,EAHFiB,aACAC,EAEElB,EAFFkB,MACGC,EAAUC,EACXpB,EAAKqB,GACT,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpB,IAAAI,EAA4CH,IAArCI,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACxC,IAAAG,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAaC,EAASC,sBAAwB,GACpD,IAAAC,EAA8Cb,EAAuB,IAA9Dc,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,GAE1C,IAAMG,EAAUC,EAAMC,eAAe,WACnC,WACSC,OAAOvC,EACf,CAAC,MAAOwC,GACP,CAEFlB,EAAQ,MACV,GAEAS,EAASU,gBAAgB,WACvBF,OAAOvC,GAAaoC,CACtB,EAAG,CAACA,IAEJ,IAAMM,EAAiBL,EAAMC,eAAe,SAACK,GAC3C,GAAIzC,EAAU,CACZ,IAAM0C,EAAW1C,EAAS2B,EAAMc,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,GAEA,IAAMW,EAAaV,EAAMC,eAAe,SAACK,GACvC,GAAI1C,EAAM,CACR,IAAM2C,EAAW3C,EAAK4B,EAAMc,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,GAEA,IAAMY,EAAmBjB,EAASkB,cAAc,WAC9C,GAAItC,EAAe,CACjB,OAAOA,EAAckB,EAAMK,EAC7B,CAEA,IAAMgB,EAAcrC,IAAYN,GAAAA,UAAAA,EAAAA,EAAoB4C,QACpD,IAAMC,EAAkBvC,IAAYN,GAAAA,UAAAA,EAAAA,EAAoB4C,QAExD,IAAME,EACJC,EAACC,EAAK,CAAAC,SAAA,CACHJ,EAAkB,KACjBK,EAACC,EAAaC,EAAA,CAAA,EAAKnD,EAAsB,CAAEoD,QAASlB,EAAec,SAChElD,GAAc,QAGlB4C,EAAc,KACbO,EAACC,EAAaC,EAAA,CAACE,KAAK,WAActD,EAAkB,CAAEqD,QAASb,EAAWS,SACvEnD,GAAU,WAKnB,IAAKQ,IAAaC,EAAc,CAC9B,OAAOuC,CACT,CACA,OAAO,IACT,EAAG,CAACnB,IAEJ,IAAM4B,SAAqB/C,IAAU,WAAaA,EAAMc,GAAQd,EAEhE,IAAMgD,GAAkB,SAAlBA,EAAmBC,GACvBvC,EAAkBuC,IAGpB,IAAMC,GAAaC,EAAQ,WACzB,IAAKpC,EAAY,OAAOqC,UACxB,GAAI,CAAC,KAAM,MAAMC,SAAStC,GAAa,CACrC,MAAO,CACLlB,MAAO,MACPyD,SAAU,MAEd,CACA,GAAIzD,EAAO,CACT,MAAO,CAAEA,MAAOA,EAAOyD,SAAU,qBACnC,CACA,MAAO,CAAEzD,MAAO,MAAOyD,SAAU,qBACnC,EAAG,CAACvC,EAAYlB,IAEhB,IAAM0D,GAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAIrB,IAAMC,GAAYN,EAAQ,WACxB,cAAc/D,IAAY,WAAaA,EAAQ0B,EAAM,CAAEO,QAAAA,IAAajC,CAErE,EAAE,IAEH,OACEsD,EAACgB,EAAW,CAACC,MAAO,CAAEtC,QAAAA,EAAS2B,gBAAAA,GAAiBO,eAAAA,IAAiBd,SAC/DC,EAACkB,EAAqBhB,KAAKvD,EAAmB,CAAAoD,SAC5CC,EAACmB,EAAMjB,EAAA,CACLkB,aAAc,KACdC,eAAc,KACd1C,QAASA,EAET2C,oBAAqB,CAAEV,SAAUJ,IAAAA,UAAAA,EAAAA,GAAYI,UAC7CW,OAAQtE,IAAoB,SAAWsC,EAAmB,MACtDhC,EAAU,CACdJ,MAAOqD,IAAAA,UAAAA,EAAAA,GAAYrD,MACnBqE,OAAMtB,EACD3C,GAAAA,EAAWiE,OAAM,CACpBC,KAAIvB,EAAOnC,GAAAA,GAAc1B,EAAKkB,EAAWiE,SAAXnF,UAAAA,EAAAA,EAAmBoF,QAMnDnE,MAAOL,IAAoB,SAAWsC,EAAmBc,EACzDzC,KAAMA,EACN8D,aAAcpF,EAAWyD,SAExBgB,UAKX,EAcO,IAAMY,EAAe,CAC1B/D,KAAM,SAANA,EAAOxB,GACL,IAAAwF,EAAkCC,EAAIC,uBAA9BxF,EAAUsF,EAAVtF,WAAYC,EAASqF,EAATrF,UACpBuC,OAAO,6BAA+BvC,EACtC,IAAMwF,EAAOC,EAAW1F,GACxByF,EAAKE,OAAOjC,EAAC7D,EAAW+D,EAAA,CAAA,EAAK9D,EAAK,CAAEE,WAAYA,EAAYC,UAAWA,MACvE,MAAO,CACL2F,MAAO,SAAPA,IAAa,IAAAC,EAAAC,GACXD,GAAAC,EAAAtD,QAAOvC,KAAU,MAAjB4F,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAPA,IACE,IAAI,IAAAI,EAAAC,EACF,IAAMhG,EAAYuC,OAAO,6BACzB,GAAI0D,EAASjG,IAAY+F,GAAAC,EAAAzD,QAAOvC,KAAP+F,MAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAOxD,GACP,CAEH,EAMD0D,gBAAiB,SAAjBA,IACE,IAAMC,EAAMC,IACZ,MAAO,CAEL9B,eAAgB,SAAhBA,EAAiBC,GACf4B,EAAI7B,eAAeC,EACrB,EAEJ"}
@@ -6,5 +6,5 @@ import './../types/index.css';
6
6
  import './../fba-utils/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as i}from"@wove/react/cjs/hooks";import{Space as o}from"antd";import{ButtonWrapper as t}from"../button-wrapper/index.js";import{u as a}from"../context-1f2093c6.js";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsxs as s,jsx as l}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"react";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@wove/react/cjs/create-ctx";var d=function d(m){var p=a();var c=p.onClose;n.useEffectCustom((function(){p.updateBodyStyle({padding:0})}),[]);var u=m.okHidden,j=m.onCancel,f=m.onOk,y=m.cancelHidden,v=m.cancelText,g=m.okText,h=m.okButtonExtraProps,k=m.cancelButtonExtraProps,x=m.footer;var w=i.useCallbackRef((function(r){if(j){var i=j(r);if(i&&e(i)){return i.then(c)}}return c()}));var C=i.useCallbackRef((function(r){if(f){var i=f(r);if(i&&e(i)){return i.then(c)}}return c()}));var b=s(o,{children:[y||k!=null&&k.hidden?null:l(t,r({},k,{onClick:w,children:v||"取消"})),u||h!=null&&h.hidden?null:l(t,r({type:"primary"},h,{onClick:C,children:g||"提交"}))]});return s("div",{className:"dialog-drawer-content-wrapper",children:[l("div",{className:"dialog-drawer-content",children:m.children}),l("div",{className:"dialog-drawer-footer",style:m.footerStyle,children:(x==null?void 0:x({onClose:c}))||b})]})};export{d as DialogDrawerContent};
9
+ import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as i}from"@wove/react/cjs/hooks";import{Space as o}from"antd";import{ButtonWrapper as t}from"../button-wrapper/index.js";import{u as a}from"../context-1f2093c6.js";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsxs as s,jsx as l}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"react";import"../index-853b36e6.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@wove/react/cjs/create-ctx";var d=function d(m){var p=a();var c=p.onClose;n.useEffectCustom(function(){p.updateBodyStyle({padding:0})},[]);var u=m.okHidden,j=m.onCancel,f=m.onOk,y=m.cancelHidden,v=m.cancelText,g=m.okText,h=m.okButtonExtraProps,k=m.cancelButtonExtraProps,x=m.footer;var w=i.useCallbackRef(function(r){if(j){var i=j(r);if(i&&e(i)){return i.then(c)}}return c()});var C=i.useCallbackRef(function(r){if(f){var i=f(r);if(i&&e(i)){return i.then(c)}}return c()});var b=s(o,{children:[y||k!=null&&k.hidden?null:l(t,r({},k,{onClick:w,children:v||"取消"})),u||h!=null&&h.hidden?null:l(t,r({type:"primary"},h,{onClick:C,children:g||"提交"}))]});return s("div",{className:"dialog-drawer-content-wrapper",children:[l("div",{className:"dialog-drawer-content",children:m.children}),l("div",{className:"dialog-drawer-footer",style:m.footerStyle,children:(x==null?void 0:x({onClose:c}))||b})]})};export{d as DialogDrawerContent};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer-content/content.tsx"],"sourcesContent":["import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { useDialogDrawerCtx } from '../dialog-drawer/context';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type DialogDrawerContentProps = {\n footer?: (data: { onClose: () => void }) => ReactElement;\n footerStyle?: CSSProperties;\n children?: ReactNode;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n/**\n * 当dialogDrawer底部操作按钮在业务content内部时,使用\n * ```\n * 1. 只能与 dialogDrawer 配合使用;与 FbaApp.useDialogDrawer 配合使用无效\n * 2. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效\n * ```\n */\nexport const DialogDrawerContent = (props: DialogDrawerContentProps) => {\n const ctx = useDialogDrawerCtx();\n const onClose = ctx.onClose;\n\n fbaHooks.useEffectCustom(() => {\n ctx.updateBodyStyle({ padding: 0 });\n }, []);\n\n const {\n okHidden,\n onCancel,\n onOk,\n cancelHidden,\n cancelText,\n okText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n footer,\n } = props;\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(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(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n return (\n <div className=\"dialog-drawer-content-wrapper\">\n <div className=\"dialog-drawer-content\">{props.children}</div>\n <div className=\"dialog-drawer-footer\" style={props.footerStyle}>\n {footer?.({ onClose }) || operateGroup}\n </div>\n </div>\n );\n};\n"],"names":["DialogDrawerContent","props","ctx","useDialogDrawerCtx","onClose","fbaHooks","useEffectCustom","updateBodyStyle","padding","okHidden","onCancel","onOk","cancelHidden","cancelText","okText","okButtonExtraProps","cancelButtonExtraProps","footer","onCancelHandle","_hooks","useCallbackRef","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","className","style","footerStyle"],"mappings":";imCA6BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IAAMC,EAAMC,IACZ,IAAMC,EAAUF,EAAIE,QAEpBC,EAASC,iBAAgB,WACvBJ,EAAIK,gBAAgB,CAAEC,QAAS,GAChC,GAAE,IAEH,IACEC,EASER,EATFQ,SACAC,EAQET,EARFS,SACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,aACAC,EAKEZ,EALFY,WACAC,EAIEb,EAJFa,OACAC,EAGEd,EAHFc,mBACAC,EAEEf,EAFFe,uBACAC,EACEhB,EADFgB,OAEF,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,GAAIX,EAAU,CACZ,IAAMY,EAAWZ,EAASW,GAC1B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMqB,EAAaN,EAAMC,gBAAe,SAACC,GACvC,GAAIV,EAAM,CACR,IAAMW,EAAWX,EAAKU,GACtB,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IACA,IAAMsB,EACJC,EAACC,EAAK,CAAAC,UACHjB,GAAgBI,GAAsB,MAAtBA,EAAwBc,OAAS,KAChDC,EAACC,EAAaC,KAAKjB,EAAsB,CAAEkB,QAAShB,EAAeW,SAChEhB,GAAc,QAGlBJ,GAAYM,SAAAA,EAAoBe,OAAS,KACxCC,EAACC,EAAaC,EAAA,CAACE,KAAK,WAAcpB,EAAkB,CAAEmB,QAAST,EAAWI,SACvEf,GAAU,WAKnB,OACEa,EAAA,MAAA,CAAKS,UAAU,gCAA+BP,UAC5CE,EAAA,MAAA,CAAKK,UAAU,wBAAuBP,SAAE5B,EAAM4B,WAC9CE,EAAA,MAAA,CAAKK,UAAU,uBAAuBC,MAAOpC,EAAMqC,YAAYT,UAC5DZ,GAAM,UAAA,EAANA,EAAS,CAAEb,QAAAA,MAAcsB,MAIlC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer-content/content.tsx"],"sourcesContent":["import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { useDialogDrawerCtx } from '../dialog-drawer/context';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type DialogDrawerContentProps = {\n footer?: (data: { onClose: () => void }) => ReactElement;\n footerStyle?: CSSProperties;\n children?: ReactNode;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n/**\n * 当dialogDrawer底部操作按钮在业务content内部时,使用\n * ```\n * 1. 只能与 dialogDrawer 配合使用;与 FbaApp.useDialogDrawer 配合使用无效\n * 2. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效\n * ```\n */\nexport const DialogDrawerContent = (props: DialogDrawerContentProps) => {\n const ctx = useDialogDrawerCtx();\n const onClose = ctx.onClose;\n\n fbaHooks.useEffectCustom(() => {\n ctx.updateBodyStyle({ padding: 0 });\n }, []);\n\n const {\n okHidden,\n onCancel,\n onOk,\n cancelHidden,\n cancelText,\n okText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n footer,\n } = props;\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(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(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n return (\n <div className=\"dialog-drawer-content-wrapper\">\n <div className=\"dialog-drawer-content\">{props.children}</div>\n <div className=\"dialog-drawer-footer\" style={props.footerStyle}>\n {footer?.({ onClose }) || operateGroup}\n </div>\n </div>\n );\n};\n"],"names":["DialogDrawerContent","props","ctx","useDialogDrawerCtx","onClose","fbaHooks","useEffectCustom","updateBodyStyle","padding","okHidden","onCancel","onOk","cancelHidden","cancelText","okText","okButtonExtraProps","cancelButtonExtraProps","footer","onCancelHandle","_hooks","useCallbackRef","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","className","style","footerStyle"],"mappings":";imCA6BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IAAMC,EAAMC,IACZ,IAAMC,EAAUF,EAAIE,QAEpBC,EAASC,gBAAgB,WACvBJ,EAAIK,gBAAgB,CAAEC,QAAS,GAChC,EAAE,IAEH,IACEC,EASER,EATFQ,SACAC,EAQET,EARFS,SACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,aACAC,EAKEZ,EALFY,WACAC,EAIEb,EAJFa,OACAC,EAGEd,EAHFc,mBACAC,EAEEf,EAFFe,uBACAC,EACEhB,EADFgB,OAEF,IAAMC,EAAiBC,EAAMC,eAAe,SAACC,GAC3C,GAAIX,EAAU,CACZ,IAAMY,EAAWZ,EAASW,GAC1B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,GAEA,IAAMqB,EAAaN,EAAMC,eAAe,SAACC,GACvC,GAAIV,EAAM,CACR,IAAMW,EAAWX,EAAKU,GACtB,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,GACA,IAAMsB,EACJC,EAACC,EAAK,CAAAC,UACHjB,GAAgBI,GAAsB,MAAtBA,EAAwBc,OAAS,KAChDC,EAACC,EAAaC,KAAKjB,EAAsB,CAAEkB,QAAShB,EAAeW,SAChEhB,GAAc,QAGlBJ,GAAYM,SAAAA,EAAoBe,OAAS,KACxCC,EAACC,EAAaC,EAAA,CAACE,KAAK,WAAcpB,EAAkB,CAAEmB,QAAST,EAAWI,SACvEf,GAAU,WAKnB,OACEa,EAAA,MAAA,CAAKS,UAAU,gCAA+BP,UAC5CE,EAAA,MAAA,CAAKK,UAAU,wBAAuBP,SAAE5B,EAAM4B,WAC9CE,EAAA,MAAA,CAAKK,UAAU,uBAAuBC,MAAOpC,EAAMqC,YAAYT,UAC5DZ,GAAM,UAAA,EAANA,EAAS,CAAEb,QAAAA,MAAcsB,MAIlC"}
@@ -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{_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.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 i}from"antd";import{useState as n}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 u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var f=function e(o){var s=o.elementId,m=o.className,f=o.divElement,v=o.message,p=o.mask;var g=l.useToken(),j=g.token;var w=j.colorPrimary;var k=n(true),_=k[0],b=k[1];var h=a.useCallbackRef((function(){try{delete window[s]}catch(e){}b(false)}));t.useEffectCustom((function(){window[s]=h}),[h]);var C=a.useCallbackRef((function(){d("#"+s)}));return c(i,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",m),open:_,afterClose:C,getContainer:f,footer:null,closable:false,style:{"--v-loading-color":w},mask:p,children:c("div",{className:r("v-dialog-loading-content"),children:u("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:v||"处理中"})]})})})};var v={open:function e(r){var a=m(),l=a.divElement,i=a.elementId;window["__dialog_loading_elementId"]=i;var n=s(l);n.render(c(f,o({},r,{divElement:l,elementId:i,mask:r==null?void 0:r.mask})));return{close:function e(){var o,r;(o=(r=window)[i])==null||o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null||r.call(a)}catch(e){}}};export{v as dialogLoading};
5
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.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 i}from"antd";import{useState as n}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 u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var f=function e(o){var s=o.elementId,m=o.className,f=o.divElement,v=o.message,p=o.mask;var g=l.useToken(),j=g.token;var w=j.colorPrimary;var k=n(true),_=k[0],b=k[1];var h=a.useCallbackRef(function(){try{delete window[s]}catch(e){}b(false)});t.useEffectCustom(function(){window[s]=h},[h]);var C=a.useCallbackRef(function(){d("#"+s)});return c(i,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",m),open:_,afterClose:C,getContainer:f,footer:null,closable:false,style:{"--v-loading-color":w},mask:p,children:c("div",{className:r("v-dialog-loading-content"),children:u("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:v||"处理中"})]})})})};var v={open:function e(r){var a=m(),l=a.divElement,i=a.elementId;window["__dialog_loading_elementId"]=i;var n=s(l);n.render(c(f,o({},r,{divElement:l,elementId:i,mask:r==null?void 0:r.mask})));return{close:function e(){var o,r;(o=(r=window)[i])==null||o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null||r.call(a)}catch(e){}}};export{v as dialogLoading};
6
6
  //# sourceMappingURL=index.js.map