one-design-next 0.0.4-alpha.57

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