@v-c/picker 0.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 (429) hide show
  1. package/LICENSE +21 -0
  2. package/dist/PickerInput/Popup/Footer.cjs +115 -0
  3. package/dist/PickerInput/Popup/Footer.d.ts +19 -0
  4. package/dist/PickerInput/Popup/Footer.js +109 -0
  5. package/dist/PickerInput/Popup/PopupPanel.cjs +413 -0
  6. package/dist/PickerInput/Popup/PopupPanel.d.ts +11 -0
  7. package/dist/PickerInput/Popup/PopupPanel.js +407 -0
  8. package/dist/PickerInput/Popup/PresetPanel.cjs +54 -0
  9. package/dist/PickerInput/Popup/PresetPanel.d.ts +16 -0
  10. package/dist/PickerInput/Popup/PresetPanel.js +48 -0
  11. package/dist/PickerInput/Popup/index.cjs +528 -0
  12. package/dist/PickerInput/Popup/index.d.ts +37 -0
  13. package/dist/PickerInput/Popup/index.js +522 -0
  14. package/dist/PickerInput/RangePicker.cjs +1910 -0
  15. package/dist/PickerInput/RangePicker.d.ts +57 -0
  16. package/dist/PickerInput/RangePicker.js +1901 -0
  17. package/dist/PickerInput/Selector/Icon.cjs +89 -0
  18. package/dist/PickerInput/Selector/Icon.d.ts +11 -0
  19. package/dist/PickerInput/Selector/Icon.js +83 -0
  20. package/dist/PickerInput/Selector/Input.cjs +376 -0
  21. package/dist/PickerInput/Selector/Input.d.ts +9 -0
  22. package/dist/PickerInput/Selector/Input.js +370 -0
  23. package/dist/PickerInput/Selector/MaskFormat.cjs +72 -0
  24. package/dist/PickerInput/Selector/MaskFormat.d.ts +22 -0
  25. package/dist/PickerInput/Selector/MaskFormat.js +68 -0
  26. package/dist/PickerInput/Selector/RangeSelector.cjs +1390 -0
  27. package/dist/PickerInput/Selector/RangeSelector.d.ts +28 -0
  28. package/dist/PickerInput/Selector/RangeSelector.js +1383 -0
  29. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.cjs +110 -0
  30. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +13 -0
  31. package/dist/PickerInput/Selector/SingleSelector/MultipleDates.js +103 -0
  32. package/dist/PickerInput/Selector/SingleSelector/index.cjs +1358 -0
  33. package/dist/PickerInput/Selector/SingleSelector/index.d.ts +21 -0
  34. package/dist/PickerInput/Selector/SingleSelector/index.js +1352 -0
  35. package/dist/PickerInput/Selector/hooks/useClearIcon.cjs +17 -0
  36. package/dist/PickerInput/Selector/hooks/useClearIcon.d.ts +17 -0
  37. package/dist/PickerInput/Selector/hooks/useClearIcon.js +11 -0
  38. package/dist/PickerInput/Selector/hooks/useInputHooks.cjs +125 -0
  39. package/dist/PickerInput/Selector/hooks/useInputHooks.d.ts +56 -0
  40. package/dist/PickerInput/Selector/hooks/useInputHooks.js +120 -0
  41. package/dist/PickerInput/Selector/hooks/useRootProps.cjs +14 -0
  42. package/dist/PickerInput/Selector/hooks/useRootProps.d.ts +2 -0
  43. package/dist/PickerInput/Selector/hooks/useRootProps.js +9 -0
  44. package/dist/PickerInput/Selector/util.cjs +32 -0
  45. package/dist/PickerInput/Selector/util.d.ts +5 -0
  46. package/dist/PickerInput/Selector/util.js +30 -0
  47. package/dist/PickerInput/SinglePicker.cjs +1881 -0
  48. package/dist/PickerInput/SinglePicker.d.ts +46 -0
  49. package/dist/PickerInput/SinglePicker.js +1873 -0
  50. package/dist/PickerInput/context.cjs +12 -0
  51. package/dist/PickerInput/context.d.ts +16 -0
  52. package/dist/PickerInput/context.js +9 -0
  53. package/dist/PickerInput/hooks/useCellRender.cjs +25 -0
  54. package/dist/PickerInput/hooks/useCellRender.d.ts +3 -0
  55. package/dist/PickerInput/hooks/useCellRender.js +20 -0
  56. package/dist/PickerInput/hooks/useDelayState.cjs +34 -0
  57. package/dist/PickerInput/hooks/useDelayState.d.ts +2 -0
  58. package/dist/PickerInput/hooks/useDelayState.js +29 -0
  59. package/dist/PickerInput/hooks/useDisabledBoundary.cjs +15 -0
  60. package/dist/PickerInput/hooks/useDisabledBoundary.d.ts +8 -0
  61. package/dist/PickerInput/hooks/useDisabledBoundary.js +11 -0
  62. package/dist/PickerInput/hooks/useFieldFormat.cjs +17 -0
  63. package/dist/PickerInput/hooks/useFieldFormat.d.ts +3 -0
  64. package/dist/PickerInput/hooks/useFieldFormat.js +15 -0
  65. package/dist/PickerInput/hooks/useFieldsInvalidate.cjs +24 -0
  66. package/dist/PickerInput/hooks/useFieldsInvalidate.d.ts +6 -0
  67. package/dist/PickerInput/hooks/useFieldsInvalidate.js +19 -0
  68. package/dist/PickerInput/hooks/useFilledProps.cjs +103 -0
  69. package/dist/PickerInput/hooks/useFilledProps.d.ts +33 -0
  70. package/dist/PickerInput/hooks/useFilledProps.js +98 -0
  71. package/dist/PickerInput/hooks/useInputReadOnly.cjs +13 -0
  72. package/dist/PickerInput/hooks/useInputReadOnly.d.ts +3 -0
  73. package/dist/PickerInput/hooks/useInputReadOnly.js +8 -0
  74. package/dist/PickerInput/hooks/useInvalidate.cjs +34 -0
  75. package/dist/PickerInput/hooks/useInvalidate.d.ts +10 -0
  76. package/dist/PickerInput/hooks/useInvalidate.js +30 -0
  77. package/dist/PickerInput/hooks/useLockEffect.cjs +16 -0
  78. package/dist/PickerInput/hooks/useLockEffect.d.ts +6 -0
  79. package/dist/PickerInput/hooks/useLockEffect.js +11 -0
  80. package/dist/PickerInput/hooks/useOpen.cjs +15 -0
  81. package/dist/PickerInput/hooks/useOpen.d.ts +7 -0
  82. package/dist/PickerInput/hooks/useOpen.js +10 -0
  83. package/dist/PickerInput/hooks/usePresets.cjs +21 -0
  84. package/dist/PickerInput/hooks/usePresets.d.ts +3 -0
  85. package/dist/PickerInput/hooks/usePresets.js +16 -0
  86. package/dist/PickerInput/hooks/useRangeActive.cjs +57 -0
  87. package/dist/PickerInput/hooks/useRangeActive.d.ts +9 -0
  88. package/dist/PickerInput/hooks/useRangeActive.js +52 -0
  89. package/dist/PickerInput/hooks/useRangeDisabledDate.cjs +21 -0
  90. package/dist/PickerInput/hooks/useRangeDisabledDate.d.ts +9 -0
  91. package/dist/PickerInput/hooks/useRangeDisabledDate.js +17 -0
  92. package/dist/PickerInput/hooks/useRangePickerValue.cjs +100 -0
  93. package/dist/PickerInput/hooks/useRangePickerValue.d.ts +5 -0
  94. package/dist/PickerInput/hooks/useRangePickerValue.js +94 -0
  95. package/dist/PickerInput/hooks/useRangeValue.cjs +134 -0
  96. package/dist/PickerInput/hooks/useRangeValue.d.ts +21 -0
  97. package/dist/PickerInput/hooks/useRangeValue.js +128 -0
  98. package/dist/PickerInput/hooks/useShowNow.cjs +15 -0
  99. package/dist/PickerInput/hooks/useShowNow.d.ts +3 -0
  100. package/dist/PickerInput/hooks/useShowNow.js +10 -0
  101. package/dist/PickerPanel/DatePanel/index.cjs +294 -0
  102. package/dist/PickerPanel/DatePanel/index.d.ts +9 -0
  103. package/dist/PickerPanel/DatePanel/index.js +288 -0
  104. package/dist/PickerPanel/DateTimePanel/index.cjs +180 -0
  105. package/dist/PickerPanel/DateTimePanel/index.d.ts +3 -0
  106. package/dist/PickerPanel/DateTimePanel/index.js +174 -0
  107. package/dist/PickerPanel/DecadePanel/index.cjs +230 -0
  108. package/dist/PickerPanel/DecadePanel/index.d.ts +3 -0
  109. package/dist/PickerPanel/DecadePanel/index.js +224 -0
  110. package/dist/PickerPanel/MonthPanel/index.cjs +219 -0
  111. package/dist/PickerPanel/MonthPanel/index.d.ts +3 -0
  112. package/dist/PickerPanel/MonthPanel/index.js +213 -0
  113. package/dist/PickerPanel/PanelBody.cjs +157 -0
  114. package/dist/PickerPanel/PanelBody.d.ts +17 -0
  115. package/dist/PickerPanel/PanelBody.js +151 -0
  116. package/dist/PickerPanel/PanelHeader.cjs +132 -0
  117. package/dist/PickerPanel/PanelHeader.d.ts +9 -0
  118. package/dist/PickerPanel/PanelHeader.js +126 -0
  119. package/dist/PickerPanel/QuarterPanel/index.cjs +211 -0
  120. package/dist/PickerPanel/QuarterPanel/index.d.ts +3 -0
  121. package/dist/PickerPanel/QuarterPanel/index.js +205 -0
  122. package/dist/PickerPanel/TimePanel/TimePanelBody/TimeColumn.cjs +145 -0
  123. package/dist/PickerPanel/TimePanel/TimePanelBody/TimeColumn.d.ts +17 -0
  124. package/dist/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +139 -0
  125. package/dist/PickerPanel/TimePanel/TimePanelBody/index.cjs +286 -0
  126. package/dist/PickerPanel/TimePanel/TimePanelBody/index.d.ts +3 -0
  127. package/dist/PickerPanel/TimePanel/TimePanelBody/index.js +280 -0
  128. package/dist/PickerPanel/TimePanel/TimePanelBody/useScrollTo.cjs +65 -0
  129. package/dist/PickerPanel/TimePanel/TimePanelBody/useScrollTo.d.ts +1 -0
  130. package/dist/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +60 -0
  131. package/dist/PickerPanel/TimePanel/index.cjs +173 -0
  132. package/dist/PickerPanel/TimePanel/index.d.ts +3 -0
  133. package/dist/PickerPanel/TimePanel/index.js +167 -0
  134. package/dist/PickerPanel/WeekPanel/index.cjs +179 -0
  135. package/dist/PickerPanel/WeekPanel/index.d.ts +3 -0
  136. package/dist/PickerPanel/WeekPanel/index.js +173 -0
  137. package/dist/PickerPanel/YearPanel/index.cjs +239 -0
  138. package/dist/PickerPanel/YearPanel/index.d.ts +3 -0
  139. package/dist/PickerPanel/YearPanel/index.js +233 -0
  140. package/dist/PickerPanel/context.cjs +61 -0
  141. package/dist/PickerPanel/context.d.ts +26 -0
  142. package/dist/PickerPanel/context.js +53 -0
  143. package/dist/PickerPanel/index.cjs +473 -0
  144. package/dist/PickerPanel/index.d.ts +65 -0
  145. package/dist/PickerPanel/index.js +467 -0
  146. package/dist/PickerTrigger/index.cjs +137 -0
  147. package/dist/PickerTrigger/index.d.ts +18 -0
  148. package/dist/PickerTrigger/index.js +130 -0
  149. package/dist/PickerTrigger/util.cjs +13 -0
  150. package/dist/PickerTrigger/util.d.ts +2 -0
  151. package/dist/PickerTrigger/util.js +12 -0
  152. package/dist/_virtual/rolldown_runtime.cjs +21 -0
  153. package/dist/generate/dateFns.cjs +80 -0
  154. package/dist/generate/dateFns.d.ts +3 -0
  155. package/dist/generate/dateFns.js +73 -0
  156. package/dist/generate/dayjs.cjs +117 -0
  157. package/dist/generate/dayjs.d.ts +4 -0
  158. package/dist/generate/dayjs.js +104 -0
  159. package/dist/generate/index.cjs +1 -0
  160. package/dist/generate/index.d.ts +37 -0
  161. package/dist/generate/index.js +0 -0
  162. package/dist/generate/luxon.cjs +75 -0
  163. package/dist/generate/luxon.d.ts +4 -0
  164. package/dist/generate/luxon.js +69 -0
  165. package/dist/generate/moment.cjs +107 -0
  166. package/dist/generate/moment.d.ts +4 -0
  167. package/dist/generate/moment.js +100 -0
  168. package/dist/hooks/useLocale.cjs +45 -0
  169. package/dist/hooks/useLocale.d.ts +9 -0
  170. package/dist/hooks/useLocale.js +39 -0
  171. package/dist/hooks/useSemantic.cjs +18 -0
  172. package/dist/hooks/useSemantic.d.ts +14 -0
  173. package/dist/hooks/useSemantic.js +13 -0
  174. package/dist/hooks/useSyncState.cjs +29 -0
  175. package/dist/hooks/useSyncState.d.ts +7 -0
  176. package/dist/hooks/useSyncState.js +24 -0
  177. package/dist/hooks/useTimeConfig.cjs +161 -0
  178. package/dist/hooks/useTimeConfig.d.ts +18 -0
  179. package/dist/hooks/useTimeConfig.js +159 -0
  180. package/dist/hooks/useTimeInfo.cjs +113 -0
  181. package/dist/hooks/useTimeInfo.d.ts +12 -0
  182. package/dist/hooks/useTimeInfo.js +108 -0
  183. package/dist/hooks/useToggleDates.cjs +16 -0
  184. package/dist/hooks/useToggleDates.d.ts +9 -0
  185. package/dist/hooks/useToggleDates.js +12 -0
  186. package/dist/index.cjs +12 -0
  187. package/dist/index.d.ts +7 -0
  188. package/dist/index.js +5 -0
  189. package/dist/interface.cjs +1 -0
  190. package/dist/interface.d.ts +379 -0
  191. package/dist/interface.js +0 -0
  192. package/dist/locale/am_ET.cjs +34 -0
  193. package/dist/locale/am_ET.d.ts +3 -0
  194. package/dist/locale/am_ET.js +29 -0
  195. package/dist/locale/ar_EG.cjs +32 -0
  196. package/dist/locale/ar_EG.d.ts +3 -0
  197. package/dist/locale/ar_EG.js +27 -0
  198. package/dist/locale/az_AZ.cjs +33 -0
  199. package/dist/locale/az_AZ.d.ts +3 -0
  200. package/dist/locale/az_AZ.js +28 -0
  201. package/dist/locale/bg_BG.cjs +32 -0
  202. package/dist/locale/bg_BG.d.ts +3 -0
  203. package/dist/locale/bg_BG.js +27 -0
  204. package/dist/locale/bn_BD.cjs +33 -0
  205. package/dist/locale/bn_BD.d.ts +3 -0
  206. package/dist/locale/bn_BD.js +28 -0
  207. package/dist/locale/by_BY.cjs +33 -0
  208. package/dist/locale/by_BY.d.ts +3 -0
  209. package/dist/locale/by_BY.js +28 -0
  210. package/dist/locale/ca_ES.cjs +32 -0
  211. package/dist/locale/ca_ES.d.ts +3 -0
  212. package/dist/locale/ca_ES.js +27 -0
  213. package/dist/locale/common.cjs +8 -0
  214. package/dist/locale/common.d.ts +2 -0
  215. package/dist/locale/common.js +7 -0
  216. package/dist/locale/cs_CZ.cjs +32 -0
  217. package/dist/locale/cs_CZ.d.ts +3 -0
  218. package/dist/locale/cs_CZ.js +27 -0
  219. package/dist/locale/da_DK.cjs +32 -0
  220. package/dist/locale/da_DK.d.ts +3 -0
  221. package/dist/locale/da_DK.js +27 -0
  222. package/dist/locale/de_DE.cjs +32 -0
  223. package/dist/locale/de_DE.d.ts +3 -0
  224. package/dist/locale/de_DE.js +27 -0
  225. package/dist/locale/el_GR.cjs +32 -0
  226. package/dist/locale/el_GR.d.ts +3 -0
  227. package/dist/locale/el_GR.js +27 -0
  228. package/dist/locale/en_GB.cjs +32 -0
  229. package/dist/locale/en_GB.d.ts +3 -0
  230. package/dist/locale/en_GB.js +27 -0
  231. package/dist/locale/en_US.cjs +33 -0
  232. package/dist/locale/en_US.d.ts +3 -0
  233. package/dist/locale/en_US.js +28 -0
  234. package/dist/locale/es_ES.cjs +32 -0
  235. package/dist/locale/es_ES.d.ts +3 -0
  236. package/dist/locale/es_ES.js +27 -0
  237. package/dist/locale/es_MX.cjs +33 -0
  238. package/dist/locale/es_MX.d.ts +3 -0
  239. package/dist/locale/es_MX.js +28 -0
  240. package/dist/locale/et_EE.cjs +32 -0
  241. package/dist/locale/et_EE.d.ts +3 -0
  242. package/dist/locale/et_EE.js +27 -0
  243. package/dist/locale/eu_ES.cjs +34 -0
  244. package/dist/locale/eu_ES.d.ts +3 -0
  245. package/dist/locale/eu_ES.js +29 -0
  246. package/dist/locale/fa_IR.cjs +32 -0
  247. package/dist/locale/fa_IR.d.ts +3 -0
  248. package/dist/locale/fa_IR.js +27 -0
  249. package/dist/locale/fi_FI.cjs +32 -0
  250. package/dist/locale/fi_FI.d.ts +3 -0
  251. package/dist/locale/fi_FI.js +27 -0
  252. package/dist/locale/fr_BE.cjs +32 -0
  253. package/dist/locale/fr_BE.d.ts +3 -0
  254. package/dist/locale/fr_BE.js +27 -0
  255. package/dist/locale/fr_CA.cjs +33 -0
  256. package/dist/locale/fr_CA.d.ts +3 -0
  257. package/dist/locale/fr_CA.js +28 -0
  258. package/dist/locale/fr_FR.cjs +33 -0
  259. package/dist/locale/fr_FR.d.ts +3 -0
  260. package/dist/locale/fr_FR.js +28 -0
  261. package/dist/locale/ga_IE.cjs +33 -0
  262. package/dist/locale/ga_IE.d.ts +3 -0
  263. package/dist/locale/ga_IE.js +28 -0
  264. package/dist/locale/gl_ES.cjs +32 -0
  265. package/dist/locale/gl_ES.d.ts +3 -0
  266. package/dist/locale/gl_ES.js +27 -0
  267. package/dist/locale/he_IL.cjs +33 -0
  268. package/dist/locale/he_IL.d.ts +3 -0
  269. package/dist/locale/he_IL.js +28 -0
  270. package/dist/locale/hi_IN.cjs +33 -0
  271. package/dist/locale/hi_IN.d.ts +3 -0
  272. package/dist/locale/hi_IN.js +28 -0
  273. package/dist/locale/hr_HR.cjs +33 -0
  274. package/dist/locale/hr_HR.d.ts +3 -0
  275. package/dist/locale/hr_HR.js +28 -0
  276. package/dist/locale/hu_HU.cjs +33 -0
  277. package/dist/locale/hu_HU.d.ts +3 -0
  278. package/dist/locale/hu_HU.js +28 -0
  279. package/dist/locale/id_ID.cjs +33 -0
  280. package/dist/locale/id_ID.d.ts +3 -0
  281. package/dist/locale/id_ID.js +28 -0
  282. package/dist/locale/is_IS.cjs +32 -0
  283. package/dist/locale/is_IS.d.ts +3 -0
  284. package/dist/locale/is_IS.js +27 -0
  285. package/dist/locale/it_IT.cjs +55 -0
  286. package/dist/locale/it_IT.d.ts +3 -0
  287. package/dist/locale/it_IT.js +50 -0
  288. package/dist/locale/ja_JP.cjs +35 -0
  289. package/dist/locale/ja_JP.d.ts +3 -0
  290. package/dist/locale/ja_JP.js +30 -0
  291. package/dist/locale/ka_GE.cjs +33 -0
  292. package/dist/locale/ka_GE.d.ts +3 -0
  293. package/dist/locale/ka_GE.js +28 -0
  294. package/dist/locale/kk_KZ.cjs +32 -0
  295. package/dist/locale/kk_KZ.d.ts +3 -0
  296. package/dist/locale/kk_KZ.js +27 -0
  297. package/dist/locale/km_KH.cjs +34 -0
  298. package/dist/locale/km_KH.d.ts +3 -0
  299. package/dist/locale/km_KH.js +29 -0
  300. package/dist/locale/kmr_IQ.cjs +32 -0
  301. package/dist/locale/kmr_IQ.d.ts +3 -0
  302. package/dist/locale/kmr_IQ.js +27 -0
  303. package/dist/locale/kn_IN.cjs +33 -0
  304. package/dist/locale/kn_IN.d.ts +3 -0
  305. package/dist/locale/kn_IN.js +28 -0
  306. package/dist/locale/ko_KR.cjs +34 -0
  307. package/dist/locale/ko_KR.d.ts +3 -0
  308. package/dist/locale/ko_KR.js +29 -0
  309. package/dist/locale/lt_LT.cjs +34 -0
  310. package/dist/locale/lt_LT.d.ts +3 -0
  311. package/dist/locale/lt_LT.js +29 -0
  312. package/dist/locale/lv_LV.cjs +32 -0
  313. package/dist/locale/lv_LV.d.ts +3 -0
  314. package/dist/locale/lv_LV.js +27 -0
  315. package/dist/locale/mk_MK.cjs +32 -0
  316. package/dist/locale/mk_MK.d.ts +3 -0
  317. package/dist/locale/mk_MK.js +27 -0
  318. package/dist/locale/ml_IN.cjs +33 -0
  319. package/dist/locale/ml_IN.d.ts +3 -0
  320. package/dist/locale/ml_IN.js +28 -0
  321. package/dist/locale/mn_MN.cjs +34 -0
  322. package/dist/locale/mn_MN.d.ts +3 -0
  323. package/dist/locale/mn_MN.js +29 -0
  324. package/dist/locale/mr_IN.cjs +59 -0
  325. package/dist/locale/mr_IN.d.ts +3 -0
  326. package/dist/locale/mr_IN.js +54 -0
  327. package/dist/locale/ms_MY.cjs +34 -0
  328. package/dist/locale/ms_MY.d.ts +3 -0
  329. package/dist/locale/ms_MY.js +29 -0
  330. package/dist/locale/my_MM.cjs +33 -0
  331. package/dist/locale/my_MM.d.ts +3 -0
  332. package/dist/locale/my_MM.js +28 -0
  333. package/dist/locale/nb_NO.cjs +34 -0
  334. package/dist/locale/nb_NO.d.ts +3 -0
  335. package/dist/locale/nb_NO.js +29 -0
  336. package/dist/locale/ne_NP.cjs +33 -0
  337. package/dist/locale/ne_NP.d.ts +3 -0
  338. package/dist/locale/ne_NP.js +28 -0
  339. package/dist/locale/nl_BE.cjs +32 -0
  340. package/dist/locale/nl_BE.d.ts +3 -0
  341. package/dist/locale/nl_BE.js +27 -0
  342. package/dist/locale/nl_NL.cjs +32 -0
  343. package/dist/locale/nl_NL.d.ts +3 -0
  344. package/dist/locale/nl_NL.js +27 -0
  345. package/dist/locale/pl_PL.cjs +32 -0
  346. package/dist/locale/pl_PL.d.ts +3 -0
  347. package/dist/locale/pl_PL.js +27 -0
  348. package/dist/locale/pt_BR.cjs +56 -0
  349. package/dist/locale/pt_BR.d.ts +3 -0
  350. package/dist/locale/pt_BR.js +51 -0
  351. package/dist/locale/pt_PT.cjs +55 -0
  352. package/dist/locale/pt_PT.d.ts +3 -0
  353. package/dist/locale/pt_PT.js +50 -0
  354. package/dist/locale/ro_RO.cjs +33 -0
  355. package/dist/locale/ro_RO.d.ts +3 -0
  356. package/dist/locale/ro_RO.js +28 -0
  357. package/dist/locale/ru_RU.cjs +32 -0
  358. package/dist/locale/ru_RU.d.ts +3 -0
  359. package/dist/locale/ru_RU.js +27 -0
  360. package/dist/locale/si_LK.cjs +34 -0
  361. package/dist/locale/si_LK.d.ts +3 -0
  362. package/dist/locale/si_LK.js +29 -0
  363. package/dist/locale/sk_SK.cjs +32 -0
  364. package/dist/locale/sk_SK.d.ts +3 -0
  365. package/dist/locale/sk_SK.js +27 -0
  366. package/dist/locale/sl_SI.cjs +32 -0
  367. package/dist/locale/sl_SI.d.ts +3 -0
  368. package/dist/locale/sl_SI.js +27 -0
  369. package/dist/locale/sr_Cyrl_RS.cjs +32 -0
  370. package/dist/locale/sr_Cyrl_RS.d.ts +3 -0
  371. package/dist/locale/sr_Cyrl_RS.js +27 -0
  372. package/dist/locale/sr_RS.cjs +32 -0
  373. package/dist/locale/sr_RS.d.ts +3 -0
  374. package/dist/locale/sr_RS.js +27 -0
  375. package/dist/locale/sv_SE.cjs +32 -0
  376. package/dist/locale/sv_SE.d.ts +3 -0
  377. package/dist/locale/sv_SE.js +27 -0
  378. package/dist/locale/ta_IN.cjs +33 -0
  379. package/dist/locale/ta_IN.d.ts +3 -0
  380. package/dist/locale/ta_IN.js +28 -0
  381. package/dist/locale/te_IN.cjs +33 -0
  382. package/dist/locale/te_IN.d.ts +3 -0
  383. package/dist/locale/te_IN.js +28 -0
  384. package/dist/locale/th_TH.cjs +32 -0
  385. package/dist/locale/th_TH.d.ts +3 -0
  386. package/dist/locale/th_TH.js +27 -0
  387. package/dist/locale/tk_TK.cjs +32 -0
  388. package/dist/locale/tk_TK.d.ts +3 -0
  389. package/dist/locale/tk_TK.js +27 -0
  390. package/dist/locale/tr_TR.cjs +55 -0
  391. package/dist/locale/tr_TR.d.ts +3 -0
  392. package/dist/locale/tr_TR.js +50 -0
  393. package/dist/locale/ug_CN.cjs +35 -0
  394. package/dist/locale/ug_CN.d.ts +3 -0
  395. package/dist/locale/ug_CN.js +30 -0
  396. package/dist/locale/uk_UA.cjs +32 -0
  397. package/dist/locale/uk_UA.d.ts +3 -0
  398. package/dist/locale/uk_UA.js +27 -0
  399. package/dist/locale/ur_PK.cjs +33 -0
  400. package/dist/locale/ur_PK.d.ts +3 -0
  401. package/dist/locale/ur_PK.js +28 -0
  402. package/dist/locale/uz_UZ.cjs +33 -0
  403. package/dist/locale/uz_UZ.d.ts +3 -0
  404. package/dist/locale/uz_UZ.js +28 -0
  405. package/dist/locale/vi_VN.cjs +33 -0
  406. package/dist/locale/vi_VN.d.ts +3 -0
  407. package/dist/locale/vi_VN.js +28 -0
  408. package/dist/locale/zh_CN.cjs +36 -0
  409. package/dist/locale/zh_CN.d.ts +3 -0
  410. package/dist/locale/zh_CN.js +31 -0
  411. package/dist/locale/zh_TW.cjs +36 -0
  412. package/dist/locale/zh_TW.d.ts +3 -0
  413. package/dist/locale/zh_TW.js +31 -0
  414. package/dist/utils/dateUtil.cjs +105 -0
  415. package/dist/utils/dateUtil.d.ts +29 -0
  416. package/dist/utils/dateUtil.js +89 -0
  417. package/dist/utils/getClearIcon.cjs +7 -0
  418. package/dist/utils/getClearIcon.d.ts +6 -0
  419. package/dist/utils/getClearIcon.js +5 -0
  420. package/dist/utils/miscUtil.cjs +46 -0
  421. package/dist/utils/miscUtil.d.ts +14 -0
  422. package/dist/utils/miscUtil.js +40 -0
  423. package/dist/utils/uiUtil.cjs +6 -0
  424. package/dist/utils/uiUtil.d.ts +1 -0
  425. package/dist/utils/uiUtil.js +5 -0
  426. package/dist/utils/warnUtil.cjs +8 -0
  427. package/dist/utils/warnUtil.d.ts +5 -0
  428. package/dist/utils/warnUtil.js +6 -0
  429. package/package.json +82 -0
@@ -0,0 +1,126 @@
1
+ import { isSameOrAfter } from "../utils/dateUtil.js";
2
+ import { usePanelContext, usePickerHackContext } from "./context.js";
3
+ import { computed, createVNode, defineComponent } from "vue";
4
+ import { clsx } from "@v-c/util";
5
+ var HIDDEN_STYLE = { visibility: "hidden" };
6
+ var PanelHeader_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
7
+ const context = usePanelContext();
8
+ const pickerHackContext = usePickerHackContext();
9
+ const disabledOffsetPrev = computed(() => {
10
+ const { minDate, generateConfig, locale, pickerValue, panelType } = context.value;
11
+ const { offset, getEnd } = props;
12
+ if (!minDate || !offset || !getEnd) return false;
13
+ return !isSameOrAfter(generateConfig, locale, getEnd(offset(-1, pickerValue)), minDate, panelType);
14
+ });
15
+ const disabledSuperOffsetPrev = computed(() => {
16
+ const { minDate, generateConfig, locale, pickerValue, panelType } = context.value;
17
+ const { superOffset, getEnd } = props;
18
+ if (!minDate || !superOffset || !getEnd) return false;
19
+ return !isSameOrAfter(generateConfig, locale, getEnd(superOffset(-1, pickerValue)), minDate, panelType);
20
+ });
21
+ const disabledOffsetNext = computed(() => {
22
+ const { maxDate, generateConfig, locale, pickerValue, panelType } = context.value;
23
+ const { offset, getStart } = props;
24
+ if (!maxDate || !offset || !getStart) return false;
25
+ return !isSameOrAfter(generateConfig, locale, maxDate, getStart(offset(1, pickerValue)), panelType);
26
+ });
27
+ const disabledSuperOffsetNext = computed(() => {
28
+ const { maxDate, generateConfig, locale, pickerValue, panelType } = context.value;
29
+ const { superOffset, getStart } = props;
30
+ if (!maxDate || !superOffset || !getStart) return false;
31
+ return !isSameOrAfter(generateConfig, locale, maxDate, getStart(superOffset(1, pickerValue)), panelType);
32
+ });
33
+ const onOffset = (distance) => {
34
+ const { offset, onChange } = props;
35
+ const { pickerValue } = context.value;
36
+ if (offset && onChange) onChange(offset(distance, pickerValue));
37
+ };
38
+ const onSuperOffset = (distance) => {
39
+ const { superOffset, onChange } = props;
40
+ const { pickerValue } = context.value;
41
+ if (superOffset && onChange) onChange(superOffset(distance, pickerValue));
42
+ };
43
+ return () => {
44
+ const { prefixCls, classNames: panelClassNames, styles, prevIcon = "‹", nextIcon = "›", superPrevIcon = "«", superNextIcon = "»", locale } = context.value;
45
+ const { hidePrev, hideNext, hideHeader } = pickerHackContext?.value || {};
46
+ const { offset, superOffset } = props;
47
+ if (hideHeader) return null;
48
+ const headerPrefixCls = `${prefixCls}-header`;
49
+ const prevBtnCls = `${headerPrefixCls}-prev-btn`;
50
+ const nextBtnCls = `${headerPrefixCls}-next-btn`;
51
+ const superPrevBtnCls = `${headerPrefixCls}-super-prev-btn`;
52
+ const superNextBtnCls = `${headerPrefixCls}-super-next-btn`;
53
+ return createVNode("div", {
54
+ "class": clsx(headerPrefixCls, panelClassNames?.header),
55
+ "style": styles?.header
56
+ }, [
57
+ superOffset && createVNode("button", {
58
+ "type": "button",
59
+ "aria-label": locale?.previousYear,
60
+ "onClick": () => onSuperOffset(-1),
61
+ "tabindex": -1,
62
+ "class": clsx(superPrevBtnCls, disabledSuperOffsetPrev.value && `${superPrevBtnCls}-disabled`),
63
+ "disabled": disabledSuperOffsetPrev.value,
64
+ "style": hidePrev ? HIDDEN_STYLE : {}
65
+ }, [superPrevIcon]),
66
+ offset && createVNode("button", {
67
+ "type": "button",
68
+ "aria-label": locale?.previousMonth,
69
+ "onClick": () => onOffset(-1),
70
+ "tabindex": -1,
71
+ "class": clsx(prevBtnCls, disabledOffsetPrev.value && `${prevBtnCls}-disabled`),
72
+ "disabled": disabledOffsetPrev.value,
73
+ "style": hidePrev ? HIDDEN_STYLE : {}
74
+ }, [prevIcon]),
75
+ createVNode("div", { "class": `${headerPrefixCls}-view` }, [slots.default?.()]),
76
+ offset && createVNode("button", {
77
+ "type": "button",
78
+ "aria-label": locale?.nextMonth,
79
+ "onClick": () => onOffset(1),
80
+ "tabindex": -1,
81
+ "class": clsx(nextBtnCls, disabledOffsetNext.value && `${nextBtnCls}-disabled`),
82
+ "disabled": disabledOffsetNext.value,
83
+ "style": hideNext ? HIDDEN_STYLE : {}
84
+ }, [nextIcon]),
85
+ superOffset && createVNode("button", {
86
+ "type": "button",
87
+ "aria-label": locale?.nextYear,
88
+ "onClick": () => onSuperOffset(1),
89
+ "tabindex": -1,
90
+ "class": clsx(superNextBtnCls, disabledSuperOffsetNext.value && `${superNextBtnCls}-disabled`),
91
+ "disabled": disabledSuperOffsetNext.value,
92
+ "style": hideNext ? HIDDEN_STYLE : {}
93
+ }, [superNextIcon])
94
+ ]);
95
+ };
96
+ }, {
97
+ props: {
98
+ offset: {
99
+ type: Function,
100
+ required: false,
101
+ default: void 0
102
+ },
103
+ superOffset: {
104
+ type: Function,
105
+ required: false,
106
+ default: void 0
107
+ },
108
+ onChange: {
109
+ type: Function,
110
+ required: false,
111
+ default: void 0
112
+ },
113
+ getStart: {
114
+ type: Function,
115
+ required: false,
116
+ default: void 0
117
+ },
118
+ getEnd: {
119
+ type: Function,
120
+ required: false,
121
+ default: void 0
122
+ }
123
+ },
124
+ name: "PanelHeader"
125
+ });
126
+ export { PanelHeader_default as default };
@@ -0,0 +1,211 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_rolldown_runtime = require("../../_virtual/rolldown_runtime.cjs");
6
+ const require_dateUtil = require("../../utils/dateUtil.cjs");
7
+ const require_context = require("../context.cjs");
8
+ const require_PanelBody = require("../PanelBody.cjs");
9
+ const require_PanelHeader = require("../PanelHeader.cjs");
10
+ let vue = require("vue");
11
+ function _isSlot(s) {
12
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !(0, vue.isVNode)(s);
13
+ }
14
+ var QuarterPanel = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
15
+ const sharedContext = require_context.useSharedPanelContext();
16
+ require_context.providePanelContext((0, vue.computed)(() => {
17
+ const [info] = require_context.useInfo(props, "quarter", sharedContext);
18
+ return info;
19
+ }));
20
+ return () => {
21
+ const { prefixCls, locale = {}, generateConfig = {}, pickerValue, onPickerValueChange, onModeChange } = props;
22
+ const panelPrefixCls = `${prefixCls}-quarter-panel`;
23
+ const baseDate = generateConfig.setMonth(pickerValue, 0);
24
+ const cellQuarterFormat = locale.cellQuarterFormat || "[Q]Q";
25
+ const yearFormat = locale.yearFormat || "YYYY";
26
+ const getCellDate = (date, offset) => {
27
+ return generateConfig.addMonth(date, offset * 3);
28
+ };
29
+ const getCellText = (date) => {
30
+ return require_dateUtil.formatValue(date, {
31
+ locale,
32
+ format: cellQuarterFormat,
33
+ generateConfig
34
+ });
35
+ };
36
+ const getCellClassName = () => ({ [`${prefixCls}-cell-in-view`]: true });
37
+ const yearNode = (0, vue.createVNode)("button", {
38
+ "type": "button",
39
+ "key": "year",
40
+ "aria-label": locale.yearSelect,
41
+ "onClick": () => {
42
+ onModeChange?.("year");
43
+ },
44
+ "tabindex": -1,
45
+ "class": `${prefixCls}-year-btn`
46
+ }, [require_dateUtil.formatValue(pickerValue, {
47
+ locale,
48
+ format: yearFormat,
49
+ generateConfig
50
+ })]);
51
+ return (0, vue.createVNode)("div", { "class": panelPrefixCls }, [(0, vue.createVNode)(require_PanelHeader.default, {
52
+ "superOffset": (distance, date) => generateConfig.addYear(date, distance),
53
+ "onChange": onPickerValueChange,
54
+ "getStart": (date) => generateConfig.setMonth(date, 0),
55
+ "getEnd": (date) => generateConfig.setMonth(date, 11)
56
+ }, _isSlot(yearNode) ? yearNode : { default: () => [yearNode] }), (0, vue.createVNode)(require_PanelBody.default, (0, vue.mergeProps)(props, {
57
+ "titleFormat": locale.fieldQuarterFormat,
58
+ "colNum": 4,
59
+ "rowNum": 1,
60
+ "baseDate": baseDate,
61
+ "getCellDate": getCellDate,
62
+ "getCellText": getCellText,
63
+ "getCellClassName": getCellClassName
64
+ }), null)]);
65
+ };
66
+ }, {
67
+ props: {
68
+ prefixCls: {
69
+ type: String,
70
+ required: true,
71
+ default: void 0
72
+ },
73
+ locale: {
74
+ type: Object,
75
+ required: false,
76
+ default: void 0
77
+ },
78
+ generateConfig: {
79
+ type: Object,
80
+ required: false,
81
+ default: void 0
82
+ },
83
+ pickerValue: {
84
+ required: true,
85
+ default: void 0
86
+ },
87
+ onPickerValueChange: {
88
+ type: Function,
89
+ required: true,
90
+ default: void 0
91
+ },
92
+ value: {
93
+ required: false,
94
+ default: void 0
95
+ },
96
+ onSelect: {
97
+ type: Function,
98
+ required: true,
99
+ default: void 0
100
+ },
101
+ values: {
102
+ type: Array,
103
+ required: false,
104
+ default: void 0
105
+ },
106
+ onModeChange: {
107
+ type: Function,
108
+ required: true,
109
+ default: void 0
110
+ },
111
+ disabledDate: {
112
+ type: Function,
113
+ required: false,
114
+ default: void 0
115
+ },
116
+ minDate: {
117
+ required: false,
118
+ default: void 0
119
+ },
120
+ maxDate: {
121
+ required: false,
122
+ default: void 0
123
+ },
124
+ cellRender: {
125
+ type: Function,
126
+ required: false,
127
+ default: void 0
128
+ },
129
+ hoverRangeValue: {
130
+ type: [Array, null],
131
+ required: true,
132
+ default: void 0
133
+ },
134
+ hoverValue: {
135
+ type: [Array, null],
136
+ required: false,
137
+ default: void 0
138
+ },
139
+ onHover: {
140
+ type: Function,
141
+ required: false,
142
+ default: void 0
143
+ },
144
+ showTime: {
145
+ type: Object,
146
+ required: false,
147
+ default: void 0
148
+ },
149
+ showWeek: {
150
+ type: Boolean,
151
+ required: false,
152
+ default: void 0
153
+ },
154
+ prevIcon: {
155
+ type: [
156
+ Object,
157
+ Function,
158
+ String,
159
+ Number,
160
+ null,
161
+ Boolean,
162
+ Array
163
+ ],
164
+ required: false,
165
+ default: void 0
166
+ },
167
+ nextIcon: {
168
+ type: [
169
+ Object,
170
+ Function,
171
+ String,
172
+ Number,
173
+ null,
174
+ Boolean,
175
+ Array
176
+ ],
177
+ required: false,
178
+ default: void 0
179
+ },
180
+ superPrevIcon: {
181
+ type: [
182
+ Object,
183
+ Function,
184
+ String,
185
+ Number,
186
+ null,
187
+ Boolean,
188
+ Array
189
+ ],
190
+ required: false,
191
+ default: void 0
192
+ },
193
+ superNextIcon: {
194
+ type: [
195
+ Object,
196
+ Function,
197
+ String,
198
+ Number,
199
+ null,
200
+ Boolean,
201
+ Array
202
+ ],
203
+ required: false,
204
+ default: void 0
205
+ }
206
+ },
207
+ name: "QuarterPanel",
208
+ inheritAttrs: false
209
+ });
210
+ var QuarterPanel_default = QuarterPanel;
211
+ exports.default = QuarterPanel_default;
@@ -0,0 +1,3 @@
1
+ import { SharedPanelProps } from '../../interface';
2
+ declare const QuarterPanel: import('vue').DefineSetupFnComponent<SharedPanelProps<any>, {}, {}, SharedPanelProps<any> & {}, import('vue').PublicProps>;
3
+ export default QuarterPanel;
@@ -0,0 +1,205 @@
1
+ import { formatValue } from "../../utils/dateUtil.js";
2
+ import { providePanelContext, useInfo, useSharedPanelContext } from "../context.js";
3
+ import PanelBody_default from "../PanelBody.js";
4
+ import PanelHeader_default from "../PanelHeader.js";
5
+ import { computed, createVNode, defineComponent, isVNode, mergeProps } from "vue";
6
+ function _isSlot(s) {
7
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
8
+ }
9
+ var QuarterPanel_default = /* @__PURE__ */ defineComponent((props) => {
10
+ const sharedContext = useSharedPanelContext();
11
+ providePanelContext(computed(() => {
12
+ const [info] = useInfo(props, "quarter", sharedContext);
13
+ return info;
14
+ }));
15
+ return () => {
16
+ const { prefixCls, locale = {}, generateConfig = {}, pickerValue, onPickerValueChange, onModeChange } = props;
17
+ const panelPrefixCls = `${prefixCls}-quarter-panel`;
18
+ const baseDate = generateConfig.setMonth(pickerValue, 0);
19
+ const cellQuarterFormat = locale.cellQuarterFormat || "[Q]Q";
20
+ const yearFormat = locale.yearFormat || "YYYY";
21
+ const getCellDate = (date, offset) => {
22
+ return generateConfig.addMonth(date, offset * 3);
23
+ };
24
+ const getCellText = (date) => {
25
+ return formatValue(date, {
26
+ locale,
27
+ format: cellQuarterFormat,
28
+ generateConfig
29
+ });
30
+ };
31
+ const getCellClassName = () => ({ [`${prefixCls}-cell-in-view`]: true });
32
+ const yearNode = createVNode("button", {
33
+ "type": "button",
34
+ "key": "year",
35
+ "aria-label": locale.yearSelect,
36
+ "onClick": () => {
37
+ onModeChange?.("year");
38
+ },
39
+ "tabindex": -1,
40
+ "class": `${prefixCls}-year-btn`
41
+ }, [formatValue(pickerValue, {
42
+ locale,
43
+ format: yearFormat,
44
+ generateConfig
45
+ })]);
46
+ return createVNode("div", { "class": panelPrefixCls }, [createVNode(PanelHeader_default, {
47
+ "superOffset": (distance, date) => generateConfig.addYear(date, distance),
48
+ "onChange": onPickerValueChange,
49
+ "getStart": (date) => generateConfig.setMonth(date, 0),
50
+ "getEnd": (date) => generateConfig.setMonth(date, 11)
51
+ }, _isSlot(yearNode) ? yearNode : { default: () => [yearNode] }), createVNode(PanelBody_default, mergeProps(props, {
52
+ "titleFormat": locale.fieldQuarterFormat,
53
+ "colNum": 4,
54
+ "rowNum": 1,
55
+ "baseDate": baseDate,
56
+ "getCellDate": getCellDate,
57
+ "getCellText": getCellText,
58
+ "getCellClassName": getCellClassName
59
+ }), null)]);
60
+ };
61
+ }, {
62
+ props: {
63
+ prefixCls: {
64
+ type: String,
65
+ required: true,
66
+ default: void 0
67
+ },
68
+ locale: {
69
+ type: Object,
70
+ required: false,
71
+ default: void 0
72
+ },
73
+ generateConfig: {
74
+ type: Object,
75
+ required: false,
76
+ default: void 0
77
+ },
78
+ pickerValue: {
79
+ required: true,
80
+ default: void 0
81
+ },
82
+ onPickerValueChange: {
83
+ type: Function,
84
+ required: true,
85
+ default: void 0
86
+ },
87
+ value: {
88
+ required: false,
89
+ default: void 0
90
+ },
91
+ onSelect: {
92
+ type: Function,
93
+ required: true,
94
+ default: void 0
95
+ },
96
+ values: {
97
+ type: Array,
98
+ required: false,
99
+ default: void 0
100
+ },
101
+ onModeChange: {
102
+ type: Function,
103
+ required: true,
104
+ default: void 0
105
+ },
106
+ disabledDate: {
107
+ type: Function,
108
+ required: false,
109
+ default: void 0
110
+ },
111
+ minDate: {
112
+ required: false,
113
+ default: void 0
114
+ },
115
+ maxDate: {
116
+ required: false,
117
+ default: void 0
118
+ },
119
+ cellRender: {
120
+ type: Function,
121
+ required: false,
122
+ default: void 0
123
+ },
124
+ hoverRangeValue: {
125
+ type: [Array, null],
126
+ required: true,
127
+ default: void 0
128
+ },
129
+ hoverValue: {
130
+ type: [Array, null],
131
+ required: false,
132
+ default: void 0
133
+ },
134
+ onHover: {
135
+ type: Function,
136
+ required: false,
137
+ default: void 0
138
+ },
139
+ showTime: {
140
+ type: Object,
141
+ required: false,
142
+ default: void 0
143
+ },
144
+ showWeek: {
145
+ type: Boolean,
146
+ required: false,
147
+ default: void 0
148
+ },
149
+ prevIcon: {
150
+ type: [
151
+ Object,
152
+ Function,
153
+ String,
154
+ Number,
155
+ null,
156
+ Boolean,
157
+ Array
158
+ ],
159
+ required: false,
160
+ default: void 0
161
+ },
162
+ nextIcon: {
163
+ type: [
164
+ Object,
165
+ Function,
166
+ String,
167
+ Number,
168
+ null,
169
+ Boolean,
170
+ Array
171
+ ],
172
+ required: false,
173
+ default: void 0
174
+ },
175
+ superPrevIcon: {
176
+ type: [
177
+ Object,
178
+ Function,
179
+ String,
180
+ Number,
181
+ null,
182
+ Boolean,
183
+ Array
184
+ ],
185
+ required: false,
186
+ default: void 0
187
+ },
188
+ superNextIcon: {
189
+ type: [
190
+ Object,
191
+ Function,
192
+ String,
193
+ Number,
194
+ null,
195
+ Boolean,
196
+ Array
197
+ ],
198
+ required: false,
199
+ default: void 0
200
+ }
201
+ },
202
+ name: "QuarterPanel",
203
+ inheritAttrs: false
204
+ });
205
+ export { QuarterPanel_default as default };
@@ -0,0 +1,145 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_rolldown_runtime = require("../../../_virtual/rolldown_runtime.cjs");
6
+ const require_context = require("../../context.cjs");
7
+ const require_useScrollTo = require("./useScrollTo.cjs");
8
+ let vue = require("vue");
9
+ let _v_c_util = require("@v-c/util");
10
+ var SCROLL_DELAY = 300;
11
+ function flattenUnits(units) {
12
+ return units.map(({ value, label, disabled }) => [
13
+ value,
14
+ label,
15
+ disabled
16
+ ].join(",")).join(";");
17
+ }
18
+ var TimeColumn = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
19
+ const context = require_context.usePanelContext();
20
+ const ulRef = (0, vue.ref)();
21
+ const checkDelayRef = (0, vue.ref)();
22
+ const clearDelayCheck = () => {
23
+ clearTimeout(checkDelayRef.value);
24
+ };
25
+ const [syncScroll, stopScroll, isScrolling] = require_useScrollTo.default(ulRef, (0, vue.computed)(() => props.value ?? props.optionalValue));
26
+ (0, vue.watch)([
27
+ () => props.value,
28
+ () => props.optionalValue,
29
+ () => flattenUnits(props.units)
30
+ ], () => {
31
+ syncScroll();
32
+ clearDelayCheck();
33
+ }, { flush: "post" });
34
+ (0, vue.onMounted)(() => {
35
+ syncScroll();
36
+ });
37
+ (0, vue.onBeforeUnmount)(() => {
38
+ stopScroll();
39
+ clearDelayCheck();
40
+ });
41
+ const onInternalScroll = (event) => {
42
+ clearDelayCheck();
43
+ const target = event.target;
44
+ if (!isScrolling() && props.changeOnScroll) checkDelayRef.value = setTimeout(() => {
45
+ const ul = ulRef.value;
46
+ const firstLiTop = ul.querySelector(`li`).offsetTop;
47
+ const liDistList = Array.from(ul.querySelectorAll(`li`)).map((li) => li.offsetTop - firstLiTop).map((top, index) => {
48
+ if (props.units[index].disabled) return Number.MAX_SAFE_INTEGER;
49
+ return Math.abs(top - target.scrollTop);
50
+ });
51
+ const minDist = Math.min(...liDistList);
52
+ const minDistIndex = liDistList.findIndex((dist) => dist === minDist);
53
+ const targetUnit = props.units[minDistIndex];
54
+ if (targetUnit && !targetUnit.disabled) props.onChange(targetUnit.value);
55
+ }, SCROLL_DELAY);
56
+ };
57
+ return () => {
58
+ const { units, value, type, onChange, onHover, onDblClick } = props;
59
+ const { prefixCls, cellRender, now, locale, classNames: panelClassNames, styles } = context.value;
60
+ const panelPrefixCls = `${prefixCls}-time-panel`;
61
+ const cellPrefixCls = `${prefixCls}-time-panel-cell`;
62
+ const columnPrefixCls = `${panelPrefixCls}-column`;
63
+ return (0, vue.createVNode)("ul", {
64
+ "class": columnPrefixCls,
65
+ "ref": ulRef,
66
+ "data-type": type,
67
+ "onScroll": onInternalScroll
68
+ }, [units.map(({ label, value: unitValue, disabled }) => {
69
+ const inner = (0, vue.createVNode)("div", { "class": `${cellPrefixCls}-inner` }, [label]);
70
+ return (0, vue.createVNode)("li", {
71
+ "key": unitValue,
72
+ "style": styles?.item,
73
+ "class": (0, _v_c_util.clsx)(cellPrefixCls, panelClassNames?.item, {
74
+ [`${cellPrefixCls}-selected`]: value === unitValue,
75
+ [`${cellPrefixCls}-disabled`]: disabled
76
+ }),
77
+ "onClick": () => {
78
+ if (!disabled) onChange(unitValue);
79
+ },
80
+ "onDblclick": () => {
81
+ if (!disabled && onDblClick) onDblClick();
82
+ },
83
+ "onMouseenter": () => {
84
+ onHover(unitValue);
85
+ },
86
+ "onMouseleave": () => {
87
+ onHover(null);
88
+ },
89
+ "data-value": unitValue
90
+ }, [cellRender ? cellRender(unitValue, {
91
+ prefixCls,
92
+ originNode: inner,
93
+ today: now,
94
+ type: "time",
95
+ subType: type,
96
+ locale
97
+ }) : inner]);
98
+ })]);
99
+ };
100
+ }, {
101
+ props: {
102
+ units: {
103
+ type: Array,
104
+ required: true,
105
+ default: void 0
106
+ },
107
+ value: {
108
+ type: [Number, String],
109
+ required: false,
110
+ default: void 0
111
+ },
112
+ optionalValue: {
113
+ type: [Number, String],
114
+ required: false,
115
+ default: void 0
116
+ },
117
+ type: {
118
+ type: String,
119
+ required: true,
120
+ default: void 0
121
+ },
122
+ onChange: {
123
+ type: Function,
124
+ required: true,
125
+ default: void 0
126
+ },
127
+ onHover: {
128
+ type: Function,
129
+ required: true,
130
+ default: void 0
131
+ },
132
+ onDblClick: {
133
+ required: false,
134
+ default: void 0
135
+ },
136
+ changeOnScroll: {
137
+ type: Boolean,
138
+ required: false,
139
+ default: void 0
140
+ }
141
+ },
142
+ name: "TimeColumn"
143
+ });
144
+ var TimeColumn_default = TimeColumn;
145
+ exports.default = TimeColumn_default;
@@ -0,0 +1,17 @@
1
+ export interface Unit<ValueType = number | string> {
2
+ label: any;
3
+ value: ValueType;
4
+ disabled?: boolean;
5
+ }
6
+ export interface TimeColumnProps {
7
+ units: Unit[];
8
+ value?: number | string;
9
+ optionalValue?: number | string;
10
+ type: 'hour' | 'minute' | 'second' | 'millisecond' | 'meridiem';
11
+ onChange: (value: number | string) => void;
12
+ onHover: (value: number | string) => void;
13
+ onDblClick?: VoidFunction;
14
+ changeOnScroll?: boolean;
15
+ }
16
+ declare const TimeColumn: import('vue').DefineSetupFnComponent<TimeColumnProps, {}, {}, TimeColumnProps & {}, import('vue').PublicProps>;
17
+ export default TimeColumn;