ods-component-lib 1.21.2 → 1.21.3

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 (376) hide show
  1. package/dist/components/antd/currencyInput/CurrencySelect.js +16 -11
  2. package/dist/components/antd/currencyInput/CurrencySelect.js.map +1 -1
  3. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js +32 -43
  4. package/dist/components/devextreme/OdsBasicDataGrid/OdsBasicDataGrid.js.map +1 -1
  5. package/dist/components/devextreme/OdsDataGrid.Legacy.js +4 -4
  6. package/dist/components/devextreme/OdsRemoteDataGrid.js +1 -1
  7. package/dist/index.js +10 -10
  8. package/dist/node_modules/@ant-design/cssinjs/es/StyleContext.js +6 -6
  9. package/dist/node_modules/@ant-design/cssinjs/es/StyleContext.js.map +1 -1
  10. package/dist/node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js +20 -20
  11. package/dist/node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js.map +1 -1
  12. package/dist/node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js.map +1 -1
  13. package/dist/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js +101 -98
  14. package/dist/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js.map +1 -1
  15. package/dist/node_modules/@ant-design/cssinjs/es/linters/utils.js +1 -1
  16. package/dist/node_modules/@ant-design/cssinjs/es/util/index.js +29 -27
  17. package/dist/node_modules/@ant-design/cssinjs/es/util/index.js.map +1 -1
  18. package/dist/node_modules/@ant-design/cssinjs-utils/es/util/getComponentToken.js +1 -1
  19. package/dist/node_modules/@ant-design/fast-color/es/FastColor.js +66 -45
  20. package/dist/node_modules/@ant-design/fast-color/es/FastColor.js.map +1 -1
  21. package/dist/node_modules/@ant-design/icons/es/icons/FrownOutlined.js +5 -8
  22. package/dist/node_modules/@ant-design/icons/es/icons/HeartOutlined.js +3 -6
  23. package/dist/node_modules/@ant-design/icons/es/icons/MehOutlined.js +12 -15
  24. package/dist/node_modules/@ant-design/icons/es/icons/SmileOutlined.js +8 -11
  25. package/dist/node_modules/@ant-design/icons/es/utils.js +2 -9
  26. package/dist/node_modules/@ant-design/icons/es/utils.js.map +1 -1
  27. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js +1 -9
  28. package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js.map +1 -1
  29. package/dist/node_modules/@rc-component/async-validator/es/index.js +20 -20
  30. package/dist/node_modules/@rc-component/async-validator/es/index.js.map +1 -1
  31. package/dist/node_modules/@rc-component/async-validator/es/messages.js +1 -0
  32. package/dist/node_modules/@rc-component/async-validator/es/messages.js.map +1 -1
  33. package/dist/node_modules/@rc-component/async-validator/es/rule/type.js +18 -8
  34. package/dist/node_modules/@rc-component/async-validator/es/rule/type.js.map +1 -1
  35. package/dist/node_modules/@rc-component/async-validator/es/util.js +1 -1
  36. package/dist/node_modules/@rc-component/async-validator/es/util.js.map +1 -1
  37. package/dist/node_modules/@rc-component/async-validator/es/validator/index.js +1 -0
  38. package/dist/node_modules/@rc-component/async-validator/es/validator/index.js.map +1 -1
  39. package/dist/node_modules/@rc-component/collapse/es/Collapse.js +1 -1
  40. package/dist/node_modules/@rc-component/collapse/es/hooks/useItems.js +88 -68
  41. package/dist/node_modules/@rc-component/collapse/es/hooks/useItems.js.map +1 -1
  42. package/dist/node_modules/@rc-component/dialog/es/Dialog/Content/Panel.js +75 -96
  43. package/dist/node_modules/@rc-component/dialog/es/Dialog/Content/Panel.js.map +1 -1
  44. package/dist/node_modules/@rc-component/dialog/es/Dialog/Content/index.js +22 -20
  45. package/dist/node_modules/@rc-component/dialog/es/Dialog/Content/index.js.map +1 -1
  46. package/dist/node_modules/@rc-component/dialog/es/Dialog/index.js +92 -100
  47. package/dist/node_modules/@rc-component/dialog/es/Dialog/index.js.map +1 -1
  48. package/dist/node_modules/@rc-component/dialog/es/DialogWrap.js +40 -29
  49. package/dist/node_modules/@rc-component/dialog/es/DialogWrap.js.map +1 -1
  50. package/dist/node_modules/@rc-component/dropdown/es/Dropdown.js +2 -2
  51. package/dist/node_modules/@rc-component/form/es/Field.js +9 -9
  52. package/dist/node_modules/@rc-component/form/es/FieldContext.js +2 -3
  53. package/dist/node_modules/@rc-component/form/es/FieldContext.js.map +1 -1
  54. package/dist/node_modules/@rc-component/form/es/Form.js +78 -92
  55. package/dist/node_modules/@rc-component/form/es/Form.js.map +1 -1
  56. package/dist/node_modules/@rc-component/form/es/List.js +1 -1
  57. package/dist/node_modules/@rc-component/form/es/{useForm.js → hooks/useForm.js} +136 -143
  58. package/dist/node_modules/@rc-component/form/es/hooks/useForm.js.map +1 -0
  59. package/dist/node_modules/@rc-component/form/es/hooks/useNotifyWatch.js +43 -0
  60. package/dist/node_modules/@rc-component/form/es/hooks/useNotifyWatch.js.map +1 -0
  61. package/dist/node_modules/@rc-component/form/es/{useWatch.js → hooks/useWatch.js} +7 -7
  62. package/dist/node_modules/@rc-component/form/es/hooks/useWatch.js.map +1 -0
  63. package/dist/node_modules/@rc-component/form/es/index.js +2 -2
  64. package/dist/node_modules/@rc-component/form/es/index.js.map +1 -1
  65. package/dist/node_modules/@rc-component/form/es/utils/NameMap.js +28 -22
  66. package/dist/node_modules/@rc-component/form/es/utils/NameMap.js.map +1 -1
  67. package/dist/node_modules/@rc-component/form/es/utils/messages.js +1 -0
  68. package/dist/node_modules/@rc-component/form/es/utils/messages.js.map +1 -1
  69. package/dist/node_modules/@rc-component/form/es/utils/validateUtil.js +1 -1
  70. package/dist/node_modules/@rc-component/form/es/utils/valueUtil.js.map +1 -1
  71. package/dist/node_modules/@rc-component/image/es/Preview/index.js +111 -105
  72. package/dist/node_modules/@rc-component/image/es/Preview/index.js.map +1 -1
  73. package/dist/node_modules/@rc-component/input-number/es/hooks/useCursor.js +1 -1
  74. package/dist/node_modules/@rc-component/menu/es/Menu.js +1 -1
  75. package/dist/node_modules/@rc-component/menu/es/MenuItem.js +1 -1
  76. package/dist/node_modules/@rc-component/menu/es/SubMenu/index.js +1 -1
  77. package/dist/node_modules/@rc-component/menu/es/hooks/useKeyRecords.js +1 -1
  78. package/dist/node_modules/@rc-component/menu/es/placements.js +0 -1
  79. package/dist/node_modules/@rc-component/menu/es/utils/warnUtil.js +1 -1
  80. package/dist/node_modules/@rc-component/pagination/es/Pagination.js +1 -1
  81. package/dist/node_modules/@rc-component/picker/es/PickerInput/RangePicker.js +1 -1
  82. package/dist/node_modules/@rc-component/picker/es/PickerInput/Selector/hooks/useClearIcon.js +1 -1
  83. package/dist/node_modules/@rc-component/picker/es/PickerInput/Selector/hooks/useInputProps.js +1 -1
  84. package/dist/node_modules/@rc-component/picker/es/PickerInput/hooks/useCellRender.js +1 -1
  85. package/dist/node_modules/@rc-component/picker/es/PickerInput/hooks/useFilledProps.js +1 -1
  86. package/dist/node_modules/@rc-component/picker/es/PickerInput/hooks/usePresets.js +1 -1
  87. package/dist/node_modules/@rc-component/picker/es/PickerPanel/index.js +1 -1
  88. package/dist/node_modules/@rc-component/picker/es/hooks/useTimeInfo.js +1 -1
  89. package/dist/node_modules/@rc-component/portal/es/Portal.js +41 -35
  90. package/dist/node_modules/@rc-component/portal/es/Portal.js.map +1 -1
  91. package/dist/node_modules/@rc-component/portal/es/useEscKeyDown.js +48 -0
  92. package/dist/node_modules/@rc-component/portal/es/useEscKeyDown.js.map +1 -0
  93. package/dist/node_modules/@rc-component/resize-observer/es/SingleObserver/index.js +18 -54
  94. package/dist/node_modules/@rc-component/resize-observer/es/SingleObserver/index.js.map +1 -1
  95. package/dist/node_modules/@rc-component/resize-observer/es/index.js.map +1 -1
  96. package/dist/node_modules/@rc-component/resize-observer/es/useResizeObserver.js +50 -0
  97. package/dist/node_modules/@rc-component/resize-observer/es/useResizeObserver.js.map +1 -0
  98. package/dist/node_modules/@rc-component/select/es/BaseSelect/index.js +141 -140
  99. package/dist/node_modules/@rc-component/select/es/BaseSelect/index.js.map +1 -1
  100. package/dist/node_modules/@rc-component/select/es/OptionList.js +92 -91
  101. package/dist/node_modules/@rc-component/select/es/OptionList.js.map +1 -1
  102. package/dist/node_modules/@rc-component/select/es/Select.js +5 -5
  103. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/MultipleContent.js +50 -50
  104. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/MultipleContent.js.map +1 -1
  105. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/SingleContent.js +41 -47
  106. package/dist/node_modules/@rc-component/select/es/SelectInput/Content/SingleContent.js.map +1 -1
  107. package/dist/node_modules/@rc-component/select/es/SelectInput/index.js +85 -80
  108. package/dist/node_modules/@rc-component/select/es/SelectInput/index.js.map +1 -1
  109. package/dist/node_modules/@rc-component/select/es/hooks/useOpen.js +27 -26
  110. package/dist/node_modules/@rc-component/select/es/hooks/useOpen.js.map +1 -1
  111. package/dist/node_modules/@rc-component/select/es/utils/valueUtil.js +1 -1
  112. package/dist/node_modules/@rc-component/select/es/utils/warningPropsUtil.js +6 -6
  113. package/dist/node_modules/@rc-component/table/es/Cell/useCellRender.js +1 -1
  114. package/dist/node_modules/@rc-component/table/es/Table.js +1 -1
  115. package/dist/node_modules/@rc-component/table/es/VirtualTable/BodyGrid.js +85 -80
  116. package/dist/node_modules/@rc-component/table/es/VirtualTable/BodyGrid.js.map +1 -1
  117. package/dist/node_modules/@rc-component/table/es/VirtualTable/index.js +1 -1
  118. package/dist/node_modules/@rc-component/table/es/hooks/useColumns/index.js +1 -1
  119. package/dist/node_modules/@rc-component/table/es/hooks/useExpand.js +1 -1
  120. package/dist/node_modules/@rc-component/table/es/utils/legacyUtil.js +1 -1
  121. package/dist/node_modules/@rc-component/tabs/es/hooks/useAnimateConfig.js +1 -1
  122. package/dist/node_modules/@rc-component/tooltip/es/placements.js +0 -1
  123. package/dist/node_modules/@rc-component/tree/es/Tree.js +1 -1
  124. package/dist/node_modules/@rc-component/tree/es/util.js +1 -1
  125. package/dist/node_modules/@rc-component/tree/es/utils/conductUtil.js +1 -1
  126. package/dist/node_modules/@rc-component/tree/es/utils/treeUtil.js +1 -1
  127. package/dist/node_modules/@rc-component/tree-select/es/TreeSelect.js +1 -1
  128. package/dist/node_modules/@rc-component/tree-select/es/hooks/useDataEntities.js +1 -1
  129. package/dist/node_modules/@rc-component/tree-select/es/utils/legacyUtil.js +1 -1
  130. package/dist/node_modules/@rc-component/tree-select/es/utils/warningPropsUtil.js +1 -1
  131. package/dist/node_modules/@rc-component/trigger/es/Popup/index.js +74 -72
  132. package/dist/node_modules/@rc-component/trigger/es/Popup/index.js.map +1 -1
  133. package/dist/node_modules/@rc-component/trigger/es/UniqueProvider/index.js +10 -9
  134. package/dist/node_modules/@rc-component/trigger/es/UniqueProvider/index.js.map +1 -1
  135. package/dist/node_modules/@rc-component/trigger/es/hooks/useAlign.js +126 -123
  136. package/dist/node_modules/@rc-component/trigger/es/hooks/useAlign.js.map +1 -1
  137. package/dist/node_modules/@rc-component/trigger/es/index.js +150 -140
  138. package/dist/node_modules/@rc-component/trigger/es/index.js.map +1 -1
  139. package/dist/node_modules/@rc-component/trigger/es/util.js +35 -34
  140. package/dist/node_modules/@rc-component/trigger/es/util.js.map +1 -1
  141. package/dist/node_modules/@rc-component/upload/es/attr-accept.js +1 -1
  142. package/dist/node_modules/@rc-component/util/es/Dom/focus.js +65 -20
  143. package/dist/node_modules/@rc-component/util/es/Dom/focus.js.map +1 -1
  144. package/dist/node_modules/@rc-component/util/es/KeyCode.js.map +1 -1
  145. package/dist/node_modules/@rc-component/util/es/hooks/useId.js.map +1 -1
  146. package/dist/node_modules/@rc-component/util/es/hooks/useState.js +6 -6
  147. package/dist/node_modules/@rc-component/util/es/hooks/useState.js.map +1 -1
  148. package/dist/node_modules/@rc-component/util/es/hooks/useSyncState.js.map +1 -1
  149. package/dist/node_modules/@rc-component/util/es/isEqual.js +1 -1
  150. package/dist/node_modules/@rc-component/util/es/utils/set.js +21 -21
  151. package/dist/node_modules/@rc-component/util/es/utils/set.js.map +1 -1
  152. package/dist/node_modules/@rc-component/virtual-list/es/hooks/useScrollTo.js +1 -1
  153. package/dist/node_modules/antd/es/_util/warning.js +1 -1
  154. package/dist/node_modules/antd/es/_util/wave/WaveEffect.js +53 -48
  155. package/dist/node_modules/antd/es/_util/wave/WaveEffect.js.map +1 -1
  156. package/dist/node_modules/antd/es/_util/wave/index.js +1 -1
  157. package/dist/node_modules/antd/es/_util/wave/index.js.map +1 -1
  158. package/dist/node_modules/antd/es/_util/wave/style.js +8 -7
  159. package/dist/node_modules/antd/es/_util/wave/style.js.map +1 -1
  160. package/dist/node_modules/antd/es/alert/Alert.js +133 -128
  161. package/dist/node_modules/antd/es/alert/Alert.js.map +1 -1
  162. package/dist/node_modules/antd/es/badge/Badge.js +29 -28
  163. package/dist/node_modules/antd/es/badge/Badge.js.map +1 -1
  164. package/dist/node_modules/antd/es/badge/style/index.js +1 -1
  165. package/dist/node_modules/antd/es/badge/style/index.js.map +1 -1
  166. package/dist/node_modules/antd/es/button/buttonHelpers.js +47 -41
  167. package/dist/node_modules/antd/es/button/buttonHelpers.js.map +1 -1
  168. package/dist/node_modules/antd/es/button/style/compact.js +45 -36
  169. package/dist/node_modules/antd/es/button/style/compact.js.map +1 -1
  170. package/dist/node_modules/antd/es/button/style/variant.js +100 -90
  171. package/dist/node_modules/antd/es/button/style/variant.js.map +1 -1
  172. package/dist/node_modules/antd/es/calendar/generateCalendar.js +55 -57
  173. package/dist/node_modules/antd/es/calendar/generateCalendar.js.map +1 -1
  174. package/dist/node_modules/antd/es/calendar/style/index.js +18 -18
  175. package/dist/node_modules/antd/es/calendar/style/index.js.map +1 -1
  176. package/dist/node_modules/antd/es/card/CardGrid.js.map +1 -1
  177. package/dist/node_modules/antd/es/card/style/index.js +23 -11
  178. package/dist/node_modules/antd/es/card/style/index.js.map +1 -1
  179. package/dist/node_modules/antd/es/checkbox/Group.js +32 -30
  180. package/dist/node_modules/antd/es/checkbox/Group.js.map +1 -1
  181. package/dist/node_modules/antd/es/collapse/Collapse.js +61 -61
  182. package/dist/node_modules/antd/es/collapse/Collapse.js.map +1 -1
  183. package/dist/node_modules/antd/es/color-picker/color.js +9 -9
  184. package/dist/node_modules/antd/es/color-picker/color.js.map +1 -1
  185. package/dist/node_modules/antd/es/config-provider/index.js +76 -71
  186. package/dist/node_modules/antd/es/config-provider/index.js.map +1 -1
  187. package/dist/node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js +29 -31
  188. package/dist/node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js.map +1 -1
  189. package/dist/node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js +7 -9
  190. package/dist/node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js.map +1 -1
  191. package/dist/node_modules/antd/es/date-picker/generatePicker/{SuffixIcon.js → useSuffixIcon.js} +4 -4
  192. package/dist/node_modules/antd/es/date-picker/generatePicker/useSuffixIcon.js.map +1 -0
  193. package/dist/node_modules/antd/es/date-picker/style/panel.js +4 -4
  194. package/dist/node_modules/antd/es/date-picker/style/panel.js.map +1 -1
  195. package/dist/node_modules/antd/es/drawer/useFocusable.js +14 -0
  196. package/dist/node_modules/antd/es/drawer/useFocusable.js.map +1 -0
  197. package/dist/node_modules/antd/es/empty/empty.js +27 -32
  198. package/dist/node_modules/antd/es/empty/empty.js.map +1 -1
  199. package/dist/node_modules/antd/es/empty/simple.js +2 -2
  200. package/dist/node_modules/antd/es/empty/simple.js.map +1 -1
  201. package/dist/node_modules/antd/es/form/hooks/useForm.js +2 -2
  202. package/dist/node_modules/antd/es/form/index.js +1 -1
  203. package/dist/node_modules/antd/es/form/style/index.js +24 -24
  204. package/dist/node_modules/antd/es/form/style/index.js.map +1 -1
  205. package/dist/node_modules/antd/es/grid/col.js +56 -54
  206. package/dist/node_modules/antd/es/grid/col.js.map +1 -1
  207. package/dist/node_modules/antd/es/grid/style/index.js +50 -50
  208. package/dist/node_modules/antd/es/grid/style/index.js.map +1 -1
  209. package/dist/node_modules/antd/es/input/TextArea.js +16 -15
  210. package/dist/node_modules/antd/es/input/TextArea.js.map +1 -1
  211. package/dist/node_modules/antd/es/input/style/index.js +1 -0
  212. package/dist/node_modules/antd/es/input/style/index.js.map +1 -1
  213. package/dist/node_modules/antd/es/input-number/index.js +91 -91
  214. package/dist/node_modules/antd/es/input-number/index.js.map +1 -1
  215. package/dist/node_modules/antd/es/input-number/style/index.js +80 -79
  216. package/dist/node_modules/antd/es/input-number/style/index.js.map +1 -1
  217. package/dist/node_modules/antd/es/layout/Sider.js +1 -2
  218. package/dist/node_modules/antd/es/layout/style/sider.js +9 -9
  219. package/dist/node_modules/antd/es/layout/style/sider.js.map +1 -1
  220. package/dist/node_modules/antd/es/menu/MenuItem.js +6 -6
  221. package/dist/node_modules/antd/es/menu/MenuItem.js.map +1 -1
  222. package/dist/node_modules/antd/es/menu/SubMenu.js +8 -8
  223. package/dist/node_modules/antd/es/menu/SubMenu.js.map +1 -1
  224. package/dist/node_modules/antd/es/menu/style/horizontal.js +1 -1
  225. package/dist/node_modules/antd/es/menu/style/horizontal.js.map +1 -1
  226. package/dist/node_modules/antd/es/menu/style/index.js +58 -58
  227. package/dist/node_modules/antd/es/menu/style/index.js.map +1 -1
  228. package/dist/node_modules/antd/es/menu/style/vertical.js +1 -1
  229. package/dist/node_modules/antd/es/menu/style/vertical.js.map +1 -1
  230. package/dist/node_modules/antd/es/message/index.js +1 -1
  231. package/dist/node_modules/antd/es/modal/ConfirmDialog.js +117 -112
  232. package/dist/node_modules/antd/es/modal/ConfirmDialog.js.map +1 -1
  233. package/dist/node_modules/antd/es/modal/Modal.js +115 -109
  234. package/dist/node_modules/antd/es/modal/Modal.js.map +1 -1
  235. package/dist/node_modules/antd/es/modal/confirm.js +3 -3
  236. package/dist/node_modules/antd/es/modal/style/index.js +83 -80
  237. package/dist/node_modules/antd/es/modal/style/index.js.map +1 -1
  238. package/dist/node_modules/antd/es/pagination/Pagination.js +85 -81
  239. package/dist/node_modules/antd/es/pagination/Pagination.js.map +1 -1
  240. package/dist/node_modules/antd/es/pagination/style/bordered.js +2 -2
  241. package/dist/node_modules/antd/es/pagination/style/bordered.js.map +1 -1
  242. package/dist/node_modules/antd/es/pagination/style/index.js +100 -133
  243. package/dist/node_modules/antd/es/pagination/style/index.js.map +1 -1
  244. package/dist/node_modules/antd/es/popover/index.js +77 -82
  245. package/dist/node_modules/antd/es/popover/index.js.map +1 -1
  246. package/dist/node_modules/antd/es/popover/style/index.js +65 -63
  247. package/dist/node_modules/antd/es/popover/style/index.js.map +1 -1
  248. package/dist/node_modules/antd/es/progress/progress.js +4 -4
  249. package/dist/node_modules/antd/es/radio/context.js +3 -3
  250. package/dist/node_modules/antd/es/radio/context.js.map +1 -1
  251. package/dist/node_modules/antd/es/radio/group.js +31 -29
  252. package/dist/node_modules/antd/es/radio/group.js.map +1 -1
  253. package/dist/node_modules/antd/es/radio/style/index.js +1 -1
  254. package/dist/node_modules/antd/es/radio/style/index.js.map +1 -1
  255. package/dist/node_modules/antd/es/select/style/dropdown.js +1 -1
  256. package/dist/node_modules/antd/es/select/style/dropdown.js.map +1 -1
  257. package/dist/node_modules/antd/es/select/style/select-input-multiple.js +71 -69
  258. package/dist/node_modules/antd/es/select/style/select-input-multiple.js.map +1 -1
  259. package/dist/node_modules/antd/es/select/style/select-input.js +113 -98
  260. package/dist/node_modules/antd/es/select/style/select-input.js.map +1 -1
  261. package/dist/node_modules/antd/es/skeleton/Image.js +9 -9
  262. package/dist/node_modules/antd/es/skeleton/Image.js.map +1 -1
  263. package/dist/node_modules/antd/es/space/Item.js +2 -2
  264. package/dist/node_modules/antd/es/space/Item.js.map +1 -1
  265. package/dist/node_modules/antd/es/space/index.js +4 -4
  266. package/dist/node_modules/antd/es/space/index.js.map +1 -1
  267. package/dist/node_modules/antd/es/space/style/addon.js +47 -46
  268. package/dist/node_modules/antd/es/space/style/addon.js.map +1 -1
  269. package/dist/node_modules/antd/es/steps/PanelArrow.js +2 -2
  270. package/dist/node_modules/antd/es/steps/PanelArrow.js.map +1 -1
  271. package/dist/node_modules/antd/es/steps/ProgressIcon.js +12 -10
  272. package/dist/node_modules/antd/es/steps/ProgressIcon.js.map +1 -1
  273. package/dist/node_modules/antd/es/steps/index.js +108 -106
  274. package/dist/node_modules/antd/es/steps/index.js.map +1 -1
  275. package/dist/node_modules/antd/es/steps/style/horizontal.js +13 -11
  276. package/dist/node_modules/antd/es/steps/style/horizontal.js.map +1 -1
  277. package/dist/node_modules/antd/es/steps/style/icon.js +23 -18
  278. package/dist/node_modules/antd/es/steps/style/icon.js.map +1 -1
  279. package/dist/node_modules/antd/es/steps/style/index.js +41 -41
  280. package/dist/node_modules/antd/es/steps/style/index.js.map +1 -1
  281. package/dist/node_modules/antd/es/steps/style/inline.js +28 -23
  282. package/dist/node_modules/antd/es/steps/style/inline.js.map +1 -1
  283. package/dist/node_modules/antd/es/steps/style/label-placement.js +44 -39
  284. package/dist/node_modules/antd/es/steps/style/label-placement.js.map +1 -1
  285. package/dist/node_modules/antd/es/steps/style/nav.js +29 -27
  286. package/dist/node_modules/antd/es/steps/style/nav.js.map +1 -1
  287. package/dist/node_modules/antd/es/steps/style/panel.js +61 -56
  288. package/dist/node_modules/antd/es/steps/style/panel.js.map +1 -1
  289. package/dist/node_modules/antd/es/steps/style/progress-dot.js +28 -26
  290. package/dist/node_modules/antd/es/steps/style/progress-dot.js.map +1 -1
  291. package/dist/node_modules/antd/es/steps/style/progress.js +24 -57
  292. package/dist/node_modules/antd/es/steps/style/progress.js.map +1 -1
  293. package/dist/node_modules/antd/es/steps/style/rtl.js +10 -8
  294. package/dist/node_modules/antd/es/steps/style/rtl.js.map +1 -1
  295. package/dist/node_modules/antd/es/steps/style/small.js +21 -16
  296. package/dist/node_modules/antd/es/steps/style/small.js.map +1 -1
  297. package/dist/node_modules/antd/es/steps/style/status.js +187 -176
  298. package/dist/node_modules/antd/es/steps/style/status.js.map +1 -1
  299. package/dist/node_modules/antd/es/steps/style/util.js +18 -16
  300. package/dist/node_modules/antd/es/steps/style/util.js.map +1 -1
  301. package/dist/node_modules/antd/es/steps/style/vertical.js +21 -16
  302. package/dist/node_modules/antd/es/steps/style/vertical.js.map +1 -1
  303. package/dist/node_modules/antd/es/style/placementArrow.js +31 -29
  304. package/dist/node_modules/antd/es/style/placementArrow.js.map +1 -1
  305. package/dist/node_modules/antd/es/table/InternalTable.js +65 -62
  306. package/dist/node_modules/antd/es/table/InternalTable.js.map +1 -1
  307. package/dist/node_modules/antd/es/table/TableMeasureRowContext.js +6 -0
  308. package/dist/node_modules/antd/es/table/TableMeasureRowContext.js.map +1 -0
  309. package/dist/node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js +145 -137
  310. package/dist/node_modules/antd/es/table/hooks/useFilter/FilterDropdown.js.map +1 -1
  311. package/dist/node_modules/antd/es/table/style/index.js +3 -3
  312. package/dist/node_modules/antd/es/table/style/index.js.map +1 -1
  313. package/dist/node_modules/antd/es/table/style/radius.js +10 -0
  314. package/dist/node_modules/antd/es/table/style/radius.js.map +1 -1
  315. package/dist/node_modules/antd/es/table/style/virtual.js +5 -5
  316. package/dist/node_modules/antd/es/table/style/virtual.js.map +1 -1
  317. package/dist/node_modules/antd/es/tag/style/index.js +5 -5
  318. package/dist/node_modules/antd/es/tag/style/index.js.map +1 -1
  319. package/dist/node_modules/antd/es/theme/util/genStyleUtils.js +29 -32
  320. package/dist/node_modules/antd/es/theme/util/genStyleUtils.js.map +1 -1
  321. package/dist/node_modules/antd/es/timeline/Timeline.js +76 -74
  322. package/dist/node_modules/antd/es/timeline/Timeline.js.map +1 -1
  323. package/dist/node_modules/antd/es/timeline/style/horizontal.js +21 -18
  324. package/dist/node_modules/antd/es/timeline/style/horizontal.js.map +1 -1
  325. package/dist/node_modules/antd/es/timeline/style/index.js +85 -70
  326. package/dist/node_modules/antd/es/timeline/style/index.js.map +1 -1
  327. package/dist/node_modules/antd/es/timeline/useItems.js +38 -37
  328. package/dist/node_modules/antd/es/timeline/useItems.js.map +1 -1
  329. package/dist/node_modules/antd/es/tooltip/PurePanel.js +27 -27
  330. package/dist/node_modules/antd/es/tooltip/PurePanel.js.map +1 -1
  331. package/dist/node_modules/antd/es/tooltip/UniqueProvider/MotionContent.js +17 -22
  332. package/dist/node_modules/antd/es/tooltip/UniqueProvider/MotionContent.js.map +1 -1
  333. package/dist/node_modules/antd/es/tooltip/UniqueProvider/index.js +27 -26
  334. package/dist/node_modules/antd/es/tooltip/UniqueProvider/index.js.map +1 -1
  335. package/dist/node_modules/antd/es/tooltip/index.js +52 -51
  336. package/dist/node_modules/antd/es/tooltip/index.js.map +1 -1
  337. package/dist/node_modules/antd/es/tooltip/style/index.js +55 -52
  338. package/dist/node_modules/antd/es/tooltip/style/index.js.map +1 -1
  339. package/dist/node_modules/antd/es/tooltip/util.js +13 -12
  340. package/dist/node_modules/antd/es/tooltip/util.js.map +1 -1
  341. package/dist/node_modules/antd/es/transfer/ListBody.js +16 -16
  342. package/dist/node_modules/antd/es/transfer/ListBody.js.map +1 -1
  343. package/dist/node_modules/antd/es/transfer/ListItem.js +43 -43
  344. package/dist/node_modules/antd/es/transfer/ListItem.js.map +1 -1
  345. package/dist/node_modules/antd/es/transfer/style/index.js +1 -1
  346. package/dist/node_modules/antd/es/tree/DirectoryTree.js +42 -41
  347. package/dist/node_modules/antd/es/tree/DirectoryTree.js.map +1 -1
  348. package/dist/node_modules/antd/es/typography/Base/index.js +43 -42
  349. package/dist/node_modules/antd/es/typography/Base/index.js.map +1 -1
  350. package/dist/node_modules/antd/es/typography/style/index.js +43 -43
  351. package/dist/node_modules/antd/es/typography/style/index.js.map +1 -1
  352. package/dist/node_modules/antd/es/typography/style/mixins.js +1 -1
  353. package/dist/node_modules/antd/es/typography/style/mixins.js.map +1 -1
  354. package/dist/node_modules/antd/es/version/version.js +1 -1
  355. package/dist/node_modules/antd/es/version/version.js.map +1 -1
  356. package/dist/node_modules/antd/es/watermark/context.js +5 -6
  357. package/dist/node_modules/antd/es/watermark/context.js.map +1 -1
  358. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/StyleContext.js +1 -2
  359. package/dist/node_modules/antd-style/node_modules/@ant-design/cssinjs/es/StyleContext.js.map +1 -1
  360. package/dist/node_modules/exceljs/dist/exceljs.min.js +91 -508
  361. package/dist/node_modules/exceljs/dist/exceljs.min.js.map +1 -1
  362. package/dist/node_modules/html2canvas/dist/html2canvas.esm.js +5 -55
  363. package/dist/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -1
  364. package/dist/node_modules/jspdf/dist/jspdf.es.min.js +8 -53
  365. package/dist/node_modules/jspdf/dist/jspdf.es.min.js.map +1 -1
  366. package/dist/node_modules/lodash/lodash.js +295 -278
  367. package/dist/node_modules/lodash/lodash.js.map +1 -1
  368. package/dist/node_modules/moment/dist/moment.js +2 -8
  369. package/dist/node_modules/moment/dist/moment.js.map +1 -1
  370. package/dist/node_modules/rc-util/es/isEqual.js +1 -1
  371. package/package.json +1 -1
  372. package/dist/node_modules/@rc-component/form/es/BatchUpdate.js +0 -21
  373. package/dist/node_modules/@rc-component/form/es/BatchUpdate.js.map +0 -1
  374. package/dist/node_modules/@rc-component/form/es/useForm.js.map +0 -1
  375. package/dist/node_modules/@rc-component/form/es/useWatch.js.map +0 -1
  376. package/dist/node_modules/antd/es/date-picker/generatePicker/SuffixIcon.js.map +0 -1
@@ -1,26 +1,26 @@
1
- import { isDOM as Ae } from "../../../util/es/Dom/findDOMNode.js";
2
- import Xe from "../../../util/es/Dom/isVisible.js";
3
- import Ye from "../../../util/es/hooks/useEvent.js";
4
- import Pt from "../../../util/es/hooks/useLayoutEffect.js";
1
+ import { isDOM as Xe } from "../../../util/es/Dom/findDOMNode.js";
2
+ import Ye from "../../../util/es/Dom/isVisible.js";
3
+ import ve from "../../../util/es/hooks/useEvent.js";
4
+ import Bt from "../../../util/es/hooks/useLayoutEffect.js";
5
5
  import * as k from "react";
6
- import { collectScroller as ve, getWin as Pe, getVisibleArea as Bt, toNum as Mt } from "../util.js";
7
- function Ot(o, c = 0) {
6
+ import { collectScroller as Be, getVisibleArea as Mt, getWin as Me, toNum as Ot } from "../util.js";
7
+ function Vt(o, c = 0) {
8
8
  const l = `${c}`, p = l.match(/^(.*)\%$/);
9
9
  return p ? o * (parseFloat(p[1]) / 100) : parseFloat(l);
10
10
  }
11
- function Vt(o, c) {
11
+ function Ct(o, c) {
12
12
  const [l, p] = c || [];
13
- return [Ot(o.width, l), Ot(o.height, p)];
13
+ return [Vt(o.width, l), Vt(o.height, p)];
14
14
  }
15
- function Ct(o = "") {
15
+ function Lt(o = "") {
16
16
  return [o[0], o[1]];
17
17
  }
18
- function V(o, c) {
18
+ function O(o, c) {
19
19
  const l = c[0], p = c[1];
20
- let d, Y;
21
- return l === "t" ? Y = o.y : l === "b" ? Y = o.y + o.height : Y = o.y + o.height / 2, p === "l" ? d = o.x : p === "r" ? d = o.x + o.width : d = o.x + o.width / 2, {
22
- x: d,
23
- y: Y
20
+ let A, X;
21
+ return l === "t" ? X = o.y : l === "b" ? X = o.y + o.height : X = o.y + o.height / 2, p === "l" ? A = o.x : p === "r" ? A = o.x + o.width : A = o.x + o.width / 2, {
22
+ x: A,
23
+ y: X
24
24
  };
25
25
  }
26
26
  function w(o, c) {
@@ -29,11 +29,14 @@ function w(o, c) {
29
29
  b: "t",
30
30
  l: "r",
31
31
  r: "l"
32
- };
33
- return o.map((p, d) => d === c ? l[p] || "c" : p).join("");
32
+ }, p = [...o];
33
+ return p[c] = l[o[c]] || "c", p;
34
+ }
35
+ function It(o) {
36
+ return o.join("");
34
37
  }
35
- function Fe(o, c, l, p, d, Y, Lt, J) {
36
- const [m, K] = k.useState({
38
+ function je(o, c, l, p, A, X, Tt, K) {
39
+ const [m, Q] = k.useState({
37
40
  ready: !1,
38
41
  offsetX: 0,
39
42
  offsetY: 0,
@@ -43,24 +46,24 @@ function Fe(o, c, l, p, d, Y, Lt, J) {
43
46
  arrowY: 0,
44
47
  scaleX: 1,
45
48
  scaleY: 1,
46
- align: d[p] || {}
47
- }), U = k.useRef(0), Q = k.useMemo(() => !c || J ? [] : ve(c), [c]), u = k.useRef({});
49
+ align: A[p] || {}
50
+ }), U = k.useRef(0), Z = k.useMemo(() => !c || K ? [] : Be(c), [c]), u = k.useRef({});
48
51
  o || (u.current = {});
49
- const It = Ye(() => {
50
- if (c && l && o && !J) {
51
- let y = function(t, a, h = rt) {
52
- const Yt = s.x + t, vt = s.y + a, ye = Yt + P, de = vt + v, xe = Math.max(Yt, h.left), be = Math.max(vt, h.top), Re = Math.min(ye, h.right), we = Math.min(de, h.bottom);
53
- return Math.max(0, (Re - xe) * (we - be));
54
- }, dt = function() {
55
- S = s.y + f, H = S + v, j = s.x + r, D = j + P;
52
+ const Ft = ve(() => {
53
+ if (c && l && o && !K) {
54
+ let y = function(t, h, g = ft) {
55
+ const Yt = s.x + t, vt = s.y + h, be = Yt + v, de = vt + Y, Re = Math.max(Yt, g.left), we = Math.max(vt, g.top), Ae = Math.min(be, g.right), Pe = Math.min(de, g.bottom);
56
+ return Math.max(0, (Ae - Re) * (Pe - we));
57
+ }, bt = function() {
58
+ F = s.y + f, H = F + Y, S = s.x + r, D = S + v;
56
59
  };
57
- const e = c, tt = e.ownerDocument, et = Pe(e), {
58
- position: Ft
59
- } = et.getComputedStyle(e), St = e.style.left, jt = e.style.top, Nt = e.style.right, Wt = e.style.bottom, $t = e.style.overflow, C = {
60
- ...d[p],
61
- ...Y
62
- }, A = tt.createElement("div");
63
- e.parentElement?.appendChild(A), A.style.left = `${e.offsetLeft}px`, A.style.top = `${e.offsetTop}px`, A.style.position = Ft, A.style.height = `${e.offsetHeight}px`, A.style.width = `${e.offsetWidth}px`, e.style.left = "0", e.style.top = "0", e.style.right = "auto", e.style.bottom = "auto", e.style.overflow = "hidden";
60
+ const e = c, et = e.ownerDocument, ot = Me(e), {
61
+ position: jt
62
+ } = ot.getComputedStyle(e), Nt = e.style.left, Wt = e.style.top, $t = e.style.right, Et = e.style.bottom, Ht = e.style.overflow, V = {
63
+ ...A[p],
64
+ ...X
65
+ }, P = et.createElement("div");
66
+ e.parentElement?.appendChild(P), P.style.left = `${e.offsetLeft}px`, P.style.top = `${e.offsetTop}px`, P.style.position = jt, P.style.height = `${e.offsetHeight}px`, P.style.width = `${e.offsetWidth}px`, e.style.left = "0", e.style.top = "0", e.style.right = "auto", e.style.bottom = "auto", e.style.overflow = "hidden";
64
67
  let i;
65
68
  if (Array.isArray(l))
66
69
  i = {
@@ -79,133 +82,133 @@ function Fe(o, c, l, p, d, Y, Lt, J) {
79
82
  };
80
83
  }
81
84
  const s = e.getBoundingClientRect(), {
82
- height: Et,
83
- width: Ht
84
- } = et.getComputedStyle(e);
85
+ height: Dt,
86
+ width: kt
87
+ } = ot.getComputedStyle(e);
85
88
  s.x = s.x ?? s.left, s.y = s.y ?? s.top;
86
89
  const {
87
- clientWidth: Dt,
88
- clientHeight: kt,
89
- scrollWidth: Ut,
90
- scrollHeight: _t,
91
- scrollTop: ot,
92
- scrollLeft: nt
93
- } = tt.documentElement, v = s.height, P = s.width, L = i.height, I = i.width, qt = {
90
+ clientWidth: Ut,
91
+ clientHeight: _t,
92
+ scrollWidth: qt,
93
+ scrollHeight: zt,
94
+ scrollTop: nt,
95
+ scrollLeft: st
96
+ } = et.documentElement, Y = s.height, v = s.width, C = i.height, L = i.width, Gt = {
94
97
  left: 0,
95
98
  top: 0,
96
- right: Dt,
97
- bottom: kt
98
- }, zt = {
99
- left: -nt,
100
- top: -ot,
101
- right: Ut - nt,
102
- bottom: _t - ot
99
+ right: Ut,
100
+ bottom: _t
101
+ }, Jt = {
102
+ left: -st,
103
+ top: -nt,
104
+ right: qt - st,
105
+ bottom: zt - nt
103
106
  };
104
107
  let {
105
- htmlRegion: T
106
- } = C;
107
- const st = "visible", it = "visibleFirst";
108
- T !== "scroll" && T !== it && (T = st);
109
- const F = T === it, Gt = Bt(zt, Q), n = Bt(qt, Q), rt = T === st ? n : Gt, $ = F ? n : rt;
108
+ htmlRegion: I
109
+ } = V;
110
+ const it = "visible", rt = "visibleFirst";
111
+ I !== "scroll" && I !== rt && (I = it);
112
+ const T = I === rt, Kt = Mt(Jt, Z), n = Mt(Gt, Z), ft = I === it ? n : Kt, W = T ? n : ft;
110
113
  e.style.left = "auto", e.style.top = "auto", e.style.right = "0", e.style.bottom = "0";
111
- const ft = e.getBoundingClientRect();
112
- e.style.left = St, e.style.top = jt, e.style.right = Nt, e.style.bottom = Wt, e.style.overflow = $t, e.parentElement?.removeChild(A);
113
- const B = Mt(Math.round(P / parseFloat(Ht) * 1e3) / 1e3), M = Mt(Math.round(v / parseFloat(Et) * 1e3) / 1e3);
114
- if (B === 0 || M === 0 || Ae(l) && !Xe(l))
114
+ const lt = e.getBoundingClientRect();
115
+ e.style.left = Nt, e.style.top = Wt, e.style.right = $t, e.style.bottom = Et, e.style.overflow = Ht, e.parentElement?.removeChild(P);
116
+ const B = Ot(Math.round(v / parseFloat(kt) * 1e3) / 1e3), M = Ot(Math.round(Y / parseFloat(Dt) * 1e3) / 1e3);
117
+ if (B === 0 || M === 0 || Xe(l) && !Ye(l))
115
118
  return;
116
119
  const {
117
- offset: Jt,
118
- targetOffset: Kt
119
- } = C;
120
- let [x, b] = Vt(s, Jt);
121
- const [Qt, Zt] = Vt(i, Kt);
122
- i.x -= Qt, i.y -= Zt;
123
- const [te, ee] = C.points || [], X = Ct(ee), g = Ct(te), lt = V(i, X), ct = V(s, g), O = {
124
- ...C
120
+ offset: Qt,
121
+ targetOffset: Zt
122
+ } = V;
123
+ let [x, b] = Ct(s, Qt);
124
+ const [te, ee] = Ct(i, Zt);
125
+ i.x -= te, i.y -= ee;
126
+ const [oe, ne] = V.points || [], $ = Lt(ne), d = Lt(oe), ct = O(i, $), pt = O(s, d), _ = {
127
+ ...V
125
128
  };
126
- let r = lt.x - ct.x + x, f = lt.y - ct.y + b;
127
- const R = y(r, f), E = y(r, f, n), pt = V(i, ["t", "l"]), ut = V(s, ["t", "l"]), at = V(i, ["b", "r"]), ht = V(s, ["b", "r"]), oe = C.overflow || {}, {
128
- adjustX: ne,
129
- adjustY: se,
130
- shiftX: gt,
131
- shiftY: mt
132
- } = oe, yt = (t) => typeof t == "boolean" ? t : t >= 0;
133
- let S, H, j, D;
134
- dt();
135
- const xt = yt(se), bt = g[0] === X[0];
136
- if (xt && g[0] === "t" && (H > $.bottom || u.current.bt)) {
129
+ let a = [d, $], r = ct.x - pt.x + x, f = ct.y - pt.y + b;
130
+ const R = y(r, f), E = y(r, f, n), at = O(i, ["t", "l"]), ut = O(s, ["t", "l"]), ht = O(i, ["b", "r"]), gt = O(s, ["b", "r"]), se = V.overflow || {}, {
131
+ adjustX: ie,
132
+ adjustY: re,
133
+ shiftX: mt,
134
+ shiftY: yt
135
+ } = se, xt = (t) => typeof t == "boolean" ? t : t >= 0;
136
+ let F, H, S, D;
137
+ bt();
138
+ const dt = xt(re), Rt = d[0] === $[0];
139
+ if (dt && d[0] === "t" && (H > W.bottom || u.current.bt)) {
137
140
  let t = f;
138
- bt ? t -= v - L : t = pt.y - ht.y - b;
139
- const a = y(r, t), h = y(r, t, n);
141
+ Rt ? t -= Y - C : t = at.y - gt.y - b;
142
+ const h = y(r, t), g = y(r, t, n);
140
143
  // Of course use larger one
141
- a > R || a === R && (!F || // Choose recommend one
142
- h >= E) ? (u.current.bt = !0, f = t, b = -b, O.points = [w(g, 0), w(X, 0)]) : u.current.bt = !1;
144
+ h > R || h === R && (!T || // Choose recommend one
145
+ g >= E) ? (u.current.bt = !0, f = t, b = -b, a = [w(a[0], 0), w(a[1], 0)]) : u.current.bt = !1;
143
146
  }
144
- if (xt && g[0] === "b" && (S < $.top || u.current.tb)) {
147
+ if (dt && d[0] === "b" && (F < W.top || u.current.tb)) {
145
148
  let t = f;
146
- bt ? t += v - L : t = at.y - ut.y - b;
147
- const a = y(r, t), h = y(r, t, n);
149
+ Rt ? t += Y - C : t = ht.y - ut.y - b;
150
+ const h = y(r, t), g = y(r, t, n);
148
151
  // Of course use larger one
149
- a > R || a === R && (!F || // Choose recommend one
150
- h >= E) ? (u.current.tb = !0, f = t, b = -b, O.points = [w(g, 0), w(X, 0)]) : u.current.tb = !1;
152
+ h > R || h === R && (!T || // Choose recommend one
153
+ g >= E) ? (u.current.tb = !0, f = t, b = -b, a = [w(a[0], 0), w(a[1], 0)]) : u.current.tb = !1;
151
154
  }
152
- const Rt = yt(ne), wt = g[1] === X[1];
153
- if (Rt && g[1] === "l" && (D > $.right || u.current.rl)) {
155
+ const wt = xt(ie), At = d[1] === $[1];
156
+ if (wt && d[1] === "l" && (D > W.right || u.current.rl)) {
154
157
  let t = r;
155
- wt ? t -= P - I : t = pt.x - ht.x - x;
156
- const a = y(t, f), h = y(t, f, n);
158
+ At ? t -= v - L : t = at.x - gt.x - x;
159
+ const h = y(t, f), g = y(t, f, n);
157
160
  // Of course use larger one
158
- a > R || a === R && (!F || // Choose recommend one
159
- h >= E) ? (u.current.rl = !0, r = t, x = -x, O.points = [w(g, 1), w(X, 1)]) : u.current.rl = !1;
161
+ h > R || h === R && (!T || // Choose recommend one
162
+ g >= E) ? (u.current.rl = !0, r = t, x = -x, a = [w(a[0], 1), w(a[1], 1)]) : u.current.rl = !1;
160
163
  }
161
- if (Rt && g[1] === "r" && (j < $.left || u.current.lr)) {
164
+ if (wt && d[1] === "r" && (S < W.left || u.current.lr)) {
162
165
  let t = r;
163
- wt ? t += P - I : t = at.x - ut.x - x;
164
- const a = y(t, f), h = y(t, f, n);
166
+ At ? t += v - L : t = ht.x - ut.x - x;
167
+ const h = y(t, f), g = y(t, f, n);
165
168
  // Of course use larger one
166
- a > R || a === R && (!F || // Choose recommend one
167
- h >= E) ? (u.current.lr = !0, r = t, x = -x, O.points = [w(g, 1), w(X, 1)]) : u.current.lr = !1;
169
+ h > R || h === R && (!T || // Choose recommend one
170
+ g >= E) ? (u.current.lr = !0, r = t, x = -x, a = [w(a[0], 1), w(a[1], 1)]) : u.current.lr = !1;
168
171
  }
169
- dt();
170
- const N = gt === !0 ? 0 : gt;
171
- typeof N == "number" && (j < n.left && (r -= j - n.left - x, i.x + I < n.left + N && (r += i.x - n.left + I - N)), D > n.right && (r -= D - n.right - x, i.x > n.right - N && (r += i.x - n.right + N)));
172
- const W = mt === !0 ? 0 : mt;
173
- typeof W == "number" && (S < n.top && (f -= S - n.top - b, i.y + L < n.top + W && (f += i.y - n.top + L - W)), H > n.bottom && (f -= H - n.bottom - b, i.y > n.bottom - W && (f += i.y - n.bottom + W)));
174
- const _ = s.x + r, ie = _ + P, q = s.y + f, re = q + v, At = i.x, fe = At + I, Xt = i.y, le = Xt + L, ce = Math.max(_, At), pe = Math.min(ie, fe), ue = (ce + pe) / 2 - _, ae = Math.max(q, Xt), he = Math.min(re, le), ge = (ae + he) / 2 - q;
175
- Lt?.(c, O);
176
- let z = ft.right - s.x - (r + s.width), G = ft.bottom - s.y - (f + s.height);
177
- B === 1 && (r = Math.round(r), z = Math.round(z)), M === 1 && (f = Math.round(f), G = Math.round(G));
178
- const me = {
172
+ _.points = [It(a[0]), It(a[1])], bt();
173
+ const j = mt === !0 ? 0 : mt;
174
+ typeof j == "number" && (S < n.left && (r -= S - n.left - x, i.x + L < n.left + j && (r += i.x - n.left + L - j)), D > n.right && (r -= D - n.right - x, i.x > n.right - j && (r += i.x - n.right + j)));
175
+ const N = yt === !0 ? 0 : yt;
176
+ typeof N == "number" && (F < n.top && (f -= F - n.top - b, i.y + C < n.top + N && (f += i.y - n.top + C - N)), H > n.bottom && (f -= H - n.bottom - b, i.y > n.bottom - N && (f += i.y - n.bottom + N)));
177
+ const q = s.x + r, fe = q + v, z = s.y + f, le = z + Y, Pt = i.x, ce = Pt + L, Xt = i.y, pe = Xt + C, ae = Math.max(q, Pt), ue = Math.min(fe, ce), he = (ae + ue) / 2 - q, ge = Math.max(z, Xt), me = Math.min(le, pe), ye = (ge + me) / 2 - z;
178
+ Tt?.(c, _);
179
+ let G = lt.right - s.x - (r + s.width), J = lt.bottom - s.y - (f + s.height);
180
+ B === 1 && (r = Math.floor(r), G = Math.floor(G)), M === 1 && (f = Math.floor(f), J = Math.floor(J));
181
+ const xe = {
179
182
  ready: !0,
180
183
  offsetX: r / B,
181
184
  offsetY: f / M,
182
- offsetR: z / B,
183
- offsetB: G / M,
184
- arrowX: ue / B,
185
- arrowY: ge / M,
185
+ offsetR: G / B,
186
+ offsetB: J / M,
187
+ arrowX: he / B,
188
+ arrowY: ye / M,
186
189
  scaleX: B,
187
190
  scaleY: M,
188
- align: O
191
+ align: _
189
192
  };
190
- K(me);
193
+ Q(xe);
191
194
  }
192
- }), Tt = () => {
195
+ }), St = () => {
193
196
  U.current += 1;
194
197
  const e = U.current;
195
198
  Promise.resolve().then(() => {
196
- U.current === e && It();
199
+ U.current === e && Ft();
197
200
  });
198
- }, Z = () => {
199
- K((e) => ({
201
+ }, tt = () => {
202
+ Q((e) => ({
200
203
  ...e,
201
204
  ready: !1
202
205
  }));
203
206
  };
204
- return Pt(Z, [p]), Pt(() => {
205
- o || Z();
206
- }, [o]), [m.ready, m.offsetX, m.offsetY, m.offsetR, m.offsetB, m.arrowX, m.arrowY, m.scaleX, m.scaleY, m.align, Tt];
207
+ return Bt(tt, [p]), Bt(() => {
208
+ o || tt();
209
+ }, [o]), [m.ready, m.offsetX, m.offsetY, m.offsetR, m.offsetB, m.arrowX, m.arrowY, m.scaleX, m.scaleY, m.align, St];
207
210
  }
208
211
  export {
209
- Fe as default
212
+ je as default
210
213
  };
211
214
  //# sourceMappingURL=useAlign.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAlign.js","sources":["../../../../../../node_modules/@rc-component/trigger/es/hooks/useAlign.js"],"sourcesContent":["import { isDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport isVisible from \"@rc-component/util/es/Dom/isVisible\";\nimport useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size, offset = 0) {\n const offsetStr = `${offset}`;\n const cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n const [offsetX, offsetY] = offset || [];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints(points = '') {\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n const topBottom = points[0];\n const leftRight = points[1];\n let x;\n let y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x,\n y\n };\n}\nfunction reversePoints(points, index) {\n const reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n return points.map((point, i) => {\n if (i === index) {\n return reverseMap[point] || 'c';\n }\n return point;\n }).join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign, mobile) {\n const [offsetInfo, setOffsetInfo] = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n });\n const alignCountRef = React.useRef(0);\n const scrollerList = React.useMemo(() => {\n if (!popupEle || mobile) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n const prevFlipRef = React.useRef({});\n const resetFlipCache = () => {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n const onAlign = useEvent(() => {\n if (popupEle && target && open && !mobile) {\n const popupElement = popupEle;\n const doc = popupElement.ownerDocument;\n const win = getWin(popupElement);\n const {\n position: popupPosition\n } = win.getComputedStyle(popupElement);\n const originLeft = popupElement.style.left;\n const originTop = popupElement.style.top;\n const originRight = popupElement.style.right;\n const originBottom = popupElement.style.bottom;\n const originOverflow = popupElement.style.overflow;\n\n // Placement\n const placementInfo = {\n ...builtinPlacements[placement],\n ...popupAlign\n };\n\n // placeholder element\n const placeholderElement = doc.createElement('div');\n popupElement.parentElement?.appendChild(placeholderElement);\n placeholderElement.style.left = `${popupElement.offsetLeft}px`;\n placeholderElement.style.top = `${popupElement.offsetTop}px`;\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = `${popupElement.offsetHeight}px`;\n placeholderElement.style.width = `${popupElement.offsetWidth}px`;\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n let targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n const rect = target.getBoundingClientRect();\n rect.x = rect.x ?? rect.left;\n rect.y = rect.y ?? rect.top;\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n const popupRect = popupElement.getBoundingClientRect();\n const {\n height,\n width\n } = win.getComputedStyle(popupElement);\n popupRect.x = popupRect.x ?? popupRect.left;\n popupRect.y = popupRect.y ?? popupRect.top;\n const {\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n scrollTop,\n scrollLeft\n } = doc.documentElement;\n const popupHeight = popupRect.height;\n const popupWidth = popupRect.width;\n const targetHeight = targetRect.height;\n const targetWidth = targetRect.width;\n\n // Get bounding of visible area\n const visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n const scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n let {\n htmlRegion\n } = placementInfo;\n const VISIBLE = 'visible';\n const VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n const isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n const scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n const visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n const visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n const adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n const popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n popupElement.parentElement?.removeChild(placeholderElement);\n\n // Calculate scale\n const scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n const scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (scaleX === 0 || scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n const {\n offset,\n targetOffset\n } = placementInfo;\n let [popupOffsetX, popupOffsetY] = getNumberOffset(popupRect, offset);\n const [targetOffsetX, targetOffsetY] = getNumberOffset(targetRect, targetOffset);\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n const [popupPoint, targetPoint] = placementInfo.points || [];\n const targetPoints = splitPoints(targetPoint);\n const popupPoints = splitPoints(popupPoint);\n const targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n const popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n const nextAlignInfo = {\n ...placementInfo\n };\n\n // Next Offset\n let nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n let nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY, area = visibleArea) {\n const l = popupRect.x + offsetX;\n const t = popupRect.y + offsetY;\n const r = l + popupWidth;\n const b = t + popupHeight;\n const visibleL = Math.max(l, area.left);\n const visibleT = Math.max(t, area.top);\n const visibleR = Math.min(r, area.right);\n const visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n const originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n const originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n const targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n const popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n const targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n const popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n const overflow = placementInfo.overflow || {};\n const {\n adjustX,\n adjustY,\n shiftX,\n shiftY\n } = overflow;\n const supportAdjust = val => {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n let nextPopupY;\n let nextPopupBottom;\n let nextPopupX;\n let nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n const needAdjustY = supportAdjust(adjustY);\n const sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextAlignInfo.points = [reversePoints(popupPoints, 0), reversePoints(targetPoints, 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n const needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n const sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextAlignInfo.points = [reversePoints(popupPoints, 1), reversePoints(targetPoints, 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n const numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n const numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n const popupLeft = popupRect.x + nextOffsetX;\n const popupRight = popupLeft + popupWidth;\n const popupTop = popupRect.y + nextOffsetY;\n const popupBottom = popupTop + popupHeight;\n const targetLeft = targetRect.x;\n const targetRight = targetLeft + targetWidth;\n const targetTop = targetRect.y;\n const targetBottom = targetTop + targetHeight;\n\n /** Max left of the popup and target element */\n const maxLeft = Math.max(popupLeft, targetLeft);\n /** Min right of the popup and target element */\n const minRight = Math.min(popupRight, targetRight);\n\n /** The center X of popup & target cross area */\n const xCenter = (maxLeft + minRight) / 2;\n /** Arrow X of popup offset */\n const nextArrowX = xCenter - popupLeft;\n const maxTop = Math.max(popupTop, targetTop);\n const minBottom = Math.min(popupBottom, targetBottom);\n const yCenter = (maxTop + minBottom) / 2;\n const nextArrowY = yCenter - popupTop;\n onPopupAlign?.(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n let offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n let offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n if (scaleX === 1) {\n nextOffsetX = Math.round(nextOffsetX);\n offsetX4Right = Math.round(offsetX4Right);\n }\n if (scaleY === 1) {\n nextOffsetY = Math.round(nextOffsetY);\n offsetY4Bottom = Math.round(offsetY4Bottom);\n }\n const nextOffsetInfo = {\n ready: true,\n offsetX: nextOffsetX / scaleX,\n offsetY: nextOffsetY / scaleY,\n offsetR: offsetX4Right / scaleX,\n offsetB: offsetY4Bottom / scaleY,\n arrowX: nextArrowX / scaleX,\n arrowY: nextArrowY / scaleY,\n scaleX,\n scaleY,\n align: nextAlignInfo\n };\n setOffsetInfo(nextOffsetInfo);\n }\n });\n const triggerAlign = () => {\n alignCountRef.current += 1;\n const id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(() => {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n const resetReady = () => {\n setOffsetInfo(ori => ({\n ...ori,\n ready: false\n }));\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(() => {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}"],"names":["getUnitOffset","size","offset","offsetStr","cells","getNumberOffset","rect","offsetX","offsetY","splitPoints","points","getAlignPoint","topBottom","leftRight","x","y","reversePoints","index","reverseMap","point","i","useAlign","open","popupEle","target","placement","builtinPlacements","popupAlign","onPopupAlign","mobile","offsetInfo","setOffsetInfo","React","alignCountRef","scrollerList","collectScroller","prevFlipRef","onAlign","useEvent","getIntersectionVisibleArea","area","visibleArea","l","popupRect","t","r","popupWidth","b","popupHeight","visibleL","visibleT","visibleR","visibleB","syncNextPopupPosition","nextPopupY","nextOffsetY","nextPopupBottom","nextPopupX","nextOffsetX","nextPopupRight","popupElement","doc","win","getWin","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","targetRect","height","width","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","targetHeight","targetWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","getVisibleArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","scaleX","toNum","scaleY","isDOM","isVisible","targetOffset","popupOffsetX","popupOffsetY","targetOffsetX","targetOffsetY","popupPoint","targetPoint","targetPoints","popupPoints","targetAlignPoint","popupAlignPoint","nextAlignInfo","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","overflow","adjustX","adjustY","shiftX","shiftY","supportAdjust","val","needAdjustY","sameTB","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","needAdjustX","sameLR","tmpNextOffsetX","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","maxLeft","minRight","nextArrowX","maxTop","minBottom","nextArrowY","offsetX4Right","offsetY4Bottom","nextOffsetInfo","triggerAlign","id","resetReady","ori","useLayoutEffect"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"useAlign.js","sources":["../../../../../../node_modules/@rc-component/trigger/es/hooks/useAlign.js"],"sourcesContent":["import { isDOM } from \"@rc-component/util/es/Dom/findDOMNode\";\nimport isVisible from \"@rc-component/util/es/Dom/isVisible\";\nimport useEvent from \"@rc-component/util/es/hooks/useEvent\";\nimport useLayoutEffect from \"@rc-component/util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { collectScroller, getVisibleArea, getWin, toNum } from \"../util\";\nfunction getUnitOffset(size, offset = 0) {\n const offsetStr = `${offset}`;\n const cells = offsetStr.match(/^(.*)\\%$/);\n if (cells) {\n return size * (parseFloat(cells[1]) / 100);\n }\n return parseFloat(offsetStr);\n}\nfunction getNumberOffset(rect, offset) {\n const [offsetX, offsetY] = offset || [];\n return [getUnitOffset(rect.width, offsetX), getUnitOffset(rect.height, offsetY)];\n}\nfunction splitPoints(points = '') {\n return [points[0], points[1]];\n}\nfunction getAlignPoint(rect, points) {\n const topBottom = points[0];\n const leftRight = points[1];\n let x;\n let y;\n\n // Top & Bottom\n if (topBottom === 't') {\n y = rect.y;\n } else if (topBottom === 'b') {\n y = rect.y + rect.height;\n } else {\n y = rect.y + rect.height / 2;\n }\n\n // Left & Right\n if (leftRight === 'l') {\n x = rect.x;\n } else if (leftRight === 'r') {\n x = rect.x + rect.width;\n } else {\n x = rect.x + rect.width / 2;\n }\n return {\n x,\n y\n };\n}\nfunction reversePoints(points, index) {\n const reverseMap = {\n t: 'b',\n b: 't',\n l: 'r',\n r: 'l'\n };\n const clone = [...points];\n clone[index] = reverseMap[points[index]] || 'c';\n return clone;\n}\nfunction flatPoints(points) {\n return points.join('');\n}\nexport default function useAlign(open, popupEle, target, placement, builtinPlacements, popupAlign, onPopupAlign, mobile) {\n const [offsetInfo, setOffsetInfo] = React.useState({\n ready: false,\n offsetX: 0,\n offsetY: 0,\n offsetR: 0,\n offsetB: 0,\n arrowX: 0,\n arrowY: 0,\n scaleX: 1,\n scaleY: 1,\n align: builtinPlacements[placement] || {}\n });\n const alignCountRef = React.useRef(0);\n const scrollerList = React.useMemo(() => {\n if (!popupEle || mobile) {\n return [];\n }\n return collectScroller(popupEle);\n }, [popupEle]);\n\n // ========================= Flip ==========================\n // We will memo flip info.\n // If size change to make flip, it will memo the flip info and use it in next align.\n const prevFlipRef = React.useRef({});\n const resetFlipCache = () => {\n prevFlipRef.current = {};\n };\n if (!open) {\n resetFlipCache();\n }\n\n // ========================= Align =========================\n const onAlign = useEvent(() => {\n if (popupEle && target && open && !mobile) {\n const popupElement = popupEle;\n const doc = popupElement.ownerDocument;\n const win = getWin(popupElement);\n const {\n position: popupPosition\n } = win.getComputedStyle(popupElement);\n const originLeft = popupElement.style.left;\n const originTop = popupElement.style.top;\n const originRight = popupElement.style.right;\n const originBottom = popupElement.style.bottom;\n const originOverflow = popupElement.style.overflow;\n\n // Placement\n const placementInfo = {\n ...builtinPlacements[placement],\n ...popupAlign\n };\n\n // placeholder element\n const placeholderElement = doc.createElement('div');\n popupElement.parentElement?.appendChild(placeholderElement);\n placeholderElement.style.left = `${popupElement.offsetLeft}px`;\n placeholderElement.style.top = `${popupElement.offsetTop}px`;\n placeholderElement.style.position = popupPosition;\n placeholderElement.style.height = `${popupElement.offsetHeight}px`;\n placeholderElement.style.width = `${popupElement.offsetWidth}px`;\n\n // Reset first\n popupElement.style.left = '0';\n popupElement.style.top = '0';\n popupElement.style.right = 'auto';\n popupElement.style.bottom = 'auto';\n popupElement.style.overflow = 'hidden';\n\n // Calculate align style, we should consider `transform` case\n let targetRect;\n if (Array.isArray(target)) {\n targetRect = {\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n };\n } else {\n const rect = target.getBoundingClientRect();\n rect.x = rect.x ?? rect.left;\n rect.y = rect.y ?? rect.top;\n targetRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n };\n }\n const popupRect = popupElement.getBoundingClientRect();\n const {\n height,\n width\n } = win.getComputedStyle(popupElement);\n popupRect.x = popupRect.x ?? popupRect.left;\n popupRect.y = popupRect.y ?? popupRect.top;\n const {\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n scrollTop,\n scrollLeft\n } = doc.documentElement;\n const popupHeight = popupRect.height;\n const popupWidth = popupRect.width;\n const targetHeight = targetRect.height;\n const targetWidth = targetRect.width;\n\n // Get bounding of visible area\n const visibleRegion = {\n left: 0,\n top: 0,\n right: clientWidth,\n bottom: clientHeight\n };\n const scrollRegion = {\n left: -scrollLeft,\n top: -scrollTop,\n right: scrollWidth - scrollLeft,\n bottom: scrollHeight - scrollTop\n };\n let {\n htmlRegion\n } = placementInfo;\n const VISIBLE = 'visible';\n const VISIBLE_FIRST = 'visibleFirst';\n if (htmlRegion !== 'scroll' && htmlRegion !== VISIBLE_FIRST) {\n htmlRegion = VISIBLE;\n }\n const isVisibleFirst = htmlRegion === VISIBLE_FIRST;\n const scrollRegionArea = getVisibleArea(scrollRegion, scrollerList);\n const visibleRegionArea = getVisibleArea(visibleRegion, scrollerList);\n const visibleArea = htmlRegion === VISIBLE ? visibleRegionArea : scrollRegionArea;\n\n // When set to `visibleFirst`,\n // the check `adjust` logic will use `visibleRegion` for check first.\n const adjustCheckVisibleArea = isVisibleFirst ? visibleRegionArea : visibleArea;\n\n // Record right & bottom align data\n popupElement.style.left = 'auto';\n popupElement.style.top = 'auto';\n popupElement.style.right = '0';\n popupElement.style.bottom = '0';\n const popupMirrorRect = popupElement.getBoundingClientRect();\n\n // Reset back\n popupElement.style.left = originLeft;\n popupElement.style.top = originTop;\n popupElement.style.right = originRight;\n popupElement.style.bottom = originBottom;\n popupElement.style.overflow = originOverflow;\n popupElement.parentElement?.removeChild(placeholderElement);\n\n // Calculate scale\n const scaleX = toNum(Math.round(popupWidth / parseFloat(width) * 1000) / 1000);\n const scaleY = toNum(Math.round(popupHeight / parseFloat(height) * 1000) / 1000);\n\n // No need to align since it's not visible in view\n if (scaleX === 0 || scaleY === 0 || isDOM(target) && !isVisible(target)) {\n return;\n }\n\n // Offset\n const {\n offset,\n targetOffset\n } = placementInfo;\n let [popupOffsetX, popupOffsetY] = getNumberOffset(popupRect, offset);\n const [targetOffsetX, targetOffsetY] = getNumberOffset(targetRect, targetOffset);\n targetRect.x -= targetOffsetX;\n targetRect.y -= targetOffsetY;\n\n // Points\n const [popupPoint, targetPoint] = placementInfo.points || [];\n const targetPoints = splitPoints(targetPoint);\n const popupPoints = splitPoints(popupPoint);\n const targetAlignPoint = getAlignPoint(targetRect, targetPoints);\n const popupAlignPoint = getAlignPoint(popupRect, popupPoints);\n\n // Real align info may not same as origin one\n const nextAlignInfo = {\n ...placementInfo\n };\n let nextPoints = [popupPoints, targetPoints];\n\n // Next Offset\n let nextOffsetX = targetAlignPoint.x - popupAlignPoint.x + popupOffsetX;\n let nextOffsetY = targetAlignPoint.y - popupAlignPoint.y + popupOffsetY;\n\n // ============== Intersection ===============\n // Get area by position. Used for check if flip area is better\n function getIntersectionVisibleArea(offsetX, offsetY, area = visibleArea) {\n const l = popupRect.x + offsetX;\n const t = popupRect.y + offsetY;\n const r = l + popupWidth;\n const b = t + popupHeight;\n const visibleL = Math.max(l, area.left);\n const visibleT = Math.max(t, area.top);\n const visibleR = Math.min(r, area.right);\n const visibleB = Math.min(b, area.bottom);\n return Math.max(0, (visibleR - visibleL) * (visibleB - visibleT));\n }\n const originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);\n\n // As `visibleFirst`, we prepare this for check\n const originIntersectionRecommendArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY, visibleRegionArea);\n\n // ========================== Overflow ===========================\n const targetAlignPointTL = getAlignPoint(targetRect, ['t', 'l']);\n const popupAlignPointTL = getAlignPoint(popupRect, ['t', 'l']);\n const targetAlignPointBR = getAlignPoint(targetRect, ['b', 'r']);\n const popupAlignPointBR = getAlignPoint(popupRect, ['b', 'r']);\n const overflow = placementInfo.overflow || {};\n const {\n adjustX,\n adjustY,\n shiftX,\n shiftY\n } = overflow;\n const supportAdjust = val => {\n if (typeof val === 'boolean') {\n return val;\n }\n return val >= 0;\n };\n\n // Prepare position\n let nextPopupY;\n let nextPopupBottom;\n let nextPopupX;\n let nextPopupRight;\n function syncNextPopupPosition() {\n nextPopupY = popupRect.y + nextOffsetY;\n nextPopupBottom = nextPopupY + popupHeight;\n nextPopupX = popupRect.x + nextOffsetX;\n nextPopupRight = nextPopupX + popupWidth;\n }\n syncNextPopupPosition();\n\n // >>>>>>>>>> Top & Bottom\n const needAdjustY = supportAdjust(adjustY);\n const sameTB = popupPoints[0] === targetPoints[0];\n\n // Bottom to Top\n if (needAdjustY && popupPoints[0] === 't' && (nextPopupBottom > adjustCheckVisibleArea.bottom || prevFlipRef.current.bt)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY -= popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointTL.y - popupAlignPointBR.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.bt = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextPoints = [reversePoints(nextPoints[0], 0), reversePoints(nextPoints[1], 0)];\n } else {\n prevFlipRef.current.bt = false;\n }\n }\n\n // Top to Bottom\n if (needAdjustY && popupPoints[0] === 'b' && (nextPopupY < adjustCheckVisibleArea.top || prevFlipRef.current.tb)) {\n let tmpNextOffsetY = nextOffsetY;\n if (sameTB) {\n tmpNextOffsetY += popupHeight - targetHeight;\n } else {\n tmpNextOffsetY = targetAlignPointBR.y - popupAlignPointTL.y - popupOffsetY;\n }\n const newVisibleArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(nextOffsetX, tmpNextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.tb = true;\n nextOffsetY = tmpNextOffsetY;\n popupOffsetY = -popupOffsetY;\n nextPoints = [reversePoints(nextPoints[0], 0), reversePoints(nextPoints[1], 0)];\n } else {\n prevFlipRef.current.tb = false;\n }\n }\n\n // >>>>>>>>>> Left & Right\n const needAdjustX = supportAdjust(adjustX);\n\n // >>>>> Flip\n const sameLR = popupPoints[1] === targetPoints[1];\n\n // Right to Left\n if (needAdjustX && popupPoints[1] === 'l' && (nextPopupRight > adjustCheckVisibleArea.right || prevFlipRef.current.rl)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX -= popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointTL.x - popupAlignPointBR.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.rl = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextPoints = [reversePoints(nextPoints[0], 1), reversePoints(nextPoints[1], 1)];\n } else {\n prevFlipRef.current.rl = false;\n }\n }\n\n // Left to Right\n if (needAdjustX && popupPoints[1] === 'r' && (nextPopupX < adjustCheckVisibleArea.left || prevFlipRef.current.lr)) {\n let tmpNextOffsetX = nextOffsetX;\n if (sameLR) {\n tmpNextOffsetX += popupWidth - targetWidth;\n } else {\n tmpNextOffsetX = targetAlignPointBR.x - popupAlignPointTL.x - popupOffsetX;\n }\n const newVisibleArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY);\n const newVisibleRecommendArea = getIntersectionVisibleArea(tmpNextOffsetX, nextOffsetY, visibleRegionArea);\n if (\n // Of course use larger one\n newVisibleArea > originIntersectionVisibleArea || newVisibleArea === originIntersectionVisibleArea && (!isVisibleFirst ||\n // Choose recommend one\n newVisibleRecommendArea >= originIntersectionRecommendArea)) {\n prevFlipRef.current.lr = true;\n nextOffsetX = tmpNextOffsetX;\n popupOffsetX = -popupOffsetX;\n nextPoints = [reversePoints(nextPoints[0], 1), reversePoints(nextPoints[1], 1)];\n } else {\n prevFlipRef.current.lr = false;\n }\n }\n nextAlignInfo.points = [flatPoints(nextPoints[0]), flatPoints(nextPoints[1])];\n\n // ============================ Shift ============================\n syncNextPopupPosition();\n const numShiftX = shiftX === true ? 0 : shiftX;\n if (typeof numShiftX === 'number') {\n // Left\n if (nextPopupX < visibleRegionArea.left) {\n nextOffsetX -= nextPopupX - visibleRegionArea.left - popupOffsetX;\n if (targetRect.x + targetWidth < visibleRegionArea.left + numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.left + targetWidth - numShiftX;\n }\n }\n\n // Right\n if (nextPopupRight > visibleRegionArea.right) {\n nextOffsetX -= nextPopupRight - visibleRegionArea.right - popupOffsetX;\n if (targetRect.x > visibleRegionArea.right - numShiftX) {\n nextOffsetX += targetRect.x - visibleRegionArea.right + numShiftX;\n }\n }\n }\n const numShiftY = shiftY === true ? 0 : shiftY;\n if (typeof numShiftY === 'number') {\n // Top\n if (nextPopupY < visibleRegionArea.top) {\n nextOffsetY -= nextPopupY - visibleRegionArea.top - popupOffsetY;\n\n // When target if far away from visible area\n // Stop shift\n if (targetRect.y + targetHeight < visibleRegionArea.top + numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.top + targetHeight - numShiftY;\n }\n }\n\n // Bottom\n if (nextPopupBottom > visibleRegionArea.bottom) {\n nextOffsetY -= nextPopupBottom - visibleRegionArea.bottom - popupOffsetY;\n if (targetRect.y > visibleRegionArea.bottom - numShiftY) {\n nextOffsetY += targetRect.y - visibleRegionArea.bottom + numShiftY;\n }\n }\n }\n\n // ============================ Arrow ============================\n // Arrow center align\n const popupLeft = popupRect.x + nextOffsetX;\n const popupRight = popupLeft + popupWidth;\n const popupTop = popupRect.y + nextOffsetY;\n const popupBottom = popupTop + popupHeight;\n const targetLeft = targetRect.x;\n const targetRight = targetLeft + targetWidth;\n const targetTop = targetRect.y;\n const targetBottom = targetTop + targetHeight;\n\n /** Max left of the popup and target element */\n const maxLeft = Math.max(popupLeft, targetLeft);\n /** Min right of the popup and target element */\n const minRight = Math.min(popupRight, targetRight);\n\n /** The center X of popup & target cross area */\n const xCenter = (maxLeft + minRight) / 2;\n /** Arrow X of popup offset */\n const nextArrowX = xCenter - popupLeft;\n const maxTop = Math.max(popupTop, targetTop);\n const minBottom = Math.min(popupBottom, targetBottom);\n const yCenter = (maxTop + minBottom) / 2;\n const nextArrowY = yCenter - popupTop;\n onPopupAlign?.(popupEle, nextAlignInfo);\n\n // Additional calculate right & bottom position\n let offsetX4Right = popupMirrorRect.right - popupRect.x - (nextOffsetX + popupRect.width);\n let offsetY4Bottom = popupMirrorRect.bottom - popupRect.y - (nextOffsetY + popupRect.height);\n if (scaleX === 1) {\n nextOffsetX = Math.floor(nextOffsetX);\n offsetX4Right = Math.floor(offsetX4Right);\n }\n if (scaleY === 1) {\n nextOffsetY = Math.floor(nextOffsetY);\n offsetY4Bottom = Math.floor(offsetY4Bottom);\n }\n const nextOffsetInfo = {\n ready: true,\n offsetX: nextOffsetX / scaleX,\n offsetY: nextOffsetY / scaleY,\n offsetR: offsetX4Right / scaleX,\n offsetB: offsetY4Bottom / scaleY,\n arrowX: nextArrowX / scaleX,\n arrowY: nextArrowY / scaleY,\n scaleX,\n scaleY,\n align: nextAlignInfo\n };\n setOffsetInfo(nextOffsetInfo);\n }\n });\n const triggerAlign = () => {\n alignCountRef.current += 1;\n const id = alignCountRef.current;\n\n // Merge all align requirement into one frame\n Promise.resolve().then(() => {\n if (alignCountRef.current === id) {\n onAlign();\n }\n });\n };\n\n // Reset ready status when placement & open changed\n const resetReady = () => {\n setOffsetInfo(ori => ({\n ...ori,\n ready: false\n }));\n };\n useLayoutEffect(resetReady, [placement]);\n useLayoutEffect(() => {\n if (!open) {\n resetReady();\n }\n }, [open]);\n return [offsetInfo.ready, offsetInfo.offsetX, offsetInfo.offsetY, offsetInfo.offsetR, offsetInfo.offsetB, offsetInfo.arrowX, offsetInfo.arrowY, offsetInfo.scaleX, offsetInfo.scaleY, offsetInfo.align, triggerAlign];\n}"],"names":["getUnitOffset","size","offset","offsetStr","cells","getNumberOffset","rect","offsetX","offsetY","splitPoints","points","getAlignPoint","topBottom","leftRight","x","y","reversePoints","index","reverseMap","clone","flatPoints","useAlign","open","popupEle","target","placement","builtinPlacements","popupAlign","onPopupAlign","mobile","offsetInfo","setOffsetInfo","React","alignCountRef","scrollerList","collectScroller","prevFlipRef","onAlign","useEvent","getIntersectionVisibleArea","area","visibleArea","l","popupRect","t","r","popupWidth","b","popupHeight","visibleL","visibleT","visibleR","visibleB","syncNextPopupPosition","nextPopupY","nextOffsetY","nextPopupBottom","nextPopupX","nextOffsetX","nextPopupRight","popupElement","doc","win","getWin","popupPosition","originLeft","originTop","originRight","originBottom","originOverflow","placementInfo","placeholderElement","targetRect","height","width","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","targetHeight","targetWidth","visibleRegion","scrollRegion","htmlRegion","VISIBLE","VISIBLE_FIRST","isVisibleFirst","scrollRegionArea","getVisibleArea","visibleRegionArea","adjustCheckVisibleArea","popupMirrorRect","scaleX","toNum","scaleY","isDOM","isVisible","targetOffset","popupOffsetX","popupOffsetY","targetOffsetX","targetOffsetY","popupPoint","targetPoint","targetPoints","popupPoints","targetAlignPoint","popupAlignPoint","nextAlignInfo","nextPoints","originIntersectionVisibleArea","originIntersectionRecommendArea","targetAlignPointTL","popupAlignPointTL","targetAlignPointBR","popupAlignPointBR","overflow","adjustX","adjustY","shiftX","shiftY","supportAdjust","val","needAdjustY","sameTB","tmpNextOffsetY","newVisibleArea","newVisibleRecommendArea","needAdjustX","sameLR","tmpNextOffsetX","numShiftX","numShiftY","popupLeft","popupRight","popupTop","popupBottom","targetLeft","targetRight","targetTop","targetBottom","maxLeft","minRight","nextArrowX","maxTop","minBottom","nextArrowY","offsetX4Right","offsetY4Bottom","nextOffsetInfo","triggerAlign","id","resetReady","ori","useLayoutEffect"],"mappings":"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","x_google_ignoreList":[0]}