@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/switch-wrapper/switch-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Switch, SwitchProps, Tooltip, TooltipProps } from 'antd';\nimport { useState } from 'react';\n\nexport type SwitchWrapperValue = string | number | boolean;\nexport type SwitchWrapperProps = Omit<SwitchProps, 'checked' | 'defaultChecked' | 'onChange' | 'value'> & {\n value?: SwitchWrapperValue;\n checkedValue: SwitchWrapperValue;\n unCheckedValue: SwitchWrapperValue;\n onChange?: (value: SwitchWrapperValue) => void;\n tooltipProps?: Omit<TooltipProps, 'title'>;\n tooltipTitle?: string | ((value?: SwitchWrapperValue) => string | undefined);\n serviceConfig?: {\n onRequest: (value: SwitchWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n/**\n * 解决Switch只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <SwitchWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * 5. 可设置tooltip效果数据显示\n * 6. 可设置 serviceConfig 配置服务调用交互\n * ```\n */\nexport const SwitchWrapper = (props: SwitchWrapperProps) => {\n const {\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n tooltipProps,\n tooltipTitle,\n serviceConfig,\n ...otherProps\n } = props;\n const [loading, setLoading] = useState<boolean>();\n const onChangeHandle = hooks.useCallbackRef(async (checked) => {\n const changeValue = checked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n onChange?.(changeValue);\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n } catch (error) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n } finally {\n setLoading(false);\n }\n } else {\n onChange?.(changeValue);\n }\n });\n\n let tipTitle: string | undefined;\n\n if (typeof tooltipTitle === 'function') {\n tipTitle = tooltipTitle(value);\n } else {\n tipTitle = tooltipTitle;\n }\n\n if (tipTitle) {\n return (\n <Tooltip placement=\"top\" {...tooltipProps} title={tipTitle}>\n <Switch\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n </Tooltip>\n );\n }\n\n return (\n <Switch\n loading={loading}\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["SwitchWrapper","props","checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChangeHandle","_hooks","useCallbackRef","checked","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","tipTitle","_jsx","Tooltip","_extends","placement","title","children","Switch","isUndefinedOrNull"],"mappings":";mZAmCaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IACEC,EAQED,EARFC,aACAC,EAOEF,EAPFE,eACAC,EAMEH,EANFG,SACAC,EAKEJ,EALFI,MACAC,EAIEL,EAJFK,aACAC,EAGEN,EAHFM,aACAC,EAEEP,EAFFO,cACGC,EAAUC,EACXT,EAAKU,GACT,IAAAC,EAA8BC,IAAvBC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAiBC,EAAMC,gBAAe,SAAOC,GAAP,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IACpCC,EAAqDC,EAAAC,EAArDF,EAAcJ,EAAUjB,EAAeC,EAC7C,GAAIK,GAAa,MAAbA,EAAekB,UAAW,CAAA,IAAAC,EAjDlC,SAAAC,GAAA,OAAC,SAAAC,GAAD,IA0DQd,EAAW,OA1D4F,OAAOa,GAAUA,EAAME,KAAKC,KAAIF,EAAtI,CAAC,MAAAG,GAAW,OAAOV,EAAAU,EAAM,CAAgI,EAA/JC,KAAKF,OAALE,KAAKF,MAAR,IAAIG,EAAJ,WAAA,IAAI,OAAJC,EAAGL,KAAIC,KAAE,CAAC,MAAAC,GAAW,OAAOV,EAAAU,EAAM,GAA/BC,KAAKF,MAAR,IAAIK,EAAA,SAuDWC,GAvDf,SAwDaC,EAAQD,OAAMA,GAAAA,UAAAA,EAAAA,EAAOC,WAAW9B,UAAaiB,EAAbjB,EAAe8B,UAAO,UAAA,EAAtBb,EAAwBc,eAAgB,WAxDrF,OAAOZ,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOL,EAAAL,EAAAK,CAAAK,EAAM,GAkD5B,IACEjB,EAAW,MACX,OAAAK,QAAAoB,QAAMhC,EAAckB,UAAUH,IAA9BkB,eAA0CC,GApDlD,IAqDQtC,GAAAA,MAAAA,EAAWmB,QACNe,EAAQK,SAAQnC,UAAagB,EAAbhB,EAAe8B,UAAfd,UAAAA,EAAAA,EAAwBmB,UAAW,WAtDhE,OAAOhB,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOI,EAAAJ,EAAM,CAAC,GAAAI,EAuD5B,CAAC,MAAOC,GAAOD,EAAPC,EAET,CAGF,KAAO,CACLjC,GAAAA,MAAAA,EAAWmB,GAAa,OA7D9BY,EAAGL,KAAIC,KA8DH,CAAC,SAAAI,IAAA,OAAAd,GAAA,CAAA,OAGH,IAAIuB,EAEJ,UAAWrC,IAAiB,WAAY,CACtCqC,EAAWrC,EAAaF,EAC1B,KAAO,CACLuC,EAAWrC,CACb,CAEA,GAAIqC,EAAU,CACZ,OACEC,EAACC,EAAOC,EAAA,CAACC,UAAU,OAAU1C,EAAY,CAAE2C,MAAOL,EAASM,SACzDL,EAACM,EAAMJ,KACDtC,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,OAIlB,CAEA,OACE6B,EAACM,EAAMJ,EAAA,CACLjC,QAASA,GACLL,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,IAGhB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/switch-wrapper/switch-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Switch, SwitchProps, Tooltip, TooltipProps } from 'antd';\nimport { useState } from 'react';\n\nexport type SwitchWrapperValue = string | number | boolean;\nexport type SwitchWrapperProps = Omit<SwitchProps, 'checked' | 'defaultChecked' | 'onChange' | 'value'> & {\n value?: SwitchWrapperValue;\n checkedValue: SwitchWrapperValue;\n unCheckedValue: SwitchWrapperValue;\n onChange?: (value: SwitchWrapperValue) => void;\n tooltipProps?: Omit<TooltipProps, 'title'>;\n tooltipTitle?: string | ((value?: SwitchWrapperValue) => string | undefined);\n serviceConfig?: {\n onRequest: (value: SwitchWrapperValue) => TAny;\n message?: {\n success?: string;\n defaultError?: string;\n };\n };\n};\n/**\n * 解决Switch只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <SwitchWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * 5. 可设置tooltip效果数据显示\n * 6. 可设置 serviceConfig 配置服务调用交互\n * ```\n */\nexport const SwitchWrapper = (props: SwitchWrapperProps) => {\n const {\n checkedValue,\n unCheckedValue,\n onChange,\n value,\n tooltipProps,\n tooltipTitle,\n serviceConfig,\n ...otherProps\n } = props;\n const [loading, setLoading] = useState<boolean>();\n const onChangeHandle = hooks.useCallbackRef(async (checked) => {\n const changeValue = checked ? checkedValue : unCheckedValue;\n if (serviceConfig?.onRequest) {\n try {\n setLoading(true);\n await serviceConfig.onRequest(changeValue);\n onChange?.(changeValue);\n void message.success(serviceConfig?.message?.success || '状态修改成功!');\n } catch (error) {\n void message.error(error?.message || serviceConfig?.message?.defaultError || '状态修改失败!');\n } finally {\n setLoading(false);\n }\n } else {\n onChange?.(changeValue);\n }\n });\n\n let tipTitle: string | undefined;\n\n if (typeof tooltipTitle === 'function') {\n tipTitle = tooltipTitle(value);\n } else {\n tipTitle = tooltipTitle;\n }\n\n if (tipTitle) {\n return (\n <Tooltip placement=\"top\" {...tooltipProps} title={tipTitle}>\n <Switch\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n </Tooltip>\n );\n }\n\n return (\n <Switch\n loading={loading}\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["SwitchWrapper","props","checkedValue","unCheckedValue","onChange","value","tooltipProps","tooltipTitle","serviceConfig","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChangeHandle","_hooks","useCallbackRef","checked","Promise","$return","$error","changeValue","_serviceConfig$messag","_serviceConfig$messag2","onRequest","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","$Try_1_Post","$If_2","$Try_1_Catch","error","message","defaultError","resolve","then","$await_3","success","tipTitle","_jsx","Tooltip","_extends","placement","title","children","Switch","isUndefinedOrNull"],"mappings":";mZAmCaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IACEC,EAQED,EARFC,aACAC,EAOEF,EAPFE,eACAC,EAMEH,EANFG,SACAC,EAKEJ,EALFI,MACAC,EAIEL,EAJFK,aACAC,EAGEN,EAHFM,aACAC,EAEEP,EAFFO,cACGC,EAAUC,EACXT,EAAKU,GACT,IAAAC,EAA8BC,IAAvBC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAiBC,EAAMC,eAAe,SAAOC,GAAP,OAAA,IAAAC,QAAA,SAAAC,EAAAC,GAAA,IACpCC,EAAqDC,EAAAC,EAArDF,EAAcJ,EAAUjB,EAAeC,EAC7C,GAAIK,GAAa,MAAbA,EAAekB,UAAW,CAAA,IAAAC,EAjDlC,SAAAC,GAAA,OAAC,SAAAC,GAAD,IA0DQd,EAAW,OA1D4F,OAAOa,GAAUA,EAAME,KAAKC,KAAIF,EAAtI,CAAC,MAAAG,GAAW,OAAOV,EAAAU,EAAM,CAAgI,EAA/JC,KAAKF,OAALE,KAAKF,MAAR,IAAIG,EAAJ,WAAA,IAAI,OAAJC,EAAGL,KAAIC,KAAE,CAAC,MAAAC,GAAW,OAAOV,EAAAU,EAAM,GAA/BC,KAAKF,MAAR,IAAIK,EAAA,SAuDWC,GAvDf,SAwDaC,EAAQD,OAAMA,GAAAA,UAAAA,EAAAA,EAAOC,WAAW9B,UAAaiB,EAAbjB,EAAe8B,UAAO,UAAA,EAAtBb,EAAwBc,eAAgB,WAxDrF,OAAOZ,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOL,EAAAL,EAAAK,CAAAK,EAAM,GAkD5B,IACEjB,EAAW,MACX,OAAAK,QAAAoB,QAAMhC,EAAckB,UAAUH,IAA9BkB,cAA0CC,GApDlD,IAqDQtC,GAAAA,MAAAA,EAAWmB,QACNe,EAAQK,SAAQnC,UAAagB,EAAbhB,EAAe8B,UAAfd,UAAAA,EAAAA,EAAwBmB,UAAW,WAtDhE,OAAOhB,EAAAO,EAAAP,EAAE,CAAC,MAAAK,GAAW,OAAOI,EAAAJ,EAAM,CAAC,EAAAI,EAuD5B,CAAC,MAAOC,GAAOD,EAAPC,EAET,CAGF,KAAO,CACLjC,GAAAA,MAAAA,EAAWmB,GAAa,OA7D9BY,EAAGL,KAAIC,KA8DH,CAAC,SAAAI,IAAA,OAAAd,GAAA,CAAA,KAGH,IAAIuB,EAEJ,UAAWrC,IAAiB,WAAY,CACtCqC,EAAWrC,EAAaF,EAC1B,KAAO,CACLuC,EAAWrC,CACb,CAEA,GAAIqC,EAAU,CACZ,OACEC,EAACC,EAAOC,EAAA,CAACC,UAAU,OAAU1C,EAAY,CAAE2C,MAAOL,EAASM,SACzDL,EAACM,EAAMJ,KACDtC,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,OAIlB,CAEA,OACE6B,EAACM,EAAMJ,EAAA,CACLjC,QAASA,GACLL,EAAU,CACdU,SAAUiC,EAAkB/C,IAAUH,IAAiBG,EACvDD,SAAUY,IAGhB"}
@@ -12,5 +12,5 @@ import './../tag-list-render/index.css';
12
12
  import './../tag-list-select/index.css';
13
13
  import './index.css';
14
14
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as d,flatbizPrice as c}from"@flatbiz/utils";import{Tooltip as f,Space as m,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListRender as g}from"../tag-list-render/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var x=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var d=u(t);if(d<=i*2){return t}return h(f,{placement:"topLeft",title:t,children:s(t,i*2)})}};var C=function r(e){return function(r,n,t){var o=e(n,t);return h(j,i({},o))}};var w=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return d.format(new Date(r),e)}catch(e){return r||n}}};var b=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var y=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n,t){return function(r){if(l(r))return null;return h(g,i({dataList:e,colorMap:n,value:r,forceMatch:false,noColorShowTag:false},t))}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var V=function r(e){var n=e!=null&&e.hideBgColor?"":"table-fen-color";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2yuan(r);return h("span",{className:n,children:c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function r(e){var n=(e==null?void 0:e.showBgColor)===true?"table-wan-color":"";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2wan(r);var i=e!=null&&e.removeTailZero?c.removeTailZero(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false}):c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false});return h("span",{className:n,children:i})}};var O=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return h(v,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var d=i.extraPosition?i.extraPosition:"after";var c=r(e)?s(e,u*2):e;if(i.extra&&o){if(c===e&&!a){return e}var f=[h("span",{children:c},"1"),h(v,{children:i.extra},"2")];var p=d==="before"?f.reverse():f;return h(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map((function(r,e){return h(v,{children:r},e)}))})}return h("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(l(r))return null;var t=e.find((function(e){return e.value===r}));if(t)return h(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M=function r(e,n){return function(r,t){if(l(r))return n;return h("a",{onClick:e.bind(null,t),children:r})}};var D={extraContentRender:O,indexCell:b,serialNumberCell:y,dateCell:w,operateCell:C,tooltipCell:x,selectorCell:k,objectCell:N,fen2yuanCell:V,fen2wanCell:S,badgeCell:z,clickCell:M};export{D as tableCellRender};
15
+ import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as e}from"@dimjs/lang/cjs/is-object";import{get as n}from"@dimjs/utils/cjs/get";import{isPlainObject as t}from"@dimjs/lang/cjs/is-plain-object";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isEmpty as o}from"@dimjs/lang/cjs/is-empty";import{isNumber as a,isUndefinedOrNull as l,getStrByteLen as u,cutString as s,flatbizDate as d,flatbizPrice as c}from"@flatbiz/utils";import{Tooltip as f,Space as m,Badge as p}from"antd";import{Fragment as v}from"react";import{ButtonOperate as j}from"../button-operate/index.js";import{TagListRender as g}from"../tag-list-render/index.js";import{jsx as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-853b36e6.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"@dimjs/model";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var x=function r(e,n){return function(r){if(o(r)||r==="")return n;if(a(r))return r;var t=r.toString();var i=l(e)?10:e;var d=u(t);if(d<=i*2){return t}return h(f,{placement:"topLeft",title:t,children:s(t,i*2)})}};var C=function r(e){return function(r,n,t){var o=e(n,t);return h(j,i({},o))}};var w=function r(e,n){return function(r){if(o(r)||r==="")return n;try{return d.format(new Date(r),e)}catch(e){return r||n}}};var b=function r(e,n){return function(r,t,i){if(n&&e){return(e-1)*n+i+1}return i+1}};var y=function r(e){return function(r,n,t){var i=(e==null?void 0:e())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+t+1}return t+1}};var k=function r(e,n,t){return function(r){if(l(r))return null;return h(g,i({dataList:e,colorMap:n,value:r,forceMatch:false,noColorShowTag:false},t))}};var N=function r(i,o){return function(r){if(t(r)){var a=n(r,i,o);if(!a)return"";if(e(a))return JSON.stringify(a);return a}return r||o}};var V=function r(e){var n=e!=null&&e.hideBgColor?"":"table-fen-color";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2yuan(r);return h("span",{className:n,children:c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false})})}};var S=function r(e){var n=(e==null?void 0:e.showBgColor)===true?"table-wan-color":"";return function(r){if(l(r)||r===""){if(l(e==null?void 0:e.defaultValue))return undefined;if(a(e==null?void 0:e.defaultValue)){return h("span",{className:n,children:c.format(e==null?void 0:e.defaultValue)})}return h("span",{className:n,children:e==null?void 0:e.defaultValue})}if(!a(r))return r;var t=c.fen2wan(r);var i=e!=null&&e.removeTailZero?c.removeTailZero(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false}):c.format(t,e==null?void 0:e.defaultValue,{separator:(e==null?void 0:e.separator)||false});return h("span",{className:n,children:i})}};var O=function e(n){return function(e,t){var i=n==null?void 0:n(t);if(!i)return h(v,{children:e});var o=l(i.showData)?true:i.showData;var a=l(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var u=l(i.showMaxNumber)?10:i.showMaxNumber;var d=i.extraPosition?i.extraPosition:"after";var c=r(e)?s(e,u*2):e;if(i.extra&&o){if(c===e&&!a){return e}var f=[h("span",{children:c},"1"),h(v,{children:i.extra},"2")];var p=d==="before"?f.reverse():f;return h(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:p.map(function(r,e){return h(v,{children:r},e)})})}return h("span",{onClick:i.onClick,children:i.extra})}};var z=function r(e,n){return function(r){if(l(r))return null;var t=e.find(function(e){return e.value===r});if(t)return h(p,{color:(t==null?void 0:t.color)||(n==null?void 0:n[r])||"rgba(0, 0, 0, 0.25)",text:t==null?void 0:t.label});return r}};var M=function r(e,n){return function(r,t){if(l(r))return n;return h("a",{onClick:e.bind(null,t),children:r})}};var D={extraContentRender:O,indexCell:b,serialNumberCell:y,dateCell:w,operateCell:C,tooltipCell:x,selectorCell:k,objectCell:N,fen2yuanCell:V,fen2wanCell:S,badgeCell:z,clickCell:M};export{D as tableCellRender};
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListRender } from '../tag-list-render';\nimport { TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n options?: {\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n },\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return (\n <TagListRender\n dataList={selectorList}\n colorMap={colorMap}\n value={value}\n forceMatch={false}\n noColorShowTag={false}\n {...options}\n />\n );\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色 */\n hideBgColor?: boolean;\n}) => {\n const className = options?.hideBgColor ? '' : 'table-fen-color';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className={className}>\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\nconst tableColumnFen2wanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色,默认:false */\n showBgColor?: boolean;\n /** 移除小数点后末尾零 */\n removeTailZero?: boolean;\n}) => {\n const className = options?.showBgColor === true ? 'table-wan-color' : '';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2wan(value);\n const amountNew = options?.removeTailZero\n ? flatbizPrice.removeTailZero(amount, options?.defaultValue, {\n separator: options?.separator || false,\n })\n : flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n return <span className={className}>{amountNew}</span>;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nconst tableColumnClickRender = (onClick: (record: TPlainObject, e) => void, defaultValue?: string) => {\n return (value: TAny, record: TPlainObject) => {\n if (isUndefinedOrNull(value)) return defaultValue;\n return <a onClick={onClick.bind(null, record)}>{value}</a>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n *\n *\n * 结合table column render 使用\n * # 在单元格渲染文字右侧添加图标\n * render: tableCellRender.extraContentRender(() => {\n * return {\n * extra: <FullscreenOutlined />,\n * onClick: () => { ... },\n * };\n * }),\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * 独立使用\n * tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')\n * render: (value) => {\n * return tableCellRender.dateCell('YYYY-MM-DD')(value);\n * }\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * @deprecated 已过期,请使用 TextOverflow 组件实现\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * Tag格式数据渲染,可结合枚举定义数据\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n * tableCellRender.selectorCell(taskTypeEnumList)(value);\n *\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell(taskTypeEnumList);\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ]);\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value);\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. hideBgColor:隐藏背景颜色\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 分金额展示,入参分,显示万元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. showBgColor:隐藏背景颜色\n * 4. removeTailZero:移除小数点后末尾零\n *\n * 例如:\n * fen2yuanCell()(1000900000) => 1000.90\n * fen2yuanCell({separator: true})(1000900000) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2wanCell: tableColumnFen2wanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n /**\n * 单元格点击事件\n * ```\n * 独立使用\n * tableCellRender.clickCell(onClick)(value, record)\n *\n * 结合table column render 使用\n * render: tableCellRender.clickCell(onClick)\n * render: (value, record) => {\n * return tableCellRender.clickCell(onClick)(value, record)\n * }\n * ```\n */\n clickCell: tableColumnClickRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListRender","dataList","forceMatch","noColorShowTag","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","className","hideBgColor","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnFen2wanCellRender","showBgColor","fen2wan","amountNew","removeTailZero","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableColumnClickRender","bind","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","fen2wanCell","badgeCell","clickCell"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n flatbizPrice,\n getStrByteLen,\n isNumber,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Badge, Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListRender } from '../tag-list-render';\nimport { TagListSelectProps, TagListSelectValue } from '../tag-list-select';\nimport './style.less';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n options?: {\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n },\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n return (\n <TagListRender\n dataList={selectorList}\n colorMap={colorMap}\n value={value}\n forceMatch={false}\n noColorShowTag={false}\n {...options}\n />\n );\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\nconst tableColumnFen2yuanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色 */\n hideBgColor?: boolean;\n}) => {\n const className = options?.hideBgColor ? '' : 'table-fen-color';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2yuan(value);\n return (\n <span className={className}>\n {flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false })}\n </span>\n );\n };\n};\n\nconst tableColumnFen2wanCellRender = (options?: {\n /** 是否显示分隔符,默认值:false */\n separator?: boolean;\n defaultValue?: string | number;\n /** 隐藏背景颜色,默认:false */\n showBgColor?: boolean;\n /** 移除小数点后末尾零 */\n removeTailZero?: boolean;\n}) => {\n const className = options?.showBgColor === true ? 'table-wan-color' : '';\n return (value?: string | number) => {\n if (isUndefinedOrNull(value) || value === '') {\n if (isUndefinedOrNull(options?.defaultValue)) return undefined;\n if (isNumber(options?.defaultValue as string | number)) {\n return <span className={className}>{flatbizPrice.format(options?.defaultValue)}</span>;\n }\n return <span className={className}>{options?.defaultValue}</span>;\n }\n if (!isNumber(value as number | string)) return value;\n const amount = flatbizPrice.fen2wan(value);\n const amountNew = options?.removeTailZero\n ? flatbizPrice.removeTailZero(amount, options?.defaultValue, {\n separator: options?.separator || false,\n })\n : flatbizPrice.format(amount, options?.defaultValue, { separator: options?.separator || false });\n return <span className={className}>{amountNew}</span>;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nconst tableColumnBadgeRender = (\n selectorList: { label: string; value: TagListSelectValue; color?: string }[],\n colorMap?: Record<string | string, string>,\n) => {\n return (value?: TAny) => {\n if (isUndefinedOrNull(value)) return null;\n const target = selectorList.find((item) => item.value === value);\n if (target)\n return (\n <Badge color={target?.color || colorMap?.[value] || 'rgba(0, 0, 0, 0.25)'} text={target?.label} />\n );\n return value;\n };\n};\n\nconst tableColumnClickRender = (onClick: (record: TPlainObject, e) => void, defaultValue?: string) => {\n return (value: TAny, record: TPlainObject) => {\n if (isUndefinedOrNull(value)) return defaultValue;\n return <a onClick={onClick.bind(null, record)}>{value}</a>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n *\n *\n * 结合table column render 使用\n * # 在单元格渲染文字右侧添加图标\n * render: tableCellRender.extraContentRender(() => {\n * return {\n * extra: <FullscreenOutlined />,\n * onClick: () => { ... },\n * };\n * }),\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return {\n * pageNo: easyTableApi.getRequestParams().pageNo,\n * pageSize: easyTableApi.getRequestParams().pageSize,\n * }\n * }),\n * 参考:\n * https://gitlab.itcjf.com/flatjs/flat-os/flat-oss-demo/blob/master/src/modules/crud/demo1/home/table.tsx\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * 独立使用\n * tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.dateCell('YYYY-MM-DD hh:mm:ss')\n * render: (value) => {\n * return tableCellRender.dateCell('YYYY-MM-DD')(value);\n * }\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * @deprecated 已过期,请使用 TextOverflow 组件实现\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * Tag格式数据渲染,可结合枚举定义数据\n * ```\n * 独立使用\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n * tableCellRender.selectorCell(taskTypeEnumList)(value);\n *\n *\n * 结合table column render 使用\n * render: tableCellRender.selectorCell(taskTypeEnumList);\n * render: tableCellRender.selectorCell([{ label: '已开启', value: 1 ]);\n * render: (value) => {\n * return tableCellRender.selectorCell([{ label: '已开启', value: 1 ])(value);\n * }\n *\n * 其中value值可以是单个值或者数组;例如:'1' 或者 ['1', '2']\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n /**\n * 分金额展示,入参分,显示元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. hideBgColor:隐藏背景颜色\n *\n * 例如:\n * fen2yuanCell()(100090) => 1000.90\n * fen2yuanCell({separator: true})(100090) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2yuanCell: tableColumnFen2yuanCellRender,\n /**\n * 分金额展示,入参分,显示万元(默认添加千分位)\n * ```\n * 可配置\n * 1. separator:是否显示千分位分隔符,默认值:false\n * 2. defaultValue:当值为空默认展示\n * 3. showBgColor:隐藏背景颜色\n * 4. removeTailZero:移除小数点后末尾零\n *\n * 例如:\n * fen2yuanCell()(1000900000) => 1000.90\n * fen2yuanCell({separator: true})(1000900000) => 1,000.90\n * fen2yuanCell()('abc') => abc\n * fen2yuanCell({defaultValue: '--'})('') => --\n * fen2yuanCell()('') => undefined\n * fen2yuanCell({ defaultValue: 0 })('') => 0.00\n * ```\n */\n fen2wanCell: tableColumnFen2wanCellRender,\n /**\n * 单元格徽标展示数据\n * ```\n * 1. badge 默认颜色:灰色rgba(0, 0, 0, 0.25)\n *\n * 独立使用\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1, color: '#108ee9' }])(value)\n * tableCellRender.badgeCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })(value)\n *\n * 结合table column render 使用\n * render: tableCellRender.badgeCell([{ label: '已开启', value: 1 ])\n * render: (value) => {\n * return tableCellRender.badgeCell([{ label: '已开启', value: 1 ])(value)\n * }\n * ```\n */\n badgeCell: tableColumnBadgeRender,\n /**\n * 单元格点击事件\n * ```\n * 独立使用\n * tableCellRender.clickCell(onClick)(value, record)\n *\n * 结合table column render 使用\n * render: tableCellRender.clickCell(onClick)\n * render: (value, record) => {\n * return tableCellRender.clickCell(onClick)(value, record)\n * }\n * ```\n */\n clickCell: tableColumnClickRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListRender","dataList","forceMatch","noColorShowTag","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnFen2yuanCellRender","className","hideBgColor","undefined","flatbizPrice","amount","fen2yuan","separator","tableColumnFen2wanCellRender","showBgColor","fen2wan","amountNew","removeTailZero","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","size","map","tableColumnBadgeRender","find","Badge","color","text","label","tableColumnClickRender","bind","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell","fen2yuanCell","fen2wanCell","badgeCell","clickCell"],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as i,useEventListener as l}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as s,useEffect as f}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{jsxs as v,Fragment as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var h=["children","target"];var g=d.useEffectCustom;var y=function r(t){if(!t)return undefined;var e=getComputedStyle(t);if(e.overflowY==="scroll"||e.overflowY==="auto"){return t}return y(t.parentNode)};var b=function n(o){var i=o.children,l=o.target,a=r(o,h);var c=e(i,"props.summary");return u(i,t({},a,{summary:function r(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return v(m,{children:[c==null?void 0:c.apply(void 0,e),p(j,{target:l})]})}}))};var j=function r(t){var e=t.target;var u=c();var d=c();var v=s(false),m=v[0],h=v[1];var b=n((function(){var r;var t=function r(e){if(!e)return undefined;if(e.nodeName==="TABLE"){return e}return t(e.parentNode)};var e=t(u==null||(r=u.current)==null?void 0:r.parentElement);return{table:e,tableBox:e==null?void 0:e.parentElement}}),[u.current]),j=b.table,w=b.tableBox;var x=o(j==null?void 0:j.querySelector("tbody")),L=x[0];var N=i(w);var W=n((function(){if(e)return e;return y(j)||document.body}),[e,j,N]);g((function(){if(m&&u.current&&d.current){if(u.current.clientWidth!=(w==null?void 0:w.clientWidth)){u.current.style.width=((w==null?void 0:w.clientWidth)||0)+"px"}if(d.current.clientWidth!=(j==null?void 0:j.clientWidth)){d.current.style.width=((j==null?void 0:j.clientWidth)||0)+"px"}}}),[N,m]);l("scroll",(function(r){var t=r.target;if(u.current){u.current.scrollLeft=t.scrollLeft}}),{target:function r(){return w}});l("scroll",(function(r){var t=r.target;if(w)w.scrollLeft=t.scrollLeft}),{target:u});var B=s(0),k=B[0],E=B[1];var C=c(null);f((function(){var r;var t=(r=C.current)==null?void 0:r.parentNode;var e=false;while(t!=null){var n,o;if((n=t.classList)!=null&&n.contains("ant-modal-content")||(o=t.classList)!=null&&o.contains("ant-drawer-body")){e=true;break}t=t.parentNode}if(e){setTimeout((function(){E(Date.now())}),400)}else{E(Date.now())}}),[]);return p("div",{className:"scrollbar-main",ref:C,children:k?p(a,{offsetBottom:L?13:0,style:{opacity:m?1:0},onChange:function r(t){h(!!t)},target:function r(){return W},children:p("div",{ref:u,className:"scrollbar-box",children:p("div",{ref:d,style:{height:1}})})}):null})};export{b as TableScrollbar};
5
+ import{a as r,_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{get as e}from"@dimjs/utils/cjs/get";import{useCreation as n,useInViewport as o,useSize as i,useEventListener as l}from"ahooks";import{Affix as a}from"antd";import{cloneElement as u,useRef as c,useState as s,useEffect as f}from"react";import{fbaHooks as d}from"../fba-hooks/index.js";import{jsxs as v,Fragment as m,jsx as p}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var h=["children","target"];var g=d.useEffectCustom;var y=function r(t){if(!t)return undefined;var e=getComputedStyle(t);if(e.overflowY==="scroll"||e.overflowY==="auto"){return t}return y(t.parentNode)};var b=function n(o){var i=o.children,l=o.target,a=r(o,h);var c=e(i,"props.summary");return u(i,t({},a,{summary:function r(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return v(m,{children:[c==null?void 0:c.apply(void 0,e),p(j,{target:l})]})}}))};var j=function r(t){var e=t.target;var u=c();var d=c();var v=s(false),m=v[0],h=v[1];var b=n(function(){var r;var t=function r(e){if(!e)return undefined;if(e.nodeName==="TABLE"){return e}return t(e.parentNode)};var e=t(u==null||(r=u.current)==null?void 0:r.parentElement);return{table:e,tableBox:e==null?void 0:e.parentElement}},[u.current]),j=b.table,w=b.tableBox;var x=o(j==null?void 0:j.querySelector("tbody")),L=x[0];var N=i(w);var W=n(function(){if(e)return e;return y(j)||document.body},[e,j,N]);g(function(){if(m&&u.current&&d.current){if(u.current.clientWidth!=(w==null?void 0:w.clientWidth)){u.current.style.width=((w==null?void 0:w.clientWidth)||0)+"px"}if(d.current.clientWidth!=(j==null?void 0:j.clientWidth)){d.current.style.width=((j==null?void 0:j.clientWidth)||0)+"px"}}},[N,m]);l("scroll",function(r){var t=r.target;if(u.current){u.current.scrollLeft=t.scrollLeft}},{target:function r(){return w}});l("scroll",function(r){var t=r.target;if(w)w.scrollLeft=t.scrollLeft},{target:u});var B=s(0),k=B[0],E=B[1];var C=c(null);f(function(){var r;var t=(r=C.current)==null?void 0:r.parentNode;var e=false;while(t!=null){var n,o;if((n=t.classList)!=null&&n.contains("ant-modal-content")||(o=t.classList)!=null&&o.contains("ant-drawer-body")){e=true;break}t=t.parentNode}if(e){setTimeout(function(){E(Date.now())},400)}else{E(Date.now())}},[]);return p("div",{className:"scrollbar-main",ref:C,children:k?p(a,{offsetBottom:L?13:0,style:{opacity:m?1:0},onChange:function r(t){h(!!t)},target:function r(){return W},children:p("div",{ref:u,className:"scrollbar-box",children:p("div",{ref:d,style:{height:1}})})}):null})};export{b as TableScrollbar};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useEffect, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n\n const [key, setKey] = useState<number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n let parentNode = rootRef.current?.parentNode as HTMLElement;\n let inModal = false;\n while (parentNode != null) {\n if (\n parentNode.classList?.contains('ant-modal-content') ||\n parentNode.classList?.contains('ant-drawer-body')\n ) {\n inModal = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (inModal) {\n setTimeout(() => {\n setKey(Date.now());\n }, 400);\n } else {\n setKey(Date.now());\n }\n }, []);\n\n return (\n <div className=\"scrollbar-main\" ref={rootRef}>\n {key ? (\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n ) : null}\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","_useState2","key","setKey","rootRef","useEffect","_rootRef$current","inModal","_parentNode$classList","_parentNode$classList2","classList","contains","setTimeout","Date","now","className","ref","Affix","offsetBottom","opacity","onChange","value","height"],"mappings":";kmBAQA,IAAQA,EAAoBC,EAApBD,gBAUR,IAAME,EAAsB,SAAtBA,EAAuBC,GAC3B,IAAKA,EAAY,OAAOC,UACxB,IAAMC,EAAgBC,iBAAiBH,GACvC,GAAIE,EAAcE,YAAc,UAAYF,EAAcE,YAAc,OAAQ,CAC9E,OAAOJ,CACT,CACA,OAAOD,EAAoBC,EAAWA,WACxC,MAUaK,EAAiB,SAAjBA,EAAcC,GAAyD,IAAnDC,EAAQD,EAARC,SAAUC,EAAMF,EAANE,OAAWC,EAAKC,EAAAJ,EAAAK,GACzD,IAAMC,EAAeC,EAAIN,EAAiB,iBAC1C,OAAOO,EAAaP,EAAQQ,KACvBN,EAAK,CACRG,QAAS,SAATA,IAAO,IAAA,IAAAI,EAAAC,UAAAC,OAAMC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAA,CAAJF,EAAIE,GAAAJ,UAAAI,EAAA,CAAA,OACfC,EAAAC,EAAA,CAAAhB,SACGK,CAAAA,GAAAA,UAAAA,EAAAA,EAAOY,WAAML,EAAAA,GACdM,EAACC,EAAgB,CAAClB,OAAQA,MACzB,IAGT,EAIA,IAAMkB,EAAmB,SAAnBA,EAAgBC,GAA0C,IAApCnB,EAAMmB,EAANnB,OAC1B,IAAMoB,EAAeC,IACrB,IAAMC,EAAYD,IAElB,IAAAE,EAAwBC,EAAkB,OAAnCC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAAI,EAA4BC,GAAY,WAAM,IAAAC,EAC5C,IAAMC,EAAiB,SAAjBA,EAAkBtC,GACtB,IAAKA,EAAY,OAAOC,UACxB,GAAID,EAAWuC,WAAa,QAAS,CACnC,OAAOvC,CACT,CACA,OAAOsC,EAAetC,EAAWA,aAEnC,IAAMwC,EAAQF,EAAeV,GAAYS,OAAAA,EAAZT,EAAca,UAAO,UAAA,EAArBJ,EAAuBK,eACpD,MAAO,CACLF,MAAAA,EACAG,SAAUH,GAAAA,UAAAA,EAAAA,EAAOE,cAErB,GAAG,CAACd,EAAaa,UAbTD,EAAKL,EAALK,MAAOG,EAAQR,EAARQ,SAef,IAAAC,EAAqBC,EAAcL,GAAK,UAAA,EAALA,EAAOM,cAAc,UAAjDC,EAAUH,EAAA,GAGjB,IAAMI,EAAOC,EAAQN,GAErB,IAAMO,EAAUd,GAAY,WAC1B,GAAI5B,EAAQ,OAAOA,EACnB,OAAOT,EAAoByC,IAAUW,SAASC,IAC/C,GAAE,CAAC5C,EAAQgC,EAAOQ,IAEnBnD,GAAgB,WACd,GAAIoC,GAAQL,EAAaa,SAAWX,EAAUW,QAAS,CACrD,GAAIb,EAAaa,QAAQY,cAAeV,GAAAA,UAAAA,EAAAA,EAAUU,aAAa,CAC7DzB,EAAaa,QAAQa,MAAMC,QAAWZ,eAAAA,EAAUU,cAAe,GAAK,IACtE,CACA,GAAIvB,EAAUW,QAAQY,cAAeb,GAAAA,UAAAA,EAAAA,EAAOa,aAAa,CACvDvB,EAAUW,QAAQa,MAAMC,QAAWf,eAAAA,EAAOa,cAAe,GAAK,IAChE,CACF,CACF,GAAG,CAACL,EAAMf,IAEVuB,EACE,UACA,SAAAC,GAAgB,IAAbjD,EAAMiD,EAANjD,OACD,GAAIoB,EAAaa,QAAS,CACxBb,EAAaa,QAAQiB,WAAalD,EAAOkD,UAC3C,CACF,GACA,CAAElD,OAAQ,SAARA,IAAM,OAAQmC,CAAQ,IAG1Ba,EACE,UACA,SAAAG,GAAgB,IAAbnD,EAAMmD,EAANnD,OACD,GAAImC,EAAUA,EAASe,WAAalD,EAAOkD,UAC7C,GACA,CAAElD,OAAQoB,IAGZ,IAAAgC,EAAsB5B,EAAiB,GAAhC6B,EAAGD,EAAA,GAAEE,EAAMF,EAAA,GAClB,IAAMG,EAAUlC,EAAuB,MACvCmC,GAAU,WAAM,IAAAC,EACd,IAAIjE,GAAUiE,EAAGF,EAAQtB,UAAO,UAAA,EAAfwB,EAAiBjE,WAClC,IAAIkE,EAAU,MACd,MAAOlE,GAAc,KAAM,CAAA,IAAAmE,EAAAC,EACzB,IACED,EAAAnE,EAAWqE,YAAS,MAApBF,EAAsBG,SAAS,uBAAoBF,EACnDpE,EAAWqE,YAAS,MAApBD,EAAsBE,SAAS,mBAC/B,CACAJ,EAAU,KACV,KACF,CACAlE,EAAaA,EAAWA,UAC1B,CACA,GAAIkE,EAAS,CACXK,YAAW,WACTT,EAAOU,KAAKC,MACb,GAAE,IACL,KAAO,CACLX,EAAOU,KAAKC,MACd,CACD,GAAE,IAEH,OACEhD,EAAA,MAAA,CAAKiD,UAAU,iBAAiBC,IAAKZ,EAAQxD,SAC1CsD,EACCpC,EAACmD,EAAK,CACJC,aAAc9B,EAAa,GAAK,EAChCO,MAAO,CAAEwB,QAAS7C,EAAO,EAAI,GAC7B8C,SAAU,SAAVA,EAAWC,GACT9C,IAAU8C,EACV,EACFxE,OAAQ,SAARA,IAAM,OAAQ0C,CAAQ,EAAA3C,SAEtBkB,EAAA,MAAA,CAAKkD,IAAK/C,EAAqB8C,UAAU,gBAAenE,SACtDkB,EAAA,MAAA,CAAKkD,IAAK7C,EAAkBwB,MAAO,CAAE2B,OAAQ,SAG/C,MAGV"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/table-scrollbar/table-scrollbar.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { get } from '@dimjs/utils';\nimport { useCreation, useEventListener, useInViewport, useSize } from 'ahooks';\nimport { Affix } from 'antd';\nimport { cloneElement, useEffect, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nimport './style.less';\nconst { useEffectCustom } = fbaHooks;\n\ntype TableScrollProps = {\n children: React.ReactNode;\n /**\n * y轴的滚动条\n */\n target?: HTMLElement;\n};\n\nconst getParentNodeScroll = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n const computedStyle = getComputedStyle(parentNode);\n if (computedStyle.overflowY === 'scroll' || computedStyle.overflowY === 'auto') {\n return parentNode;\n }\n return getParentNodeScroll(parentNode.parentNode as HTMLElement);\n};\n/**\n * 表格x轴浮动滚动条\n * ```\n * 使用方法\n * <TableScrollbar>\n * <Table/>\n * </TableScrollbar>\n * ```\n */\nexport const TableScrollbar = ({ children, target, ...props }: TableScrollProps) => {\n const summary: any = get(children as any, 'props.summary');\n return cloneElement(children as any, {\n ...props,\n summary: (...args) => (\n <>\n {summary?.(...args)}\n <ScrollbarSummary target={target} />\n </>\n ),\n });\n};\ntype ScrollbarSummaryProps = {\n target?: HTMLElement;\n};\nconst ScrollbarSummary = ({ target }: ScrollbarSummaryProps) => {\n const refScrollBox = useRef<HTMLDivElement>();\n const refScroll = useRef<HTMLDivElement>();\n // 控制滚动条的显示\n const [show, setShow] = useState<boolean>(false);\n // 获取表格和表格包裹框\n const { table, tableBox } = useCreation(() => {\n const getParentTable = (parentNode: HTMLElement | null | undefined): HTMLElement | undefined => {\n if (!parentNode) return undefined;\n if (parentNode.nodeName === 'TABLE') {\n return parentNode;\n }\n return getParentTable(parentNode.parentNode as HTMLElement);\n };\n const table = getParentTable(refScrollBox?.current?.parentElement);\n return {\n table,\n tableBox: table?.parentElement,\n };\n }, [refScrollBox.current]);\n // 表格是否显示\n const [inViewport] = useInViewport(table?.querySelector('tbody'));\n\n // 监听左右滚动框的大小变化\n const size = useSize(tableBox);\n // 获取上下滚动事件的滚动条\n const _target = useCreation(() => {\n if (target) return target;\n return getParentNodeScroll(table) || document.body;\n }, [target, table, size]);\n\n useEffectCustom(() => {\n if (show && refScrollBox.current && refScroll.current) {\n if (refScrollBox.current.clientWidth != tableBox?.clientWidth) {\n refScrollBox.current.style.width = `${tableBox?.clientWidth || 0}px`;\n }\n if (refScroll.current.clientWidth != table?.clientWidth) {\n refScroll.current.style.width = `${table?.clientWidth || 0}px`;\n }\n }\n }, [size, show]);\n // 注册原始滚动条事件\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (refScrollBox.current) {\n refScrollBox.current.scrollLeft = target.scrollLeft;\n }\n },\n { target: () => tableBox },\n );\n // 注册原始自定义滚动条时间\n useEventListener(\n 'scroll',\n ({ target }) => {\n if (tableBox) tableBox.scrollLeft = target.scrollLeft;\n },\n { target: refScrollBox },\n );\n\n const [key, setKey] = useState<number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n let parentNode = rootRef.current?.parentNode as HTMLElement;\n let inModal = false;\n while (parentNode != null) {\n if (\n parentNode.classList?.contains('ant-modal-content') ||\n parentNode.classList?.contains('ant-drawer-body')\n ) {\n inModal = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (inModal) {\n setTimeout(() => {\n setKey(Date.now());\n }, 400);\n } else {\n setKey(Date.now());\n }\n }, []);\n\n return (\n <div className=\"scrollbar-main\" ref={rootRef}>\n {key ? (\n <Affix\n offsetBottom={inViewport ? 13 : 0}\n style={{ opacity: show ? 1 : 0 }}\n onChange={(value) => {\n setShow(!!value);\n }}\n target={() => _target}\n >\n <div ref={refScrollBox as any} className=\"scrollbar-box\">\n <div ref={refScroll as any} style={{ height: 1 }}></div>\n </div>\n </Affix>\n ) : null}\n </div>\n );\n};\n"],"names":["useEffectCustom","fbaHooks","getParentNodeScroll","parentNode","undefined","computedStyle","getComputedStyle","overflowY","TableScrollbar","_ref","children","target","props","_objectWithoutPropertiesLoose","_excluded","summary","_get","cloneElement","_extends","_len","arguments","length","args","Array","_key","_jsxs","_Fragment","apply","_jsx","ScrollbarSummary","_ref2","refScrollBox","useRef","refScroll","_useState","useState","show","setShow","_useCreation","useCreation","_refScrollBox$current","getParentTable","nodeName","table","current","parentElement","tableBox","_useInViewport","useInViewport","querySelector","inViewport","size","useSize","_target","document","body","clientWidth","style","width","useEventListener","_ref3","scrollLeft","_ref4","_useState2","key","setKey","rootRef","useEffect","_rootRef$current","inModal","_parentNode$classList","_parentNode$classList2","classList","contains","setTimeout","Date","now","className","ref","Affix","offsetBottom","opacity","onChange","value","height"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSize as e}from"ahooks";import{Affix as t,Tabs as n}from"antd";import{useState as i,useRef as l,useEffect as a,useMemo as o}from"react";import{jsx as c,jsxs as u}from"react/jsx-runtime";var v=function v(s){var f=s.tabsProps;var h=i(f.defaultActiveKey),d=h[0],m=h[1];var p=l(null);var g=l(null);var y=l();var b=e(p);var K=l(null);var T=e(K);var k=e(g);a((function(){if(f.activeKey){m(f.activeKey)}}),[f.activeKey]);var C=function r(e){if(!f.activeKey){m(e)}f.onChange==null||f.onChange(e);var t=(b==null?void 0:b.height)||0;if(y.current){var n;(n=K.current)==null||n.scrollTo({top:t})}else{if(s.clickTabToTop!==false){var i;(i=K.current)==null||i.scrollTo({top:t})}}};var B=((T==null?void 0:T.height)||0)-((k==null?void 0:k.height)||0);var j=o((function(){var e;return(e=f.items)==null?void 0:e.map((function(e){return r({},e,{children:null})}))}),[f.items]);var x=o((function(){var e;return(e=f.items)==null?void 0:e.map((function(e){return r({},e,{children:c("div",{style:{minHeight:B},children:e.children})})}))}),[f.items,B]);return u("div",{ref:K,style:{height:"100%",overflowY:"auto"},children:[c("div",{ref:p,children:s.headerRender}),c(t,{offsetTop:0,target:function r(){return K.current},onChange:function r(e){y.current=e},children:c("div",{ref:g,children:c(n,r({},f,{activeKey:d,items:j,tabBarStyle:r({},f.tabBarStyle,{margin:0}),style:r({backgroundColor:"var(--block-bg-color)"},f.style),onChange:C}))})}),c(n,{activeKey:d,className:"tabs-sticky-contents",items:x})]})};export{v as TabsSticky};
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{useSize as e}from"ahooks";import{Affix as t,Tabs as n}from"antd";import{useState as i,useRef as l,useEffect as a,useMemo as o}from"react";import{jsx as c,jsxs as u}from"react/jsx-runtime";var v=function v(s){var f=s.tabsProps;var h=i(f.defaultActiveKey),d=h[0],m=h[1];var p=l(null);var g=l(null);var y=l();var b=e(p);var K=l(null);var T=e(K);var k=e(g);a(function(){if(f.activeKey){m(f.activeKey)}},[f.activeKey]);var C=function r(e){if(!f.activeKey){m(e)}f.onChange==null||f.onChange(e);var t=(b==null?void 0:b.height)||0;if(y.current){var n;(n=K.current)==null||n.scrollTo({top:t})}else{if(s.clickTabToTop!==false){var i;(i=K.current)==null||i.scrollTo({top:t})}}};var B=((T==null?void 0:T.height)||0)-((k==null?void 0:k.height)||0);var j=o(function(){var e;return(e=f.items)==null?void 0:e.map(function(e){return r({},e,{children:null})})},[f.items]);var x=o(function(){var e;return(e=f.items)==null?void 0:e.map(function(e){return r({},e,{children:c("div",{style:{minHeight:B},children:e.children})})})},[f.items,B]);return u("div",{ref:K,style:{height:"100%",overflowY:"auto"},children:[c("div",{ref:p,children:s.headerRender}),c(t,{offsetTop:0,target:function r(){return K.current},onChange:function r(e){y.current=e},children:c("div",{ref:g,children:c(n,r({},f,{activeKey:d,items:j,tabBarStyle:r({},f.tabBarStyle,{margin:0}),style:r({backgroundColor:"var(--block-bg-color)"},f.style),onChange:C}))})}),c(n,{activeKey:d,className:"tabs-sticky-contents",items:x})]})};export{v as TabsSticky};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsProps, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs activeKey={activeKey} className=\"tabs-sticky-contents\" items={contentTabItems} />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_extends","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":";oQAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYD,EAAMC,UAExB,IAAAC,EAAkCC,EAASF,EAAUG,kBAA9CC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAC9B,IAAMK,EAAYC,EAAuB,MACzC,IAAMC,EAAWD,EAAY,MAC7B,IAAME,EAAiBF,IAEvB,IAAMG,EAAaC,EAAQL,GAE3B,IAAMM,EAAeL,EAAY,MAEjC,IAAMM,EAAgBF,EAAQC,GAC9B,IAAME,EAAeH,EAAQH,GAE7BO,GAAU,WACR,GAAIf,EAAUI,UAAW,CACvBC,EAAaL,EAAUI,UACzB,CACF,GAAG,CAACJ,EAAUI,YAEd,IAAMY,EAAW,SAAXA,EAAYZ,GAChB,IAAKJ,EAAUI,UAAW,CACxBC,EAAaD,EACf,CACAJ,EAAUgB,UAAVhB,MAAAA,EAAUgB,SAAWZ,GACrB,IAAMa,GAAMP,eAAAA,EAAYQ,SAAU,EAClC,GAAIT,EAAeU,QAAS,CAAA,IAAAC,GAC1BA,EAAAR,EAAaO,UAAbC,MAAAA,EAAsBC,SAAS,CAC7BJ,IAAAA,GAEJ,KAAO,CACL,GAAIlB,EAAMuB,gBAAkB,MAAO,CAAA,IAAAC,GACjCA,EAAAX,EAAaO,UAAbI,MAAAA,EAAsBF,SAAS,CAC7BJ,IAAAA,GAEJ,CACF,GAGF,IAAMO,IAAaX,GAAAA,UAAAA,EAAAA,EAAeK,SAAU,KAAMJ,GAAAA,UAAAA,EAAAA,EAAcI,SAAU,GAE1E,IAAMO,EAAiBC,GAAQ,WAAM,IAAAC,EACnC,OAAAA,EAAO3B,EAAU4B,QAAK,UAAA,EAAfD,EAAiBE,KAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAU,MAEd,GACF,GAAG,CAAChC,EAAU4B,QAEd,IAAMK,EAAkBP,GAAQ,WAAM,IAAAQ,EACpC,OAAAA,EAAOlC,EAAU4B,QAAK,UAAA,EAAfM,EAAiBL,KAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAUG,EAAA,MAAA,CAAKC,MAAO,CAAEZ,UAAAA,GAAYQ,SAAEF,EAAKE,YAE/C,GACD,GAAE,CAAChC,EAAU4B,MAAOJ,IAErB,OACEa,EAAA,MAAA,CAAKC,IAAK1B,EAAcwB,MAAO,CAAElB,OAAQ,OAAQqB,UAAW,QAASP,UACnEG,EAAA,MAAA,CAAKG,IAAKhC,EAAU0B,SAAEjC,EAAMyC,eAC5BL,EAACM,EAAK,CACJC,UAAW,EACXC,OAAQ,SAARA,IAAM,OAAQ/B,EAAaO,OAAuB,EAClDH,SAAU,SAAVA,EAAW4B,GACTnC,EAAeU,QAAUyB,CACzB,EAAAZ,SAEFG,EAAA,MAAA,CAAKG,IAAK9B,EAASwB,SACjBG,EAACU,EAAId,KACC/B,EAAS,CACbI,UAAWA,EACXwB,MAAOH,EACPqB,YAAWf,EAAO/B,GAAAA,EAAU8C,YAAW,CAAEC,OAAQ,IACjDX,MAAKL,EAAA,CACHiB,gBAAiB,yBACdhD,EAAUoC,OAEfpB,SAAUA,SAIhBmB,EAACU,EAAI,CAACzC,UAAWA,EAAW6C,UAAU,uBAAuBrB,MAAOK,MAG1E"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Affix, Tabs, type TabsProps } from 'antd';\nimport { useEffect, useMemo, useRef, useState, type ReactElement } from 'react';\nimport './style.less';\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsProps, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs activeKey={activeKey} className=\"tabs-sticky-contents\" items={contentTabItems} />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_extends","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":";oQAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYD,EAAMC,UAExB,IAAAC,EAAkCC,EAASF,EAAUG,kBAA9CC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAC9B,IAAMK,EAAYC,EAAuB,MACzC,IAAMC,EAAWD,EAAY,MAC7B,IAAME,EAAiBF,IAEvB,IAAMG,EAAaC,EAAQL,GAE3B,IAAMM,EAAeL,EAAY,MAEjC,IAAMM,EAAgBF,EAAQC,GAC9B,IAAME,EAAeH,EAAQH,GAE7BO,EAAU,WACR,GAAIf,EAAUI,UAAW,CACvBC,EAAaL,EAAUI,UACzB,CACF,EAAG,CAACJ,EAAUI,YAEd,IAAMY,EAAW,SAAXA,EAAYZ,GAChB,IAAKJ,EAAUI,UAAW,CACxBC,EAAaD,EACf,CACAJ,EAAUgB,UAAVhB,MAAAA,EAAUgB,SAAWZ,GACrB,IAAMa,GAAMP,eAAAA,EAAYQ,SAAU,EAClC,GAAIT,EAAeU,QAAS,CAAA,IAAAC,GAC1BA,EAAAR,EAAaO,UAAbC,MAAAA,EAAsBC,SAAS,CAC7BJ,IAAAA,GAEJ,KAAO,CACL,GAAIlB,EAAMuB,gBAAkB,MAAO,CAAA,IAAAC,GACjCA,EAAAX,EAAaO,UAAbI,MAAAA,EAAsBF,SAAS,CAC7BJ,IAAAA,GAEJ,CACF,GAGF,IAAMO,IAAaX,GAAAA,UAAAA,EAAAA,EAAeK,SAAU,KAAMJ,GAAAA,UAAAA,EAAAA,EAAcI,SAAU,GAE1E,IAAMO,EAAiBC,EAAQ,WAAM,IAAAC,EACnC,OAAAA,EAAO3B,EAAU4B,QAAK,UAAA,EAAfD,EAAiBE,IAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAU,MAEd,EACF,EAAG,CAAChC,EAAU4B,QAEd,IAAMK,EAAkBP,EAAQ,WAAM,IAAAQ,EACpC,OAAAA,EAAOlC,EAAU4B,QAAK,UAAA,EAAfM,EAAiBL,IAAI,SAACC,GAC3B,OAAAC,KACKD,EAAI,CACPE,SAAUG,EAAA,MAAA,CAAKC,MAAO,CAAEZ,UAAAA,GAAYQ,SAAEF,EAAKE,YAE/C,EACD,EAAE,CAAChC,EAAU4B,MAAOJ,IAErB,OACEa,EAAA,MAAA,CAAKC,IAAK1B,EAAcwB,MAAO,CAAElB,OAAQ,OAAQqB,UAAW,QAASP,UACnEG,EAAA,MAAA,CAAKG,IAAKhC,EAAU0B,SAAEjC,EAAMyC,eAC5BL,EAACM,EAAK,CACJC,UAAW,EACXC,OAAQ,SAARA,IAAM,OAAQ/B,EAAaO,OAAuB,EAClDH,SAAU,SAAVA,EAAW4B,GACTnC,EAAeU,QAAUyB,CACzB,EAAAZ,SAEFG,EAAA,MAAA,CAAKG,IAAK9B,EAASwB,SACjBG,EAACU,EAAId,KACC/B,EAAS,CACbI,UAAWA,EACXwB,MAAOH,EACPqB,YAAWf,EAAO/B,GAAAA,EAAU8C,YAAW,CAAEC,OAAQ,IACjDX,MAAKL,EAAA,CACHiB,gBAAiB,yBACdhD,EAAUoC,OAEfpB,SAAUA,SAIhBmB,EAACU,EAAI,CAACzC,UAAWA,EAAW6C,UAAU,uBAAuBrB,MAAOK,MAG1E"}
@@ -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 a}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{sessionStorageCache as c}from"@flatbiz/utils";import{Tabs as o}from"antd";import{useMemo as s}from"react";import{jsx as n}from"react/jsx-runtime";var v=["isSticky","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader"];var l=function l(d){var f=d.isSticky,u=f===void 0?true:f,m=d.isFixed,p=m===void 0?true:m,y=d.activeCacheKey,b=d.cancelActiveCache,h=d.hiddenTabHeader,K=e(d,v);var j=Object.prototype.hasOwnProperty.call(d,"activeKey");var C=y||"tabs-wrapper-activeKey";var A=i(p)?u:p;var g=t.useCallbackRef((function(e){if(b!==true&&!j){c.set(C,{activeKey:e})}K.onChange==null||K.onChange(e)}));var w=s((function(){var e;if(b===true||j){return d.defaultActiveKey}var a=(e=c.get(C))==null?void 0:e.activeKey;return a||K.defaultActiveKey}),[C,b,j,K.defaultActiveKey,d.defaultActiveKey]);var x=r("fba-tabs-wrapper",{"fba-tabs-wrapper-fixed":A,"fba-tabs-wrapper-hidden-header":h},K.className);return n(o,a({},K,{className:x,defaultActiveKey:w,onChange:g}))};export{l as TabsWrapper};
4
+ import{a as e,_ as a}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefined as i}from"@dimjs/lang/cjs/is-undefined";import{sessionStorageCache as c}from"@flatbiz/utils";import{Tabs as o}from"antd";import{useMemo as s}from"react";import{jsx as n}from"react/jsx-runtime";var v=["isSticky","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader"];var l=function l(d){var f=d.isSticky,u=f===void 0?true:f,m=d.isFixed,p=m===void 0?true:m,y=d.activeCacheKey,b=d.cancelActiveCache,h=d.hiddenTabHeader,K=e(d,v);var j=Object.prototype.hasOwnProperty.call(d,"activeKey");var C=y||"tabs-wrapper-activeKey";var A=i(p)?u:p;var g=t.useCallbackRef(function(e){if(b!==true&&!j){c.set(C,{activeKey:e})}K.onChange==null||K.onChange(e)});var w=s(function(){var e;if(b===true||j){return d.defaultActiveKey}var a=(e=c.get(C))==null?void 0:e.activeKey;return a||K.defaultActiveKey},[C,b,j,K.defaultActiveKey,d.defaultActiveKey]);var x=r("fba-tabs-wrapper",{"fba-tabs-wrapper-fixed":A,"fba-tabs-wrapper-hidden-header":h},K.className);return n(o,a({},K,{className:x,defaultActiveKey:w,onChange:g}))};export{l as TabsWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /**\n * Tabs Header 提供 Sticky 效果,默认值:true\n * @deprecated 已废弃 4.3.0版本移除,请使用 isFixed 属性\n */\n isSticky?: boolean;\n /**\n * Tabs Header 提供 Fixed 效果,默认值:true\n */\n isFixed?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n /** 隐藏头部 */\n hiddenTabHeader?: boolean;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const {\n isSticky = true,\n isFixed = true,\n activeCacheKey,\n cancelActiveCache,\n hiddenTabHeader,\n ...otherProps\n } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n const isFixedNew = isUndefined(isFixed) ? isSticky : isFixed;\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames(\n 'fba-tabs-wrapper',\n { 'fba-tabs-wrapper-fixed': isFixedNew, 'fba-tabs-wrapper-hidden-header': hiddenTabHeader },\n otherProps.className,\n );\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","_props$isFixed","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","isFixedNew","_isUndefined","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";wdAoCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAOID,EANFE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAAE,EAMbH,EALFI,QAAAA,EAAOD,SAAG,EAAA,KAAIA,EACdE,EAIEL,EAJFK,eACAC,EAGEN,EAHFM,kBACAC,EAEEP,EAFFO,gBACGC,EAAUC,EACXT,EAAKU,GAET,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKf,EAAO,aAC9D,IAAMgB,EAAWX,GAAkB,yBACnC,IAAMY,EAAaC,EAAYd,GAAWF,EAAWE,EAErD,IAAMe,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIhB,IAAsB,OAASK,EAAW,CAC5CY,EAAoBC,IAAIR,EAAU,CAAEM,UAAAA,GACtC,CACAd,EAAWW,UAAXX,MAAAA,EAAWW,SAAWG,EACxB,IAEA,IAAMG,EAAmBC,GAAQ,WAAM,IAAAC,EACrC,GAAIrB,IAAsB,MAAQK,EAAW,CAC3C,OAAOX,EAAMyB,gBACf,CACA,IAAMG,GAAcD,EAAGJ,EAAoBM,IAAIb,KAAxBW,UAAAA,EAAAA,EAAmCL,UAC1D,OAAOM,GAAkBpB,EAAWiB,gBACtC,GAAG,CAACT,EAAUV,EAAmBK,EAAWH,EAAWiB,iBAAkBzB,EAAMyB,mBAE/E,IAAMK,EAAYC,EAChB,mBACA,CAAE,yBAA0Bd,EAAY,iCAAkCV,GAC1EC,EAAWsB,WAGb,OACEE,EAACC,EAAIC,KAAK1B,EAAU,CAAEsB,UAAWA,EAAWL,iBAAkBA,EAAkBN,SAAUA,IAE9F"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tabs-wrapper/tabs-wrapper.tsx"],"sourcesContent":["import { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { sessionStorageCache } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tabs, TabsProps } from 'antd';\nimport { useMemo } from 'react';\nimport './style.less';\n\nexport type TabsWrapperProps = TabsProps & {\n /**\n * Tabs Header 提供 Sticky 效果,默认值:true\n * @deprecated 已废弃 4.3.0版本移除,请使用 isFixed 属性\n */\n isSticky?: boolean;\n /**\n * Tabs Header 提供 Fixed 效果,默认值:true\n */\n isFixed?: boolean;\n /** 是否取消 active 缓存 */\n cancelActiveCache?: boolean;\n activeCacheKey?: string;\n /** 隐藏头部 */\n hiddenTabHeader?: boolean;\n};\n\n/**\n * Tabs 包装组件\n * ```\n * 1. Tabs Header 提供 Sticky 效果,默认值:true\n * 2. 使用时,父级必须要有高度,可置于Flex布局中\n * 3. 默认缓存激活的tab item(activeKey受控操作下缓存无效)\n * 当未设置activeKey,非受控操作时,组件内部会会话缓存activeKey,在刷新时,会显示上次的激活的tab item\n * 缓存Key:如果未设置 activeCacheKey,则使用默认的 cache key(tabs-wrapper-activeKey)\n * 缓存模式:会话缓存,在浏览器关闭后,会清除\n * ```\n */\nexport const TabsWrapper = (props: TabsWrapperProps) => {\n const {\n isSticky = true,\n isFixed = true,\n activeCacheKey,\n cancelActiveCache,\n hiddenTabHeader,\n ...otherProps\n } = props;\n // 是否受控操作\n const isControl = Object.prototype.hasOwnProperty.call(props, 'activeKey');\n const cacheKey = activeCacheKey || 'tabs-wrapper-activeKey';\n const isFixedNew = isUndefined(isFixed) ? isSticky : isFixed;\n\n const onChange = hooks.useCallbackRef((activeKey: string) => {\n if (cancelActiveCache !== true && !isControl) {\n sessionStorageCache.set(cacheKey, { activeKey });\n }\n otherProps.onChange?.(activeKey);\n });\n\n const defaultActiveKey = useMemo(() => {\n if (cancelActiveCache === true || isControl) {\n return props.defaultActiveKey;\n }\n const chcheActiveKey = sessionStorageCache.get(cacheKey)?.activeKey as string | undefined;\n return chcheActiveKey || otherProps.defaultActiveKey;\n }, [cacheKey, cancelActiveCache, isControl, otherProps.defaultActiveKey, props.defaultActiveKey]);\n\n const className = classNames(\n 'fba-tabs-wrapper',\n { 'fba-tabs-wrapper-fixed': isFixedNew, 'fba-tabs-wrapper-hidden-header': hiddenTabHeader },\n otherProps.className,\n );\n\n return (\n <Tabs {...otherProps} className={className} defaultActiveKey={defaultActiveKey} onChange={onChange} />\n );\n};\n"],"names":["TabsWrapper","props","_props$isSticky","isSticky","_props$isFixed","isFixed","activeCacheKey","cancelActiveCache","hiddenTabHeader","otherProps","_objectWithoutPropertiesLoose","_excluded","isControl","Object","prototype","hasOwnProperty","call","cacheKey","isFixedNew","_isUndefined","onChange","_hooks","useCallbackRef","activeKey","sessionStorageCache","set","defaultActiveKey","useMemo","_sessionStorageCache$","chcheActiveKey","get","className","_classNames","_jsx","Tabs","_extends"],"mappings":";wdAoCaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAOID,EANFE,SAAAA,EAAQD,SAAG,EAAA,KAAIA,EAAAE,EAMbH,EALFI,QAAAA,EAAOD,SAAG,EAAA,KAAIA,EACdE,EAIEL,EAJFK,eACAC,EAGEN,EAHFM,kBACAC,EAEEP,EAFFO,gBACGC,EAAUC,EACXT,EAAKU,GAET,IAAMC,EAAYC,OAAOC,UAAUC,eAAeC,KAAKf,EAAO,aAC9D,IAAMgB,EAAWX,GAAkB,yBACnC,IAAMY,EAAaC,EAAYd,GAAWF,EAAWE,EAErD,IAAMe,EAAWC,EAAMC,eAAe,SAACC,GACrC,GAAIhB,IAAsB,OAASK,EAAW,CAC5CY,EAAoBC,IAAIR,EAAU,CAAEM,UAAAA,GACtC,CACAd,EAAWW,UAAXX,MAAAA,EAAWW,SAAWG,EACxB,GAEA,IAAMG,EAAmBC,EAAQ,WAAM,IAAAC,EACrC,GAAIrB,IAAsB,MAAQK,EAAW,CAC3C,OAAOX,EAAMyB,gBACf,CACA,IAAMG,GAAcD,EAAGJ,EAAoBM,IAAIb,KAAxBW,UAAAA,EAAAA,EAAmCL,UAC1D,OAAOM,GAAkBpB,EAAWiB,gBACtC,EAAG,CAACT,EAAUV,EAAmBK,EAAWH,EAAWiB,iBAAkBzB,EAAMyB,mBAE/E,IAAMK,EAAYC,EAChB,mBACA,CAAE,yBAA0Bd,EAAY,iCAAkCV,GAC1EC,EAAWsB,WAGb,OACEE,EAACC,EAAIC,KAAK1B,EAAU,CAAEsB,UAAWA,EAAWL,iBAAkBA,EAAkBN,SAAUA,IAE9F"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Space as o,Tag as i}from"antd";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsx as e}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var a=function a(s){var l=t.useThemeToken();return e(o,r({wrap:true,size:5},s.spaceProps,{children:s.dataList.map((function(r,o){var t;var a=r.color||((t=s.colorMap)==null?void 0:t[r.value])||l.colorPrimary;return e(i,{color:a,children:r.label},o)}))}))};export{a as TagGroup};
5
+ import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Space as o,Tag as i}from"antd";import{fbaHooks as t}from"../fba-hooks/index.js";import{jsx as e}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var a=function a(s){var l=t.useThemeToken();return e(o,r({wrap:true,size:5},s.spaceProps,{children:s.dataList.map(function(r,o){var t;var a=r.color||((t=s.colorMap)==null?void 0:t[r.value])||l.colorPrimary;return e(i,{color:a,children:r.label},o)})}))};export{a as TagGroup};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";8WAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,KAAI,SAACC,EAAMC,GAAU,IAAAC,EACnC,IAAMC,EAAQH,EAAKG,SAAKD,EAAIf,EAAMiB,WAANF,UAAAA,EAAAA,EAAiBF,EAAKK,SAAUjB,EAAMkB,aAClE,OACEf,EAACgB,EAAG,CAACJ,MAAOA,EAAMN,SACfG,EAAKQ,OADgBP,QAOlC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-group/tag-group.tsx"],"sourcesContent":["import { Space, SpaceProps, Tag } from 'antd';\nimport { FC } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\ntype TagGroupDataItem = { label: string; value: string | number; color?: string };\n\nexport type TagGroupProps = {\n dataList: TagGroupDataItem[];\n /**\n * 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同\n */\n colorMap?: Record<string, string>;\n spaceProps?: SpaceProps;\n};\n\n/**\n * Tag 列表显示\n */\nexport const TagGroup: FC<TagGroupProps> = (props) => {\n const theme = fbaHooks.useThemeToken();\n return (\n <Space wrap size={5} {...props.spaceProps}>\n {props.dataList.map((item, index) => {\n const color = item.color || props.colorMap?.[item.value] || theme.colorPrimary;\n return (\n <Tag color={color} key={index}>\n {item.label}\n </Tag>\n );\n })}\n </Space>\n );\n};\n"],"names":["TagGroup","props","theme","fbaHooks","useThemeToken","_jsx","Space","_extends","wrap","size","spaceProps","children","dataList","map","item","index","_props$colorMap","color","colorMap","value","colorPrimary","Tag","label"],"mappings":";8WAkBaA,EAA8B,SAA9BA,EAA+BC,GAC1C,IAAMC,EAAQC,EAASC,gBACvB,OACEC,EAACC,EAAKC,EAAA,CAACC,KAAI,KAACC,KAAM,GAAOR,EAAMS,WAAU,CAAAC,SACtCV,EAAMW,SAASC,IAAI,SAACC,EAAMC,GAAU,IAAAC,EACnC,IAAMC,EAAQH,EAAKG,SAAKD,EAAIf,EAAMiB,WAANF,UAAAA,EAAAA,EAAiBF,EAAKK,SAAUjB,EAAMkB,aAClE,OACEf,EAACgB,EAAG,CAACJ,MAAOA,EAAMN,SACfG,EAAKQ,OADgBP,OAOlC"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{toArray as e,isUndefinedOrNull as l,valueIsEqual as n}from"@flatbiz/utils";import{Tag as a,Popover as t}from"antd";import{useMemo as o,Fragment as i}from"react";import{jsx as u,jsxs as c}from"react/jsx-runtime";var f=function v(d){var h=e(d.value);var m=d.maxShowCount||0;var s=o((function(){if(l(d.value)){return[]}return h.map((function(r){var e;var l=(e=d.dataList)==null?void 0:e.find((function(e){return n(e.value,r)||e.label===r}));if(l){var a;return{label:l.label||l.value,color:((a=d.colorMap)==null?void 0:a[String(l.value)])||l.color,value:r}}if(d.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}})).filter(Boolean)}),[d.colorMap,d.dataList,d.forceMatch,d.value,h]);if(s.length===0){return u(i,{children:d.value})}var g=s.slice(0,m||s.length);var p=g.length<s.length?d.foldShowAllTag?s:s.slice(m,s.length):[];return c(i,{children:[g.map((function(r,e){var l=r.color;if(!l&&d.noColorShowTag===false){return u(i,{children:r.label},e)}return u(a,{color:l,style:e===g.length-1?{margin:"0"}:{marginRight:5},children:r.label},e)})),p.length>0?u(t,{content:u(f,r({},d,{value:p.map((function(r){return r.value})),dataList:p,maxShowCount:undefined})),children:u(a,{color:"blue",style:{marginLeft:5,cursor:"pointer"},children:"..."})}):null]})};f.defaultProps={forceMatch:false};export{f as TagListRender};
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{toArray as e,isUndefinedOrNull as l,valueIsEqual as n}from"@flatbiz/utils";import{Tag as a,Popover as t}from"antd";import{useMemo as o,Fragment as i}from"react";import{jsx as u,jsxs as c}from"react/jsx-runtime";var f=function v(d){var h=e(d.value);var m=d.maxShowCount||0;var s=o(function(){if(l(d.value)){return[]}return h.map(function(r){var e;var l=(e=d.dataList)==null?void 0:e.find(function(e){return n(e.value,r)||e.label===r});if(l){var a;return{label:l.label||l.value,color:((a=d.colorMap)==null?void 0:a[String(l.value)])||l.color,value:r}}if(d.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}}).filter(Boolean)},[d.colorMap,d.dataList,d.forceMatch,d.value,h]);if(s.length===0){return u(i,{children:d.value})}var g=s.slice(0,m||s.length);var p=g.length<s.length?d.foldShowAllTag?s:s.slice(m,s.length):[];return c(i,{children:[g.map(function(r,e){var l=r.color;if(!l&&d.noColorShowTag===false){return u(i,{children:r.label},e)}return u(a,{color:l,style:e===g.length-1?{margin:"0"}:{marginRight:5},children:r.label},e)}),p.length>0?u(t,{content:u(f,r({},d,{value:p.map(function(r){return r.value}),dataList:p,maxShowCount:undefined})),children:u(a,{color:"blue",style:{marginLeft:5,cursor:"pointer"},children:"..."})}):null]})};f.defaultProps={forceMatch:false};export{f as TagListRender};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-render/tag-list.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Popover, Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListRenderValue = string | number | boolean;\nexport type TagListRenderDataItem = { label: string; value: TagListRenderValue; color?: string };\n\nexport type TagListRenderProps = {\n dataList: TagListRenderDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListRenderValue | TagListRenderValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n /** 所有tag背景匹配此颜色,在colorMap为空、dataList中未配置color的情况下有效果 */\n tagColor?: string;\n /** 未匹配到color时,是否显示Tag效果,默认值:true */\n noColorShowTag?: boolean;\n};\n\n/**\n * 在列表数据dataList中通过value匹配数据,以Tag形式展示\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListRender\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListRender\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListRender: FC<TagListRenderProps> = (props) => {\n const valueList = toArray<TagListRenderValue>(props.value);\n const maxShowCount = props.maxShowCount || 0;\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListRenderDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const newTagList = tagList.slice(0, maxShowCount || tagList.length);\n\n const popoverTagList =\n newTagList.length < tagList.length\n ? props.foldShowAllTag\n ? tagList\n : tagList.slice(maxShowCount, tagList.length)\n : [];\n\n return (\n <Fragment>\n {newTagList.map((item, index) => {\n const color = item.color;\n if (!color && props.noColorShowTag === false) {\n return <Fragment key={index}>{item.label}</Fragment>;\n }\n return (\n <Tag\n color={color}\n style={index === newTagList.length - 1 ? { margin: '0' } : { marginRight: 5 }}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n {popoverTagList.length > 0 ? (\n <Popover\n content={\n <TagListRender\n {...props}\n value={popoverTagList.map((item) => item.value)}\n dataList={popoverTagList}\n maxShowCount={undefined}\n />\n }\n >\n <Tag color=\"blue\" style={{ marginLeft: 5, cursor: 'pointer' }}>\n ...\n </Tag>\n </Popover>\n ) : null}\n </Fragment>\n );\n};\n\nTagListRender.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListRender","props","valueList","toArray","value","maxShowCount","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","newTagList","slice","popoverTagList","foldShowAllTag","_jsxs","index","noColorShowTag","Tag","style","margin","marginRight","Popover","content","_TagListRender","_extends","marginLeft","cursor","defaultProps"],"mappings":";uRAgDO,IAAMA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAeJ,EAAMI,cAAgB,EAC3C,IAAMC,EAAUC,GAAQ,WACtB,GAAIC,EAAkBP,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJO,KAAI,SAACL,GAAU,IAAAM,EACd,IAAMC,GAAMD,EAAGT,EAAMW,WAAQ,UAAA,EAAdF,EAAgBG,MAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKV,MAAOA,IAAUU,EAAKE,QAAUZ,CAAK,IAEnE,GAAIO,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAOP,MAC9Bc,QAAOD,EAAAhB,EAAMkB,uBAANF,EAAiBG,OAAOT,EAAOP,UAAWO,EAAOO,MACxDd,MAAOA,EAEX,CACA,GAAIH,EAAMoB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUZ,EAASc,MAAOI,UAAWlB,MAAOA,EACvD,IACCmB,OAAOC,QACX,GAAE,CAACvB,EAAMkB,SAAUlB,EAAMW,SAAUX,EAAMoB,WAAYpB,EAAMG,MAAOF,IAEnE,GAAII,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE3B,EAAMG,OAC1B,CAEA,IAAMyB,EAAavB,EAAQwB,MAAM,EAAGzB,GAAgBC,EAAQmB,QAE5D,IAAMM,EACJF,EAAWJ,OAASnB,EAAQmB,OACxBxB,EAAM+B,eACJ1B,EACAA,EAAQwB,MAAMzB,EAAcC,EAAQmB,QACtC,GAEN,OACEQ,EAACN,EAAQ,CAAAC,SAAA,CACNC,EAAWpB,KAAI,SAACK,EAAMoB,GACrB,IAAMhB,EAAQJ,EAAKI,MACnB,IAAKA,GAASjB,EAAMkC,iBAAmB,MAAO,CAC5C,OAAOT,EAACC,EAAQ,CAAAC,SAAcd,EAAKE,OAAbkB,EACxB,CACA,OACER,EAACU,EAAG,CACFlB,MAAOA,EACPmB,MAAOH,IAAUL,EAAWJ,OAAS,EAAI,CAAEa,OAAQ,KAAQ,CAAEC,YAAa,GAAIX,SAG7Ed,EAAKE,OAFDkB,EAKV,IACAH,EAAeN,OAAS,EACvBC,EAACc,EAAO,CACNC,QACEf,EAACgB,EAAaC,KACR1C,EAAK,CACTG,MAAO2B,EAAetB,KAAI,SAACK,GAAI,OAAKA,EAAKV,SACzCQ,SAAUmB,EACV1B,aAAciB,aAEjBM,SAEDF,EAACU,EAAG,CAAClB,MAAM,OAAOmB,MAAO,CAAEO,WAAY,EAAGC,OAAQ,WAAYjB,SAAC,UAI/D,OAGV,EAEA5B,EAAc8C,aAAe,CAC3BzB,WAAY"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-render/tag-list.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Popover, Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListRenderValue = string | number | boolean;\nexport type TagListRenderDataItem = { label: string; value: TagListRenderValue; color?: string };\n\nexport type TagListRenderProps = {\n dataList: TagListRenderDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListRenderValue | TagListRenderValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n /** 最大显示Tag数量,超出折叠隐藏 */\n maxShowCount?: number;\n /** 触发maxShowCount后,被折叠的内容是否显示完整tag,默认值:false */\n foldShowAllTag?: boolean;\n /** 所有tag背景匹配此颜色,在colorMap为空、dataList中未配置color的情况下有效果 */\n tagColor?: string;\n /** 未匹配到color时,是否显示Tag效果,默认值:true */\n noColorShowTag?: boolean;\n};\n\n/**\n * 在列表数据dataList中通过value匹配数据,以Tag形式展示\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListRender\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListRender\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListRender: FC<TagListRenderProps> = (props) => {\n const valueList = toArray<TagListRenderValue>(props.value);\n const maxShowCount = props.maxShowCount || 0;\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListRenderDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const newTagList = tagList.slice(0, maxShowCount || tagList.length);\n\n const popoverTagList =\n newTagList.length < tagList.length\n ? props.foldShowAllTag\n ? tagList\n : tagList.slice(maxShowCount, tagList.length)\n : [];\n\n return (\n <Fragment>\n {newTagList.map((item, index) => {\n const color = item.color;\n if (!color && props.noColorShowTag === false) {\n return <Fragment key={index}>{item.label}</Fragment>;\n }\n return (\n <Tag\n color={color}\n style={index === newTagList.length - 1 ? { margin: '0' } : { marginRight: 5 }}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n {popoverTagList.length > 0 ? (\n <Popover\n content={\n <TagListRender\n {...props}\n value={popoverTagList.map((item) => item.value)}\n dataList={popoverTagList}\n maxShowCount={undefined}\n />\n }\n >\n <Tag color=\"blue\" style={{ marginLeft: 5, cursor: 'pointer' }}>\n ...\n </Tag>\n </Popover>\n ) : null}\n </Fragment>\n );\n};\n\nTagListRender.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListRender","props","valueList","toArray","value","maxShowCount","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","newTagList","slice","popoverTagList","foldShowAllTag","_jsxs","index","noColorShowTag","Tag","style","margin","marginRight","Popover","content","_TagListRender","_extends","marginLeft","cursor","defaultProps"],"mappings":";uRAgDO,IAAMA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAeJ,EAAMI,cAAgB,EAC3C,IAAMC,EAAUC,EAAQ,WACtB,GAAIC,EAAkBP,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJO,IAAI,SAACL,GAAU,IAAAM,EACd,IAAMC,GAAMD,EAAGT,EAAMW,WAAQ,UAAA,EAAdF,EAAgBG,KAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKV,MAAOA,IAAUU,EAAKE,QAAUZ,CAAK,GAEnE,GAAIO,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAOP,MAC9Bc,QAAOD,EAAAhB,EAAMkB,uBAANF,EAAiBG,OAAOT,EAAOP,UAAWO,EAAOO,MACxDd,MAAOA,EAEX,CACA,GAAIH,EAAMoB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUZ,EAASc,MAAOI,UAAWlB,MAAOA,EACvD,GACCmB,OAAOC,QACX,EAAE,CAACvB,EAAMkB,SAAUlB,EAAMW,SAAUX,EAAMoB,WAAYpB,EAAMG,MAAOF,IAEnE,GAAII,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE3B,EAAMG,OAC1B,CAEA,IAAMyB,EAAavB,EAAQwB,MAAM,EAAGzB,GAAgBC,EAAQmB,QAE5D,IAAMM,EACJF,EAAWJ,OAASnB,EAAQmB,OACxBxB,EAAM+B,eACJ1B,EACAA,EAAQwB,MAAMzB,EAAcC,EAAQmB,QACtC,GAEN,OACEQ,EAACN,EAAQ,CAAAC,SAAA,CACNC,EAAWpB,IAAI,SAACK,EAAMoB,GACrB,IAAMhB,EAAQJ,EAAKI,MACnB,IAAKA,GAASjB,EAAMkC,iBAAmB,MAAO,CAC5C,OAAOT,EAACC,EAAQ,CAAAC,SAAcd,EAAKE,OAAbkB,EACxB,CACA,OACER,EAACU,EAAG,CACFlB,MAAOA,EACPmB,MAAOH,IAAUL,EAAWJ,OAAS,EAAI,CAAEa,OAAQ,KAAQ,CAAEC,YAAa,GAAIX,SAG7Ed,EAAKE,OAFDkB,EAKV,GACAH,EAAeN,OAAS,EACvBC,EAACc,EAAO,CACNC,QACEf,EAACgB,EAAaC,KACR1C,EAAK,CACTG,MAAO2B,EAAetB,IAAI,SAACK,GAAI,OAAKA,EAAKV,QACzCQ,SAAUmB,EACV1B,aAAciB,aAEjBM,SAEDF,EAACU,EAAG,CAAClB,MAAM,OAAOmB,MAAO,CAAEO,WAAY,EAAGC,OAAQ,WAAYjB,SAAC,UAI/D,OAGV,EAEA5B,EAAc8C,aAAe,CAC3BzB,WAAY"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{toArray as r,isUndefinedOrNull as e,valueIsEqual as n}from"@flatbiz/utils";import{Tag as l}from"antd";import{useMemo as t,Fragment as a}from"react";import{jsx as o}from"react/jsx-runtime";var u=function u(i){var f=r(i.value);var c=t((function(){if(e(i.value)){return[]}return f.map((function(r){var e;var l=(e=i.dataList)==null?void 0:e.find((function(e){return n(e.value,r)||e.label===r}));if(l){var t;return{label:l.label||l.value,color:((t=i.colorMap)==null?void 0:t[String(l.value)])||l.color,value:r}}if(i.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}})).filter(Boolean)}),[i.colorMap,i.dataList,i.forceMatch,i.value,f]);if(c.length===0){return o(a,{children:i.value})}var d=c.find((function(r){return!!(r!=null&&r.color)}));if(d){return o(a,{children:c.map((function(r,e){return o(l,{color:r.color,style:e===c.length-1?{margin:"0"}:undefined,children:r.label},e)}))})}return o(a,{children:c.map((function(r){return r.label})).join(",")})};u.defaultProps={forceMatch:false};export{u as TagListSelect};
4
+ import{toArray as r,isUndefinedOrNull as e,valueIsEqual as n}from"@flatbiz/utils";import{Tag as l}from"antd";import{useMemo as t,Fragment as a}from"react";import{jsx as o}from"react/jsx-runtime";var u=function u(i){var f=r(i.value);var c=t(function(){if(e(i.value)){return[]}return f.map(function(r){var e;var l=(e=i.dataList)==null?void 0:e.find(function(e){return n(e.value,r)||e.label===r});if(l){var t;return{label:l.label||l.value,color:((t=i.colorMap)==null?void 0:t[String(l.value)])||l.color,value:r}}if(i.forceMatch){return undefined}return{label:""+r,color:undefined,value:r}}).filter(Boolean)},[i.colorMap,i.dataList,i.forceMatch,i.value,f]);if(c.length===0){return o(a,{children:i.value})}var d=c.find(function(r){return!!(r!=null&&r.color)});if(d){return o(a,{children:c.map(function(r,e){return o(l,{color:r.color,style:e===c.length-1?{margin:"0"}:undefined,children:r.label},e)})})}return o(a,{children:c.map(function(r){return r.label}).join(",")})};u.defaultProps={forceMatch:false};export{u as TagListSelect};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListSelectValue | TagListSelectValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @deprecated 已过期,请使用 TagListRender 组件\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const valueList = toArray<TagListSelectValue>(props.value);\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListSelectDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const hasColor = tagList.find((item) => !!item?.color);\n\n if (hasColor) {\n return (\n <Fragment>\n {tagList.map((item, index) => {\n return (\n <Tag\n color={item.color}\n style={index === tagList.length - 1 ? { margin: '0' } : undefined}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n </Fragment>\n );\n }\n\n return <Fragment>{tagList.map((item) => item.label).join(',')}</Fragment>;\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","valueList","toArray","value","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","hasColor","index","Tag","style","margin","join","defaultProps"],"mappings":";uMA2CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAUC,GAAQ,WACtB,GAAIC,EAAkBN,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJM,KAAI,SAACJ,GAAU,IAAAK,EACd,IAAMC,GAAMD,EAAGR,EAAMU,WAAQ,UAAA,EAAdF,EAAgBG,MAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKT,MAAOA,IAAUS,EAAKE,QAAUX,CAAK,IAEnE,GAAIM,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAON,MAC9Ba,QAAOD,EAAAf,EAAMiB,uBAANF,EAAiBG,OAAOT,EAAON,UAAWM,EAAOO,MACxDb,MAAOA,EAEX,CACA,GAAIH,EAAMmB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUX,EAASa,MAAOI,UAAWjB,MAAOA,EACvD,IACCkB,OAAOC,QACX,GAAE,CAACtB,EAAMiB,SAAUjB,EAAMU,SAAUV,EAAMmB,WAAYnB,EAAMG,MAAOF,IAEnE,GAAIG,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE1B,EAAMG,OAC1B,CAEA,IAAMwB,EAAWvB,EAAQO,MAAK,SAACC,GAAI,SAAOA,GAAAA,MAAAA,EAAMI,UAEhD,GAAIW,EAAU,CACZ,OACEH,EAACC,EAAQ,CAAAC,SACNtB,EAAQG,KAAI,SAACK,EAAMgB,GAClB,OACEJ,EAACK,EAAG,CACFb,MAAOJ,EAAKI,MACZc,MAAOF,IAAUxB,EAAQmB,OAAS,EAAI,CAAEQ,OAAQ,KAAQX,UAAUM,SAGjEd,EAAKE,OAFDc,OAQjB,CAEA,OAAOJ,EAACC,EAAQ,CAAAC,SAAEtB,EAAQG,KAAI,SAACK,GAAI,OAAKA,EAAKE,SAAOkB,KAAK,MAC3D,EAEAjC,EAAckC,aAAe,CAC3Bd,WAAY"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-list-select/tag-list-select.tsx"],"sourcesContent":["import { isUndefinedOrNull, toArray, valueIsEqual } from '@flatbiz/utils';\nimport { Tag } from 'antd';\nimport { FC, Fragment, useMemo } from 'react';\n\nexport type TagListSelectValue = string | number | boolean;\nexport type TagListSelectDataItem = { label: string; value: TagListSelectValue; color?: string };\n\nexport type TagListSelectProps = {\n dataList: TagListSelectDataItem[];\n /** 颜色配置数据,例如:{ 1:'red', 2: 'blue'} key值与 dataList中value相同 */\n colorMap?: Record<string | number, string>;\n value?: TagListSelectValue | TagListSelectValue[];\n /** 是否强制匹配,默认值false */\n forceMatch?: boolean;\n};\n\n/**\n * 在列表数据中通过value匹配数据,以Tag形式展示\n * @deprecated 已过期,请使用 TagListRender 组件\n * @param props\n * @returns\n * ```\n * 1. forceMatch: 是否强制匹配(默认值false)\n * - false: 匹配不到显示value值,\n * - true:匹配不到不显示\n * 2. value 与 dataList中label、value任一相等,都可匹配\n *\n * 用法1:\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1 }]\n * colorMap={{ 1:'red', 2: 'blue'}}\n * value={1} />\n * =>\n * <Tag color={'red'}>启用</Tag>\n *\n * 用法2\n * <TagListSelect\n * dataList=[{ label: '启用', value: 1. color: 'red' }]\n * value=\"启用\" />\n * =>\n * <Tag color={'red'}>启用</Tag>\n * ```\n */\nexport const TagListSelect: FC<TagListSelectProps> = (props) => {\n const valueList = toArray<TagListSelectValue>(props.value);\n const tagList = useMemo(() => {\n if (isUndefinedOrNull(props.value)) {\n return [];\n }\n return valueList\n .map((value) => {\n const target = props.dataList?.find(\n (item) => valueIsEqual(item.value, value) || item.label === value,\n );\n if (target) {\n return {\n label: target.label || target.value,\n color: props.colorMap?.[String(target.value)] || target.color,\n value: value,\n };\n }\n if (props.forceMatch) {\n return undefined;\n }\n return { label: `${value}`, color: undefined, value: value };\n })\n .filter(Boolean) as TagListSelectDataItem[];\n }, [props.colorMap, props.dataList, props.forceMatch, props.value, valueList]);\n\n if (tagList.length === 0) {\n return <Fragment>{props.value}</Fragment>;\n }\n\n const hasColor = tagList.find((item) => !!item?.color);\n\n if (hasColor) {\n return (\n <Fragment>\n {tagList.map((item, index) => {\n return (\n <Tag\n color={item.color}\n style={index === tagList.length - 1 ? { margin: '0' } : undefined}\n key={index}\n >\n {item.label}\n </Tag>\n );\n })}\n </Fragment>\n );\n }\n\n return <Fragment>{tagList.map((item) => item.label).join(',')}</Fragment>;\n};\n\nTagListSelect.defaultProps = {\n forceMatch: false,\n};\n"],"names":["TagListSelect","props","valueList","toArray","value","tagList","useMemo","isUndefinedOrNull","map","_props$dataList","target","dataList","find","item","valueIsEqual","label","_props$colorMap","color","colorMap","String","forceMatch","undefined","filter","Boolean","length","_jsx","Fragment","children","hasColor","index","Tag","style","margin","join","defaultProps"],"mappings":";uMA2CaA,EAAwC,SAAxCA,EAAyCC,GACpD,IAAMC,EAAYC,EAA4BF,EAAMG,OACpD,IAAMC,EAAUC,EAAQ,WACtB,GAAIC,EAAkBN,EAAMG,OAAQ,CAClC,MAAO,EACT,CACA,OAAOF,EACJM,IAAI,SAACJ,GAAU,IAAAK,EACd,IAAMC,GAAMD,EAAGR,EAAMU,WAAQ,UAAA,EAAdF,EAAgBG,KAC7B,SAACC,GAAI,OAAKC,EAAaD,EAAKT,MAAOA,IAAUS,EAAKE,QAAUX,CAAK,GAEnE,GAAIM,EAAQ,CAAA,IAAAM,EACV,MAAO,CACLD,MAAOL,EAAOK,OAASL,EAAON,MAC9Ba,QAAOD,EAAAf,EAAMiB,uBAANF,EAAiBG,OAAOT,EAAON,UAAWM,EAAOO,MACxDb,MAAOA,EAEX,CACA,GAAIH,EAAMmB,WAAY,CACpB,OAAOC,SACT,CACA,MAAO,CAAEN,SAAUX,EAASa,MAAOI,UAAWjB,MAAOA,EACvD,GACCkB,OAAOC,QACX,EAAE,CAACtB,EAAMiB,SAAUjB,EAAMU,SAAUV,EAAMmB,WAAYnB,EAAMG,MAAOF,IAEnE,GAAIG,EAAQmB,SAAW,EAAG,CACxB,OAAOC,EAACC,EAAQ,CAAAC,SAAE1B,EAAMG,OAC1B,CAEA,IAAMwB,EAAWvB,EAAQO,KAAK,SAACC,GAAI,SAAOA,GAAAA,MAAAA,EAAMI,SAEhD,GAAIW,EAAU,CACZ,OACEH,EAACC,EAAQ,CAAAC,SACNtB,EAAQG,IAAI,SAACK,EAAMgB,GAClB,OACEJ,EAACK,EAAG,CACFb,MAAOJ,EAAKI,MACZc,MAAOF,IAAUxB,EAAQmB,OAAS,EAAI,CAAEQ,OAAQ,KAAQX,UAAUM,SAGjEd,EAAKE,OAFDc,MAQjB,CAEA,OAAOJ,EAACC,EAAQ,CAAAC,SAAEtB,EAAQG,IAAI,SAACK,GAAI,OAAKA,EAAKE,QAAOkB,KAAK,MAC3D,EAEAjC,EAAckC,aAAe,CAC3Bd,WAAY"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import i from"@ant-design/icons/es/icons/LoadingOutlined";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Tag as s}from"antd";import{useState as a}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsxs as c,jsx as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var u=["loading","children","debounceDuration","style"];var f=function f(d){var p=d.loading,v=d.children,j=d.debounceDuration,g=d.style,h=r(d,u);var y=a(false),b=y[0],k=y[1];var C=t(j)?500:j;l.useEffectCustom((function(){if(!t(p)){k(p||false)}}),[p]);var x=n.useDebounceClick((function(i){var r=d.onClick;if(!r){return}var o=r(i);if(o&&e(o)){k(true);o.catch((function(i){console.error(i)})).finally((function(){k(false)}))}}),C);return c(s,o({},h,{onClick:x,style:o({cursor:d.onClick?"pointer":"default"},g),children:[b&&m("div",{className:"tw-center-loading",children:m(i,{})}),b?m("div",{style:{opacity:.5},children:v}):v]}))};export{f as TagWrapper};
5
+ import i from"@ant-design/icons/es/icons/LoadingOutlined";import{a as r,_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as t}from"@flatbiz/utils";import{Tag as s}from"antd";import{useState as a}from"react";import{fbaHooks as l}from"../fba-hooks/index.js";import{jsxs as c,jsx as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var u=["loading","children","debounceDuration","style"];var f=function f(d){var p=d.loading,v=d.children,j=d.debounceDuration,g=d.style,h=r(d,u);var y=a(false),b=y[0],k=y[1];var C=t(j)?500:j;l.useEffectCustom(function(){if(!t(p)){k(p||false)}},[p]);var x=n.useDebounceClick(function(i){var r=d.onClick;if(!r){return}var o=r(i);if(o&&e(o)){k(true);o.catch(function(i){console.error(i)}).finally(function(){k(false)})}},C);return c(s,o({},h,{onClick:x,style:o({cursor:d.onClick?"pointer":"default"},g),children:[b&&m("div",{className:"tw-center-loading",children:m(i,{})}),b?m("div",{style:{opacity:.5},children:v}):v]}))};export{f as TagWrapper};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-wrapper/tag-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tag, TagProps } from 'antd';\nimport { useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type TagWrapperProps = Omit<TagProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n loading?: boolean;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n};\n\n/**\n * 为 Tag 添加 loading 效果\n */\nexport const TagWrapper = (props: TagWrapperProps) => {\n const { loading, children, debounceDuration, style, ...otherProps } = props;\n\n const [innerLoading, setLoading] = useState(false);\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loading || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick}\n style={{ cursor: props.onClick ? 'pointer' : 'default', ...style }}\n >\n {innerLoading && (\n <div className=\"tw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{children}</div> : children}\n </Tag>\n );\n};\n"],"names":["TagWrapper","props","loading","children","debounceDuration","style","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setLoading","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","_jsxs","Tag","_extends","cursor","_jsx","className","_LoadingOutlined","opacity"],"mappings":";4lBAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8DD,EAA9DC,QAASC,EAAqDF,EAArDE,SAAUC,EAA2CH,EAA3CG,iBAAkBC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAE3E,IAAAC,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAsBC,EAAkBV,GAAoB,IAAMA,EAExEW,EAASC,iBAAgB,WACvB,IAAKF,EAAkBZ,GAAU,CAC/BU,EAAWV,GAAW,MACxB,CACF,GAAG,CAACA,IAEJ,IAAMe,EAAUC,EAAMC,kBAAiB,SAACC,GACtC,IAAMH,EAAUhB,EAAMgB,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BT,EAAW,MACXS,EACGE,OAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,IACCE,SAAQ,WACPd,EAAW,MACb,GACJ,CACD,GAAEC,GAEH,OACEc,EAACC,EAAGC,KACEvB,EAAU,CACdW,QAASA,EACTZ,MAAKwB,EAAA,CAAIC,OAAQ7B,EAAMgB,QAAU,UAAY,WAAcZ,GAAQF,SAAA,CAElEQ,GACCoB,EAAA,MAAA,CAAKC,UAAU,oBAAmB7B,SAChC4B,EAAAE,EAAkB,MAGrBtB,EAAeoB,EAAA,MAAA,CAAK1B,MAAO,CAAE6B,QAAS,IAAM/B,SAAEA,IAAkBA,KAGvE"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/tag-wrapper/tag-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Tag, TagProps } from 'antd';\nimport { useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type TagWrapperProps = Omit<TagProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n loading?: boolean;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n};\n\n/**\n * 为 Tag 添加 loading 效果\n */\nexport const TagWrapper = (props: TagWrapperProps) => {\n const { loading, children, debounceDuration, style, ...otherProps } = props;\n\n const [innerLoading, setLoading] = useState(false);\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loading || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick}\n style={{ cursor: props.onClick ? 'pointer' : 'default', ...style }}\n >\n {innerLoading && (\n <div className=\"tw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{children}</div> : children}\n </Tag>\n );\n};\n"],"names":["TagWrapper","props","loading","children","debounceDuration","style","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","innerLoading","setLoading","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","_jsxs","Tag","_extends","cursor","_jsx","className","_LoadingOutlined","opacity"],"mappings":";4lBAmBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8DD,EAA9DC,QAASC,EAAqDF,EAArDE,SAAUC,EAA2CH,EAA3CG,iBAAkBC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAE3E,IAAAC,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAsBC,EAAkBV,GAAoB,IAAMA,EAExEW,EAASC,gBAAgB,WACvB,IAAKF,EAAkBZ,GAAU,CAC/BU,EAAWV,GAAW,MACxB,CACF,EAAG,CAACA,IAEJ,IAAMe,EAAUC,EAAMC,iBAAiB,SAACC,GACtC,IAAMH,EAAUhB,EAAMgB,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BT,EAAW,MACXS,EACGE,MAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,GACCE,QAAQ,WACPd,EAAW,MACb,EACJ,CACD,EAAEC,GAEH,OACEc,EAACC,EAAGC,KACEvB,EAAU,CACdW,QAASA,EACTZ,MAAKwB,EAAA,CAAIC,OAAQ7B,EAAMgB,QAAU,UAAY,WAAcZ,GAAQF,SAAA,CAElEQ,GACCoB,EAAA,MAAA,CAAKC,UAAU,oBAAmB7B,SAChC4B,EAAAE,EAAkB,MAGrBtB,EAAeoB,EAAA,MAAA,CAAK1B,MAAO,CAAE6B,QAAS,IAAM/B,SAAEA,IAAkBA,KAGvE"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{useSize as t}from"ahooks";import{Tooltip as i}from"antd";import{useRef as r,useState as e}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var d=function d(a){var l=r();var u=e(0),f=u[0],m=u[1];var p=t(l);var c=n.useMemoCustom((function(){var t;if(a.hideTips)return false;if(a.width!==undefined){return f>a.width}var i=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return f>i}),[a.hideTips,a.width,f,p==null?void 0:p.width]);return s(i,{title:c?a.text:undefined,children:o("span",{className:"text-css-ellipsis",style:a.width?{width:a.width}:{},ref:function t(i){if(i){l.current=i}},children:[s("span",{className:"tce-hidden",children:s("span",{ref:function t(i){if(i){m(i.offsetWidth)}},children:a.text})}),a.text]})})};export{d as TextCssEllipsis};
5
+ import{useSize as t}from"ahooks";import{Tooltip as i}from"antd";import{useRef as r,useState as e}from"react";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var d=function d(a){var l=r();var u=e(0),f=u[0],m=u[1];var p=t(l);var c=n.useMemoCustom(function(){var t;if(a.hideTips)return false;if(a.width!==undefined){return f>a.width}var i=((t=l.current)==null||(t=t.parentElement)==null?void 0:t.offsetWidth)||0;return f>i},[a.hideTips,a.width,f,p==null?void 0:p.width]);return s(i,{title:c?a.text:undefined,children:o("span",{className:"text-css-ellipsis",style:a.width?{width:a.width}:{},ref:function t(i){if(i){l.current=i}},children:[s("span",{className:"tce-hidden",children:s("span",{ref:function t(i){if(i){m(i.offsetWidth)}},children:a.text})}),a.text]})})};export{d as TextCssEllipsis};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";qaAyBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,eAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,GAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-css-ellipsis/text-css-ellipsis.tsx"],"sourcesContent":["import { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type CssTextEllipsisProps = {\n text: string;\n width?: number;\n /** 隐藏tips */\n hideTips?: boolean;\n};\n\n/**\n * 内容超过宽度截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * @deprecated 已过期,请使用 TextOverflow 组件\n * ```\n * 1. 如果配置 width,则使用文本长度与width进行比较\n * 2. 如果没有配置 width,则使用文本长度与当前节点父节点宽度进行比较\n *\n * 注意:\n * 1. 当前节点父节点可能需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * ```\n */\nexport const TextCssEllipsis = (props: CssTextEllipsisProps) => {\n const rootRef = useRef<HTMLSpanElement>();\n const [textNodeWidth, setTextNodeWidth] = useState(0);\n const size = useSize(rootRef);\n\n const showTips = fbaHooks.useMemoCustom(() => {\n if (props.hideTips) return false;\n if (props.width !== undefined) {\n return textNodeWidth > props.width;\n }\n const parentNodeWidth = rootRef.current?.parentElement?.offsetWidth || 0;\n return textNodeWidth > parentNodeWidth;\n }, [props.hideTips, props.width, textNodeWidth, size?.width]);\n\n return (\n <Tooltip title={showTips ? props.text : undefined}>\n <span\n className=\"text-css-ellipsis\"\n style={props.width ? { width: props.width } : {}}\n ref={(node) => {\n if (node) {\n rootRef.current = node;\n }\n }}\n >\n <span className=\"tce-hidden\">\n <span\n ref={(node) => {\n if (node) {\n setTextNodeWidth(node.offsetWidth);\n }\n }}\n >\n {props.text}\n </span>\n </span>\n {props.text}\n </span>\n </Tooltip>\n );\n};\n"],"names":["TextCssEllipsis","props","rootRef","useRef","_useState","useState","textNodeWidth","setTextNodeWidth","size","useSize","showTips","fbaHooks","useMemoCustom","_rootRef$current","hideTips","width","undefined","parentNodeWidth","current","parentElement","offsetWidth","_jsx","Tooltip","title","text","children","_jsxs","className","style","ref","node"],"mappings":";qaAyBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAMC,EAAUC,IAChB,IAAAC,EAA0CC,EAAS,GAA5CC,EAAaF,EAAA,GAAEG,EAAgBH,EAAA,GACtC,IAAMI,EAAOC,EAAQP,GAErB,IAAMQ,EAAWC,EAASC,cAAc,WAAM,IAAAC,EAC5C,GAAIZ,EAAMa,SAAU,OAAO,MAC3B,GAAIb,EAAMc,QAAUC,UAAW,CAC7B,OAAOV,EAAgBL,EAAMc,KAC/B,CACA,IAAME,IAAkBJ,EAAAX,EAAQgB,UAAO,OAAAL,EAAfA,EAAiBM,gBAAa,UAAA,EAA9BN,EAAgCO,cAAe,EACvE,OAAOd,EAAgBW,CACxB,EAAE,CAAChB,EAAMa,SAAUb,EAAMc,MAAOT,EAAeE,GAAI,UAAA,EAAJA,EAAMO,QAEtD,OACEM,EAACC,EAAO,CAACC,MAAOb,EAAWT,EAAMuB,KAAOR,UAAUS,SAChDC,EAAA,OAAA,CACEC,UAAU,oBACVC,MAAO3B,EAAMc,MAAQ,CAAEA,MAAOd,EAAMc,OAAU,CAAG,EACjDc,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACR5B,EAAQgB,QAAUY,CACpB,CACA,EAAAL,UAEFJ,EAAA,OAAA,CAAMM,UAAU,aAAYF,SAC1BJ,EAAA,OAAA,CACEQ,IAAK,SAALA,EAAMC,GACJ,GAAIA,EAAM,CACRvB,EAAiBuB,EAAKV,YACxB,CACA,EAAAK,SAEDxB,EAAMuB,SAGVvB,EAAMuB,SAIf"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,useMemo as i,memo as n}from"react";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{useSize as a}from"ahooks";import{Tooltip as o}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as d,jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var h=function t(e){var i=r(null);var n=a(i);var h=(n==null?void 0:n.width)||0;var u=r(null);var m=a(u);var v=s.useMemoCustom((function(){if(!(m!=null&&m.width)||!h)return false;return m.width>h}),[m==null?void 0:m.width,h]);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:v&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var u=function t(e){var i=r(null);var n=a(i);var s=e.maxLength;var h=(n==null?void 0:n.width)||0;var u=e.text;var m=r(null);var v=a(m);var f=u.length>s;var w=(v==null?void 0:v.width)||0;var p=f&&w<h;var x=h<w+1||f;var g=u.substring(0,e.maxLength);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:m,children:g})}),c(o,{title:x&&!e.hideTip?u:undefined,children:p?c("span",{className:"tow-cut-content",children:d("span",{className:"tow-show-text",onClick:e.onClick,children:[g,"..."]})}):c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:u})})})]})};var m=function t(e){var n=r(null);var s=a(n);var h=e.maxWidth||0;var u=r(null);var m=a(u);var v=i((function(){if(!(m!=null&&m.width)||!(s!=null&&s.width))return undefined;if(s.width<h){if(m.width>s.width){return{isTextOverflow:true}}}if(m.width<h)return undefined;if(m.width>h){return{isTextOverflow:true,width:h}}return undefined}),[m==null?void 0:m.width,h]);var f=v==null?void 0:v.isTextOverflow;return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:n,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:f&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",style:{width:v==null?void 0:v.width},children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var v=function r(i){if(i.maxLength&&e(i.text)){return c(u,t({},i))}if(i.maxWidth){return c(m,t({},i))}return c(h,t({},i))};var f=n(v,(function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true}));export{f as TextOverflow};
5
+ import{_ as t}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,useMemo as i,memo as n}from"react";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{useSize as a}from"ahooks";import{Tooltip as o}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as d,jsx as c}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";var h=function t(e){var i=r(null);var n=a(i);var h=(n==null?void 0:n.width)||0;var u=r(null);var m=a(u);var v=s.useMemoCustom(function(){if(!(m!=null&&m.width)||!h)return false;return m.width>h},[m==null?void 0:m.width,h]);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:v&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var u=function t(e){var i=r(null);var n=a(i);var s=e.maxLength;var h=(n==null?void 0:n.width)||0;var u=e.text;var m=r(null);var v=a(m);var f=u.length>s;var w=(v==null?void 0:v.width)||0;var p=f&&w<h;var x=h<w+1||f;var g=u.substring(0,e.maxLength);return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:m,children:g})}),c(o,{title:x&&!e.hideTip?u:undefined,children:p?c("span",{className:"tow-cut-content",children:d("span",{className:"tow-show-text",onClick:e.onClick,children:[g,"..."]})}):c("span",{className:"tow-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:u})})})]})};var m=function t(e){var n=r(null);var s=a(n);var h=e.maxWidth||0;var u=r(null);var m=a(u);var v=i(function(){if(!(m!=null&&m.width)||!(s!=null&&s.width))return undefined;if(s.width<h){if(m.width>s.width){return{isTextOverflow:true}}}if(m.width<h)return undefined;if(m.width>h){return{isTextOverflow:true,width:h}}return undefined},[m==null?void 0:m.width,h]);var f=v==null?void 0:v.isTextOverflow;return d("div",{className:l("text-overflow",{"tow-trigger":e.onClick}),ref:n,children:[c("span",{className:"tow-hidden",children:c("span",{className:"tow-inner-text",ref:u,children:e.text})}),c(o,{title:f&&!e.hideTip?e.text:undefined,children:c("span",{className:"tow-content",style:{width:v==null?void 0:v.width},children:c("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var v=function r(i){if(i.maxLength&&e(i.text)){return c(u,t({},i))}if(i.maxWidth){return c(m,t({},i))}return c(h,t({},i))};var f=n(v,function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true});export{f as TextOverflow};
6
6
  //# sourceMappingURL=index.js.map