@yoka-ui/ui 1.0.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 (488) hide show
  1. package/@Docs-yoka/exports.generated.md +93 -0
  2. package/@Docs-yoka/llms.txt +23 -0
  3. package/README.md +113 -0
  4. package/dist/es/Themes/InputTheme/index.d.ts +6 -0
  5. package/dist/es/Themes/InputTheme/index.js +22 -0
  6. package/dist/es/Themes/InputTheme/index.js.map +7 -0
  7. package/dist/es/Themes/TableTheme/index.d.ts +7 -0
  8. package/dist/es/Themes/TableTheme/index.js +31 -0
  9. package/dist/es/Themes/TableTheme/index.js.map +7 -0
  10. package/dist/es/Themes/TableTheme/index.less +46 -0
  11. package/dist/es/assets/image/YKUI-logo.png +0 -0
  12. package/dist/es/assets/less/ant-reset.less +402 -0
  13. package/dist/es/assets/less/index.less +1 -0
  14. package/dist/es/assets/less/variables.less +16 -0
  15. package/dist/es/business/AiChat/MarkdownRender.d.ts +9 -0
  16. package/dist/es/business/AiChat/MarkdownRender.js +72 -0
  17. package/dist/es/business/AiChat/MarkdownRender.js.map +7 -0
  18. package/dist/es/business/AiChat/index.d.ts +16 -0
  19. package/dist/es/business/AiChat/index.js +733 -0
  20. package/dist/es/business/AiChat/index.js.map +7 -0
  21. package/dist/es/business/AiChat/intentRecognizer.d.ts +33 -0
  22. package/dist/es/business/AiChat/intentRecognizer.js +166 -0
  23. package/dist/es/business/AiChat/intentRecognizer.js.map +7 -0
  24. package/dist/es/business/AiChat/navigationManager.d.ts +94 -0
  25. package/dist/es/business/AiChat/navigationManager.js +208 -0
  26. package/dist/es/business/AiChat/navigationManager.js.map +7 -0
  27. package/dist/es/business/AiChat/sse.d.ts +16 -0
  28. package/dist/es/business/AiChat/sse.js +171 -0
  29. package/dist/es/business/AiChat/sse.js.map +7 -0
  30. package/dist/es/business/AiChat/type.d.ts +156 -0
  31. package/dist/es/business/AiChat/type.js +1 -0
  32. package/dist/es/business/AiChat/type.js.map +7 -0
  33. package/dist/es/business/AiChat/useAiChat.d.ts +2 -0
  34. package/dist/es/business/AiChat/useAiChat.js +268 -0
  35. package/dist/es/business/AiChat/useAiChat.js.map +7 -0
  36. package/dist/es/business/AiChat/useTaskWorkflow.d.ts +25 -0
  37. package/dist/es/business/AiChat/useTaskWorkflow.js +196 -0
  38. package/dist/es/business/AiChat/useTaskWorkflow.js.map +7 -0
  39. package/dist/es/business/DrawerPageInfo/index.d.ts +35 -0
  40. package/dist/es/business/DrawerPageInfo/index.js +133 -0
  41. package/dist/es/business/DrawerPageInfo/index.js.map +7 -0
  42. package/dist/es/business/DrawerPageInfo/index.module.less +87 -0
  43. package/dist/es/business/DrawerPageInfo/test.png +0 -0
  44. package/dist/es/business/Editor/index.d.ts +11 -0
  45. package/dist/es/business/Editor/index.js +86 -0
  46. package/dist/es/business/Editor/index.js.map +7 -0
  47. package/dist/es/business/Editor/index.less +31 -0
  48. package/dist/es/business/Empty/empty.png +0 -0
  49. package/dist/es/business/Empty/index.d.ts +19 -0
  50. package/dist/es/business/Empty/index.js +51 -0
  51. package/dist/es/business/Empty/index.js.map +7 -0
  52. package/dist/es/business/ModCommonFilter/assets/images/empty.png +0 -0
  53. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  54. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js +51 -0
  55. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  56. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  57. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js +51 -0
  58. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  59. package/dist/es/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  60. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js +30 -0
  61. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  62. package/dist/es/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  63. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  64. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +74 -0
  65. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  66. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  67. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +216 -0
  68. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  69. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  70. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +102 -0
  71. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  72. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  73. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js +71 -0
  74. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  75. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  76. package/dist/es/business/ModCommonFilter/index.d.ts +53 -0
  77. package/dist/es/business/ModCommonFilter/index.js +129 -0
  78. package/dist/es/business/ModCommonFilter/index.js.map +7 -0
  79. package/dist/es/business/ModCommonFilter/index.module.less +7 -0
  80. package/dist/es/business/ModCommonFilter/typing.d.ts +20 -0
  81. package/dist/es/business/ModCommonFilter/typing.js +1 -0
  82. package/dist/es/business/ModCommonFilter/typing.js.map +7 -0
  83. package/dist/es/business/YkPorjectSelect/icon-product.png +0 -0
  84. package/dist/es/business/YkPorjectSelect/index.d.ts +51 -0
  85. package/dist/es/business/YkPorjectSelect/index.js +260 -0
  86. package/dist/es/business/YkPorjectSelect/index.js.map +7 -0
  87. package/dist/es/business/YkPorjectSelect/index.module.less +334 -0
  88. package/dist/es/business/YkPorjectSelect/product-close.png +0 -0
  89. package/dist/es/components/Clock/index.d.ts +19 -0
  90. package/dist/es/components/Clock/index.js +55 -0
  91. package/dist/es/components/Clock/index.js.map +7 -0
  92. package/dist/es/components/DebounceInput/index.d.ts +16 -0
  93. package/dist/es/components/DebounceInput/index.js +77 -0
  94. package/dist/es/components/DebounceInput/index.js.map +7 -0
  95. package/dist/es/components/DebounceInput/index.module.less +23 -0
  96. package/dist/es/components/MultipleSelect/index.d.ts +23 -0
  97. package/dist/es/components/MultipleSelect/index.js +249 -0
  98. package/dist/es/components/MultipleSelect/index.js.map +7 -0
  99. package/dist/es/components/MultipleSelect/index.module.less +174 -0
  100. package/dist/es/components/NumericInput/index.d.ts +19 -0
  101. package/dist/es/components/NumericInput/index.js +56 -0
  102. package/dist/es/components/NumericInput/index.js.map +7 -0
  103. package/dist/es/components/RefreshButton/index.d.ts +8 -0
  104. package/dist/es/components/RefreshButton/index.js +21 -0
  105. package/dist/es/components/RefreshButton/index.js.map +7 -0
  106. package/dist/es/components/SearchWithHistory/index.d.ts +21 -0
  107. package/dist/es/components/SearchWithHistory/index.js +115 -0
  108. package/dist/es/components/SearchWithHistory/index.js.map +7 -0
  109. package/dist/es/components/SearchWithHistory/index.module.less +64 -0
  110. package/dist/es/components/TextWithInput/index.d.ts +15 -0
  111. package/dist/es/components/TextWithInput/index.js +35 -0
  112. package/dist/es/components/TextWithInput/index.js.map +7 -0
  113. package/dist/es/components/TextWithToolTip/index.d.ts +17 -0
  114. package/dist/es/components/TextWithToolTip/index.js +118 -0
  115. package/dist/es/components/TextWithToolTip/index.js.map +7 -0
  116. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  117. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +161 -0
  118. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  119. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  120. package/dist/es/components/TreeTransfer/index.d.ts +28 -0
  121. package/dist/es/components/TreeTransfer/index.js +210 -0
  122. package/dist/es/components/TreeTransfer/index.js.map +7 -0
  123. package/dist/es/components/TreeTransfer/index.less +69 -0
  124. package/dist/es/components/TreeTransfer/types.d.ts +122 -0
  125. package/dist/es/components/TreeTransfer/types.js +6 -0
  126. package/dist/es/components/TreeTransfer/types.js.map +7 -0
  127. package/dist/es/components/TreeTransfer/utils/index.d.ts +120 -0
  128. package/dist/es/components/TreeTransfer/utils/index.js +195 -0
  129. package/dist/es/components/TreeTransfer/utils/index.js.map +7 -0
  130. package/dist/es/components/YkDateRangePicker/YkDateRangePicker.mdx +180 -0
  131. package/dist/es/components/YkDateRangePicker/index.d.ts +61 -0
  132. package/dist/es/components/YkDateRangePicker/index.js +317 -0
  133. package/dist/es/components/YkDateRangePicker/index.js.map +7 -0
  134. package/dist/es/components/YkDateRangePicker/index.module.less +304 -0
  135. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  136. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +193 -0
  137. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  138. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  139. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +576 -0
  140. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  141. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  142. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +55 -0
  143. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  144. package/dist/es/components/YkRangeDateWithVS/index.d.ts +62 -0
  145. package/dist/es/components/YkRangeDateWithVS/index.js +130 -0
  146. package/dist/es/components/YkRangeDateWithVS/index.js.map +7 -0
  147. package/dist/es/components/YkRangeDateWithVS/index.module.less +566 -0
  148. package/dist/es/components/YkRangeDateWithVS/styles.d.ts +2 -0
  149. package/dist/es/components/YkRangeDateWithVS/styles.js +18 -0
  150. package/dist/es/components/YkRangeDateWithVS/styles.js.map +7 -0
  151. package/dist/es/components/YkRangeDateWithVS/typing.d.ts +15 -0
  152. package/dist/es/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  153. package/dist/es/components/YkRangeTimeWithRecent/constants.js +288 -0
  154. package/dist/es/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  155. package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  156. package/dist/es/components/YkRangeTimeWithRecent/index.js +647 -0
  157. package/dist/es/components/YkRangeTimeWithRecent/index.js.map +7 -0
  158. package/dist/es/components/YkRangeTimeWithRecent/index.module.less +263 -0
  159. package/dist/es/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  160. package/dist/es/creative/ButtonRadioWithInfo/index.js +103 -0
  161. package/dist/es/creative/ButtonRadioWithInfo/index.js.map +7 -0
  162. package/dist/es/creative/ButtonRadioWithInfo/index.less +106 -0
  163. package/dist/es/creative/ButtonWithProgress/index.d.ts +11 -0
  164. package/dist/es/creative/ButtonWithProgress/index.js +79 -0
  165. package/dist/es/creative/ButtonWithProgress/index.js.map +7 -0
  166. package/dist/es/creative/ButtonWithProgress/index.less +66 -0
  167. package/dist/es/global.less +12 -0
  168. package/dist/es/index.d.ts +43 -0
  169. package/dist/es/index.js +87 -0
  170. package/dist/es/index.js.map +7 -0
  171. package/dist/es/index.less +35 -0
  172. package/dist/es/layout/FlexGrid/index.d.ts +25 -0
  173. package/dist/es/layout/FlexGrid/index.js +63 -0
  174. package/dist/es/layout/FlexGrid/index.js.map +7 -0
  175. package/dist/es/layout/YkContainer/index.d.ts +27 -0
  176. package/dist/es/layout/YkContainer/index.js +79 -0
  177. package/dist/es/layout/YkContainer/index.js.map +7 -0
  178. package/dist/es/layout/YkDrawer/index.d.ts +22 -0
  179. package/dist/es/layout/YkDrawer/index.js +160 -0
  180. package/dist/es/layout/YkDrawer/index.js.map +7 -0
  181. package/dist/es/layout/YkDrawer/index.module.less +45 -0
  182. package/dist/es/ui/LabelSelect/demo.d.ts +3 -0
  183. package/dist/es/ui/LabelSelect/demo.js +83 -0
  184. package/dist/es/ui/LabelSelect/demo.js.map +7 -0
  185. package/dist/es/ui/LabelSelect/index.d.ts +41 -0
  186. package/dist/es/ui/LabelSelect/index.js +136 -0
  187. package/dist/es/ui/LabelSelect/index.js.map +7 -0
  188. package/dist/es/ui/LogicOperator/index.d.ts +10 -0
  189. package/dist/es/ui/LogicOperator/index.js +12 -0
  190. package/dist/es/ui/LogicOperator/index.js.map +7 -0
  191. package/dist/es/ui/LogicOperator/index.module.less +97 -0
  192. package/dist/es/ui/YkButton/index.d.ts +9 -0
  193. package/dist/es/ui/YkButton/index.js +59 -0
  194. package/dist/es/ui/YkButton/index.js.map +7 -0
  195. package/dist/es/ui/YkCard/index.d.ts +4 -0
  196. package/dist/es/ui/YkCard/index.js +79 -0
  197. package/dist/es/ui/YkCard/index.js.map +7 -0
  198. package/dist/es/ui/YkCard/index.module.less +30 -0
  199. package/dist/es/ui/YkCheckbox/index.d.ts +4 -0
  200. package/dist/es/ui/YkCheckbox/index.js +45 -0
  201. package/dist/es/ui/YkCheckbox/index.js.map +7 -0
  202. package/dist/es/ui/YkCheckbox/index.module.less +22 -0
  203. package/dist/es/ui/YkDescriptions/index.d.ts +4 -0
  204. package/dist/es/ui/YkDescriptions/index.js +41 -0
  205. package/dist/es/ui/YkDescriptions/index.js.map +7 -0
  206. package/dist/es/ui/YkPagination/index.d.ts +4 -0
  207. package/dist/es/ui/YkPagination/index.js +63 -0
  208. package/dist/es/ui/YkPagination/index.js.map +7 -0
  209. package/dist/es/ui/YkPagination/index.module.less +22 -0
  210. package/dist/es/ui/YkRadio/index.d.ts +4 -0
  211. package/dist/es/ui/YkRadio/index.js +51 -0
  212. package/dist/es/ui/YkRadio/index.js.map +7 -0
  213. package/dist/es/ui/YkRadio/index.module.less +22 -0
  214. package/dist/es/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  215. package/dist/es/ui/YkRadioBtnSpecial/index.js +23 -0
  216. package/dist/es/ui/YkRadioBtnSpecial/index.js.map +7 -0
  217. package/dist/es/ui/YkRadioBtnSpecial/index.module.less +112 -0
  218. package/dist/es/ui/YkSegmented/index.d.ts +4 -0
  219. package/dist/es/ui/YkSegmented/index.js +41 -0
  220. package/dist/es/ui/YkSegmented/index.js.map +7 -0
  221. package/dist/es/ui/YkSelect/index.d.ts +7 -0
  222. package/dist/es/ui/YkSelect/index.js +54 -0
  223. package/dist/es/ui/YkSelect/index.js.map +7 -0
  224. package/dist/es/ui/YkSpin/index.d.ts +4 -0
  225. package/dist/es/ui/YkSpin/index.js +41 -0
  226. package/dist/es/ui/YkSpin/index.js.map +7 -0
  227. package/dist/es/ui/YkStatistic/index.d.ts +4 -0
  228. package/dist/es/ui/YkStatistic/index.js +41 -0
  229. package/dist/es/ui/YkStatistic/index.js.map +7 -0
  230. package/dist/es/ui/YkSwitch/index.d.ts +4 -0
  231. package/dist/es/ui/YkSwitch/index.js +51 -0
  232. package/dist/es/ui/YkSwitch/index.js.map +7 -0
  233. package/dist/es/ui/YkTabs/index.d.ts +12 -0
  234. package/dist/es/ui/YkTabs/index.js +75 -0
  235. package/dist/es/ui/YkTabs/index.js.map +7 -0
  236. package/dist/es/ui/YkTabs/index.module.less +11 -0
  237. package/dist/es/ui/YkTooltip/index.d.ts +4 -0
  238. package/dist/es/ui/YkTooltip/index.js +50 -0
  239. package/dist/es/ui/YkTooltip/index.js.map +7 -0
  240. package/dist/es/utils/styleUtils.d.ts +18 -0
  241. package/dist/es/utils/styleUtils.js +57 -0
  242. package/dist/es/utils/styleUtils.js.map +7 -0
  243. package/dist/es/utils/ykStorybookDoc.d.ts +17 -0
  244. package/dist/es/utils/ykStorybookDoc.js +18 -0
  245. package/dist/es/utils/ykStorybookDoc.js.map +7 -0
  246. package/dist/lib/Themes/InputTheme/index.d.ts +6 -0
  247. package/dist/lib/Themes/InputTheme/index.js +52 -0
  248. package/dist/lib/Themes/InputTheme/index.js.map +7 -0
  249. package/dist/lib/Themes/TableTheme/index.d.ts +7 -0
  250. package/dist/lib/Themes/TableTheme/index.js +61 -0
  251. package/dist/lib/Themes/TableTheme/index.js.map +7 -0
  252. package/dist/lib/Themes/TableTheme/index.less +46 -0
  253. package/dist/lib/assets/image/YKUI-logo.png +0 -0
  254. package/dist/lib/assets/less/ant-reset.less +402 -0
  255. package/dist/lib/assets/less/index.less +1 -0
  256. package/dist/lib/assets/less/variables.less +16 -0
  257. package/dist/lib/business/AiChat/MarkdownRender.d.ts +9 -0
  258. package/dist/lib/business/AiChat/MarkdownRender.js +102 -0
  259. package/dist/lib/business/AiChat/MarkdownRender.js.map +7 -0
  260. package/dist/lib/business/AiChat/index.d.ts +16 -0
  261. package/dist/lib/business/AiChat/index.js +723 -0
  262. package/dist/lib/business/AiChat/index.js.map +7 -0
  263. package/dist/lib/business/AiChat/intentRecognizer.d.ts +33 -0
  264. package/dist/lib/business/AiChat/intentRecognizer.js +193 -0
  265. package/dist/lib/business/AiChat/intentRecognizer.js.map +7 -0
  266. package/dist/lib/business/AiChat/navigationManager.d.ts +94 -0
  267. package/dist/lib/business/AiChat/navigationManager.js +214 -0
  268. package/dist/lib/business/AiChat/navigationManager.js.map +7 -0
  269. package/dist/lib/business/AiChat/sse.d.ts +16 -0
  270. package/dist/lib/business/AiChat/sse.js +171 -0
  271. package/dist/lib/business/AiChat/sse.js.map +7 -0
  272. package/dist/lib/business/AiChat/type.d.ts +156 -0
  273. package/dist/lib/business/AiChat/type.js +18 -0
  274. package/dist/lib/business/AiChat/type.js.map +7 -0
  275. package/dist/lib/business/AiChat/useAiChat.d.ts +2 -0
  276. package/dist/lib/business/AiChat/useAiChat.js +252 -0
  277. package/dist/lib/business/AiChat/useAiChat.js.map +7 -0
  278. package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +25 -0
  279. package/dist/lib/business/AiChat/useTaskWorkflow.js +182 -0
  280. package/dist/lib/business/AiChat/useTaskWorkflow.js.map +7 -0
  281. package/dist/lib/business/DrawerPageInfo/index.d.ts +35 -0
  282. package/dist/lib/business/DrawerPageInfo/index.js +163 -0
  283. package/dist/lib/business/DrawerPageInfo/index.js.map +7 -0
  284. package/dist/lib/business/DrawerPageInfo/index.module.less +87 -0
  285. package/dist/lib/business/DrawerPageInfo/test.png +0 -0
  286. package/dist/lib/business/Editor/index.d.ts +11 -0
  287. package/dist/lib/business/Editor/index.js +99 -0
  288. package/dist/lib/business/Editor/index.js.map +7 -0
  289. package/dist/lib/business/Editor/index.less +31 -0
  290. package/dist/lib/business/Empty/empty.png +0 -0
  291. package/dist/lib/business/Empty/index.d.ts +19 -0
  292. package/dist/lib/business/Empty/index.js +65 -0
  293. package/dist/lib/business/Empty/index.js.map +7 -0
  294. package/dist/lib/business/ModCommonFilter/assets/images/empty.png +0 -0
  295. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  296. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js +50 -0
  297. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  298. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  299. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js +50 -0
  300. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  301. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  302. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js +60 -0
  303. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  304. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  305. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  306. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +69 -0
  307. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  308. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  309. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +211 -0
  310. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  311. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  312. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +97 -0
  313. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  314. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  315. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js +101 -0
  316. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  317. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  318. package/dist/lib/business/ModCommonFilter/index.d.ts +53 -0
  319. package/dist/lib/business/ModCommonFilter/index.js +143 -0
  320. package/dist/lib/business/ModCommonFilter/index.js.map +7 -0
  321. package/dist/lib/business/ModCommonFilter/index.module.less +7 -0
  322. package/dist/lib/business/ModCommonFilter/typing.d.ts +20 -0
  323. package/dist/lib/business/ModCommonFilter/typing.js +18 -0
  324. package/dist/lib/business/ModCommonFilter/typing.js.map +7 -0
  325. package/dist/lib/business/YkPorjectSelect/icon-product.png +0 -0
  326. package/dist/lib/business/YkPorjectSelect/index.d.ts +51 -0
  327. package/dist/lib/business/YkPorjectSelect/index.js +235 -0
  328. package/dist/lib/business/YkPorjectSelect/index.js.map +7 -0
  329. package/dist/lib/business/YkPorjectSelect/index.module.less +334 -0
  330. package/dist/lib/business/YkPorjectSelect/product-close.png +0 -0
  331. package/dist/lib/components/Clock/index.d.ts +19 -0
  332. package/dist/lib/components/Clock/index.js +85 -0
  333. package/dist/lib/components/Clock/index.js.map +7 -0
  334. package/dist/lib/components/DebounceInput/index.d.ts +16 -0
  335. package/dist/lib/components/DebounceInput/index.js +107 -0
  336. package/dist/lib/components/DebounceInput/index.js.map +7 -0
  337. package/dist/lib/components/DebounceInput/index.module.less +23 -0
  338. package/dist/lib/components/MultipleSelect/index.d.ts +23 -0
  339. package/dist/lib/components/MultipleSelect/index.js +279 -0
  340. package/dist/lib/components/MultipleSelect/index.js.map +7 -0
  341. package/dist/lib/components/MultipleSelect/index.module.less +174 -0
  342. package/dist/lib/components/NumericInput/index.d.ts +19 -0
  343. package/dist/lib/components/NumericInput/index.js +67 -0
  344. package/dist/lib/components/NumericInput/index.js.map +7 -0
  345. package/dist/lib/components/RefreshButton/index.d.ts +8 -0
  346. package/dist/lib/components/RefreshButton/index.js +51 -0
  347. package/dist/lib/components/RefreshButton/index.js.map +7 -0
  348. package/dist/lib/components/SearchWithHistory/index.d.ts +21 -0
  349. package/dist/lib/components/SearchWithHistory/index.js +145 -0
  350. package/dist/lib/components/SearchWithHistory/index.js.map +7 -0
  351. package/dist/lib/components/SearchWithHistory/index.module.less +64 -0
  352. package/dist/lib/components/TextWithInput/index.d.ts +15 -0
  353. package/dist/lib/components/TextWithInput/index.js +65 -0
  354. package/dist/lib/components/TextWithInput/index.js.map +7 -0
  355. package/dist/lib/components/TextWithToolTip/index.d.ts +17 -0
  356. package/dist/lib/components/TextWithToolTip/index.js +134 -0
  357. package/dist/lib/components/TextWithToolTip/index.js.map +7 -0
  358. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  359. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +191 -0
  360. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  361. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  362. package/dist/lib/components/TreeTransfer/index.d.ts +28 -0
  363. package/dist/lib/components/TreeTransfer/index.js +214 -0
  364. package/dist/lib/components/TreeTransfer/index.js.map +7 -0
  365. package/dist/lib/components/TreeTransfer/index.less +69 -0
  366. package/dist/lib/components/TreeTransfer/types.d.ts +122 -0
  367. package/dist/lib/components/TreeTransfer/types.js +30 -0
  368. package/dist/lib/components/TreeTransfer/types.js.map +7 -0
  369. package/dist/lib/components/TreeTransfer/utils/index.d.ts +120 -0
  370. package/dist/lib/components/TreeTransfer/utils/index.js +208 -0
  371. package/dist/lib/components/TreeTransfer/utils/index.js.map +7 -0
  372. package/dist/lib/components/YkDateRangePicker/YkDateRangePicker.mdx +180 -0
  373. package/dist/lib/components/YkDateRangePicker/index.d.ts +61 -0
  374. package/dist/lib/components/YkDateRangePicker/index.js +338 -0
  375. package/dist/lib/components/YkDateRangePicker/index.js.map +7 -0
  376. package/dist/lib/components/YkDateRangePicker/index.module.less +304 -0
  377. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  378. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +223 -0
  379. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  380. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  381. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +587 -0
  382. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  383. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  384. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +85 -0
  385. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  386. package/dist/lib/components/YkRangeDateWithVS/index.d.ts +62 -0
  387. package/dist/lib/components/YkRangeDateWithVS/index.js +140 -0
  388. package/dist/lib/components/YkRangeDateWithVS/index.js.map +7 -0
  389. package/dist/lib/components/YkRangeDateWithVS/index.module.less +566 -0
  390. package/dist/lib/components/YkRangeDateWithVS/styles.d.ts +2 -0
  391. package/dist/lib/components/YkRangeDateWithVS/styles.js +48 -0
  392. package/dist/lib/components/YkRangeDateWithVS/styles.js.map +7 -0
  393. package/dist/lib/components/YkRangeDateWithVS/typing.d.ts +15 -0
  394. package/dist/lib/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  395. package/dist/lib/components/YkRangeTimeWithRecent/constants.js +333 -0
  396. package/dist/lib/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  397. package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  398. package/dist/lib/components/YkRangeTimeWithRecent/index.js +647 -0
  399. package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +7 -0
  400. package/dist/lib/components/YkRangeTimeWithRecent/index.module.less +263 -0
  401. package/dist/lib/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  402. package/dist/lib/creative/ButtonRadioWithInfo/index.js +102 -0
  403. package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +7 -0
  404. package/dist/lib/creative/ButtonRadioWithInfo/index.less +106 -0
  405. package/dist/lib/creative/ButtonWithProgress/index.d.ts +11 -0
  406. package/dist/lib/creative/ButtonWithProgress/index.js +70 -0
  407. package/dist/lib/creative/ButtonWithProgress/index.js.map +7 -0
  408. package/dist/lib/creative/ButtonWithProgress/index.less +66 -0
  409. package/dist/lib/global.less +12 -0
  410. package/dist/lib/index.d.ts +43 -0
  411. package/dist/lib/index.js +161 -0
  412. package/dist/lib/index.js.map +7 -0
  413. package/dist/lib/index.less +35 -0
  414. package/dist/lib/layout/FlexGrid/index.d.ts +25 -0
  415. package/dist/lib/layout/FlexGrid/index.js +77 -0
  416. package/dist/lib/layout/FlexGrid/index.js.map +7 -0
  417. package/dist/lib/layout/YkContainer/index.d.ts +27 -0
  418. package/dist/lib/layout/YkContainer/index.js +79 -0
  419. package/dist/lib/layout/YkContainer/index.js.map +7 -0
  420. package/dist/lib/layout/YkDrawer/index.d.ts +22 -0
  421. package/dist/lib/layout/YkDrawer/index.js +152 -0
  422. package/dist/lib/layout/YkDrawer/index.js.map +7 -0
  423. package/dist/lib/layout/YkDrawer/index.module.less +45 -0
  424. package/dist/lib/ui/LabelSelect/demo.d.ts +3 -0
  425. package/dist/lib/ui/LabelSelect/demo.js +113 -0
  426. package/dist/lib/ui/LabelSelect/demo.js.map +7 -0
  427. package/dist/lib/ui/LabelSelect/index.d.ts +41 -0
  428. package/dist/lib/ui/LabelSelect/index.js +124 -0
  429. package/dist/lib/ui/LabelSelect/index.js.map +7 -0
  430. package/dist/lib/ui/LogicOperator/index.d.ts +10 -0
  431. package/dist/lib/ui/LogicOperator/index.js +42 -0
  432. package/dist/lib/ui/LogicOperator/index.js.map +7 -0
  433. package/dist/lib/ui/LogicOperator/index.module.less +97 -0
  434. package/dist/lib/ui/YkButton/index.d.ts +9 -0
  435. package/dist/lib/ui/YkButton/index.js +55 -0
  436. package/dist/lib/ui/YkButton/index.js.map +7 -0
  437. package/dist/lib/ui/YkCard/index.d.ts +4 -0
  438. package/dist/lib/ui/YkCard/index.js +76 -0
  439. package/dist/lib/ui/YkCard/index.js.map +7 -0
  440. package/dist/lib/ui/YkCard/index.module.less +30 -0
  441. package/dist/lib/ui/YkCheckbox/index.d.ts +4 -0
  442. package/dist/lib/ui/YkCheckbox/index.js +42 -0
  443. package/dist/lib/ui/YkCheckbox/index.js.map +7 -0
  444. package/dist/lib/ui/YkCheckbox/index.module.less +22 -0
  445. package/dist/lib/ui/YkDescriptions/index.d.ts +4 -0
  446. package/dist/lib/ui/YkDescriptions/index.js +41 -0
  447. package/dist/lib/ui/YkDescriptions/index.js.map +7 -0
  448. package/dist/lib/ui/YkPagination/index.d.ts +4 -0
  449. package/dist/lib/ui/YkPagination/index.js +60 -0
  450. package/dist/lib/ui/YkPagination/index.js.map +7 -0
  451. package/dist/lib/ui/YkPagination/index.module.less +22 -0
  452. package/dist/lib/ui/YkRadio/index.d.ts +4 -0
  453. package/dist/lib/ui/YkRadio/index.js +51 -0
  454. package/dist/lib/ui/YkRadio/index.js.map +7 -0
  455. package/dist/lib/ui/YkRadio/index.module.less +22 -0
  456. package/dist/lib/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  457. package/dist/lib/ui/YkRadioBtnSpecial/index.js +53 -0
  458. package/dist/lib/ui/YkRadioBtnSpecial/index.js.map +7 -0
  459. package/dist/lib/ui/YkRadioBtnSpecial/index.module.less +112 -0
  460. package/dist/lib/ui/YkSegmented/index.d.ts +4 -0
  461. package/dist/lib/ui/YkSegmented/index.js +41 -0
  462. package/dist/lib/ui/YkSegmented/index.js.map +7 -0
  463. package/dist/lib/ui/YkSelect/index.d.ts +7 -0
  464. package/dist/lib/ui/YkSelect/index.js +54 -0
  465. package/dist/lib/ui/YkSelect/index.js.map +7 -0
  466. package/dist/lib/ui/YkSpin/index.d.ts +4 -0
  467. package/dist/lib/ui/YkSpin/index.js +41 -0
  468. package/dist/lib/ui/YkSpin/index.js.map +7 -0
  469. package/dist/lib/ui/YkStatistic/index.d.ts +4 -0
  470. package/dist/lib/ui/YkStatistic/index.js +41 -0
  471. package/dist/lib/ui/YkStatistic/index.js.map +7 -0
  472. package/dist/lib/ui/YkSwitch/index.d.ts +4 -0
  473. package/dist/lib/ui/YkSwitch/index.js +51 -0
  474. package/dist/lib/ui/YkSwitch/index.js.map +7 -0
  475. package/dist/lib/ui/YkTabs/index.d.ts +12 -0
  476. package/dist/lib/ui/YkTabs/index.js +70 -0
  477. package/dist/lib/ui/YkTabs/index.js.map +7 -0
  478. package/dist/lib/ui/YkTabs/index.module.less +11 -0
  479. package/dist/lib/ui/YkTooltip/index.d.ts +4 -0
  480. package/dist/lib/ui/YkTooltip/index.js +45 -0
  481. package/dist/lib/ui/YkTooltip/index.js.map +7 -0
  482. package/dist/lib/utils/styleUtils.d.ts +18 -0
  483. package/dist/lib/utils/styleUtils.js +84 -0
  484. package/dist/lib/utils/styleUtils.js.map +7 -0
  485. package/dist/lib/utils/ykStorybookDoc.d.ts +17 -0
  486. package/dist/lib/utils/ykStorybookDoc.js +41 -0
  487. package/dist/lib/utils/ykStorybookDoc.js.map +7 -0
  488. package/package.json +148 -0
@@ -0,0 +1,317 @@
1
+ // src/components/YkDateRangePicker/index.tsx
2
+ import { DatePicker } from "antd";
3
+ import classNames from "classnames";
4
+ import dayjs from "dayjs";
5
+ import React, {
6
+ forwardRef,
7
+ useCallback,
8
+ useEffect,
9
+ useImperativeHandle,
10
+ useMemo,
11
+ useRef,
12
+ useState
13
+ } from "react";
14
+ import styles from "./index.module.less";
15
+ var { RangePicker } = DatePicker;
16
+ function pastTime(n, unit) {
17
+ const fmt = "YYYY-MM-DD HH:mm:00";
18
+ return [dayjs(dayjs().subtract(n, unit).format(fmt)), dayjs(dayjs().format(fmt))];
19
+ }
20
+ var DISPLAY_FORMAT = "YYYY-MM-DD HH:mm:ss";
21
+ function formatToKey(d) {
22
+ return dayjs(d).format(DISPLAY_FORMAT);
23
+ }
24
+ function isValueEqual(a, b) {
25
+ if (a === b)
26
+ return true;
27
+ if (!a || !b)
28
+ return a === b;
29
+ if (a.length !== b.length)
30
+ return false;
31
+ if (a.length < 2 || b.length < 2)
32
+ return a.length === b.length;
33
+ return formatToKey(a[0]) === formatToKey(b[0]) && formatToKey(a[1]) === formatToKey(b[1]);
34
+ }
35
+ var RANGE_PRESETS = [
36
+ {
37
+ label: "่ฟ‘5ๅˆ†้’Ÿ",
38
+ value: () => pastTime(5, "minute")
39
+ },
40
+ {
41
+ label: "่ฟ‘15ๅˆ†้’Ÿ",
42
+ value: () => pastTime(15, "minute")
43
+ },
44
+ {
45
+ label: "่ฟ‘30ๅˆ†้’Ÿ",
46
+ value: () => pastTime(30, "minute")
47
+ },
48
+ {
49
+ label: "่ฟ‘1ๅฐๆ—ถ",
50
+ value: () => pastTime(1, "hour")
51
+ },
52
+ {
53
+ label: "่ฟ‘2ๅฐๆ—ถ",
54
+ value: () => pastTime(2, "hour")
55
+ },
56
+ {
57
+ label: "่ฟ‘6ๅฐๆ—ถ",
58
+ value: () => pastTime(6, "hour")
59
+ },
60
+ {
61
+ label: "ไปŠๅคฉ",
62
+ value: () => [
63
+ dayjs(dayjs().startOf("day").format("YYYY-MM-DD HH:mm:ss")),
64
+ dayjs(dayjs().endOf("day").format("YYYY-MM-DD HH:mm:ss"))
65
+ ],
66
+ // ็ดงๅ‡‘ๆจกๅผๅชๅฑ•็คบๆ—ฅๆœŸ๏ผŒๅฆ‚ใ€Œ03-25ใ€
67
+ format: (v) => v[0].format("MM-DD")
68
+ },
69
+ {
70
+ label: "ๆ˜จๅคฉ",
71
+ value: () => [
72
+ dayjs(dayjs().subtract(1, "day").startOf("day").format("YYYY-MM-DD HH:mm:ss")),
73
+ dayjs(dayjs().subtract(1, "day").endOf("day").format("YYYY-MM-DD HH:mm:ss"))
74
+ ],
75
+ format: (v) => v[0].format("MM-DD")
76
+ },
77
+ {
78
+ label: "่ฟ‘7ๅคฉ",
79
+ value: () => [
80
+ dayjs(dayjs().subtract(6, "day").startOf("day").format("YYYY-MM-DD HH:mm:ss")),
81
+ dayjs(dayjs().endOf("day").format("YYYY-MM-DD HH:mm:ss"))
82
+ ],
83
+ // ็ดงๅ‡‘ๆจกๅผๅฑ•็คบๅฎŒๆ•ดๆ—ฅๆœŸๅŒบ้—ด๏ผŒๅฆ‚ใ€Œ2024-03-19 ~ 2024-03-25ใ€
84
+ format: (v) => [v[0].format("YYYY-MM-DD"), v[1].format("YYYY-MM-DD")]
85
+ }
86
+ ];
87
+ var YkDateRangePicker = forwardRef(function YkDateRangePicker2({ value, onChange, allowClear = false, placeholder = "่ฏท้€‰ๆ‹ฉๆ—ถ้—ด่Œƒๅ›ด", disabled = false, status = "" }, ref) {
88
+ const [showFullPicker, setShowFullPicker] = useState(false);
89
+ const [open, setOpen] = useState(false);
90
+ const [activePreset, setActivePreset] = useState(void 0);
91
+ const [presetFormatText, setPresetFormatText] = useState(void 0);
92
+ const selfChangeRef = useRef(false);
93
+ const isPresetClickRef = useRef(false);
94
+ const collapseTimerRef = useRef();
95
+ const wrapperRef = useRef(null);
96
+ const pickerRef = useRef(null);
97
+ const prevValueRef = useRef(value);
98
+ const scheduleCollapse = useCallback((delay) => {
99
+ clearTimeout(collapseTimerRef.current);
100
+ collapseTimerRef.current = setTimeout(() => {
101
+ setOpen(false);
102
+ setShowFullPicker(false);
103
+ }, delay != null ? delay : 0);
104
+ }, []);
105
+ useEffect(() => () => clearTimeout(collapseTimerRef.current), []);
106
+ useEffect(() => {
107
+ if (value && value.length === 2)
108
+ return;
109
+ const first = RANGE_PRESETS[0];
110
+ const currentValue = first.value();
111
+ const formatText = currentValue.map((v) => dayjs(v).format("HH:mm:ss")).join(" ~ ");
112
+ setActivePreset(first);
113
+ setPresetFormatText(formatText);
114
+ selfChangeRef.current = true;
115
+ onChange == null ? void 0 : onChange(currentValue);
116
+ }, []);
117
+ useEffect(() => {
118
+ if (isValueEqual(prevValueRef.current, value))
119
+ return;
120
+ prevValueRef.current = value;
121
+ if (!selfChangeRef.current) {
122
+ setActivePreset(void 0);
123
+ setPresetFormatText(void 0);
124
+ }
125
+ selfChangeRef.current = false;
126
+ }, [value]);
127
+ const showState = useMemo(() => {
128
+ if (!value || value.length < 2)
129
+ return [];
130
+ return [formatToKey(value[0]), formatToKey(value[1])];
131
+ }, [value]);
132
+ const activePresetIndex = useMemo(() => {
133
+ if (!value || value.length < 2)
134
+ return -1;
135
+ const [v0, v1] = value;
136
+ const valKeys = [formatToKey(v0), formatToKey(v1)];
137
+ return RANGE_PRESETS.findIndex((preset) => {
138
+ const presetVal = preset.value();
139
+ const presetKeys = [formatToKey(presetVal[0]), formatToKey(presetVal[1])];
140
+ return valKeys[0] === presetKeys[0] && valKeys[1] === presetKeys[1];
141
+ });
142
+ }, [value, open]);
143
+ const handlePresetClick = useCallback(
144
+ (preset) => {
145
+ isPresetClickRef.current = true;
146
+ const currentValue = preset.value();
147
+ let formatText;
148
+ if (preset.format) {
149
+ const res = preset.format(currentValue);
150
+ formatText = Array.isArray(res) ? res.join(" ~ ") : res;
151
+ } else {
152
+ formatText = currentValue.map((v) => dayjs(v).format("HH:mm:ss")).join(" ~ ");
153
+ }
154
+ setActivePreset(preset);
155
+ setPresetFormatText(formatText);
156
+ selfChangeRef.current = true;
157
+ onChange == null ? void 0 : onChange(currentValue);
158
+ scheduleCollapse();
159
+ },
160
+ [onChange]
161
+ );
162
+ const handlePickerChange = useCallback(
163
+ (dates) => {
164
+ setActivePreset(void 0);
165
+ setPresetFormatText(void 0);
166
+ isPresetClickRef.current = false;
167
+ selfChangeRef.current = true;
168
+ if ((dates == null ? void 0 : dates[0]) && (dates == null ? void 0 : dates[1])) {
169
+ onChange == null ? void 0 : onChange(dates);
170
+ } else {
171
+ onChange == null ? void 0 : onChange(null);
172
+ scheduleCollapse();
173
+ }
174
+ },
175
+ [onChange]
176
+ );
177
+ const activateCompactTag = useCallback(() => {
178
+ setShowFullPicker(true);
179
+ setTimeout(() => {
180
+ var _a;
181
+ const el = (_a = pickerRef.current) == null ? void 0 : _a.nativeElement;
182
+ if (el) {
183
+ const input = el.querySelector("input");
184
+ input == null ? void 0 : input.click();
185
+ input == null ? void 0 : input.focus();
186
+ }
187
+ }, 0);
188
+ }, []);
189
+ const handleOpenChange = useCallback(
190
+ (isOpen) => {
191
+ setOpen(isOpen);
192
+ if (!isOpen) {
193
+ scheduleCollapse(150);
194
+ }
195
+ },
196
+ [scheduleCollapse]
197
+ );
198
+ const disabledDate = useCallback((current) => {
199
+ return current && (current > dayjs().endOf("day") || current < dayjs().subtract(6, "day").startOf("day"));
200
+ }, []);
201
+ const getPopupContainer = useCallback(() => {
202
+ var _a;
203
+ return (_a = wrapperRef.current) != null ? _a : document.body;
204
+ }, []);
205
+ const presetsNode = useMemo(() => {
206
+ return RANGE_PRESETS.map((preset, index) => {
207
+ const isActive = activePresetIndex === index;
208
+ return {
209
+ label: /* @__PURE__ */ React.createElement(
210
+ "div",
211
+ {
212
+ className: classNames(styles.yokaPresetItem, {
213
+ [styles.yokaPresetItemActive]: isActive
214
+ }),
215
+ role: "option",
216
+ tabIndex: 0,
217
+ "aria-selected": isActive,
218
+ onClick: (e) => {
219
+ e.stopPropagation();
220
+ handlePresetClick(preset);
221
+ },
222
+ onKeyDown: (e) => {
223
+ if (e.key === "Enter" || e.key === " ") {
224
+ e.preventDefault();
225
+ e.stopPropagation();
226
+ handlePresetClick(preset);
227
+ }
228
+ }
229
+ },
230
+ preset.label
231
+ ),
232
+ value: preset.value()
233
+ };
234
+ });
235
+ }, [activePresetIndex, handlePresetClick]);
236
+ useImperativeHandle(
237
+ ref,
238
+ () => ({
239
+ toggleFirstPreset() {
240
+ handlePresetClick(RANGE_PRESETS[0]);
241
+ }
242
+ }),
243
+ [handlePresetClick]
244
+ );
245
+ const pickerVisible = showFullPicker || open;
246
+ return /* @__PURE__ */ React.createElement(
247
+ "div",
248
+ {
249
+ className: classNames(styles.YkDateRangePicker, {
250
+ [styles.yokaDisabled]: disabled
251
+ }),
252
+ ref: wrapperRef
253
+ },
254
+ !showFullPicker && /* @__PURE__ */ React.createElement(
255
+ "span",
256
+ {
257
+ className: styles.yokaCompactTag,
258
+ role: "button",
259
+ tabIndex: disabled ? -1 : 0,
260
+ "aria-haspopup": "dialog",
261
+ "aria-expanded": open,
262
+ "aria-disabled": disabled,
263
+ onClick: disabled ? void 0 : activateCompactTag,
264
+ onKeyDown: (e) => {
265
+ if (disabled)
266
+ return;
267
+ if (e.key === "Enter" || e.key === " ") {
268
+ e.preventDefault();
269
+ activateCompactTag();
270
+ }
271
+ }
272
+ },
273
+ /* @__PURE__ */ React.createElement("i", { className: classNames("iconfont icon-riqi1", styles.yokaCompactTagIcon) }),
274
+ /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagContent }, activePreset ? (
275
+ // ๅทฒ้€‰้ข„่ฎพ๏ผšใ€Œ้ข„่ฎพๅ็งฐ (ๆ ผๅผๅŒ–ๆ—ถ้—ด)ใ€
276
+ /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagPresetLabel }, activePreset.label), /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagPresetFormat }, "(", presetFormatText, ")"))
277
+ ) : showState.length === 2 ? (
278
+ // ่‡ชๅฎšไน‰ๆ—ถ้—ด๏ผšใ€Œ่ตทๅง‹ๆ—ถ้—ด ~ ็ป“ๆŸๆ—ถ้—ดใ€
279
+ /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagDatetime }, showState[0]), /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagSeparator }, "~"), /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagDatetime }, showState[1]))
280
+ ) : (
281
+ // ๆ— ๅ€ผ/ๆธ…็ฉบ๏ผšplaceholder ๅฑ…ไธญๆ˜พ็คบ
282
+ /* @__PURE__ */ React.createElement("span", { className: styles.yokaCompactTagPlaceholder }, placeholder)
283
+ ))
284
+ ),
285
+ /* @__PURE__ */ React.createElement("div", { className: styles.yokaPickerWrapper, style: { display: pickerVisible ? "flex" : "none" } }, /* @__PURE__ */ React.createElement("i", { className: classNames("iconfont icon-riqi1", styles.yokaPickerWrapperIcon) }), /* @__PURE__ */ React.createElement(
286
+ RangePicker,
287
+ {
288
+ ref: pickerRef,
289
+ value: value && value.length === 2 ? value : void 0,
290
+ onChange: handlePickerChange,
291
+ open,
292
+ onOpenChange: handleOpenChange,
293
+ variant: "borderless",
294
+ allowClear,
295
+ disabled,
296
+ status: status || void 0,
297
+ suffixIcon: null,
298
+ showTime: {
299
+ format: "HH:mm:ss",
300
+ hideDisabledOptions: true,
301
+ defaultValue: [dayjs("00:00", "HH:mm"), dayjs("23:59", "HH:mm")]
302
+ },
303
+ format: "YYYY-MM-DD HH:mm:ss",
304
+ disabledDate,
305
+ presets: presetsNode,
306
+ getPopupContainer,
307
+ classNames: { popup: { root: "yoka-daterangepicker-popup" } }
308
+ }
309
+ ))
310
+ );
311
+ });
312
+ YkDateRangePicker.displayName = "YkDateRangePicker";
313
+ var YkDateRangePicker_default = YkDateRangePicker;
314
+ export {
315
+ YkDateRangePicker_default as default
316
+ };
317
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/YkDateRangePicker/index.tsx"],
4
+ "sourcesContent": ["/**\n * YkDateRangePicker\n *\n * ๅธฆใ€Œ็ดงๅ‡‘้ข„่ฎพ tagใ€ไธŽใ€ŒๅฎŒๆ•ด RangePickerใ€ๅŒๆจกๅผๅˆ‡ๆข็š„ๆ—ฅๆœŸ่Œƒๅ›ด้€‰ๆ‹ฉๅ™จใ€‚\n *\n * ๅŠŸ่ƒฝ็‰นๆ€ง๏ผš\n * - ้ป˜่ฎค็ดงๅ‡‘ๆจกๅผ๏ผšไปฅ tag ๅฝขๅผๅฑ•็คบใ€Œ้ข„่ฎพๆ ‡็ญพ + ๆ ผๅผๅŒ–ๆ—ถ้—ดใ€ๆˆ–ใ€Œ่ตทๆญขๆ—ถ้—ดใ€\n * - mount ๆ—ถ่‹ฅๆ— ๅˆๅง‹ๅ€ผ๏ผŒ่‡ชๅŠจ้€‰ไธญใ€Œ่ฟ‘5ๅˆ†้’Ÿใ€้ข„่ฎพ\n * - ็‚นๅ‡ป tag ๅŽๅฑ•ๅผ€ๅ†…ๅตŒ็š„ๅฎŒๆ•ด RangePicker๏ผŒๅคฑ็„ฆๅŽ่‡ชๅŠจๆ”ถ่ตท\n * - 8 ไธชๅ†…็ฝฎๅฟซๆท้ข„่ฎพ๏ผŒ2 ๅˆ— Grid ๅธƒๅฑ€ๆธฒๆŸ“๏ผŒๅฝ“ๅ‰ๆฟ€ๆดป้กน้ซ˜ไบฎ\n * - ๅ—ๆŽง็ป„ไปถ๏ผšๅŒบๅˆ†ใ€Œ็”จๆˆทๆ“ไฝœใ€ไธŽใ€Œๅค–้ƒจ่ต‹ๅ€ผใ€๏ผŒไป…็”จๆˆทๆ“ไฝœ่งฆๅ‘ onChange\n * - ็ฆ็”จๆ—ฅๆœŸ๏ผšไป…ๅ…่ฎธ่ฟ‡ๅŽป 7 ๅคฉ๏ผˆๅซไปŠๅคฉ๏ผ‰\n * - allowClear๏ผšๆ”ฏๆŒไธ€้”ฎๆธ…้™ค๏ผŒๆธ…้™คๅŽ้‡็ฝฎ้ข„่ฎพ็Šถๆ€\n * - ้€š่ฟ‡ forwardRef + useImperativeHandle ๅฏนๅค–ๆšด้œฒ toggleFirstPreset()\n *\n * @example\n * ```tsx\n * const pickerRef = useRef<YkDateRangePickerRef>(null);\n *\n * <YkDateRangePicker\n * value={range}\n * onChange={(val) => setRange(val)}\n * ref={pickerRef}\n * />\n *\n * // ๅค–้ƒจๅผบๅˆถๅˆ‡ๆขๅˆฐใ€Œ่ฟ‘5ๅˆ†้’Ÿใ€\n * pickerRef.current?.toggleFirstPreset();\n * ```\n */\n\nimport { DatePicker } from 'antd';\nimport classNames from 'classnames';\nimport dayjs, { Dayjs } from 'dayjs';\nimport React, {\n type ComponentRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styles from './index.module.less';\nconst { RangePicker } = DatePicker;\n\n// โ”€โ”€โ”€ ็ฑปๅž‹ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n/** ๆ—ถ้—ด่Œƒๅ›ดๅ€ผ */\nexport type DateRangeValue = [Dayjs, Dayjs];\n\n/**\n * ้ข„่ฎพ้กนๅฎšไน‰\n * - value() ๆฏๆฌก่ฐƒ็”จ้ƒฝ่ฟ”ๅ›žๆœ€ๆ–ฐๆ—ถ้—ด๏ผŒ้ฟๅ…้—ญๅŒ…็ผ“ๅญ˜ๆ—งๅ€ผ\n * - format() ๅฏ้€‰๏ผŒๆŽงๅˆถ็ดงๅ‡‘ tag ไธญ็š„ๆ ผๅผๅŒ–ๅฑ•็คบๆ–‡ๆœฌ\n */\ninterface RangePreset {\n label: string;\n /** ๅทฅๅŽ‚ๅ‡ฝๆ•ฐ๏ผŒ่ฟ”ๅ›žๅฎžๆ—ถๆ—ถ้—ด่Œƒๅ›ด */\n value: () => DateRangeValue;\n /** ่‡ชๅฎšไน‰็ดงๅ‡‘ๆจกๅผๆ ผๅผๅŒ–๏ผš่ฟ”ๅ›žๅ•ไธชๅญ—็ฌฆไธฒๆˆ– [start, end] ๆ•ฐ็ป„ */\n format?: (value: DateRangeValue) => string | [string, string];\n}\n\nexport interface YkDateRangePickerProps {\n /** ๅ—ๆŽงๅ€ผ */\n value?: DateRangeValue | [];\n /** ็”จๆˆทๆ“ไฝœๆ”นๅ˜ๆ—ถ่งฆๅ‘๏ผˆๅค–้ƒจ setValue ไธไผš่งฆๅ‘๏ผ‰ */\n onChange?: (value: DateRangeValue | null) => void;\n /**\n * ๆ˜ฏๅฆๅ…่ฎธๆธ…้™คใ€‚\n * - false๏ผˆ้ป˜่ฎค๏ผ‰๏ผš้š่—ๆธ…้™คๆŒ‰้’ฎ๏ผŒไธŽ Vue ๅŽŸ็‰ˆ่กŒไธบไธ€่‡ด\n * - true๏ผšๆ˜พ็คบๆธ…้™คๆŒ‰้’ฎ๏ผŒๆธ…้™คๅŽ้‡็ฝฎ้ข„่ฎพ็Šถๆ€ๅนถ่งฆๅ‘ onChange(null)\n */\n allowClear?: boolean;\n /**\n * ็ดงๅ‡‘ tag ๆ— ๅ€ผ/ๆธ…็ฉบๆ—ถ็š„ๅ ไฝๆ–‡ๆœฌใ€‚\n * ้ป˜่ฎค๏ผšใ€Œ่ฏท้€‰ๆ‹ฉๆ—ถ้—ด่Œƒๅ›ดใ€\n */\n placeholder?: string;\n /** ๆ˜ฏๅฆ็ฆ็”จ้€‰ๆ‹ฉๅ™จ */\n disabled?: boolean;\n /** ๆ ก้ชŒ็Šถๆ€ */\n status?: '' | 'error' | 'warning';\n}\n\n/** ้€š่ฟ‡ ref ๅฏน็ˆถ็ป„ไปถๆšด้œฒ็š„ๆ–นๆณ• */\nexport interface YkDateRangePickerRef {\n /** ๅผบๅˆถๅˆ‡ๆขๅˆฐ็ฌฌไธ€ไธช้ข„่ฎพ๏ผˆ่ฟ‘5ๅˆ†้’Ÿ๏ผ‰ๅนถ่งฆๅ‘ onChange */\n toggleFirstPreset: () => void;\n}\n\n// โ”€โ”€โ”€ ๅทฅๅ…ทๅ‡ฝๆ•ฐ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n/** ็ฒพ็กฎๅˆฐๅˆ†้’Ÿ็š„่ฟ‡ๅŽปๆ—ถ้—ดๅŒบ้—ด */\nfunction pastTime(n: number, unit: dayjs.ManipulateType): DateRangeValue {\n const fmt = 'YYYY-MM-DD HH:mm:00';\n return [dayjs(dayjs().subtract(n, unit).format(fmt)), dayjs(dayjs().format(fmt))];\n}\n\nconst DISPLAY_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\n/** ๆ ผๅผๅŒ– Dayjs ไธบ็ดงๅ‡‘ๆจกๅผๅฑ•็คบๅญ—็ฌฆไธฒ / ้ข„่ฎพๅŒน้…ๅญ—็ฌฆไธฒ */\nfunction formatToKey(d: Dayjs): string {\n return dayjs(d).format(DISPLAY_FORMAT);\n}\n\n/** ๆทฑๅบฆๆฏ”่พƒไธคไธช value ๆ˜ฏๅฆใ€Œ่ฏญไน‰็›ธๅŒใ€๏ผˆๅฟฝ็•ฅ Dayjs ๅผ•็”จๅทฎๅผ‚๏ผ‰ */\nfunction isValueEqual(a: DateRangeValue | [] | undefined, b: DateRangeValue | [] | undefined): boolean {\n if (a === b) return true;\n if (!a || !b) return a === b;\n if (a.length !== b.length) return false;\n if (a.length < 2 || b.length < 2) return a.length === b.length;\n return (\n formatToKey(a[0] as Dayjs) === formatToKey(b[0] as Dayjs) &&\n formatToKey(a[1] as Dayjs) === formatToKey(b[1] as Dayjs)\n );\n}\n\n// โ”€โ”€โ”€ ๅ†…็ฝฎ้ข„่ฎพๅˆ—่กจ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n/**\n * 8 ไธชๅ†…็ฝฎๅฟซๆท้ข„่ฎพใ€‚\n * value ๅง‹็ปˆๆ˜ฏๅทฅๅŽ‚ๅ‡ฝๆ•ฐ๏ผŒไฟ่ฏๆฏๆฌก็‚นๅ‡ป้ƒฝ่Žทๅ–ๆœ€ๆ–ฐ็š„ๅฝ“ๅ‰ๆ—ถ้—ดใ€‚\n */\nconst RANGE_PRESETS: RangePreset[] = [\n {\n label: '่ฟ‘5ๅˆ†้’Ÿ',\n value: () => pastTime(5, 'minute'),\n },\n {\n label: '่ฟ‘15ๅˆ†้’Ÿ',\n value: () => pastTime(15, 'minute'),\n },\n {\n label: '่ฟ‘30ๅˆ†้’Ÿ',\n value: () => pastTime(30, 'minute'),\n },\n {\n label: '่ฟ‘1ๅฐๆ—ถ',\n value: () => pastTime(1, 'hour'),\n },\n {\n label: '่ฟ‘2ๅฐๆ—ถ',\n value: () => pastTime(2, 'hour'),\n },\n {\n label: '่ฟ‘6ๅฐๆ—ถ',\n value: () => pastTime(6, 'hour'),\n },\n {\n label: 'ไปŠๅคฉ',\n value: () =>\n [\n dayjs(dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss')),\n dayjs(dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss')),\n ] as DateRangeValue,\n // ็ดงๅ‡‘ๆจกๅผๅชๅฑ•็คบๆ—ฅๆœŸ๏ผŒๅฆ‚ใ€Œ03-25ใ€\n format: (v) => v[0].format('MM-DD'),\n },\n {\n label: 'ๆ˜จๅคฉ',\n value: () =>\n [\n dayjs(dayjs().subtract(1, 'day').startOf('day').format('YYYY-MM-DD HH:mm:ss')),\n dayjs(dayjs().subtract(1, 'day').endOf('day').format('YYYY-MM-DD HH:mm:ss')),\n ] as DateRangeValue,\n format: (v) => v[0].format('MM-DD'),\n },\n {\n label: '่ฟ‘7ๅคฉ',\n value: () =>\n [\n dayjs(dayjs().subtract(6, 'day').startOf('day').format('YYYY-MM-DD HH:mm:ss')),\n dayjs(dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss')),\n ] as DateRangeValue,\n // ็ดงๅ‡‘ๆจกๅผๅฑ•็คบๅฎŒๆ•ดๆ—ฅๆœŸๅŒบ้—ด๏ผŒๅฆ‚ใ€Œ2024-03-19 ~ 2024-03-25ใ€\n format: (v) => [v[0].format('YYYY-MM-DD'), v[1].format('YYYY-MM-DD')],\n },\n];\n\n// โ”€โ”€โ”€ ไธป็ป„ไปถ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\nconst YkDateRangePicker = forwardRef<YkDateRangePickerRef, YkDateRangePickerProps>(function YkDateRangePicker(\n { value, onChange, allowClear = false, placeholder = '่ฏท้€‰ๆ‹ฉๆ—ถ้—ด่Œƒๅ›ด', disabled = false, status = '' },\n ref,\n) {\n // โ”€โ”€ ๅ†…้ƒจ็Šถๆ€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /** ๆ˜ฏๅฆๅฑ•็คบๅฎŒๆ•ด RangePicker๏ผˆfalse = ็ดงๅ‡‘ tag ๆจกๅผ๏ผ‰ */\n const [showFullPicker, setShowFullPicker] = useState(false);\n\n /** RangePicker ไธ‹ๆ‹‰้ขๆฟๆ˜ฏๅฆๅฑ•ๅผ€ */\n const [open, setOpen] = useState(false);\n\n /**\n * ๅฝ“ๅ‰ๆฟ€ๆดป็š„้ข„่ฎพๅฎšไน‰ๅผ•็”จใ€‚\n * undefined ่กจ็คบ็”จๆˆทๆ‰‹ๅŠจ้€‰ไบ†่‡ชๅฎšไน‰ๆ—ถ้—ด่Œƒๅ›ดใ€‚\n */\n const [activePreset, setActivePreset] = useState<RangePreset | undefined>(undefined);\n\n /**\n * ็ดงๅ‡‘ tag ไธญ้ข„่ฎพ็š„ๆ ผๅผๅŒ–ๆ–‡ๆœฌใ€‚\n * ไพ‹๏ผšใ€Œ12:00:00 ~ 13:00:00ใ€ๆˆ–ใ€Œ03-25ใ€ๆˆ–ใ€Œ2024-03-19 ~ 2024-03-25ใ€\n */\n const [presetFormatText, setPresetFormatText] = useState<string | undefined>(undefined);\n\n // โ”€โ”€ Refs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ๆ ‡่ฎฐๆœฌๆฌก value ๅ˜ๅŒ–ๆ˜ฏๅฆ็”ฑ็”จๆˆทๆ“ไฝœ่งฆๅ‘๏ผˆ้žๅค–้ƒจ่ต‹ๅ€ผ๏ผ‰ใ€‚\n * ็”จ ref ่€Œ้ž state๏ผŒ้ฟๅ…่งฆๅ‘้ขๅค–็š„้‡ๆธฒๆŸ“ใ€‚\n * ไธŽ Vue ็‰ˆ selfChange ้€ป่พ‘ไธ€่‡ดใ€‚\n */\n const selfChangeRef = useRef(false);\n\n /**\n * ๆ ‡่ฎฐๅฝ“ๅ‰ RangePicker.onChange ๆ˜ฏๅฆ็”ฑ้ข„่ฎพ็‚นๅ‡ป่งฆๅ‘ใ€‚\n * ็”จไบŽๅŒบๅˆ†ใ€Œ้ข„่ฎพ็‚นๅ‡ปใ€vsใ€Œๆ‰‹ๅŠจ้€‰ๆ‹ฉใ€๏ผŒ้ฟๅ…ๆ‰‹ๅŠจ้€‰ๆ‹ฉๆ—ถ้”™่ฏฏไฟ็•™้ข„่ฎพ็Šถๆ€ใ€‚\n */\n const isPresetClickRef = useRef(false);\n\n /** ็ฎก็† setTimeout๏ผŒ้˜ฒๆญข็ซžๆ€ */\n const collapseTimerRef = useRef<ReturnType<typeof setTimeout>>();\n\n /** ็ป„ไปถๆ นๅ…ƒ็ด ๏ผŒ็”จไฝœ getPopupContainer */\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n /** RangePicker ๅฎžไพ‹ ref๏ผŒ็”จไบŽ็ผ–็จ‹ๅผๅฑ•ๅผ€้ขๆฟ */\n const pickerRef = useRef<ComponentRef<typeof RangePicker>>(null);\n\n /** ็ผ“ๅญ˜ไธŠไธ€ๆฌก็š„ value๏ผŒ็”จไบŽๅˆคๆ–ญๆ˜ฏๅฆๆ˜ฏๅค–้ƒจๅ˜ๆ›ด */\n const prevValueRef = useRef(value);\n\n /** ๅปถ่ฟŸๆ”ถ่ตทๅฎŒๆ•ด picker๏ผŒๆธ…้™คๆ—งๅฎšๆ—ถๅ™จ้ฟๅ…็ซžๆ€ */\n const scheduleCollapse = useCallback((delay?: number) => {\n clearTimeout(collapseTimerRef.current);\n collapseTimerRef.current = setTimeout(() => {\n setOpen(false);\n setShowFullPicker(false);\n }, delay ?? 0);\n }, []);\n\n /** ๅธ่ฝฝๆ—ถๆธ…็†ๅฎšๆ—ถๅ™จ */\n useEffect(() => () => clearTimeout(collapseTimerRef.current), []);\n\n // โ”€โ”€ ้ป˜่ฎคๅ€ผ๏ผšmount ๆ—ถๆ— ๅˆๅง‹ value ๅˆ™่‡ชๅŠจ้€‰ไธญใ€Œ่ฟ‘5ๅˆ†้’Ÿใ€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n useEffect(() => {\n // ไป…ๅœจๅค–้ƒจๆœชไผ ๆœ‰ๆ•ˆๅˆๅง‹ๅ€ผๆ—ถๆ‰ง่กŒไธ€ๆฌก\n if (value && (value as DateRangeValue).length === 2) return;\n\n const first = RANGE_PRESETS[0];\n const currentValue = first.value();\n const formatText = currentValue.map((v) => dayjs(v).format('HH:mm:ss')).join(' ~ ');\n\n setActivePreset(first);\n setPresetFormatText(formatText);\n\n // ๆ ‡่ฎฐไธบ็”จๆˆทๆ“ไฝœ๏ผŒ้ฟๅ…่ขซไธ‹ๆ–น็š„ๅค–้ƒจ value ็›‘ๅฌ effect ๆธ…็ฉบ้ข„่ฎพ็Šถๆ€\n selfChangeRef.current = true;\n onChange?.(currentValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // โ”€โ”€ ๅค–้ƒจ value ๅ˜ๅŒ–ๅŒๆญฅ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n useEffect(() => {\n // ่ทณ่ฟ‡ๅˆๅง‹ mount๏ผˆvalue ๆœช็œŸๆญฃๅ˜ๅŒ–๏ผ‰\n if (isValueEqual(prevValueRef.current, value)) return;\n prevValueRef.current = value;\n\n if (!selfChangeRef.current) {\n // ๅค–้ƒจ setField ่ต‹ๅ€ผ๏ผšๆธ…็ฉบ้ข„่ฎพ็Šถๆ€๏ผˆๆ— ๆณ•ๅพ—็Ÿฅๅค–้ƒจๅ€ผๅฏนๅบ”ๅ“ชไธช้ข„่ฎพ๏ผ‰\n setActivePreset(undefined);\n setPresetFormatText(undefined);\n }\n // ๆถˆ่ดนๆމๆ ‡่ฎฐ๏ผŒ็ญ‰ๅพ…ไธ‹ๆฌก็”จๆˆทๆ“ไฝœ้‡ๆ–ฐ็ฝฎไฝ\n selfChangeRef.current = false;\n }, [value]);\n\n // โ”€โ”€ ็ดงๅ‡‘ tag ๅฑ•็คบๆ–‡ๆœฌ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ็ดงๅ‡‘ๆจกๅผไธ‹่ตทๆญขๆ—ถ้—ด็š„ๅญ—็ฌฆไธฒ่กจ็คบใ€‚\n * ไธŽ Vue showState ่ฎก็ฎ—ๅฑžๆ€ง้€ป่พ‘ไธ€่‡ดใ€‚\n */\n const showState = useMemo<[string, string] | []>(() => {\n if (!value || value.length < 2) return [];\n return [formatToKey(value[0] as Dayjs), formatToKey(value[1] as Dayjs)];\n }, [value]);\n\n // โ”€โ”€ ้ข„่ฎพๆฟ€ๆดป้กนๆฃ€ๆต‹ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ๆ นๆฎๅฝ“ๅ‰ value ๅŒน้…ๆฟ€ๆดป็š„้ข„่ฎพ index๏ผˆ็”จไบŽ้ซ˜ไบฎๆธฒๆŸ“๏ผ‰ใ€‚\n * ๅฐ† value ๅ’Œ้ข„่ฎพๅ€ผ้ƒฝๆ ผๅผๅŒ–ไธบๅŒไธ€ๅญ—็ฌฆไธฒๅŽๆฏ”ๅฏน๏ผŒไธŽ Vue presetsNode computed ไธ€่‡ดใ€‚\n * ไพ่ต– open๏ผŒ็กฎไฟ้ขๆฟๆ‰“ๅผ€ๆ—ถ๏ผˆๆ—ถ้—ดๆต้€ๅŽ๏ผ‰้‡ๆ–ฐ่ฎก็ฎ—ใ€‚\n */\n const activePresetIndex = useMemo<number>(() => {\n if (!value || value.length < 2) return -1;\n const [v0, v1] = value as DateRangeValue;\n const valKeys = [formatToKey(v0), formatToKey(v1)];\n return RANGE_PRESETS.findIndex((preset) => {\n const presetVal = preset.value();\n const presetKeys = [formatToKey(presetVal[0]), formatToKey(presetVal[1])];\n return valKeys[0] === presetKeys[0] && valKeys[1] === presetKeys[1];\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, open]);\n\n // โ”€โ”€ ไบ‹ไปถๅค„็† โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ็‚นๅ‡ป้ข„่ฎพ้กนใ€‚\n * ๅฏนๅบ” Vue handleTogglePresetใ€‚\n */\n const handlePresetClick = useCallback(\n (preset: RangePreset) => {\n isPresetClickRef.current = true;\n\n const currentValue = preset.value();\n\n // ่ฎก็ฎ—็ดงๅ‡‘ tag ไธญ็š„ๆ ผๅผๅŒ–ๆ–‡ๆœฌ\n let formatText: string;\n if (preset.format) {\n const res = preset.format(currentValue);\n formatText = Array.isArray(res) ? res.join(' ~ ') : res;\n } else {\n // ๆ— ่‡ชๅฎšไน‰ format๏ผš้ป˜่ฎคๅฑ•็คบๆ—ถ้—ด้ƒจๅˆ†๏ผŒๅฆ‚ใ€Œ12:00:00 ~ 13:00:00ใ€\n formatText = currentValue.map((v) => dayjs(v).format('HH:mm:ss')).join(' ~ ');\n }\n\n setActivePreset(preset);\n setPresetFormatText(formatText);\n\n // ๅ‘็ˆถ็ป„ไปถ้€š็Ÿฅๆ–ฐๅ€ผ\n selfChangeRef.current = true;\n onChange?.(currentValue);\n\n // ้€‰ๅฎŒ้ข„่ฎพๅŽๆ”ถ่ตท picker\n scheduleCollapse();\n },\n [onChange],\n );\n\n /**\n * RangePicker onChange๏ผˆ็”จๆˆทๆ‰‹ๅŠจ้€‰ๆ‹ฉๆ—ฅๆœŸๆˆ–็‚นๅ‡ปๆธ…้™คๅŽ่งฆๅ‘๏ผ‰ใ€‚\n * ๅฏนๅบ” Vue handleChangeใ€‚\n */\n const handlePickerChange = useCallback(\n (dates: [Dayjs | null, Dayjs | null] | null) => {\n // ๆ— ่ฎบๆ˜ฏๅฆ้ข„่ฎพ็‚นๅ‡ป๏ผŒๅช่ฆ่งฆๅ‘ change ้ƒฝๅ…ˆๆธ…็ฉบ้ข„่ฎพ็Šถๆ€\n setActivePreset(undefined);\n setPresetFormatText(undefined);\n isPresetClickRef.current = false;\n\n selfChangeRef.current = true;\n\n if (dates?.[0] && dates?.[1]) {\n // ๆญฃๅธธ้€‰ๆ‹ฉ\n onChange?.(dates as DateRangeValue);\n } else {\n // ็‚นๅ‡ปๆธ…้™ค๏ผšvalue ็ฝฎไธบ []๏ผˆ็ฉบๆ•ฐ็ป„๏ผ‰๏ผŒๅนถ้€€ๅ›ž็ดงๅ‡‘ tag ๆจกๅผๆ˜พ็คบ placeholder\n onChange?.(null);\n scheduleCollapse();\n }\n },\n [onChange],\n );\n\n /**\n * ็‚นๅ‡ป็ดงๅ‡‘ tag โ†’ ๅฑ•ๅผ€ๅฎŒๆ•ด RangePicker ๅนถ่š็„ฆใ€‚\n * ๅฏนๅบ” Vue handleClickPresetPickerใ€‚\n */\n /** ๆจกๆ‹ŸๆŒ‰้’ฎๆฟ€ๆดป่กŒไธบ๏ผŒๅŒๆ—ถๆ”ฏๆŒ้ผ ๆ ‡็‚นๅ‡ปๅ’Œ้”ฎ็›˜ๅ›ž่ฝฆ/็ฉบๆ ผ */\n const activateCompactTag = useCallback(() => {\n setShowFullPicker(true);\n // ็ญ‰ๅพ… DOM ๆธฒๆŸ“ๅŽๅ†่งฆๅ‘ picker ๅฑ•ๅผ€\n setTimeout(() => {\n const el = pickerRef.current?.nativeElement;\n if (el) {\n // ่งฆๅ‘็ฌฌไธ€ไธช input ็š„็‚นๅ‡ป๏ผŒไฝฟ antd RangePicker ๅฑ•ๅผ€้ขๆฟ\n const input = el.querySelector<HTMLInputElement>('input');\n input?.click();\n input?.focus();\n }\n }, 0);\n }, []);\n\n /**\n * RangePicker ้ขๆฟๅผ€ๅ…ณๅ›ž่ฐƒใ€‚\n * ้ขๆฟๅ…ณ้—ญๆ—ถๅปถ่ฟŸ้€€ๅ›ž็ดงๅ‡‘ๆจกๅผ๏ผˆ้ฟๅ…ไธŽ้€‰ๆ‹ฉๆ“ไฝœๅ†ฒ็ช๏ผ‰ใ€‚\n */\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n setOpen(isOpen);\n if (!isOpen) {\n scheduleCollapse(150);\n }\n },\n [scheduleCollapse],\n );\n\n /**\n * ็ฆ็”จๆ—ฅๆœŸ่ง„ๅˆ™๏ผšๅชๅ…่ฎธ่ฟ‡ๅŽป 7 ๅคฉ๏ผˆๅซไปŠๅคฉ๏ผ‰ใ€‚\n * ๅฏนๅบ” Vue disabledDateใ€‚\n */\n const disabledDate = useCallback((current: Dayjs) => {\n return current && (current > dayjs().endOf('day') || current < dayjs().subtract(6, 'day').startOf('day'));\n }, []);\n\n /**\n * Popup ๆŒ‚่ฝฝๅฎนๅ™จ๏ผšๆŒ‚ๅœจ็ป„ไปถ่‡ช่บซ wrapper ๅ†…๏ผŒ้ฟๅ…ๅ…จๅฑ€ๅฎšไฝ้”™ไนฑใ€‚\n * ๅฏนๅบ” Vue getPopupContainerใ€‚\n */\n const getPopupContainer = useCallback((): HTMLElement => {\n return wrapperRef.current ?? document.body;\n }, []);\n\n // โ”€โ”€ antd presets ่Š‚็‚น โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ๆž„ๅปบไผ ๅ…ฅ RangePicker ็š„ presets propใ€‚\n * - label ไธบ่‡ชๅฎšไน‰ ReactNode๏ผŒๅฎž็Žฐ็‚นๅ‡ปๅค„็†ไธŽ้ซ˜ไบฎๆ ทๅผ\n * - value ไผ ๅฎžๆ—ถๅ€ผไพ› antd ๅ†…้ƒจไฝฟ็”จ๏ผˆๅฆ‚ disabledDate ๆ ก้ชŒ๏ผ‰\n * antd 5.x presets ๆ ผๅผ๏ผš{ label: ReactNode; value: [Dayjs, Dayjs] }[]\n */\n const presetsNode = useMemo(() => {\n return RANGE_PRESETS.map((preset, index) => {\n const isActive = activePresetIndex === index;\n return {\n label: (\n <div\n className={classNames(styles.yokaPresetItem, {\n [styles.yokaPresetItemActive]: isActive,\n })}\n role=\"option\"\n tabIndex={0}\n aria-selected={isActive}\n onClick={(e) => {\n e.stopPropagation();\n handlePresetClick(preset);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n handlePresetClick(preset);\n }\n }}\n >\n {preset.label}\n </div>\n ),\n value: preset.value() as [Dayjs, Dayjs],\n };\n });\n }, [activePresetIndex, handlePresetClick]);\n\n // โ”€โ”€ ๅฏนๅค–ๆšด้œฒๆ–นๆณ• โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n /**\n * ้€š่ฟ‡ ref ๆšด้œฒ toggleFirstPreset()๏ผŒไพ›็ˆถ็ป„ไปถ่ฐƒ็”จใ€‚\n * ๅฏนๅบ” Vue defineExpose({ toggleFirstPreset })ใ€‚\n */\n useImperativeHandle(\n ref,\n () => ({\n toggleFirstPreset() {\n handlePresetClick(RANGE_PRESETS[0]);\n },\n }),\n [handlePresetClick],\n );\n\n // โ”€โ”€ ๆธฒๆŸ“ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\n\n // ๅฎŒๆ•ด picker ็š„ๅฏ่งๆ€ง๏ผšๅฑ•ๅผ€็Šถๆ€ ๆˆ– ไธ‹ๆ‹‰้ขๆฟๆ‰“ๅผ€ๆ—ถๅ‡ๆ˜พ็คบ\n const pickerVisible = showFullPicker || open;\n\n return (\n <div\n className={classNames(styles.YkDateRangePicker, {\n [styles.yokaDisabled]: disabled,\n })}\n ref={wrapperRef}\n >\n {/* โ”€โ”€ ็ดงๅ‡‘ Tag ๆจกๅผ โ”€โ”€ */}\n {!showFullPicker && (\n <span\n className={styles.yokaCompactTag}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n aria-disabled={disabled}\n onClick={disabled ? undefined : activateCompactTag}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n activateCompactTag();\n }\n }}\n >\n {/* ๅ›พๆ ‡๏ผš็ปๅฏนๅฎšไฝๅ›บๅฎšๅœจๅทฆไพง */}\n <i className={classNames('iconfont icon-riqi1', styles.yokaCompactTagIcon)} />\n {/* ๅ†…ๅฎนๅŒบ๏ผšflex:1 + justify-content:center ๅฎž็Žฐ่ง†่ง‰ๅฑ…ไธญ */}\n <span className={styles.yokaCompactTagContent}>\n {activePreset ? (\n // ๅทฒ้€‰้ข„่ฎพ๏ผšใ€Œ้ข„่ฎพๅ็งฐ (ๆ ผๅผๅŒ–ๆ—ถ้—ด)ใ€\n <>\n <span className={styles.yokaCompactTagPresetLabel}>{activePreset.label}</span>\n <span className={styles.yokaCompactTagPresetFormat}>({presetFormatText})</span>\n </>\n ) : showState.length === 2 ? (\n // ่‡ชๅฎšไน‰ๆ—ถ้—ด๏ผšใ€Œ่ตทๅง‹ๆ—ถ้—ด ~ ็ป“ๆŸๆ—ถ้—ดใ€\n <>\n <span className={styles.yokaCompactTagDatetime}>{showState[0]}</span>\n <span className={styles.yokaCompactTagSeparator}>~</span>\n <span className={styles.yokaCompactTagDatetime}>{showState[1]}</span>\n </>\n ) : (\n // ๆ— ๅ€ผ/ๆธ…็ฉบ๏ผšplaceholder ๅฑ…ไธญๆ˜พ็คบ\n <span className={styles.yokaCompactTagPlaceholder}>{placeholder}</span>\n )}\n </span>\n </span>\n )}\n\n {/* โ”€โ”€ ๅฎŒๆ•ด RangePicker๏ผˆdisplay ๅˆ‡ๆขไปฅไฟๆŒ DOM ๆŒ‚่ฝฝ๏ผŒ้ฟๅ… focus ้—ช็ƒ๏ผ‰ โ”€โ”€ */}\n <div className={styles.yokaPickerWrapper} style={{ display: pickerVisible ? 'flex' : 'none' }}>\n <i className={classNames('iconfont icon-riqi1', styles.yokaPickerWrapperIcon)} />\n <RangePicker\n ref={pickerRef}\n // ๅ€ผไธŽๅ›ž่ฐƒ\n value={value && value.length === 2 ? (value as [Dayjs, Dayjs]) : undefined}\n onChange={handlePickerChange}\n open={open}\n onOpenChange={handleOpenChange}\n // ๅค–่ง‚\n variant=\"borderless\"\n allowClear={allowClear}\n disabled={disabled}\n status={status || undefined}\n suffixIcon={null}\n // ๆ—ถ้—ด้€‰ๆ‹ฉ๏ผˆๆ”ฏๆŒ็ง’๏ผ‰\n showTime={{\n format: 'HH:mm:ss',\n hideDisabledOptions: true,\n defaultValue: [dayjs('00:00', 'HH:mm'), dayjs('23:59', 'HH:mm')],\n }}\n format=\"YYYY-MM-DD HH:mm:ss\"\n // ็ฆ็”จๆ—ฅๆœŸ\n disabledDate={disabledDate}\n // ้ข„่ฎพ๏ผˆ่‡ชๅฎšไน‰ๆธฒๆŸ“๏ผ‰\n presets={presetsNode}\n // Popup ๅฎนๅ™จ\n getPopupContainer={getPopupContainer}\n classNames={{ popup: { root: 'yoka-daterangepicker-popup' } }}\n />\n </div>\n </div>\n );\n});\n\nYkDateRangePicker.displayName = 'YkDateRangePicker';\n\nexport default YkDateRangePicker;\n"],
5
+ "mappings": "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",
6
+ "names": ["YkDateRangePicker"]
7
+ }
@@ -0,0 +1,304 @@
1
+ /**
2
+ * YkDateRangePicker ๆ ทๅผ (CSS Modules)
3
+ *
4
+ * Less ๅ˜้‡ๆ˜ ๅฐ„๏ผš
5
+ * @primary-color โ†’ #1890ff
6
+ * @error-color โ†’ #ff4d4f
7
+ *
8
+ * ๅ‘ฝๅๅ‰็ผ€่ง„ๅˆ™๏ผš
9
+ * .YkDateRangePicker โ†’ ๆ นๅฎนๅ™จ๏ผˆCSS Modules ้ฉผๅณฐๅ‘ฝๅ๏ผ‰
10
+ * .yoka* โ†’ ็ป„ไปถๅ†…้ƒจๅ…ƒ็ด ๏ผˆyoka ๅ‰็ผ€ + ้ฉผๅณฐๅ‘ฝๅ๏ผ‰
11
+ */
12
+
13
+ /* โ”€โ”€โ”€ ๆ นๅฎนๅ™จ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
14
+
15
+ .YkDateRangePicker {
16
+ display: inline-block;
17
+ position: relative;
18
+ }
19
+
20
+ /* โ”€โ”€โ”€ ็ดงๅ‡‘ Tag ๆจกๅผ๏ผˆๅฏนๅบ” Vue .preset-picker๏ผ‰ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
21
+
22
+ .yokaCompactTag {
23
+ display: inline-flex;
24
+ align-items: center;
25
+ /* ๅ›พๆ ‡็ปๅฏนๅฎšไฝๅŽ๏ผŒๅ†…ๅฎนๅŒบๅฏไปฅ็œŸๆญฃๅฑ…ไธญ */
26
+ position: relative;
27
+ min-width: 220px;
28
+ height: 30px;
29
+ padding: 0 10px 0 32px; /* ๅทฆไพงไธบๅ›พๆ ‡็•™ๅ‡บ็ฉบ้—ด */
30
+ border: 1px solid #1890ff;
31
+ border-radius: 2px;
32
+ line-height: 28px;
33
+ cursor: pointer;
34
+ transition: border-color 0.2s;
35
+ box-sizing: border-box;
36
+ white-space: nowrap;
37
+
38
+ &:hover {
39
+ border-color: #66a8ff;
40
+ }
41
+ }
42
+
43
+ /* ๆ—ฅๅކๅ›พๆ ‡๏ผš็ปๅฏนๅฎšไฝๅ›บๅฎšๅœจๅทฆไพง๏ผŒไธๅ‚ไธŽๅ†…ๅฎนๆŽ’ๅธƒ */
44
+ .yokaCompactTagIcon {
45
+ position: absolute;
46
+ left: 10px;
47
+ color: #0a6bfd;
48
+ font-size: 14px;
49
+ }
50
+
51
+ /* ๅ†…ๅฎนๅŒบ๏ผšflex:1 ๆ’‘ๆปกๅ‰ฉไฝ™็ฉบ้—ด๏ผŒๅ†…ๅฎนๆฐดๅนณๅฑ…ไธญ */
52
+ .yokaCompactTagContent {
53
+ flex: 1;
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ width: 100%;
58
+ font-size: 14px;
59
+ color: #333;
60
+ }
61
+
62
+ /* ้ข„่ฎพๆจกๅผ๏ผšๆ ‡็ญพๅ๏ผŒๅฆ‚ใ€Œ่ฟ‘ 5 ๅˆ†้’Ÿใ€ */
63
+ .yokaCompactTagPresetLabel {
64
+ /* ่ทŸ้š __content ็š„ justify-content:center ๅณๅฏ */
65
+ }
66
+
67
+ /* ้ข„่ฎพๆจกๅผ๏ผšๆ ผๅผๅŒ–ๆ—ถ้—ด๏ผŒๅฆ‚ใ€Œ(12:00:00 ~ 13:00:00)ใ€ */
68
+ .yokaCompactTagPresetFormat {
69
+ margin-left: 8px;
70
+ color: #666;
71
+ }
72
+
73
+ /* ่‡ชๅฎšไน‰ๆจกๅผ๏ผš่ตทๆญขๆ—ถ้—ด้กน */
74
+ .yokaCompactTagDatetime {
75
+ display: inline-block;
76
+ min-width: 110px;
77
+ text-align: center;
78
+ }
79
+
80
+ /* ่‡ชๅฎšไน‰ๆจกๅผ๏ผšๅˆ†้š”็ฌฆใ€Œ~ใ€ */
81
+ .yokaCompactTagSeparator {
82
+ display: inline-block;
83
+ margin: 0 2px;
84
+ }
85
+
86
+ /* ๆธ…็ฉบ/ๆ— ๅ€ผๆ—ถ็š„ placeholder ๆ–‡ๆœฌๅฑ…ไธญ */
87
+ .yokaCompactTagPlaceholder {
88
+ color: rgba(0, 0, 0, 0.25);
89
+ text-align: center;
90
+ width: 100%;
91
+ display: block;
92
+ }
93
+
94
+ /* โ”€โ”€โ”€ ๅฎŒๆ•ด RangePicker ๅŒ…่ฃ…ๅฎนๅ™จ๏ผˆๅฏนๅบ” Vue .date-time-range-picker๏ผ‰ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
95
+
96
+ .yokaPickerWrapper {
97
+ display: flex;
98
+ flex-shrink: 0;
99
+ align-items: center;
100
+ height: 30px;
101
+ gap: 10px;
102
+ padding-left: 10px;
103
+ border: 1px solid #e7e7e7;
104
+ border-radius: 2px;
105
+ transition:
106
+ border-color 0.2s,
107
+ box-shadow 0.2s;
108
+ box-sizing: border-box;
109
+ /* ๆ’‘ๆปกๅฎฝๅบฆ๏ผˆๅฝ“ display: flex ๆ—ถ็”Ÿๆ•ˆ๏ผ‰ */
110
+ width: 100%;
111
+
112
+ &:hover {
113
+ border-color: #66a8ff;
114
+ }
115
+
116
+ /* ๅŒ…ๅซ่š็„ฆ็Šถๆ€็š„ picker ๆ—ถ๏ผŒๆจกๆ‹Ÿ antd focus-ring */
117
+ &:has(:global(.ant-picker-focused)) {
118
+ border-color: #66a8ff;
119
+ box-shadow: 0 0 0 2px rgba(5, 138, 255, 0.06);
120
+ }
121
+
122
+ /* ๅŒ…ๅซ้”™่ฏฏ็Šถๆ€็š„ picker ๆ—ถ */
123
+ &:has(:global(.ant-picker-status-error)) {
124
+ border-color: #ff4d4f;
125
+
126
+ &:hover,
127
+ &:has(:global(.ant-picker-focused)) {
128
+ border-color: #ff4d4f;
129
+ }
130
+ }
131
+
132
+ /* ๆ— ่พนๆก† RangePicker๏ผšๆ’‘ๆปกๅฎฝๅบฆ๏ผŒๅŽป้™คๅทฆไพง padding ้ฟๅ…ๅŒ็ผฉ่ฟ› */
133
+ :global(.ant-picker) {
134
+ width: 100%;
135
+ padding-left: 0;
136
+ }
137
+
138
+ :global(.ant-picker-borderless) {
139
+ border: none;
140
+ }
141
+ }
142
+
143
+ /* ๆ—ฅๅކๅ›พๆ ‡ */
144
+ .yokaPickerWrapperIcon {
145
+ color: #0a6bfd;
146
+ font-size: 14px;
147
+ }
148
+
149
+ /* โ”€โ”€โ”€ ้ข„่ฎพไธ‹ๆ‹‰้ขๆฟ๏ผš2 ๅˆ— Grid ๅธƒๅฑ€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
150
+
151
+ /*
152
+ * ้œ€่ฆ็ฉฟ้€ antd ๅœจ body ไธ‹็”Ÿๆˆ็š„ .ant-picker-dropdown Portalใ€‚
153
+ * ไฝฟ็”จ :global ๆ˜พๅผๅฃฐๆ˜Žๅ…จๅฑ€ๆ ทๅผไฝœ็”จๅŸŸ๏ผŒ้€š่ฟ‡ .yoka-daterangepicker-popup ็ฑปๅ
154
+ * ้™ๅฎšไธบไป…ๅฝฑๅ“ๆœฌ็ป„ไปถๅฎžไพ‹็š„ไธ‹ๆ‹‰้ขๆฟ๏ผŒ้ฟๅ…ๅ…จๅฑ€ๆ ทๅผๆฑกๆŸ“ใ€‚
155
+ */
156
+
157
+ :global {
158
+ .yoka-daterangepicker-popup .ant-picker-panel-layout {
159
+ .ant-picker-presets {
160
+ ul {
161
+ display: grid;
162
+ grid-template-columns: repeat(2, 1fr);
163
+ gap: 10px;
164
+ align-content: start;
165
+ padding: 15px 10px 10px 10px !important;
166
+
167
+ li {
168
+ position: relative;
169
+ width: 100%;
170
+ min-width: 0;
171
+ height: 30px;
172
+ margin-top: 0 !important;
173
+ margin-bottom: 0;
174
+ line-height: 30px;
175
+ text-align: center;
176
+ border: 1px solid #ededed;
177
+ border-radius: 2px !important;
178
+ box-sizing: border-box;
179
+ }
180
+
181
+ .ant-picker-presets-li {
182
+ position: absolute;
183
+ font-size: 12px;
184
+ top: 0;
185
+ right: 0;
186
+ bottom: 0;
187
+ left: 0;
188
+ width: 100%;
189
+ height: 100%;
190
+
191
+ &.ant-picker-presets-li-item {
192
+ color: #fff;
193
+ background-color: #3b86f9;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ /* antd 5.x: ๅฟซๆท้ข„่ฎพ้ขๆฟ็š„ๅˆ—่กจๅฎนๅ™จ */
200
+ .yoka-daterangepicker-popup .ant-picker-presets {
201
+ max-height: none !important;
202
+ overflow: hidden !important;
203
+ display: flex !important;
204
+ flex-direction: column !important;
205
+ }
206
+
207
+ .yoka-daterangepicker-popup .ant-picker-presets li {
208
+ overflow: hidden !important;
209
+ text-overflow: ellipsis !important;
210
+ }
211
+
212
+ .yoka-daterangepicker-popup .ant-picker-presets ul {
213
+ display: grid !important;
214
+ grid-template-columns: repeat(2, 1fr) !important;
215
+ width: auto !important;
216
+ min-width: 140px !important;
217
+ max-width: 200px !important;
218
+ margin: 0 !important;
219
+ list-style: none !important;
220
+ overflow: hidden !important;
221
+ flex-wrap: wrap !important;
222
+ }
223
+
224
+ .yoka-daterangepicker-popup .ant-picker-presets ul li {
225
+ margin: 0 !important;
226
+ padding: 0 !important;
227
+ width: 100% !important;
228
+ min-width: 0 !important;
229
+ display: flex !important;
230
+ align-items: center !important;
231
+ justify-content: center !important;
232
+ box-sizing: border-box !important;
233
+ overflow: hidden !important;
234
+ text-overflow: ellipsis !important;
235
+ }
236
+
237
+ /* ๆœ€ๅŽไธ€ไธช้ข„่ฎพ้กนไธๅŠ ๅบ•้ƒจ margin๏ผˆๅฏนๅบ” Vue li:last-of-type ่ง„ๅˆ™๏ผ‰ */
238
+ .yoka-daterangepicker-popup .ant-picker-presets li:last-of-type {
239
+ margin-bottom: 0 !important;
240
+ }
241
+
242
+ /* ๅฟซๆท้€‰้กนๅบ•้ƒจๆ“ไฝœๆ ่กŒ้ซ˜๏ผˆ็ผฉๅ‡ๅŽไธŽ้ขๆฟๆ•ดไฝ“ๅ่ฐƒ๏ผ‰ */
243
+ .yoka-daterangepicker-popup .ant-picker-ranges {
244
+ line-height: 36px;
245
+ overflow: hidden !important;
246
+ }
247
+ }
248
+
249
+ /* โ”€โ”€โ”€ ้ข„่ฎพๅˆ—่กจ้กน่‡ชๅฎšไน‰ๆ ทๅผ๏ผˆๅฏนๅบ” Vue .ant-picker-presets-li๏ผ‰ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
250
+
251
+ .yokaPresetItem {
252
+ width: 100%;
253
+ height: 100%;
254
+ min-width: 0;
255
+ text-align: center;
256
+ cursor: pointer;
257
+ white-space: nowrap;
258
+ overflow: hidden;
259
+ text-overflow: ellipsis;
260
+ display: flex;
261
+ align-items: center;
262
+ justify-content: center;
263
+ transition: background-color 0.2s;
264
+ box-sizing: border-box;
265
+ font-size: 12px;
266
+ color: rgba(0, 0, 0, 0.88);
267
+ line-height: 1;
268
+ outline: none;
269
+
270
+ &:hover {
271
+ background-color: #f5f5f5;
272
+ }
273
+
274
+ &:focus-visible {
275
+ box-shadow: 0 0 0 2px rgba(5, 138, 255, 0.2);
276
+ }
277
+ }
278
+
279
+ /* ๅฝ“ๅ‰ๆฟ€ๆดป๏ผˆ้€‰ไธญ๏ผ‰็š„้ข„่ฎพ้ซ˜ไบฎ */
280
+ .yokaPresetItemActive {
281
+ color: #fff;
282
+ background-color: #3b86f9;
283
+
284
+ &:hover {
285
+ background-color: #bae7ff;
286
+ }
287
+ }
288
+
289
+ /* โ”€โ”€โ”€ ็ฆ็”จ็Šถๆ€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ */
290
+
291
+ .yokaDisabled {
292
+ pointer-events: none;
293
+ opacity: 0.5;
294
+
295
+ .yokaCompactTag,
296
+ .yokaPickerWrapper {
297
+ cursor: not-allowed;
298
+ border-color: #d9d9d9;
299
+
300
+ &:hover {
301
+ border-color: #d9d9d9;
302
+ }
303
+ }
304
+ }