one-design-next 0.0.4-alpha.100

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 (520) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/dist/_util/canUseDom.d.ts +1 -0
  4. package/dist/_util/canUseDom.js +3 -0
  5. package/dist/_util/color.d.ts +103 -0
  6. package/dist/_util/color.js +250 -0
  7. package/dist/_util/date.d.ts +53 -0
  8. package/dist/_util/date.js +657 -0
  9. package/dist/_util/focusManager.d.ts +12 -0
  10. package/dist/_util/focusManager.js +56 -0
  11. package/dist/_util/queueMtPolyfill.d.ts +5 -0
  12. package/dist/_util/queueMtPolyfill.js +19 -0
  13. package/dist/_util/time.d.ts +44 -0
  14. package/dist/_util/time.js +150 -0
  15. package/dist/_util/useActive.d.ts +6 -0
  16. package/dist/_util/useActive.js +25 -0
  17. package/dist/_util/useControlledState.d.ts +8 -0
  18. package/dist/_util/useControlledState.js +30 -0
  19. package/dist/_util/useLayoutEffect.d.ts +4 -0
  20. package/dist/_util/useLayoutEffect.js +30 -0
  21. package/dist/alert/index.d.ts +63 -0
  22. package/dist/alert/index.js +137 -0
  23. package/dist/alert/style/index.css +184 -0
  24. package/dist/alert/style/index.d.ts +2 -0
  25. package/dist/alert/style/index.js +2 -0
  26. package/dist/auto-complete/index.d.ts +64 -0
  27. package/dist/auto-complete/index.js +149 -0
  28. package/dist/avatar/index.d.ts +68 -0
  29. package/dist/avatar/index.js +177 -0
  30. package/dist/avatar/primitive.d.ts +6 -0
  31. package/dist/avatar/primitive.js +23 -0
  32. package/dist/avatar/style/index.css +74 -0
  33. package/dist/avatar/style/index.d.ts +2 -0
  34. package/dist/avatar/style/index.js +2 -0
  35. package/dist/button/index.d.ts +15 -0
  36. package/dist/button/index.js +64 -0
  37. package/dist/button/style/index.css +338 -0
  38. package/dist/button/style/index.d.ts +2 -0
  39. package/dist/button/style/index.js +2 -0
  40. package/dist/calendar/index.d.ts +25 -0
  41. package/dist/calendar/index.js +379 -0
  42. package/dist/calendar/style/index.css +5 -0
  43. package/dist/calendar/style/index.d.ts +2 -0
  44. package/dist/calendar/style/index.js +2 -0
  45. package/dist/card/header.d.ts +26 -0
  46. package/dist/card/header.js +37 -0
  47. package/dist/card/index.d.ts +24 -0
  48. package/dist/card/index.js +31 -0
  49. package/dist/card/style/index.css +141 -0
  50. package/dist/card/style/index.d.ts +1 -0
  51. package/dist/card/style/index.js +1 -0
  52. package/dist/cascader/CascaderOptionContent.d.ts +20 -0
  53. package/dist/cascader/CascaderOptionContent.js +85 -0
  54. package/dist/cascader/Panel.d.ts +53 -0
  55. package/dist/cascader/Panel.js +131 -0
  56. package/dist/cascader/index.d.ts +59 -0
  57. package/dist/cascader/index.js +436 -0
  58. package/dist/cascader/style/index.css +414 -0
  59. package/dist/cascader/style/index.d.ts +2 -0
  60. package/dist/cascader/style/index.js +2 -0
  61. package/dist/cascader/utils.d.ts +14 -0
  62. package/dist/cascader/utils.js +109 -0
  63. package/dist/chart/index.d.ts +14 -0
  64. package/dist/chart/index.js +11 -0
  65. package/dist/chart/style/index.css +1 -0
  66. package/dist/chart/style/index.d.ts +2 -0
  67. package/dist/chart/style/index.js +2 -0
  68. package/dist/checkbox/Checkbox.d.ts +77 -0
  69. package/dist/checkbox/Checkbox.js +178 -0
  70. package/dist/checkbox/Context.d.ts +35 -0
  71. package/dist/checkbox/Context.js +2 -0
  72. package/dist/checkbox/Group.d.ts +68 -0
  73. package/dist/checkbox/Group.js +151 -0
  74. package/dist/checkbox/index.d.ts +5 -0
  75. package/dist/checkbox/index.js +3 -0
  76. package/dist/checkbox/style/index.css +330 -0
  77. package/dist/checkbox/style/index.d.ts +2 -0
  78. package/dist/checkbox/style/index.js +2 -0
  79. package/dist/collapse/index.d.ts +43 -0
  80. package/dist/collapse/index.js +111 -0
  81. package/dist/collapse/primitive.d.ts +21 -0
  82. package/dist/collapse/primitive.js +103 -0
  83. package/dist/collapse/style/index.css +59 -0
  84. package/dist/collapse/style/index.d.ts +2 -0
  85. package/dist/collapse/style/index.js +2 -0
  86. package/dist/color-picker/index.d.ts +55 -0
  87. package/dist/color-picker/index.js +588 -0
  88. package/dist/color-picker/style/index.css +135 -0
  89. package/dist/color-picker/style/index.d.ts +2 -0
  90. package/dist/color-picker/style/index.js +2 -0
  91. package/dist/config-provider/index.d.ts +46 -0
  92. package/dist/config-provider/index.js +37 -0
  93. package/dist/date-picker/MonthPicker.d.ts +31 -0
  94. package/dist/date-picker/MonthPicker.js +161 -0
  95. package/dist/date-picker/QuarterPicker.d.ts +36 -0
  96. package/dist/date-picker/QuarterPicker.js +168 -0
  97. package/dist/date-picker/YearPicker.d.ts +13 -0
  98. package/dist/date-picker/YearPicker.js +84 -0
  99. package/dist/date-picker/index.d.ts +240 -0
  100. package/dist/date-picker/index.js +1249 -0
  101. package/dist/date-picker/style/index.css +511 -0
  102. package/dist/date-picker/style/index.d.ts +2 -0
  103. package/dist/date-picker/style/index.js +2 -0
  104. package/dist/date-range-picker/index.d.ts +58 -0
  105. package/dist/date-range-picker/index.js +1043 -0
  106. package/dist/dialog/index.d.ts +139 -0
  107. package/dist/dialog/index.js +300 -0
  108. package/dist/dialog/style/index.css +228 -0
  109. package/dist/dialog/style/index.d.ts +2 -0
  110. package/dist/dialog/style/index.js +2 -0
  111. package/dist/dialog/useModalPosition.d.ts +6 -0
  112. package/dist/dialog/useModalPosition.js +34 -0
  113. package/dist/drawer/index.d.ts +92 -0
  114. package/dist/drawer/index.js +214 -0
  115. package/dist/drawer/style/index.css +244 -0
  116. package/dist/drawer/style/index.d.ts +2 -0
  117. package/dist/drawer/style/index.js +2 -0
  118. package/dist/dropdown/index.d.ts +91 -0
  119. package/dist/dropdown/index.js +846 -0
  120. package/dist/dropdown/style/index.css +206 -0
  121. package/dist/dropdown/style/index.d.ts +2 -0
  122. package/dist/dropdown/style/index.js +2 -0
  123. package/dist/ellipsis-text/index.d.ts +19 -0
  124. package/dist/ellipsis-text/index.js +97 -0
  125. package/dist/ellipsis-text/style/index.css +1 -0
  126. package/dist/ellipsis-text/style/index.d.ts +2 -0
  127. package/dist/ellipsis-text/style/index.js +2 -0
  128. package/dist/empty/index.d.ts +20 -0
  129. package/dist/empty/index.js +2398 -0
  130. package/dist/empty/style/index.css +80 -0
  131. package/dist/empty/style/index.d.ts +2 -0
  132. package/dist/empty/style/index.js +2 -0
  133. package/dist/form/index.d.ts +106 -0
  134. package/dist/form/index.js +272 -0
  135. package/dist/form/style/index.css +84 -0
  136. package/dist/form/style/index.d.ts +2 -0
  137. package/dist/form/style/index.js +2 -0
  138. package/dist/hover-fill/index.d.ts +50 -0
  139. package/dist/hover-fill/index.js +258 -0
  140. package/dist/hover-fill/style/index.css +35 -0
  141. package/dist/hover-fill/style/index.d.ts +2 -0
  142. package/dist/hover-fill/style/index.js +2 -0
  143. package/dist/icon/index.d.ts +11 -0
  144. package/dist/icon/index.js +102 -0
  145. package/dist/icon/style/index.css +15 -0
  146. package/dist/icon/style/index.d.ts +2 -0
  147. package/dist/icon/style/index.js +2 -0
  148. package/dist/icon/svg/alert/alert-circle-filled.svg +1 -0
  149. package/dist/icon/svg/alert/alert-circle.svg +1 -0
  150. package/dist/icon/svg/alert/help-circle-filled.svg +1 -0
  151. package/dist/icon/svg/alert/help-circle.svg +1 -0
  152. package/dist/icon/svg/alert/info-circle-filled.svg +1 -0
  153. package/dist/icon/svg/alert/info-circle.svg +1 -0
  154. package/dist/icon/svg/alert/stop.svg +1 -0
  155. package/dist/icon/svg/alert/warning-filled.svg +1 -0
  156. package/dist/icon/svg/alert/warning.svg +1 -0
  157. package/dist/icon/svg/content/QRcode.svg +1 -0
  158. package/dist/icon/svg/content/bell-filled.svg +1 -0
  159. package/dist/icon/svg/content/bell.svg +1 -0
  160. package/dist/icon/svg/content/bidding.svg +1 -0
  161. package/dist/icon/svg/content/calendar.svg +1 -0
  162. package/dist/icon/svg/content/code.svg +1 -0
  163. package/dist/icon/svg/content/customColumn.svg +1 -0
  164. package/dist/icon/svg/content/data.svg +1 -0
  165. package/dist/icon/svg/content/dataReport-filled.svg +1 -0
  166. package/dist/icon/svg/content/dataReport.svg +1 -0
  167. package/dist/icon/svg/content/download-1.svg +1 -0
  168. package/dist/icon/svg/content/download-filled.svg +1 -0
  169. package/dist/icon/svg/content/download.svg +1 -0
  170. package/dist/icon/svg/content/exchange.svg +1 -0
  171. package/dist/icon/svg/content/filter-filled.svg +1 -0
  172. package/dist/icon/svg/content/filter.svg +1 -0
  173. package/dist/icon/svg/content/hot-filled.svg +1 -0
  174. package/dist/icon/svg/content/hot.svg +1 -0
  175. package/dist/icon/svg/content/link.svg +1 -0
  176. package/dist/icon/svg/content/location.svg +1 -0
  177. package/dist/icon/svg/content/maxSize.svg +1 -0
  178. package/dist/icon/svg/content/mobile-filled.svg +1 -0
  179. package/dist/icon/svg/content/mobile.svg +1 -0
  180. package/dist/icon/svg/content/mute.svg +1 -0
  181. package/dist/icon/svg/content/mutiImage-filled.svg +1 -0
  182. package/dist/icon/svg/content/mutiImage.svg +1 -0
  183. package/dist/icon/svg/content/refresh.svg +1 -0
  184. package/dist/icon/svg/content/report.svg +1 -0
  185. package/dist/icon/svg/content/save.svg +1 -0
  186. package/dist/icon/svg/content/search-bold.svg +1 -0
  187. package/dist/icon/svg/content/search-filled.svg +1 -0
  188. package/dist/icon/svg/content/search.svg +1 -0
  189. package/dist/icon/svg/content/setting.svg +1 -0
  190. package/dist/icon/svg/content/share.svg +1 -0
  191. package/dist/icon/svg/content/sort.svg +1 -0
  192. package/dist/icon/svg/content/sound.svg +1 -0
  193. package/dist/icon/svg/content/sticker-filled.svg +1 -0
  194. package/dist/icon/svg/content/sticker.svg +1 -0
  195. package/dist/icon/svg/content/tag-filled.svg +1 -0
  196. package/dist/icon/svg/content/tag.svg +1 -0
  197. package/dist/icon/svg/content/thumbDown-filled.svg +1 -0
  198. package/dist/icon/svg/content/thumbDown.svg +1 -0
  199. package/dist/icon/svg/content/thumbUp-filled.svg +1 -0
  200. package/dist/icon/svg/content/thumbUp.svg +1 -0
  201. package/dist/icon/svg/content/time-bold.svg +1 -0
  202. package/dist/icon/svg/content/time.svg +1 -0
  203. package/dist/icon/svg/content/verify.svg +1 -0
  204. package/dist/icon/svg/content/video.svg +1 -0
  205. package/dist/icon/svg/content/videoScreenshot.svg +1 -0
  206. package/dist/icon/svg/content/zoomIn.svg +1 -0
  207. package/dist/icon/svg/content/zoomOut.svg +1 -0
  208. package/dist/icon/svg/data/compare.svg +1 -0
  209. package/dist/icon/svg/data/histogram.svg +1 -0
  210. package/dist/icon/svg/editor/cancel-circle-filled.svg +1 -0
  211. package/dist/icon/svg/editor/cancel-circle.svg +1 -0
  212. package/dist/icon/svg/editor/cancel.svg +1 -0
  213. package/dist/icon/svg/editor/check-circle-filled.svg +1 -0
  214. package/dist/icon/svg/editor/check-circle.svg +1 -0
  215. package/dist/icon/svg/editor/check.svg +1 -0
  216. package/dist/icon/svg/editor/copy.svg +1 -0
  217. package/dist/icon/svg/editor/custom-filled.svg +1 -0
  218. package/dist/icon/svg/editor/custom.svg +1 -0
  219. package/dist/icon/svg/editor/delete.svg +1 -0
  220. package/dist/icon/svg/editor/deleteAD-filled.svg +1 -0
  221. package/dist/icon/svg/editor/draggable.svg +1 -0
  222. package/dist/icon/svg/editor/edit.svg +1 -0
  223. package/dist/icon/svg/editor/import.svg +1 -0
  224. package/dist/icon/svg/editor/minus-circle-filled.svg +1 -0
  225. package/dist/icon/svg/editor/minus-circle.svg +1 -0
  226. package/dist/icon/svg/editor/minus.svg +1 -0
  227. package/dist/icon/svg/editor/modify-bold.svg +1 -0
  228. package/dist/icon/svg/editor/modify.svg +1 -0
  229. package/dist/icon/svg/editor/multiCreate.svg +1 -0
  230. package/dist/icon/svg/editor/mutiSelect-filled.svg +1 -0
  231. package/dist/icon/svg/editor/mutiSelect.svg +1 -0
  232. package/dist/icon/svg/editor/pause-filled.svg +1 -0
  233. package/dist/icon/svg/editor/play-filled.svg +1 -0
  234. package/dist/icon/svg/editor/plus-circle-filled.svg +1 -0
  235. package/dist/icon/svg/editor/plus-circle.svg +1 -0
  236. package/dist/icon/svg/editor/plus.svg +1 -0
  237. package/dist/icon/svg/editor/send.svg +1 -0
  238. package/dist/icon/svg/editor/subdivide.svg +1 -0
  239. package/dist/icon/svg/navigation/arrowDown-filled.svg +1 -0
  240. package/dist/icon/svg/navigation/arrowDown.svg +1 -0
  241. package/dist/icon/svg/navigation/arrowLeft-filled.svg +1 -0
  242. package/dist/icon/svg/navigation/arrowLeft.svg +1 -0
  243. package/dist/icon/svg/navigation/arrowRight-filled.svg +1 -0
  244. package/dist/icon/svg/navigation/arrowRight.svg +1 -0
  245. package/dist/icon/svg/navigation/arrowUp-filled.svg +1 -0
  246. package/dist/icon/svg/navigation/arrowUp.svg +1 -0
  247. package/dist/icon/svg/navigation/bottom-filled.svg +1 -0
  248. package/dist/icon/svg/navigation/bottom.svg +1 -0
  249. package/dist/icon/svg/navigation/doubleLeft-filled.svg +1 -0
  250. package/dist/icon/svg/navigation/doubleLeft.svg +1 -0
  251. package/dist/icon/svg/navigation/doubleRight-filled.svg +1 -0
  252. package/dist/icon/svg/navigation/doubleRight.svg +1 -0
  253. package/dist/icon/svg/navigation/down-bold.svg +1 -0
  254. package/dist/icon/svg/navigation/down-filled.svg +1 -0
  255. package/dist/icon/svg/navigation/down.svg +1 -0
  256. package/dist/icon/svg/navigation/fall-filled.svg +1 -0
  257. package/dist/icon/svg/navigation/fold.svg +1 -0
  258. package/dist/icon/svg/navigation/fullScreen.svg +1 -0
  259. package/dist/icon/svg/navigation/left-bold.svg +1 -0
  260. package/dist/icon/svg/navigation/left-filled.svg +1 -0
  261. package/dist/icon/svg/navigation/left.svg +1 -0
  262. package/dist/icon/svg/navigation/leftFirst-filled.svg +1 -0
  263. package/dist/icon/svg/navigation/leftFirst.svg +1 -0
  264. package/dist/icon/svg/navigation/logout.svg +1 -0
  265. package/dist/icon/svg/navigation/menu.svg +1 -0
  266. package/dist/icon/svg/navigation/menuLeft-bold.svg +1 -0
  267. package/dist/icon/svg/navigation/menuLeft.svg +1 -0
  268. package/dist/icon/svg/navigation/menuRight-bold.svg +1 -0
  269. package/dist/icon/svg/navigation/menuRight.svg +1 -0
  270. package/dist/icon/svg/navigation/more-vertical.svg +1 -0
  271. package/dist/icon/svg/navigation/more.svg +1 -0
  272. package/dist/icon/svg/navigation/pointerLeft-filled.svg +1 -0
  273. package/dist/icon/svg/navigation/pointerRight-filled.svg +1 -0
  274. package/dist/icon/svg/navigation/right-bold.svg +1 -0
  275. package/dist/icon/svg/navigation/right-filled.svg +1 -0
  276. package/dist/icon/svg/navigation/right.svg +1 -0
  277. package/dist/icon/svg/navigation/rightLast-filled.svg +1 -0
  278. package/dist/icon/svg/navigation/rightLast.svg +1 -0
  279. package/dist/icon/svg/navigation/rise-filled.svg +1 -0
  280. package/dist/icon/svg/navigation/top-filled.svg +1 -0
  281. package/dist/icon/svg/navigation/top.svg +1 -0
  282. package/dist/icon/svg/navigation/unfold-filled.svg +1 -0
  283. package/dist/icon/svg/navigation/unfold.svg +1 -0
  284. package/dist/icon/svg/navigation/up-bold.svg +1 -0
  285. package/dist/icon/svg/navigation/up-filled.svg +1 -0
  286. package/dist/icon/svg/navigation/up.svg +1 -0
  287. package/dist/icon/svg/product/AIFile.svg +1 -0
  288. package/dist/icon/svg/product/LandingPage.svg +1 -0
  289. package/dist/icon/svg/product/addressBook.svg +1 -0
  290. package/dist/icon/svg/product/alarmClock.svg +1 -0
  291. package/dist/icon/svg/product/asset-square.svg +1 -0
  292. package/dist/icon/svg/product/assetProtecting.svg +1 -0
  293. package/dist/icon/svg/product/autoAD-square-filled.svg +1 -0
  294. package/dist/icon/svg/product/card-distribute.svg +1 -0
  295. package/dist/icon/svg/product/channels-square-filled.svg +1 -0
  296. package/dist/icon/svg/product/channels.svg +1 -0
  297. package/dist/icon/svg/product/chart.svg +3 -0
  298. package/dist/icon/svg/product/chatBubble-filled.svg +1 -0
  299. package/dist/icon/svg/product/checkBadge.svg +1 -0
  300. package/dist/icon/svg/product/comments.svg +1 -0
  301. package/dist/icon/svg/product/container.svg +1 -0
  302. package/dist/icon/svg/product/dataAuth.svg +1 -0
  303. package/dist/icon/svg/product/dataBoard.svg +1 -0
  304. package/dist/icon/svg/product/dataBox.svg +1 -0
  305. package/dist/icon/svg/product/dataFolder.svg +1 -0
  306. package/dist/icon/svg/product/dataRising.svg +1 -0
  307. package/dist/icon/svg/product/detect.svg +1 -0
  308. package/dist/icon/svg/product/exposure-filled.svg +1 -0
  309. package/dist/icon/svg/product/extendedConfig.svg +1 -0
  310. package/dist/icon/svg/product/file-filled.svg +1 -0
  311. package/dist/icon/svg/product/flag.svg +1 -0
  312. package/dist/icon/svg/product/flame.svg +1 -0
  313. package/dist/icon/svg/product/folderZip.svg +1 -0
  314. package/dist/icon/svg/product/folderzip-bold.svg +1 -0
  315. package/dist/icon/svg/product/guideBook.svg +1 -0
  316. package/dist/icon/svg/product/hosting.svg +1 -0
  317. package/dist/icon/svg/product/icon-outlined.svg +1 -0
  318. package/dist/icon/svg/product/idea-bold.svg +1 -0
  319. package/dist/icon/svg/product/idea.svg +1 -0
  320. package/dist/icon/svg/product/image-bold.svg +1 -0
  321. package/dist/icon/svg/product/image-filled.svg +1 -0
  322. package/dist/icon/svg/product/image.svg +1 -0
  323. package/dist/icon/svg/product/images.svg +1 -0
  324. package/dist/icon/svg/product/keyword.svg +1 -0
  325. package/dist/icon/svg/product/linkSquare.svg +1 -0
  326. package/dist/icon/svg/product/lock.svg +1 -0
  327. package/dist/icon/svg/product/magic-filled.svg +1 -0
  328. package/dist/icon/svg/product/magic.svg +1 -0
  329. package/dist/icon/svg/product/miniProgram.svg +1 -0
  330. package/dist/icon/svg/product/minigame-filled.svg +1 -0
  331. package/dist/icon/svg/product/mobilePage.svg +1 -0
  332. package/dist/icon/svg/product/moments-filled.svg +1 -0
  333. package/dist/icon/svg/product/notepad-bold.svg +1 -0
  334. package/dist/icon/svg/product/notepad.svg +1 -0
  335. package/dist/icon/svg/product/offiaccount-filled.svg +1 -0
  336. package/dist/icon/svg/product/playing.svg +1 -0
  337. package/dist/icon/svg/product/qualification.svg +1 -0
  338. package/dist/icon/svg/product/quickFile.svg +1 -0
  339. package/dist/icon/svg/product/ringStruckture.svg +1 -0
  340. package/dist/icon/svg/product/searchAD-filled.svg +1 -0
  341. package/dist/icon/svg/product/searchAD.svg +1 -0
  342. package/dist/icon/svg/product/shield-filled.svg +1 -0
  343. package/dist/icon/svg/product/shield.svg +1 -0
  344. package/dist/icon/svg/product/shop.svg +1 -0
  345. package/dist/icon/svg/product/shopping.svg +1 -0
  346. package/dist/icon/svg/product/star-filled.svg +1 -0
  347. package/dist/icon/svg/product/star.svg +1 -0
  348. package/dist/icon/svg/product/support-bold.svg +1 -0
  349. package/dist/icon/svg/product/target.svg +1 -0
  350. package/dist/icon/svg/product/targeting.svg +1 -0
  351. package/dist/icon/svg/product/task-filled.svg +1 -0
  352. package/dist/icon/svg/product/task.svg +1 -0
  353. package/dist/icon/svg/product/template.svg +1 -0
  354. package/dist/icon/svg/product/templateBag.svg +1 -0
  355. package/dist/icon/svg/product/text.svg +1 -0
  356. package/dist/icon/svg/product/treeStructure.svg +1 -0
  357. package/dist/icon/svg/product/user-add.svg +3 -0
  358. package/dist/icon/svg/product/user-circle.svg +1 -0
  359. package/dist/icon/svg/product/user-edit.svg +1 -0
  360. package/dist/icon/svg/product/user-pack.svg +1 -0
  361. package/dist/icon/svg/product/userList.svg +1 -0
  362. package/dist/icon/svg/product/userPack.svg +1 -0
  363. package/dist/icon/svg/product/users-bold.svg +1 -0
  364. package/dist/icon/svg/product/users.svg +1 -0
  365. package/dist/icon/svg/product/videoBag-filled.svg +1 -0
  366. package/dist/icon/svg/product/viewMask.svg +1 -0
  367. package/dist/icon/svg/product/wallet.svg +1 -0
  368. package/dist/icon/svg/product/wechatBubble-filled.svg +1 -0
  369. package/dist/icon/svg/product/wechatBubble.svg +1 -0
  370. package/dist/icon/svg/product/wechatSearch.svg +1 -0
  371. package/dist/icon/svg/product/writing.svg +1 -0
  372. package/dist/icon/svg-data.d.ts +479 -0
  373. package/dist/icon/svg-data.js +481 -0
  374. package/dist/icon/test-icons.html +122 -0
  375. package/dist/icon/types.d.ts +3 -0
  376. package/dist/icon/types.js +5 -0
  377. package/dist/index.d.ts +52 -0
  378. package/dist/index.js +57 -0
  379. package/dist/input/index.d.ts +82 -0
  380. package/dist/input/index.js +451 -0
  381. package/dist/input/style/index.css +244 -0
  382. package/dist/input/style/index.d.ts +2 -0
  383. package/dist/input/style/index.js +2 -0
  384. package/dist/input-number/index.d.ts +41 -0
  385. package/dist/input-number/index.js +431 -0
  386. package/dist/input-number/style/index.css +65 -0
  387. package/dist/input-number/style/index.d.ts +2 -0
  388. package/dist/input-number/style/index.js +2 -0
  389. package/dist/input-otp/index.d.ts +71 -0
  390. package/dist/input-otp/index.js +87 -0
  391. package/dist/input-otp/style/index.css +110 -0
  392. package/dist/input-otp/style/index.d.ts +2 -0
  393. package/dist/input-otp/style/index.js +2 -0
  394. package/dist/layout/index.d.ts +3 -0
  395. package/dist/layout/index.js +3 -0
  396. package/dist/layout/layout.d.ts +32 -0
  397. package/dist/layout/layout.js +203 -0
  398. package/dist/layout/mp-layout.d.ts +68 -0
  399. package/dist/layout/mp-layout.js +204 -0
  400. package/dist/layout/style/index.css +464 -0
  401. package/dist/layout/style/index.d.ts +2 -0
  402. package/dist/layout/style/index.js +2 -0
  403. package/dist/link/index.d.ts +37 -0
  404. package/dist/link/index.js +46 -0
  405. package/dist/link/style/index.css +39 -0
  406. package/dist/link/style/index.d.ts +2 -0
  407. package/dist/link/style/index.js +2 -0
  408. package/dist/loading/index.d.ts +11 -0
  409. package/dist/loading/index.js +46 -0
  410. package/dist/loading/style/index.css +84 -0
  411. package/dist/loading/style/index.d.ts +2 -0
  412. package/dist/loading/style/index.js +2 -0
  413. package/dist/message/MessageBase.d.ts +86 -0
  414. package/dist/message/MessageBase.js +395 -0
  415. package/dist/message/MessageReact16.d.ts +2 -0
  416. package/dist/message/MessageReact16.js +86 -0
  417. package/dist/message/MessageReact18.d.ts +2 -0
  418. package/dist/message/MessageReact18.js +98 -0
  419. package/dist/message/index.d.ts +3 -0
  420. package/dist/message/index.js +7 -0
  421. package/dist/message/style/index.css +121 -0
  422. package/dist/message/style/index.d.ts +2 -0
  423. package/dist/message/style/index.js +2 -0
  424. package/dist/modal-base/gap.d.ts +14 -0
  425. package/dist/modal-base/gap.js +31 -0
  426. package/dist/modal-base/index.d.ts +26 -0
  427. package/dist/modal-base/index.js +114 -0
  428. package/dist/number-flow/index.d.ts +13 -0
  429. package/dist/number-flow/index.js +25 -0
  430. package/dist/number-flow/style/index.css +1 -0
  431. package/dist/number-flow/style/index.d.ts +2 -0
  432. package/dist/number-flow/style/index.js +2 -0
  433. package/dist/pagination/index.d.ts +63 -0
  434. package/dist/pagination/index.js +424 -0
  435. package/dist/pagination/style/index.css +135 -0
  436. package/dist/pagination/style/index.d.ts +2 -0
  437. package/dist/pagination/style/index.js +2 -0
  438. package/dist/pop-base/index.d.ts +143 -0
  439. package/dist/pop-base/index.js +381 -0
  440. package/dist/pop-base/mergeProps.d.ts +37 -0
  441. package/dist/pop-base/mergeProps.js +144 -0
  442. package/dist/pop-base/style/index.css +123 -0
  443. package/dist/pop-base/style/index.d.ts +2 -0
  444. package/dist/pop-base/style/index.js +2 -0
  445. package/dist/pop-base/useForkRef.d.ts +5 -0
  446. package/dist/pop-base/useForkRef.js +52 -0
  447. package/dist/popover/index.d.ts +4 -0
  448. package/dist/popover/index.js +9 -0
  449. package/dist/radio/index.d.ts +35 -0
  450. package/dist/radio/index.js +77 -0
  451. package/dist/radio/primitive.d.ts +5 -0
  452. package/dist/radio/primitive.js +28 -0
  453. package/dist/radio/style/index.css +224 -0
  454. package/dist/radio/style/index.d.ts +2 -0
  455. package/dist/radio/style/index.js +2 -0
  456. package/dist/scroll-area/index.d.ts +29 -0
  457. package/dist/scroll-area/index.js +118 -0
  458. package/dist/scroll-area/style/index.css +107 -0
  459. package/dist/scroll-area/style/index.d.ts +2 -0
  460. package/dist/scroll-area/style/index.js +2 -0
  461. package/dist/select/index.d.ts +86 -0
  462. package/dist/select/index.js +275 -0
  463. package/dist/select/style/index.css +1473 -0
  464. package/dist/select/style/index.d.ts +2 -0
  465. package/dist/select/style/index.js +2 -0
  466. package/dist/select/useIcons.d.ts +25 -0
  467. package/dist/select/useIcons.js +80 -0
  468. package/dist/select/utils.d.ts +9 -0
  469. package/dist/select/utils.js +40 -0
  470. package/dist/slider/index.d.ts +69 -0
  471. package/dist/slider/index.js +264 -0
  472. package/dist/slider/style/index.css +210 -0
  473. package/dist/slider/style/index.d.ts +2 -0
  474. package/dist/slider/style/index.js +2 -0
  475. package/dist/style/base.css +296 -0
  476. package/dist/style/index.d.ts +7 -0
  477. package/dist/style/index.js +18 -0
  478. package/dist/style/theme-adui.css +352 -0
  479. package/dist/switch/index.d.ts +12 -0
  480. package/dist/switch/index.js +55 -0
  481. package/dist/switch/style/index.css +149 -0
  482. package/dist/switch/style/index.d.ts +2 -0
  483. package/dist/switch/style/index.js +2 -0
  484. package/dist/table/TableCellContent.d.ts +20 -0
  485. package/dist/table/TableCellContent.js +82 -0
  486. package/dist/table/index.d.ts +97 -0
  487. package/dist/table/index.js +796 -0
  488. package/dist/table/style/index.css +301 -0
  489. package/dist/table/style/index.d.ts +2 -0
  490. package/dist/table/style/index.js +2 -0
  491. package/dist/table/useSelection.d.ts +13 -0
  492. package/dist/table/useSelection.js +268 -0
  493. package/dist/tabs/index.d.ts +51 -0
  494. package/dist/tabs/index.js +697 -0
  495. package/dist/tabs/style/index.css +305 -0
  496. package/dist/tabs/style/index.d.ts +2 -0
  497. package/dist/tabs/style/index.js +2 -0
  498. package/dist/text-swap/index.d.ts +58 -0
  499. package/dist/text-swap/index.js +280 -0
  500. package/dist/text-swap/style/index.css +29 -0
  501. package/dist/text-swap/style/index.d.ts +2 -0
  502. package/dist/text-swap/style/index.js +2 -0
  503. package/dist/time-picker/index.d.ts +67 -0
  504. package/dist/time-picker/index.js +945 -0
  505. package/dist/time-picker/style/index.css +153 -0
  506. package/dist/time-picker/style/index.d.ts +2 -0
  507. package/dist/time-picker/style/index.js +2 -0
  508. package/dist/tooltip/index.d.ts +10 -0
  509. package/dist/tooltip/index.js +178 -0
  510. package/dist/tree-select/index.d.ts +25 -0
  511. package/dist/tree-select/index.js +140 -0
  512. package/dist/tree-select/style/index.css +180 -0
  513. package/dist/tree-select/style/index.d.ts +1 -0
  514. package/dist/tree-select/style/index.js +1 -0
  515. package/dist/virtual-list/index.d.ts +98 -0
  516. package/dist/virtual-list/index.js +56 -0
  517. package/dist/virtual-list/style/index.css +9 -0
  518. package/dist/virtual-list/style/index.d.ts +2 -0
  519. package/dist/virtual-list/style/index.js +2 -0
  520. package/package.json +132 -0
@@ -0,0 +1,1043 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["allowClear", "minDate", "maxDate", "value", "onChange", "visible", "onVisibleChange", "disabled", "lang", "disabledDays", "placeholder", "onStartDaySelect", "onEndDaySelect", "shortcuts", "popupRender", "light", "triggerElement", "popupStyle", "captionLayout", "captionPrevIcon", "captionNextIcon", "components", "classNames", "format", "closeOnSelect", "onClick", "maxDays", "minDays", "numberOfMonths", "prefix", "popoverProps"],
3
+ _excluded2 = ["DayButton"],
4
+ _excluded3 = ["day", "modifiers", "onMouseEnter", "onMouseLeave", "onClick", "onMouseDown"];
5
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
15
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x2) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
25
+ import { DayPicker } from 'react-day-picker';
26
+ import { enUS, zhCN } from 'react-day-picker/locale';
27
+ import { DATE_RANGE_INPUT_PLACEHOLDER, MONTHS, convertDateRangeToString, convertDateToString, getDefaultMaxDate, getDefaultMinDate, isDayAfter, isDayBefore, isDayInRange, isLegalDateRangeString, isSameDay, isSameMonth, today } from "../_util/date";
28
+ import "../date-picker/style";
29
+ import HoverFill from "../hover-fill";
30
+ import Icon from "../icon";
31
+ import Popover from "../popover";
32
+ var DateRangePicker = function DateRangePicker(_ref) {
33
+ var _ref$allowClear = _ref.allowClear,
34
+ allowClear = _ref$allowClear === void 0 ? true : _ref$allowClear,
35
+ _ref$minDate = _ref.minDate,
36
+ minDate = _ref$minDate === void 0 ? getDefaultMinDate() : _ref$minDate,
37
+ _ref$maxDate = _ref.maxDate,
38
+ maxDate = _ref$maxDate === void 0 ? getDefaultMaxDate() : _ref$maxDate,
39
+ _ref$value = _ref.value,
40
+ valueProp = _ref$value === void 0 ? undefined : _ref$value,
41
+ onChange = _ref.onChange,
42
+ _ref$visible = _ref.visible,
43
+ visibleProp = _ref$visible === void 0 ? null : _ref$visible,
44
+ onVisibleChange = _ref.onVisibleChange,
45
+ _ref$disabled = _ref.disabled,
46
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
47
+ _ref$lang = _ref.lang,
48
+ lang = _ref$lang === void 0 ? 'zhCN' : _ref$lang,
49
+ disabledDays = _ref.disabledDays,
50
+ _ref$placeholder = _ref.placeholder,
51
+ placeholder = _ref$placeholder === void 0 ? DATE_RANGE_INPUT_PLACEHOLDER[lang] : _ref$placeholder,
52
+ onStartDaySelect = _ref.onStartDaySelect,
53
+ onEndDaySelect = _ref.onEndDaySelect,
54
+ shortcuts = _ref.shortcuts,
55
+ popupRender = _ref.popupRender,
56
+ light = _ref.light,
57
+ triggerElement = _ref.triggerElement,
58
+ popupStyle = _ref.popupStyle,
59
+ _ref$captionLayout = _ref.captionLayout,
60
+ captionLayout = _ref$captionLayout === void 0 ? 'dropdown' : _ref$captionLayout,
61
+ captionPrevIcon = _ref.captionPrevIcon,
62
+ captionNextIcon = _ref.captionNextIcon,
63
+ components = _ref.components,
64
+ classNames = _ref.classNames,
65
+ format = _ref.format,
66
+ _ref$closeOnSelect = _ref.closeOnSelect,
67
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
68
+ _onClick2 = _ref.onClick,
69
+ maxDays = _ref.maxDays,
70
+ minDays = _ref.minDays,
71
+ _ref$numberOfMonths = _ref.numberOfMonths,
72
+ numberOfMonths = _ref$numberOfMonths === void 0 ? 2 : _ref$numberOfMonths,
73
+ prefix = _ref.prefix,
74
+ _ref$popoverProps = _ref.popoverProps,
75
+ popoverProps = _ref$popoverProps === void 0 ? {} : _ref$popoverProps,
76
+ otherProps = _objectWithoutProperties(_ref, _excluded);
77
+ /**
78
+ * DayButton 关系到 HoverFill 样式因此单独处理
79
+ */
80
+ var _ref2 = components || {},
81
+ _DayButton = _ref2.DayButton,
82
+ otherComponents = _objectWithoutProperties(_ref2, _excluded2);
83
+ /**
84
+ * selectedDay 为传给 DayPicker 的最终 Date Object,
85
+ * value 为 input 的输入 String。
86
+ */
87
+ var getInitialState = function getInitialState() {
88
+ var rangeValue = '';
89
+ var from = undefined;
90
+ var to = undefined;
91
+ if (valueProp !== null && valueProp !== undefined) {
92
+ var _valueProp = _slicedToArray(valueProp, 2);
93
+ from = _valueProp[0];
94
+ to = _valueProp[1];
95
+ if (isDayBefore(to, from)) {
96
+ var _ref3 = [to, from];
97
+ from = _ref3[0];
98
+ to = _ref3[1];
99
+ }
100
+ rangeValue = convertDateRangeToString(valueProp, lang);
101
+ }
102
+
103
+ // 如果 from 和 to 是同一个月,则 month 初始化为上一个月,否则初始化为 from
104
+ var month = from || today;
105
+ if (isSameMonth(from, to)) {
106
+ var _from$getFullYear, _from, _from$getMonth, _from2, _from$getDate, _from3;
107
+ month = new Date((_from$getFullYear = (_from = from) === null || _from === void 0 ? void 0 : _from.getFullYear()) !== null && _from$getFullYear !== void 0 ? _from$getFullYear : today.getFullYear(), ((_from$getMonth = (_from2 = from) === null || _from2 === void 0 ? void 0 : _from2.getMonth()) !== null && _from$getMonth !== void 0 ? _from$getMonth : today.getMonth()) - 1, (_from$getDate = (_from3 = from) === null || _from3 === void 0 ? void 0 : _from3.getDate()) !== null && _from$getDate !== void 0 ? _from$getDate : today.getDate());
108
+ }
109
+ return {
110
+ from: from,
111
+ month: month,
112
+ rangeValue: rangeValue,
113
+ to: to
114
+ };
115
+ };
116
+ var initialState = useMemo(getInitialState, []);
117
+ var _useState = useState(undefined),
118
+ _useState2 = _slicedToArray(_useState, 2),
119
+ enteredTo = _useState2[0],
120
+ setEnteredTo = _useState2[1];
121
+ var _useState3 = useState(initialState.from),
122
+ _useState4 = _slicedToArray(_useState3, 2),
123
+ from = _useState4[0],
124
+ setFrom = _useState4[1];
125
+ var _useState5 = useState(initialState.to),
126
+ _useState6 = _slicedToArray(_useState5, 2),
127
+ to = _useState6[0],
128
+ setTo = _useState6[1];
129
+ var _useState7 = useState(initialState.month),
130
+ _useState8 = _slicedToArray(_useState7, 2),
131
+ month = _useState8[0],
132
+ setMonth = _useState8[1];
133
+ var _useState9 = useState(valueProp),
134
+ _useState10 = _slicedToArray(_useState9, 2),
135
+ prevValueProp = _useState10[0],
136
+ setPrevValueProp = _useState10[1];
137
+ var _useState11 = useState(initialState.rangeValue),
138
+ _useState12 = _slicedToArray(_useState11, 2),
139
+ rangeValue = _useState12[0],
140
+ setRangeValue = _useState12[1];
141
+ var nextClickInsideRef = useRef(false);
142
+ var containerRef = useRef(null);
143
+ var popupRef = useRef(null);
144
+ var prefixRef = useRef(null);
145
+ var _useState13 = useState(0),
146
+ _useState14 = _slicedToArray(_useState13, 2),
147
+ prefixWidth = _useState14[0],
148
+ setPrefixWidth = _useState14[1];
149
+ var navHoverFillRef = useRef(null);
150
+ var navHoverFillInnerRef = useRef(null);
151
+ var navHoverFillTimer = useRef(0);
152
+ var navHoverFillVisible = useRef(false);
153
+ var tdHoverFillRef = useRef(null);
154
+ var tdHoverFillInnerRef = useRef(null);
155
+ var tdHoverFillTimer = useRef(0);
156
+ var tdHoverFillVisible = useRef(false);
157
+ var shortcutsEnabled = shortcuts && shortcuts.length > 0;
158
+ var _useState15 = useState(function () {
159
+ if (visibleProp !== null && visibleProp !== undefined) {
160
+ return visibleProp;
161
+ }
162
+ return false;
163
+ }),
164
+ _useState16 = _slicedToArray(_useState15, 2),
165
+ visible = _useState16[0],
166
+ setVisible = _useState16[1];
167
+ var fromFinal;
168
+ var enteredToFinal = to || enteredTo;
169
+ var isReverse = from && enteredToFinal && isDayAfter(from, enteredToFinal);
170
+ if (isReverse) {
171
+ fromFinal = enteredToFinal;
172
+ enteredToFinal = from;
173
+ } else {
174
+ fromFinal = from;
175
+ }
176
+ var selectedDays = {
177
+ from: fromFinal,
178
+ to: enteredToFinal
179
+ };
180
+ useEffect(function () {
181
+ if (valueProp !== undefined && valueProp !== prevValueProp) {
182
+ var _ref4 = valueProp || [undefined, undefined],
183
+ _ref5 = _slicedToArray(_ref4, 2),
184
+ newFrom = _ref5[0],
185
+ newTo = _ref5[1];
186
+ if (isDayBefore(newTo, newFrom)) {
187
+ var _ref6 = [newTo, newFrom];
188
+ newFrom = _ref6[0];
189
+ newTo = _ref6[1];
190
+ }
191
+ setFrom(newFrom);
192
+ setTo(newTo);
193
+ var shouldReplaceInput = true;
194
+ if (isLegalDateRangeString(rangeValue, lang)) {
195
+ var rangeValueStrs = rangeValue.split(' - ');
196
+ var oldFrom = new Date(rangeValueStrs[0]);
197
+ var oldTo = new Date(rangeValueStrs[1]);
198
+ if (isSameDay(newFrom, oldFrom) && isSameDay(newTo, oldTo)) {
199
+ shouldReplaceInput = false;
200
+ }
201
+ }
202
+ if (shouldReplaceInput) {
203
+ setRangeValue(convertDateRangeToString([newFrom, newTo], lang));
204
+ }
205
+ setPrevValueProp(valueProp);
206
+ var newMonth = newFrom || today;
207
+ setMonth(newMonth);
208
+ }
209
+ if (visibleProp !== null && visible !== !!visibleProp) {
210
+ setVisible(!!visibleProp);
211
+ }
212
+ }, [valueProp]);
213
+ useEffect(function () {
214
+ if (visibleProp !== null && visible !== !!visibleProp) {
215
+ setVisible(!!visibleProp);
216
+ }
217
+ }, [visibleProp]);
218
+ useEffect(function () {
219
+ var handleClickOutside = function handleClickOutside(event) {
220
+ var _containerRef$current, _popupRef$current;
221
+ var target = event.target;
222
+
223
+ // 如果弹窗没有显示,不需要处理
224
+ if (!visible) {
225
+ return;
226
+ }
227
+
228
+ // 检查点击是否在 containerRef 或 popupRef 内部
229
+ var isInsideContainer = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.contains(target);
230
+ var isInsidePopup = (_popupRef$current = popupRef.current) === null || _popupRef$current === void 0 ? void 0 : _popupRef$current.contains(target);
231
+
232
+ // 如果点击在两者之外,则关闭弹窗
233
+ if (!isInsideContainer && !isInsidePopup) {
234
+ handleVisibleChange(false);
235
+ }
236
+ };
237
+
238
+ // 添加点击事件监听器
239
+ document.addEventListener('pointerdown', handleClickOutside);
240
+
241
+ // 清理函数
242
+ return function () {
243
+ document.removeEventListener('pointerdown', handleClickOutside);
244
+ };
245
+ }, [visible, onVisibleChange, visibleProp, from, to, month, rangeValue]);
246
+
247
+ // ResizeObserver 监听 prefix 宽度变化
248
+ useEffect(function () {
249
+ if (!prefix || !prefixRef.current) {
250
+ setPrefixWidth(0);
251
+ return;
252
+ }
253
+ var resizeObserver = new ResizeObserver(function (entries) {
254
+ var _iterator = _createForOfIteratorHelper(entries),
255
+ _step;
256
+ try {
257
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
258
+ var entry = _step.value;
259
+ var _entry$target$getBoun = entry.target.getBoundingClientRect(),
260
+ width = _entry$target$getBoun.width;
261
+ setPrefixWidth(width);
262
+ }
263
+ } catch (err) {
264
+ _iterator.e(err);
265
+ } finally {
266
+ _iterator.f();
267
+ }
268
+ });
269
+ resizeObserver.observe(prefixRef.current);
270
+ return function () {
271
+ resizeObserver.disconnect();
272
+ };
273
+ }, [prefix]);
274
+
275
+ // 计算日期范围限制
276
+ var getDayRangeLimits = function getDayRangeLimits(startDay) {
277
+ var minLimitForward;
278
+ var maxLimitForward;
279
+ var minLimitBackward;
280
+ var maxLimitBackward;
281
+ if (minDays) {
282
+ // 向前最少选择 minDays 天
283
+ minLimitForward = new Date(startDay.getTime() + (minDays - 1) * 24 * 60 * 60 * 1000);
284
+ // 向后最少选择 minDays 天
285
+ minLimitBackward = new Date(startDay.getTime() - (minDays - 1) * 24 * 60 * 60 * 1000);
286
+ }
287
+ if (maxDays) {
288
+ // 向前最多选择 maxDays 天
289
+ maxLimitForward = new Date(startDay.getTime() + (maxDays - 1) * 24 * 60 * 60 * 1000);
290
+ // 向后最多选择 maxDays 天
291
+ maxLimitBackward = new Date(startDay.getTime() - (maxDays - 1) * 24 * 60 * 60 * 1000);
292
+ }
293
+ return {
294
+ minLimitForward: minLimitForward,
295
+ maxLimitForward: maxLimitForward,
296
+ minLimitBackward: minLimitBackward,
297
+ maxLimitBackward: maxLimitBackward
298
+ };
299
+ };
300
+ var isDayDisabled = function isDayDisabled(day) {
301
+ return disabledDays && (Array.isArray(disabledDays) ? disabledDays.some(function (d) {
302
+ return isSameDay(d, day);
303
+ }) : disabledDays(day)) || isDayBefore(day, minDate) || isDayAfter(day, maxDate);
304
+ };
305
+ var handleInputChange = function handleInputChange(_ref7) {
306
+ var target = _ref7.target;
307
+ var val = target.value;
308
+ setRangeValue(val);
309
+ if (val.trim() === '') {
310
+ if (allowClear) {
311
+ if (valueProp == undefined) {
312
+ setEnteredTo(undefined);
313
+ setFrom(undefined);
314
+ setTo(undefined);
315
+ }
316
+ if (onChange) {
317
+ onChange(null, {
318
+ dateString: ''
319
+ });
320
+ }
321
+ }
322
+ } else if (isLegalDateRangeString(val, lang)) {
323
+ var rangeValueStrs = val.split(' - ');
324
+ var newFrom = new Date(rangeValueStrs[0]);
325
+ var newTo = new Date(rangeValueStrs[1]);
326
+ newFrom.setHours(0, 0, 0, 0);
327
+ newTo.setHours(0, 0, 0, 0);
328
+
329
+ // 计算日期范围天数
330
+ var daysDiff = Math.ceil((newTo.getTime() - newFrom.getTime()) / (24 * 60 * 60 * 1000)) + 1;
331
+
332
+ // 检查是否满足 maxDays 和 minDays 限制
333
+ var meetsMaxDays = !maxDays || daysDiff <= maxDays;
334
+ var meetsMinDays = !minDays || daysDiff >= minDays;
335
+ console.log('[yijie]', meetsMaxDays, meetsMinDays);
336
+ if (!isDayDisabled(newFrom) && !isDayDisabled(newTo) && !isDayBefore(newTo, newFrom) && meetsMaxDays && meetsMinDays && !(isSameDay(from, newFrom) && isSameDay(to, newTo))) {
337
+ if (valueProp === undefined) {
338
+ setFrom(newFrom);
339
+ setTo(newTo);
340
+ }
341
+ // 修改日期后的 month 跳转
342
+ if (!isSameDay(from, newFrom)) {
343
+ setMonth(newFrom);
344
+ } else if (!isSameDay(to, newTo)) {
345
+ setMonth(newTo);
346
+ }
347
+ if (onChange) {
348
+ onChange([newFrom, newTo], {
349
+ dateString: val
350
+ });
351
+ }
352
+ }
353
+ }
354
+ };
355
+ var handleCaptionHoverEnter = function handleCaptionHoverEnter(e) {
356
+ var _popupRef$current2, _popupRef$current3;
357
+ e.persist();
358
+ clearTimeout(navHoverFillTimer.current);
359
+ if (!navHoverFillInnerRef.current || !navHoverFillRef.current) {
360
+ return;
361
+ }
362
+ var offsetWidth = e.currentTarget.offsetWidth;
363
+ var popupTop = ((_popupRef$current2 = popupRef.current) === null || _popupRef$current2 === void 0 ? void 0 : _popupRef$current2.getBoundingClientRect().top) || 0;
364
+ var popupLeft = ((_popupRef$current3 = popupRef.current) === null || _popupRef$current3 === void 0 ? void 0 : _popupRef$current3.getBoundingClientRect().left) || 0;
365
+ var targetTop = e.currentTarget.getBoundingClientRect().top || 0;
366
+ var targetLeft = e.currentTarget.getBoundingClientRect().left || 0;
367
+ var finalLeft = targetLeft - popupLeft;
368
+ var finalTop = targetTop - popupTop;
369
+ setTimeout(function () {
370
+ if (!navHoverFillRef.current || !navHoverFillInnerRef.current) {
371
+ return;
372
+ }
373
+ navHoverFillRef.current.style.width = "".concat(offsetWidth, "px");
374
+ navHoverFillRef.current.style.left = "".concat(finalLeft, "px");
375
+ navHoverFillRef.current.style.top = "".concat(finalTop, "px");
376
+ navHoverFillInnerRef.current.style.background = 'var(--odn-dp-hover-fill-color)';
377
+ }, 0);
378
+ if (!navHoverFillVisible.current) {
379
+ navHoverFillVisible.current = true;
380
+ navHoverFillRef.current.style.transitionDuration = '0s';
381
+ var clientX = e.clientX,
382
+ clientY = e.clientY;
383
+ var _e$currentTarget$getB = e.currentTarget.getBoundingClientRect(),
384
+ x = _e$currentTarget$getB.x,
385
+ y = _e$currentTarget$getB.y;
386
+ navHoverFillInnerRef.current.style.transformOrigin = "".concat(clientX - x, "px ").concat(clientY - y, "px");
387
+ } else {
388
+ navHoverFillRef.current.style.transitionDuration = 'var(--odn-hoverfill-duration)';
389
+ }
390
+ };
391
+ var handleCaptionHoverLeave = function handleCaptionHoverLeave(e) {
392
+ e.persist();
393
+ clearTimeout(navHoverFillTimer.current);
394
+ if (!navHoverFillInnerRef.current || !navHoverFillRef.current) {
395
+ return;
396
+ }
397
+ var clientX = e.clientX,
398
+ clientY = e.clientY;
399
+ var _e$currentTarget$getB2 = e.currentTarget.getBoundingClientRect(),
400
+ x = _e$currentTarget$getB2.x,
401
+ y = _e$currentTarget$getB2.y;
402
+ navHoverFillTimer.current = window.setTimeout(function () {
403
+ navHoverFillVisible.current = false;
404
+ if (navHoverFillInnerRef.current) {
405
+ navHoverFillInnerRef.current.style.transformOrigin = "".concat(clientX - x, "px ").concat(clientY - y, "px");
406
+ navHoverFillInnerRef.current.style.background = 'transparent';
407
+ }
408
+ }, 100);
409
+ };
410
+ var resetNavHoverFill = function resetNavHoverFill() {
411
+ navHoverFillVisible.current = false;
412
+ if (navHoverFillRef.current && navHoverFillInnerRef.current) {
413
+ navHoverFillInnerRef.current.style.transformOrigin = '';
414
+ navHoverFillInnerRef.current.style.background = 'transparent';
415
+ }
416
+ };
417
+ var handleCaptionChange = function handleCaptionChange(date) {
418
+ var newDate = date;
419
+ if (minDate && isDayBefore(date, minDate)) {
420
+ newDate.setMonth(minDate.getMonth());
421
+ } else if (maxDate && isDayAfter(date, maxDate)) {
422
+ newDate.setMonth(maxDate.getMonth());
423
+ }
424
+ setMonth(newDate);
425
+ };
426
+ var handleYearChange = function handleYearChange(e) {
427
+ var newYear = parseInt(e.currentTarget.value, 10);
428
+ var baseDate = month || today;
429
+ var newDate = new Date(baseDate.getTime());
430
+ newDate.setFullYear(newYear);
431
+ handleCaptionChange(newDate);
432
+ };
433
+ var handleMonthChange = function handleMonthChange(e) {
434
+ var newMonth = parseInt(e.currentTarget.value, 10);
435
+ var baseDate = month || today;
436
+ var newDate = new Date(baseDate.getTime());
437
+ newDate.setMonth(newMonth);
438
+ handleCaptionChange(newDate);
439
+ };
440
+ var handleTdHoverEnter = function handleTdHoverEnter(e) {
441
+ var _popupRef$current4, _popupRef$current5;
442
+ e.persist();
443
+ clearTimeout(tdHoverFillTimer.current);
444
+ if (!tdHoverFillInnerRef.current || !tdHoverFillRef.current) {
445
+ return;
446
+ }
447
+ var target = e.currentTarget;
448
+ var targetTop = target.getBoundingClientRect().top || 0;
449
+ var targetLeft = target.getBoundingClientRect().left || 0;
450
+ var popupTop = ((_popupRef$current4 = popupRef.current) === null || _popupRef$current4 === void 0 ? void 0 : _popupRef$current4.getBoundingClientRect().top) || 0;
451
+ var popupLeft = ((_popupRef$current5 = popupRef.current) === null || _popupRef$current5 === void 0 ? void 0 : _popupRef$current5.getBoundingClientRect().left) || 0;
452
+ var finalLeft = targetLeft - popupLeft;
453
+ var finalTop = targetTop - popupTop;
454
+ setTimeout(function () {
455
+ if (!tdHoverFillRef.current || !tdHoverFillInnerRef.current) {
456
+ return;
457
+ }
458
+ tdHoverFillRef.current.style.left = "".concat(finalLeft, "px");
459
+ tdHoverFillRef.current.style.top = "".concat(finalTop, "px");
460
+ tdHoverFillInnerRef.current.style.background = 'var(--odn-dp-hover-fill-color)';
461
+ }, 0);
462
+ if (!tdHoverFillVisible.current) {
463
+ tdHoverFillVisible.current = true;
464
+ tdHoverFillRef.current.style.transitionDuration = '0s';
465
+ var clientX = e.clientX,
466
+ clientY = e.clientY;
467
+ var _target$getBoundingCl = target.getBoundingClientRect(),
468
+ x = _target$getBoundingCl.x,
469
+ y = _target$getBoundingCl.y;
470
+ tdHoverFillInnerRef.current.style.transformOrigin = "".concat(clientX - x, "px ").concat(clientY - y, "px");
471
+ } else {
472
+ tdHoverFillRef.current.style.transitionDuration = 'var(--odn-hoverfill-duration)';
473
+ }
474
+ };
475
+ var handleTdHoverLeave = function handleTdHoverLeave(e) {
476
+ e.persist();
477
+ clearTimeout(tdHoverFillTimer.current);
478
+ if (!tdHoverFillInnerRef.current || !tdHoverFillRef.current) {
479
+ return;
480
+ }
481
+ var target = e.currentTarget;
482
+ var clientX = e.clientX,
483
+ clientY = e.clientY;
484
+ var _target$getBoundingCl2 = target.getBoundingClientRect(),
485
+ x = _target$getBoundingCl2.x,
486
+ y = _target$getBoundingCl2.y;
487
+ tdHoverFillTimer.current = window.setTimeout(function () {
488
+ tdHoverFillVisible.current = false;
489
+ if (tdHoverFillInnerRef.current) {
490
+ tdHoverFillInnerRef.current.style.transformOrigin = "".concat(clientX - x, "px ").concat(clientY - y, "px");
491
+ tdHoverFillInnerRef.current.style.background = 'rgba(33, 34, 38, 0)';
492
+ }
493
+ }, 100);
494
+ };
495
+ var isSelectingFirstDay = function isSelectingFirstDay(fromArg, toArg) {
496
+ var isRangeSelected = fromArg && toArg;
497
+ return !fromArg || isRangeSelected;
498
+ };
499
+ var handleDayClick = function handleDayClick(day) {
500
+ day.setHours(0, 0, 0, 0);
501
+ if (isDayBefore(day, minDate) || isDayAfter(day, maxDate)) {
502
+ return;
503
+ }
504
+ if (isSelectingFirstDay(from, to)) {
505
+ // 选择开始日期
506
+ if (onStartDaySelect) {
507
+ onStartDaySelect(day);
508
+ }
509
+ setEnteredTo(undefined);
510
+ setFrom(day);
511
+ setTo(undefined);
512
+ } else {
513
+ // 选择结束日期
514
+ if (onEndDaySelect) {
515
+ onEndDaySelect(day);
516
+ }
517
+ var newRange;
518
+ var fromStr = convertDateToString(from);
519
+ var toStr = convertDateToString(day);
520
+ var newRangeValue = '';
521
+ if (isDayAfter(day, from)) {
522
+ newRange = [from, day];
523
+ newRangeValue = "".concat(fromStr, " - ").concat(toStr);
524
+ } else {
525
+ newRange = [day, from];
526
+ newRangeValue = "".concat(toStr, " - ").concat(fromStr);
527
+ }
528
+ if (valueProp === undefined) {
529
+ setEnteredTo(day);
530
+ setRangeValue(newRangeValue);
531
+ setTo(day);
532
+ }
533
+ if (onChange) {
534
+ onChange(newRange, {
535
+ dateString: newRangeValue
536
+ });
537
+ }
538
+ if (closeOnSelect) {
539
+ setTimeout(function () {
540
+ if (onVisibleChange) {
541
+ onVisibleChange(false);
542
+ }
543
+ if (visibleProp === null) {
544
+ setVisible(false);
545
+ }
546
+ }, 150);
547
+ }
548
+ }
549
+ };
550
+ var handleInputIconClick = function handleInputIconClick(e) {
551
+ if (disabled) {
552
+ return;
553
+ }
554
+ e.stopPropagation();
555
+ e.preventDefault();
556
+ if (allowClear) {
557
+ setEnteredTo(undefined);
558
+ setFrom(undefined);
559
+ setTo(undefined);
560
+ setRangeValue('');
561
+ if (onChange) {
562
+ onChange(null, {
563
+ dateString: ''
564
+ });
565
+ }
566
+ if (onVisibleChange) {
567
+ onVisibleChange(false);
568
+ }
569
+ if (visibleProp === null) {
570
+ setVisible(false);
571
+ }
572
+ }
573
+ };
574
+ var modifiers = {
575
+ // 选择完后的开始日期
576
+ rangeStart: isReverse ? to && fromFinal : fromFinal,
577
+ // 选择了结束日期,将要选择的开始日期
578
+ rangeStartHover: isReverse && !to && fromFinal,
579
+ // 选择完后的结束日期
580
+ rangeEnd: isReverse ? enteredToFinal : to && enteredToFinal,
581
+ // 选择了开始日期,将要选择的结束日期
582
+ rangeEndHover: !isReverse && !to && enteredToFinal,
583
+ // 在范围的日期
584
+ selectedRange: function selectedRange(day) {
585
+ return isDayInRange(day, [fromFinal, enteredToFinal], true);
586
+ },
587
+ // 选择了开始日期,还没有选择结束日期时的开始日期
588
+ rangeStartSelecting: function rangeStartSelecting(day) {
589
+ return isSameDay(day, fromFinal) && enteredToFinal && !to;
590
+ },
591
+ // 选择了结束日期,还没有选择开始日期时的结束日期
592
+ rangeEndWithSelecting: function rangeEndWithSelecting(day) {
593
+ return isSameDay(day, enteredToFinal) && fromFinal && !to;
594
+ },
595
+ // 还没有选择完的在范围的日期
596
+ selectedRangeSelecting: function selectedRangeSelecting(day) {
597
+ return isDayInRange(day, [fromFinal, enteredToFinal], false) && !to;
598
+ }
599
+ };
600
+ var handleDayMouseEnter = function handleDayMouseEnter(day) {
601
+ if (!isSelectingFirstDay(from, to)) {
602
+ setEnteredTo(day);
603
+ }
604
+ };
605
+ var handleDayMouseLeave = function handleDayMouseLeave() {
606
+ setEnteredTo(undefined);
607
+ };
608
+ var handleVisibleChange = function handleVisibleChange(bool) {
609
+ if (disabled) {
610
+ return;
611
+ }
612
+ if (bool) {
613
+ setMonth(from || today);
614
+ }
615
+ setTimeout(function () {
616
+ if (nextClickInsideRef.current === true) {
617
+ nextClickInsideRef.current = false;
618
+ // 展开时,如果在内部元素点击,则不做默认的收起操作
619
+ if (!bool) {
620
+ return;
621
+ }
622
+ }
623
+ var newVal = convertDateRangeToString([from, to], lang);
624
+ if (!bool) {
625
+ if (rangeValue && isLegalDateRangeString(rangeValue, lang)) {
626
+ // 如果 rangeValue 是合法的,检查是否符合 maxDays 和 minDays 限制
627
+ var rangeValueStrs = rangeValue.split(' - ');
628
+ var inputFrom = new Date(rangeValueStrs[0]);
629
+ var inputTo = new Date(rangeValueStrs[1]);
630
+ inputFrom.setHours(0, 0, 0, 0);
631
+ inputTo.setHours(0, 0, 0, 0);
632
+
633
+ // 计算日期范围天数
634
+ var daysDiff = Math.ceil((inputTo.getTime() - inputFrom.getTime()) / (24 * 60 * 60 * 1000)) + 1;
635
+
636
+ // 检查是否满足 maxDays 和 minDays 限制
637
+ var meetsMaxDays = !maxDays || daysDiff <= maxDays;
638
+ var meetsMinDays = !minDays || daysDiff >= minDays;
639
+ if (meetsMaxDays && meetsMinDays) {
640
+ // 如果符合限制,重置到该值
641
+ var rangeReset = rangeValue.split(' - ');
642
+ setTimeout(function () {
643
+ setFrom(new Date(rangeReset[0]));
644
+ setTo(new Date(rangeReset[1]));
645
+ }, 250);
646
+ } else {
647
+ // 如果不符合限制,重置到上一个合法状态
648
+ setRangeValue(newVal);
649
+ }
650
+ } else if (rangeValue && rangeValue.trim() !== '' && !isLegalDateRangeString(rangeValue, lang)) {
651
+ // 如果 rangeValue 不合法且不为空,重置到上一个合法状态
652
+ setRangeValue(newVal);
653
+ } else if (rangeValue !== newVal) {
654
+ setRangeValue(newVal);
655
+ }
656
+ }
657
+ if (onVisibleChange) {
658
+ onVisibleChange(bool);
659
+ }
660
+ if (visibleProp === null) {
661
+ setVisible(bool);
662
+ }
663
+ }, 0);
664
+ };
665
+ var popup = /*#__PURE__*/React.createElement(DayPicker, {
666
+ "data-odn-date-picker": true,
667
+ "data-odn-date-picker-locale": lang,
668
+ numberOfMonths: numberOfMonths,
669
+ captionLayout: captionLayout,
670
+ locale: lang === 'zhCN' ? zhCN : enUS,
671
+ weekStartsOn: lang === 'zhCN' ? 1 : 0,
672
+ month: month,
673
+ onMonthChange: handleCaptionChange,
674
+ startMonth: minDate,
675
+ disabled: [{
676
+ before: minDate,
677
+ after: maxDate
678
+ }].concat(_toConsumableArray(Array.isArray(disabledDays) ? disabledDays : disabledDays ? [disabledDays] : []), _toConsumableArray(from && !to && (maxDays || minDays) ? [function (day) {
679
+ var _getDayRangeLimits = getDayRangeLimits(from),
680
+ minLimitForward = _getDayRangeLimits.minLimitForward,
681
+ maxLimitForward = _getDayRangeLimits.maxLimitForward,
682
+ minLimitBackward = _getDayRangeLimits.minLimitBackward,
683
+ maxLimitBackward = _getDayRangeLimits.maxLimitBackward;
684
+
685
+ // 如果选择的是向后的日期(day >= startDay)
686
+ if (!isDayBefore(day, from)) {
687
+ // 不能超过 maxDays 限制
688
+ if (maxLimitForward && isDayAfter(day, maxLimitForward)) {
689
+ return true;
690
+ }
691
+ // 不能少于 minDays 限制
692
+ if (minLimitForward && isDayBefore(day, minLimitForward)) {
693
+ return true;
694
+ }
695
+ }
696
+ // 如果选择的是向前的日期(day < startDay)
697
+ else {
698
+ // 不能超过 maxDays 限制
699
+ if (maxLimitBackward && isDayBefore(day, maxLimitBackward)) {
700
+ return true;
701
+ }
702
+ // 不能少于 minDays 限制
703
+ if (minLimitBackward && isDayAfter(day, minLimitBackward)) {
704
+ return true;
705
+ }
706
+ }
707
+ return false;
708
+ }] : [])),
709
+ endMonth: maxDate,
710
+ selected: selectedDays,
711
+ onDayClick: handleDayClick,
712
+ onDayMouseEnter: handleDayMouseEnter,
713
+ onDayMouseLeave: handleDayMouseLeave
714
+ // @ts-ignore
715
+ ,
716
+ modifiers: modifiers,
717
+ classNames: _objectSpread(_objectSpread({}, classNames), {}, {
718
+ day: "rdp-day ".concat((classNames === null || classNames === void 0 ? void 0 : classNames.day) || '')
719
+ }),
720
+ components: _objectSpread({
721
+ YearsDropdown: function YearsDropdown(_ref8) {
722
+ var value = _ref8.value,
723
+ _ref8$options = _ref8.options,
724
+ options = _ref8$options === void 0 ? [] : _ref8$options;
725
+ var optionsFiltered = options.filter(function (o) {
726
+ return !o.disabled;
727
+ }).map(function (o) {
728
+ return _objectSpread(_objectSpread({}, o), {}, {
729
+ label: o.value
730
+ });
731
+ });
732
+ return /*#__PURE__*/React.createElement("div", {
733
+ "data-hover-fill-target": "year",
734
+ "data-odn-date-picker-caption-select": true,
735
+ "data-odn-date-picker-caption-select-year": true,
736
+ onMouseEnter: handleCaptionHoverEnter,
737
+ onMouseLeave: handleCaptionHoverLeave
738
+ }, /*#__PURE__*/React.createElement("select", {
739
+ "data-odn-date-picker-caption-select-input": true,
740
+ name: "year",
741
+ onChange: handleYearChange,
742
+ onClick: function onClick(e) {
743
+ e.stopPropagation();
744
+ resetNavHoverFill();
745
+ },
746
+ "data-value": value,
747
+ value: value
748
+ }, optionsFiltered.map(function (o) {
749
+ return /*#__PURE__*/React.createElement("option", {
750
+ key: o.value,
751
+ value: o.value
752
+ }, o.label, lang === 'zhCN' ? '年' : '');
753
+ })), /*#__PURE__*/React.createElement("svg", {
754
+ "data-odn-date-picker-caption-icon": true,
755
+ width: "18",
756
+ height: "18",
757
+ viewBox: "0 0 18 18"
758
+ }, /*#__PURE__*/React.createElement("path", {
759
+ d: "M12.3501 7.81235C12.6121 7.48497 12.379 7 11.9597 7H6.04034C5.62109 7 5.388 7.48497 5.6499 7.81235L8.60959 11.512C8.80975 11.7622 9.1903 11.7622 9.39046 11.512L12.3501 7.81235Z",
760
+ fillRule: "evenodd"
761
+ })));
762
+ },
763
+ MonthsDropdown: function MonthsDropdown(_ref9) {
764
+ var value = _ref9.value,
765
+ _ref9$options = _ref9.options,
766
+ options = _ref9$options === void 0 ? [] : _ref9$options;
767
+ var optionsFiltered = options.filter(function (o) {
768
+ return !o.disabled;
769
+ }).map(function (o) {
770
+ return _objectSpread(_objectSpread({}, o), {}, {
771
+ label: lang === 'zhCN' ? MONTHS[o.value].zhCN : MONTHS[o.value].enUS
772
+ });
773
+ });
774
+ return /*#__PURE__*/React.createElement("div", {
775
+ "data-hover-fill-target": "month",
776
+ "data-odn-date-picker-caption-select": true,
777
+ "data-odn-date-picker-caption-select-month": true,
778
+ onMouseEnter: handleCaptionHoverEnter,
779
+ onMouseLeave: handleCaptionHoverLeave
780
+ }, /*#__PURE__*/React.createElement("select", {
781
+ "data-odn-date-picker-caption-select-input": true,
782
+ name: "month",
783
+ onChange: handleMonthChange,
784
+ value: value,
785
+ "data-value": value,
786
+ onClick: function onClick(e) {
787
+ e.stopPropagation();
788
+ resetNavHoverFill();
789
+ }
790
+ }, optionsFiltered.map(function (o) {
791
+ return /*#__PURE__*/React.createElement("option", {
792
+ key: o.value,
793
+ value: o.value
794
+ }, o.label);
795
+ })), /*#__PURE__*/React.createElement("svg", {
796
+ "data-odn-date-picker-caption-icon": true,
797
+ width: "18",
798
+ height: "18",
799
+ viewBox: "0 0 18 18"
800
+ }, /*#__PURE__*/React.createElement("path", {
801
+ d: "M12.3501 7.81235C12.6121 7.48497 12.379 7 11.9597 7H6.04034C5.62109 7 5.388 7.48497 5.6499 7.81235L8.60959 11.512C8.80975 11.7622 9.1903 11.7622 9.39046 11.512L12.3501 7.81235Z",
802
+ fillRule: "evenodd"
803
+ })));
804
+ },
805
+ Nav: function Nav(_ref10) {
806
+ var onPreviousClick = _ref10.onPreviousClick,
807
+ onNextClick = _ref10.onNextClick,
808
+ previousMonth = _ref10.previousMonth,
809
+ nextMonth = _ref10.nextMonth;
810
+ return /*#__PURE__*/React.createElement("div", {
811
+ "data-odn-date-picker-caption-nav": true
812
+ }, /*#__PURE__*/React.createElement("button", {
813
+ "data-odn-date-picker-caption-nav-button": true,
814
+ "data-odn-date-picker-caption-nav-button-prev": true,
815
+ "data-odn-date-picker-caption-nav-button-disabled": !previousMonth,
816
+ "data-hover-fill-target": "prev",
817
+ onClick: function onClick(e) {
818
+ e.stopPropagation();
819
+ onPreviousClick === null || onPreviousClick === void 0 || onPreviousClick(e);
820
+ resetNavHoverFill();
821
+ },
822
+ disabled: !previousMonth,
823
+ onMouseEnter: handleCaptionHoverEnter,
824
+ onMouseLeave: handleCaptionHoverLeave
825
+ }, captionPrevIcon || /*#__PURE__*/React.createElement(Icon, {
826
+ name: "left",
827
+ "data-odn-date-picker-caption-nav-icon": true
828
+ })), /*#__PURE__*/React.createElement("button", {
829
+ "data-odn-date-picker-caption-nav-button": true,
830
+ "data-odn-date-picker-caption-nav-button-next": true,
831
+ "data-odn-date-picker-caption-nav-button-disabled": !nextMonth,
832
+ "data-hover-fill-target": "next",
833
+ onClick: function onClick(e) {
834
+ e.stopPropagation();
835
+ onNextClick === null || onNextClick === void 0 || onNextClick(e);
836
+ resetNavHoverFill();
837
+ },
838
+ disabled: !nextMonth,
839
+ onMouseEnter: handleCaptionHoverEnter,
840
+ onMouseLeave: handleCaptionHoverLeave
841
+ }, captionNextIcon || /*#__PURE__*/React.createElement(Icon, {
842
+ name: "right",
843
+ "data-odn-date-picker-caption-nav-icon": true
844
+ })));
845
+ },
846
+ DayButton: function DayButton(_ref11) {
847
+ var day = _ref11.day,
848
+ modifiers = _ref11.modifiers,
849
+ _onMouseEnter = _ref11.onMouseEnter,
850
+ _onMouseLeave = _ref11.onMouseLeave,
851
+ onClick = _ref11.onClick,
852
+ _onMouseDown = _ref11.onMouseDown,
853
+ props = _objectWithoutProperties(_ref11, _excluded3);
854
+ var focus = modifiers.focus,
855
+ today = modifiers.today,
856
+ disabled = modifiers.disabled,
857
+ outside = modifiers.outside,
858
+ selected = modifiers.selected,
859
+ rangeStart = modifiers.rangeStart,
860
+ rangeStartHover = modifiers.rangeStartHover,
861
+ rangeEnd = modifiers.rangeEnd,
862
+ rangeEndHover = modifiers.rangeEndHover,
863
+ selectedRange = modifiers.selectedRange;
864
+ if (_DayButton) {
865
+ return _DayButton(_objectSpread({
866
+ day: day,
867
+ modifiers: modifiers,
868
+ onMouseEnter: function onMouseEnter(e) {
869
+ _onMouseEnter === null || _onMouseEnter === void 0 || _onMouseEnter(e);
870
+ handleTdHoverEnter(e);
871
+ },
872
+ onMouseLeave: function onMouseLeave(e) {
873
+ _onMouseLeave === null || _onMouseLeave === void 0 || _onMouseLeave(e);
874
+ handleTdHoverLeave(e);
875
+ },
876
+ // RDP v9 仍然没有解决重复 render 的问题,每一个 day 即使 modifiers 完全相同也还是会重复 Render
877
+ // 这里尝试过加 memo,甚至直接 return false 也是会重新 render 的
878
+ // 这意味着如果 numberOfMonths 设置为 2 或以上性能将会受到挑战,当然我们应该不会有这样的需求
879
+ // 所造成的问题是 onClick 可能不会触发,而 mouseDown 和 mouseUp 是会触发的,推测的原因是因为在 down 和 up 之间重新 render 了,整个 dom 都被重新渲染了
880
+ // 因此这里使用 mouseDown 事件取代 onClick 事件
881
+ onMouseDown: function onMouseDown(e) {
882
+ _onMouseDown === null || _onMouseDown === void 0 || _onMouseDown(e);
883
+ onClick === null || onClick === void 0 || onClick(e);
884
+ }
885
+ }, props));
886
+ }
887
+ return /*#__PURE__*/React.createElement("button", _extends({
888
+ "data-odn-date-picker-day": true,
889
+ "data-odn-date-picker-day-disabled": disabled,
890
+ "data-odn-date-picker-day-today": today,
891
+ "data-odn-date-picker-day-selected": selected,
892
+ "data-odn-date-picker-day-focus": focus,
893
+ "data-odn-date-picker-day-outside": outside,
894
+ "data-odn-date-picker-day-range-start": rangeStart,
895
+ "data-odn-date-picker-day-range-start-hover": rangeStartHover,
896
+ "data-odn-date-picker-day-range-end": rangeEnd,
897
+ "data-odn-date-picker-day-range-end-hover": rangeEndHover,
898
+ "data-odn-date-picker-day-selected-range": selectedRange,
899
+ onMouseEnter: function onMouseEnter(e) {
900
+ _onMouseEnter === null || _onMouseEnter === void 0 || _onMouseEnter(e);
901
+ handleTdHoverEnter(e);
902
+ },
903
+ onMouseLeave: function onMouseLeave(e) {
904
+ _onMouseLeave === null || _onMouseLeave === void 0 || _onMouseLeave(e);
905
+ handleTdHoverLeave(e);
906
+ },
907
+ onMouseDown: function onMouseDown(e) {
908
+ _onMouseDown === null || _onMouseDown === void 0 || _onMouseDown(e);
909
+ onClick === null || onClick === void 0 || onClick(e);
910
+ }
911
+ }, props), day.date.getDate());
912
+ }
913
+ }, otherComponents)
914
+ });
915
+ var inputEl = /*#__PURE__*/React.createElement("input", {
916
+ readOnly: !!format,
917
+ type: "text",
918
+ "data-odn-date-picker-input": true,
919
+ "data-odn-date-picker-input-format": !!format,
920
+ "data-odn-date-picker-input-disabled": disabled,
921
+ disabled: disabled,
922
+ value: format && selectedDays !== null && selectedDays !== void 0 && selectedDays.from && selectedDays !== null && selectedDays !== void 0 && selectedDays.to ? format([selectedDays.from, selectedDays.to], {
923
+ dateString: rangeValue
924
+ }) || '' : rangeValue,
925
+ onChange: handleInputChange,
926
+ onClick: function onClick() {
927
+ nextClickInsideRef.current = true;
928
+ },
929
+ placeholder: placeholder,
930
+ style: {
931
+ paddingLeft: prefixWidth > 0 ? "".concat(prefixWidth, "px") : undefined
932
+ }
933
+ });
934
+ var popupEl = useMemo(function () {
935
+ return popupRender ? popupRender(popup) : popup;
936
+ }, [popupRender, popup]);
937
+ return /*#__PURE__*/React.createElement(Popover, _extends({
938
+ arrowed: false,
939
+ visible: visible,
940
+ placement: "bottomLeft",
941
+ trigger: "click",
942
+ popupStyle: _objectSpread({
943
+ padding: 0,
944
+ maxWidth: 'initial'
945
+ }, popupStyle)
946
+ }, popoverProps, {
947
+ popup: /*#__PURE__*/React.createElement("div", {
948
+ "data-odn-date-picker-popup": true,
949
+ ref: popupRef
950
+ }, /*#__PURE__*/React.createElement("div", {
951
+ "data-odn-date-picker-caption-nav-hover-fill": true,
952
+ ref: navHoverFillRef
953
+ }, /*#__PURE__*/React.createElement("div", {
954
+ "data-odn-date-picker-caption-nav-hover-fill-inner": true,
955
+ ref: navHoverFillInnerRef
956
+ })), /*#__PURE__*/React.createElement("div", {
957
+ "data-odn-date-picker-td-hover-fill": true,
958
+ ref: tdHoverFillRef
959
+ }, /*#__PURE__*/React.createElement("div", {
960
+ "data-odn-date-picker-td-hover-fill-inner": true,
961
+ ref: tdHoverFillInnerRef
962
+ })), shortcutsEnabled && /*#__PURE__*/React.createElement("div", {
963
+ "data-odn-date-picker-shortcuts": true
964
+ }, shortcuts.map(function (_ref12, index) {
965
+ var value = _ref12.value,
966
+ label = _ref12.label,
967
+ active = _ref12.active,
968
+ _onClick = _ref12.onClick;
969
+ return /*#__PURE__*/React.createElement(HoverFill, {
970
+ key: index
971
+ }, /*#__PURE__*/React.createElement("div", {
972
+ "data-odn-date-picker-shortcut": true,
973
+ "data-odn-date-picker-shortcut-active": active !== undefined ? active : value ? isSameDay(value[0], fromFinal) && isSameDay(value[1], enteredToFinal) : false,
974
+ onClick: function onClick(e) {
975
+ e.stopPropagation();
976
+ if (_onClick) {
977
+ _onClick(e);
978
+ } else if (value && Array.isArray(value)) {
979
+ var fromShortcut = value[0];
980
+ var toShortcut = value[1];
981
+ setFrom(fromShortcut);
982
+ setMonth(fromShortcut);
983
+ setTo(toShortcut);
984
+ setRangeValue(convertDateRangeToString(value, lang));
985
+ if (onChange) {
986
+ onChange(value, {
987
+ dateString: convertDateRangeToString(value, lang)
988
+ });
989
+ }
990
+ if (closeOnSelect) {
991
+ setTimeout(function () {
992
+ if (onVisibleChange) {
993
+ onVisibleChange(false);
994
+ }
995
+ if (visibleProp === null) {
996
+ setVisible(false);
997
+ }
998
+ }, 150);
999
+ }
1000
+ }
1001
+ }
1002
+ }, label));
1003
+ })), /*#__PURE__*/React.createElement("div", {
1004
+ "data-odn-date-picker-popup-content": true
1005
+ }, popupEl))
1006
+ }), /*#__PURE__*/React.createElement(React.Fragment, null, triggerElement ? /*#__PURE__*/React.createElement("div", {
1007
+ ref: containerRef,
1008
+ onClick: function onClick() {
1009
+ handleVisibleChange(!visible);
1010
+ }
1011
+ }, triggerElement) : /*#__PURE__*/React.createElement("div", _extends({
1012
+ "data-odn-date-picker-container": true,
1013
+ "data-odn-date-picker-container-range": true,
1014
+ "data-odn-date-picker-container-selected": !!selectedDays.from || !!selectedDays.to,
1015
+ "data-odn-date-picker-container-light": light,
1016
+ "data-odn-date-picker-container-disabled": disabled,
1017
+ "data-odn-date-picker-container-allow-clear": allowClear,
1018
+ onClick: function onClick(e) {
1019
+ _onClick2 === null || _onClick2 === void 0 || _onClick2(e);
1020
+ handleVisibleChange(!visible);
1021
+ },
1022
+ ref: containerRef
1023
+ }, otherProps), !!prefix && /*#__PURE__*/React.createElement("div", {
1024
+ ref: prefixRef,
1025
+ "data-odn-date-picker-prefix": true
1026
+ }, prefix), light ? /*#__PURE__*/React.createElement(HoverFill, {
1027
+ bgStyle: {
1028
+ borderRadius: '4px'
1029
+ }
1030
+ }, inputEl) : inputEl, /*#__PURE__*/React.createElement("div", {
1031
+ "data-odn-date-picker-icon-container": true,
1032
+ onClick: handleInputIconClick
1033
+ }, /*#__PURE__*/React.createElement(Icon, {
1034
+ name: "calendar",
1035
+ "data-odn-date-picker-icon": true,
1036
+ "data-odn-date-picker-icon-calendar": true
1037
+ }), allowClear && /*#__PURE__*/React.createElement(Icon, {
1038
+ name: "cancel-circle-filled",
1039
+ "data-odn-date-picker-icon": true,
1040
+ "data-odn-date-picker-icon-clear": true
1041
+ })))));
1042
+ };
1043
+ export default DateRangePicker;