@flatbiz/antd 4.5.55 → 4.5.57

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 (243) 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.css +1 -1
  22. package/esm/card-layout/index.js +1 -1
  23. package/esm/card-layout/index.js.map +1 -1
  24. package/esm/cascader-wrapper/index.js +1 -1
  25. package/esm/cascader-wrapper/index.js.map +1 -1
  26. package/esm/check-list/index.js +1 -1
  27. package/esm/check-list/index.js.map +1 -1
  28. package/esm/checkbox-wrapper/index.js +1 -1
  29. package/esm/checkbox-wrapper/index.js.map +1 -1
  30. package/esm/code-render/index.css +1 -0
  31. package/esm/code-render/index.js +5 -0
  32. package/esm/code-render/index.js.map +1 -0
  33. package/esm/color-picker-wrapper/index.css +1 -1
  34. package/esm/color-picker-wrapper/index.js +1 -1
  35. package/esm/color-picker-wrapper/index.js.map +1 -1
  36. package/esm/config-provider-wrapper/index.js +1 -1
  37. package/esm/copy-wrapper/index.js +1 -1
  38. package/esm/copy-wrapper/index.js.map +1 -1
  39. package/esm/date-picker-wrapper/index.js +1 -1
  40. package/esm/date-picker-wrapper/index.js.map +1 -1
  41. package/esm/date-range-picker-wrapper/index.js +1 -1
  42. package/esm/date-range-picker-wrapper/index.js.map +1 -1
  43. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  44. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  45. package/esm/delete-node/index.js +1 -1
  46. package/esm/delete-node/index.js.map +1 -1
  47. package/esm/dialog-alert/index.js +1 -1
  48. package/esm/dialog-confirm/index.js +1 -1
  49. package/esm/dialog-drag-modal/index.js +1 -1
  50. package/esm/dialog-drag-modal/index.js.map +1 -1
  51. package/esm/dialog-drawer/index.js +1 -1
  52. package/esm/dialog-drawer/index.js.map +1 -1
  53. package/esm/dialog-drawer-content/index.js +1 -1
  54. package/esm/dialog-drawer-content/index.js.map +1 -1
  55. package/esm/dialog-loading/index.js +1 -1
  56. package/esm/dialog-loading/index.js.map +1 -1
  57. package/esm/dialog-modal/index.js +1 -1
  58. package/esm/dialog-modal/index.js.map +1 -1
  59. package/esm/dialog-preview-image/index.js +1 -1
  60. package/esm/dialog-preview-image/index.js.map +1 -1
  61. package/esm/drag-collapse/index.js +1 -1
  62. package/esm/drag-collapse/index.js.map +1 -1
  63. package/esm/drag-collapse-form-list/index.js +1 -1
  64. package/esm/drag-collapse-form-list/index.js.map +1 -1
  65. package/esm/drag-editable-card/index.js +1 -1
  66. package/esm/drag-editable-card/index.js.map +1 -1
  67. package/esm/drag-editable-table/index.js +1 -1
  68. package/esm/drag-editable-table/index.js.map +1 -1
  69. package/esm/drag-editable-table-pro/index.js +1 -1
  70. package/esm/drag-editable-table-pro/index.js.map +1 -1
  71. package/esm/drag-form-list/index.js +1 -1
  72. package/esm/drag-form-list/index.js.map +1 -1
  73. package/esm/drag-table/index.js +1 -1
  74. package/esm/drag-table/index.js.map +1 -1
  75. package/esm/drawer-wrapper/index.js +1 -1
  76. package/esm/drawer-wrapper/index.js.map +1 -1
  77. package/esm/dropdown-menu-wrapper/index.js +1 -1
  78. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  79. package/esm/easy-form/index.js +1 -1
  80. package/esm/easy-form/index.js.map +1 -1
  81. package/esm/easy-table/index.js +1 -1
  82. package/esm/easy-table/index.js.map +1 -1
  83. package/esm/editable-card/index.js +1 -1
  84. package/esm/editable-card/index.js.map +1 -1
  85. package/esm/editable-field/index.js +1 -1
  86. package/esm/editable-field/index.js.map +1 -1
  87. package/esm/editable-table/index.js +1 -1
  88. package/esm/editable-table/index.js.map +1 -1
  89. package/esm/editable-table-pro/index.js +1 -1
  90. package/esm/editable-table-pro/index.js.map +1 -1
  91. package/esm/editor-wrapper/index.js +1 -1
  92. package/esm/editor-wrapper/index.js.map +1 -1
  93. package/esm/fba-app/index.js +1 -1
  94. package/esm/fba-app/index.js.map +1 -1
  95. package/esm/fba-hooks/index.js +1 -1
  96. package/esm/fba-hooks/index.js.map +1 -1
  97. package/esm/fba-utils/index.js +1 -1
  98. package/esm/fba-utils/index.js.map +1 -1
  99. package/esm/file-export/index.js +1 -1
  100. package/esm/file-export/index.js.map +1 -1
  101. package/esm/file-import/index.js +1 -1
  102. package/esm/file-import/index.js.map +1 -1
  103. package/esm/file-select/index.js +1 -1
  104. package/esm/file-select/index.js.map +1 -1
  105. package/esm/flex-layout/index.js +1 -1
  106. package/esm/flex-layout/index.js.map +1 -1
  107. package/esm/form-grid/index.js +1 -1
  108. package/esm/form-grid/index.js.map +1 -1
  109. package/esm/form-item-group/index.js +1 -1
  110. package/esm/form-item-group/index.js.map +1 -1
  111. package/esm/form-item-text/index.js +1 -1
  112. package/esm/form-item-text/index.js.map +1 -1
  113. package/esm/form-item-wrapper/index.js +1 -1
  114. package/esm/form-item-wrapper/index.js.map +1 -1
  115. package/esm/form-list-wrapper/index.js +1 -1
  116. package/esm/form-list-wrapper/index.js.map +1 -1
  117. package/esm/form-wrapper/index.js +1 -1
  118. package/esm/form-wrapper/index.js.map +1 -1
  119. package/esm/full-screen/index.js +1 -1
  120. package/esm/full-screen/index.js.map +1 -1
  121. package/esm/icon-wrapper/index.js +1 -1
  122. package/esm/icon-wrapper/index.js.map +1 -1
  123. package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
  124. package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
  125. package/esm/index.js +2 -1
  126. package/esm/input-search-wrapper/index.js +1 -1
  127. package/esm/input-search-wrapper/index.js.map +1 -1
  128. package/esm/input-text-area-wrapper/index.js +1 -1
  129. package/esm/input-text-area-wrapper/index.js.map +1 -1
  130. package/esm/input-wrapper/index.js +1 -1
  131. package/esm/input-wrapper/index.js.map +1 -1
  132. package/esm/json-editor/index.js +1 -1
  133. package/esm/json-editor/index.js.map +1 -1
  134. package/esm/label-value-layout/index.js +1 -1
  135. package/esm/label-value-layout/index.js.map +1 -1
  136. package/esm/label-value-render/index.js +1 -1
  137. package/esm/label-value-render/index.js.map +1 -1
  138. package/esm/local-loading/index.js +1 -1
  139. package/esm/local-loading/index.js.map +1 -1
  140. package/esm/mention-editor/index.js +1 -1
  141. package/esm/mention-editor/index.js.map +1 -1
  142. package/esm/mentions-wrapper/index.js +1 -1
  143. package/esm/mentions-wrapper/index.js.map +1 -1
  144. package/esm/modal-action/index.js +1 -1
  145. package/esm/modal-action/index.js.map +1 -1
  146. package/esm/modal-wrapper/index.js +1 -1
  147. package/esm/modal-wrapper/index.js.map +1 -1
  148. package/esm/number-range-form-item/index.js +1 -1
  149. package/esm/number-range-form-item/index.js.map +1 -1
  150. package/esm/pdf/index.js +1 -1
  151. package/esm/pdf/index.js.map +1 -1
  152. package/esm/pdf-preview/index.js +1 -1
  153. package/esm/pdf-preview/index.js.map +1 -1
  154. package/esm/radio-group-wrapper/index.js +1 -1
  155. package/esm/radio-group-wrapper/index.js.map +1 -1
  156. package/esm/relation-tree/index.js +1 -1
  157. package/esm/relation-tree/index.js.map +1 -1
  158. package/esm/request-status/index.js +1 -1
  159. package/esm/request-status/index.js.map +1 -1
  160. package/esm/resizable-drawer/index.js +1 -1
  161. package/esm/resizable-drawer/index.js.map +1 -1
  162. package/esm/rich-text-editor/index.js +1 -1
  163. package/esm/rich-text-editor/index.js.map +1 -1
  164. package/esm/rich-text-viewer/index.js +1 -1
  165. package/esm/rich-text-viewer/index.js.map +1 -1
  166. package/esm/roll-location-center/index.js +1 -1
  167. package/esm/roll-location-center/index.js.map +1 -1
  168. package/esm/roll-location-in-view/index.js +1 -1
  169. package/esm/roll-location-in-view/index.js.map +1 -1
  170. package/esm/rule-describe/index.js +1 -1
  171. package/esm/rule-describe/index.js.map +1 -1
  172. package/esm/search-form/index.js +1 -1
  173. package/esm/search-form/index.js.map +1 -1
  174. package/esm/search-menu/index.js +1 -1
  175. package/esm/search-menu/index.js.map +1 -1
  176. package/esm/selector-wrapper/index.js +1 -1
  177. package/esm/selector-wrapper/index.js.map +1 -1
  178. package/esm/selector-wrapper-search/index.js +1 -1
  179. package/esm/selector-wrapper-search/index.js.map +1 -1
  180. package/esm/selector-wrapper-simple/index.js +1 -1
  181. package/esm/selector-wrapper-simple/index.js.map +1 -1
  182. package/esm/simple-layout/index.js +1 -1
  183. package/esm/simple-layout/index.js.map +1 -1
  184. package/esm/sms-count-down/index.js +1 -1
  185. package/esm/sms-count-down/index.js.map +1 -1
  186. package/esm/split-wrapper/index.js +1 -1
  187. package/esm/split-wrapper/index.js.map +1 -1
  188. package/esm/styles/index.css +1 -1
  189. package/esm/svg-http-view/index.js +1 -1
  190. package/esm/svg-http-view/index.js.map +1 -1
  191. package/esm/switch-confirm-wrapper/index.js +1 -1
  192. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  193. package/esm/switch-wrapper/index.js +1 -1
  194. package/esm/switch-wrapper/index.js.map +1 -1
  195. package/esm/table-cell-render/index.js +1 -1
  196. package/esm/table-cell-render/index.js.map +1 -1
  197. package/esm/table-scrollbar/index.js +1 -1
  198. package/esm/table-scrollbar/index.js.map +1 -1
  199. package/esm/tabs-sticky/index.js +1 -1
  200. package/esm/tabs-sticky/index.js.map +1 -1
  201. package/esm/tabs-wrapper/index.js +1 -1
  202. package/esm/tabs-wrapper/index.js.map +1 -1
  203. package/esm/tag-group/index.js +1 -1
  204. package/esm/tag-group/index.js.map +1 -1
  205. package/esm/tag-list-render/index.js +1 -1
  206. package/esm/tag-list-render/index.js.map +1 -1
  207. package/esm/tag-list-select/index.js +1 -1
  208. package/esm/tag-list-select/index.js.map +1 -1
  209. package/esm/tag-wrapper/index.js +1 -1
  210. package/esm/tag-wrapper/index.js.map +1 -1
  211. package/esm/text-css-ellipsis/index.js +1 -1
  212. package/esm/text-css-ellipsis/index.js.map +1 -1
  213. package/esm/text-overflow/index.js +1 -1
  214. package/esm/text-overflow/index.js.map +1 -1
  215. package/esm/text-overflow-render/index.js +1 -1
  216. package/esm/text-symbol-wrapper/index.js +1 -1
  217. package/esm/text-symbol-wrapper/index.js.map +1 -1
  218. package/esm/time-ea73b2fb.js +3 -0
  219. package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
  220. package/esm/time-picker-wrapper/index.js +1 -1
  221. package/esm/time-picker-wrapper/index.js.map +1 -1
  222. package/esm/time-range-picker-wrapper/index.js +1 -1
  223. package/esm/time-range-picker-wrapper/index.js.map +1 -1
  224. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  225. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  226. package/esm/tree-modal/index.js +1 -1
  227. package/esm/tree-modal/index.js.map +1 -1
  228. package/esm/tree-modal-selector/index.js +1 -1
  229. package/esm/tree-modal-selector/index.js.map +1 -1
  230. package/esm/tree-selector-wrapper/index.js +1 -1
  231. package/esm/tree-selector-wrapper/index.js.map +1 -1
  232. package/esm/tree-wrapper/index.js +1 -1
  233. package/esm/tree-wrapper/index.js.map +1 -1
  234. package/esm/upload-wrapper/index.js +1 -1
  235. package/esm/upload-wrapper/index.js.map +1 -1
  236. package/esm/use-responsive-point-1e6d93d9.js +3 -0
  237. package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
  238. package/esm/x-mind-preview/index.js +1 -1
  239. package/esm/x-mind-preview/index.js.map +1 -1
  240. package/index.d.ts +61 -4
  241. package/package.json +4 -5
  242. package/esm/time-53b3f55f.js +0 -3
  243. package/esm/use-responsive-point-21b8c601.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n\n // 文本宽度是否溢出\n const isTextOverflow = fbaHooks.useMemoCustom(() => {\n if (!hideTextSize?.width || !parentNodeWidth) return false;\n return hideTextSize.width > parentNodeWidth;\n }, [hideTextSize?.width, parentNodeWidth]);\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {props.text}\n </span>\n </span>\n <Tooltip title={isTextOverflow && !props.hideTip ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n const text = props.text as string;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n const needCut = text.length > maxLength;\n\n const cutedTextWidth = hideTextSize?.width || 0;\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const isTextOverflow = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n const cutValue = text.substring(0, props.maxLength);\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {cutValue}\n </span>\n </span>\n\n <Tooltip title={isTextOverflow && !props.hideTip ? text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {cutValue}...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const rootSize = useSize(rootRef);\n const maxWidth = props.maxWidth || 0;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n\n const handleResult = useMemo(() => {\n if (!hideTextSize?.width || !rootSize?.width) return undefined;\n if (rootSize.width < maxWidth) {\n if (hideTextSize.width > rootSize.width) {\n return { isTextOverflow: true };\n }\n }\n if (hideTextSize.width < maxWidth) return undefined;\n if (hideTextSize.width > maxWidth) {\n return { isTextOverflow: true, width: maxWidth };\n }\n return undefined;\n }, [hideTextSize?.width, maxWidth]);\n\n const isTextOverflow = handleResult?.isTextOverflow;\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {props.text}\n </span>\n </span>\n\n <Tooltip title={isTextOverflow && !props.hideTip ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: handleResult?.width }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { isString } from '@dimjs/lang';\nimport { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength && isString(props.text)) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","hideTextRef","hideTextSize","isTextOverflow","fbaHooks","useMemoCustom","_jsxs","className","_classNames","onClick","ref","children","_jsx","text","Tooltip","title","hideTip","undefined","OverflowLength","maxLength","needCut","length","cutedTextWidth","showCustomEllipsis","cutValue","substring","OverflowWidth","rootSize","maxWidth","handleResult","useMemo","style","InnerTextOverflow","_isString","_extends","TextOverflow","memo","pre","next"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n\n // 文本宽度是否溢出\n const isTextOverflow = fbaHooks.useMemoCustom(() => {\n if (!hideTextSize?.width || !parentNodeWidth) return false;\n return hideTextSize.width > parentNodeWidth;\n }, [hideTextSize?.width, parentNodeWidth]);\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {props.text}\n </span>\n </span>\n <Tooltip title={isTextOverflow && !props.hideTip ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n const text = props.text as string;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n const needCut = text.length > maxLength;\n\n const cutedTextWidth = hideTextSize?.width || 0;\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const isTextOverflow = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n const cutValue = text.substring(0, props.maxLength);\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {cutValue}\n </span>\n </span>\n\n <Tooltip title={isTextOverflow && !props.hideTip ? text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {cutValue}...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const rootSize = useSize(rootRef);\n const maxWidth = props.maxWidth || 0;\n const hideTextRef = useRef<HTMLSpanElement>(null);\n\n const hideTextSize = useSize(hideTextRef);\n\n const handleResult = useMemo(() => {\n if (!hideTextSize?.width || !rootSize?.width) return undefined;\n if (rootSize.width < maxWidth) {\n if (hideTextSize.width > rootSize.width) {\n return { isTextOverflow: true };\n }\n }\n if (hideTextSize.width < maxWidth) return undefined;\n if (hideTextSize.width > maxWidth) {\n return { isTextOverflow: true, width: maxWidth };\n }\n return undefined;\n }, [hideTextSize?.width, maxWidth]);\n\n const isTextOverflow = handleResult?.isTextOverflow;\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\" ref={hideTextRef}>\n {props.text}\n </span>\n </span>\n\n <Tooltip title={isTextOverflow && !props.hideTip ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: handleResult?.width }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { isString } from '@dimjs/lang';\nimport { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength && isString(props.text)) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","hideTextRef","hideTextSize","isTextOverflow","fbaHooks","useMemoCustom","_jsxs","className","_classNames","onClick","ref","children","_jsx","text","Tooltip","title","hideTip","undefined","OverflowLength","maxLength","needCut","length","cutedTextWidth","showCustomEllipsis","cutValue","substring","OverflowWidth","rootSize","maxWidth","handleResult","useMemo","style","InnerTextOverflow","_isString","_extends","TextOverflow","memo","pre","next"],"mappings":";qiBAQO,IAAMA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAUC,EAAuB,MACvC,IAAMC,EAAOC,EAAQH,GACrB,IAAMI,GAAkBF,eAAAA,EAAMG,QAAS,EACvC,IAAMC,EAAcL,EAAwB,MAE5C,IAAMM,EAAeJ,EAAQG,GAG7B,IAAME,EAAiBC,EAASC,cAAc,WAC5C,KAAKH,GAAY,MAAZA,EAAcF,SAAUD,EAAiB,OAAO,MACrD,OAAOG,EAAaF,MAAQD,GAC3B,CAACG,GAAAA,UAAAA,EAAAA,EAAcF,MAAOD,IAEzB,OACEO,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAiB,CACrC,cAAed,EAAMe,UAEvBC,IAAKf,EAAQgB,UAEbC,EAAA,OAAA,CAAML,UAAU,aAAYI,SAC1BC,EAAA,OAAA,CAAML,UAAU,iBAAiBG,IAAKT,EAAYU,SAC/CjB,EAAMmB,SAGXD,EAACE,EAAO,CAACC,MAAOZ,IAAmBT,EAAMsB,QAAUtB,EAAMmB,KAAOI,UAAUN,SACxEC,EAAA,OAAA,CAAML,UAAU,cAAaI,SAC3BC,EAAA,OAAA,CAAML,UAAU,gBAAgBE,QAASf,EAAMe,QAAQE,SACpDjB,EAAMmB,aAMnB,ECrCO,IAAMK,EAAiB,SAAjBA,EAAkBxB,GAC7B,IAAMC,EAAUC,EAAuB,MACvC,IAAMC,EAAOC,EAAQH,GACrB,IAAMwB,EAAYzB,EAAMyB,UACxB,IAAMpB,GAAkBF,eAAAA,EAAMG,QAAS,EACvC,IAAMa,EAAOnB,EAAMmB,KACnB,IAAMZ,EAAcL,EAAwB,MAE5C,IAAMM,EAAeJ,EAAQG,GAC7B,IAAMmB,EAAUP,EAAKQ,OAASF,EAE9B,IAAMG,GAAiBpB,eAAAA,EAAcF,QAAS,EAE9C,IAAMuB,EAAqBH,GAAWE,EAAiBvB,EAEvD,IAAMI,EAAiBJ,EAAkBuB,EAAiB,GAAKF,EAE/D,IAAMI,EAAWX,EAAKY,UAAU,EAAG/B,EAAMyB,WAEzC,OACEb,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAiB,CACrC,cAAed,EAAMe,UAEvBC,IAAKf,EAAQgB,UAEbC,EAAA,OAAA,CAAML,UAAU,aAAYI,SAC1BC,EAAA,OAAA,CAAML,UAAU,iBAAiBG,IAAKT,EAAYU,SAC/Ca,MAILZ,EAACE,EAAO,CAACC,MAAOZ,IAAmBT,EAAMsB,QAAUH,EAAOI,UAAUN,SACjEY,EACCX,EAAA,OAAA,CAAML,UAAU,kBAAiBI,SAC/BL,EAAA,OAAA,CAAMC,UAAU,gBAAgBE,QAASf,EAAMe,QAAQE,SAAA,CACpDa,EAAS,WAIdZ,EAAA,OAAA,CAAML,UAAU,cAAaI,SAC3BC,EAAA,OAAA,CAAML,UAAU,gBAAgBE,QAASf,EAAMe,QAAQE,SACpDE,UAOf,ECjDO,IAAMa,EAAgB,SAAhBA,EAAiBhC,GAC5B,IAAMC,EAAUC,EAAuB,MACvC,IAAM+B,EAAW7B,EAAQH,GACzB,IAAMiC,EAAWlC,EAAMkC,UAAY,EACnC,IAAM3B,EAAcL,EAAwB,MAE5C,IAAMM,EAAeJ,EAAQG,GAE7B,IAAM4B,EAAeC,EAAQ,WAC3B,KAAK5B,GAAAA,MAAAA,EAAcF,UAAU2B,SAAAA,EAAU3B,OAAO,OAAOiB,UACrD,GAAIU,EAAS3B,MAAQ4B,EAAU,CAC7B,GAAI1B,EAAaF,MAAQ2B,EAAS3B,MAAO,CACvC,MAAO,CAAEG,eAAgB,KAC3B,CACF,CACA,GAAID,EAAaF,MAAQ4B,EAAU,OAAOX,UAC1C,GAAIf,EAAaF,MAAQ4B,EAAU,CACjC,MAAO,CAAEzB,eAAgB,KAAMH,MAAO4B,EACxC,CACA,OAAOX,WACN,CAACf,GAAAA,UAAAA,EAAAA,EAAcF,MAAO4B,IAEzB,IAAMzB,EAAiB0B,GAAAA,UAAAA,EAAAA,EAAc1B,eAErC,OACEG,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAiB,CACrC,cAAed,EAAMe,UAEvBC,IAAKf,EAAQgB,UAEbC,EAAA,OAAA,CAAML,UAAU,aAAYI,SAC1BC,EAAA,OAAA,CAAML,UAAU,iBAAiBG,IAAKT,EAAYU,SAC/CjB,EAAMmB,SAIXD,EAACE,EAAO,CAACC,MAAOZ,IAAmBT,EAAMsB,QAAUtB,EAAMmB,KAAOI,UAAUN,SACxEC,EAAA,OAAA,CAAML,UAAU,cAAcwB,MAAO,CAAE/B,MAAO6B,GAAAA,UAAAA,EAAAA,EAAc7B,OAAQW,SAClEC,EAAA,OAAA,CAAML,UAAU,gBAAgBE,QAASf,EAAMe,QAAQE,SACpDjB,EAAMmB,aAMnB,EC5CA,IAAMmB,EAAoB,SAApBA,EAAqBtC,GACzB,GAAIA,EAAMyB,WAAac,EAASvC,EAAMmB,MAAO,CAC3C,OAAOD,EAACM,EAAcgB,EAAKxC,CAAAA,EAAAA,GAC7B,CACA,GAAIA,EAAMkC,SAAU,CAClB,OAAOhB,EAACc,EAAaQ,EAAKxC,CAAAA,EAAAA,GAC5B,CACA,OAAOkB,EAACnB,EAAYyC,EAAKxC,CAAAA,EAAAA,GAC3B,EAyBO,IAAMyC,EAAeC,EAAKJ,EAAmB,SAACK,EAAKC,GACxD,GAAID,EAAIxB,OAASyB,EAAKzB,MAAQwB,EAAIlB,YAAcmB,EAAKnB,WAAakB,EAAIT,WAAaS,EAAIT,SAAU,CAC/F,OAAO,KACT,CACA,OAAO,IACT"}
@@ -7,5 +7,5 @@ import './../fba-utils/index.css';
7
7
  import './../text-css-ellipsis/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"ahooks";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var u=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,u=e.onClick,j=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var f=t(s);if(f<=m*2){return p(c,{onClick:u,prefix:j,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:u,prefix:j,children:h})})}}if(e.width){return p(c,{onClick:u,prefix:j,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:u,prefix:j,children:e.text})};export{u as TextOverflowRender};
10
+ import{isEmpty as i}from"@dimjs/lang/cjs/is-empty";import{a as r,_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getStrByteLen as t,cutString as n}from"@flatbiz/utils";import{Tooltip as l}from"antd";import{Fragment as o}from"react";import{ButtonWrapper as s}from"../button-wrapper/index.js";import{TextCssEllipsis as a}from"../text-css-ellipsis/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@dimjs/utils/cjs/class-names";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"../fba-utils/index.js";import"@dimjs/model";import"ahooks";var d=["onClick","children","prefix"];var c=function i(t){var n=t.onClick,l=t.children,o=t.prefix,a=r(t,d);if(!!n){return m(s,e({type:"link",onClick:n,style:{padding:0,height:"initial",display:"inline-flex",alignItems:"center"}},a,{children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))}return m("span",e({},a,{style:e({display:"inline-flex"},a["style"]),children:[o?p("span",{style:{marginRight:5},children:o}):null,l]}))};var u=function r(e){var s=e.text,m=e.maxLength,d=e.placeholder,u=e.onClick,j=e.prefix;if(!s||i(s)||s==="")return p(o,{children:d});if(!!m){var f=t(s);if(f<=m*2){return p(c,{onClick:u,prefix:j,children:s})}else{var h=n(s,m*2);return p(l,{placement:"topLeft",title:s,children:p(c,{onClick:u,prefix:j,children:h})})}}if(e.width){return p(c,{onClick:u,prefix:j,children:p(a,{text:s,width:e.width})})}return p(c,{onClick:u,prefix:j,children:e.text})};export{u as TextOverflowRender};
11
11
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{useMemo as s}from"react";import{jsx as t,jsxs as l}from"react/jsx-runtime";var a=function a(o){var m=o.gap===undefined?3:o.gap;var i=s((function(){if(o.symbol){return o.symbol}if(o.symbolType==="required"){return"*"}return undefined}),[o.symbolType,o.symbol]);var n=o.position||"before";if(o.hiddenSymbol){return t("span",{className:r("text-symbol-wrapper",o.className),style:o.style,children:o.text})}var p=r("text-symbol-wrapper",{"tsw-required":o.symbolType},o.className);var y=n==="before"?{left:-m}:{right:-m};var b=n==="before"?{left:0}:{right:0};var c=o.text?y:b;return l("span",{className:p,style:o.style,children:[i?t("span",{className:r("tsw-symbol","tsw-symbol-"+n),style:e({},y,c),onClick:o.onSymbolClick,children:i}):null,o.text]})};export{a as TextSymbolWrapper};
4
+ import{_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{useMemo as s}from"react";import{jsx as t,jsxs as l}from"react/jsx-runtime";var a=function a(o){var m=o.gap===undefined?3:o.gap;var i=s(function(){if(o.symbol){return o.symbol}if(o.symbolType==="required"){return"*"}return undefined},[o.symbolType,o.symbol]);var n=o.position||"before";if(o.hiddenSymbol){return t("span",{className:r("text-symbol-wrapper",o.className),style:o.style,children:o.text})}var p=r("text-symbol-wrapper",{"tsw-required":o.symbolType},o.className);var y=n==="before"?{left:-m}:{right:-m};var b=n==="before"?{left:0}:{right:0};var c=o.text?y:b;return l("span",{className:p,style:o.style,children:[i?t("span",{className:r("tsw-symbol","tsw-symbol-"+n),style:e({},y,c),onClick:o.onSymbolClick,children:i}):null,o.text]})};export{a as TextSymbolWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-symbol-wrapper/symbol.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { ReactNode, useMemo, type CSSProperties, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TextSymbolWrapperProps = {\n className?: string;\n style?: CSSProperties;\n /** 内置图标类型 */\n symbolType?: 'required';\n /** 自定义标记符号,优先级大于 symbolType */\n symbol?: ReactNode;\n /** 标记位置,默认:brefore */\n position?: 'before' | 'after';\n /** 显示文本 */\n text?: string | ReactElement;\n symbolStyle?: CSSProperties;\n onSymbolClick?: (event) => void;\n /** 只隐藏符号,不隐藏文案 */\n hiddenSymbol?: boolean;\n /** 图标与文字之间的间距 */\n gap?: number;\n};\n\n/**\n * 为文字添加符号,例如:必填符号\n * ```\n * 例如: <TextSymbolWrapper text={'用户名'} symbolType=\"required\" />\n * ```\n */\nexport const TextSymbolWrapper = (props: TextSymbolWrapperProps) => {\n const gap = props.gap === undefined ? 3 : props.gap;\n const symbol = useMemo(() => {\n if (props.symbol) {\n return props.symbol;\n }\n if (props.symbolType === 'required') {\n return '*';\n }\n return undefined;\n }, [props.symbolType, props.symbol]);\n\n const position = props.position || 'before';\n\n if (props.hiddenSymbol) {\n return (\n <span className={classNames('text-symbol-wrapper', props.className)} style={props.style}>\n {props.text}\n </span>\n );\n }\n\n const cn = classNames('text-symbol-wrapper', { 'tsw-required': props.symbolType }, props.className);\n\n const hasTextSymbolSyle = position === 'before' ? { left: -gap } : { right: -gap };\n const noTextSymbolSyle = position === 'before' ? { left: 0 } : { right: 0 };\n const symbolSyle = props.text ? hasTextSymbolSyle : noTextSymbolSyle;\n return (\n <span className={cn} style={props.style}>\n {symbol ? (\n <span\n className={classNames('tsw-symbol', `tsw-symbol-${position}`)}\n style={{\n ...hasTextSymbolSyle,\n ...symbolSyle,\n }}\n onClick={props.onSymbolClick}\n >\n {symbol}\n </span>\n ) : null}\n\n {props.text}\n </span>\n );\n};\n"],"names":["TextSymbolWrapper","props","gap","undefined","symbol","useMemo","symbolType","position","hiddenSymbol","_jsx","className","_classNames","style","children","text","cn","hasTextSymbolSyle","left","right","noTextSymbolSyle","symbolSyle","_jsxs","_extends","onClick","onSymbolClick"],"mappings":";6MA6BaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAAMD,EAAMC,MAAQC,UAAY,EAAIF,EAAMC,IAChD,IAAME,EAASC,GAAQ,WACrB,GAAIJ,EAAMG,OAAQ,CAChB,OAAOH,EAAMG,MACf,CACA,GAAIH,EAAMK,aAAe,WAAY,CACnC,MAAO,GACT,CACA,OAAOH,SACR,GAAE,CAACF,EAAMK,WAAYL,EAAMG,SAE5B,IAAMG,EAAWN,EAAMM,UAAY,SAEnC,GAAIN,EAAMO,aAAc,CACtB,OACEC,EAAA,OAAA,CAAMC,UAAWC,EAAW,sBAAuBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,SACrFZ,EAAMa,MAGb,CAEA,IAAMC,EAAKJ,EAAW,sBAAuB,CAAE,eAAgBV,EAAMK,YAAcL,EAAMS,WAEzF,IAAMM,EAAoBT,IAAa,SAAW,CAAEU,MAAOf,GAAQ,CAAEgB,OAAQhB,GAC7E,IAAMiB,EAAmBZ,IAAa,SAAW,CAAEU,KAAM,GAAM,CAAEC,MAAO,GACxE,IAAME,EAAanB,EAAMa,KAAOE,EAAoBG,EACpD,OACEE,EAAA,OAAA,CAAMX,UAAWK,EAAIH,MAAOX,EAAMW,MAAMC,SAAA,CACrCT,EACCK,EAAA,OAAA,CACEC,UAAWC,EAAW,aAAY,cAAgBJ,GAClDK,MAAKU,EAAA,GACAN,EACAI,GAELG,QAAStB,EAAMuB,cAAcX,SAE5BT,IAED,KAEHH,EAAMa,OAGb"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-symbol-wrapper/symbol.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { ReactNode, useMemo, type CSSProperties, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TextSymbolWrapperProps = {\n className?: string;\n style?: CSSProperties;\n /** 内置图标类型 */\n symbolType?: 'required';\n /** 自定义标记符号,优先级大于 symbolType */\n symbol?: ReactNode;\n /** 标记位置,默认:brefore */\n position?: 'before' | 'after';\n /** 显示文本 */\n text?: string | ReactElement;\n symbolStyle?: CSSProperties;\n onSymbolClick?: (event) => void;\n /** 只隐藏符号,不隐藏文案 */\n hiddenSymbol?: boolean;\n /** 图标与文字之间的间距 */\n gap?: number;\n};\n\n/**\n * 为文字添加符号,例如:必填符号\n * ```\n * 例如: <TextSymbolWrapper text={'用户名'} symbolType=\"required\" />\n * ```\n */\nexport const TextSymbolWrapper = (props: TextSymbolWrapperProps) => {\n const gap = props.gap === undefined ? 3 : props.gap;\n const symbol = useMemo(() => {\n if (props.symbol) {\n return props.symbol;\n }\n if (props.symbolType === 'required') {\n return '*';\n }\n return undefined;\n }, [props.symbolType, props.symbol]);\n\n const position = props.position || 'before';\n\n if (props.hiddenSymbol) {\n return (\n <span className={classNames('text-symbol-wrapper', props.className)} style={props.style}>\n {props.text}\n </span>\n );\n }\n\n const cn = classNames('text-symbol-wrapper', { 'tsw-required': props.symbolType }, props.className);\n\n const hasTextSymbolSyle = position === 'before' ? { left: -gap } : { right: -gap };\n const noTextSymbolSyle = position === 'before' ? { left: 0 } : { right: 0 };\n const symbolSyle = props.text ? hasTextSymbolSyle : noTextSymbolSyle;\n return (\n <span className={cn} style={props.style}>\n {symbol ? (\n <span\n className={classNames('tsw-symbol', `tsw-symbol-${position}`)}\n style={{\n ...hasTextSymbolSyle,\n ...symbolSyle,\n }}\n onClick={props.onSymbolClick}\n >\n {symbol}\n </span>\n ) : null}\n\n {props.text}\n </span>\n );\n};\n"],"names":["TextSymbolWrapper","props","gap","undefined","symbol","useMemo","symbolType","position","hiddenSymbol","_jsx","className","_classNames","style","children","text","cn","hasTextSymbolSyle","left","right","noTextSymbolSyle","symbolSyle","_jsxs","_extends","onClick","onSymbolClick"],"mappings":";6MA6BaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAAMD,EAAMC,MAAQC,UAAY,EAAIF,EAAMC,IAChD,IAAME,EAASC,EAAQ,WACrB,GAAIJ,EAAMG,OAAQ,CAChB,OAAOH,EAAMG,MACf,CACA,GAAIH,EAAMK,aAAe,WAAY,CACnC,MAAO,GACT,CACA,OAAOH,SACR,EAAE,CAACF,EAAMK,WAAYL,EAAMG,SAE5B,IAAMG,EAAWN,EAAMM,UAAY,SAEnC,GAAIN,EAAMO,aAAc,CACtB,OACEC,EAAA,OAAA,CAAMC,UAAWC,EAAW,sBAAuBV,EAAMS,WAAYE,MAAOX,EAAMW,MAAMC,SACrFZ,EAAMa,MAGb,CAEA,IAAMC,EAAKJ,EAAW,sBAAuB,CAAE,eAAgBV,EAAMK,YAAcL,EAAMS,WAEzF,IAAMM,EAAoBT,IAAa,SAAW,CAAEU,MAAOf,GAAQ,CAAEgB,OAAQhB,GAC7E,IAAMiB,EAAmBZ,IAAa,SAAW,CAAEU,KAAM,GAAM,CAAEC,MAAO,GACxE,IAAME,EAAanB,EAAMa,KAAOE,EAAoBG,EACpD,OACEE,EAAA,OAAA,CAAMX,UAAWK,EAAIH,MAAOX,EAAMW,MAAMC,SAAA,CACrCT,EACCK,EAAA,OAAA,CACEC,UAAWC,EAAW,aAAY,cAAgBJ,GAClDK,MAAKU,EAAA,GACAN,EACAI,GAELG,QAAStB,EAAMuB,cAAcX,SAE5BT,IAED,KAEHH,EAAMa,OAGb"}
@@ -0,0 +1,3 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+ var r=function(r){r["YMDHms"]="YYYY-MM-DD HH:mm:ss";r["YMDHm"]="YYYY-MM-DD HH:mm";r["YMDH"]="YYYY-MM-DD HH";r["YMD"]="YYYY-MM-DD";return r}({});var i=function(r){r["Hms"]="HH:mm:ss";r["Hm"]="HH:mm";r["H"]="HH";r["ms"]="mm:ss";r["m"]="mm";r["s"]="ss";return r}({});var t=function r(i,t){var e=[];for(var n=i;n<=t;n++){e.push(n)}return e};var e=function i(e,n){var a,m;if(!n||!e)return[];var u=0;var f=23;if(((a=n.minDateTime)==null?void 0:a.format(r.YMD))===e.format(r.YMD)){u=n.minDateTime.get("hour")}if(((m=n.maxDateTime)==null?void 0:m.format(r.YMD))===e.format(r.YMD)){f=n.maxDateTime.get("hour")}var o=t(u,f);if(n.disabledHourList){o=o.filter(function(r){var i;return!((i=n.disabledHourList)!=null&&i.includes(r))})}return t(0,23).filter(function(r){return!o.includes(r)})};var n=function i(e,n){var a,m;if(!n||!e)return[];var u=0;var f=59;if(((a=n.minDateTime)==null?void 0:a.format(r.YMDH))===e.format(r.YMDH)){u=n.minDateTime.get("minute")}if(((m=n.maxDateTime)==null?void 0:m.format(r.YMDH))===e.format(r.YMDH)){f=n.maxDateTime.get("minute")}var o=t(u,f);if(n.disabledMinuteList){o=o.filter(function(r){var i;return!((i=n.disabledMinuteList)!=null&&i.includes(r))})}return t(0,59).filter(function(r){return!o.includes(r)})};var a=function i(e,n){var a,m;if(!n||!e)return[];var u=0;var f=59;if(((a=n.minDateTime)==null?void 0:a.format(r.YMDHm))===e.format(r.YMDHm)){u=n.minDateTime.get("second")}if(((m=n.maxDateTime)==null?void 0:m.format(r.YMDHm))===e.format(r.YMDHm)){f=n.maxDateTime.get("second")}var o=t(u,f);if(n.disabledSecondList){o=o.filter(function(r){var i;return!((i=n.disabledSecondList)!=null&&i.includes(r))})}return t(0,59).filter(function(r){return!o.includes(r)})};export{r as D,n as a,a as b,i as c,e as g};
3
+ //# sourceMappingURL=time-ea73b2fb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-53b3f55f.js","sources":["@flatbiz/antd/src/_utils/constants.ts","@flatbiz/antd/src/_utils/time.tsx"],"sourcesContent":["export enum DayjsDateTypeEnum {\n YMDHms = 'YYYY-MM-DD HH:mm:ss',\n YMDHm = 'YYYY-MM-DD HH:mm',\n YMDH = 'YYYY-MM-DD HH',\n YMD = 'YYYY-MM-DD',\n}\n\nexport enum DayjsTimeTypeEnum {\n Hms = 'HH:mm:ss',\n Hm = 'HH:mm',\n H = 'HH',\n ms = 'mm:ss',\n m = 'mm',\n s = 'ss',\n}\n\nexport type TDayjsDateType =\n | 'YYYY-MM-DD HH:mm:ss'\n | 'YYYY-MM-DD HH:mm'\n | 'YYYY-MM-DD HH'\n | 'YYYY-MM-DD'\n | (string & {});\n\nexport type TDayjsTimeType = 'HH:mm:ss' | 'HH:mm' | 'HH' | 'mm:ss' | 'mm' | 'ss' | (string & {});\n","import { Dayjs } from 'dayjs';\nimport { DayjsDateTypeEnum } from './constants';\n\nconst range = (start: number, end: number) => {\n const result: number[] = [];\n for (let i = start; i <= end; i++) {\n result.push(i);\n }\n return result;\n};\nexport const getDisabledHour = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledHourList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeHour = 0;\n let maxTimeHour = 23;\n\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMD) === current.format(DayjsDateTypeEnum.YMD)) {\n minTimeHour = options.minDateTime.get('hour');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMD) === current.format(DayjsDateTypeEnum.YMD)) {\n maxTimeHour = options.maxDateTime.get('hour');\n }\n let selectableMinute = range(minTimeHour, maxTimeHour);\n if (options.disabledHourList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledHourList?.includes(item));\n }\n return range(0, 23).filter((item) => !selectableMinute.includes(item));\n};\n\nexport const getDisabledMinute = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledMinuteList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeMinute = 0;\n let maxTimeMinute = 59;\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMDH) === current.format(DayjsDateTypeEnum.YMDH)) {\n minTimeMinute = options.minDateTime.get('minute');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMDH) === current.format(DayjsDateTypeEnum.YMDH)) {\n maxTimeMinute = options.maxDateTime.get('minute');\n }\n let selectableMinute = range(minTimeMinute, maxTimeMinute);\n if (options.disabledMinuteList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledMinuteList?.includes(item));\n }\n return range(0, 59).filter((item) => !selectableMinute.includes(item));\n};\n\nexport const getDisabledSecond = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledSecondList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeSecond = 0;\n let maxTimeSecond = 59;\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMDHm) === current.format(DayjsDateTypeEnum.YMDHm)) {\n minTimeSecond = options.minDateTime.get('second');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMDHm) === current.format(DayjsDateTypeEnum.YMDHm)) {\n maxTimeSecond = options.maxDateTime.get('second');\n }\n let selectableMinute = range(minTimeSecond, maxTimeSecond);\n if (options.disabledSecondList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledSecondList?.includes(item));\n }\n return range(0, 59).filter((item) => !selectableMinute.includes(item));\n};\n"],"names":["DayjsDateTypeEnum","DayjsTimeTypeEnum","range","start","end","result","i","push","getDisabledHour","current","options","_options$minDateTime","_options$maxDateTime","minTimeHour","maxTimeHour","minDateTime","format","YMD","get","maxDateTime","selectableMinute","disabledHourList","filter","item","_options$disabledHour","includes","getDisabledMinute","_options$minDateTime2","_options$maxDateTime2","minTimeMinute","maxTimeMinute","YMDH","disabledMinuteList","_options$disabledMinu","getDisabledSecond","_options$minDateTime3","_options$maxDateTime3","minTimeSecond","maxTimeSecond","YMDHm","disabledSecondList","_options$disabledSeco"],"mappings":";AAAYA,IAAAA,WAAAA,GAAAA,EAAiB,UAAA,sBAAjBA,EAAiB,SAAA,mBAAjBA,EAAiB,QAAA,gBAAjBA,EAAiB,OAAA,aAAA,OAAjBA,CAAiB,EAAA,IAOjBC,IAAAA,WAAAA,GAAAA,EAAiB,OAAA,WAAjBA,EAAiB,MAAA,QAAjBA,EAAiB,KAAA,KAAjBA,EAAiB,MAAA,QAAjBA,EAAiB,KAAA,KAAjBA,EAAiB,KAAA,KAAA,OAAjBA,CAAiB,EAAA,CAAA,GCJ7B,IAAMC,EAAQ,SAARA,EAASC,EAAeC,GAC5B,IAAMC,EAAmB,GACzB,IAAK,IAAIC,EAAIH,EAAOG,GAAKF,EAAKE,IAAK,CACjCD,EAAOE,KAAKD,EACd,CACA,OAAOD,CACT,EACO,IAAMG,EAAkB,SAAlBA,EACXC,EACAC,GAKG,IAAAC,EAAAC,EACH,IAAKF,IAAYD,EAAS,MAAO,GACjC,IAAII,EAAc,EAClB,IAAIC,EAAc,GAElB,KAAIH,EAAAD,EAAQK,cAARJ,UAAAA,EAAAA,EAAqBK,OAAOhB,EAAkBiB,QAASR,EAAQO,OAAOhB,EAAkBiB,KAAM,CAChGJ,EAAcH,EAAQK,YAAYG,IAAI,OACxC,CACA,KAAIN,EAAAF,EAAQS,cAARP,UAAAA,EAAAA,EAAqBI,OAAOhB,EAAkBiB,QAASR,EAAQO,OAAOhB,EAAkBiB,KAAM,CAChGH,EAAcJ,EAAQS,YAAYD,IAAI,OACxC,CACA,IAAIE,EAAmBlB,EAAMW,EAAaC,GAC1C,GAAIJ,EAAQW,iBAAkB,CAC5BD,EAAmBA,EAAiBE,QAAO,SAACC,GAAI,IAAAC,EAAA,SAAKA,EAACd,EAAQW,mBAARG,MAAAA,EAA0BC,SAASF,MAC3F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,QAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,KAClE,EAEO,IAAMG,EAAoB,SAApBA,EACXjB,EACAC,GAKG,IAAAiB,EAAAC,EACH,IAAKlB,IAAYD,EAAS,MAAO,GACjC,IAAIoB,EAAgB,EACpB,IAAIC,EAAgB,GACpB,KAAIH,EAAAjB,EAAQK,cAARY,UAAAA,EAAAA,EAAqBX,OAAOhB,EAAkB+B,SAAUtB,EAAQO,OAAOhB,EAAkB+B,MAAO,CAClGF,EAAgBnB,EAAQK,YAAYG,IAAI,SAC1C,CACA,KAAIU,EAAAlB,EAAQS,cAARS,UAAAA,EAAAA,EAAqBZ,OAAOhB,EAAkB+B,SAAUtB,EAAQO,OAAOhB,EAAkB+B,MAAO,CAClGD,EAAgBpB,EAAQS,YAAYD,IAAI,SAC1C,CACA,IAAIE,EAAmBlB,EAAM2B,EAAeC,GAC5C,GAAIpB,EAAQsB,mBAAoB,CAC9BZ,EAAmBA,EAAiBE,QAAO,SAACC,GAAI,IAAAU,EAAA,SAAKA,EAACvB,EAAQsB,qBAARC,MAAAA,EAA4BR,SAASF,MAC7F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,QAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,KAClE,EAEO,IAAMW,EAAoB,SAApBA,EACXzB,EACAC,GAKG,IAAAyB,EAAAC,EACH,IAAK1B,IAAYD,EAAS,MAAO,GACjC,IAAI4B,EAAgB,EACpB,IAAIC,EAAgB,GACpB,KAAIH,EAAAzB,EAAQK,cAARoB,UAAAA,EAAAA,EAAqBnB,OAAOhB,EAAkBuC,UAAW9B,EAAQO,OAAOhB,EAAkBuC,OAAQ,CACpGF,EAAgB3B,EAAQK,YAAYG,IAAI,SAC1C,CACA,KAAIkB,EAAA1B,EAAQS,cAARiB,UAAAA,EAAAA,EAAqBpB,OAAOhB,EAAkBuC,UAAW9B,EAAQO,OAAOhB,EAAkBuC,OAAQ,CACpGD,EAAgB5B,EAAQS,YAAYD,IAAI,SAC1C,CACA,IAAIE,EAAmBlB,EAAMmC,EAAeC,GAC5C,GAAI5B,EAAQ8B,mBAAoB,CAC9BpB,EAAmBA,EAAiBE,QAAO,SAACC,GAAI,IAAAkB,EAAA,SAAKA,EAAC/B,EAAQ8B,qBAARC,MAAAA,EAA4BhB,SAASF,MAC7F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,QAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,KAClE"}
1
+ {"version":3,"file":"time-ea73b2fb.js","sources":["@flatbiz/antd/src/_utils/constants.ts","@flatbiz/antd/src/_utils/time.tsx"],"sourcesContent":["export enum DayjsDateTypeEnum {\n YMDHms = 'YYYY-MM-DD HH:mm:ss',\n YMDHm = 'YYYY-MM-DD HH:mm',\n YMDH = 'YYYY-MM-DD HH',\n YMD = 'YYYY-MM-DD',\n}\n\nexport enum DayjsTimeTypeEnum {\n Hms = 'HH:mm:ss',\n Hm = 'HH:mm',\n H = 'HH',\n ms = 'mm:ss',\n m = 'mm',\n s = 'ss',\n}\n\nexport type TDayjsDateType =\n | 'YYYY-MM-DD HH:mm:ss'\n | 'YYYY-MM-DD HH:mm'\n | 'YYYY-MM-DD HH'\n | 'YYYY-MM-DD'\n | (string & {});\n\nexport type TDayjsTimeType = 'HH:mm:ss' | 'HH:mm' | 'HH' | 'mm:ss' | 'mm' | 'ss' | (string & {});\n","import { Dayjs } from 'dayjs';\nimport { DayjsDateTypeEnum } from './constants';\n\nconst range = (start: number, end: number) => {\n const result: number[] = [];\n for (let i = start; i <= end; i++) {\n result.push(i);\n }\n return result;\n};\nexport const getDisabledHour = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledHourList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeHour = 0;\n let maxTimeHour = 23;\n\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMD) === current.format(DayjsDateTypeEnum.YMD)) {\n minTimeHour = options.minDateTime.get('hour');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMD) === current.format(DayjsDateTypeEnum.YMD)) {\n maxTimeHour = options.maxDateTime.get('hour');\n }\n let selectableMinute = range(minTimeHour, maxTimeHour);\n if (options.disabledHourList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledHourList?.includes(item));\n }\n return range(0, 23).filter((item) => !selectableMinute.includes(item));\n};\n\nexport const getDisabledMinute = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledMinuteList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeMinute = 0;\n let maxTimeMinute = 59;\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMDH) === current.format(DayjsDateTypeEnum.YMDH)) {\n minTimeMinute = options.minDateTime.get('minute');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMDH) === current.format(DayjsDateTypeEnum.YMDH)) {\n maxTimeMinute = options.maxDateTime.get('minute');\n }\n let selectableMinute = range(minTimeMinute, maxTimeMinute);\n if (options.disabledMinuteList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledMinuteList?.includes(item));\n }\n return range(0, 59).filter((item) => !selectableMinute.includes(item));\n};\n\nexport const getDisabledSecond = (\n current?: Dayjs,\n options?: {\n minDateTime?: Dayjs;\n maxDateTime?: Dayjs;\n disabledSecondList?: number[];\n },\n) => {\n if (!options || !current) return [];\n let minTimeSecond = 0;\n let maxTimeSecond = 59;\n if (options.minDateTime?.format(DayjsDateTypeEnum.YMDHm) === current.format(DayjsDateTypeEnum.YMDHm)) {\n minTimeSecond = options.minDateTime.get('second');\n }\n if (options.maxDateTime?.format(DayjsDateTypeEnum.YMDHm) === current.format(DayjsDateTypeEnum.YMDHm)) {\n maxTimeSecond = options.maxDateTime.get('second');\n }\n let selectableMinute = range(minTimeSecond, maxTimeSecond);\n if (options.disabledSecondList) {\n selectableMinute = selectableMinute.filter((item) => !options.disabledSecondList?.includes(item));\n }\n return range(0, 59).filter((item) => !selectableMinute.includes(item));\n};\n"],"names":["DayjsDateTypeEnum","DayjsTimeTypeEnum","range","start","end","result","i","push","getDisabledHour","current","options","_options$minDateTime","_options$maxDateTime","minTimeHour","maxTimeHour","minDateTime","format","YMD","get","maxDateTime","selectableMinute","disabledHourList","filter","item","_options$disabledHour","includes","getDisabledMinute","_options$minDateTime2","_options$maxDateTime2","minTimeMinute","maxTimeMinute","YMDH","disabledMinuteList","_options$disabledMinu","getDisabledSecond","_options$minDateTime3","_options$maxDateTime3","minTimeSecond","maxTimeSecond","YMDHm","disabledSecondList","_options$disabledSeco"],"mappings":";AAAYA,IAAAA,WAAAA,GAAAA,EAAiB,UAAA,sBAAjBA,EAAiB,SAAA,mBAAjBA,EAAiB,QAAA,gBAAjBA,EAAiB,OAAA,aAAA,OAAjBA,CAAiB,EAAA,IAOjBC,IAAAA,WAAAA,GAAAA,EAAiB,OAAA,WAAjBA,EAAiB,MAAA,QAAjBA,EAAiB,KAAA,KAAjBA,EAAiB,MAAA,QAAjBA,EAAiB,KAAA,KAAjBA,EAAiB,KAAA,KAAA,OAAjBA,CAAiB,EAAA,CAAA,GCJ7B,IAAMC,EAAQ,SAARA,EAASC,EAAeC,GAC5B,IAAMC,EAAmB,GACzB,IAAK,IAAIC,EAAIH,EAAOG,GAAKF,EAAKE,IAAK,CACjCD,EAAOE,KAAKD,EACd,CACA,OAAOD,CACT,EACO,IAAMG,EAAkB,SAAlBA,EACXC,EACAC,GAKG,IAAAC,EAAAC,EACH,IAAKF,IAAYD,EAAS,MAAO,GACjC,IAAII,EAAc,EAClB,IAAIC,EAAc,GAElB,KAAIH,EAAAD,EAAQK,cAARJ,UAAAA,EAAAA,EAAqBK,OAAOhB,EAAkBiB,QAASR,EAAQO,OAAOhB,EAAkBiB,KAAM,CAChGJ,EAAcH,EAAQK,YAAYG,IAAI,OACxC,CACA,KAAIN,EAAAF,EAAQS,cAARP,UAAAA,EAAAA,EAAqBI,OAAOhB,EAAkBiB,QAASR,EAAQO,OAAOhB,EAAkBiB,KAAM,CAChGH,EAAcJ,EAAQS,YAAYD,IAAI,OACxC,CACA,IAAIE,EAAmBlB,EAAMW,EAAaC,GAC1C,GAAIJ,EAAQW,iBAAkB,CAC5BD,EAAmBA,EAAiBE,OAAO,SAACC,GAAI,IAAAC,EAAA,SAAKA,EAACd,EAAQW,mBAARG,MAAAA,EAA0BC,SAASF,KAC3F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,OAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,IAClE,EAEO,IAAMG,EAAoB,SAApBA,EACXjB,EACAC,GAKG,IAAAiB,EAAAC,EACH,IAAKlB,IAAYD,EAAS,MAAO,GACjC,IAAIoB,EAAgB,EACpB,IAAIC,EAAgB,GACpB,KAAIH,EAAAjB,EAAQK,cAARY,UAAAA,EAAAA,EAAqBX,OAAOhB,EAAkB+B,SAAUtB,EAAQO,OAAOhB,EAAkB+B,MAAO,CAClGF,EAAgBnB,EAAQK,YAAYG,IAAI,SAC1C,CACA,KAAIU,EAAAlB,EAAQS,cAARS,UAAAA,EAAAA,EAAqBZ,OAAOhB,EAAkB+B,SAAUtB,EAAQO,OAAOhB,EAAkB+B,MAAO,CAClGD,EAAgBpB,EAAQS,YAAYD,IAAI,SAC1C,CACA,IAAIE,EAAmBlB,EAAM2B,EAAeC,GAC5C,GAAIpB,EAAQsB,mBAAoB,CAC9BZ,EAAmBA,EAAiBE,OAAO,SAACC,GAAI,IAAAU,EAAA,SAAKA,EAACvB,EAAQsB,qBAARC,MAAAA,EAA4BR,SAASF,KAC7F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,OAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,IAClE,EAEO,IAAMW,EAAoB,SAApBA,EACXzB,EACAC,GAKG,IAAAyB,EAAAC,EACH,IAAK1B,IAAYD,EAAS,MAAO,GACjC,IAAI4B,EAAgB,EACpB,IAAIC,EAAgB,GACpB,KAAIH,EAAAzB,EAAQK,cAARoB,UAAAA,EAAAA,EAAqBnB,OAAOhB,EAAkBuC,UAAW9B,EAAQO,OAAOhB,EAAkBuC,OAAQ,CACpGF,EAAgB3B,EAAQK,YAAYG,IAAI,SAC1C,CACA,KAAIkB,EAAA1B,EAAQS,cAARiB,UAAAA,EAAAA,EAAqBpB,OAAOhB,EAAkBuC,UAAW9B,EAAQO,OAAOhB,EAAkBuC,OAAQ,CACpGD,EAAgB5B,EAAQS,YAAYD,IAAI,SAC1C,CACA,IAAIE,EAAmBlB,EAAMmC,EAAeC,GAC5C,GAAI5B,EAAQ8B,mBAAoB,CAC9BpB,EAAmBA,EAAiBE,OAAO,SAACC,GAAI,IAAAkB,EAAA,SAAKA,EAAC/B,EAAQ8B,qBAARC,MAAAA,EAA4BhB,SAASF,KAC7F,CACA,OAAOrB,EAAM,EAAG,IAAIoB,OAAO,SAACC,GAAI,OAAMH,EAAiBK,SAASF,IAClE"}
@@ -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{TimePicker as a}from"antd";import n from"dayjs";import t from"dayjs/plugin/isSameOrAfter";import o from"dayjs/plugin/isSameOrBefore";import{useMemo as s}from"react";import{c as d,D as m,g as u,a as f,b as l}from"../time-53b3f55f.js";import{jsx as c}from"react/jsx-runtime";var v=["onChange","disabledTimeConfig","format"];n.extend(o);n.extend(t);var b=function t(o){var b=o.onChange,p=o.disabledTimeConfig,g=o.format,j=e(o,v);var S=p||{},T=S.minTime,x=S.maxTime,C=S.disabledHourList,L=S.disabledMinuteList,h=S.disabledSecondList;var H=g||d.Hms;var D=i.useCallbackRef((function(e,r){if(e){b==null||b(r)}else{b==null||b(undefined)}}));var M=s((function(){var e=o.value;if(e){return n(e,H)}return undefined}),[H,o.value]);var O=function e(){var r=n().format(m.YMD);var i={minDateTime:T?n(r+" "+T):undefined,maxDateTime:x?n(r+" "+x):undefined,disabledHourList:C,disabledMinuteList:L,disabledSecondList:h};return{disabledHours:function e(){return u(n(),i)},disabledMinutes:function e(a){return f(n(r+" "+a),i)},disabledSeconds:function e(a,t){return l(n(r+" "+a+":"+t),i)}}};var w=s((function(){var e=n();return e.isSameOrAfter(n(T||"00:00:00",H))&&e.isSameOrBefore(n(x||"23:59:59",H))}),[H,x,T]);return c(a,r({showNow:w,disabledTime:O},j,{value:M,onChange:D,format:H}))};export{b as TimePickerWrapper};
4
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as i}from"@wove/react/cjs/hooks";import{TimePicker as a}from"antd";import n from"dayjs";import t from"dayjs/plugin/isSameOrAfter";import o from"dayjs/plugin/isSameOrBefore";import{useMemo as s}from"react";import{c as d,D as m,g as u,a as f,b as l}from"../time-ea73b2fb.js";import{jsx as c}from"react/jsx-runtime";var v=["onChange","disabledTimeConfig","format"];n.extend(o);n.extend(t);var b=function t(o){var b=o.onChange,p=o.disabledTimeConfig,g=o.format,j=e(o,v);var S=p||{},T=S.minTime,x=S.maxTime,C=S.disabledHourList,L=S.disabledMinuteList,h=S.disabledSecondList;var H=g||d.Hms;var D=i.useCallbackRef(function(e,r){if(e){b==null||b(r)}else{b==null||b(undefined)}});var M=s(function(){var e=o.value;if(e){return n(e,H)}return undefined},[H,o.value]);var O=function e(){var r=n().format(m.YMD);var i={minDateTime:T?n(r+" "+T):undefined,maxDateTime:x?n(r+" "+x):undefined,disabledHourList:C,disabledMinuteList:L,disabledSecondList:h};return{disabledHours:function e(){return u(n(),i)},disabledMinutes:function e(a){return f(n(r+" "+a),i)},disabledSeconds:function e(a,t){return l(n(r+" "+a+":"+t),i)}}};var w=s(function(){var e=n();return e.isSameOrAfter(n(T||"00:00:00",H))&&e.isSameOrBefore(n(x||"23:59:59",H))},[H,x,T]);return c(a,r({showNow:w,disabledTime:O},j,{value:M,onChange:D,format:H}))};export{b as TimePickerWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-picker-wrapper/time-picker-wrapper.tsx"],"sourcesContent":["import { hooks } from '@wove/react';\nimport { TimePicker, TimePickerProps } from 'antd';\nimport dayjs from 'dayjs';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, DayjsTimeTypeEnum, TDayjsTimeType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isSameOrAfter);\n\nexport type TimePickerWrapperProps = Omit<TimePickerProps, 'value' | 'onChange' | 'format'> & {\n value?: string;\n onChange?: (value?: string) => void;\n /**\n * 1. minTime、maxTime设置为 DayjsTimeTypeEnum,默认格式:HH:mm:ss\n * 2. minTime、maxTime格式必须与 format 相同\n */\n disabledTimeConfig?: {\n minTime?: TDayjsTimeType;\n maxTime?: TDayjsTimeType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsTimeType;\n};\n/**\n * TimePicker组件包装\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 HH:mm:ss\n * 4. 其他格式化类型自定义format\n * 5. 设置disabledTime后,disabledTimeConfig配置将失效\n * ```\n */\nexport const TimePickerWrapper = (props: TimePickerWrapperProps) => {\n const { onChange, disabledTimeConfig, format, ...otherProps } = props;\n const { minTime, maxTime, disabledHourList, disabledMinuteList, disabledSecondList } =\n disabledTimeConfig || {};\n\n const customFormat = format || DayjsTimeTypeEnum.Hms;\n\n const onChangeTime = hooks.useCallbackRef((time, timeString: string) => {\n if (time) {\n onChange?.(timeString);\n } else {\n onChange?.(undefined);\n }\n });\n\n const timePickerValue = useMemo(() => {\n const value = props.value;\n if (value) {\n return dayjs(value, customFormat);\n }\n return undefined;\n }, [customFormat, props.value]);\n\n const getDisabledTime: TimePickerProps['disabledTime'] = () => {\n const date = dayjs().format(DayjsDateTypeEnum.YMD);\n const options = {\n minDateTime: minTime ? dayjs(`${date} ${minTime}`) : undefined,\n maxDateTime: maxTime ? dayjs(`${date} ${maxTime}`) : undefined,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n return {\n disabledHours: () => {\n return getDisabledHour(dayjs(), options);\n },\n disabledMinutes: (hour: number) => {\n return getDisabledMinute(dayjs(`${date} ${hour}`), options);\n },\n disabledSeconds: (hour: number, minute: number) => {\n return getDisabledSecond(dayjs(`${date} ${hour}:${minute}`), options);\n },\n };\n };\n\n const showNow = useMemo(() => {\n const now = dayjs();\n return (\n now.isSameOrAfter(dayjs(minTime || '00:00:00', customFormat)) &&\n now.isSameOrBefore(dayjs(maxTime || '23:59:59', customFormat))\n );\n }, [customFormat, maxTime, minTime]);\n\n return (\n <TimePicker\n showNow={showNow}\n disabledTime={getDisabledTime}\n {...otherProps}\n value={timePickerValue}\n onChange={onChangeTime}\n format={customFormat}\n />\n );\n};\n"],"names":["dayjs","extend","isSameOrBefore","isSameOrAfter","TimePickerWrapper","props","onChange","disabledTimeConfig","format","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","minTime","maxTime","disabledHourList","disabledMinuteList","disabledSecondList","customFormat","DayjsTimeTypeEnum","Hms","onChangeTime","_hooks","useCallbackRef","time","timeString","undefined","timePickerValue","useMemo","value","getDisabledTime","date","DayjsDateTypeEnum","YMD","options","minDateTime","maxDateTime","disabledHours","getDisabledHour","disabledMinutes","hour","getDisabledMinute","disabledSeconds","minute","getDisabledSecond","showNow","now","_jsx","TimePicker","_extends","disabledTime"],"mappings":";2bAQAA,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,OA+BAC,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAwDD,EAAxDC,SAAUC,EAA8CF,EAA9CE,mBAAoBC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GACrE,IAAAC,EACEL,GAAsB,CAAE,EADlBM,EAAOD,EAAPC,QAASC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAkBJ,EAAlBI,mBAAoBC,EAAkBL,EAAlBK,mBAGhE,IAAMC,EAAeV,GAAUW,EAAkBC,IAEjD,IAAMC,EAAeC,EAAMC,gBAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACRlB,GAAAA,MAAAA,EAAWmB,EACb,KAAO,CACLnB,GAAAA,MAAAA,EAAWoB,UACb,CACF,IAEA,IAAMC,EAAkBC,GAAQ,WAC9B,IAAMC,EAAQxB,EAAMwB,MACpB,GAAIA,EAAO,CACT,OAAO7B,EAAM6B,EAAOX,EACtB,CACA,OAAOQ,SACR,GAAE,CAACR,EAAcb,EAAMwB,QAExB,IAAMC,EAAmD,SAAnDA,IACJ,IAAMC,EAAO/B,IAAQQ,OAAOwB,EAAkBC,KAC9C,IAAMC,EAAU,CACdC,YAAatB,EAAUb,EAAS+B,EAAQlB,IAAAA,GAAaa,UACrDU,YAAatB,EAAUd,EAAS+B,EAAQjB,IAAAA,GAAaY,UACrDX,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEF,MAAO,CACLoB,cAAe,SAAfA,IACE,OAAOC,EAAgBtC,IAASkC,EACjC,EACDK,gBAAiB,SAAjBA,EAAkBC,GAChB,OAAOC,EAAkBzC,EAAS+B,MAAQS,GAASN,EACpD,EACDQ,gBAAiB,SAAjBA,EAAkBF,EAAcG,GAC9B,OAAOC,EAAkB5C,EAAS+B,EAAI,IAAIS,EAAI,IAAIG,GAAWT,EAC/D,IAIJ,IAAMW,EAAUjB,GAAQ,WACtB,IAAMkB,EAAM9C,IACZ,OACE8C,EAAI3C,cAAcH,EAAMa,GAAW,WAAYK,KAC/C4B,EAAI5C,eAAeF,EAAMc,GAAW,WAAYI,GAEnD,GAAE,CAACA,EAAcJ,EAASD,IAE3B,OACEkC,EAACC,EAAUC,EAAA,CACTJ,QAASA,EACTK,aAAcpB,GACVrB,EAAU,CACdoB,MAAOF,EACPrB,SAAUe,EACVb,OAAQU,IAGd"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-picker-wrapper/time-picker-wrapper.tsx"],"sourcesContent":["import { hooks } from '@wove/react';\nimport { TimePicker, TimePickerProps } from 'antd';\nimport dayjs from 'dayjs';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, DayjsTimeTypeEnum, TDayjsTimeType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isSameOrAfter);\n\nexport type TimePickerWrapperProps = Omit<TimePickerProps, 'value' | 'onChange' | 'format'> & {\n value?: string;\n onChange?: (value?: string) => void;\n /**\n * 1. minTime、maxTime设置为 DayjsTimeTypeEnum,默认格式:HH:mm:ss\n * 2. minTime、maxTime格式必须与 format 相同\n */\n disabledTimeConfig?: {\n minTime?: TDayjsTimeType;\n maxTime?: TDayjsTimeType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsTimeType;\n};\n/**\n * TimePicker组件包装\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 HH:mm:ss\n * 4. 其他格式化类型自定义format\n * 5. 设置disabledTime后,disabledTimeConfig配置将失效\n * ```\n */\nexport const TimePickerWrapper = (props: TimePickerWrapperProps) => {\n const { onChange, disabledTimeConfig, format, ...otherProps } = props;\n const { minTime, maxTime, disabledHourList, disabledMinuteList, disabledSecondList } =\n disabledTimeConfig || {};\n\n const customFormat = format || DayjsTimeTypeEnum.Hms;\n\n const onChangeTime = hooks.useCallbackRef((time, timeString: string) => {\n if (time) {\n onChange?.(timeString);\n } else {\n onChange?.(undefined);\n }\n });\n\n const timePickerValue = useMemo(() => {\n const value = props.value;\n if (value) {\n return dayjs(value, customFormat);\n }\n return undefined;\n }, [customFormat, props.value]);\n\n const getDisabledTime: TimePickerProps['disabledTime'] = () => {\n const date = dayjs().format(DayjsDateTypeEnum.YMD);\n const options = {\n minDateTime: minTime ? dayjs(`${date} ${minTime}`) : undefined,\n maxDateTime: maxTime ? dayjs(`${date} ${maxTime}`) : undefined,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n return {\n disabledHours: () => {\n return getDisabledHour(dayjs(), options);\n },\n disabledMinutes: (hour: number) => {\n return getDisabledMinute(dayjs(`${date} ${hour}`), options);\n },\n disabledSeconds: (hour: number, minute: number) => {\n return getDisabledSecond(dayjs(`${date} ${hour}:${minute}`), options);\n },\n };\n };\n\n const showNow = useMemo(() => {\n const now = dayjs();\n return (\n now.isSameOrAfter(dayjs(minTime || '00:00:00', customFormat)) &&\n now.isSameOrBefore(dayjs(maxTime || '23:59:59', customFormat))\n );\n }, [customFormat, maxTime, minTime]);\n\n return (\n <TimePicker\n showNow={showNow}\n disabledTime={getDisabledTime}\n {...otherProps}\n value={timePickerValue}\n onChange={onChangeTime}\n format={customFormat}\n />\n );\n};\n"],"names":["dayjs","extend","isSameOrBefore","isSameOrAfter","TimePickerWrapper","props","onChange","disabledTimeConfig","format","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","minTime","maxTime","disabledHourList","disabledMinuteList","disabledSecondList","customFormat","DayjsTimeTypeEnum","Hms","onChangeTime","_hooks","useCallbackRef","time","timeString","undefined","timePickerValue","useMemo","value","getDisabledTime","date","DayjsDateTypeEnum","YMD","options","minDateTime","maxDateTime","disabledHours","getDisabledHour","disabledMinutes","hour","getDisabledMinute","disabledSeconds","minute","getDisabledSecond","showNow","now","_jsx","TimePicker","_extends","disabledTime"],"mappings":";2bAQAA,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,OA+BAC,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAwDD,EAAxDC,SAAUC,EAA8CF,EAA9CE,mBAAoBC,EAA0BH,EAA1BG,OAAWC,EAAUC,EAAKL,EAAKM,GACrE,IAAAC,EACEL,GAAsB,CAAE,EADlBM,EAAOD,EAAPC,QAASC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAkBJ,EAAlBI,mBAAoBC,EAAkBL,EAAlBK,mBAGhE,IAAMC,EAAeV,GAAUW,EAAkBC,IAEjD,IAAMC,EAAeC,EAAMC,eAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACRlB,GAAAA,MAAAA,EAAWmB,EACb,KAAO,CACLnB,GAAAA,MAAAA,EAAWoB,UACb,CACF,GAEA,IAAMC,EAAkBC,EAAQ,WAC9B,IAAMC,EAAQxB,EAAMwB,MACpB,GAAIA,EAAO,CACT,OAAO7B,EAAM6B,EAAOX,EACtB,CACA,OAAOQ,SACR,EAAE,CAACR,EAAcb,EAAMwB,QAExB,IAAMC,EAAmD,SAAnDA,IACJ,IAAMC,EAAO/B,IAAQQ,OAAOwB,EAAkBC,KAC9C,IAAMC,EAAU,CACdC,YAAatB,EAAUb,EAAS+B,EAAQlB,IAAAA,GAAaa,UACrDU,YAAatB,EAAUd,EAAS+B,EAAQjB,IAAAA,GAAaY,UACrDX,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEF,MAAO,CACLoB,cAAe,SAAfA,IACE,OAAOC,EAAgBtC,IAASkC,EACjC,EACDK,gBAAiB,SAAjBA,EAAkBC,GAChB,OAAOC,EAAkBzC,EAAS+B,MAAQS,GAASN,EACpD,EACDQ,gBAAiB,SAAjBA,EAAkBF,EAAcG,GAC9B,OAAOC,EAAkB5C,EAAS+B,EAAI,IAAIS,EAAI,IAAIG,GAAWT,EAC/D,IAIJ,IAAMW,EAAUjB,EAAQ,WACtB,IAAMkB,EAAM9C,IACZ,OACE8C,EAAI3C,cAAcH,EAAMa,GAAW,WAAYK,KAC/C4B,EAAI5C,eAAeF,EAAMc,GAAW,WAAYI,GAEnD,EAAE,CAACA,EAAcJ,EAASD,IAE3B,OACEkC,EAACC,EAAUC,EAAA,CACTJ,QAASA,EACTK,aAAcpB,GACVrB,EAAU,CACdoB,MAAOF,EACPrB,SAAUe,EACVb,OAAQU,IAGd"}
@@ -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 i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{TimePicker as a}from"antd";import n from"dayjs";import{useMemo as t}from"react";import{c as o,D as s,g as d,a as u,b as m}from"../time-53b3f55f.js";import{jsx as f}from"react/jsx-runtime";var l=["onChange","disabledTimeConfig"];var c=function c(v){var b=v.onChange,p=v.disabledTimeConfig,g=e(v,l);var T=p||{},C=T.minTime,L=T.maxTime,h=T.disabledHourList,j=T.disabledMinuteList,H=T.disabledSecondList;var x=t((function(){return v.format||o.Hms}),[v.format]);var D=r.useCallbackRef((function(e,i){var r=i[0],a=i[1];if(e){b==null||b([r,a])}else{b==null||b(undefined)}}));var M=t((function(){var e=v.value;if(e&&e.length>0){return[e[0]?n(e[0],x):e[0],e[1]?n(e[1],x):e[1]]}return undefined}),[v.value,x]);var k=function e(){var i=n().format(s.YMD);var r={minDateTime:C?n(i+" "+C):undefined,maxDateTime:L?n(i+" "+L):undefined,disabledHourList:h,disabledMinuteList:j,disabledSecondList:H};return{disabledHours:function e(){return d(n(),r)},disabledMinutes:function e(a){return u(n(i+" "+a),r)},disabledSeconds:function e(a,t){return m(n(i+" "+a+":"+t),r)}}};return f(a.RangePicker,i({disabledTime:k},g,{value:M,onChange:D,format:x}))};export{c as TimeRangePickerWrapper};
4
+ import{a as e,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{TimePicker as a}from"antd";import n from"dayjs";import{useMemo as t}from"react";import{c as o,D as s,g as d,a as u,b as m}from"../time-ea73b2fb.js";import{jsx as f}from"react/jsx-runtime";var l=["onChange","disabledTimeConfig"];var c=function c(v){var b=v.onChange,p=v.disabledTimeConfig,g=e(v,l);var T=p||{},C=T.minTime,L=T.maxTime,h=T.disabledHourList,j=T.disabledMinuteList,H=T.disabledSecondList;var x=t(function(){return v.format||o.Hms},[v.format]);var D=r.useCallbackRef(function(e,i){var r=i[0],a=i[1];if(e){b==null||b([r,a])}else{b==null||b(undefined)}});var M=t(function(){var e=v.value;if(e&&e.length>0){return[e[0]?n(e[0],x):e[0],e[1]?n(e[1],x):e[1]]}return undefined},[v.value,x]);var k=function e(){var i=n().format(s.YMD);var r={minDateTime:C?n(i+" "+C):undefined,maxDateTime:L?n(i+" "+L):undefined,disabledHourList:h,disabledMinuteList:j,disabledSecondList:H};return{disabledHours:function e(){return d(n(),r)},disabledMinutes:function e(a){return u(n(i+" "+a),r)},disabledSeconds:function e(a,t){return m(n(i+" "+a+":"+t),r)}}};return f(a.RangePicker,i({disabledTime:k},g,{value:M,onChange:D,format:x}))};export{c as TimeRangePickerWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-range-picker-wrapper/time-range-picker-wrapper.tsx"],"sourcesContent":["import { hooks } from '@wove/react';\nimport { TimePicker, TimeRangePickerProps } from 'antd';\nimport dayjs, { Dayjs } from 'dayjs';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, DayjsTimeTypeEnum, TDayjsTimeType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type TimeRangePickerWrapperProps = Omit<TimeRangePickerProps, 'value' | 'onChange' | 'format'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n /**\n * 1. minTime、maxTime设置格式,默认格式:HH:mm:ss\n * 2. minTime、maxTime格式必须与 format 相同\n */\n disabledTimeConfig?: {\n minTime?: TDayjsTimeType;\n maxTime?: TDayjsTimeType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsTimeType;\n};\n// export declare type EventValue<DateType> = DateType | null;\n// export declare type RangeValue<DateType> = [EventValue<DateType>, EventValue<DateType>] | null;\n/**\n * TimePicker组件包装\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 HH:mm:ss,其他格式化类型自定义format\n * 4. 设置disabledTime后,disabledTimeConfig配置将失效\n * ```\n */\nexport const TimeRangePickerWrapper = (props: TimeRangePickerWrapperProps) => {\n const { onChange, disabledTimeConfig, ...otherProps } = props;\n\n const { minTime, maxTime, disabledHourList, disabledMinuteList, disabledSecondList } =\n disabledTimeConfig || {};\n\n const format = useMemo(() => {\n return props.format || DayjsTimeTypeEnum.Hms;\n }, [props.format]);\n\n const onChangeTime = hooks.useCallbackRef((date, [timeStart, timeEnd]: [string, string]) => {\n if (date) {\n onChange?.([timeStart, timeEnd]);\n } else {\n onChange?.(undefined);\n }\n });\n\n const timePickerValue = useMemo(() => {\n const value = props.value;\n if (value && value.length > 0) {\n return [\n value[0] ? dayjs(value[0], format) : value[0],\n value[1] ? dayjs(value[1], format) : value[1],\n ] as [Dayjs, Dayjs];\n }\n return undefined;\n }, [props.value, format]);\n\n const getDisabledTime: TimeRangePickerProps['disabledTime'] = () => {\n const date = dayjs().format(DayjsDateTypeEnum.YMD);\n const options = {\n minDateTime: minTime ? dayjs(`${date} ${minTime}`) : undefined,\n maxDateTime: maxTime ? dayjs(`${date} ${maxTime}`) : undefined,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n return {\n disabledHours: () => {\n return getDisabledHour(dayjs(), options);\n },\n disabledMinutes: (hour: number) => {\n return getDisabledMinute(dayjs(`${date} ${hour}`), options);\n },\n disabledSeconds: (hour: number, minute: number) => {\n return getDisabledSecond(dayjs(`${date} ${hour}:${minute}`), options);\n },\n };\n };\n\n return (\n <TimePicker.RangePicker\n disabledTime={getDisabledTime}\n {...otherProps}\n value={timePickerValue}\n onChange={onChangeTime}\n format={format}\n />\n );\n};\n"],"names":["TimeRangePickerWrapper","props","onChange","disabledTimeConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","minTime","maxTime","disabledHourList","disabledMinuteList","disabledSecondList","format","useMemo","DayjsTimeTypeEnum","Hms","onChangeTime","_hooks","useCallbackRef","date","_ref2","timeStart","timeEnd","undefined","timePickerValue","value","length","dayjs","getDisabledTime","DayjsDateTypeEnum","YMD","options","minDateTime","maxDateTime","disabledHours","getDisabledHour","disabledMinutes","hour","getDisabledMinute","disabledSeconds","minute","getDisabledSecond","_jsx","TimePicker","RangePicker","_extends","disabledTime"],"mappings":";iWAqCaA,EAAyB,SAAzBA,EAA0BC,GACrC,IAAQC,EAAgDD,EAAhDC,SAAUC,EAAsCF,EAAtCE,mBAAuBC,EAAUC,EAAKJ,EAAKK,GAE7D,IAAAC,EACEJ,GAAsB,CAAE,EADlBK,EAAOD,EAAPC,QAASC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAkBJ,EAAlBI,mBAAoBC,EAAkBL,EAAlBK,mBAGhE,IAAMC,EAASC,GAAQ,WACrB,OAAOb,EAAMY,QAAUE,EAAkBC,GAC3C,GAAG,CAACf,EAAMY,SAEV,IAAMI,EAAeC,EAAMC,gBAAe,SAACC,EAAIC,GAA6C,IAA1CC,EAASD,EAAA,GAAEE,EAAOF,EAAA,GAClE,GAAID,EAAM,CACRlB,GAAQ,MAARA,EAAW,CAACoB,EAAWC,GACzB,KAAO,CACLrB,GAAAA,MAAAA,EAAWsB,UACb,CACF,IAEA,IAAMC,EAAkBX,GAAQ,WAC9B,IAAMY,EAAQzB,EAAMyB,MACpB,GAAIA,GAASA,EAAMC,OAAS,EAAG,CAC7B,MAAO,CACLD,EAAM,GAAKE,EAAMF,EAAM,GAAIb,GAAUa,EAAM,GAC3CA,EAAM,GAAKE,EAAMF,EAAM,GAAIb,GAAUa,EAAM,GAE/C,CACA,OAAOF,SACR,GAAE,CAACvB,EAAMyB,MAAOb,IAEjB,IAAMgB,EAAwD,SAAxDA,IACJ,IAAMT,EAAOQ,IAAQf,OAAOiB,EAAkBC,KAC9C,IAAMC,EAAU,CACdC,YAAazB,EAAUoB,EAASR,EAAQZ,IAAAA,GAAagB,UACrDU,YAAazB,EAAUmB,EAASR,EAAQX,IAAAA,GAAae,UACrDd,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEF,MAAO,CACLuB,cAAe,SAAfA,IACE,OAAOC,EAAgBR,IAASI,EACjC,EACDK,gBAAiB,SAAjBA,EAAkBC,GAChB,OAAOC,EAAkBX,EAASR,MAAQkB,GAASN,EACpD,EACDQ,gBAAiB,SAAjBA,EAAkBF,EAAcG,GAC9B,OAAOC,EAAkBd,EAASR,EAAI,IAAIkB,EAAI,IAAIG,GAAWT,EAC/D,IAIJ,OACEW,EAACC,EAAWC,YAAWC,EAAA,CACrBC,aAAclB,GACVzB,EAAU,CACdsB,MAAOD,EACPvB,SAAUe,EACVJ,OAAQA,IAGd"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-range-picker-wrapper/time-range-picker-wrapper.tsx"],"sourcesContent":["import { hooks } from '@wove/react';\nimport { TimePicker, TimeRangePickerProps } from 'antd';\nimport dayjs, { Dayjs } from 'dayjs';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, DayjsTimeTypeEnum, TDayjsTimeType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type TimeRangePickerWrapperProps = Omit<TimeRangePickerProps, 'value' | 'onChange' | 'format'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n /**\n * 1. minTime、maxTime设置格式,默认格式:HH:mm:ss\n * 2. minTime、maxTime格式必须与 format 相同\n */\n disabledTimeConfig?: {\n minTime?: TDayjsTimeType;\n maxTime?: TDayjsTimeType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsTimeType;\n};\n// export declare type EventValue<DateType> = DateType | null;\n// export declare type RangeValue<DateType> = [EventValue<DateType>, EventValue<DateType>] | null;\n/**\n * TimePicker组件包装\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 HH:mm:ss,其他格式化类型自定义format\n * 4. 设置disabledTime后,disabledTimeConfig配置将失效\n * ```\n */\nexport const TimeRangePickerWrapper = (props: TimeRangePickerWrapperProps) => {\n const { onChange, disabledTimeConfig, ...otherProps } = props;\n\n const { minTime, maxTime, disabledHourList, disabledMinuteList, disabledSecondList } =\n disabledTimeConfig || {};\n\n const format = useMemo(() => {\n return props.format || DayjsTimeTypeEnum.Hms;\n }, [props.format]);\n\n const onChangeTime = hooks.useCallbackRef((date, [timeStart, timeEnd]: [string, string]) => {\n if (date) {\n onChange?.([timeStart, timeEnd]);\n } else {\n onChange?.(undefined);\n }\n });\n\n const timePickerValue = useMemo(() => {\n const value = props.value;\n if (value && value.length > 0) {\n return [\n value[0] ? dayjs(value[0], format) : value[0],\n value[1] ? dayjs(value[1], format) : value[1],\n ] as [Dayjs, Dayjs];\n }\n return undefined;\n }, [props.value, format]);\n\n const getDisabledTime: TimeRangePickerProps['disabledTime'] = () => {\n const date = dayjs().format(DayjsDateTypeEnum.YMD);\n const options = {\n minDateTime: minTime ? dayjs(`${date} ${minTime}`) : undefined,\n maxDateTime: maxTime ? dayjs(`${date} ${maxTime}`) : undefined,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n return {\n disabledHours: () => {\n return getDisabledHour(dayjs(), options);\n },\n disabledMinutes: (hour: number) => {\n return getDisabledMinute(dayjs(`${date} ${hour}`), options);\n },\n disabledSeconds: (hour: number, minute: number) => {\n return getDisabledSecond(dayjs(`${date} ${hour}:${minute}`), options);\n },\n };\n };\n\n return (\n <TimePicker.RangePicker\n disabledTime={getDisabledTime}\n {...otherProps}\n value={timePickerValue}\n onChange={onChangeTime}\n format={format}\n />\n );\n};\n"],"names":["TimeRangePickerWrapper","props","onChange","disabledTimeConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","minTime","maxTime","disabledHourList","disabledMinuteList","disabledSecondList","format","useMemo","DayjsTimeTypeEnum","Hms","onChangeTime","_hooks","useCallbackRef","date","_ref2","timeStart","timeEnd","undefined","timePickerValue","value","length","dayjs","getDisabledTime","DayjsDateTypeEnum","YMD","options","minDateTime","maxDateTime","disabledHours","getDisabledHour","disabledMinutes","hour","getDisabledMinute","disabledSeconds","minute","getDisabledSecond","_jsx","TimePicker","RangePicker","_extends","disabledTime"],"mappings":";iWAqCaA,EAAyB,SAAzBA,EAA0BC,GACrC,IAAQC,EAAgDD,EAAhDC,SAAUC,EAAsCF,EAAtCE,mBAAuBC,EAAUC,EAAKJ,EAAKK,GAE7D,IAAAC,EACEJ,GAAsB,CAAE,EADlBK,EAAOD,EAAPC,QAASC,EAAOF,EAAPE,QAASC,EAAgBH,EAAhBG,iBAAkBC,EAAkBJ,EAAlBI,mBAAoBC,EAAkBL,EAAlBK,mBAGhE,IAAMC,EAASC,EAAQ,WACrB,OAAOb,EAAMY,QAAUE,EAAkBC,GAC3C,EAAG,CAACf,EAAMY,SAEV,IAAMI,EAAeC,EAAMC,eAAe,SAACC,EAAIC,GAA6C,IAA1CC,EAASD,EAAA,GAAEE,EAAOF,EAAA,GAClE,GAAID,EAAM,CACRlB,GAAQ,MAARA,EAAW,CAACoB,EAAWC,GACzB,KAAO,CACLrB,GAAAA,MAAAA,EAAWsB,UACb,CACF,GAEA,IAAMC,EAAkBX,EAAQ,WAC9B,IAAMY,EAAQzB,EAAMyB,MACpB,GAAIA,GAASA,EAAMC,OAAS,EAAG,CAC7B,MAAO,CACLD,EAAM,GAAKE,EAAMF,EAAM,GAAIb,GAAUa,EAAM,GAC3CA,EAAM,GAAKE,EAAMF,EAAM,GAAIb,GAAUa,EAAM,GAE/C,CACA,OAAOF,SACR,EAAE,CAACvB,EAAMyB,MAAOb,IAEjB,IAAMgB,EAAwD,SAAxDA,IACJ,IAAMT,EAAOQ,IAAQf,OAAOiB,EAAkBC,KAC9C,IAAMC,EAAU,CACdC,YAAazB,EAAUoB,EAASR,EAAQZ,IAAAA,GAAagB,UACrDU,YAAazB,EAAUmB,EAASR,EAAQX,IAAAA,GAAae,UACrDd,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEF,MAAO,CACLuB,cAAe,SAAfA,IACE,OAAOC,EAAgBR,IAASI,EACjC,EACDK,gBAAiB,SAAjBA,EAAkBC,GAChB,OAAOC,EAAkBX,EAASR,MAAQkB,GAASN,EACpD,EACDQ,gBAAiB,SAAjBA,EAAkBF,EAAcG,GAC9B,OAAOC,EAAkBd,EAASR,EAAI,IAAIkB,EAAI,IAAIG,GAAWT,EAC/D,IAIJ,OACEW,EAACC,EAAWC,YAAWC,EAAA,CACrBC,aAAclB,GACVzB,EAAU,CACdsB,MAAOD,EACPvB,SAAUe,EACVJ,OAAQA,IAGd"}
@@ -7,5 +7,5 @@ import './../pre-defined-class-name/index.css';
7
7
  import './../types/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- 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{fbaHooks as l}from"../fba-hooks/index.js";import{fbaUtils as u}from"../fba-utils/index.js";import{FormItemHidden as v}from"../form-item-hidden/index.js";import{FormItemWrapper as c}from"../form-item-wrapper/index.js";import{TimeRangePickerWrapper as f}from"../time-range-picker-wrapper/index.js";import{jsxs as p,Fragment as d,jsx as j}from"react/jsx-runtime";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";import"dayjs";import"../time-53b3f55f.js";var h=["startName","endName","formListName","formListCompleteName","timeRangePickerWrapperProps"];var g=function s(l){var g;var C=l.startName,x=l.endName,N=l.formListName,k=l.formListCompleteName,P=l.timeRangePickerWrapperProps,b=e(l,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_time_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_time_"+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];u.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 p(d,{children:[j(v,{name:C}),j(v,{name:x}),j(c,r({},b,{name:L,children:W&&(g=l.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(f,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var t=s(0);var o=l.usePrevious(a.value);l.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(f,r({},a))};export{g as TimeRangePickerWrapperFormItem};
10
+ 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{fbaHooks as l}from"../fba-hooks/index.js";import{fbaUtils as u}from"../fba-utils/index.js";import{FormItemHidden as v}from"../form-item-hidden/index.js";import{FormItemWrapper as c}from"../form-item-wrapper/index.js";import{TimeRangePickerWrapper as f}from"../time-range-picker-wrapper/index.js";import{jsxs as p,Fragment as d,jsx as j}from"react/jsx-runtime";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";import"dayjs";import"../time-ea73b2fb.js";var h=["startName","endName","formListName","formListCompleteName","timeRangePickerWrapperProps"];var g=function s(l){var g;var C=l.startName,x=l.endName,N=l.formListName,k=l.formListCompleteName,P=l.timeRangePickerWrapperProps,b=e(l,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_time_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_time_"+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];u.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 p(d,{children:[j(v,{name:C}),j(v,{name:x}),j(c,r({},b,{name:L,children:W&&(g=l.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(f,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var t=s(0);var o=l.usePrevious(a.value);l.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(f,r({},a))};export{g as TimeRangePickerWrapperFormItem};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/time-range-picker-wrapper-form-item/time-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 { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport {\n TimeRangePickerWrapper,\n TimeRangePickerWrapperProps,\n} from '../time-range-picker-wrapper/time-range-picker-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type TimeRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 TimeRangePickerWrapperFormItem 在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 timeRangePickerWrapperProps?: TimeRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_time_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 timeRangePickerWrapperProps={{ format: 'HH:mm:ss' }}\n * 使用场景:\n * 1. 基础使用场景\n * <TimeRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <TimeRangePickerWrapperFormItem 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 <TimeRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const TimeRangePickerWrapperFormItem = (props: TimeRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n timeRangePickerWrapperProps,\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_time_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_time_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\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 timeRangePickerWrapperProps?.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 {...timeRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <TimeRangePickerWrapper {...timeRangePickerWrapperProps} 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 <TimeRangePickerWrapper {...props} />;\n};\n"],"names":["TimeRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","timeRangePickerWrapperProps","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","TimeRangePickerWrapper","_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/time-range-picker-wrapper-form-item/time-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 { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport {\n TimeRangePickerWrapper,\n TimeRangePickerWrapperProps,\n} from '../time-range-picker-wrapper/time-range-picker-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type TimeRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 TimeRangePickerWrapperFormItem 在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 timeRangePickerWrapperProps?: TimeRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_time_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 timeRangePickerWrapperProps={{ format: 'HH:mm:ss' }}\n * 使用场景:\n * 1. 基础使用场景\n * <TimeRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <TimeRangePickerWrapperFormItem 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 <TimeRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const TimeRangePickerWrapperFormItem = (props: TimeRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n timeRangePickerWrapperProps,\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_time_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_time_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\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 timeRangePickerWrapperProps?.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 {...timeRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <TimeRangePickerWrapper {...timeRangePickerWrapperProps} 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 <TimeRangePickerWrapper {...props} />;\n};\n"],"names":["TimeRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","timeRangePickerWrapperProps","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","TimeRangePickerWrapper","_props$value3","_props$value4","ref","useRef","preValue","fbaHooks","usePrevious","useEffectCustom","_props$value","_props$value2","current"],"mappings":"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"}
@@ -17,5 +17,5 @@ import './../dropdown-menu-wrapper/index.css';
17
17
  import './../input-search-wrapper/index.css';
18
18
  import './index.css';
19
19
  /*! @flatjs/forge MIT @flatbiz/antd */
20
- import{toArray as e,treeToTiledMap as i,isUndefinedOrNull as n,attachPropertiesToComponent as t}from"@flatbiz/utils";import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{useSize as l}from"ahooks";import{Modal as a}from"antd";import{Fragment as d,useRef as s,useState as u,useEffect as c,useMemo as m}from"react";import{fbaHooks as v}from"../fba-hooks/index.js";import{isObject as p}from"@dimjs/lang/cjs/is-object";import{FlexLayout as h}from"../flex-layout/index.js";import f from"@ant-design/icons/es/icons/CloseOutlined";import{CssNodeHover as g}from"../css-node-hover/index.js";import{IconWrapper as j}from"../icon-wrapper/index.js";import{TextOverflow as C}from"../text-overflow/index.js";import{jsx as x,jsxs as y}from"react/jsx-runtime";import{TreeWrapper as b}from"../tree-wrapper/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-string";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"dequal";import"../button-operate/index.js";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";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-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"../index-636a568e.js";import"@dimjs/utils/cjs/tree";var w=function e(i){var n=i.checkedIdList;return x(d,{children:n==null?void 0:n.map((function(e){var n=e.value;var t=e.label||n;return x(g,{style:{paddingLeft:5,paddingRight:0},children:y(h,{fullIndex:1,direction:"horizontal",style:{alignItems:"center",fontSize:14,marginBottom:0,color:"#505050"},children:[x(C,{text:t}),x("div",{style:{position:"relative",zIndex:9,color:"#a1a1a1"},children:x(j,{text:x(f,{}),onClick:i.onDeleteItem.bind(null,n),size:"small",style:{paddingRight:5,margin:"2px"}})})]})},n)}))})};var N=function i(n){var t,l;var a=o.useId(undefined,"tree-select-modal");return x(b,r({initRootExpand:true,showSearch:true,searchPlaceholder:"搜索",checkable:true,checkableType:"2"},n.treeProps,{showIcon:(t=n.treeProps)!=null&&t.icon?true:false,value:(l=n.value)==null?void 0:l.map((function(e){return e.value})),modelKey:a,fieldNames:n.fieldNames,labelInValue:true,serviceConfig:n.serviceConfig,onChange:function i(t){n.onChange==null||n.onChange(e(t))}}))};var k=function e(n){var t,o;var l=n.value||[];var a=((t=n.fieldNames)==null?void 0:t.value)||"value";var s=((o=n.fieldNames)==null?void 0:o.children)||"children";var u=n.textConfig,c=u.selectQuantityPrompt,m=u.placeholder;return y(h,{fullIndex:0,direction:"horizontal",gap:10,style:{height:"100%",overflow:"hidden"},children:[x("div",{style:{backgroundColor:"#f4f4f4",padding:10,borderRadius:5},children:x(N,{treeProps:n.treeProps,value:l,onChange:n.onChange,fieldNames:n.fieldNames,serviceConfig:r({},n.serviceConfig,{onRequestResultAdapter:function e(t){var r=i(t,{value:a,children:s});n.onChangeDataSource==null||n.onChangeDataSource(t,r);return t}})})}),y("div",{style:{width:"40%",overflow:"hidden",height:"100%",display:"flex",flexDirection:"column",flexShrink:0},children:[x("div",{style:{fontSize:15,fontWeight:"500",marginBottom:10},children:l.length>0?x(d,{children:c?c.replace("{total}",""+((l==null?void 0:l.length)||"")):"已选择"+(l==null?void 0:l.length)}):m||"请选择"}),x("div",{style:{overflow:"auto",flex:1},children:x(w,{checkedIdList:l,fieldNames:n.fieldNames,onDeleteItem:n.onDeleteItem})})]})]})};var R=function e(n){var t,o;var l=n.textConfig,a=l.selectQuantityPrompt,s=l.placeholder;var u=((t=n.fieldNames)==null?void 0:t.value)||"value";var c=((o=n.fieldNames)==null?void 0:o.children)||"children";var m=n.value||[];return y("div",{style:{height:"100%",overflow:"auto"},children:[x("div",{style:{backgroundColor:"#f4f4f4",padding:10,borderRadius:5},children:x(N,{treeProps:n.treeProps,value:m,onChange:n.onChange,fieldNames:n.fieldNames,serviceConfig:r({},n.serviceConfig,{onRequestResultAdapter:function e(t){var r=i(t,{value:u,children:c});n.onChangeDataSource==null||n.onChangeDataSource(t,r);return t}})})}),y("div",{style:{marginTop:20},children:[x("div",{style:{fontSize:15,fontWeight:"500",marginBottom:10},children:m.length>0?x(d,{children:a?a.replace("{total}",""+((m==null?void 0:m.length)||"")):"已选择"+(m==null?void 0:m.length)}):s}),x(w,{checkedIdList:m,fieldNames:n.fieldNames,onDeleteItem:n.onDeleteItem})]})]})};var D=function i(t){var l,a;var c=t.isMultiple;var m=((l=t.fieldNames)==null?void 0:l.label)||"label";var h=((a=t.fieldNames)==null?void 0:a.value)||"value";var f=s({});var g=v.useResponsivePoint()||"";var j=g==="xs"?"vertical":"horizontal";var C=n(c)?true:c;var y=u(),b=y[0],w=y[1];var N=function e(i){var n=b==null?void 0:b.filter((function(e){return e.value!==i}));w(n);t.onChange==null||t.onChange(n)};v.useEffectCustom((function(){var i=e(t.value).map((function(e){var i;var n=p(e)?e:{label:e,value:e};var t=n.value;return{value:t,label:((i=f.current[t])==null?void 0:i[m])||""}}));w(i)}),[t.value]);var D=r({},t.treeProps,{checkable:C?true:false});var I=function e(i){w(i);t.onChange==null||t.onChange(i)};var P=o.useCallbackRef((function(e,i){f.current=i;var n=b==null?void 0:b.map((function(e){var n=i[e.value];return n?{label:n[m],value:n[h]}:undefined})).filter(Boolean);w(n);t.onDataSourceChange==null||t.onDataSourceChange(e,i)}));return x(d,{children:j==="vertical"?x(R,{value:b,onDeleteItem:N,fieldNames:t.fieldNames,serviceConfig:t.serviceConfig?t.serviceConfig:{onRequest:t.onRequest},textConfig:t.textConfig,onChange:I,onChangeDataSource:P,treeProps:D}):x(k,{value:b,onDeleteItem:N,fieldNames:t.fieldNames,serviceConfig:t.serviceConfig?t.serviceConfig:{onRequest:t.onRequest},textConfig:t.textConfig,onChange:I,onChangeDataSource:P,treeProps:D})})};var I=function e(i){var n=i.size,t=n===void 0?"large":n;var p=u(false),h=p[0],f=p[1];var g=l(document.querySelector("html"));var j=v.useResponsivePoint()||"";var C=j==="xs"?"vertical":"horizontal";var b=o.useCallbackRef((function(){if(i.disabled)return;f(true)}));var w=i.children.type;var N=u(),k=N[0],R=N[1];var I=s();c((function(){I.current=i.value||[];R(i.value)}),[i.value]);var P=m((function(){if(!(g!=null&&g.height)||!j)return undefined;var e=["xs","sm"].includes(j);var n={};if(t=="large"){n={height:(g==null?void 0:g.height)*.65,width:800}}else if(t=="small"){n={height:(g==null?void 0:g.height)*.45,width:450}}else if(t=="middle"){n={height:(g==null?void 0:g.height)*.55,width:600}}return{height:i.modalBodyHeight||n.height,width:e?"90%":i.modalWidth||n.width}}),[g==null?void 0:g.height,j,t,i.modalBodyHeight,i.modalWidth]);var S=function e(){i.onChange==null||i.onChange(k);f(false)};var z=function e(){f(false);R(I.current)};return y(d,{children:[x(w,r({},i.children.props,{onClick:b})),x(a,{className:i.modalClassName,title:i.textConfig.title||"选择",open:h,onCancel:z,forceRender:i.forceRender,centered:true,width:P==null?void 0:P.width,onOk:S,styles:C==="horizontal"?{body:{height:P==null?void 0:P.height,maxHeight:"calc(100vh - 200px)",padding:"0px 20px 0 20px"},content:{padding:0},header:{padding:"20px 24px 0 20px"},footer:{padding:"0 24px 20px 24px"}}:{body:{height:P==null?void 0:P.height}},children:x(D,r({},i,{value:k,onChange:function e(i){R(i)}}))})]})};var P=t(I,{Content:D});export{P as TreeModal};
20
+ import{toArray as e,treeToTiledMap as i,isUndefinedOrNull as n,attachPropertiesToComponent as t}from"@flatbiz/utils";import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{useSize as l}from"ahooks";import{Modal as a}from"antd";import{Fragment as d,useRef as s,useState as u,useEffect as c,useMemo as m}from"react";import{fbaHooks as v}from"../fba-hooks/index.js";import{isObject as p}from"@dimjs/lang/cjs/is-object";import{FlexLayout as h}from"../flex-layout/index.js";import f from"@ant-design/icons/es/icons/CloseOutlined";import{CssNodeHover as g}from"../css-node-hover/index.js";import{IconWrapper as j}from"../icon-wrapper/index.js";import{TextOverflow as C}from"../text-overflow/index.js";import{jsx as x,jsxs as y}from"react/jsx-runtime";import{TreeWrapper as b}from"../tree-wrapper/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-string";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"dequal";import"../button-operate/index.js";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";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-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"../index-636a568e.js";import"@dimjs/utils/cjs/tree";var w=function e(i){var n=i.checkedIdList;return x(d,{children:n==null?void 0:n.map(function(e){var n=e.value;var t=e.label||n;return x(g,{style:{paddingLeft:5,paddingRight:0},children:y(h,{fullIndex:1,direction:"horizontal",style:{alignItems:"center",fontSize:14,marginBottom:0,color:"#505050"},children:[x(C,{text:t}),x("div",{style:{position:"relative",zIndex:9,color:"#a1a1a1"},children:x(j,{text:x(f,{}),onClick:i.onDeleteItem.bind(null,n),size:"small",style:{paddingRight:5,margin:"2px"}})})]})},n)})})};var N=function i(n){var t,l;var a=o.useId(undefined,"tree-select-modal");return x(b,r({initRootExpand:true,showSearch:true,searchPlaceholder:"搜索",checkable:true,checkableType:"2"},n.treeProps,{showIcon:(t=n.treeProps)!=null&&t.icon?true:false,value:(l=n.value)==null?void 0:l.map(function(e){return e.value}),modelKey:a,fieldNames:n.fieldNames,labelInValue:true,serviceConfig:n.serviceConfig,onChange:function i(t){n.onChange==null||n.onChange(e(t))}}))};var k=function e(n){var t,o;var l=n.value||[];var a=((t=n.fieldNames)==null?void 0:t.value)||"value";var s=((o=n.fieldNames)==null?void 0:o.children)||"children";var u=n.textConfig,c=u.selectQuantityPrompt,m=u.placeholder;return y(h,{fullIndex:0,direction:"horizontal",gap:10,style:{height:"100%",overflow:"hidden"},children:[x("div",{style:{backgroundColor:"#f4f4f4",padding:10,borderRadius:5},children:x(N,{treeProps:n.treeProps,value:l,onChange:n.onChange,fieldNames:n.fieldNames,serviceConfig:r({},n.serviceConfig,{onRequestResultAdapter:function e(t){var r=i(t,{value:a,children:s});n.onChangeDataSource==null||n.onChangeDataSource(t,r);return t}})})}),y("div",{style:{width:"40%",overflow:"hidden",height:"100%",display:"flex",flexDirection:"column",flexShrink:0},children:[x("div",{style:{fontSize:15,fontWeight:"500",marginBottom:10},children:l.length>0?x(d,{children:c?c.replace("{total}",""+((l==null?void 0:l.length)||"")):"已选择"+(l==null?void 0:l.length)}):m||"请选择"}),x("div",{style:{overflow:"auto",flex:1},children:x(w,{checkedIdList:l,fieldNames:n.fieldNames,onDeleteItem:n.onDeleteItem})})]})]})};var R=function e(n){var t,o;var l=n.textConfig,a=l.selectQuantityPrompt,s=l.placeholder;var u=((t=n.fieldNames)==null?void 0:t.value)||"value";var c=((o=n.fieldNames)==null?void 0:o.children)||"children";var m=n.value||[];return y("div",{style:{height:"100%",overflow:"auto"},children:[x("div",{style:{backgroundColor:"#f4f4f4",padding:10,borderRadius:5},children:x(N,{treeProps:n.treeProps,value:m,onChange:n.onChange,fieldNames:n.fieldNames,serviceConfig:r({},n.serviceConfig,{onRequestResultAdapter:function e(t){var r=i(t,{value:u,children:c});n.onChangeDataSource==null||n.onChangeDataSource(t,r);return t}})})}),y("div",{style:{marginTop:20},children:[x("div",{style:{fontSize:15,fontWeight:"500",marginBottom:10},children:m.length>0?x(d,{children:a?a.replace("{total}",""+((m==null?void 0:m.length)||"")):"已选择"+(m==null?void 0:m.length)}):s}),x(w,{checkedIdList:m,fieldNames:n.fieldNames,onDeleteItem:n.onDeleteItem})]})]})};var D=function i(t){var l,a;var c=t.isMultiple;var m=((l=t.fieldNames)==null?void 0:l.label)||"label";var h=((a=t.fieldNames)==null?void 0:a.value)||"value";var f=s({});var g=v.useResponsivePoint()||"";var j=g==="xs"?"vertical":"horizontal";var C=n(c)?true:c;var y=u(),b=y[0],w=y[1];var N=function e(i){var n=b==null?void 0:b.filter(function(e){return e.value!==i});w(n);t.onChange==null||t.onChange(n)};v.useEffectCustom(function(){var i=e(t.value).map(function(e){var i;var n=p(e)?e:{label:e,value:e};var t=n.value;return{value:t,label:((i=f.current[t])==null?void 0:i[m])||""}});w(i)},[t.value]);var D=r({},t.treeProps,{checkable:C?true:false});var I=function e(i){w(i);t.onChange==null||t.onChange(i)};var P=o.useCallbackRef(function(e,i){f.current=i;var n=b==null?void 0:b.map(function(e){var n=i[e.value];return n?{label:n[m],value:n[h]}:undefined}).filter(Boolean);w(n);t.onDataSourceChange==null||t.onDataSourceChange(e,i)});return x(d,{children:j==="vertical"?x(R,{value:b,onDeleteItem:N,fieldNames:t.fieldNames,serviceConfig:t.serviceConfig?t.serviceConfig:{onRequest:t.onRequest},textConfig:t.textConfig,onChange:I,onChangeDataSource:P,treeProps:D}):x(k,{value:b,onDeleteItem:N,fieldNames:t.fieldNames,serviceConfig:t.serviceConfig?t.serviceConfig:{onRequest:t.onRequest},textConfig:t.textConfig,onChange:I,onChangeDataSource:P,treeProps:D})})};var I=function e(i){var n=i.size,t=n===void 0?"large":n;var p=u(false),h=p[0],f=p[1];var g=l(document.querySelector("html"));var j=v.useResponsivePoint()||"";var C=j==="xs"?"vertical":"horizontal";var b=o.useCallbackRef(function(){if(i.disabled)return;f(true)});var w=i.children.type;var N=u(),k=N[0],R=N[1];var I=s();c(function(){I.current=i.value||[];R(i.value)},[i.value]);var P=m(function(){if(!(g!=null&&g.height)||!j)return undefined;var e=["xs","sm"].includes(j);var n={};if(t=="large"){n={height:(g==null?void 0:g.height)*.65,width:800}}else if(t=="small"){n={height:(g==null?void 0:g.height)*.45,width:450}}else if(t=="middle"){n={height:(g==null?void 0:g.height)*.55,width:600}}return{height:i.modalBodyHeight||n.height,width:e?"90%":i.modalWidth||n.width}},[g==null?void 0:g.height,j,t,i.modalBodyHeight,i.modalWidth]);var S=function e(){i.onChange==null||i.onChange(k);f(false)};var z=function e(){f(false);R(I.current)};return y(d,{children:[x(w,r({},i.children.props,{onClick:b})),x(a,{className:i.modalClassName,title:i.textConfig.title||"选择",open:h,onCancel:z,forceRender:i.forceRender,centered:true,width:P==null?void 0:P.width,onOk:S,styles:C==="horizontal"?{body:{height:P==null?void 0:P.height,maxHeight:"calc(100vh - 200px)",padding:"0px 20px 0 20px"},content:{padding:0},header:{padding:"20px 24px 0 20px"},footer:{padding:"0 24px 20px 24px"}}:{body:{height:P==null?void 0:P.height}},children:x(D,r({},i,{value:k,onChange:function e(i){R(i)}}))})]})};var P=t(I,{Content:D});export{P as TreeModal};
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-modal/select-item.tsx","@flatbiz/antd/src/tree-modal/tree.tsx","@flatbiz/antd/src/tree-modal/horizontal.tsx","@flatbiz/antd/src/tree-modal/vertical.tsx","@flatbiz/antd/src/tree-modal/select-modal-content.tsx","@flatbiz/antd/src/tree-modal/select-modal.tsx","@flatbiz/antd/src/tree-modal/index.ts"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { Fragment } from 'react';\n\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { CssNodeHover } from '../css-node-hover';\nimport { FlexLayout } from '../flex-layout';\nimport { IconWrapper } from '../icon-wrapper';\nimport { TextOverflow } from '../text-overflow';\nimport type { TreeModalProps } from './types';\n\nexport const SelectItemList = (props: {\n checkedIdList: TPlainObject[];\n fieldNames: TreeModalProps['fieldNames'];\n onDeleteItem: (value: TAny) => void;\n}) => {\n const checkedIdList = props.checkedIdList;\n return (\n <Fragment>\n {checkedIdList?.map((item) => {\n const value = item.value;\n const label = item.label || value;\n\n return (\n <CssNodeHover style={{ paddingLeft: 5, paddingRight: 0 }} key={value}>\n <FlexLayout\n fullIndex={1}\n direction=\"horizontal\"\n style={{\n alignItems: 'center',\n fontSize: 14,\n marginBottom: 0,\n color: '#505050',\n }}\n >\n <TextOverflow text={label} />\n <div\n style={{\n position: 'relative',\n zIndex: 9,\n color: '#a1a1a1',\n }}\n >\n <IconWrapper\n text={<CloseOutlined />}\n onClick={props.onDeleteItem.bind(null, value)}\n size=\"small\"\n style={{ paddingRight: 5, margin: '2px' }}\n />\n </div>\n </FlexLayout>\n </CssNodeHover>\n );\n })}\n </Fragment>\n );\n};\n","import type { TAny } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport type { TreeServiceConfig, TreeWrapperProps } from '../tree-wrapper';\nimport { TreeWrapper } from '../tree-wrapper';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const SelectContent = (props: {\n value?: TAny;\n onChange?: (value?: TreeModelSelectItem[]) => void;\n fieldNames?: TreeWrapperProps['fieldNames'];\n serviceConfig?: TreeServiceConfig;\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const modelKey = hooks.useId(undefined, 'tree-select-modal');\n return (\n <TreeWrapper\n initRootExpand\n showSearch\n searchPlaceholder=\"搜索\"\n checkable={true}\n checkableType=\"2\"\n {...props.treeProps}\n showIcon={props.treeProps?.icon ? true : false}\n value={props.value?.map((item) => item.value)}\n modelKey={modelKey}\n fieldNames={props.fieldNames}\n labelInValue={true}\n serviceConfig={props.serviceConfig}\n onChange={(values) => {\n props.onChange?.(toArray(values));\n }}\n />\n );\n};\n","import type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { Fragment } from 'react';\nimport { FlexLayout } from '../flex-layout';\nimport { SelectItemList } from './select-item';\nimport { SelectContent } from './tree';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const HorizontalLayout = (props: {\n onChangeDataSource?: (treeDataList: TPlainObject[], mapData: TPlainObject) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n serviceConfig?: {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n };\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const chenkedIdList = props.value || [];\n\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n\n return (\n <FlexLayout fullIndex={0} direction=\"horizontal\" gap={10} style={{ height: '100%', overflow: 'hidden' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n ...props.serviceConfig,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div\n style={{\n width: '40%',\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n }}\n >\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace('{total}', `${chenkedIdList?.length || ''}`)\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder || '请选择'\n )}\n </div>\n <div style={{ overflow: 'auto', flex: 1 }}>\n <SelectItemList\n checkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n </FlexLayout>\n );\n};\n","import type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { Fragment } from 'react';\nimport { SelectItemList } from './select-item';\nimport { SelectContent } from './tree';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const VerticalLayout = (props: {\n onChangeDataSource?: (treeDataList: TPlainObject[], mapData: TPlainObject) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n serviceConfig?: {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n };\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const chenkedIdList = props.value || [];\n\n return (\n <div style={{ height: '100%', overflow: 'auto' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n ...props.serviceConfig,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div style={{ marginTop: 20 }}>\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace('{total}', `${chenkedIdList?.length || ''}`)\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder\n )}\n </div>\n <SelectItemList\n checkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n );\n};\n","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Fragment, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { HorizontalLayout } from './horizontal';\nimport type { TreeModalContentProps, TreeModelSelectItem } from './types';\nimport { VerticalLayout } from './vertical';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalContent = (props: TreeModalContentProps) => {\n const { isMultiple } = props;\n const labelKey = props.fieldNames?.label || 'label';\n const valueKey = props.fieldNames?.value || 'value';\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n const isMultipleFt = isUndefinedOrNull(isMultiple) ? true : isMultiple;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n\n const onDeleteItem = (value) => {\n const targetList = values?.filter((item) => item.value !== value);\n setValues(targetList);\n props.onChange?.(targetList);\n };\n\n fbaHooks.useEffectCustom(() => {\n const values = toArray<TAny>(props.value).map((item) => {\n const target = isObject(item) ? item : { label: item, value: item };\n const value = target.value;\n return {\n value: value,\n label: dataSourceMapRef.current[value]?.[labelKey] || '',\n };\n });\n setValues(values);\n }, [props.value]);\n\n const treePropsFt = {\n ...props.treeProps,\n checkable: isMultipleFt ? true : false,\n };\n\n const onChange = (values?: TreeModelSelectItem[]) => {\n setValues(values);\n props.onChange?.(values);\n };\n\n const onChangeDataSource = hooks.useCallbackRef((treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = values\n ?.map((item) => {\n const target = mapData[item.value];\n return target ? { label: target[labelKey], value: target[valueKey] } : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setValues(result);\n props.onDataSourceChange?.(treeDataList, mapData);\n });\n return (\n <Fragment>\n {direction === 'vertical' ? (\n <VerticalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n serviceConfig={\n props.serviceConfig\n ? props.serviceConfig\n : {\n onRequest: props.onRequest,\n }\n }\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n ></VerticalLayout>\n ) : (\n <HorizontalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n serviceConfig={\n props.serviceConfig\n ? props.serviceConfig\n : {\n onRequest: props.onRequest,\n }\n }\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n />\n )}\n </Fragment>\n );\n};\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Modal } from 'antd';\nimport { Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TreeModalContent } from './select-modal-content';\nimport type { TreeModalProps, TreeModelSelectItem, TreeModelSelectValue } from './types';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModal = (props: TreeModalProps) => {\n const { size = 'large' } = props;\n const [isOpen, setIsOpen] = useState(false);\n\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n\n const handleOnClick = hooks.useCallbackRef(() => {\n if (props.disabled) return;\n setIsOpen(true);\n });\n\n const Action = props.children.type;\n\n const [values, setValues] = useState<TreeModelSelectValue>();\n const originalValuesRef = useRef<TreeModelSelectValue>();\n\n useEffect(() => {\n originalValuesRef.current = props.value || [];\n setValues(props.value);\n }, [props.value]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n let sizeCalculate: TPlainObject = {};\n if (size == 'large') {\n sizeCalculate = {\n height: htmlSize?.height * 0.65,\n width: 800,\n };\n } else if (size == 'small') {\n sizeCalculate = {\n height: htmlSize?.height * 0.45,\n width: 450,\n };\n } else if (size == 'middle') {\n sizeCalculate = {\n height: htmlSize?.height * 0.55,\n width: 600,\n };\n }\n\n return {\n height: props.modalBodyHeight || sizeCalculate.height,\n width: isXsSm ? '90%' : props.modalWidth || sizeCalculate.width,\n };\n }, [htmlSize?.height, screenType, size, props.modalBodyHeight, props.modalWidth]);\n\n const onSubmit = () => {\n props.onChange?.(values as TreeModelSelectItem[]);\n setIsOpen(false);\n };\n\n const onCancel = () => {\n setIsOpen(false);\n setValues(originalValuesRef.current);\n };\n return (\n <Fragment>\n <Action {...props.children.props} onClick={handleOnClick} />\n <Modal\n className={props.modalClassName}\n title={props.textConfig.title || '选择'}\n open={isOpen}\n onCancel={onCancel}\n forceRender={props.forceRender}\n centered\n width={customSize?.width}\n onOk={onSubmit}\n styles={\n direction === 'horizontal'\n ? {\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n padding: '0px 20px 0 20px',\n },\n content: {\n padding: 0,\n },\n header: {\n padding: '20px 24px 0 20px',\n },\n footer: {\n padding: '0 24px 20px 24px',\n },\n }\n : {\n body: {\n height: customSize?.height,\n },\n }\n }\n >\n <TreeModalContent\n {...props}\n value={values}\n onChange={(values) => {\n setValues(values);\n }}\n />\n </Modal>\n </Fragment>\n );\n};\n","import { attachPropertiesToComponent } from '@flatbiz/utils';\nimport { TreeModal as TreeModalInner } from './select-modal';\nimport { TreeModalContent } from './select-modal-content';\n\nexport const TreeModal = attachPropertiesToComponent(TreeModalInner, {\n Content: TreeModalContent,\n});\n"],"names":["SelectItemList","props","checkedIdList","_jsx","Fragment","children","map","item","value","label","CssNodeHover","style","paddingLeft","paddingRight","_jsxs","FlexLayout","fullIndex","direction","alignItems","fontSize","marginBottom","color","TextOverflow","text","position","zIndex","IconWrapper","_CloseOutlined","onClick","onDeleteItem","bind","size","margin","SelectContent","_props$treeProps","_props$value","modelKey","_hooks","useId","undefined","TreeWrapper","_extends","initRootExpand","showSearch","searchPlaceholder","checkable","checkableType","treeProps","showIcon","icon","fieldNames","labelInValue","serviceConfig","onChange","values","toArray","HorizontalLayout","_props$fieldNames","_props$fieldNames2","chenkedIdList","valueKey","childrenKey","_props$textConfig","textConfig","selectQuantityPrompt","placeholder","gap","height","overflow","backgroundColor","padding","borderRadius","onRequestResultAdapter","respData","listMap","treeToTiledMap","onChangeDataSource","width","display","flexDirection","flexShrink","fontWeight","length","replace","flex","VerticalLayout","marginTop","TreeModalContent","isMultiple","labelKey","dataSourceMapRef","useRef","screenType","fbaHooks","useResponsivePoint","isMultipleFt","isUndefinedOrNull","_useState","useState","setValues","targetList","filter","useEffectCustom","_dataSourceMapRef$cur","target","_isObject","current","treePropsFt","useCallbackRef","treeDataList","mapData","result","Boolean","onDataSourceChange","onRequest","TreeModal","_props$size","isOpen","setIsOpen","htmlSize","useSize","document","querySelector","handleOnClick","disabled","Action","type","_useState2","originalValuesRef","useEffect","customSize","useMemo","isXsSm","includes","sizeCalculate","modalBodyHeight","modalWidth","onSubmit","onCancel","Modal","className","modalClassName","title","open","forceRender","centered","onOk","styles","body","maxHeight","content","header","footer","attachPropertiesToComponent","TreeModalInner","Content"],"mappings":";qvEAUO,IAAMA,EAAiB,SAAjBA,EAAkBC,GAK7B,IAAMC,EAAgBD,EAAMC,cAC5B,OACEC,EAACC,EAAQ,CAAAC,SACNH,GAAAA,UAAAA,EAAAA,EAAeI,KAAI,SAACC,GACnB,IAAMC,EAAQD,EAAKC,MACnB,IAAMC,EAAQF,EAAKE,OAASD,EAE5B,OACEL,EAACO,EAAY,CAACC,MAAO,CAAEC,YAAa,EAAGC,aAAc,GAAIR,SACvDS,EAACC,EAAU,CACTC,UAAW,EACXC,UAAU,aACVN,MAAO,CACLO,WAAY,SACZC,SAAU,GACVC,aAAc,EACdC,MAAO,WACPhB,SAAA,CAEFF,EAACmB,EAAY,CAACC,KAAMd,IACpBN,EAAA,MAAA,CACEQ,MAAO,CACLa,SAAU,WACVC,OAAQ,EACRJ,MAAO,WACPhB,SAEFF,EAACuB,EAAW,CACVH,KAAMpB,EAAAwB,MACNC,QAAS3B,EAAM4B,aAAaC,KAAK,KAAMtB,GACvCuB,KAAK,QACLpB,MAAO,CAAEE,aAAc,EAAGmB,OAAQ,eAvBqBxB,OAgCzE,EChDO,IAAMyB,EAAgB,SAAhBA,EAAiBhC,GAMxB,IAAAiC,EAAAC,EACJ,IAAMC,EAAWC,EAAMC,MAAMC,UAAW,qBACxC,OACEpC,EAACqC,EAAWC,EAAA,CACVC,eAAc,KACdC,WAAU,KACVC,kBAAkB,KAClBC,UAAW,KACXC,cAAc,KACV7C,EAAM8C,UAAS,CACnBC,UAAUd,EAAAjC,EAAM8C,YAANb,MAAAA,EAAiBe,KAAO,KAAO,MACzCzC,OAAK2B,EAAElC,EAAMO,QAAN2B,UAAAA,EAAAA,EAAa7B,KAAI,SAACC,GAAI,OAAKA,EAAKC,SACvC4B,SAAUA,EACVc,WAAYjD,EAAMiD,WAClBC,aAAc,KACdC,cAAenD,EAAMmD,cACrBC,SAAU,SAAVA,EAAWC,GACTrD,EAAMoD,UAAQ,MAAdpD,EAAMoD,SAAWE,EAAQD,GAC3B,IAGN,EC1BO,IAAME,EAAmB,SAAnBA,EAAoBvD,GAa3B,IAAAwD,EAAAC,EACJ,IAAMC,EAAgB1D,EAAMO,OAAS,GAErC,IAAMoD,IAAWH,EAAAxD,EAAMiD,aAANO,UAAAA,EAAAA,EAAkBjD,QAAS,QAC5C,IAAMqD,IAAcH,EAAAzD,EAAMiD,aAANQ,UAAAA,EAAAA,EAAkBrD,WAAY,WAElD,IAAAyD,EAA8C7D,EAAM8D,WAA5CC,EAAoBF,EAApBE,qBAAsBC,EAAWH,EAAXG,YAE9B,OACEnD,EAACC,EAAU,CAACC,UAAW,EAAGC,UAAU,aAAaiD,IAAK,GAAIvD,MAAO,CAAEwD,OAAQ,OAAQC,SAAU,UAAW/D,UACtGF,EAAA,MAAA,CAAKQ,MAAO,CAAE0D,gBAAiB,UAAWC,QAAS,GAAIC,aAAc,GAAIlE,SACvEF,EAAC8B,EAAa,CACZc,UAAW9C,EAAM8C,UACjBvC,MAAOmD,EACPN,SAAUpD,EAAMoD,SAChBH,WAAYjD,EAAMiD,WAClBE,cAAaX,EACRxC,GAAAA,EAAMmD,cAAa,CACtBoB,uBAAwB,SAAxBA,EAAyBC,GACvB,IAAMC,EAAwBC,EAAeF,EAAU,CACrDjE,MAAOoD,EACPvD,SAAUwD,IAEZ5D,EAAM2E,oBAAkB,MAAxB3E,EAAM2E,mBAAqBH,EAAUC,GACrC,OAAOD,CACT,QAKN3D,EAAA,MAAA,CACEH,MAAO,CACLkE,MAAO,MACPT,SAAU,SACVD,OAAQ,OACRW,QAAS,OACTC,cAAe,SACfC,WAAY,GACZ3E,UAEFF,EAAA,MAAA,CAAKQ,MAAO,CAAEQ,SAAU,GAAI8D,WAAY,MAAO7D,aAAc,IAAKf,SAC/DsD,EAAcuB,OAAS,EACtB/E,EAACC,EAAQ,CAAAC,SACN2D,EACGA,EAAqBmB,QAAQ,UAAc,KAAAxB,GAAa,UAAA,EAAbA,EAAeuB,SAAU,YAC9DvB,GAAa,UAAA,EAAbA,EAAeuB,UAG3BjB,GAAe,QAGnB9D,EAAA,MAAA,CAAKQ,MAAO,CAAEyD,SAAU,OAAQgB,KAAM,GAAI/E,SACxCF,EAACH,EAAc,CACbE,cAAeyD,EACfT,WAAYjD,EAAMiD,WAClBrB,aAAc5B,EAAM4B,sBAMhC,EC3EO,IAAMwD,EAAiB,SAAjBA,EAAkBpF,GAazB,IAAAwD,EAAAC,EACJ,IAAAI,EAA8C7D,EAAM8D,WAA5CC,EAAoBF,EAApBE,qBAAsBC,EAAWH,EAAXG,YAC9B,IAAML,IAAWH,EAAAxD,EAAMiD,aAANO,UAAAA,EAAAA,EAAkBjD,QAAS,QAC5C,IAAMqD,IAAcH,EAAAzD,EAAMiD,aAANQ,UAAAA,EAAAA,EAAkBrD,WAAY,WAElD,IAAMsD,EAAgB1D,EAAMO,OAAS,GAErC,OACEM,EAAA,MAAA,CAAKH,MAAO,CAAEwD,OAAQ,OAAQC,SAAU,QAAS/D,UAC/CF,EAAA,MAAA,CAAKQ,MAAO,CAAE0D,gBAAiB,UAAWC,QAAS,GAAIC,aAAc,GAAIlE,SACvEF,EAAC8B,EAAa,CACZc,UAAW9C,EAAM8C,UACjBvC,MAAOmD,EACPN,SAAUpD,EAAMoD,SAChBH,WAAYjD,EAAMiD,WAClBE,cAAaX,EACRxC,GAAAA,EAAMmD,cAAa,CACtBoB,uBAAwB,SAAxBA,EAAyBC,GACvB,IAAMC,EAAwBC,EAAeF,EAAU,CACrDjE,MAAOoD,EACPvD,SAAUwD,IAEZ5D,EAAM2E,oBAAkB,MAAxB3E,EAAM2E,mBAAqBH,EAAUC,GACrC,OAAOD,CACT,QAKN3D,EAAA,MAAA,CAAKH,MAAO,CAAE2E,UAAW,IAAKjF,UAC5BF,EAAA,MAAA,CAAKQ,MAAO,CAAEQ,SAAU,GAAI8D,WAAY,MAAO7D,aAAc,IAAKf,SAC/DsD,EAAcuB,OAAS,EACtB/E,EAACC,EAAQ,CAAAC,SACN2D,EACGA,EAAqBmB,QAAQ,UAAc,KAAAxB,GAAa,UAAA,EAAbA,EAAeuB,SAAU,YAC9DvB,GAAa,UAAA,EAAbA,EAAeuB,UAG3BjB,IAGJ9D,EAACH,EAAc,CACbE,cAAeyD,EACfT,WAAYjD,EAAMiD,WAClBrB,aAAc5B,EAAM4B,oBAK9B,ECrDO,IAAM0D,EAAmB,SAAnBA,EAAoBtF,GAAiC,IAAAwD,EAAAC,EAChE,IAAQ8B,EAAevF,EAAfuF,WACR,IAAMC,IAAWhC,EAAAxD,EAAMiD,aAANO,UAAAA,EAAAA,EAAkBhD,QAAS,QAC5C,IAAMmD,IAAWF,EAAAzD,EAAMiD,aAANQ,UAAAA,EAAAA,EAAkBlD,QAAS,QAC5C,IAAMkF,EAAmBC,EAAqB,CAAA,GAE9C,IAAMC,EAAaC,EAASC,sBAAwB,GAEpD,IAAM7E,EAAY2E,IAAe,KAAO,WAAa,aACrD,IAAMG,EAAeC,EAAkBR,GAAc,KAAOA,EAE5D,IAAAS,EAA4BC,IAArB5C,EAAM2C,EAAA,GAAEE,EAASF,EAAA,GAExB,IAAMpE,EAAe,SAAfA,EAAgBrB,GACpB,IAAM4F,EAAa9C,GAAM,UAAA,EAANA,EAAQ+C,QAAO,SAAC9F,GAAI,OAAKA,EAAKC,QAAUA,KAC3D2F,EAAUC,GACVnG,EAAMoD,UAANpD,MAAAA,EAAMoD,SAAW+C,IAGnBP,EAASS,iBAAgB,WACvB,IAAMhD,EAASC,EAActD,EAAMO,OAAOF,KAAI,SAACC,GAAS,IAAAgG,EACtD,IAAMC,EAASC,EAASlG,GAAQA,EAAO,CAAEE,MAAOF,EAAMC,MAAOD,GAC7D,IAAMC,EAAQgG,EAAOhG,MACrB,MAAO,CACLA,MAAOA,EACPC,QAAO8F,EAAAb,EAAiBgB,QAAQlG,KAAzB+F,UAAAA,EAAAA,EAAkCd,KAAa,GAE1D,IACAU,EAAU7C,EACZ,GAAG,CAACrD,EAAMO,QAEV,IAAMmG,EAAWlE,EACZxC,GAAAA,EAAM8C,UAAS,CAClBF,UAAWkD,EAAe,KAAO,QAGnC,IAAM1C,EAAW,SAAXA,EAAYC,GAChB6C,EAAU7C,GACVrD,EAAMoD,UAANpD,MAAAA,EAAMoD,SAAWC,IAGnB,IAAMsB,EAAqBvC,EAAMuE,gBAAe,SAACC,EAA8BC,GAC7EpB,EAAiBgB,QAAUI,EAC3B,IAAMC,EAASzD,GAAAA,UAAAA,EAAAA,EACXhD,KAAI,SAACC,GACL,IAAMiG,EAASM,EAAQvG,EAAKC,OAC5B,OAAOgG,EAAS,CAAE/F,MAAO+F,EAAOf,GAAWjF,MAAOgG,EAAO5C,IAAcrB,SACzE,IACC8D,OAAOW,SACVb,EAAUY,GACV9G,EAAMgH,oBAAkB,MAAxBhH,EAAMgH,mBAAqBJ,EAAcC,EAC3C,IACA,OACE3G,EAACC,EAAQ,CAAAC,SACNY,IAAc,WACbd,EAACkF,EAAc,CACb7E,MAAO8C,EACPzB,aAAcA,EACdqB,WAAYjD,EAAMiD,WAClBE,cACEnD,EAAMmD,cACFnD,EAAMmD,cACN,CACE8D,UAAWjH,EAAMiH,WAGzBnD,WAAY9D,EAAM8D,WAClBV,SAAUA,EACVuB,mBAAoBA,EACpB7B,UAAW4D,IAGbxG,EAACqD,EAAgB,CACfhD,MAAO8C,EACPzB,aAAcA,EACdqB,WAAYjD,EAAMiD,WAClBE,cACEnD,EAAMmD,cACFnD,EAAMmD,cACN,CACE8D,UAAWjH,EAAMiH,WAGzBnD,WAAY9D,EAAM8D,WAClBV,SAAUA,EACVuB,mBAAoBA,EACpB7B,UAAW4D,KAKrB,EC3FO,IAAMQ,EAAY,SAAZA,EAAalH,GACxB,IAAAmH,EAA2BnH,EAAnB8B,KAAAA,EAAIqF,SAAG,EAAA,QAAOA,EACtB,IAAAnB,EAA4BC,EAAS,OAA9BmB,EAAMpB,EAAA,GAAEqB,EAASrB,EAAA,GAExB,IAAMsB,EAAWC,EAAQC,SAASC,cAAc,SAChD,IAAM9B,EAAaC,EAASC,sBAAwB,GAEpD,IAAM7E,EAAY2E,IAAe,KAAO,WAAa,aAErD,IAAM+B,EAAgBtF,EAAMuE,gBAAe,WACzC,GAAI3G,EAAM2H,SAAU,OACpBN,EAAU,KACZ,IAEA,IAAMO,EAAS5H,EAAMI,SAASyH,KAE9B,IAAAC,EAA4B7B,IAArB5C,EAAMyE,EAAA,GAAE5B,EAAS4B,EAAA,GACxB,IAAMC,EAAoBrC,IAE1BsC,GAAU,WACRD,EAAkBtB,QAAUzG,EAAMO,OAAS,GAC3C2F,EAAUlG,EAAMO,MAClB,GAAG,CAACP,EAAMO,QAEV,IAAM0H,EAAaC,GAAQ,WACzB,KAAKZ,GAAQ,MAARA,EAAUpD,UAAWyB,EAAY,OAAOrD,UAC7C,IAAM6F,EAAS,CAAC,KAAM,MAAMC,SAASzC,GACrC,IAAI0C,EAA8B,CAAA,EAClC,GAAIvG,GAAQ,QAAS,CACnBuG,EAAgB,CACdnE,QAAQoD,GAAQ,UAAA,EAARA,EAAUpD,QAAS,IAC3BU,MAAO,IAEX,MAAO,GAAI9C,GAAQ,QAAS,CAC1BuG,EAAgB,CACdnE,QAAQoD,GAAQ,UAAA,EAARA,EAAUpD,QAAS,IAC3BU,MAAO,IAEX,MAAO,GAAI9C,GAAQ,SAAU,CAC3BuG,EAAgB,CACdnE,QAAQoD,GAAQ,UAAA,EAARA,EAAUpD,QAAS,IAC3BU,MAAO,IAEX,CAEA,MAAO,CACLV,OAAQlE,EAAMsI,iBAAmBD,EAAcnE,OAC/CU,MAAOuD,EAAS,MAAQnI,EAAMuI,YAAcF,EAAczD,MAE7D,GAAE,CAAC0C,GAAQ,UAAA,EAARA,EAAUpD,OAAQyB,EAAY7D,EAAM9B,EAAMsI,gBAAiBtI,EAAMuI,aAErE,IAAMC,EAAW,SAAXA,IACJxI,EAAMoD,UAANpD,MAAAA,EAAMoD,SAAWC,GACjBgE,EAAU,QAGZ,IAAMoB,EAAW,SAAXA,IACJpB,EAAU,OACVnB,EAAU6B,EAAkBtB,UAE9B,OACE5F,EAACV,EAAQ,CAAAC,SAAA,CACPF,EAAC0H,EAAMpF,EAAA,CAAA,EAAKxC,EAAMI,SAASJ,MAAK,CAAE2B,QAAS+F,KAC3CxH,EAACwI,EAAK,CACJC,UAAW3I,EAAM4I,eACjBC,MAAO7I,EAAM8D,WAAW+E,OAAS,KACjCC,KAAM1B,EACNqB,SAAUA,EACVM,YAAa/I,EAAM+I,YACnBC,SAAQ,KACRpE,MAAOqD,GAAAA,UAAAA,EAAAA,EAAYrD,MACnBqE,KAAMT,EACNU,OACElI,IAAc,aACV,CACEmI,KAAM,CACJjF,OAAQ+D,GAAAA,UAAAA,EAAAA,EAAY/D,OACpBkF,UAAW,sBACX/E,QAAS,mBAEXgF,QAAS,CACPhF,QAAS,GAEXiF,OAAQ,CACNjF,QAAS,oBAEXkF,OAAQ,CACNlF,QAAS,qBAGb,CACE8E,KAAM,CACJjF,OAAQ+D,GAAAA,UAAAA,EAAAA,EAAY/D,SAG7B9D,SAEDF,EAACoF,EAAgB9C,KACXxC,EAAK,CACTO,MAAO8C,EACPD,SAAU,SAAVA,EAAWC,GACT6C,EAAU7C,EACZ,SAKV,MCvHa6D,EAAYsC,EAA4BC,EAAgB,CACnEC,QAASpE"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tree-modal/select-item.tsx","@flatbiz/antd/src/tree-modal/tree.tsx","@flatbiz/antd/src/tree-modal/horizontal.tsx","@flatbiz/antd/src/tree-modal/vertical.tsx","@flatbiz/antd/src/tree-modal/select-modal-content.tsx","@flatbiz/antd/src/tree-modal/select-modal.tsx","@flatbiz/antd/src/tree-modal/index.ts"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { Fragment } from 'react';\n\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { CssNodeHover } from '../css-node-hover';\nimport { FlexLayout } from '../flex-layout';\nimport { IconWrapper } from '../icon-wrapper';\nimport { TextOverflow } from '../text-overflow';\nimport type { TreeModalProps } from './types';\n\nexport const SelectItemList = (props: {\n checkedIdList: TPlainObject[];\n fieldNames: TreeModalProps['fieldNames'];\n onDeleteItem: (value: TAny) => void;\n}) => {\n const checkedIdList = props.checkedIdList;\n return (\n <Fragment>\n {checkedIdList?.map((item) => {\n const value = item.value;\n const label = item.label || value;\n\n return (\n <CssNodeHover style={{ paddingLeft: 5, paddingRight: 0 }} key={value}>\n <FlexLayout\n fullIndex={1}\n direction=\"horizontal\"\n style={{\n alignItems: 'center',\n fontSize: 14,\n marginBottom: 0,\n color: '#505050',\n }}\n >\n <TextOverflow text={label} />\n <div\n style={{\n position: 'relative',\n zIndex: 9,\n color: '#a1a1a1',\n }}\n >\n <IconWrapper\n text={<CloseOutlined />}\n onClick={props.onDeleteItem.bind(null, value)}\n size=\"small\"\n style={{ paddingRight: 5, margin: '2px' }}\n />\n </div>\n </FlexLayout>\n </CssNodeHover>\n );\n })}\n </Fragment>\n );\n};\n","import type { TAny } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport type { TreeServiceConfig, TreeWrapperProps } from '../tree-wrapper';\nimport { TreeWrapper } from '../tree-wrapper';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const SelectContent = (props: {\n value?: TAny;\n onChange?: (value?: TreeModelSelectItem[]) => void;\n fieldNames?: TreeWrapperProps['fieldNames'];\n serviceConfig?: TreeServiceConfig;\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const modelKey = hooks.useId(undefined, 'tree-select-modal');\n return (\n <TreeWrapper\n initRootExpand\n showSearch\n searchPlaceholder=\"搜索\"\n checkable={true}\n checkableType=\"2\"\n {...props.treeProps}\n showIcon={props.treeProps?.icon ? true : false}\n value={props.value?.map((item) => item.value)}\n modelKey={modelKey}\n fieldNames={props.fieldNames}\n labelInValue={true}\n serviceConfig={props.serviceConfig}\n onChange={(values) => {\n props.onChange?.(toArray(values));\n }}\n />\n );\n};\n","import type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { Fragment } from 'react';\nimport { FlexLayout } from '../flex-layout';\nimport { SelectItemList } from './select-item';\nimport { SelectContent } from './tree';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const HorizontalLayout = (props: {\n onChangeDataSource?: (treeDataList: TPlainObject[], mapData: TPlainObject) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n serviceConfig?: {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n };\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const chenkedIdList = props.value || [];\n\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n\n return (\n <FlexLayout fullIndex={0} direction=\"horizontal\" gap={10} style={{ height: '100%', overflow: 'hidden' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n ...props.serviceConfig,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div\n style={{\n width: '40%',\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n }}\n >\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace('{total}', `${chenkedIdList?.length || ''}`)\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder || '请选择'\n )}\n </div>\n <div style={{ overflow: 'auto', flex: 1 }}>\n <SelectItemList\n checkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n </FlexLayout>\n );\n};\n","import type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { treeToTiledMap } from '@flatbiz/utils';\nimport { Fragment } from 'react';\nimport { SelectItemList } from './select-item';\nimport { SelectContent } from './tree';\nimport type { TreeModalProps, TreeModelSelectItem } from './types';\n\nexport const VerticalLayout = (props: {\n onChangeDataSource?: (treeDataList: TPlainObject[], mapData: TPlainObject) => void;\n onDeleteItem: (value: TAny) => void;\n fieldNames?: TreeModalProps['fieldNames'];\n serviceConfig?: {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: TAny) => TAny;\n };\n textConfig: TreeModalProps['textConfig'];\n onChange?: (value?: TreeModelSelectItem[]) => void;\n value?: TreeModelSelectItem[];\n treeProps?: TreeModalProps['treeProps'];\n}) => {\n const { selectQuantityPrompt, placeholder } = props.textConfig;\n const valueKey = props.fieldNames?.value || 'value';\n const childrenKey = props.fieldNames?.children || 'children';\n\n const chenkedIdList = props.value || [];\n\n return (\n <div style={{ height: '100%', overflow: 'auto' }}>\n <div style={{ backgroundColor: '#f4f4f4', padding: 10, borderRadius: 5 }}>\n <SelectContent\n treeProps={props.treeProps}\n value={chenkedIdList}\n onChange={props.onChange}\n fieldNames={props.fieldNames}\n serviceConfig={{\n ...props.serviceConfig,\n onRequestResultAdapter: (respData) => {\n const listMap: TPlainObject = treeToTiledMap(respData, {\n value: valueKey,\n children: childrenKey,\n });\n props.onChangeDataSource?.(respData, listMap);\n return respData;\n },\n }}\n />\n </div>\n\n <div style={{ marginTop: 20 }}>\n <div style={{ fontSize: 15, fontWeight: '500', marginBottom: 10 }}>\n {chenkedIdList.length > 0 ? (\n <Fragment>\n {selectQuantityPrompt\n ? selectQuantityPrompt.replace('{total}', `${chenkedIdList?.length || ''}`)\n : `已选择${chenkedIdList?.length}`}\n </Fragment>\n ) : (\n placeholder\n )}\n </div>\n <SelectItemList\n checkedIdList={chenkedIdList}\n fieldNames={props.fieldNames}\n onDeleteItem={props.onDeleteItem}\n />\n </div>\n </div>\n );\n};\n","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Fragment, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { HorizontalLayout } from './horizontal';\nimport type { TreeModalContentProps, TreeModelSelectItem } from './types';\nimport { VerticalLayout } from './vertical';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalContent = (props: TreeModalContentProps) => {\n const { isMultiple } = props;\n const labelKey = props.fieldNames?.label || 'label';\n const valueKey = props.fieldNames?.value || 'value';\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n const isMultipleFt = isUndefinedOrNull(isMultiple) ? true : isMultiple;\n\n const [values, setValues] = useState<TreeModelSelectItem[]>();\n\n const onDeleteItem = (value) => {\n const targetList = values?.filter((item) => item.value !== value);\n setValues(targetList);\n props.onChange?.(targetList);\n };\n\n fbaHooks.useEffectCustom(() => {\n const values = toArray<TAny>(props.value).map((item) => {\n const target = isObject(item) ? item : { label: item, value: item };\n const value = target.value;\n return {\n value: value,\n label: dataSourceMapRef.current[value]?.[labelKey] || '',\n };\n });\n setValues(values);\n }, [props.value]);\n\n const treePropsFt = {\n ...props.treeProps,\n checkable: isMultipleFt ? true : false,\n };\n\n const onChange = (values?: TreeModelSelectItem[]) => {\n setValues(values);\n props.onChange?.(values);\n };\n\n const onChangeDataSource = hooks.useCallbackRef((treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = values\n ?.map((item) => {\n const target = mapData[item.value];\n return target ? { label: target[labelKey], value: target[valueKey] } : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setValues(result);\n props.onDataSourceChange?.(treeDataList, mapData);\n });\n return (\n <Fragment>\n {direction === 'vertical' ? (\n <VerticalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n serviceConfig={\n props.serviceConfig\n ? props.serviceConfig\n : {\n onRequest: props.onRequest,\n }\n }\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n ></VerticalLayout>\n ) : (\n <HorizontalLayout\n value={values}\n onDeleteItem={onDeleteItem}\n fieldNames={props.fieldNames}\n serviceConfig={\n props.serviceConfig\n ? props.serviceConfig\n : {\n onRequest: props.onRequest,\n }\n }\n textConfig={props.textConfig}\n onChange={onChange}\n onChangeDataSource={onChangeDataSource}\n treeProps={treePropsFt}\n />\n )}\n </Fragment>\n );\n};\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Modal } from 'antd';\nimport { Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TreeModalContent } from './select-modal-content';\nimport type { TreeModalProps, TreeModelSelectItem, TreeModelSelectValue } from './types';\n\n/**\n * 树节点数据选择,一般用于选择员工等\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModal = (props: TreeModalProps) => {\n const { size = 'large' } = props;\n const [isOpen, setIsOpen] = useState(false);\n\n const htmlSize = useSize(document.querySelector('html'));\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const direction = screenType === 'xs' ? 'vertical' : 'horizontal';\n\n const handleOnClick = hooks.useCallbackRef(() => {\n if (props.disabled) return;\n setIsOpen(true);\n });\n\n const Action = props.children.type;\n\n const [values, setValues] = useState<TreeModelSelectValue>();\n const originalValuesRef = useRef<TreeModelSelectValue>();\n\n useEffect(() => {\n originalValuesRef.current = props.value || [];\n setValues(props.value);\n }, [props.value]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n let sizeCalculate: TPlainObject = {};\n if (size == 'large') {\n sizeCalculate = {\n height: htmlSize?.height * 0.65,\n width: 800,\n };\n } else if (size == 'small') {\n sizeCalculate = {\n height: htmlSize?.height * 0.45,\n width: 450,\n };\n } else if (size == 'middle') {\n sizeCalculate = {\n height: htmlSize?.height * 0.55,\n width: 600,\n };\n }\n\n return {\n height: props.modalBodyHeight || sizeCalculate.height,\n width: isXsSm ? '90%' : props.modalWidth || sizeCalculate.width,\n };\n }, [htmlSize?.height, screenType, size, props.modalBodyHeight, props.modalWidth]);\n\n const onSubmit = () => {\n props.onChange?.(values as TreeModelSelectItem[]);\n setIsOpen(false);\n };\n\n const onCancel = () => {\n setIsOpen(false);\n setValues(originalValuesRef.current);\n };\n return (\n <Fragment>\n <Action {...props.children.props} onClick={handleOnClick} />\n <Modal\n className={props.modalClassName}\n title={props.textConfig.title || '选择'}\n open={isOpen}\n onCancel={onCancel}\n forceRender={props.forceRender}\n centered\n width={customSize?.width}\n onOk={onSubmit}\n styles={\n direction === 'horizontal'\n ? {\n body: {\n height: customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n padding: '0px 20px 0 20px',\n },\n content: {\n padding: 0,\n },\n header: {\n padding: '20px 24px 0 20px',\n },\n footer: {\n padding: '0 24px 20px 24px',\n },\n }\n : {\n body: {\n height: customSize?.height,\n },\n }\n }\n >\n <TreeModalContent\n {...props}\n value={values}\n onChange={(values) => {\n setValues(values);\n }}\n />\n </Modal>\n </Fragment>\n );\n};\n","import { attachPropertiesToComponent } from '@flatbiz/utils';\nimport { TreeModal as TreeModalInner } from './select-modal';\nimport { TreeModalContent } from './select-modal-content';\n\nexport const TreeModal = attachPropertiesToComponent(TreeModalInner, {\n Content: TreeModalContent,\n});\n"],"names":["SelectItemList","props","checkedIdList","_jsx","Fragment","children","map","item","value","label","CssNodeHover","style","paddingLeft","paddingRight","_jsxs","FlexLayout","fullIndex","direction","alignItems","fontSize","marginBottom","color","TextOverflow","text","position","zIndex","IconWrapper","_CloseOutlined","onClick","onDeleteItem","bind","size","margin","SelectContent","_props$treeProps","_props$value","modelKey","_hooks","useId","undefined","TreeWrapper","_extends","initRootExpand","showSearch","searchPlaceholder","checkable","checkableType","treeProps","showIcon","icon","fieldNames","labelInValue","serviceConfig","onChange","values","toArray","HorizontalLayout","_props$fieldNames","_props$fieldNames2","chenkedIdList","valueKey","childrenKey","_props$textConfig","textConfig","selectQuantityPrompt","placeholder","gap","height","overflow","backgroundColor","padding","borderRadius","onRequestResultAdapter","respData","listMap","treeToTiledMap","onChangeDataSource","width","display","flexDirection","flexShrink","fontWeight","length","replace","flex","VerticalLayout","marginTop","TreeModalContent","isMultiple","labelKey","dataSourceMapRef","useRef","screenType","fbaHooks","useResponsivePoint","isMultipleFt","isUndefinedOrNull","_useState","useState","setValues","targetList","filter","useEffectCustom","_dataSourceMapRef$cur","target","_isObject","current","treePropsFt","useCallbackRef","treeDataList","mapData","result","Boolean","onDataSourceChange","onRequest","TreeModal","_props$size","isOpen","setIsOpen","htmlSize","useSize","document","querySelector","handleOnClick","disabled","Action","type","_useState2","originalValuesRef","useEffect","customSize","useMemo","isXsSm","includes","sizeCalculate","modalBodyHeight","modalWidth","onSubmit","onCancel","Modal","className","modalClassName","title","open","forceRender","centered","onOk","styles","body","maxHeight","content","header","footer","attachPropertiesToComponent","TreeModalInner","Content"],"mappings":"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"}
@@ -18,5 +18,5 @@ import './../dropdown-menu-wrapper/index.css';
18
18
  import './../input-search-wrapper/index.css';
19
19
  import './index.css';
20
20
  /*! @flatjs/forge MIT @flatbiz/antd */
21
- import{a as e,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isObject as a}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as o,toArray as t}from"@flatbiz/utils";import{Select as n,message as l}from"antd";import{forwardRef as s,useRef as u,useState as d,useEffect as m,useImperativeHandle as p}from"react";import{TreeModal as c}from"../tree-modal/index.js";import{jsx as j}from"react/jsx-runtime";import"ahooks";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"../flex-layout/index.js";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CloseOutlined";import"../css-node-hover/index.js";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"../tree-wrapper/index.js";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"dequal";import"../button-operate/index.js";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";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-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"../index-636a568e.js";import"@dimjs/utils/cjs/tree";var v=["placeholder","maxTagCount","labelInValue","maxCount","overMaxCountMsg","disabled","allowClear"];var f=s((function(s,f){var g,x;var C=s.placeholder,b=s.maxTagCount,h=s.labelInValue,w=s.maxCount,y=s.overMaxCountMsg,M=s.disabled,k=s.allowClear,D=e(s,v);var F=o(C)?"请选择":C;var O=o(k)?true:k;var S=u({});var _=u([]);var z=((g=D.fieldNames)==null?void 0:g.label)||"label";var I=((x=D.fieldNames)==null?void 0:x.value)||"value";var N=d(),T=N[0],V=N[1];m((function(){var e;var i=((e=t(s.value))==null?void 0:e.map((function(e){var i;var r=a(e)?e:{label:e,value:e};return{value:r.value,label:((i=S.current[r.value])==null?void 0:i[z])||r.value}})))||[];V(i)}),[z,s.value]);var q=function e(i){var r=t(i).length?i:undefined;if(D.isMultiple==false){s.onChange==null||s.onChange(r==null?void 0:r[0])}else{if(r&&w!==undefined&&r.length>w){void l.error(y?y:"最多选择"+w+"项");return}s.onChange==null||s.onChange(r)}};var B=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map((function(e){return e.value})))};var L=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map((function(e){return e.value})))};var P=r.useCallbackRef((function(e,i){S.current=i;_.current=e||[];var r=T==null?void 0:T.map((function(e){var r=i[e.value];return r?{label:r[z],value:r[I]}:undefined})).filter(Boolean);V(r)}));p(f,(function(){return{getDataSourceMap:function e(){return{treeDataList:_.current,dataSourceMap:S.current}}}}));return j(c,i({},D,{value:T,forceRender:true,onChange:L,onDataSourceChange:P,disabled:M,children:j(n,{labelInValue:true,style:{width:"100%"},placeholder:F,maxTagCount:b,mode:D.isMultiple?"multiple":undefined,open:false,value:T,onChange:B,disabled:M,allowClear:O})}))}));export{f as TreeModalSelector};
21
+ import{a as e,_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isObject as a}from"@dimjs/lang/cjs/is-object";import{isUndefinedOrNull as o,toArray as t}from"@flatbiz/utils";import{Select as n,message as l}from"antd";import{forwardRef as s,useRef as u,useState as d,useEffect as m,useImperativeHandle as p}from"react";import{TreeModal as c}from"../tree-modal/index.js";import{jsx as j}from"react/jsx-runtime";import"ahooks";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"../flex-layout/index.js";import"@dimjs/utils/cjs/class-names";import"@ant-design/icons/es/icons/CloseOutlined";import"../css-node-hover/index.js";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../text-overflow/index.js";import"@dimjs/lang/cjs/is-string";import"../tree-wrapper/index.js";import"@dimjs/model-react";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/CaretDownFilled";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/utils/cjs/get";import"@dimjs/model";import"dequal";import"../button-operate/index.js";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-promise";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-utils/index.js";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"react-dom/client";import"@wove/react/cjs/create-ctx";import"../input-search-wrapper/index.js";import"../request-status/index.js";import"../index-636a568e.js";import"@dimjs/utils/cjs/tree";var v=["placeholder","maxTagCount","labelInValue","maxCount","overMaxCountMsg","disabled","allowClear"];var f=s(function(s,f){var g,x;var C=s.placeholder,b=s.maxTagCount,h=s.labelInValue,w=s.maxCount,y=s.overMaxCountMsg,M=s.disabled,k=s.allowClear,D=e(s,v);var F=o(C)?"请选择":C;var O=o(k)?true:k;var S=u({});var _=u([]);var z=((g=D.fieldNames)==null?void 0:g.label)||"label";var I=((x=D.fieldNames)==null?void 0:x.value)||"value";var N=d(),T=N[0],V=N[1];m(function(){var e;var i=((e=t(s.value))==null?void 0:e.map(function(e){var i;var r=a(e)?e:{label:e,value:e};return{value:r.value,label:((i=S.current[r.value])==null?void 0:i[z])||r.value}}))||[];V(i)},[z,s.value]);var q=function e(i){var r=t(i).length?i:undefined;if(D.isMultiple==false){s.onChange==null||s.onChange(r==null?void 0:r[0])}else{if(r&&w!==undefined&&r.length>w){void l.error(y?y:"最多选择"+w+"项");return}s.onChange==null||s.onChange(r)}};var B=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map(function(e){return e.value}))};var L=function e(i){V(i);if(h){q(i);return}q(i==null?void 0:i.map(function(e){return e.value}))};var P=r.useCallbackRef(function(e,i){S.current=i;_.current=e||[];var r=T==null?void 0:T.map(function(e){var r=i[e.value];return r?{label:r[z],value:r[I]}:undefined}).filter(Boolean);V(r)});p(f,function(){return{getDataSourceMap:function e(){return{treeDataList:_.current,dataSourceMap:S.current}}}});return j(c,i({},D,{value:T,forceRender:true,onChange:L,onDataSourceChange:P,disabled:M,children:j(n,{labelInValue:true,style:{width:"100%"},placeholder:F,maxTagCount:b,mode:D.isMultiple?"multiple":undefined,open:false,value:T,onChange:B,disabled:M,allowClear:O})}))});export{f as TreeModalSelector};
22
22
  //# sourceMappingURL=index.js.map