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,153 @@
1
+ html {
2
+ --odn-cp-input-width: 100px;
3
+ }
4
+
5
+ [data-odn-cp] {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: 8px;
9
+ }
10
+
11
+ [data-odn-cp-button] {
12
+ aspect-ratio: 1/1;
13
+ }
14
+
15
+ [data-odn-cp-button-inner] {
16
+ position: absolute;
17
+ top: 50%;
18
+ left: 50%;
19
+ transform: translate3d(-50%, -50%, 0);
20
+ width: 26px;
21
+ height: 26px;
22
+ border-radius: 4px;
23
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
24
+ }
25
+
26
+ [data-odn-cp-input] {
27
+ width: var(--odn-cp-input-width);
28
+ }
29
+
30
+ [data-odn-cp-input-left] {
31
+ margin-right: 4px;
32
+ color: var(--odn-color-text-placeholder);
33
+ }
34
+
35
+ [data-odn-cp-popup] {
36
+ padding: 8px;
37
+ user-select: none;
38
+ --odn-slider-margin-inline-end: 0;
39
+ --odn-slider-track-height: 12px;
40
+ --odn-slider-track-background: transparent;
41
+ --odn-slider-border-radius: 2px;
42
+ --odn-slider-handle-width: 8px;
43
+ --odn-slider-handle-height: 14px;
44
+ --odn-slider-handle-border-radius: 4px;
45
+ --odn-slider-tooltip-padding-block: 4px;
46
+ --odn-slider-tooltip-padding-inline: 8px;
47
+ --odn-slider-tooltip-font-size: 12px;
48
+ --odn-slider-tooltip-border-radius: 6px;
49
+ }
50
+
51
+ [data-odn-cp-popup-panel] {
52
+ position: relative;
53
+ margin-bottom: 6px;
54
+ width: 160px;
55
+ height: 90px;
56
+ border-radius: 2px;
57
+ }
58
+
59
+ [data-odn-cp-popup-panel-s],
60
+ [data-odn-cp-popup-panel-b] {
61
+ position: absolute;
62
+ top: 0;
63
+ left: 0;
64
+ width: 100%;
65
+ height: 100%;
66
+ border-radius: inherit;
67
+ }
68
+
69
+ [data-odn-cp-popup-panel-s] {
70
+ background: linear-gradient(to right, rgb(255, 255, 255), rgba(255, 255, 255, 0));
71
+ }
72
+
73
+ [data-odn-cp-popup-panel-b] {
74
+ background: linear-gradient(to top, rgb(0, 0, 0), rgba(0, 0, 0, 0));
75
+ }
76
+
77
+ [data-odn-cp-popup-panel-indicator] {
78
+ position: absolute;
79
+ top: 0;
80
+ left: 0;
81
+ width: 14px;
82
+ height: 14px;
83
+ border: 3px solid #fff;
84
+ border-radius: 100%;
85
+ box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
86
+ }
87
+
88
+ [data-odn-cp-popup-slider-wrapper] {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 6px;
92
+ height: 20px;
93
+ }
94
+
95
+ [data-odn-cp-popup-slider-wrapper-label] {
96
+ flex: none;
97
+ width: 9px;
98
+ font-size: 12px;
99
+ }
100
+
101
+ [data-odn-cp-popup-slider] {
102
+ flex: 1;
103
+ }
104
+
105
+ [data-odn-cp-popup-slider-h] {
106
+ --odn-slider-rail-background: linear-gradient(
107
+ to right,
108
+ rgb(255, 0, 0) 0%,
109
+ rgb(255, 255, 0) 17%,
110
+ rgb(0, 255, 0) 33%,
111
+ rgb(0, 255, 255) 50%,
112
+ rgb(0, 0, 255) 67%,
113
+ rgb(255, 0, 255) 83%,
114
+ rgb(255, 0, 0) 100%
115
+ );
116
+ }
117
+
118
+ [data-odn-cp-popup-collpase-panel-header] {
119
+ display: flex;
120
+ align-items: center;
121
+ justify-content: space-between;
122
+ padding: 8px 10px;
123
+ cursor: pointer;
124
+ user-select: none;
125
+ }
126
+
127
+ [data-odn-cp-popup-collpase-panel-header-icon] {
128
+ color: var(--odn-color-black-9);
129
+ transition: transform 0.2s cubic-bezier(0.32, 0.72, 0, 1);
130
+ }
131
+ [data-odn-cp-popup-collpase-panel-header-icon][data-odn-cp-popup-collpase-panel-header-icon-open=true] {
132
+ transform: rotate(180deg);
133
+ }
134
+
135
+ [data-odn-cp-popup-collpase-panel-content] {
136
+ padding: 0 10px 10px;
137
+ }
138
+
139
+ [data-odn-cp-popup-collpase-panel-content-grid] {
140
+ display: grid;
141
+ grid-template-columns: repeat(7, 1fr);
142
+ gap: 1px;
143
+ }
144
+
145
+ [data-odn-cp-popup-collpase-panel-content-grid-item] {
146
+ aspect-ratio: 1/1;
147
+ cursor: pointer;
148
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
149
+ }
150
+
151
+ [data-odn-cp-popup-with-palettes] {
152
+ width: 176px;
153
+ }
@@ -0,0 +1,2 @@
1
+ import '../../style';
2
+ import "./index.scss";
@@ -0,0 +1,2 @@
1
+ import "../../style";
2
+ import "./index.css";
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { adqIconNames } from '../icon';
3
+ export type DefaultIconName = (typeof adqIconNames)[number];
4
+ export type sizeType = 'small' | 'medium' | 'large';
5
+ export interface ConfigConsumerProps {
6
+ /**
7
+ * 自定义 icon,需保证 viewBox 为 0 0 16 16
8
+ */
9
+ icons?: Record<string, readonly string[]>;
10
+ /**
11
+ * 定义 hoverFill 相关表现
12
+ */
13
+ hoverFill?: {
14
+ /**
15
+ * 是否开启背景共享
16
+ */
17
+ sharable?: boolean;
18
+ };
19
+ }
20
+ export interface ConfigProviderProps<T extends Record<string, readonly string[]>> {
21
+ /**
22
+ * 子节点
23
+ */
24
+ children: React.ReactNode;
25
+ /**
26
+ * 自定义 icon,需保证 viewBox 为 0 0 16 16
27
+ */
28
+ icons?: T;
29
+ /**
30
+ * 定义 hoverFill 相关表现
31
+ */
32
+ hoverFill?: {
33
+ /**
34
+ * 是否开启背景共享
35
+ */
36
+ sharable?: boolean;
37
+ };
38
+ }
39
+ /**
40
+ * 三个 param,权重依次递减
41
+ */
42
+ export declare const getComputedSize: (size0?: sizeType, size1?: sizeType, size2?: sizeType) => sizeType;
43
+ export declare const ConfigContext: React.Context<ConfigConsumerProps>;
44
+ export declare const ConfigConsumer: React.Consumer<ConfigConsumerProps>;
45
+ declare function ConfigProvider<T extends Record<string, readonly string[]>>({ children, icons, hoverFill, ...otherProps }: ConfigProviderProps<T>): React.JSX.Element;
46
+ export default ConfigProvider;
@@ -0,0 +1,37 @@
1
+ var _excluded = ["children", "icons", "hoverFill"];
2
+ 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); }
3
+ 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; }
4
+ 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; }
5
+ import * as React from 'react';
6
+ /**
7
+ * 三个 param,权重依次递减
8
+ */
9
+ export var getComputedSize = function getComputedSize(size0, size1, size2) {
10
+ if (size0 !== 'medium' && size0) {
11
+ return size0;
12
+ }
13
+ if (size1 !== 'medium' && size1) {
14
+ return size1;
15
+ }
16
+ return size2 || size1 || size0 || 'medium';
17
+ };
18
+ export var ConfigContext = /*#__PURE__*/React.createContext({
19
+ icons: {},
20
+ hoverFill: {
21
+ sharable: true
22
+ }
23
+ });
24
+ export var ConfigConsumer = ConfigContext.Consumer;
25
+ function ConfigProvider(_ref) {
26
+ var children = _ref.children,
27
+ icons = _ref.icons,
28
+ hoverFill = _ref.hoverFill,
29
+ otherProps = _objectWithoutProperties(_ref, _excluded);
30
+ return /*#__PURE__*/React.createElement(ConfigContext.Provider, _extends({
31
+ value: {
32
+ icons: icons,
33
+ hoverFill: hoverFill
34
+ }
35
+ }, otherProps), children);
36
+ }
37
+ export default ConfigProvider;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ interface MonthPickerProps {
3
+ selectedRange: [Date, Date] | null;
4
+ lang: 'zhCN' | 'enUS';
5
+ month: Date | null;
6
+ minDate: Date;
7
+ maxDate: Date;
8
+ disabledMonths?: Date[];
9
+ onMonthSelect: (monthRange: [Date, Date]) => void;
10
+ onMonthChange: (date: Date) => void;
11
+ onCaptionHoverEnter: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
12
+ onCaptionHoverLeave: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
13
+ }
14
+ declare const MonthPicker: React.FC<MonthPickerProps>;
15
+ export default MonthPicker;
@@ -0,0 +1,134 @@
1
+ import React from 'react';
2
+ import { convertMonthToString, MONTHS, today } from "../_util/date";
3
+ import HoverFill from "../hover-fill";
4
+ import Icon from "../icon";
5
+ var MonthPicker = function MonthPicker(_ref) {
6
+ var selectedRange = _ref.selectedRange,
7
+ lang = _ref.lang,
8
+ month = _ref.month,
9
+ minDate = _ref.minDate,
10
+ maxDate = _ref.maxDate,
11
+ disabledMonths = _ref.disabledMonths,
12
+ onMonthSelect = _ref.onMonthSelect,
13
+ onMonthChange = _ref.onMonthChange,
14
+ onCaptionHoverEnter = _ref.onCaptionHoverEnter,
15
+ onCaptionHoverLeave = _ref.onCaptionHoverLeave;
16
+ // 优先使用 month,如果没有则使用 today,确保始终有有效的年份
17
+ var monthYear = month ? month.getFullYear() : today.getFullYear();
18
+ var currentMonthString = convertMonthToString(selectedRange || undefined, lang);
19
+ var handleMonthSelect = function handleMonthSelect(monthIndex) {
20
+ var startDate = new Date(monthYear, monthIndex, 1);
21
+ var endDate = new Date(monthYear, monthIndex + 1, 0);
22
+ onMonthSelect([startDate, endDate]);
23
+ };
24
+ var handleMonthYearChange = function handleMonthYearChange(direction) {
25
+ var newYear = direction === 'prev' ? monthYear - 1 : monthYear + 1;
26
+
27
+ // 如果没有 month,创建一个基于当前年份的日期
28
+ var newMonth = month ? new Date(month) : new Date(monthYear, 0, 1);
29
+ newMonth.setFullYear(newYear);
30
+
31
+ // 检查边界
32
+ if (newMonth < minDate) {
33
+ newMonth.setFullYear(minDate.getFullYear());
34
+ } else if (newMonth > maxDate) {
35
+ newMonth.setFullYear(maxDate.getFullYear());
36
+ }
37
+ onMonthChange(newMonth);
38
+ };
39
+
40
+ // 计算按钮禁用状态
41
+ var isPrevDisabled = monthYear <= minDate.getFullYear();
42
+ var isNextDisabled = monthYear >= maxDate.getFullYear();
43
+
44
+ // 计算每个月份是否禁用
45
+ var isMonthDisabled = function isMonthDisabled(monthIndex) {
46
+ var monthStart = new Date(monthYear, monthIndex, 1);
47
+ var monthEnd = new Date(monthYear, monthIndex + 1, 0);
48
+
49
+ // 如果月份的开始日期在 minDate 之前,或者结束日期在 maxDate 之后,则禁用
50
+ if (monthStart < minDate || monthEnd > maxDate) {
51
+ return true;
52
+ }
53
+
54
+ // 检查是否在 disabledMonths 中
55
+ if (disabledMonths && disabledMonths.length > 0) {
56
+ var currentMonthYear = monthYear;
57
+ var currentMonth = monthIndex;
58
+
59
+ // 检查是否有任何 disabledMonths 中的日期属于当前月份
60
+ return disabledMonths.some(function (disabledDate) {
61
+ var disabledYear = disabledDate.getFullYear();
62
+ var disabledMonth = disabledDate.getMonth();
63
+ return disabledYear === currentMonthYear && disabledMonth === currentMonth;
64
+ });
65
+ }
66
+ return false;
67
+ };
68
+ return /*#__PURE__*/React.createElement("div", {
69
+ "data-odn-date-picker-grid-popup": true
70
+ }, /*#__PURE__*/React.createElement("div", {
71
+ "data-odn-date-picker-grid-caption": true
72
+ }, /*#__PURE__*/React.createElement("button", {
73
+ "data-odn-date-picker-caption-nav-button": true,
74
+ "data-odn-date-picker-caption-nav-button-prev": true,
75
+ "data-odn-date-picker-caption-nav-button-disabled": isPrevDisabled,
76
+ "data-hover-fill-target": "prev",
77
+ onClick: function onClick(e) {
78
+ e.stopPropagation();
79
+ if (!isPrevDisabled) {
80
+ handleMonthYearChange('prev');
81
+ }
82
+ },
83
+ disabled: isPrevDisabled,
84
+ onMouseEnter: onCaptionHoverEnter,
85
+ onMouseLeave: onCaptionHoverLeave
86
+ }, /*#__PURE__*/React.createElement(Icon, {
87
+ name: "left",
88
+ "data-odn-date-picker-caption-nav-icon": true
89
+ })), /*#__PURE__*/React.createElement("div", {
90
+ "data-odn-date-picker-caption-nav": true
91
+ }, monthYear, lang === 'zhCN' ? '年' : ''), /*#__PURE__*/React.createElement("button", {
92
+ "data-odn-date-picker-caption-nav-button": true,
93
+ "data-odn-date-picker-caption-nav-button-next": true,
94
+ "data-odn-date-picker-caption-nav-button-disabled": isNextDisabled,
95
+ "data-hover-fill-target": "next",
96
+ onClick: function onClick(e) {
97
+ e.stopPropagation();
98
+ if (!isNextDisabled) {
99
+ handleMonthYearChange('next');
100
+ }
101
+ },
102
+ disabled: isNextDisabled,
103
+ onMouseEnter: onCaptionHoverEnter,
104
+ onMouseLeave: onCaptionHoverLeave
105
+ }, /*#__PURE__*/React.createElement(Icon, {
106
+ name: "right",
107
+ "data-odn-date-picker-caption-nav-icon": true
108
+ }))), /*#__PURE__*/React.createElement("div", {
109
+ "data-odn-date-picker-grid-body": true
110
+ }, MONTHS.map(function (monthItem, index) {
111
+ var isDisabled = isMonthDisabled(index);
112
+ var monthNumber = index + 1;
113
+ var monthString = "".concat(monthYear, "-").concat(monthNumber.toString().padStart(2, '0'));
114
+ return /*#__PURE__*/React.createElement(HoverFill, {
115
+ key: index,
116
+ bgStyle: {
117
+ borderRadius: '6px'
118
+ },
119
+ hoverColor: "#F5F8FF",
120
+ disabled: isDisabled,
121
+ "data-odn-date-picker-grid-item-wrapper": true
122
+ }, /*#__PURE__*/React.createElement("div", {
123
+ "data-odn-date-picker-grid-item": true,
124
+ "data-odn-date-picker-grid-item-disabled": isDisabled,
125
+ "data-odn-date-picker-grid-item-active": currentMonthString === monthString,
126
+ onClick: function onClick() {
127
+ if (!isDisabled) {
128
+ handleMonthSelect(index);
129
+ }
130
+ }
131
+ }, lang === 'zhCN' ? monthItem.zhCN : monthItem.enUS));
132
+ })));
133
+ };
134
+ export default MonthPicker;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ interface QuarterPickerProps {
3
+ selectedRange: [Date, Date] | null;
4
+ lang: 'zhCN' | 'enUS';
5
+ month: Date | null;
6
+ minDate: Date;
7
+ maxDate: Date;
8
+ disabledQuarters?: Date[];
9
+ onQuarterSelect: (quarterRange: [Date, Date]) => void;
10
+ onMonthChange: (date: Date) => void;
11
+ onCaptionHoverEnter: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
12
+ onCaptionHoverLeave: (e: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
13
+ }
14
+ declare const QuarterPicker: React.FC<QuarterPickerProps>;
15
+ export default QuarterPicker;
@@ -0,0 +1,135 @@
1
+ import React from 'react';
2
+ import { convertQuarterToString, today } from "../_util/date";
3
+ import HoverFill from "../hover-fill";
4
+ import Icon from "../icon";
5
+ var QuarterPicker = function QuarterPicker(_ref) {
6
+ var selectedRange = _ref.selectedRange,
7
+ lang = _ref.lang,
8
+ month = _ref.month,
9
+ minDate = _ref.minDate,
10
+ maxDate = _ref.maxDate,
11
+ disabledQuarters = _ref.disabledQuarters,
12
+ onQuarterSelect = _ref.onQuarterSelect,
13
+ onMonthChange = _ref.onMonthChange,
14
+ onCaptionHoverEnter = _ref.onCaptionHoverEnter,
15
+ onCaptionHoverLeave = _ref.onCaptionHoverLeave;
16
+ // 优先使用 month,如果没有则使用 today,确保始终有有效的年份
17
+ var quarterYear = month ? month.getFullYear() : today.getFullYear();
18
+ var currentQuarterString = convertQuarterToString(selectedRange || undefined, lang);
19
+ var handleQuarterSelect = function handleQuarterSelect(quarter) {
20
+ var startMonth = (quarter - 1) * 3;
21
+ var startDate = new Date(quarterYear, startMonth, 1);
22
+ var endDate = new Date(quarterYear, startMonth + 3, 0);
23
+ onQuarterSelect([startDate, endDate]);
24
+ };
25
+ var handleQuarterYearChange = function handleQuarterYearChange(direction) {
26
+ var newYear = direction === 'prev' ? quarterYear - 1 : quarterYear + 1;
27
+
28
+ // 如果没有 month,创建一个基于当前年份的日期
29
+ var newMonth = month ? new Date(month) : new Date(quarterYear, 0, 1);
30
+ newMonth.setFullYear(newYear);
31
+
32
+ // 检查边界
33
+ if (newMonth < minDate) {
34
+ newMonth.setFullYear(minDate.getFullYear());
35
+ } else if (newMonth > maxDate) {
36
+ newMonth.setFullYear(maxDate.getFullYear());
37
+ }
38
+ onMonthChange(newMonth);
39
+ };
40
+
41
+ // 计算按钮禁用状态
42
+ var isPrevDisabled = quarterYear <= minDate.getFullYear();
43
+ var isNextDisabled = quarterYear >= maxDate.getFullYear();
44
+
45
+ // 计算每个季度是否禁用
46
+ var isQuarterDisabled = function isQuarterDisabled(quarter) {
47
+ var startMonth = (quarter - 1) * 3;
48
+ var quarterStart = new Date(quarterYear, startMonth, 1);
49
+ var quarterEnd = new Date(quarterYear, startMonth + 3, 0);
50
+
51
+ // 如果季度的开始日期在 minDate 之前,或者结束日期在 maxDate 之后,则禁用
52
+ if (quarterStart < minDate || quarterEnd > maxDate) {
53
+ return true;
54
+ }
55
+
56
+ // 检查是否在 disabledQuarters 中
57
+ if (disabledQuarters && disabledQuarters.length > 0) {
58
+ var currentQuarterYear = quarterYear;
59
+ var currentQuarter = quarter;
60
+
61
+ // 检查是否有任何 disabledQuarters 中的日期属于当前季度
62
+ return disabledQuarters.some(function (disabledDate) {
63
+ var disabledYear = disabledDate.getFullYear();
64
+ var disabledMonth = disabledDate.getMonth();
65
+ var disabledQuarter = Math.floor(disabledMonth / 3) + 1;
66
+ return disabledYear === currentQuarterYear && disabledQuarter === currentQuarter;
67
+ });
68
+ }
69
+ return false;
70
+ };
71
+ return /*#__PURE__*/React.createElement("div", {
72
+ "data-odn-date-picker-grid-popup": true
73
+ }, /*#__PURE__*/React.createElement("div", {
74
+ "data-odn-date-picker-grid-caption": true
75
+ }, /*#__PURE__*/React.createElement("button", {
76
+ "data-odn-date-picker-caption-nav-button": true,
77
+ "data-odn-date-picker-caption-nav-button-prev": true,
78
+ "data-odn-date-picker-caption-nav-button-disabled": isPrevDisabled,
79
+ "data-hover-fill-target": "prev",
80
+ onClick: function onClick(e) {
81
+ e.stopPropagation();
82
+ if (!isPrevDisabled) {
83
+ handleQuarterYearChange('prev');
84
+ }
85
+ },
86
+ disabled: isPrevDisabled,
87
+ onMouseEnter: onCaptionHoverEnter,
88
+ onMouseLeave: onCaptionHoverLeave
89
+ }, /*#__PURE__*/React.createElement(Icon, {
90
+ name: "left",
91
+ "data-odn-date-picker-caption-nav-icon": true
92
+ })), /*#__PURE__*/React.createElement("div", {
93
+ "data-odn-date-picker-caption-nav": true
94
+ }, quarterYear, lang === 'zhCN' ? '年' : ''), /*#__PURE__*/React.createElement("button", {
95
+ "data-odn-date-picker-caption-nav-button": true,
96
+ "data-odn-date-picker-caption-nav-button-next": true,
97
+ "data-odn-date-picker-caption-nav-button-disabled": isNextDisabled,
98
+ "data-hover-fill-target": "next",
99
+ onClick: function onClick(e) {
100
+ e.stopPropagation();
101
+ if (!isNextDisabled) {
102
+ handleQuarterYearChange('next');
103
+ }
104
+ },
105
+ disabled: isNextDisabled,
106
+ onMouseEnter: onCaptionHoverEnter,
107
+ onMouseLeave: onCaptionHoverLeave
108
+ }, /*#__PURE__*/React.createElement(Icon, {
109
+ name: "right",
110
+ "data-odn-date-picker-caption-nav-icon": true
111
+ }))), /*#__PURE__*/React.createElement("div", {
112
+ "data-odn-date-picker-grid-body": true
113
+ }, [1, 2, 3, 4].map(function (quarter) {
114
+ var isDisabled = isQuarterDisabled(quarter);
115
+ return /*#__PURE__*/React.createElement(HoverFill, {
116
+ key: quarter,
117
+ bgStyle: {
118
+ borderRadius: '6px'
119
+ },
120
+ hoverColor: "#F5F8FF",
121
+ disabled: isDisabled,
122
+ "data-odn-date-picker-grid-item-wrapper": true
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ "data-odn-date-picker-grid-item": true,
125
+ "data-odn-date-picker-grid-item-disabled": isDisabled,
126
+ "data-odn-date-picker-grid-item-active": currentQuarterString === "".concat(quarterYear, "-Q").concat(quarter),
127
+ onClick: function onClick() {
128
+ if (!isDisabled) {
129
+ handleQuarterSelect(quarter);
130
+ }
131
+ }
132
+ }, "Q", quarter));
133
+ })));
134
+ };
135
+ export default QuarterPicker;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import './style';
3
+ interface YearPickerProps {
4
+ selectedRange: [Date, Date] | null;
5
+ lang: 'zhCN' | 'enUS';
6
+ month: Date | null;
7
+ minDate: Date;
8
+ maxDate: Date;
9
+ disabledYears?: Date[];
10
+ onYearSelect: (yearRange: [Date, Date]) => void;
11
+ }
12
+ declare const YearPicker: React.FC<YearPickerProps>;
13
+ export default YearPicker;
@@ -0,0 +1,81 @@
1
+ import React from 'react';
2
+ import { convertYearToString, today } from "../_util/date";
3
+ import HoverFill from "../hover-fill";
4
+ import "./style";
5
+ var YearPicker = function YearPicker(_ref) {
6
+ var selectedRange = _ref.selectedRange,
7
+ lang = _ref.lang,
8
+ month = _ref.month,
9
+ minDate = _ref.minDate,
10
+ maxDate = _ref.maxDate,
11
+ disabledYears = _ref.disabledYears,
12
+ onYearSelect = _ref.onYearSelect;
13
+ // 优先使用 month,如果没有则使用 today,确保始终有有效的年份
14
+ var currentYear = month ? month.getFullYear() : today.getFullYear();
15
+ var currentYearString = convertYearToString(selectedRange || undefined, lang);
16
+ var handleYearSelect = function handleYearSelect(year) {
17
+ var startDate = new Date(year, 0, 1);
18
+ var endDate = new Date(year, 11, 31);
19
+ onYearSelect([startDate, endDate]);
20
+ };
21
+
22
+ // 计算每个年份是否禁用
23
+ var isYearDisabled = function isYearDisabled(year) {
24
+ var yearStart = new Date(year, 0, 1);
25
+ var yearEnd = new Date(year, 11, 31);
26
+
27
+ // 如果年份的开始日期在 minDate 之前,或者结束日期在 maxDate 之后,则禁用
28
+ if (year < minDate.getFullYear() || year > maxDate.getFullYear()) {
29
+ return true;
30
+ }
31
+
32
+ // 检查是否在 disabledYears 中
33
+ if (disabledYears && disabledYears.length > 0) {
34
+ var _currentYear = year;
35
+
36
+ // 检查是否有任何 disabledYears 中的日期属于当前年份
37
+ return disabledYears.some(function (disabledDate) {
38
+ var disabledYear = disabledDate.getFullYear();
39
+ return disabledYear === _currentYear;
40
+ });
41
+ }
42
+ return false;
43
+ };
44
+
45
+ // 根据 minDate 和 maxDate 生成年份列表
46
+ var minYear = minDate.getFullYear();
47
+ var maxYear = maxDate.getFullYear();
48
+ var years = Array.from({
49
+ length: maxYear - minYear + 1
50
+ }, function (_, i) {
51
+ return minYear + i;
52
+ }).reverse(); // 倒序显示,最新的年份在前面
53
+
54
+ return /*#__PURE__*/React.createElement("div", {
55
+ "data-odn-date-picker-grid-popup": true
56
+ }, /*#__PURE__*/React.createElement("div", {
57
+ "data-odn-date-picker-grid-body": true,
58
+ "data-odn-date-picker-year-body": true
59
+ }, years.map(function (year) {
60
+ var isDisabled = isYearDisabled(year);
61
+ return /*#__PURE__*/React.createElement(HoverFill, {
62
+ key: year,
63
+ bgStyle: {
64
+ borderRadius: '6px'
65
+ },
66
+ hoverColor: "#F5F8FF",
67
+ disabled: isDisabled,
68
+ "data-odn-date-picker-grid-item-wrapper": true
69
+ }, /*#__PURE__*/React.createElement("div", {
70
+ "data-odn-date-picker-grid-item": true,
71
+ "data-odn-date-picker-grid-item-disabled": isDisabled,
72
+ "data-odn-date-picker-grid-item-active": currentYearString === "".concat(year),
73
+ onClick: function onClick() {
74
+ if (!isDisabled) {
75
+ handleYearSelect(year);
76
+ }
77
+ }
78
+ }, year));
79
+ })));
80
+ };
81
+ export default YearPicker;