@flatbiz/antd 5.0.44 → 5.0.45

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 (186) hide show
  1. package/dist/_commonjsHelpers-a3yINl_6.js +8 -0
  2. package/dist/_commonjsHelpers-a3yINl_6.js.map +1 -0
  3. package/dist/amount-fen-input-DI4mxLeO.js.map +1 -1
  4. package/dist/anchor-steps-CqqmN9Pf.js.map +1 -1
  5. package/dist/bootstrap/index.d.ts +1 -1
  6. package/dist/bootstrap-DtZAiLNG.js.map +1 -1
  7. package/dist/box-grid/index.js.map +1 -1
  8. package/dist/button-operate/index.d.ts +1 -1
  9. package/dist/button-operate-BIWXX7to.js.map +1 -1
  10. package/dist/button-wrapper-DezyMqPx.js.map +1 -1
  11. package/dist/card-layout-P-Qb5pCT.js.map +1 -1
  12. package/dist/cascader-wrapper-CMYrmR6L.js.map +1 -1
  13. package/dist/cell-render-1gunNiMm.js.map +1 -1
  14. package/dist/center-DgQUmnwe.js.map +1 -1
  15. package/dist/check-list/index.js.map +1 -1
  16. package/dist/checkbox-wrapper-BOIS5kIz.js.map +1 -1
  17. package/dist/color-picker-D8Tiiut0.js.map +1 -1
  18. package/dist/config-provider-wrapper/index.d.ts +1 -1
  19. package/dist/config-provider-wrapper-C72dPUJZ.js.map +1 -1
  20. package/dist/content-B5Twifti.js.map +1 -1
  21. package/dist/context-HuMVSP3b.js.map +1 -1
  22. package/dist/copy-BSlIwnwz.js.map +1 -1
  23. package/dist/css-node-hover-2asP-4iL.js.map +1 -1
  24. package/dist/data-render-U7RkK7OY.js.map +1 -1
  25. package/dist/date-picker-wrapper/index.d.ts +1 -1
  26. package/dist/date-picker-wrapper-D0_g483p.js.map +1 -1
  27. package/dist/date-range-picker-wrapper-BYOsf0I5.js.map +1 -1
  28. package/dist/date-range-picker-wrapper-form-item-C_ClxVlZ.js.map +1 -1
  29. package/dist/delete-node-BXaXf6fO.js.map +1 -1
  30. package/dist/dependencies-BPs1pFvo.js.map +1 -1
  31. package/dist/dialog-alert/index.d.ts +1 -1
  32. package/dist/dialog-alert-CDsZqePQ.js.map +1 -1
  33. package/dist/dialog-confirm/index.d.ts +1 -1
  34. package/dist/dialog-confirm-Dc6IMRm7.js.map +1 -1
  35. package/dist/dialog-drag-modal/index.js +2 -2
  36. package/dist/dialog-drawer/index.d.ts +1 -1
  37. package/dist/dialog-drawer-JEjoR512.js.map +1 -1
  38. package/dist/dialog-loading-Bm6n4_3R.js.map +1 -1
  39. package/dist/dialog-modal/index.d.ts +1 -1
  40. package/dist/dialog-modal-DLWmy5GR.js.map +1 -1
  41. package/dist/dom-DJxTwF3J.js.map +1 -1
  42. package/dist/{drag-Dxvr0bSy.js → drag-D891d5m3.js} +3 -2
  43. package/dist/drag-D891d5m3.js.map +1 -0
  44. package/dist/{drag-CGxDk1SF.js → drag-DT_ZyPqJ.js} +2 -2
  45. package/dist/{drag-CGxDk1SF.js.map → drag-DT_ZyPqJ.js.map} +1 -1
  46. package/dist/drag-collapse-D2mbeDvD.js.map +1 -1
  47. package/dist/drag-collapse-DhZ1V5P6.js.map +1 -1
  48. package/dist/drag-collapse-form-list/index.d.ts +1 -1
  49. package/dist/drag-editable-card/index.d.ts +1 -1
  50. package/dist/drag-editable-table/index.d.ts +6 -6
  51. package/dist/drag-editable-table/index.js +5 -5
  52. package/dist/drag-editable-table-pro/index.d.ts +2 -2
  53. package/dist/drag-editable-table-pro/index.js +1 -1
  54. package/dist/drag-form-list/index.d.ts +1 -1
  55. package/dist/drag-form-list-BrIW06Ex.js.map +1 -1
  56. package/dist/{drag-modal-C3Azghu3.js → drag-modal-Y41HH12_.js} +161 -204
  57. package/dist/drag-modal-Y41HH12_.js.map +1 -0
  58. package/dist/drag-table-Dk8HllSn.js.map +1 -1
  59. package/dist/{drawer-6Cq1mcQa.js → drawer-BfMemZA8.js} +2 -2
  60. package/dist/{drawer-6Cq1mcQa.js.map → drawer-BfMemZA8.js.map} +1 -1
  61. package/dist/dropdown-menu-wrapper/index.d.ts +1 -1
  62. package/dist/dropdown-menu-wrapper-BE3Liqoh.js.map +1 -1
  63. package/dist/dynamic-node-B_An5owN.js.map +1 -1
  64. package/dist/easy-table/index.d.ts +1 -1
  65. package/dist/easy-table/index.js.map +1 -1
  66. package/dist/editable-card/index.d.ts +1 -1
  67. package/dist/editable-card-tyOSUivy.js.map +1 -1
  68. package/dist/editable-card-zY9wCgE6.js.map +1 -1
  69. package/dist/editable-field-DBiVpCRE.js.map +1 -1
  70. package/dist/editable-table/index.d.ts +6 -6
  71. package/dist/editable-table/index.js +4 -4
  72. package/dist/{editable-table-Ckl_Q1fk.js → editable-table-0f-H4DHt.js} +2 -2
  73. package/dist/editable-table-0f-H4DHt.js.map +1 -0
  74. package/dist/editable-table-pro/index.d.ts +2 -2
  75. package/dist/editable-table-pro-B12YG7J_.js.map +1 -1
  76. package/dist/editor-C_Wf256R.js.map +1 -1
  77. package/dist/editor-CncecOdy.js.map +1 -1
  78. package/dist/editor-CxXSgnLP.js.map +1 -1
  79. package/dist/editor-Dhs7idH7.js.map +1 -1
  80. package/dist/editor-i79rPG9r.js.map +1 -1
  81. package/dist/error-boundary-D6RX4EQZ.js.map +1 -1
  82. package/dist/fba-app-Ew89Y7th.js.map +1 -1
  83. package/dist/fba-hooks/index.js.map +1 -1
  84. package/dist/fba-utils-okhb5eSJ.js.map +1 -1
  85. package/dist/file-export-B3RBS7Wl.js.map +1 -1
  86. package/dist/file-import-pbdSC5lZ.js.map +1 -1
  87. package/dist/file-select/index.d.ts +1 -1
  88. package/dist/file-select-BFrXFyKW.js.map +1 -1
  89. package/dist/flex-layout-BGtMe7zr.js.map +1 -1
  90. package/dist/form-ByFljQr9.js.map +1 -1
  91. package/dist/form-grid/index.js.map +1 -1
  92. package/dist/form-item-group/index.js.map +1 -1
  93. package/dist/form-item-hidden-BtQvJEx7.js.map +1 -1
  94. package/dist/form-item-text-bxy5q8tw.js.map +1 -1
  95. package/dist/form-item-wrapper-Ci7-5IKi.js.map +1 -1
  96. package/dist/form-list-wrapper/index.d.ts +1 -1
  97. package/dist/form-list-wrapper-BTSuq_pI.js.map +1 -1
  98. package/dist/form-wrapper-DBDMN0mN.js.map +1 -1
  99. package/dist/full-screen/index.js.map +1 -1
  100. package/dist/gap-5v_ndf2v.js.map +1 -1
  101. package/dist/icon-wrapper-DE97bI14.js.map +1 -1
  102. package/dist/in-view-XeG6cIRO.js.map +1 -1
  103. package/dist/{index-DSPRsDId.js → index-C6y8q2MK.js} +2 -2
  104. package/dist/{index-DSPRsDId.js.map → index-C6y8q2MK.js.map} +1 -1
  105. package/dist/index.d.ts +11 -11
  106. package/dist/index.js +9 -9
  107. package/dist/input-search-wrapper/index.d.ts +1 -1
  108. package/dist/input-search-wrapper-dVFSFf3t.js.map +1 -1
  109. package/dist/input-text-area-wrapper/index.d.ts +1 -1
  110. package/dist/input-text-area-wrapper-CRi9fWSJ.js.map +1 -1
  111. package/dist/input-wrapper-hEJP2UIk.js.map +1 -1
  112. package/dist/label-value-layout-CbKTtTXJ.js.map +1 -1
  113. package/dist/{label-value-CcUdtnY1.js → label-value-o1pOZ2M6.js} +9 -1
  114. package/dist/label-value-o1pOZ2M6.js.map +1 -0
  115. package/dist/label-value-render/index.d.ts +3 -2
  116. package/dist/label-value-render/index.js +1 -1
  117. package/dist/layout-2woF_D6T.js.map +1 -1
  118. package/dist/local-loading/index.js.map +1 -1
  119. package/dist/mention-editor-zgAlQ8Cx.js.map +1 -1
  120. package/dist/mentions-950t_JC_.js.map +1 -1
  121. package/dist/modal-action-kQ60nGCG.js.map +1 -1
  122. package/dist/number-range-DUyTW0V1.js.map +1 -1
  123. package/dist/page-fixed-footer-BHBJsfnh.js.map +1 -1
  124. package/dist/pdf/index.js.map +1 -1
  125. package/dist/permission-D5AvZAS8.js.map +1 -1
  126. package/dist/pre-defined-class-name/index.js.map +1 -1
  127. package/dist/preview-Blwn4lHG.js.map +1 -1
  128. package/dist/preview-DvEwmG2h.js.map +1 -1
  129. package/dist/preview-image-BCBOv4h_.js.map +1 -1
  130. package/dist/radio-group-wrapper-Dip9OsdR.js.map +1 -1
  131. package/dist/relation-tree-BMas57Ck.js.map +1 -1
  132. package/dist/request-status-CTleOQtX.js.map +1 -1
  133. package/dist/resizable-drawer/index.js +3 -3
  134. package/dist/rich-text-editor-cqzUxX_s.js.map +1 -1
  135. package/dist/rich-text-viewer-FVi2i8nv.js.map +1 -1
  136. package/dist/rule-describe-BkkX7ukt.js.map +1 -1
  137. package/dist/search-BbKmdP-9.js.map +1 -1
  138. package/dist/search-menu/index.d.ts +1 -1
  139. package/dist/search-menu-N7nz0XoH.js.map +1 -1
  140. package/dist/selector-D0YxuDbf.js.map +1 -1
  141. package/dist/selector-fu9imgsR.js.map +1 -1
  142. package/dist/selector-wrapper/index.js +3 -3
  143. package/dist/{selector-wrapper-l88Z-JLK.js → selector-wrapper-B5PUm15M.js} +2 -2
  144. package/dist/{selector-wrapper-l88Z-JLK.js.map → selector-wrapper-B5PUm15M.js.map} +1 -1
  145. package/dist/selector-wrapper-search-BMyOMlZl.js.map +1 -1
  146. package/dist/selector-wrapper-simple-Vbt4cYNm.js.map +1 -1
  147. package/dist/simple-layout-mSolkIZ5.js.map +1 -1
  148. package/dist/sms-count-down-DyovY2s3.js.map +1 -1
  149. package/dist/span-Cjqb-rEm.js.map +1 -1
  150. package/dist/split-BHDOAdvw.js.map +1 -1
  151. package/dist/svg-CqFW3W-s.js.map +1 -1
  152. package/dist/switch-confirm-wrapper-CFFD0YJY.js.map +1 -1
  153. package/dist/switch-wrapper-CxGztawn.js.map +1 -1
  154. package/dist/symbol-DcM8okBP.js.map +1 -1
  155. package/dist/table-cell-render/index.d.ts +1 -1
  156. package/dist/table-scrollbar-yqz5FkCz.js.map +1 -1
  157. package/dist/tabs-cpy2bCpo.js.map +1 -1
  158. package/dist/tabs-wrapper-IxpPTX9z.js.map +1 -1
  159. package/dist/tag-group-B2oj-CYo.js.map +1 -1
  160. package/dist/tag-list-DrmpuEDJ.js.map +1 -1
  161. package/dist/tag-list-select-C8_X2SS-.js.map +1 -1
  162. package/dist/tag-wrapper-CJsZ8Jvy.js.map +1 -1
  163. package/dist/text-overflow-C42UFIyh.js.map +1 -1
  164. package/dist/time-Cv4_lLXu.js.map +1 -1
  165. package/dist/time-picker-wrapper-AQg6UCts.js.map +1 -1
  166. package/dist/time-range-picker-wrapper-C2Y0j-w1.js.map +1 -1
  167. package/dist/time-range-picker-wrapper-form-item-Cl0i2rZv.js.map +1 -1
  168. package/dist/tips-title-B6qZn_zc.js.map +1 -1
  169. package/dist/tips-wrapper-DvbgHMwl.js.map +1 -1
  170. package/dist/title-render-DGYUo6yV.js.map +1 -1
  171. package/dist/tree-modal/index.d.ts +1 -1
  172. package/dist/tree-modal/index.js.map +1 -1
  173. package/dist/tree-modal-selector/index.d.ts +1 -1
  174. package/dist/tree-wrapper/index.d.ts +1 -1
  175. package/dist/tree-wrapper/index.js.map +1 -1
  176. package/dist/upload-wrapper/index.d.ts +1 -1
  177. package/dist/upload-wrapper--IfkLPBP.js.map +1 -1
  178. package/dist/use-responsive-point-Bp3D3lZT.js.map +1 -1
  179. package/dist/x-mind-preview-Bx7UmHAu.js.map +1 -1
  180. package/package.json +1 -1
  181. package/dist/_commonjsHelpers-nJh5OW6J.js +0 -33
  182. package/dist/_commonjsHelpers-nJh5OW6J.js.map +0 -1
  183. package/dist/drag-Dxvr0bSy.js.map +0 -1
  184. package/dist/drag-modal-C3Azghu3.js.map +0 -1
  185. package/dist/editable-table-Ckl_Q1fk.js.map +0 -1
  186. package/dist/label-value-CcUdtnY1.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+
3
+ function getDefaultExportFromCjs (x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
+ }
6
+
7
+ export { getDefaultExportFromCjs as g };
8
+ //# sourceMappingURL=_commonjsHelpers-a3yINl_6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-a3yINl_6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"amount-fen-input-DI4mxLeO.js","sources":["@flatbiz/antd/src/amount-fen-input/amount-fen-input.tsx"],"sourcesContent":["import { InputNumber, type InputNumberProps } from 'antd';\nimport { flatbizPrice, isUndefinedOrNull } from '@flatbiz/utils';\n\nexport type AmountFenInputProps = Omit<InputNumberProps, 'defaultValue'> & {\n value?: number;\n onChange?: (value?: number) => void;\n};\n\nexport const AmountFenInput = (props: AmountFenInputProps) => {\n const value = isUndefinedOrNull(props.value)\n ? undefined\n : flatbizPrice.fen2yuan(props.value);\n return (\n <InputNumber\n {...props}\n style={{ width: '100%', ...props.style }}\n value={value}\n onChange={(value) => {\n props.onChange?.(\n isUndefinedOrNull(value)\n ? undefined\n : Number(flatbizPrice.yuan2fen(value as number))\n );\n }}\n />\n );\n};\n"],"names":["AmountFenInput","props","value","isUndefinedOrNull","undefined","flatbizPrice","fen2yuan","_jsx","InputNumber","_objectSpread","style","width","onChange","_props$onChange","call","Number","yuan2fen"],"mappings":";;;;;;;IAQaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;AAC5D,EAAA,IAAMC,KAAK,GAAGC,iBAAiB,CAACF,KAAK,CAACC,KAAK,CAAC,GACxCE,SAAS,GACTC,YAAY,CAACC,QAAQ,CAACL,KAAK,CAACC,KAAK,CAAC;EACtC,oBACEK,GAAA,CAACC,WAAW,EAAAC,cAAA,CAAAA,cAAA,KACNR,KAAK,CAAA,EAAA,EAAA,EAAA;AACTS,IAAAA,KAAK,EAAAD,cAAA,CAAA;AAAIE,MAAAA,KAAK,EAAE;KAAWV,EAAAA,KAAK,CAACS,KAAK,CAAG;AACzCR,IAAAA,KAAK,EAAEA,KAAM;AACbU,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGV,KAAK,EAAK;AAAA,MAAA,IAAAW,eAAA;AACnB,MAAA,CAAAA,eAAA,GAAAZ,KAAK,CAACW,QAAQ,MAAA,IAAA,IAAAC,eAAA,KAAA,MAAA,IAAdA,eAAA,CAAAC,IAAA,CAAAb,KAAK,EACHE,iBAAiB,CAACD,KAAK,CAAC,GACpBE,SAAS,GACTW,MAAM,CAACV,YAAY,CAACW,QAAQ,CAACd,KAAe,CAAC,CACnD,CAAC;AACH;AAAE,GAAA,CACH,CAAC;AAEN;;;;"}
1
+ {"version":3,"file":"amount-fen-input-DI4mxLeO.js","sources":["@flatbiz/antd/src/amount-fen-input/amount-fen-input.tsx"],"sourcesContent":["import { InputNumber, type InputNumberProps } from 'antd';\nimport { flatbizPrice, isUndefinedOrNull } from '@flatbiz/utils';\n\nexport type AmountFenInputProps = Omit<InputNumberProps, 'defaultValue'> & {\n value?: number;\n onChange?: (value?: number) => void;\n};\n\nexport const AmountFenInput = (props: AmountFenInputProps) => {\n const value = isUndefinedOrNull(props.value)\n ? undefined\n : flatbizPrice.fen2yuan(props.value);\n return (\n <InputNumber\n {...props}\n style={{ width: '100%', ...props.style }}\n value={value}\n onChange={(value) => {\n props.onChange?.(\n isUndefinedOrNull(value)\n ? undefined\n : Number(flatbizPrice.yuan2fen(value as number))\n );\n }}\n />\n );\n};\n"],"names":["AmountFenInput","props","value","isUndefinedOrNull","undefined","flatbizPrice","fen2yuan","_jsx","InputNumber","_objectSpread","style","width","onChange","_props$onChange","call","Number","yuan2fen"],"mappings":";;;;;;;IAQaA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B,EAAK;AAC5D,EAAA,IAAMC,KAAK,GAAGC,iBAAiB,CAACF,KAAK,CAACC,KAAK,CAAC,GACxCE,SAAS,GACTC,YAAY,CAACC,QAAQ,CAACL,KAAK,CAACC,KAAK,CAAC;EACtC,oBACEK,GAAA,CAACC,WAAW,EAAAC,cAAA,CAAAA,cAAA,KACNR,KAAK,CAAA,EAAA,EAAA,EAAA;AACTS,IAAAA,KAAK,EAAAD,cAAA,CAAA;AAAIE,MAAAA,KAAK,EAAE;KAAM,EAAKV,KAAK,CAACS,KAAK,CAAG;AACzCR,IAAAA,KAAK,EAAEA,KAAM;AACbU,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGV,KAAK,EAAK;AAAA,MAAA,IAAAW,eAAA;AACnB,MAAA,CAAAA,eAAA,GAAAZ,KAAK,CAACW,QAAQ,MAAA,IAAA,IAAAC,eAAA,KAAA,MAAA,IAAdA,eAAA,CAAAC,IAAA,CAAAb,KAAK,EACHE,iBAAiB,CAACD,KAAK,CAAC,GACpBE,SAAS,GACTW,MAAM,CAACV,YAAY,CAACW,QAAQ,CAACd,KAAe,CAAC,CACnD,CAAC;AACH,IAAA;AAAE,GAAA,CACH,CAAC;AAEN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-steps-CqqmN9Pf.js","sources":["@flatbiz/antd/src/anchor-steps/anchor-steps.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useRef, useState } from 'react';\nimport { Anchor, Steps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { Gap } from '../gap/gap.jsx';\nimport './style.less';\n\nfunction isElement(node: Element) {\n const ELEMENT_NODE_TYPE = 1;\n return (\n node.tagName !== 'HTML' &&\n node.tagName !== 'BODY' &&\n node.nodeType === ELEMENT_NODE_TYPE\n );\n}\n\nfunction getParentScroll(el: HTMLElement) {\n let node = el;\n\n while (node && isElement(node)) {\n const { overflowY } = window.getComputedStyle(node);\n if (/scroll|auto/i.test(overflowY)) {\n return node;\n }\n node = node.parentNode as HTMLElement;\n }\n return undefined;\n}\n\nexport type AnchorStepsProps = {\n steps: {\n id: string;\n title: string;\n content: ReactElement;\n }[];\n className?: string;\n};\n\n/**\n * 锚点步骤组件\n * @param props\n * @returns\n */\nexport const AnchorSteps = (props: AnchorStepsProps) => {\n const [activeKey, setActiveKey] = useState<string>();\n const rootNode = useRef<HTMLDivElement>();\n\n const onChange = (link: string) => {\n if (link) {\n setActiveKey(link.replace('#vas-', ''));\n }\n };\n\n const getContainer = () => {\n return (\n getParentScroll(rootNode.current as HTMLElement) || (window as Window)\n );\n };\n const refHandle = (node) => {\n if (node) {\n rootNode.current = node;\n }\n };\n\n return (\n <div\n className={classNames('v-anchor-steps', props.className)}\n ref={refHandle}\n >\n <Anchor\n onChange={onChange}\n className=\"v-fixed-anchor\"\n onClick={(e) => {\n e.preventDefault();\n }}\n affix={false}\n getContainer={getContainer}\n >\n <Steps\n size=\"small\"\n direction=\"vertical\"\n current={props.steps.findIndex((item) => item.id === activeKey)}\n items={props.steps.map((item) => {\n return {\n title: (\n <Anchor.Link href={`#vas-${item.id}`} title={item.title} />\n ),\n description: <Gap height={20} />,\n status: item.id === activeKey ? 'process' : 'wait',\n };\n })}\n />\n </Anchor>\n {props.steps.map((item) => {\n return (\n <div id={`vas-${item.id}`} key={item.id}>\n {item.content}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["isElement","node","ELEMENT_NODE_TYPE","tagName","nodeType","getParentScroll","el","_window$getComputedSt","window","getComputedStyle","overflowY","test","parentNode","undefined","AnchorSteps","props","_useState","useState","_useState2","_slicedToArray","activeKey","setActiveKey","rootNode","useRef","onChange","link","replace","getContainer","current","refHandle","_jsxs","className","_classNames","ref","children","_jsx","Anchor","onClick","e","preventDefault","affix","Steps","size","direction","steps","findIndex","item","id","items","map","title","Link","href","concat","description","Gap","height","status","content"],"mappings":"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"}
1
+ {"version":3,"file":"anchor-steps-CqqmN9Pf.js","sources":["@flatbiz/antd/src/anchor-steps/anchor-steps.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useRef, useState } from 'react';\nimport { Anchor, Steps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { Gap } from '../gap/gap.jsx';\nimport './style.less';\n\nfunction isElement(node: Element) {\n const ELEMENT_NODE_TYPE = 1;\n return (\n node.tagName !== 'HTML' &&\n node.tagName !== 'BODY' &&\n node.nodeType === ELEMENT_NODE_TYPE\n );\n}\n\nfunction getParentScroll(el: HTMLElement) {\n let node = el;\n\n while (node && isElement(node)) {\n const { overflowY } = window.getComputedStyle(node);\n if (/scroll|auto/i.test(overflowY)) {\n return node;\n }\n node = node.parentNode as HTMLElement;\n }\n return undefined;\n}\n\nexport type AnchorStepsProps = {\n steps: {\n id: string;\n title: string;\n content: ReactElement;\n }[];\n className?: string;\n};\n\n/**\n * 锚点步骤组件\n * @param props\n * @returns\n */\nexport const AnchorSteps = (props: AnchorStepsProps) => {\n const [activeKey, setActiveKey] = useState<string>();\n const rootNode = useRef<HTMLDivElement>();\n\n const onChange = (link: string) => {\n if (link) {\n setActiveKey(link.replace('#vas-', ''));\n }\n };\n\n const getContainer = () => {\n return (\n getParentScroll(rootNode.current as HTMLElement) || (window as Window)\n );\n };\n const refHandle = (node) => {\n if (node) {\n rootNode.current = node;\n }\n };\n\n return (\n <div\n className={classNames('v-anchor-steps', props.className)}\n ref={refHandle}\n >\n <Anchor\n onChange={onChange}\n className=\"v-fixed-anchor\"\n onClick={(e) => {\n e.preventDefault();\n }}\n affix={false}\n getContainer={getContainer}\n >\n <Steps\n size=\"small\"\n direction=\"vertical\"\n current={props.steps.findIndex((item) => item.id === activeKey)}\n items={props.steps.map((item) => {\n return {\n title: (\n <Anchor.Link href={`#vas-${item.id}`} title={item.title} />\n ),\n description: <Gap height={20} />,\n status: item.id === activeKey ? 'process' : 'wait',\n };\n })}\n />\n </Anchor>\n {props.steps.map((item) => {\n return (\n <div id={`vas-${item.id}`} key={item.id}>\n {item.content}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["isElement","node","ELEMENT_NODE_TYPE","tagName","nodeType","getParentScroll","el","_window$getComputedSt","window","getComputedStyle","overflowY","test","parentNode","undefined","AnchorSteps","props","_useState","useState","_useState2","_slicedToArray","activeKey","setActiveKey","rootNode","useRef","onChange","link","replace","getContainer","current","refHandle","_jsxs","className","_classNames","ref","children","_jsx","Anchor","onClick","e","preventDefault","affix","Steps","size","direction","steps","findIndex","item","id","items","map","title","Link","href","concat","description","Gap","height","status","content"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ConfigProviderProps } from 'antd/es/config-provider';
1
+ import { ConfigProviderProps } from 'antd/lib/config-provider/index.js';
2
2
  import { ReactNode } from 'react';
3
3
 
4
4
  export type TLocale = "en" | "zh-cn";
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-DtZAiLNG.js","sources":["@flatbiz/antd/src/bootstrap/bootstrap.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { App, theme } from 'antd';\nimport { get } from '@dimjs/utils';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport type { ConfigProviderWrapperProps } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { FbaApp } from '../fba-app/fba-app.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport './style.less';\n\nexport type BootstrapProps = {\n /** 是否紧凑模式 */\n compact?: boolean;\n /** 是否drak模式 */\n dark?: boolean;\n children: ReactNode;\n configProviderProps?: ConfigProviderWrapperProps;\n /** @default zhCN */\n locale?: 'en' | 'zh-cn';\n /**\n * 背景颜色配置\n * ```\n * 默认值:\n * dark: { bgColor: '#1b1a1a', blockBgColor: '#000' }\n * light: { bgColor: '#f9f9f9', blockBgColor: '#FFF' }\n * ```\n */\n bgColorConfig?: {\n dark?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n light?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n };\n};\n/**\n * 如果当前项目入口不使用@flatbiz/pro-layout,必须使用 Bootstrap 组件包装\n * ```\n * Bootstrap 内部\n * 1. 封装 antd App组件\n * 2. 封装 @flatbiz/antd FbaApp组件\n * 3. 适配 light/dark模式\n * 4. 封装 antd ConfigProvider 可配置主题\n * ```\n */\nexport const Bootstrap = (props: BootstrapProps) => {\n useEffect(() => {\n const bodyStyle = document.body.style.cssText;\n const keyValuePairs = {};\n if (bodyStyle) {\n const regex = /(.+?):\\s*(.+?);/g;\n\n let match;\n while ((match = regex.exec(bodyStyle))) {\n const key = match[1].trim();\n const value = match[2];\n keyValuePairs[key] = value;\n }\n }\n if (props.dark) {\n keyValuePairs['--bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.dark.bgColor',\n '#1b1a1a'\n );\n keyValuePairs['--block-bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.dark.blockBgColor',\n '#000'\n );\n } else {\n keyValuePairs['--bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.light.bgColor',\n '#f9f9f9'\n );\n keyValuePairs['--block-bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.light.blockBgColor',\n '#FFF'\n );\n }\n let varStyleText = '';\n Object.keys(keyValuePairs).forEach((key) => {\n if (keyValuePairs[key]) {\n varStyleText = varStyleText + `${key}:${keyValuePairs[key]};`;\n }\n });\n document.body.style.cssText = varStyleText;\n\n if (props.dark) {\n document.body.classList.add('dark-theme');\n } else {\n document.body.classList.add('light-theme');\n }\n if (props.compact) {\n document.body.classList.add('compact-theme');\n }\n }, [props.bgColorConfig, props.dark]);\n\n const innerTheme = fbaHooks.useThemeToken();\n\n const algorithm = props.configProviderProps?.theme?.algorithm;\n\n let algorithmArray = toArray<any>(algorithm);\n\n algorithmArray = [\n ...algorithmArray,\n props.dark ? theme.darkAlgorithm : null,\n props.compact ? theme.compactAlgorithm : null,\n ].filter(Boolean);\n\n return (\n <ConfigProviderWrapper\n locale={props.locale}\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...props.configProviderProps}\n theme={{\n ...props.configProviderProps?.theme,\n algorithm: algorithmArray,\n }}\n >\n <App\n style={{ '--color-primary': innerTheme.colorPrimary } as CSSProperties}\n className=\"bootstrap-app\"\n >\n <FbaApp>{props.children}</FbaApp>\n </App>\n </ConfigProviderWrapper>\n );\n};\n"],"names":["Bootstrap","props","_props$configProvider","_props$configProvider2","useEffect","bodyStyle","document","body","style","cssText","keyValuePairs","regex","match","exec","key","trim","value","dark","_get","varStyleText","Object","keys","forEach","concat","classList","add","compact","bgColorConfig","innerTheme","fbaHooks","useThemeToken","algorithm","configProviderProps","theme","algorithmArray","toArray","_toConsumableArray","darkAlgorithm","compactAlgorithm","filter","Boolean","_jsx","ConfigProviderWrapper","_objectSpread","locale","componentSize","space","size","children","App","colorPrimary","className","FbaApp"],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap-DtZAiLNG.js","sources":["@flatbiz/antd/src/bootstrap/bootstrap.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { App, theme } from 'antd';\nimport { get } from '@dimjs/utils';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { toArray } from '@flatbiz/utils';\nimport type { ConfigProviderWrapperProps } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { FbaApp } from '../fba-app/fba-app.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport './style.less';\n\nexport type BootstrapProps = {\n /** 是否紧凑模式 */\n compact?: boolean;\n /** 是否drak模式 */\n dark?: boolean;\n children: ReactNode;\n configProviderProps?: ConfigProviderWrapperProps;\n /** @default zhCN */\n locale?: 'en' | 'zh-cn';\n /**\n * 背景颜色配置\n * ```\n * 默认值:\n * dark: { bgColor: '#1b1a1a', blockBgColor: '#000' }\n * light: { bgColor: '#f9f9f9', blockBgColor: '#FFF' }\n * ```\n */\n bgColorConfig?: {\n dark?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n light?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n };\n};\n/**\n * 如果当前项目入口不使用@flatbiz/pro-layout,必须使用 Bootstrap 组件包装\n * ```\n * Bootstrap 内部\n * 1. 封装 antd App组件\n * 2. 封装 @flatbiz/antd FbaApp组件\n * 3. 适配 light/dark模式\n * 4. 封装 antd ConfigProvider 可配置主题\n * ```\n */\nexport const Bootstrap = (props: BootstrapProps) => {\n useEffect(() => {\n const bodyStyle = document.body.style.cssText;\n const keyValuePairs = {};\n if (bodyStyle) {\n const regex = /(.+?):\\s*(.+?);/g;\n\n let match;\n while ((match = regex.exec(bodyStyle))) {\n const key = match[1].trim();\n const value = match[2];\n keyValuePairs[key] = value;\n }\n }\n if (props.dark) {\n keyValuePairs['--bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.dark.bgColor',\n '#1b1a1a'\n );\n keyValuePairs['--block-bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.dark.blockBgColor',\n '#000'\n );\n } else {\n keyValuePairs['--bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.light.bgColor',\n '#f9f9f9'\n );\n keyValuePairs['--block-bg-color'] = get<TPlainObject, string>(\n props,\n 'bgColorConfig.light.blockBgColor',\n '#FFF'\n );\n }\n let varStyleText = '';\n Object.keys(keyValuePairs).forEach((key) => {\n if (keyValuePairs[key]) {\n varStyleText = varStyleText + `${key}:${keyValuePairs[key]};`;\n }\n });\n document.body.style.cssText = varStyleText;\n\n if (props.dark) {\n document.body.classList.add('dark-theme');\n } else {\n document.body.classList.add('light-theme');\n }\n if (props.compact) {\n document.body.classList.add('compact-theme');\n }\n }, [props.bgColorConfig, props.dark]);\n\n const innerTheme = fbaHooks.useThemeToken();\n\n const algorithm = props.configProviderProps?.theme?.algorithm;\n\n let algorithmArray = toArray<any>(algorithm);\n\n algorithmArray = [\n ...algorithmArray,\n props.dark ? theme.darkAlgorithm : null,\n props.compact ? theme.compactAlgorithm : null,\n ].filter(Boolean);\n\n return (\n <ConfigProviderWrapper\n locale={props.locale}\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...props.configProviderProps}\n theme={{\n ...props.configProviderProps?.theme,\n algorithm: algorithmArray,\n }}\n >\n <App\n style={{ '--color-primary': innerTheme.colorPrimary } as CSSProperties}\n className=\"bootstrap-app\"\n >\n <FbaApp>{props.children}</FbaApp>\n </App>\n </ConfigProviderWrapper>\n );\n};\n"],"names":["Bootstrap","props","_props$configProvider","_props$configProvider2","useEffect","bodyStyle","document","body","style","cssText","keyValuePairs","regex","match","exec","key","trim","value","dark","_get","varStyleText","Object","keys","forEach","concat","classList","add","compact","bgColorConfig","innerTheme","fbaHooks","useThemeToken","algorithm","configProviderProps","theme","algorithmArray","toArray","_toConsumableArray","darkAlgorithm","compactAlgorithm","filter","Boolean","_jsx","ConfigProviderWrapper","_objectSpread","locale","componentSize","space","size","children","App","colorPrimary","className","FbaApp"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.ts","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/utils.ts","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant.js';\nimport { type TBoxBreakpoint } from './type.js';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\nexport const BoxGridProviderCtx =\n createContext<BoxGridProviderContextType>(defaultCtx);\n","import {\n Children,\n cloneElement,\n type FC,\n type ReactElement,\n useContext,\n useMemo,\n} from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { BoxGridProviderCtx } from './ctx.js';\nimport { type ICommonReact } from './type.js';\n\nexport type BoxColProps = {\n /**\n * 栅格占位格数\n * span 优先级最高:配置了span后,其他的响应式配置将失效;\n * 范围 0 ~ 24\n * 为 0 相当于隐藏\n * 为 24 相当于独占一行\n */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /**\n * 是否移除 外部包装div\n * ```\n * 1. 如果children 为数组,则此配置不生效\n * 2. 如果移除,会在children中添加style和className(所以children组件必须要有style、className属性)\n * ```\n */\n removeWrapper?: boolean;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style, removeWrapper } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } =\n useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return (\n props.span ||\n props[boxBreakpoint || 'lg'] ||\n defaultGrid?.[boxBreakpoint || 'lg'] ||\n 8\n );\n }, [props, boxBreakpoint, defaultGrid]);\n\n const styles = {\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n };\n\n if (removeWrapper && Children.count(children) === 1) {\n const innerStyle = children?.['props']?.style || {};\n const innerClassName = children?.['props']?.className || {};\n return cloneElement(children as ReactElement, {\n ...children?.['props'],\n style: { ...styles, ...innerStyle },\n className: classNames('box-grad-col', innerClassName, className),\n });\n }\n\n return (\n <div className={classNames(className, 'box-grad-col')} style={styles}>\n {children}\n </div>\n );\n};\n\nCol['domTypeName'] = 'BoxGridCol';\n","import { useMemo } from 'react';\nimport { useSize } from 'ahooks';\nimport { isNumber } from '@dimjs/lang';\nimport { DefaultGutter } from './constant.js';\nimport { defaultCtx } from './ctx.js';\nimport { type GutterParams, type TBoxBreakpoint } from './type.js';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n /**\n * @deprecated\n * 使用 haveWidth 替代\n */\n isInit: !!width,\n /** width为0,或者不存在 */\n haveWidth: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (\n gutter: GutterParams = DefaultGutter,\n boxBreakpoint: TBoxBreakpoint\n) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap)\n ? horizontalGap\n : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import type { FC } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport {\n alignPropsMap,\n justifyPropsMap,\n PresetDefaultGrid,\n} from './constant.js';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx.js';\nimport { useBoxBreakpoint, useGutter } from './hooks.js';\nimport type { TBoxBreakpoint } from './type.js';\nimport { type GutterParams, type ICommonReact } from './type.js';\n\nexport interface BoxRowProps {\n /**\n * 在不同响应尺寸下的元素占位格数\n * 应用到所有Col子元素上\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?:\n | 'start'\n | 'end'\n | 'center'\n | 'space-around'\n | 'space-between'\n | 'space-evenly';\n /** 尺寸变化回调 */\n onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const {\n defaultGrid = PresetDefaultGrid,\n children,\n className,\n style,\n gutter,\n align,\n justify,\n onBoxBreakpointChange,\n } = props;\n const comRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint, haveWidth } = useBoxBreakpoint(comRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n\n useEffect(() => {\n onBoxBreakpointChange?.(boxBreakpoint);\n }, [boxBreakpoint]);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div\n className={classNames('box-grad-root', className)}\n ref={comRef}\n style={style}\n >\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n /**\n * fix: boxBreakpoint多次变化,闪一下的问题\n * 子元素拿不到宽度,boxBreakpoint 会快速变化,导致元素闪烁\n * 场景:\n * 1. 使用 Tabs 组件时,任意父级元素disabled,子元素拿不到宽度\n * 2. 初始渲染,拿不到宽度\n */\n opacity: haveWidth ? 1 : 0,\n }}\n >\n {children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { type TBoxBreakpoint } from './type.js';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (\n minSize: number\n): Record<TBoxBreakpoint, number> => {\n const getSpan = (threshold: number) => {\n const result = Math.ceil((minSize * 24) / threshold);\n return [1, 2, 3, 4, 6, 8, 12, 24].find((item) => item >= result) || 24;\n };\n\n return {\n xxl: getSpan(1600),\n xl: getSpan(1200),\n lg: getSpan(992),\n md: getSpan(768),\n sm: getSpan(576),\n xs: getSpan(200),\n };\n};\n","import { Col } from './col.jsx';\nimport { Row } from './row.jsx';\nimport { getGridMapByRange } from './utils.js';\nimport './index.less';\n\nexport { useBoxBreakpoint } from './hooks.js';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,\n * 默认值:\n * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * xs={24} sm={12} md={12} lg={8} xl={8} xxl={6}\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","removeWrapper","_useContext","useContext","span","useMemo","styles","_objectSpread","flex","concat","maxWidth","padding","Children","count","_children$props","_children$props2","innerStyle","innerClassName","cloneElement","_classNames","_jsx","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","useGutter","gutter","arguments","length","undefined","getCommonGutter","Array","isArray","_gutter","_slicedToArray","h","v","_isNumber","Row","_props$defaultGrid","align","justify","onBoxBreakpointChange","comRef","useRef","_useBoxBreakpoint","_useGutter","useEffect","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","opacity","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.ts","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/utils.ts","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant.js';\nimport { type TBoxBreakpoint } from './type.js';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\nexport const BoxGridProviderCtx =\n createContext<BoxGridProviderContextType>(defaultCtx);\n","import {\n Children,\n cloneElement,\n type FC,\n type ReactElement,\n useContext,\n useMemo,\n} from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { BoxGridProviderCtx } from './ctx.js';\nimport { type ICommonReact } from './type.js';\n\nexport type BoxColProps = {\n /**\n * 栅格占位格数\n * span 优先级最高:配置了span后,其他的响应式配置将失效;\n * 范围 0 ~ 24\n * 为 0 相当于隐藏\n * 为 24 相当于独占一行\n */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n /**\n * 是否移除 外部包装div\n * ```\n * 1. 如果children 为数组,则此配置不生效\n * 2. 如果移除,会在children中添加style和className(所以children组件必须要有style、className属性)\n * ```\n */\n removeWrapper?: boolean;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style, removeWrapper } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } =\n useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return (\n props.span ||\n props[boxBreakpoint || 'lg'] ||\n defaultGrid?.[boxBreakpoint || 'lg'] ||\n 8\n );\n }, [props, boxBreakpoint, defaultGrid]);\n\n const styles = {\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n };\n\n if (removeWrapper && Children.count(children) === 1) {\n const innerStyle = children?.['props']?.style || {};\n const innerClassName = children?.['props']?.className || {};\n return cloneElement(children as ReactElement, {\n ...children?.['props'],\n style: { ...styles, ...innerStyle },\n className: classNames('box-grad-col', innerClassName, className),\n });\n }\n\n return (\n <div className={classNames(className, 'box-grad-col')} style={styles}>\n {children}\n </div>\n );\n};\n\nCol['domTypeName'] = 'BoxGridCol';\n","import { useMemo } from 'react';\nimport { useSize } from 'ahooks';\nimport { isNumber } from '@dimjs/lang';\nimport { DefaultGutter } from './constant.js';\nimport { defaultCtx } from './ctx.js';\nimport { type GutterParams, type TBoxBreakpoint } from './type.js';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n /**\n * @deprecated\n * 使用 haveWidth 替代\n */\n isInit: !!width,\n /** width为0,或者不存在 */\n haveWidth: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (\n gutter: GutterParams = DefaultGutter,\n boxBreakpoint: TBoxBreakpoint\n) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap)\n ? horizontalGap\n : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import type { FC } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport {\n alignPropsMap,\n justifyPropsMap,\n PresetDefaultGrid,\n} from './constant.js';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx.js';\nimport { useBoxBreakpoint, useGutter } from './hooks.js';\nimport type { TBoxBreakpoint } from './type.js';\nimport { type GutterParams, type ICommonReact } from './type.js';\n\nexport interface BoxRowProps {\n /**\n * 在不同响应尺寸下的元素占位格数\n * 应用到所有Col子元素上\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?:\n | 'start'\n | 'end'\n | 'center'\n | 'space-around'\n | 'space-between'\n | 'space-evenly';\n /** 尺寸变化回调 */\n onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const {\n defaultGrid = PresetDefaultGrid,\n children,\n className,\n style,\n gutter,\n align,\n justify,\n onBoxBreakpointChange,\n } = props;\n const comRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint, haveWidth } = useBoxBreakpoint(comRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n\n useEffect(() => {\n onBoxBreakpointChange?.(boxBreakpoint);\n }, [boxBreakpoint]);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div\n className={classNames('box-grad-root', className)}\n ref={comRef}\n style={style}\n >\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n /**\n * fix: boxBreakpoint多次变化,闪一下的问题\n * 子元素拿不到宽度,boxBreakpoint 会快速变化,导致元素闪烁\n * 场景:\n * 1. 使用 Tabs 组件时,任意父级元素disabled,子元素拿不到宽度\n * 2. 初始渲染,拿不到宽度\n */\n opacity: haveWidth ? 1 : 0,\n }}\n >\n {children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { type TBoxBreakpoint } from './type.js';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (\n minSize: number\n): Record<TBoxBreakpoint, number> => {\n const getSpan = (threshold: number) => {\n const result = Math.ceil((minSize * 24) / threshold);\n return [1, 2, 3, 4, 6, 8, 12, 24].find((item) => item >= result) || 24;\n };\n\n return {\n xxl: getSpan(1600),\n xl: getSpan(1200),\n lg: getSpan(992),\n md: getSpan(768),\n sm: getSpan(576),\n xs: getSpan(200),\n };\n};\n","import { Col } from './col.jsx';\nimport { Row } from './row.jsx';\nimport { getGridMapByRange } from './utils.js';\nimport './index.less';\n\nexport { useBoxBreakpoint } from './hooks.js';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,\n * 默认值:\n * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * xs={24} sm={12} md={12} lg={8} xl={8} xxl={6}\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","removeWrapper","_useContext","useContext","span","useMemo","styles","_objectSpread","flex","concat","maxWidth","padding","Children","count","_children$props","_children$props2","innerStyle","innerClassName","cloneElement","_classNames","_jsx","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","useGutter","gutter","arguments","length","undefined","getCommonGutter","Array","isArray","_gutter","_slicedToArray","h","v","_isNumber","Row","_props$defaultGrid","align","justify","onBoxBreakpointChange","comRef","useRef","_useBoxBreakpoint","_useGutter","useEffect","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","opacity","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
2
2
  import { ButtonProps, DropdownProps, FormInstance, ModalProps, PopconfirmProps, SpaceProps } from 'antd';
3
- import { ConfigProviderProps } from 'antd/es/config-provider';
3
+ import { ConfigProviderProps } from 'antd/lib/config-provider/index.js';
4
4
  import { CSSProperties, FC, ReactElement, ReactNode } from 'react';
5
5
 
6
6
  export type ButtonWrapperProps = Omit<ButtonProps, "onClick" | "color"> & {
@@ -1 +1 @@
1
- {"version":3,"file":"button-operate-BIWXX7to.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<\n PopconfirmProps,\n 'placement' | 'okText' | 'cancelText' | 'trigger'\n >;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n /** 是否显示按钮,优先级高于 hidden */\n show?: boolean;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n /**\n * 按钮布局尺寸\n * ```\n * 1. 设置为small后,gap、split 配置失效\n * ```\n */\n size?: 'small' | 'default';\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n }\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission=\"add\"\n * 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏\n *\n *\n * flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n if (item.props?.['v-hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n if (Object.prototype.hasOwnProperty.call(item, 'show')) {\n return item['show'];\n } else if (Object.prototype.hasOwnProperty.call(item, 'hidden')) {\n return !item['hidden'];\n }\n return true;\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const spaceGap = useMemo(() => {\n if (props.size === 'small') return 0;\n return props.gap === undefined ? 10 : props.gap;\n }, [props.gap, props.size]);\n\n const spaceSize = useMemo(() => {\n if (props.size === 'small') return 0;\n return !props.split ? spaceGap : 0;\n }, [spaceGap, props.size, props.split]);\n\n const spaceSplit = useMemo(() => {\n if (props.size === 'small') return null;\n return props.split ? <Divider type=\"vertical\" /> : null;\n }, [props.size, props.split]);\n\n return (\n <div\n className={classNames('table-operate', props.className)}\n style={props.style}\n >\n <Space\n split={spaceSplit}\n size={spaceSize}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n // 多余字段渲染到react dom上,出现警告\n isFold: _isFold,\n show: _show,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n color={color}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper\n menuList={foldList}\n placement=\"bottom\"\n {...props.dropdownMenuProps}\n >\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","_item$onClick","result","onClick","call","_isPromise","finally","operateList","filter","_item$props","_item$props2","_item$props3","permission","_isString","fbaUtils","hasPermission","_isPlainObject","Object","prototype","hasOwnProperty","viewList","useMemo","foldList","filterList","forEach","target","_objectSpread","isFold","push","spaceGap","size","gap","undefined","spaceSize","split","spaceSplit","Divider","type","className","_classNames","style","_jsxs","Space","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","color","show","otherProps","_objectWithoutProperties","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"button-operate-BIWXX7to.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<\n PopconfirmProps,\n 'placement' | 'okText' | 'cancelText' | 'trigger'\n >;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n /** 是否显示按钮,优先级高于 hidden */\n show?: boolean;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n /**\n * 按钮布局尺寸\n * ```\n * 1. 设置为small后,gap、split 配置失效\n * ```\n */\n size?: 'small' | 'default';\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n }\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission=\"add\"\n * 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏\n *\n *\n * flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n if (item.props?.['v-hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n if (Object.prototype.hasOwnProperty.call(item, 'show')) {\n return item['show'];\n } else if (Object.prototype.hasOwnProperty.call(item, 'hidden')) {\n return !item['hidden'];\n }\n return true;\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const spaceGap = useMemo(() => {\n if (props.size === 'small') return 0;\n return props.gap === undefined ? 10 : props.gap;\n }, [props.gap, props.size]);\n\n const spaceSize = useMemo(() => {\n if (props.size === 'small') return 0;\n return !props.split ? spaceGap : 0;\n }, [spaceGap, props.size, props.split]);\n\n const spaceSplit = useMemo(() => {\n if (props.size === 'small') return null;\n return props.split ? <Divider type=\"vertical\" /> : null;\n }, [props.size, props.split]);\n\n return (\n <div\n className={classNames('table-operate', props.className)}\n style={props.style}\n >\n <Space\n split={spaceSplit}\n size={spaceSize}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n color,\n tipsType,\n type,\n // 多余字段渲染到react dom上,出现警告\n isFold: _isFold,\n show: _show,\n ...otherProps\n } = item;\n const typeFt = type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={typeFt}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n color={color}\n type={typeFt}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper\n menuList={foldList}\n placement=\"bottom\"\n {...props.dropdownMenuProps}\n >\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","_item$onClick","result","onClick","call","_isPromise","finally","operateList","filter","_item$props","_item$props2","_item$props3","permission","_isString","fbaUtils","hasPermission","_isPlainObject","Object","prototype","hasOwnProperty","viewList","useMemo","foldList","filterList","forEach","target","_objectSpread","isFold","push","spaceGap","size","gap","undefined","spaceSize","split","spaceSplit","Divider","type","className","_classNames","style","_jsxs","Space","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","color","show","otherProps","_objectWithoutProperties","_excluded","typeFt","disabled","danger","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"button-wrapper-DezyMqPx.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { ButtonProps } from 'antd';\nimport { Button } from 'antd';\nimport { type OverrideToken } from 'antd/es/theme/interface';\nimport { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick' | 'color'> & {\n /** 当返回 Promise 时,按钮自动loading */\n onClick?: (e: React.MouseEvent) => Promise<TAny> | void;\n /** 重复点击间隙,单位毫秒 默认值:500 */\n debounceDuration?: number;\n /** 基于GLOBAL中elemAclLimits按钮权限列表,控制按钮显示、隐藏 */\n permission?: string;\n /** 是否隐藏按钮 */\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n /** 移除按钮内边距,一般用于 type=link 类型下 */\n removeGap?: boolean;\n color?: string;\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自动loading效果\n * 2. 内置 防抖 效果(在第一触发函数后,在指定时间内再次触发无效,即两次触发的时间间隙大于指定时间)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const {\n loadingPosition,\n color,\n debounceDuration,\n permission,\n hidden,\n loading,\n removeGap,\n ...otherProps\n } = props;\n const loadingNew = loading as boolean | undefined;\n const [innerLoading, setLoading] = useState(false);\n const loadingPositionNew =\n loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration)\n ? 500\n : debounceDuration;\n const className = classNames(otherProps.className, {\n 'button-remove-gap': removeGap,\n });\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loadingNew || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button\n {...otherProps}\n onClick={onClick}\n loading={innerLoading}\n className={className}\n >\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} className={className}>\n {innerLoading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? (\n <div style={{ opacity: 0.5 }}>{props.children}</div>\n ) : (\n props.children\n )}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","loading","removeGap","otherProps","_objectWithoutProperties","_excluded","loadingNew","_useState","useState","_useState2","_slicedToArray","innerLoading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","className","_classNames","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_objectSpread","_jsxs","_LoadingOutlined","style","opacity"],"mappings":"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"}
1
+ {"version":3,"file":"button-wrapper-DezyMqPx.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport type { ButtonProps } from 'antd';\nimport { Button } from 'antd';\nimport type { OverrideToken } from 'antd/lib/theme/interface/index.js';\nimport { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper/config-provider-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick' | 'color'> & {\n /** 当返回 Promise 时,按钮自动loading */\n onClick?: (e: React.MouseEvent) => Promise<TAny> | void;\n /** 重复点击间隙,单位毫秒 默认值:500 */\n debounceDuration?: number;\n /** 基于GLOBAL中elemAclLimits按钮权限列表,控制按钮显示、隐藏 */\n permission?: string;\n /** 是否隐藏按钮 */\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n /** 移除按钮内边距,一般用于 type=link 类型下 */\n removeGap?: boolean;\n color?: string;\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自动loading效果\n * 2. 内置 防抖 效果(在第一触发函数后,在指定时间内再次触发无效,即两次触发的时间间隙大于指定时间)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const {\n loadingPosition,\n color,\n debounceDuration,\n permission,\n hidden,\n loading,\n removeGap,\n ...otherProps\n } = props;\n const loadingNew = loading as boolean | undefined;\n const [innerLoading, setLoading] = useState(false);\n const loadingPositionNew =\n loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration)\n ? 500\n : debounceDuration;\n const className = classNames(otherProps.className, {\n 'button-remove-gap': removeGap,\n });\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loadingNew || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button\n {...otherProps}\n onClick={onClick}\n loading={innerLoading}\n className={className}\n >\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} className={className}>\n {innerLoading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? (\n <div style={{ opacity: 0.5 }}>{props.children}</div>\n ) : (\n props.children\n )}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","loading","removeGap","otherProps","_objectWithoutProperties","_excluded","loadingNew","_useState","useState","_useState2","_slicedToArray","innerLoading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","className","_classNames","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_objectSpread","_jsxs","_LoadingOutlined","style","opacity"],"mappings":";;;;;;;;;;;;;;;;AAgCA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAKtB,EAAK;EACJ,IAAIA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAE;IAClC,IAAIC,WAAoC,GAAG,EAAE;AAC7C,IAAA,IAAIH,KAAK,CAACI,IAAI,KAAK,MAAM,EAAE;AACzBD,MAAAA,WAAW,GAAG;QACZE,SAAS,EAAEL,KAAK,CAACC,KAAK;QACtBK,eAAe,EAAEN,KAAK,CAACC,KAAK;QAC5BM,cAAc,EAAEP,KAAK,CAACC;OACvB;AACH,IAAA,CAAC,MAAM,IAAID,KAAK,CAACI,IAAI,KAAK,SAAS,EAAE;AACnCD,MAAAA,WAAW,GAAG;QACZK,YAAY,EAAER,KAAK,CAACC,KAAK;QACzBQ,iBAAiB,EAAET,KAAK,CAACC,KAAK;QAC9BS,kBAAkB,EAAEV,KAAK,CAACC;OAC3B;AACH,IAAA,CAAC,MAAM;AACLE,MAAAA,WAAW,GAAG;QACZM,iBAAiB,EAAET,KAAK,CAACC,KAAK;QAC9BS,kBAAkB,EAAEV,KAAK,CAACC,KAAK;QAC/BU,SAAS,EAAEX,KAAK,CAACC,KAAK;QACtBW,WAAW,EAAEZ,KAAK,CAACC;OACpB;AACH,IAAA;IAEA,oBACEY,GAAA,CAACC,qBAAqB,EAAA;AACpBC,MAAAA,KAAK,EAAE;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,MAAM,EAAEd;AACV;OACA;MAAAe,QAAA,EAEDlB,KAAK,CAACkB;AAAQ,KACM,CAAC;AAE5B,EAAA;EACA,OAAOlB,KAAK,CAACkB,QAAQ;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;IACaC,aAAa,GAAG,SAAhBA,aAAaA,CAAInB,KAAyB,EAAK;AAC1D,EAAA,IACEoB,eAAe,GAQbpB,KAAK,CARPoB,eAAe;IACfnB,KAAK,GAOHD,KAAK,CAPPC,KAAK;IACLoB,gBAAgB,GAMdrB,KAAK,CANPqB,gBAAgB;IAChBC,UAAU,GAKRtB,KAAK,CALPsB,UAAU;IACVC,MAAM,GAIJvB,KAAK,CAJPuB,MAAM;IACNC,OAAO,GAGLxB,KAAK,CAHPwB,OAAO;IACPC,SAAS,GAEPzB,KAAK,CAFPyB,SAAS;AACNC,IAAAA,UAAU,GAAAC,wBAAA,CACX3B,KAAK,EAAA4B,SAAA,CAAA;EACT,IAAMC,UAAU,GAAGL,OAA8B;AACjD,EAAA,IAAAM,SAAA,GAAmCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3CI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA;EAC/B,IAAMI,kBAAkB,GACtBhB,eAAe,KAAKiB,SAAS,GAAG,MAAM,GAAGjB,eAAe;AAC1D,EAAA,IAAMkB,aAAa,GAAGF,kBAAkB,KAAK,MAAM;EACnD,IAAMG,mBAAmB,GAAGC,iBAAiB,CAACnB,gBAAgB,CAAC,GAC3D,GAAG,GACHA,gBAAgB;AACpB,EAAA,IAAMoB,SAAS,GAAGC,UAAA,CAAWhB,UAAU,CAACe,SAAS,EAAE;AACjD,IAAA,mBAAmB,EAAEhB;AACvB,GAAC,CAAC;EAEFkB,QAAQ,CAACC,eAAe,CAAC,YAAM;AAC7B,IAAA,IAAI,CAACJ,iBAAiB,CAAChB,OAAO,CAAC,EAAE;AAC/BW,MAAAA,UAAU,CAACN,UAAU,IAAI,KAAK,CAAC;AACjC,IAAA;AACF,EAAA,CAAC,EAAE,CAACL,OAAO,CAAC,CAAC;EAEb,IAAMqB,OAAO,GAAGC,KAAA,CAAMC,gBAAgB,CAAC,UAACC,CAAC,EAAK;AAC5C,IAAA,IAAMH,OAAO,GAAG7C,KAAK,CAAC6C,OAAO;IAC7B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AACA,IAAA,IAAMI,MAAM,GAAGJ,OAAO,CAACG,CAAC,CAAC;AACzB,IAAA,IAAIC,MAAM,IAAIC,SAAA,CAAUD,MAAM,CAAC,EAAE;MAC/Bd,UAAU,CAAC,IAAI,CAAC;AAChBc,MAAAA,MAAM,CACHE,KAAK,CAAC,UAACC,KAAK,EAAK;AAChBC,QAAAA,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;AACtB,MAAA,CAAC,CAAC,CACDE,OAAO,CAAC,YAAM;QACbnB,UAAU,CAAC,KAAK,CAAC;AACnB,MAAA,CAAC,CAAC;AACN,IAAA;EACF,CAAC,EAAEI,mBAAmB,CAAC;AAEvB,EAAA,IAAI,CAACgB,QAAQ,CAACC,aAAa,CAAClC,UAAU,CAAC,EAAE;AACvC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAIC,MAAM,EAAE;AACV,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAIe,aAAa,EAAE;IACjB,oBACEzB,GAAA,CAACd,aAAa,EAAA;AAACE,MAAAA,KAAK,EAAEA,KAAM;MAACC,QAAQ,EAAEF,KAAK,CAACE,QAAS;MAACE,IAAI,EAAEJ,KAAK,CAACI,IAAK;MAAAc,QAAA,eACtEL,GAAA,CAACI,MAAM,EAAAwC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACD/B,UAAU,CAAA,EAAA,EAAA,EAAA;AACdmB,QAAAA,OAAO,EAAEA,OAAQ;AACjBrB,QAAAA,OAAO,EAAEU,YAAa;AACtBO,QAAAA,SAAS,EAAEA,SAAU;QAAAvB,QAAA,EAEpBlB,KAAK,CAACkB;OAAQ,CACT;AAAC,KACI,CAAC;AAEpB,EAAA;EAEA,oBACEL,GAAA,CAACd,aAAa,EAAA;AAACE,IAAAA,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEF,KAAK,CAACE,QAAS;IAACE,IAAI,EAAEJ,KAAK,CAACI,IAAK;IAAAc,QAAA,eACtEwC,IAAA,CAACzC,MAAM,EAAAwC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAK/B,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEmB,MAAAA,OAAO,EAAEA,OAAQ;AAACJ,MAAAA,SAAS,EAAEA,SAAU;MAAAvB,QAAA,EAAA,CAC5DgB,YAAY,iBACXrB,GAAA,CAAA,KAAA,EAAA;AAAK4B,QAAAA,SAAS,EAAC,mBAAmB;AAAAvB,QAAAA,QAAA,eAChCL,GAAA,CAAA8C,gBAAA,EAAA,EAAkB;AAAC,OAChB,CACN,EACAzB,YAAY,gBACXrB,GAAA,CAAA,KAAA,EAAA;AAAK+C,QAAAA,KAAK,EAAE;AAAEC,UAAAA,OAAO,EAAE;SAAM;QAAA3C,QAAA,EAAElB,KAAK,CAACkB;AAAQ,OAAM,CAAC,GAEpDlB,KAAK,CAACkB,QACP;KAAA,CACK;AAAC,GACI,CAAC;AAEpB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-layout-P-Qb5pCT.js","sources":["@flatbiz/antd/src/card-layout/card-layout.tsx"],"sourcesContent":["import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Space } from 'antd';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport './style.less';\n\nexport type CardLayoutProps = {\n /** 描述 */\n desc?: string | string[] | ReactElement | ReactElement[];\n /** 标题 */\n title?: string | ReactElement;\n /** 子标题,在标题右侧 */\n subTitle?: string | ReactElement;\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n /** 隐藏标题左侧符号 */\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n titleContentStyle?: CSSProperties;\n subTitleStyle?: CSSProperties;\n titleExtraStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n /** 优先级大于 style height */\n height?: CSSProperties['height'];\n /** 标题右侧布局 */\n titleExtra?: string | ReactElement;\n /** 当存在滚动条时,标题固定,滚动区域为内部部分 */\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n hidden?: boolean;\n children?: ReactNode;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 卡片结构布局,替代 SimpleLayout 组件\n * @param props\n * @returns\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const CardLayout = (props: CardLayoutProps) => {\n const className = classNames(\n 'card-layout',\n {\n 'card-layout-tight': props.layoutType === 'tight',\n // 'card-layout-formlabel-left': labelAlign === 'left',\n 'card-layout-title-fixed': props.titleFixed,\n 'card-layout-small': props.size === 'small',\n },\n props.className\n );\n\n // const theme = fbaHooks.useThemeToken();\n const style = extend(\n // { '--card-layout-colorPrimary': theme.colorPrimary },\n props.style,\n {\n padding: props.padding,\n width: props.width,\n height: props.height,\n overflowY:\n !props.titleFixed && (props.height || props.style?.height)\n ? 'auto'\n : undefined,\n }\n );\n\n if (props.hidden) return <Fragment />;\n\n return (\n <BlockLayout className={className} style={style} onClick={props.onClick}>\n {props.title || props.titleExtra ? (\n <div\n className={classNames('card-layout-title', {\n 'card-layout-title-sign': props.title ? props.titleLeftLine : false,\n })}\n style={props.titleStyle}\n >\n {props.subTitle ? (\n <Fragment>\n <div\n className=\"card-layout-title-content\"\n style={props.titleContentStyle}\n >\n {props.title}\n </div>\n <div\n className=\"card-layout-subtitle\"\n style={{ marginLeft: 10, ...props.subTitleStyle }}\n >\n {props.subTitle}\n </div>\n </Fragment>\n ) : (\n <div\n className=\"card-layout-title-content\"\n style={{\n flex: 1,\n ...props.titleContentStyle,\n }}\n >\n {props.title}\n </div>\n )}\n\n {props.titleExtra ? (\n <div\n className=\"card-layout-title-extra\"\n style={props.titleExtraStyle}\n >\n {props.titleExtra}\n </div>\n ) : null}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? (\n <div className=\"card-layout-desc\">{props.desc}</div>\n ) : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"card-layout-desc-list\">\n <Space direction=\"vertical\" size={0}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"card-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </BlockLayout>\n );\n};\n\nCardLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["CardLayout","props","_props$style","className","_classNames","layoutType","titleFixed","size","style","_extend","padding","width","height","overflowY","undefined","hidden","_jsx","Fragment","_jsxs","BlockLayout","onClick","children","title","titleExtra","titleLeftLine","titleStyle","subTitle","titleContentStyle","_objectSpread","marginLeft","subTitleStyle","flex","titleExtraStyle","desc","_isArray","Space","direction","map","item","index","contentStyle","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"card-layout-P-Qb5pCT.js","sources":["@flatbiz/antd/src/card-layout/card-layout.tsx"],"sourcesContent":["import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Space } from 'antd';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport './style.less';\n\nexport type CardLayoutProps = {\n /** 描述 */\n desc?: string | string[] | ReactElement | ReactElement[];\n /** 标题 */\n title?: string | ReactElement;\n /** 子标题,在标题右侧 */\n subTitle?: string | ReactElement;\n /**\n * layoutType 布局类型\n * ```\n * 1. layer:分层布局\n * 2. tight:紧凑布局(没有外边距)\n * ```\n */\n layoutType?: 'layer' | 'tight';\n /** 隐藏标题左侧符号 */\n titleLeftLine?: boolean;\n titleStyle?: CSSProperties;\n titleContentStyle?: CSSProperties;\n subTitleStyle?: CSSProperties;\n titleExtraStyle?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 优先级大于 style padding */\n padding?: CSSProperties['padding'];\n /** 优先级大于 style width */\n width?: CSSProperties['width'];\n /** 优先级大于 style height */\n height?: CSSProperties['height'];\n /** 标题右侧布局 */\n titleExtra?: string | ReactElement;\n /** 当存在滚动条时,标题固定,滚动区域为内部部分 */\n titleFixed?: boolean;\n /**\n * 间距尺寸\n * 1. default = 15\n * 2. small = 8\n */\n size?: 'default' | 'small';\n onClick?: (event) => void;\n hidden?: boolean;\n children?: ReactNode;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 卡片结构布局,替代 SimpleLayout 组件\n * @param props\n * @returns\n * ```\n * 1. layoutType 布局类型\n * layer:分层布局\n * tight:紧凑布局(没有外边距)\n * ```\n */\nexport const CardLayout = (props: CardLayoutProps) => {\n const className = classNames(\n 'card-layout',\n {\n 'card-layout-tight': props.layoutType === 'tight',\n // 'card-layout-formlabel-left': labelAlign === 'left',\n 'card-layout-title-fixed': props.titleFixed,\n 'card-layout-small': props.size === 'small',\n },\n props.className\n );\n\n // const theme = fbaHooks.useThemeToken();\n const style = extend(\n // { '--card-layout-colorPrimary': theme.colorPrimary },\n props.style,\n {\n padding: props.padding,\n width: props.width,\n height: props.height,\n overflowY:\n !props.titleFixed && (props.height || props.style?.height)\n ? 'auto'\n : undefined,\n }\n );\n\n if (props.hidden) return <Fragment />;\n\n return (\n <BlockLayout className={className} style={style} onClick={props.onClick}>\n {props.title || props.titleExtra ? (\n <div\n className={classNames('card-layout-title', {\n 'card-layout-title-sign': props.title ? props.titleLeftLine : false,\n })}\n style={props.titleStyle}\n >\n {props.subTitle ? (\n <Fragment>\n <div\n className=\"card-layout-title-content\"\n style={props.titleContentStyle}\n >\n {props.title}\n </div>\n <div\n className=\"card-layout-subtitle\"\n style={{ marginLeft: 10, ...props.subTitleStyle }}\n >\n {props.subTitle}\n </div>\n </Fragment>\n ) : (\n <div\n className=\"card-layout-title-content\"\n style={{\n flex: 1,\n ...props.titleContentStyle,\n }}\n >\n {props.title}\n </div>\n )}\n\n {props.titleExtra ? (\n <div\n className=\"card-layout-title-extra\"\n style={props.titleExtraStyle}\n >\n {props.titleExtra}\n </div>\n ) : null}\n </div>\n ) : null}\n {props.desc && !isArray(props.desc) ? (\n <div className=\"card-layout-desc\">{props.desc}</div>\n ) : null}\n {props.desc && isArray(props.desc) ? (\n <div className=\"card-layout-desc-list\">\n <Space direction=\"vertical\" size={0}>\n {(props.desc as string[]).map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n </div>\n ) : null}\n {props.children ? (\n <div className=\"card-layout-content\" style={props.contentStyle}>\n {props.children}\n </div>\n ) : null}\n </BlockLayout>\n );\n};\n\nCardLayout.defaultProps = {\n titleLeftLine: true,\n layoutType: 'layer',\n};\n"],"names":["CardLayout","props","_props$style","className","_classNames","layoutType","titleFixed","size","style","_extend","padding","width","height","overflowY","undefined","hidden","_jsx","Fragment","_jsxs","BlockLayout","onClick","children","title","titleExtra","titleLeftLine","titleStyle","subTitle","titleContentStyle","_objectSpread","marginLeft","subTitleStyle","flex","titleExtraStyle","desc","_isArray","Space","direction","map","item","index","contentStyle","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cascader-wrapper-CMYrmR6L.js","sources":["@flatbiz/antd/src/cascader-wrapper/utils.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { isPlainObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\nexport const getValues = (value: any) => {\n const values = toArray(value);\n return values.map((item) => {\n return isPlainObject(item) ? item?.['value'] : item;\n });\n};\n","import type { ReactElement } from 'react';\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { CascaderProps } from 'antd';\nimport { Button, Cascader, Flex } from 'antd';\nimport { CloseCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport type { LabelValueItem, TPlainObject } from '@flatbiz/utils';\nimport {\n isUndefinedOrNull,\n type TAny,\n treeNodeParentsList,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/request-status.jsx';\nimport { RequestStatus } from '../request-status/request-status.jsx';\nimport { getValues } from './utils.js';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /** 响应数据适配器 */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n | 'loading'\n | 'notFoundContent'\n | 'options'\n | 'value'\n | 'multiple'\n | 'onChange'\n | 'fieldNames'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?:\n | string\n | number\n | Array<string | number>\n | LabelValueItem\n | LabelValueItem[];\n onChange?: (\n value?: string | number | Array<string | number>,\n selectedList?: TPlainObject[]\n ) => void;\n /** 配置数据查询状态描述,比如有依赖字段描述 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * 选择数据响应类型(当用户选中后响应数据),默认值:last\n * ```\n * 1. last 响应选中的最后一级数据\n * 2. all 响应选中的多级数据\n * ```\n */\n responseType?: 'last' | 'all';\n /** 响应数据是否包含label、value */\n labelInValue?: boolean;\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * 6. @flatbiz/antd@5.0.25 删除 modelKey 字段\n * 7. serviceConfig.params 参数发生变化时,会重新请求数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<\n CascaderWrapperRefApi,\n CascaderWrapperProps\n>((props, ref) => {\n const {\n serviceConfig,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n responseType,\n labelInValue,\n ...otherProps\n } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n const [status, setStatus] = useState<TRequestStatus>('request-init');\n\n const requestMessageConfigRef = useRef(requestMessageConfig);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const fieldNamesMerge = extend(\n true,\n { label: 'label', value: 'value', children: 'children' },\n fieldNames\n );\n const [valueList, setValueList] = useState<string[]>();\n\n const prevParams = fbaHooks.usePrevious(\n JSON.stringify(serviceConfig?.params || {})\n );\n\n const paramsStr = useMemo(() => {\n return JSON.stringify(serviceConfig?.params || {});\n }, [serviceConfig?.params]);\n\n useEffect(() => {\n requestMessageConfigRef.current = requestMessageConfig;\n }, [requestMessageConfig]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n const params = serviceConfig.params || {};\n // 判断必填参数是否完整\n if (serviceConfig?.requiredParamsKeys) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(params[item]);\n });\n if (target) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataList([]);\n setStatus('no-dependencies-params');\n if (props.value) {\n props.onChange?.(undefined);\n }\n return;\n }\n }\n setLoading(true);\n setStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n setDataList(respAdapterData || []);\n onSelectorListChange?.(respAdapterData || []);\n setStatus('request-success');\n } catch (error: TAny) {\n setLoading(false);\n requestMessageConfigRef.current = {\n ...requestMessageConfigRef.current,\n 'request-error': error.message || '获取数据异常',\n };\n setStatus('request-error');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const values = getValues(props.value) as Array<number | string>;\n if (values.length > 0) {\n if (responseType === 'all') {\n setValueList(values as string[]);\n } else {\n const filterList = treeNodeParentsList(\n values[0],\n dataList,\n true,\n fieldNamesMerge\n ).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n }\n } else {\n setValueList(undefined);\n }\n }, [dataList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return dataList;\n },\n };\n });\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (paramsStr !== prevParams) {\n void startDataSourceRequest();\n }\n }\n }, [prevParams, paramsStr]);\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n onSelectorListChange?.(dataList || []);\n setDataList([...dataList]);\n };\n\n const onChange = hooks.useCallbackRef(\n (values: Array<string | number>, selectList) => {\n if (labelInValue !== true) {\n if (responseType === 'all') {\n props.onChange?.(values, selectList);\n } else {\n props.onChange?.(values?.[values.length - 1], selectList);\n }\n } else {\n const labelInValueList = selectList?.map((item) => {\n return {\n label: item[fieldNamesMerge.label],\n value: item[fieldNamesMerge.value],\n };\n });\n if (responseType === 'all') {\n props.onChange?.(labelInValueList, selectList);\n } else {\n props.onChange?.(\n labelInValueList?.[labelInValueList.length - 1],\n selectList\n );\n }\n }\n }\n );\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames(\n 'cascader-wrapper-popup',\n otherProps.popupClassName\n )}\n notFoundContent={\n <RequestStatus\n status={status}\n loading={loading}\n messageConfig={requestMessageConfigRef.current}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest} ghost>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n status === 'request-error' ? (\n <Flex style={{ display: 'inline-flex', gap: 10 }}>\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n <CloseCircleFilled style={{ color: '#ff4d4f' }} />\n </Flex>\n ) : undefined\n }\n options={dataList}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["getValues","value","values","toArray","map","item","_isPlainObject","CascaderWrapper","forwardRef","props","ref","serviceConfig","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","responseType","labelInValue","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","dataList","setDataList","_useState3","_useState4","status","setStatus","requestMessageConfigRef","useRef","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","loading","setLoading","fieldNamesMerge","_extend","label","children","_useState5","_useState6","valueList","setValueList","prevParams","usePrevious","JSON","stringify","params","paramsStr","useMemo","useEffect","current","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_serviceConfig$onRequ","target","_props$onChange","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","_objectSpread","message","requiredParamsKeys","find","isUndefinedOrNull","onChange","call","undefined","resolve","then","$await_2","isLeaf","useEffectCustom","length","filterList","treeNodeParentsList","reverse","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_serviceConfig$onRequ2","targetOption","_defineProperty","$await_3","_toConsumableArray","selectList","_props$onChange2","_props$onChange3","labelInValueList","_props$onChange4","_props$onChange5","onClear","_props$onChange6","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","onClick","ghost","suffixIcon","_jsxs","Flex","style","display","gap","_RedoOutlined","spin","_CloseCircleFilled","color","options","multiple"],"mappings":"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"}
1
+ {"version":3,"file":"cascader-wrapper-CMYrmR6L.js","sources":["@flatbiz/antd/src/cascader-wrapper/utils.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { isPlainObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\nexport const getValues = (value: any) => {\n const values = toArray(value);\n return values.map((item) => {\n return isPlainObject(item) ? item?.['value'] : item;\n });\n};\n","import type { ReactElement } from 'react';\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { CascaderProps } from 'antd';\nimport { Button, Cascader, Flex } from 'antd';\nimport { CloseCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport type { LabelValueItem, TPlainObject } from '@flatbiz/utils';\nimport {\n isUndefinedOrNull,\n type TAny,\n treeNodeParentsList,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/request-status.jsx';\nimport { RequestStatus } from '../request-status/request-status.jsx';\nimport { getValues } from './utils.js';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /** 响应数据适配器 */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n | 'loading'\n | 'notFoundContent'\n | 'options'\n | 'value'\n | 'multiple'\n | 'onChange'\n | 'fieldNames'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?:\n | string\n | number\n | Array<string | number>\n | LabelValueItem\n | LabelValueItem[];\n onChange?: (\n value?: string | number | Array<string | number>,\n selectedList?: TPlainObject[]\n ) => void;\n /** 配置数据查询状态描述,比如有依赖字段描述 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * 选择数据响应类型(当用户选中后响应数据),默认值:last\n * ```\n * 1. last 响应选中的最后一级数据\n * 2. all 响应选中的多级数据\n * ```\n */\n responseType?: 'last' | 'all';\n /** 响应数据是否包含label、value */\n labelInValue?: boolean;\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * 6. @flatbiz/antd@5.0.25 删除 modelKey 字段\n * 7. serviceConfig.params 参数发生变化时,会重新请求数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<\n CascaderWrapperRefApi,\n CascaderWrapperProps\n>((props, ref) => {\n const {\n serviceConfig,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n responseType,\n labelInValue,\n ...otherProps\n } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n const [status, setStatus] = useState<TRequestStatus>('request-init');\n\n const requestMessageConfigRef = useRef(requestMessageConfig);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const fieldNamesMerge = extend(\n true,\n { label: 'label', value: 'value', children: 'children' },\n fieldNames\n );\n const [valueList, setValueList] = useState<string[]>();\n\n const prevParams = fbaHooks.usePrevious(\n JSON.stringify(serviceConfig?.params || {})\n );\n\n const paramsStr = useMemo(() => {\n return JSON.stringify(serviceConfig?.params || {});\n }, [serviceConfig?.params]);\n\n useEffect(() => {\n requestMessageConfigRef.current = requestMessageConfig;\n }, [requestMessageConfig]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n const params = serviceConfig.params || {};\n // 判断必填参数是否完整\n if (serviceConfig?.requiredParamsKeys) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(params[item]);\n });\n if (target) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataList([]);\n setStatus('no-dependencies-params');\n if (props.value) {\n props.onChange?.(undefined);\n }\n return;\n }\n }\n setLoading(true);\n setStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n setDataList(respAdapterData || []);\n onSelectorListChange?.(respAdapterData || []);\n setStatus('request-success');\n } catch (error: TAny) {\n setLoading(false);\n requestMessageConfigRef.current = {\n ...requestMessageConfigRef.current,\n 'request-error': error.message || '获取数据异常',\n };\n setStatus('request-error');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const values = getValues(props.value) as Array<number | string>;\n if (values.length > 0) {\n if (responseType === 'all') {\n setValueList(values as string[]);\n } else {\n const filterList = treeNodeParentsList(\n values[0],\n dataList,\n true,\n fieldNamesMerge\n ).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n }\n } else {\n setValueList(undefined);\n }\n }, [dataList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return dataList;\n },\n };\n });\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (paramsStr !== prevParams) {\n void startDataSourceRequest();\n }\n }\n }, [prevParams, paramsStr]);\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n onSelectorListChange?.(dataList || []);\n setDataList([...dataList]);\n };\n\n const onChange = hooks.useCallbackRef(\n (values: Array<string | number>, selectList) => {\n if (labelInValue !== true) {\n if (responseType === 'all') {\n props.onChange?.(values, selectList);\n } else {\n props.onChange?.(values?.[values.length - 1], selectList);\n }\n } else {\n const labelInValueList = selectList?.map((item) => {\n return {\n label: item[fieldNamesMerge.label],\n value: item[fieldNamesMerge.value],\n };\n });\n if (responseType === 'all') {\n props.onChange?.(labelInValueList, selectList);\n } else {\n props.onChange?.(\n labelInValueList?.[labelInValueList.length - 1],\n selectList\n );\n }\n }\n }\n );\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames(\n 'cascader-wrapper-popup',\n otherProps.popupClassName\n )}\n notFoundContent={\n <RequestStatus\n status={status}\n loading={loading}\n messageConfig={requestMessageConfigRef.current}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest} ghost>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n status === 'request-error' ? (\n <Flex style={{ display: 'inline-flex', gap: 10 }}>\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n <CloseCircleFilled style={{ color: '#ff4d4f' }} />\n </Flex>\n ) : undefined\n }\n options={dataList}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["getValues","value","values","toArray","map","item","_isPlainObject","CascaderWrapper","forwardRef","props","ref","serviceConfig","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","responseType","labelInValue","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","dataList","setDataList","_useState3","_useState4","status","setStatus","requestMessageConfigRef","useRef","_fbaHooks$useSafeStat","fbaHooks","useSafeState","_fbaHooks$useSafeStat2","loading","setLoading","fieldNamesMerge","_extend","label","children","_useState5","_useState6","valueList","setValueList","prevParams","usePrevious","JSON","stringify","params","paramsStr","useMemo","useEffect","current","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_serviceConfig$onRequ","target","_props$onChange","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","_objectSpread","message","requiredParamsKeys","find","isUndefinedOrNull","onChange","call","undefined","resolve","then","$await_2","isLeaf","useEffectCustom","length","filterList","treeNodeParentsList","reverse","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_serviceConfig$onRequ2","targetOption","_defineProperty","$await_3","_toConsumableArray","selectList","_props$onChange2","_props$onChange3","labelInValueList","_props$onChange4","_props$onChange5","onClear","_props$onChange6","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","onClick","ghost","suffixIcon","_jsxs","Flex","style","display","gap","_RedoOutlined","spin","_CloseCircleFilled","color","options","multiple"],"mappings":"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"}