@yoka-ui/ui 1.0.10-test → 1.1.1

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 (390) hide show
  1. package/@Docs-yoka/exports.generated.md +68 -62
  2. package/LICENSE +21 -0
  3. package/README.md +40 -189
  4. package/dist/es/assets/image/skills.zip +0 -0
  5. package/dist/es/business/AiChat/aichat-logo.svg +1 -0
  6. package/dist/es/business/AiChat/index.d.ts +3 -3
  7. package/dist/es/business/AiChat/index.js +322 -137
  8. package/dist/es/business/AiChat/index.js.map +3 -3
  9. package/dist/es/business/AiChat/index.module.less +24 -0
  10. package/dist/es/business/AiChat/intentRecognizer.js.map +1 -1
  11. package/dist/es/business/AiChat/navigationManager.js +6 -6
  12. package/dist/es/business/AiChat/navigationManager.js.map +2 -2
  13. package/dist/es/business/AiChat/sse.d.ts +15 -0
  14. package/dist/es/business/AiChat/sse.js +118 -7
  15. package/dist/es/business/AiChat/sse.js.map +2 -2
  16. package/dist/es/business/AiChat/type.d.ts +22 -23
  17. package/dist/es/business/AiChat/useAiChat.js +105 -75
  18. package/dist/es/business/AiChat/useAiChat.js.map +3 -3
  19. package/dist/es/business/AiChat/useTaskWorkflow.d.ts +1 -2
  20. package/dist/es/business/AiChat/useTaskWorkflow.js +2 -36
  21. package/dist/es/business/AiChat/useTaskWorkflow.js.map +2 -2
  22. package/dist/es/business/DrawerPageInfo/index.js.map +1 -1
  23. package/dist/es/business/Editor/index.d.ts +1 -1
  24. package/dist/es/business/Editor/index.js.map +2 -2
  25. package/dist/es/business/Empty/index.js +1 -1
  26. package/dist/es/business/Empty/index.js.map +1 -1
  27. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +2 -2
  28. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +2 -2
  29. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +3 -3
  30. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +2 -2
  31. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +2 -2
  32. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +2 -2
  33. package/dist/es/business/ModCommonFilter/index.d.ts +1 -1
  34. package/dist/es/business/ModCommonFilter/index.js.map +2 -2
  35. package/dist/es/business/YkCharts/Area.d.ts +18 -0
  36. package/dist/es/business/YkCharts/Area.js +336 -0
  37. package/dist/es/business/YkCharts/Area.js.map +7 -0
  38. package/dist/es/business/YkCharts/Bar.d.ts +21 -0
  39. package/dist/es/business/YkCharts/Bar.js +316 -0
  40. package/dist/es/business/YkCharts/Bar.js.map +7 -0
  41. package/dist/es/business/YkCharts/BarProperty.d.ts +21 -0
  42. package/dist/es/business/YkCharts/BarProperty.js +357 -0
  43. package/dist/es/business/YkCharts/BarProperty.js.map +7 -0
  44. package/dist/es/business/YkCharts/BarTotal.d.ts +21 -0
  45. package/dist/es/business/YkCharts/BarTotal.js +292 -0
  46. package/dist/es/business/YkCharts/BarTotal.js.map +7 -0
  47. package/dist/es/business/YkCharts/Line.d.ts +21 -0
  48. package/dist/es/business/YkCharts/Line.js +342 -0
  49. package/dist/es/business/YkCharts/Line.js.map +7 -0
  50. package/dist/es/business/YkCharts/Pie.d.ts +19 -0
  51. package/dist/es/business/YkCharts/Pie.js +107 -0
  52. package/dist/es/business/YkCharts/Pie.js.map +7 -0
  53. package/dist/es/business/YkCharts/PieProperty.d.ts +18 -0
  54. package/dist/es/business/YkCharts/PieProperty.js +180 -0
  55. package/dist/es/business/YkCharts/PieProperty.js.map +7 -0
  56. package/dist/es/business/YkCharts/Pies.d.ts +26 -0
  57. package/dist/es/business/YkCharts/Pies.js +352 -0
  58. package/dist/es/business/YkCharts/Pies.js.map +7 -0
  59. package/dist/es/business/YkCharts/constants.d.ts +1 -0
  60. package/dist/es/business/YkCharts/constants.js +47 -0
  61. package/dist/es/business/YkCharts/constants.js.map +7 -0
  62. package/dist/es/business/YkCharts/hooks.d.ts +4 -0
  63. package/dist/es/business/YkCharts/hooks.js +37 -0
  64. package/dist/es/business/YkCharts/hooks.js.map +7 -0
  65. package/dist/es/business/YkCharts/index.d.ts +9 -0
  66. package/dist/es/business/YkCharts/index.js +20 -0
  67. package/dist/es/business/YkCharts/index.js.map +7 -0
  68. package/dist/es/business/YkCharts/index.module.less +164 -0
  69. package/dist/es/business/YkCharts/tooltip.less +92 -0
  70. package/dist/es/business/YkCharts/transformData.js +16 -0
  71. package/dist/es/business/YkCharts/transformData.js.map +7 -0
  72. package/dist/es/business/YkCharts/typing.d.ts +74 -0
  73. package/dist/es/business/YkCharts/typing.js +1 -0
  74. package/dist/es/business/YkCharts/typing.js.map +7 -0
  75. package/dist/es/business/YkCharts/utils.d.ts +4 -0
  76. package/dist/es/business/YkCharts/utils.js +109 -0
  77. package/dist/es/business/YkCharts/utils.js.map +7 -0
  78. package/dist/es/business/YkCharts/variables.less +13 -0
  79. package/dist/es/business/YkLoginModule/SmsLoginForm.d.ts +25 -0
  80. package/dist/es/business/YkLoginModule/SmsLoginForm.js +178 -0
  81. package/dist/es/business/YkLoginModule/SmsLoginForm.js.map +7 -0
  82. package/dist/es/business/YkLoginModule/index.d.ts +48 -0
  83. package/dist/es/business/YkLoginModule/index.js +198 -0
  84. package/dist/es/business/YkLoginModule/index.js.map +7 -0
  85. package/dist/es/business/YkLoginModule/styles.module.less +169 -0
  86. package/dist/es/business/YkPorjectSelect/index.d.ts +1 -1
  87. package/dist/es/business/YkPorjectSelect/index.js +2 -2
  88. package/dist/es/business/YkPorjectSelect/index.js.map +2 -2
  89. package/dist/es/business/YkSqlEdit/code-mirror-custom.module.less +154 -0
  90. package/dist/es/business/YkSqlEdit/index.d.ts +20 -0
  91. package/dist/es/business/YkSqlEdit/index.js +180 -0
  92. package/dist/es/business/YkSqlEdit/index.js.map +7 -0
  93. package/dist/es/business/YkSqlEdit/sql-language.d.ts +11 -0
  94. package/dist/es/business/YkSqlEdit/sql-language.js +1460 -0
  95. package/dist/es/business/YkSqlEdit/sql-language.js.map +7 -0
  96. package/dist/es/components/DebounceInput/index.js.map +2 -2
  97. package/dist/es/components/MultipleSelect/index.d.ts +14 -0
  98. package/dist/es/components/MultipleSelect/index.js +1 -1
  99. package/dist/es/components/MultipleSelect/index.js.map +2 -2
  100. package/dist/es/components/RefreshButton/index.js.map +2 -2
  101. package/dist/es/components/SearchWithHistory/index.js +1 -1
  102. package/dist/es/components/SearchWithHistory/index.js.map +2 -2
  103. package/dist/es/components/TextWithToolTip/index.d.ts +1 -1
  104. package/dist/es/components/TextWithToolTip/index.js.map +2 -2
  105. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +1 -24
  106. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +2 -2
  107. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +2 -2
  108. package/dist/es/components/TreeTransfer/index.d.ts +1 -24
  109. package/dist/es/components/TreeTransfer/index.js +8 -8
  110. package/dist/es/components/TreeTransfer/index.js.map +2 -2
  111. package/dist/es/components/TreeTransfer/utils/index.d.ts +1 -1
  112. package/dist/es/components/TreeTransfer/utils/index.js.map +2 -2
  113. package/dist/es/components/YKMarkdown/index.d.ts +11 -0
  114. package/dist/es/components/YKMarkdown/index.js +236 -0
  115. package/dist/es/components/YKMarkdown/index.js.map +7 -0
  116. package/dist/es/components/YKMarkdown/index.module.less +83 -0
  117. package/dist/es/components/YkDateRangePicker/YkDateRangePicker.mdx +194 -0
  118. package/dist/es/components/YkDateRangePicker/index.d.ts +9 -1
  119. package/dist/es/components/YkDateRangePicker/index.js +127 -61
  120. package/dist/es/components/YkDateRangePicker/index.js.map +2 -2
  121. package/dist/es/components/YkDateRangePicker/index.module.less +33 -9
  122. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +1 -1
  123. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +3 -2
  124. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +2 -2
  125. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +1 -1
  126. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +23 -3
  127. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +2 -2
  128. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +1 -1
  129. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +2 -2
  130. package/dist/es/components/YkRangeDateWithVS/index.d.ts +2 -2
  131. package/dist/es/components/YkRangeDateWithVS/index.js.map +2 -2
  132. package/dist/es/components/YkRangeDateWithVS/index.module.less +22 -4
  133. package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +1 -1
  134. package/dist/es/components/YkRangeTimeWithRecent/index.js.map +2 -2
  135. package/dist/es/creative/ArcCheckbox/index.d.ts +12 -0
  136. package/dist/es/creative/ArcCheckbox/index.js +49 -0
  137. package/dist/es/creative/ArcCheckbox/index.js.map +7 -0
  138. package/dist/es/creative/ArcCheckbox/index.module.less +102 -0
  139. package/dist/es/creative/ButtonRadioWithInfo/index.js.map +1 -1
  140. package/dist/es/creative/ButtonWithProgress/index.d.ts +1 -1
  141. package/dist/es/creative/ButtonWithProgress/index.js.map +2 -2
  142. package/dist/es/creative/GlassSegmentedRadio/index.d.ts +24 -0
  143. package/dist/es/creative/GlassSegmentedRadio/index.js +75 -0
  144. package/dist/es/creative/GlassSegmentedRadio/index.js.map +7 -0
  145. package/dist/es/creative/GlassSegmentedRadio/index.module.less +241 -0
  146. package/dist/es/creative/SkillsWriter/index.d.ts +3 -0
  147. package/dist/es/creative/SkillsWriter/index.js +191 -0
  148. package/dist/es/creative/SkillsWriter/index.js.map +7 -0
  149. package/dist/es/creative/SkillsWriter/index.module.less +21 -0
  150. package/dist/es/index.d.ts +32 -24
  151. package/dist/es/index.js +90 -80
  152. package/dist/es/index.js.map +2 -2
  153. package/dist/es/index.less +45 -0
  154. package/dist/es/layout/FlexGrid/index.d.ts +1 -1
  155. package/dist/es/layout/FlexGrid/index.js.map +2 -2
  156. package/dist/es/layout/YkContainer/index.js.map +1 -1
  157. package/dist/es/layout/YkDrawer/index.d.ts +1 -1
  158. package/dist/es/layout/YkDrawer/index.js.map +2 -2
  159. package/dist/es/ui/LabelSelect/demo.js +1 -1
  160. package/dist/es/ui/LabelSelect/demo.js.map +2 -2
  161. package/dist/es/ui/LabelSelect/index.d.ts +1 -1
  162. package/dist/es/ui/LabelSelect/index.js +1 -1
  163. package/dist/es/ui/LabelSelect/index.js.map +2 -2
  164. package/dist/es/ui/LogicOperator/index.d.ts +1 -1
  165. package/dist/es/ui/LogicOperator/index.js.map +2 -2
  166. package/dist/es/ui/YkButton/index.d.ts +1 -1
  167. package/dist/es/ui/YkButton/index.js.map +2 -2
  168. package/dist/es/ui/YkCard/index.d.ts +1 -1
  169. package/dist/es/ui/YkCard/index.js +1 -1
  170. package/dist/es/ui/YkCard/index.js.map +2 -2
  171. package/dist/es/ui/YkCheckbox/index.d.ts +1 -1
  172. package/dist/es/ui/YkCheckbox/index.js.map +2 -2
  173. package/dist/es/ui/YkDescriptions/index.d.ts +1 -1
  174. package/dist/es/ui/YkDescriptions/index.js.map +2 -2
  175. package/dist/es/ui/YkPagination/index.d.ts +1 -1
  176. package/dist/es/ui/YkPagination/index.js.map +2 -2
  177. package/dist/es/ui/YkRadio/index.d.ts +1 -1
  178. package/dist/es/ui/YkRadio/index.js.map +2 -2
  179. package/dist/es/ui/YkSegmented/index.d.ts +1 -1
  180. package/dist/es/ui/YkSegmented/index.js.map +2 -2
  181. package/dist/es/ui/YkSelect/index.d.ts +1 -1
  182. package/dist/es/ui/YkSelect/index.js.map +2 -2
  183. package/dist/es/ui/YkSpin/index.d.ts +1 -1
  184. package/dist/es/ui/YkSpin/index.js.map +2 -2
  185. package/dist/es/ui/YkStatistic/index.d.ts +1 -1
  186. package/dist/es/ui/YkStatistic/index.js.map +2 -2
  187. package/dist/es/ui/YkSwitch/index.d.ts +1 -1
  188. package/dist/es/ui/YkSwitch/index.js.map +2 -2
  189. package/dist/es/ui/YkTabs/index.d.ts +1 -1
  190. package/dist/es/ui/YkTabs/index.js.map +2 -2
  191. package/dist/es/ui/YkTooltip/index.d.ts +1 -1
  192. package/dist/es/ui/YkTooltip/index.js.map +2 -2
  193. package/dist/es/utils/styleUtils.js.map +2 -2
  194. package/dist/es/utils/ykStorybookDoc.d.ts +15 -0
  195. package/dist/es/utils/ykStorybookDoc.js +24 -2
  196. package/dist/es/utils/ykStorybookDoc.js.map +2 -2
  197. package/dist/lib/assets/image/skills.zip +0 -0
  198. package/dist/lib/business/AiChat/aichat-logo.svg +1 -0
  199. package/dist/lib/business/AiChat/index.d.ts +3 -3
  200. package/dist/lib/business/AiChat/index.js +311 -129
  201. package/dist/lib/business/AiChat/index.js.map +3 -3
  202. package/dist/lib/business/AiChat/index.module.less +24 -0
  203. package/dist/lib/business/AiChat/intentRecognizer.js.map +1 -1
  204. package/dist/lib/business/AiChat/navigationManager.js +6 -6
  205. package/dist/lib/business/AiChat/navigationManager.js.map +2 -2
  206. package/dist/lib/business/AiChat/sse.d.ts +15 -0
  207. package/dist/lib/business/AiChat/sse.js +117 -7
  208. package/dist/lib/business/AiChat/sse.js.map +2 -2
  209. package/dist/lib/business/AiChat/type.d.ts +22 -23
  210. package/dist/lib/business/AiChat/type.js.map +1 -1
  211. package/dist/lib/business/AiChat/useAiChat.js +104 -74
  212. package/dist/lib/business/AiChat/useAiChat.js.map +3 -3
  213. package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +1 -2
  214. package/dist/lib/business/AiChat/useTaskWorkflow.js +0 -34
  215. package/dist/lib/business/AiChat/useTaskWorkflow.js.map +2 -2
  216. package/dist/lib/business/DrawerPageInfo/index.js.map +1 -1
  217. package/dist/lib/business/Editor/index.d.ts +1 -1
  218. package/dist/lib/business/Editor/index.js.map +2 -2
  219. package/dist/lib/business/Empty/index.js +1 -1
  220. package/dist/lib/business/Empty/index.js.map +1 -1
  221. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +3 -3
  222. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +2 -2
  223. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +4 -4
  224. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +2 -2
  225. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +3 -3
  226. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +2 -2
  227. package/dist/lib/business/ModCommonFilter/index.d.ts +1 -1
  228. package/dist/lib/business/ModCommonFilter/index.js.map +2 -2
  229. package/dist/lib/business/YkCharts/Area.d.ts +18 -0
  230. package/dist/lib/business/YkCharts/Area.js +346 -0
  231. package/dist/lib/business/YkCharts/Area.js.map +7 -0
  232. package/dist/lib/business/YkCharts/Bar.d.ts +21 -0
  233. package/dist/lib/business/YkCharts/Bar.js +323 -0
  234. package/dist/lib/business/YkCharts/Bar.js.map +7 -0
  235. package/dist/lib/business/YkCharts/BarProperty.d.ts +21 -0
  236. package/dist/lib/business/YkCharts/BarProperty.js +370 -0
  237. package/dist/lib/business/YkCharts/BarProperty.js.map +7 -0
  238. package/dist/lib/business/YkCharts/BarTotal.d.ts +21 -0
  239. package/dist/lib/business/YkCharts/BarTotal.js +298 -0
  240. package/dist/lib/business/YkCharts/BarTotal.js.map +7 -0
  241. package/dist/lib/business/YkCharts/Line.d.ts +21 -0
  242. package/dist/lib/business/YkCharts/Line.js +349 -0
  243. package/dist/lib/business/YkCharts/Line.js.map +7 -0
  244. package/dist/lib/business/YkCharts/Pie.d.ts +19 -0
  245. package/dist/lib/business/YkCharts/Pie.js +117 -0
  246. package/dist/lib/business/YkCharts/Pie.js.map +7 -0
  247. package/dist/lib/business/YkCharts/PieProperty.d.ts +18 -0
  248. package/dist/lib/business/YkCharts/PieProperty.js +193 -0
  249. package/dist/lib/business/YkCharts/PieProperty.js.map +7 -0
  250. package/dist/lib/business/YkCharts/Pies.d.ts +26 -0
  251. package/dist/lib/business/YkCharts/Pies.js +341 -0
  252. package/dist/lib/business/YkCharts/Pies.js.map +7 -0
  253. package/dist/lib/business/YkCharts/constants.d.ts +1 -0
  254. package/dist/lib/business/YkCharts/constants.js +71 -0
  255. package/dist/lib/business/YkCharts/constants.js.map +7 -0
  256. package/dist/lib/business/YkCharts/hooks.d.ts +4 -0
  257. package/dist/lib/business/YkCharts/hooks.js +62 -0
  258. package/dist/lib/business/YkCharts/hooks.js.map +7 -0
  259. package/dist/lib/business/YkCharts/index.d.ts +9 -0
  260. package/dist/lib/business/YkCharts/index.js +61 -0
  261. package/dist/lib/business/YkCharts/index.js.map +7 -0
  262. package/dist/lib/business/YkCharts/index.module.less +164 -0
  263. package/dist/lib/business/YkCharts/tooltip.less +92 -0
  264. package/dist/lib/business/YkCharts/transformData.js +40 -0
  265. package/dist/lib/business/YkCharts/transformData.js.map +7 -0
  266. package/dist/lib/business/YkCharts/typing.d.ts +74 -0
  267. package/dist/lib/business/YkCharts/typing.js +18 -0
  268. package/dist/lib/business/YkCharts/typing.js.map +7 -0
  269. package/dist/lib/business/YkCharts/utils.d.ts +4 -0
  270. package/dist/lib/business/YkCharts/utils.js +143 -0
  271. package/dist/lib/business/YkCharts/utils.js.map +7 -0
  272. package/dist/lib/business/YkCharts/variables.less +13 -0
  273. package/dist/lib/business/YkLoginModule/SmsLoginForm.d.ts +25 -0
  274. package/dist/lib/business/YkLoginModule/SmsLoginForm.js +171 -0
  275. package/dist/lib/business/YkLoginModule/SmsLoginForm.js.map +7 -0
  276. package/dist/lib/business/YkLoginModule/index.d.ts +48 -0
  277. package/dist/lib/business/YkLoginModule/index.js +206 -0
  278. package/dist/lib/business/YkLoginModule/index.js.map +7 -0
  279. package/dist/lib/business/YkLoginModule/styles.module.less +169 -0
  280. package/dist/lib/business/YkPorjectSelect/index.d.ts +1 -1
  281. package/dist/lib/business/YkPorjectSelect/index.js +3 -3
  282. package/dist/lib/business/YkPorjectSelect/index.js.map +2 -2
  283. package/dist/lib/business/YkSqlEdit/code-mirror-custom.module.less +154 -0
  284. package/dist/lib/business/YkSqlEdit/index.d.ts +20 -0
  285. package/dist/lib/business/YkSqlEdit/index.js +202 -0
  286. package/dist/lib/business/YkSqlEdit/index.js.map +7 -0
  287. package/dist/lib/business/YkSqlEdit/sql-language.d.ts +11 -0
  288. package/dist/lib/business/YkSqlEdit/sql-language.js +1493 -0
  289. package/dist/lib/business/YkSqlEdit/sql-language.js.map +7 -0
  290. package/dist/lib/components/DebounceInput/index.js.map +2 -2
  291. package/dist/lib/components/MultipleSelect/index.d.ts +14 -0
  292. package/dist/lib/components/MultipleSelect/index.js +1 -1
  293. package/dist/lib/components/MultipleSelect/index.js.map +2 -2
  294. package/dist/lib/components/RefreshButton/index.js.map +2 -2
  295. package/dist/lib/components/SearchWithHistory/index.js +1 -1
  296. package/dist/lib/components/SearchWithHistory/index.js.map +2 -2
  297. package/dist/lib/components/TextWithToolTip/index.d.ts +1 -1
  298. package/dist/lib/components/TextWithToolTip/index.js.map +2 -2
  299. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +1 -24
  300. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +2 -2
  301. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +2 -2
  302. package/dist/lib/components/TreeTransfer/index.d.ts +1 -24
  303. package/dist/lib/components/TreeTransfer/index.js +3 -3
  304. package/dist/lib/components/TreeTransfer/index.js.map +2 -2
  305. package/dist/lib/components/TreeTransfer/utils/index.d.ts +1 -1
  306. package/dist/lib/components/TreeTransfer/utils/index.js.map +2 -2
  307. package/dist/lib/components/YKMarkdown/index.d.ts +11 -0
  308. package/dist/lib/components/YKMarkdown/index.js +188 -0
  309. package/dist/lib/components/YKMarkdown/index.js.map +7 -0
  310. package/dist/lib/components/YKMarkdown/index.module.less +83 -0
  311. package/dist/lib/components/YkDateRangePicker/YkDateRangePicker.mdx +194 -0
  312. package/dist/lib/components/YkDateRangePicker/index.d.ts +9 -1
  313. package/dist/lib/components/YkDateRangePicker/index.js +127 -61
  314. package/dist/lib/components/YkDateRangePicker/index.js.map +2 -2
  315. package/dist/lib/components/YkDateRangePicker/index.module.less +33 -9
  316. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +1 -1
  317. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +3 -2
  318. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +2 -2
  319. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +1 -1
  320. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +22 -2
  321. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +2 -2
  322. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +1 -1
  323. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +2 -2
  324. package/dist/lib/components/YkRangeDateWithVS/index.d.ts +2 -2
  325. package/dist/lib/components/YkRangeDateWithVS/index.js.map +2 -2
  326. package/dist/lib/components/YkRangeDateWithVS/index.module.less +22 -4
  327. package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +1 -1
  328. package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +2 -2
  329. package/dist/lib/creative/ArcCheckbox/index.d.ts +12 -0
  330. package/dist/lib/creative/ArcCheckbox/index.js +50 -0
  331. package/dist/lib/creative/ArcCheckbox/index.js.map +7 -0
  332. package/dist/lib/creative/ArcCheckbox/index.module.less +102 -0
  333. package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +1 -1
  334. package/dist/lib/creative/ButtonWithProgress/index.d.ts +1 -1
  335. package/dist/lib/creative/ButtonWithProgress/index.js.map +2 -2
  336. package/dist/lib/creative/GlassSegmentedRadio/index.d.ts +24 -0
  337. package/dist/lib/creative/GlassSegmentedRadio/index.js +78 -0
  338. package/dist/lib/creative/GlassSegmentedRadio/index.js.map +7 -0
  339. package/dist/lib/creative/GlassSegmentedRadio/index.module.less +241 -0
  340. package/dist/lib/creative/SkillsWriter/index.d.ts +3 -0
  341. package/dist/lib/creative/SkillsWriter/index.js +200 -0
  342. package/dist/lib/creative/SkillsWriter/index.js.map +7 -0
  343. package/dist/lib/creative/SkillsWriter/index.module.less +21 -0
  344. package/dist/lib/index.d.ts +32 -24
  345. package/dist/lib/index.js +39 -24
  346. package/dist/lib/index.js.map +2 -2
  347. package/dist/lib/index.less +45 -0
  348. package/dist/lib/layout/FlexGrid/index.d.ts +1 -1
  349. package/dist/lib/layout/FlexGrid/index.js.map +2 -2
  350. package/dist/lib/layout/YkContainer/index.js.map +1 -1
  351. package/dist/lib/layout/YkDrawer/index.d.ts +1 -1
  352. package/dist/lib/layout/YkDrawer/index.js.map +2 -2
  353. package/dist/lib/ui/LabelSelect/demo.js +1 -1
  354. package/dist/lib/ui/LabelSelect/demo.js.map +2 -2
  355. package/dist/lib/ui/LabelSelect/index.d.ts +1 -1
  356. package/dist/lib/ui/LabelSelect/index.js +1 -1
  357. package/dist/lib/ui/LabelSelect/index.js.map +2 -2
  358. package/dist/lib/ui/LogicOperator/index.d.ts +1 -1
  359. package/dist/lib/ui/LogicOperator/index.js.map +2 -2
  360. package/dist/lib/ui/YkButton/index.d.ts +1 -1
  361. package/dist/lib/ui/YkButton/index.js.map +2 -2
  362. package/dist/lib/ui/YkCard/index.d.ts +1 -1
  363. package/dist/lib/ui/YkCard/index.js.map +2 -2
  364. package/dist/lib/ui/YkCheckbox/index.d.ts +1 -1
  365. package/dist/lib/ui/YkCheckbox/index.js.map +2 -2
  366. package/dist/lib/ui/YkDescriptions/index.d.ts +1 -1
  367. package/dist/lib/ui/YkDescriptions/index.js.map +2 -2
  368. package/dist/lib/ui/YkPagination/index.d.ts +1 -1
  369. package/dist/lib/ui/YkPagination/index.js.map +2 -2
  370. package/dist/lib/ui/YkRadio/index.d.ts +1 -1
  371. package/dist/lib/ui/YkRadio/index.js.map +2 -2
  372. package/dist/lib/ui/YkSegmented/index.d.ts +1 -1
  373. package/dist/lib/ui/YkSegmented/index.js.map +2 -2
  374. package/dist/lib/ui/YkSelect/index.d.ts +1 -1
  375. package/dist/lib/ui/YkSelect/index.js.map +2 -2
  376. package/dist/lib/ui/YkSpin/index.d.ts +1 -1
  377. package/dist/lib/ui/YkSpin/index.js.map +2 -2
  378. package/dist/lib/ui/YkStatistic/index.d.ts +1 -1
  379. package/dist/lib/ui/YkStatistic/index.js.map +2 -2
  380. package/dist/lib/ui/YkSwitch/index.d.ts +1 -1
  381. package/dist/lib/ui/YkSwitch/index.js.map +2 -2
  382. package/dist/lib/ui/YkTabs/index.d.ts +1 -1
  383. package/dist/lib/ui/YkTabs/index.js.map +2 -2
  384. package/dist/lib/ui/YkTooltip/index.d.ts +1 -1
  385. package/dist/lib/ui/YkTooltip/index.js.map +2 -2
  386. package/dist/lib/utils/styleUtils.js.map +2 -2
  387. package/dist/lib/utils/ykStorybookDoc.d.ts +15 -0
  388. package/dist/lib/utils/ykStorybookDoc.js +23 -1
  389. package/dist/lib/utils/ykStorybookDoc.js.map +2 -2
  390. package/package.json +151 -144
@@ -0,0 +1,194 @@
1
+ import { Meta, ArgTypes } from '@storybook/addon-docs/blocks';
2
+ import * as YkDateRangePickerStories from './index.stories';
3
+
4
+ <Meta of={YkDateRangePickerStories} />
5
+
6
+ # YkDateRangePicker 事件日期范围选择器
7
+
8
+ 事件类日期范围选择器,支持**紧凑预设标签**与**完整 RangePicker** 双模式切换,提供多项快捷预设与受控逻辑。
9
+
10
+ ## ✨ 核心特性
11
+
12
+ - 🎯 **双模式交互**:紧凑模式(预设标签)↔ 完整模式(RangePicker)无缝切换
13
+ - ⚡ **智能预设**:内置 8 个常用时间快捷选项,2 列网格布局
14
+ - 🎨 **视觉反馈**:当前激活项高亮显示,蓝色背景标识选中状态
15
+ - 🤖 **智能默认**:无初始值时自动选中「近5分钟」预设
16
+ - 🔄 **受控组件**:精准区分「用户操作」与「外部赋值」,仅用户操作触发 `onChange`
17
+ - 🔒 **日期限制**:仅允许选择近 7 天(含今天)的时间范围
18
+ - 🗑️ **清除支持**:`allowClear` 一键清除,清除后自动重置预设状态
19
+ - 🔧 **ref 控制**:通过 `forwardRef` 暴露 `toggleFirstPreset()` 方法,支持外部强制切换预设
20
+
21
+ ## 📦 依赖
22
+
23
+ ```json
24
+ {
25
+ "react": "^18.3.1",
26
+ "antd": "^5.29.2",
27
+ "dayjs": "^1.x",
28
+ "classnames": "^2.5.1",
29
+ "@ant-design/icons": "^5.6.1"
30
+ }
31
+ ```
32
+
33
+ ## 🚀 快速开始
34
+
35
+ ### 基础使用
36
+
37
+ ```tsx
38
+ import { useState, useRef } from 'react';
39
+ import { YkDateRangePicker, type DateRangeValue, type YkDateRangePickerRef } from '@yoka-ui/ui';
40
+ import dayjs from 'dayjs';
41
+
42
+ function App() {
43
+ const [range, setRange] = useState<DateRangeValue | []>([]);
44
+ const pickerRef = useRef<YkDateRangePickerRef>(null);
45
+
46
+ return (
47
+ <YkDateRangePicker
48
+ value={range}
49
+ onChange={(dates) => setRange(dates ?? [])}
50
+ ref={pickerRef}
51
+ />
52
+ );
53
+ }
54
+ ```
55
+
56
+ ### 外部控制
57
+
58
+ ```tsx
59
+ // 强制切换到「近5分钟」预设
60
+ pickerRef.current?.toggleFirstPreset();
61
+
62
+ // 设置外部值
63
+ setRange([dayjs().subtract(1, 'hour'), dayjs()]);
64
+
65
+ // 清空选择
66
+ setRange([]);
67
+ ```
68
+
69
+ ## 📋 API 文档
70
+
71
+ <ArgTypes of={YkDateRangePickerStories} />
72
+
73
+ ## 💡 使用场景
74
+
75
+ ### 1. 日志查询
76
+
77
+ 适用于需要快速筛选最近时间段日志的场景,预设的「近5分钟」「近1小时」等选项大幅提升操作效率。
78
+
79
+ ### 2. 数据分析
80
+
81
+ 在数据报表页面中,用户可以通过预设快速切换常用分析周期,或通过自定义范围进行精细化查询。
82
+
83
+ ### 3. 监控告警
84
+
85
+ 结合实时监控需求,预设项帮助用户快速定位异常发生的时间段。
86
+
87
+ ### 4. 自定义样式
88
+
89
+ 通过 `className` 和 `style` 属性可以自定义组件的外观的类名和内联样式:
90
+
91
+ ```tsx
92
+ // 自定义样式示例
93
+ <YkDateRangePicker
94
+ className="custom-date-picker"
95
+ style={{ marginTop: 16 }}
96
+ value={range}
97
+ onChange={handleChange}
98
+ />
99
+ ```
100
+
101
+ ## 🎯 最佳实践
102
+
103
+ ### 保持受控模式
104
+
105
+ 始终使用受控模式(controlled mode),通过 `value` 和 `onChange` 管理状态,确保组件行为可预测:
106
+
107
+ ```tsx
108
+ // ✅ 推荐:受控模式
109
+ const [value, setValue] = useState<DateRangeValue | []>([]);
110
+ <YkDateRangePicker value={value} onChange={setValue} />
111
+
112
+ // ❌ 避免:非受控模式可能导致状态不一致
113
+ <YkDateRangePicker defaultValue={initialValue} />
114
+ ```
115
+
116
+ ### 合理使用 ref
117
+
118
+ ref 方法 `toggleFirstPreset()` 适用于特殊场景(如重置查询条件),日常使用中建议通过受控 props 控制组件:
119
+
120
+ ```tsx
121
+ // 在重置按钮的回调中使用
122
+ const handleReset = () => {
123
+ setValue([]); // 清空值
124
+ pickerRef.current?.toggleFirstPreset(); // 重置到默认预设
125
+ };
126
+ ```
127
+
128
+ ### 处理空值
129
+
130
+ 组件支持空数组 `[]` 作为值,表示未选择任何时间范围。清除后建议重置为 `[]` 而非 `undefined`:
131
+
132
+ ```tsx
133
+ onChange={(val) => {
134
+ // ✅ 推荐:始终转换为数组
135
+ setValue(val || []);
136
+ }}
137
+ ```
138
+
139
+ ## ⚠️ 注意事项
140
+
141
+ 1. **样式引入**:业务侧使用 `@yoka-ui/ui` 时,需确保引入 Ant Design 全局样式和组件库样式:
142
+ ```tsx
143
+ import 'antd/dist/reset.css';
144
+ import '@yoka-ui/ui/dist/index.less';
145
+ ```
146
+
147
+ 2. **版本要求**:需要 React 18+ 和 Ant Design 5+,与库的版本保持一致。
148
+
149
+ 3. **日期限制**:组件默认限制只能选择近 7 天(含今天)的时间范围,如需调整需修改源码中的禁用逻辑。
150
+
151
+ 4. **预设范围**:预设项的时长计算基于当前时间,每次展开时会重新计算。
152
+
153
+ 5. **性能优化**:组件内部使用 `useMemo` 和 `useCallback` 优化预设计算和事件处理,避免不必要的重渲染。
154
+
155
+ ## 🎨 预设项说明
156
+
157
+ | 预设标签 | 时间范围 | 使用场景 |
158
+ | --------- | --------- | --------- |
159
+ | 近5分钟 | 当前时间 - 5分钟 ~ 现在 | 实时监控、日志追踪 |
160
+ | 近15分钟 | 当前时间 - 15分钟 ~ 现在 | 短期数据分析 |
161
+ | 近30分钟 | 当前时间 - 30分钟 ~ 现在 | 中等时长监控 |
162
+ | 近1小时 | 当前时间 - 1小时 ~ 现在 | 小时级数据分析 |
163
+ | 近6小时 | 当前时间 - 6小时 ~ 现在 | 半日数据查看 |
164
+ | 近12小时 | 当前时间 - 12小时 ~ 现在 | 半日对比分析 |
165
+ | 近24小时 | 当前时间 - 24小时 ~ 现在 | 日级数据查询 |
166
+ | 近7天 | 当前时间 - 7天 ~ 现在 | 周级趋势分析 |
167
+
168
+ ## 🔍 交互行为
169
+
170
+ ### 预设选择流程
171
+
172
+ 1. 用户点击紧凑模式的标签区域
173
+ 2. 下拉面板展开,显示 8 个预设选项和完整的 RangePicker
174
+ 3. 用户点击任意预设项,组件自动计算对应时间范围
175
+ 4. 选择后立即触发 `onChange` 回调,并关闭面板
176
+ 5. 紧凑模式标签更新为「预设名称 + 格式化时间」或「起止时间」
177
+
178
+ ### 自定义时间选择
179
+
180
+ 1. 用户在展开的面板中点击 RangePicker
181
+ 2. 选择自定义开始和结束时间
182
+ 3. 点击确定后触发 `onChange` 回调
183
+ 4. 紧凑模式标签显示为「开始时间 ~ 结束时间」格式
184
+
185
+ ### 清除行为
186
+
187
+ - 当设置 `allowClear=true` 时,标签右侧显示清除图标
188
+ - 点击清除图标后,值重置为 `[]`,预设状态被清除
189
+ - 触发 `onChange` 回调,参数为 `[]`
190
+
191
+ ## 📚 相关组件
192
+
193
+ - [DatePicker](https://ant.design/components/date-picker) - Ant Design 基础日期选择器
194
+ - [RangePicker](https://ant.design/components/date-picker#rangepicker) - Ant Design 日期范围选择器
@@ -27,7 +27,7 @@
27
27
  * pickerRef.current?.toggleFirstPreset();
28
28
  * ```
29
29
  */
30
- import { Dayjs } from 'dayjs';
30
+ import { type Dayjs } from 'dayjs';
31
31
  import React from 'react';
32
32
  /** 时间范围值 */
33
33
  export type DateRangeValue = [Dayjs, Dayjs];
@@ -47,6 +47,14 @@ export interface YkDateRangePickerProps {
47
47
  * 默认:「请选择时间范围」
48
48
  */
49
49
  placeholder?: string;
50
+ /** 是否禁用选择器 */
51
+ disabled?: boolean;
52
+ /** 校验状态 */
53
+ status?: '' | 'error' | 'warning';
54
+ /** 自定义类名 */
55
+ className?: string;
56
+ /** 自定义内联样式 */
57
+ style?: React.CSSProperties;
50
58
  }
51
59
  /** 通过 ref 对父组件暴露的方法 */
52
60
  export interface YkDateRangePickerRef {
@@ -39,15 +39,23 @@ var import_react = __toESM(require("react"));
39
39
  var import_index_module = __toESM(require("./index.module.less"));
40
40
  var { RangePicker } = import_antd.DatePicker;
41
41
  function pastTime(n, unit) {
42
- const fmt = "YYYY-MM-DD HH:mm:00";
42
+ const fmt = "YYYY-MM-DD HH:mm:ss";
43
43
  return [(0, import_dayjs.default)((0, import_dayjs.default)().subtract(n, unit).format(fmt)), (0, import_dayjs.default)((0, import_dayjs.default)().format(fmt))];
44
44
  }
45
45
  var DISPLAY_FORMAT = "YYYY-MM-DD HH:mm:ss";
46
- function toDisplay(d) {
46
+ function formatToKey(d) {
47
47
  return (0, import_dayjs.default)(d).format(DISPLAY_FORMAT);
48
48
  }
49
- function toMatchKey(d) {
50
- return (0, import_dayjs.default)(d).format(DISPLAY_FORMAT);
49
+ function isValueEqual(a, b) {
50
+ if (a === b)
51
+ return true;
52
+ if (!a || !b)
53
+ return a === b;
54
+ if (a.length !== b.length)
55
+ return false;
56
+ if (a.length < 2 || b.length < 2)
57
+ return a.length === b.length;
58
+ return formatToKey(a[0]) === formatToKey(b[0]) && formatToKey(a[1]) === formatToKey(b[1]);
51
59
  }
52
60
  var RANGE_PRESETS = [
53
61
  {
@@ -77,8 +85,8 @@ var RANGE_PRESETS = [
77
85
  {
78
86
  label: "今天",
79
87
  value: () => [
80
- (0, import_dayjs.default)((0, import_dayjs.default)().startOf("day").format("YYYY-MM-DD HH:mm:00")),
81
- (0, import_dayjs.default)((0, import_dayjs.default)().endOf("day").format("YYYY-MM-DD HH:mm:00"))
88
+ (0, import_dayjs.default)((0, import_dayjs.default)().startOf("day").format("YYYY-MM-DD HH:mm:ss")),
89
+ (0, import_dayjs.default)((0, import_dayjs.default)().endOf("day").format("YYYY-MM-DD HH:mm:ss"))
82
90
  ],
83
91
  // 紧凑模式只展示日期,如「03-25」
84
92
  format: (v) => v[0].format("MM-DD")
@@ -86,31 +94,49 @@ var RANGE_PRESETS = [
86
94
  {
87
95
  label: "昨天",
88
96
  value: () => [
89
- (0, import_dayjs.default)((0, import_dayjs.default)().subtract(1, "day").startOf("day").format("YYYY-MM-DD HH:mm:00")),
90
- (0, import_dayjs.default)((0, import_dayjs.default)().subtract(1, "day").endOf("day").format("YYYY-MM-DD HH:mm:00"))
97
+ (0, import_dayjs.default)((0, import_dayjs.default)().subtract(1, "day").startOf("day").format("YYYY-MM-DD HH:mm:ss")),
98
+ (0, import_dayjs.default)((0, import_dayjs.default)().subtract(1, "day").endOf("day").format("YYYY-MM-DD HH:mm:ss"))
91
99
  ],
92
100
  format: (v) => v[0].format("MM-DD")
93
101
  },
94
102
  {
95
103
  label: "近7天",
96
104
  value: () => [
97
- (0, import_dayjs.default)((0, import_dayjs.default)().subtract(6, "day").startOf("day").format("YYYY-MM-DD HH:mm:00")),
98
- (0, import_dayjs.default)((0, import_dayjs.default)().endOf("day").format("YYYY-MM-DD HH:mm:00"))
105
+ (0, import_dayjs.default)((0, import_dayjs.default)().subtract(6, "day").startOf("day").format("YYYY-MM-DD HH:mm:ss")),
106
+ (0, import_dayjs.default)((0, import_dayjs.default)().endOf("day").format("YYYY-MM-DD HH:mm:ss"))
99
107
  ],
100
108
  // 紧凑模式展示完整日期区间,如「2024-03-19 ~ 2024-03-25」
101
109
  format: (v) => [v[0].format("YYYY-MM-DD"), v[1].format("YYYY-MM-DD")]
102
110
  }
103
111
  ];
104
- var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2({ value, onChange, allowClear = false, placeholder = "请选择时间范围" }, ref) {
112
+ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2({
113
+ value,
114
+ onChange,
115
+ allowClear = false,
116
+ placeholder = "请选择时间范围",
117
+ disabled = false,
118
+ status = "",
119
+ className,
120
+ style
121
+ }, ref) {
105
122
  const [showFullPicker, setShowFullPicker] = (0, import_react.useState)(false);
106
123
  const [open, setOpen] = (0, import_react.useState)(false);
107
124
  const [activePreset, setActivePreset] = (0, import_react.useState)(void 0);
108
125
  const [presetFormatText, setPresetFormatText] = (0, import_react.useState)(void 0);
109
126
  const selfChangeRef = (0, import_react.useRef)(false);
110
127
  const isPresetClickRef = (0, import_react.useRef)(false);
128
+ const collapseTimerRef = (0, import_react.useRef)();
111
129
  const wrapperRef = (0, import_react.useRef)(null);
112
130
  const pickerRef = (0, import_react.useRef)(null);
113
131
  const prevValueRef = (0, import_react.useRef)(value);
132
+ const scheduleCollapse = (0, import_react.useCallback)((delay) => {
133
+ clearTimeout(collapseTimerRef.current);
134
+ collapseTimerRef.current = setTimeout(() => {
135
+ setOpen(false);
136
+ setShowFullPicker(false);
137
+ }, delay ?? 0);
138
+ }, []);
139
+ (0, import_react.useEffect)(() => () => clearTimeout(collapseTimerRef.current), []);
114
140
  (0, import_react.useEffect)(() => {
115
141
  if (value && value.length === 2)
116
142
  return;
@@ -123,7 +149,7 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
123
149
  onChange == null ? void 0 : onChange(currentValue);
124
150
  }, []);
125
151
  (0, import_react.useEffect)(() => {
126
- if (prevValueRef.current === value)
152
+ if (isValueEqual(prevValueRef.current, value))
127
153
  return;
128
154
  prevValueRef.current = value;
129
155
  if (!selfChangeRef.current) {
@@ -135,16 +161,16 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
135
161
  const showState = (0, import_react.useMemo)(() => {
136
162
  if (!value || value.length < 2)
137
163
  return [];
138
- return [toDisplay(value[0]), toDisplay(value[1])];
164
+ return [formatToKey(value[0]), formatToKey(value[1])];
139
165
  }, [value]);
140
166
  const activePresetIndex = (0, import_react.useMemo)(() => {
141
167
  if (!value || value.length < 2)
142
168
  return -1;
143
169
  const [v0, v1] = value;
144
- const valKeys = [toMatchKey(v0), toMatchKey(v1)];
170
+ const valKeys = [formatToKey(v0), formatToKey(v1)];
145
171
  return RANGE_PRESETS.findIndex((preset) => {
146
172
  const presetVal = preset.value();
147
- const presetKeys = [toMatchKey(presetVal[0]), toMatchKey(presetVal[1])];
173
+ const presetKeys = [formatToKey(presetVal[0]), formatToKey(presetVal[1])];
148
174
  return valKeys[0] === presetKeys[0] && valKeys[1] === presetKeys[1];
149
175
  });
150
176
  }, [value, open]);
@@ -163,10 +189,7 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
163
189
  setPresetFormatText(formatText);
164
190
  selfChangeRef.current = true;
165
191
  onChange == null ? void 0 : onChange(currentValue);
166
- setTimeout(() => {
167
- setOpen(false);
168
- setShowFullPicker(false);
169
- }, 0);
192
+ scheduleCollapse();
170
193
  },
171
194
  [onChange]
172
195
  );
@@ -180,15 +203,12 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
180
203
  onChange == null ? void 0 : onChange(dates);
181
204
  } else {
182
205
  onChange == null ? void 0 : onChange(null);
183
- setTimeout(() => {
184
- setOpen(false);
185
- setShowFullPicker(false);
186
- }, 0);
206
+ scheduleCollapse();
187
207
  }
188
208
  },
189
209
  [onChange]
190
210
  );
191
- const handleClickCompactTag = (0, import_react.useCallback)(() => {
211
+ const activateCompactTag = (0, import_react.useCallback)(() => {
192
212
  setShowFullPicker(true);
193
213
  setTimeout(() => {
194
214
  var _a;
@@ -200,14 +220,15 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
200
220
  }
201
221
  }, 0);
202
222
  }, []);
203
- const handleOpenChange = (0, import_react.useCallback)((isOpen) => {
204
- setOpen(isOpen);
205
- if (!isOpen) {
206
- setTimeout(() => {
207
- setShowFullPicker(false);
208
- }, 100);
209
- }
210
- }, []);
223
+ const handleOpenChange = (0, import_react.useCallback)(
224
+ (isOpen) => {
225
+ setOpen(isOpen);
226
+ if (!isOpen) {
227
+ scheduleCollapse(150);
228
+ }
229
+ },
230
+ [scheduleCollapse]
231
+ );
211
232
  const disabledDate = (0, import_react.useCallback)((current) => {
212
233
  return current && (current > (0, import_dayjs.default)().endOf("day") || current < (0, import_dayjs.default)().subtract(6, "day").startOf("day"));
213
234
  }, []);
@@ -224,9 +245,19 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
224
245
  className: (0, import_classnames.default)(import_index_module.default.yokaPresetItem, {
225
246
  [import_index_module.default.yokaPresetItemActive]: isActive
226
247
  }),
248
+ role: "option",
249
+ tabIndex: 0,
250
+ "aria-selected": isActive,
227
251
  onClick: (e) => {
228
252
  e.stopPropagation();
229
253
  handlePresetClick(preset);
254
+ },
255
+ onKeyDown: (e) => {
256
+ if (e.key === "Enter" || e.key === " ") {
257
+ e.preventDefault();
258
+ e.stopPropagation();
259
+ handlePresetClick(preset);
260
+ }
230
261
  }
231
262
  },
232
263
  preset.label
@@ -245,37 +276,72 @@ var YkDateRangePicker = (0, import_react.forwardRef)(function YkDateRangePicker2
245
276
  [handlePresetClick]
246
277
  );
247
278
  const pickerVisible = showFullPicker || open;
248
- return /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.YkDateRangePicker, ref: wrapperRef }, !showFullPicker && /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTag, onClick: handleClickCompactTag }, /* @__PURE__ */ import_react.default.createElement("i", { className: (0, import_classnames.default)("iconfont icon-riqi1", import_index_module.default.yokaCompactTagIcon) }), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagContent }, activePreset ? (
249
- // 已选预设:「预设名称 (格式化时间)」
250
- /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPresetLabel }, activePreset.label), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPresetFormat }, "(", presetFormatText, ")"))
251
- ) : showState.length === 2 ? (
252
- // 自定义时间:「起始时间 ~ 结束时间」
253
- /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagDatetime }, showState[0]), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagSeparator }, "~"), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagDatetime }, showState[1]))
254
- ) : (
255
- // 无值/清空:placeholder 居中显示
256
- /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPlaceholder }, placeholder)
257
- ))), /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.yokaPickerWrapper, style: { display: pickerVisible ? "flex" : "none" } }, /* @__PURE__ */ import_react.default.createElement("i", { className: (0, import_classnames.default)("iconfont icon-riqi1", import_index_module.default.yokaPickerWrapperIcon) }), /* @__PURE__ */ import_react.default.createElement(
258
- RangePicker,
279
+ return /* @__PURE__ */ import_react.default.createElement(
280
+ "div",
259
281
  {
260
- ref: pickerRef,
261
- value: value && value.length === 2 ? value : void 0,
262
- onChange: handlePickerChange,
263
- open,
264
- onOpenChange: handleOpenChange,
265
- variant: "borderless",
266
- allowClear,
267
- suffixIcon: null,
268
- showTime: {
269
- format: "HH:mm:ss",
270
- hideDisabledOptions: true,
271
- defaultValue: [(0, import_dayjs.default)("00:00", "HH:mm"), (0, import_dayjs.default)("23:59", "HH:mm")]
282
+ className: (0, import_classnames.default)(import_index_module.default.YkDateRangePicker, className, {
283
+ [import_index_module.default.yokaDisabled]: disabled
284
+ }),
285
+ ref: wrapperRef
286
+ },
287
+ !showFullPicker && /* @__PURE__ */ import_react.default.createElement(
288
+ "span",
289
+ {
290
+ className: import_index_module.default.yokaCompactTag,
291
+ style,
292
+ role: "button",
293
+ tabIndex: disabled ? -1 : 0,
294
+ "aria-haspopup": "dialog",
295
+ "aria-expanded": open,
296
+ "aria-disabled": disabled,
297
+ onClick: disabled ? void 0 : activateCompactTag,
298
+ onKeyDown: (e) => {
299
+ if (disabled)
300
+ return;
301
+ if (e.key === "Enter" || e.key === " ") {
302
+ e.preventDefault();
303
+ activateCompactTag();
304
+ }
305
+ }
272
306
  },
273
- format: "YYYY-MM-DD HH:mm:ss",
274
- disabledDate,
275
- presets: presetsNode,
276
- getPopupContainer
277
- }
278
- )));
307
+ /* @__PURE__ */ import_react.default.createElement("i", { className: (0, import_classnames.default)("iconfont icon-riqi1", import_index_module.default.yokaCompactTagIcon) }),
308
+ /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagContent }, activePreset ? (
309
+ // 已选预设:「预设名称 (格式化时间)」
310
+ /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPresetLabel }, activePreset.label), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPresetFormat }, "(", presetFormatText, ")"))
311
+ ) : showState.length === 2 ? (
312
+ // 自定义时间:「起始时间 ~ 结束时间」
313
+ /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagDatetime }, showState[0]), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagSeparator }, "~"), /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagDatetime }, showState[1]))
314
+ ) : (
315
+ // 无值/清空:placeholder 居中显示
316
+ /* @__PURE__ */ import_react.default.createElement("span", { className: import_index_module.default.yokaCompactTagPlaceholder }, placeholder)
317
+ ))
318
+ ),
319
+ /* @__PURE__ */ import_react.default.createElement("div", { className: import_index_module.default.yokaPickerWrapper, style: { display: pickerVisible ? "flex" : "none" } }, /* @__PURE__ */ import_react.default.createElement("i", { className: (0, import_classnames.default)("iconfont icon-riqi1", import_index_module.default.yokaPickerWrapperIcon) }), /* @__PURE__ */ import_react.default.createElement(
320
+ RangePicker,
321
+ {
322
+ ref: pickerRef,
323
+ value: value && value.length === 2 ? value : void 0,
324
+ onChange: handlePickerChange,
325
+ open,
326
+ onOpenChange: handleOpenChange,
327
+ variant: "borderless",
328
+ allowClear,
329
+ disabled,
330
+ status: status || void 0,
331
+ suffixIcon: null,
332
+ showTime: {
333
+ format: "HH:mm:ss",
334
+ hideDisabledOptions: true,
335
+ defaultValue: [(0, import_dayjs.default)("00:00", "HH:mm"), (0, import_dayjs.default)("23:59", "HH:mm")]
336
+ },
337
+ format: "YYYY-MM-DD HH:mm:ss",
338
+ disabledDate,
339
+ presets: presetsNode,
340
+ getPopupContainer,
341
+ classNames: { popup: { root: "yoka-daterangepicker-popup" } }
342
+ }
343
+ ))
344
+ );
279
345
  });
280
346
  YkDateRangePicker.displayName = "YkDateRangePicker";
281
347
  var YkDateRangePicker_default = YkDateRangePicker;