@choice-ui/react 1.4.3 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/components/alert-dialog/dist/index.d.ts +20 -41
  2. package/dist/components/alert-dialog/dist/index.js +497 -0
  3. package/dist/components/alert-dialog/src/alert-dialog.js +1 -1
  4. package/dist/components/alert-dialog/src/hooks/use-alert-dialog.d.ts +1 -1
  5. package/dist/components/alert-dialog/src/index.d.ts +4 -5
  6. package/dist/components/alert-dialog/src/types.d.ts +11 -11
  7. package/dist/components/avatar/dist/index.js +4 -4
  8. package/dist/components/avatar/src/avatar.js +4 -4
  9. package/dist/components/badge/src/badge.js +2 -2
  10. package/dist/components/badge/src/index.d.ts +2 -1
  11. package/dist/components/button/dist/index.js +4 -4
  12. package/dist/components/button/src/button.js +4 -4
  13. package/dist/components/calendar/dist/index.d.ts +296 -296
  14. package/dist/components/calendar/dist/index.js +57 -56
  15. package/dist/components/calendar/src/date-range-input/date-range-input.d.ts +5 -5
  16. package/dist/components/calendar/src/time-calendar/time-calendar.d.ts +3 -3
  17. package/dist/components/calendar/src/time-calendar/time-calendar.js +2 -2
  18. package/dist/components/calendar/src/time-input/time-input.d.ts +9 -9
  19. package/dist/components/calendar/src/time-input/time-input.js +4 -4
  20. package/dist/components/calendar/src/types.d.ts +165 -165
  21. package/dist/components/calendar/src/utils/constants.js +32 -31
  22. package/dist/components/calendar/src/utils/date-comparisons.d.ts +34 -34
  23. package/dist/components/calendar/src/utils/locale.d.ts +12 -12
  24. package/dist/components/calendar/src/utils/month.d.ts +3 -3
  25. package/dist/components/calendar/src/utils/month.js +1 -1
  26. package/dist/components/calendar/src/utils/parsers/month-names.js +3 -3
  27. package/dist/components/calendar/src/utils/parsers/numeric-utils.d.ts +20 -20
  28. package/dist/components/calendar/src/utils/parsers/numeric-utils.js +8 -8
  29. package/dist/components/calendar/src/utils/parsers/parsers.d.ts +17 -17
  30. package/dist/components/calendar/src/utils/parsers/parsers.js +2 -2
  31. package/dist/components/calendar/src/utils/parsers/prediction.d.ts +7 -7
  32. package/dist/components/calendar/src/utils/parsers/relative-dates.js +6 -6
  33. package/dist/components/calendar/src/utils/quarter.d.ts +13 -13
  34. package/dist/components/calendar/src/utils/quarter.js +6 -6
  35. package/dist/components/calendar/src/utils/time.d.ts +8 -8
  36. package/dist/components/calendar/src/utils/year.d.ts +3 -3
  37. package/dist/components/calendar/src/utils/year.js +3 -3
  38. package/dist/components/checkbox/dist/index.d.ts +1 -12
  39. package/dist/components/checkbox/dist/index.js +9 -9
  40. package/dist/components/checkbox/src/checkbox-label.js +2 -2
  41. package/dist/components/checkbox/src/checkbox.js +6 -5
  42. package/dist/components/checkbox/src/context.js +1 -1
  43. package/dist/components/checkbox/src/index.d.ts +0 -3
  44. package/dist/components/chip/dist/index.js +6 -6
  45. package/dist/components/chip/src/chip.js +6 -6
  46. package/dist/components/chip/src/index.d.ts +2 -1
  47. package/dist/components/chips-input/dist/index.js +270 -0
  48. package/dist/components/chips-input/src/index.d.ts +2 -1
  49. package/dist/components/code-block/dist/index.d.ts +14 -32
  50. package/dist/components/code-block/dist/index.js +211 -147
  51. package/dist/components/code-block/src/code-block.d.ts +8 -1
  52. package/dist/components/code-block/src/code-block.js +14 -3
  53. package/dist/components/code-block/src/components/code-block-code.js +31 -5
  54. package/dist/components/code-block/src/components/code-block-header.js +45 -10
  55. package/dist/components/code-block/src/index.d.ts +3 -9
  56. package/dist/components/combobox/dist/index.d.ts +21 -2
  57. package/dist/components/combobox/dist/index.js +16 -13
  58. package/dist/components/combobox/src/combobox-trigger.d.ts +1 -1
  59. package/dist/components/combobox/src/combobox-trigger.js +7 -4
  60. package/dist/components/combobox/src/combobox.d.ts +20 -1
  61. package/dist/components/combobox/src/combobox.js +10 -10
  62. package/dist/components/command/dist/index.d.ts +65 -4
  63. package/dist/components/command/src/command.js +6 -5
  64. package/dist/components/command/src/components/command-divider.d.ts +4 -1
  65. package/dist/components/command/src/components/command-group.d.ts +16 -1
  66. package/dist/components/command/src/components/command-group.js +56 -54
  67. package/dist/components/command/src/components/command-input.js +3 -3
  68. package/dist/components/command/src/components/command-item.d.ts +1 -1
  69. package/dist/components/command/src/components/command-item.js +117 -115
  70. package/dist/components/command/src/components/command-loading.d.ts +8 -0
  71. package/dist/components/command/src/components/command-loading.js +1 -1
  72. package/dist/components/command/src/context/create-command-context.js +1 -1
  73. package/dist/components/command/src/hooks/use-schedule-layout-effect.d.ts +1 -1
  74. package/dist/components/command/src/hooks/use-value.js +2 -2
  75. package/dist/components/command/src/index.d.ts +16 -8
  76. package/dist/components/command/src/tv.d.ts +30 -0
  77. package/dist/components/command/src/tv.js +10 -0
  78. package/dist/components/command/src/types.d.ts +8 -0
  79. package/dist/components/command/src/utils/constants.d.ts +1 -1
  80. package/dist/components/command/src/utils/constants.js +1 -1
  81. package/dist/components/command/src/utils/helpers.d.ts +0 -1
  82. package/dist/components/command/src/utils/helpers.js +1 -3
  83. package/dist/components/command/src/utils/index.d.ts +1 -0
  84. package/dist/components/comments/src/comment-input/components/comment-input-mention-popover.js +4 -2
  85. package/dist/components/comments/src/comments.js +1 -1
  86. package/dist/components/context-input/dist/index.d.ts +47 -251
  87. package/dist/components/context-input/src/components/mention-menu.d.ts +5 -4
  88. package/dist/components/context-input/src/components/mention-menu.js +19 -4
  89. package/dist/components/context-input/src/components/mention.d.ts +2 -2
  90. package/dist/components/context-input/src/components/slate-editor.js +4 -2
  91. package/dist/components/context-input/src/context-input.js +31 -16
  92. package/dist/components/context-input/src/extensions/with-mentions.d.ts +1 -1
  93. package/dist/components/context-input/src/extensions/with-mentions.js +10 -9
  94. package/dist/components/context-input/src/hooks/use-context-input.js +87 -46
  95. package/dist/components/context-input/src/hooks/use-mentions.d.ts +11 -10
  96. package/dist/components/context-input/src/hooks/use-mentions.js +147 -128
  97. package/dist/components/context-input/src/index.d.ts +4 -5
  98. package/dist/components/context-input/src/types.d.ts +12 -12
  99. package/dist/components/context-input/src/utils/mention-spacing.d.ts +16 -16
  100. package/dist/components/context-input/src/utils/slate-converters.d.ts +6 -6
  101. package/dist/components/context-input/src/utils/slate-converters.js +2 -2
  102. package/dist/components/context-input/src/utils/text-extraction.js +7 -1
  103. package/dist/components/context-menu/src/context-menu.js +10 -4
  104. package/dist/components/dialog/dist/index.js +1 -2
  105. package/dist/components/dialog/src/dialog.js +0 -1
  106. package/dist/components/dialog/src/hooks/use-floating-dialog.js +1 -1
  107. package/dist/components/dialog/src/index.d.ts +3 -2
  108. package/dist/components/dropdown/dist/index.d.ts +1 -2
  109. package/dist/components/dropdown/dist/index.js +23 -8
  110. package/dist/components/dropdown/src/dropdown.d.ts +1 -2
  111. package/dist/components/dropdown/src/dropdown.js +23 -8
  112. package/dist/components/emoji-picker/dist/index.d.ts +33 -1
  113. package/dist/components/emoji-picker/dist/index.js +3 -1
  114. package/dist/components/emoji-picker/src/emoji-picker.d.ts +1 -1
  115. package/dist/components/emoji-picker/src/emoji-picker.js +3 -1
  116. package/dist/components/emoji-picker/src/index.d.ts +3 -1
  117. package/dist/components/form/dist/index.d.ts +93 -98
  118. package/dist/components/form/src/adapters/base-adapter.d.ts +3 -3
  119. package/dist/components/form/src/adapters/checkbox-adapter.d.ts +1 -1
  120. package/dist/components/form/src/adapters/chips-input-adapter.d.ts +9 -0
  121. package/dist/components/form/src/adapters/chips-input-adapter.js +38 -0
  122. package/dist/components/form/src/adapters/index.d.ts +8 -7
  123. package/dist/components/form/src/adapters/input-adapter.d.ts +1 -1
  124. package/dist/components/form/src/adapters/multi-select-adapter.d.ts +1 -1
  125. package/dist/components/form/src/adapters/numeric-input-adapter.d.ts +1 -1
  126. package/dist/components/form/src/adapters/raido-group-adapter.d.ts +1 -7
  127. package/dist/components/form/src/adapters/range-adapter.d.ts +1 -7
  128. package/dist/components/form/src/adapters/segmented-adapter.d.ts +1 -7
  129. package/dist/components/form/src/adapters/select-adapter.d.ts +1 -1
  130. package/dist/components/form/src/adapters/switch-adapter.d.ts +1 -1
  131. package/dist/components/form/src/adapters/textarea-adapter.d.ts +1 -1
  132. package/dist/components/form/src/index.d.ts +18 -16
  133. package/dist/components/form/src/index.js +16 -13
  134. package/dist/components/form/src/types.d.ts +58 -51
  135. package/dist/components/hint/dist/index.d.ts +10 -54
  136. package/dist/components/hint/src/components/info-content.d.ts +3 -5
  137. package/dist/components/hint/src/components/info-content.js +14 -6
  138. package/dist/components/hint/src/components/info-trigger.d.ts +2 -3
  139. package/dist/components/hint/src/components/info-trigger.js +4 -2
  140. package/dist/components/hint/src/context/hint-context.d.ts +2 -0
  141. package/dist/components/hint/src/context/hint-context.js +1 -1
  142. package/dist/components/hint/src/hint.d.ts +7 -7
  143. package/dist/components/hint/src/hint.js +24 -29
  144. package/dist/components/hint/src/hooks/use-hint.d.ts +4 -2
  145. package/dist/components/hint/src/hooks/use-hint.js +12 -4
  146. package/dist/components/hint/src/index.d.ts +3 -3
  147. package/dist/components/hint/src/tv.d.ts +33 -0
  148. package/dist/components/hint/src/tv.js +11 -0
  149. package/dist/components/icon-button/dist/index.js +2 -2
  150. package/dist/components/icon-button/src/icon-button.js +2 -2
  151. package/dist/components/index.d.ts +3 -0
  152. package/dist/components/input/dist/index.js +4 -4
  153. package/dist/components/input/src/input.js +3 -3
  154. package/dist/components/input/src/tv.js +1 -1
  155. package/dist/components/kbd/dist/index.js +4 -4
  156. package/dist/components/kbd/src/kbd.js +4 -4
  157. package/dist/components/label/dist/index.js +3 -3
  158. package/dist/components/label/src/tv.js +3 -3
  159. package/dist/components/link-button/dist/index.js +3 -3
  160. package/dist/components/link-button/src/link-button.js +3 -3
  161. package/dist/components/list/src/components/list-content.js +2 -2
  162. package/dist/components/list/src/components/list-divider.js +3 -3
  163. package/dist/components/list/src/components/list-item.js +5 -5
  164. package/dist/components/list/src/components/list-label.js +2 -2
  165. package/dist/components/list/src/components/list-sub-trigger.js +4 -4
  166. package/dist/components/list/src/list.js +2 -2
  167. package/dist/components/md-input/dist/index.d.ts +8 -104
  168. package/dist/components/md-input/src/components/extensions/md-input-mention.d.ts +6 -4
  169. package/dist/components/md-input/src/components/extensions/md-input-mention.js +23 -6
  170. package/dist/components/md-input/src/components/md-input-container.js +1 -0
  171. package/dist/components/md-input/src/components/md-input-editor.js +4 -1
  172. package/dist/components/md-input/src/components/md-input-footer.js +5 -1
  173. package/dist/components/md-input/src/components/toolbar/default-actions.d.ts +2 -2
  174. package/dist/components/md-input/src/components/toolbar/toolbar-button.d.ts +1 -0
  175. package/dist/components/md-input/src/components/toolbar/toolbar-button.js +1 -7
  176. package/dist/components/md-input/src/components/toolbar/toolbar.d.ts +2 -2
  177. package/dist/components/md-input/src/hooks/use-markdown-mentions.d.ts +5 -4
  178. package/dist/components/md-input/src/hooks/use-markdown-mentions.js +31 -4
  179. package/dist/components/md-input/src/index.d.ts +1 -4
  180. package/dist/components/md-input/src/md-input.js +18 -14
  181. package/dist/components/md-input/src/tv.d.ts +3 -0
  182. package/dist/components/md-input/src/tv.js +2 -1
  183. package/dist/components/md-input/src/types.d.ts +18 -16
  184. package/dist/components/md-render/dist/index.d.ts +1 -4
  185. package/dist/components/md-render/dist/index.js +8 -9
  186. package/dist/components/md-render/src/components/markdown-components.js +3 -3
  187. package/dist/components/md-render/src/index.d.ts +0 -1
  188. package/dist/components/md-render/src/md-render.js +5 -4
  189. package/dist/components/md-render/src/tv.js +1 -1
  190. package/dist/components/menubar/dist/index.d.ts +50 -0
  191. package/dist/components/menubar/src/components/index.d.ts +3 -0
  192. package/dist/components/menubar/src/components/menubar-divider.d.ts +8 -0
  193. package/dist/components/menubar/src/components/menubar-divider.js +24 -0
  194. package/dist/components/menubar/src/components/menubar-item.d.ts +8 -0
  195. package/dist/components/menubar/src/components/menubar-item.js +195 -0
  196. package/dist/components/menubar/src/components/menubar-trigger.d.ts +8 -0
  197. package/dist/components/menubar/src/components/menubar-trigger.js +45 -0
  198. package/dist/components/menubar/src/context/index.d.ts +1 -0
  199. package/dist/components/menubar/src/context/menubar-context.d.ts +34 -0
  200. package/dist/components/menubar/src/context/menubar-context.js +13 -0
  201. package/dist/components/menubar/src/index.d.ts +3 -0
  202. package/dist/components/menubar/src/menubar.d.ts +22 -0
  203. package/dist/components/menubar/src/menubar.js +177 -0
  204. package/dist/components/menubar/src/tv.d.ts +108 -0
  205. package/dist/components/menubar/src/tv.js +72 -0
  206. package/dist/components/menubar/tsup.config.d.ts +2 -0
  207. package/dist/components/menus/dist/index.d.ts +144 -143
  208. package/dist/components/menus/dist/index.js +50 -49
  209. package/dist/components/menus/src/components/menu-button.js +2 -2
  210. package/dist/components/menus/src/components/menu-checkbox.d.ts +1 -2
  211. package/dist/components/menus/src/components/menu-checkbox.js +2 -2
  212. package/dist/components/menus/src/components/menu-divider.js +3 -3
  213. package/dist/components/menus/src/components/menu-item.js +5 -5
  214. package/dist/components/menus/src/components/menu-label.js +2 -2
  215. package/dist/components/menus/src/components/menu-scroll-arrow.d.ts +2 -2
  216. package/dist/components/menus/src/components/menu-scroll-arrow.js +13 -3
  217. package/dist/components/menus/src/components/menu-search.js +3 -3
  218. package/dist/components/menus/src/components/menu-trigger.js +4 -4
  219. package/dist/components/menus/src/context/menu-context-item.d.ts +6 -6
  220. package/dist/components/menus/src/context/menu-context-item.js +2 -2
  221. package/dist/components/menus/src/context/menu-context-sub-trigger.js +4 -19
  222. package/dist/components/menus/src/context/menu-context.d.ts +2 -2
  223. package/dist/components/menus/src/hooks/use-menu-base-refs.d.ts +12 -12
  224. package/dist/components/menus/src/hooks/use-menu-children.d.ts +16 -16
  225. package/dist/components/menus/src/hooks/use-menu-floating.d.ts +22 -22
  226. package/dist/components/menus/src/hooks/use-menu-refs.d.ts +8 -8
  227. package/dist/components/menus/src/hooks/use-menu-refs.js +2 -2
  228. package/dist/components/menus/src/hooks/use-menu-scroll-height.d.ts +11 -11
  229. package/dist/components/menus/src/hooks/use-menu-scroll.d.ts +18 -18
  230. package/dist/components/menus/src/hooks/use-menu-selection.d.ts +21 -21
  231. package/dist/components/menus/src/hooks/use-menu-state.d.ts +11 -11
  232. package/dist/components/menus/src/hooks/use-menu-state.js +4 -4
  233. package/dist/components/menus/src/hooks/use-menu-touch.d.ts +11 -11
  234. package/dist/components/menus/src/hooks/use-menu-tree.d.ts +15 -15
  235. package/dist/components/menus/src/index.d.ts +5 -0
  236. package/dist/components/menus/src/menus.js +2 -2
  237. package/dist/components/menus/src/tv.d.ts +15 -0
  238. package/dist/components/menus/src/tv.js +8 -2
  239. package/dist/components/modal/dist/index.d.ts +3 -1
  240. package/dist/components/modal/dist/index.js +18 -11
  241. package/dist/components/modal/src/components/modal-content.js +2 -2
  242. package/dist/components/modal/src/components/modal-footer.js +2 -2
  243. package/dist/components/modal/src/components/modal-header.d.ts +3 -1
  244. package/dist/components/modal/src/components/modal-header.js +12 -5
  245. package/dist/components/modal/src/modal.js +2 -2
  246. package/dist/components/multi-select/dist/index.js +13 -11
  247. package/dist/components/multi-select/src/components/multi-select-trigger.js +8 -8
  248. package/dist/components/multi-select/src/multi-select.js +5 -3
  249. package/dist/components/numeric-input/dist/index.d.ts +10 -117
  250. package/dist/components/numeric-input/dist/index.js +18 -24
  251. package/dist/components/numeric-input/src/components/numeric-input-element.js +2 -2
  252. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.d.ts +1 -1
  253. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.js +2 -2
  254. package/dist/components/numeric-input/src/components/numeric-input-variable.d.ts +1 -2
  255. package/dist/components/numeric-input/src/components/numeric-input-variable.js +3 -3
  256. package/dist/components/numeric-input/src/hooks/use-input-interactions.d.ts +3 -3
  257. package/dist/components/numeric-input/src/hooks/use-numeric-input.d.ts +3 -3
  258. package/dist/components/numeric-input/src/hooks/use-numeric-value-processing.d.ts +3 -3
  259. package/dist/components/numeric-input/src/hooks/use-step-calculation.d.ts +6 -6
  260. package/dist/components/numeric-input/src/index.d.ts +5 -4
  261. package/dist/components/numeric-input/src/numeric-input.js +9 -9
  262. package/dist/components/numeric-input/src/utils/error-handler.d.ts +8 -8
  263. package/dist/components/numeric-input/src/utils/expression-evaluator.d.ts +11 -11
  264. package/dist/components/numeric-input/src/utils/input-parser.d.ts +8 -8
  265. package/dist/components/numeric-input/src/utils/numeric-value-processor.d.ts +6 -6
  266. package/dist/components/numeric-input/src/utils/pattern-parser.d.ts +7 -7
  267. package/dist/components/numeric-input/src/utils/value-comparator.d.ts +16 -16
  268. package/dist/components/numeric-input/src/utils/value-processor.d.ts +14 -14
  269. package/dist/components/pagination/src/components/pagination-items-per-page.js +1 -1
  270. package/dist/components/pagination/src/components/pagination-navigation.js +5 -5
  271. package/dist/components/pagination/src/components/pagination-root.js +3 -3
  272. package/dist/components/pagination/src/components/pagination-spinner.js +20 -19
  273. package/dist/components/pagination/src/context/index.d.ts +1 -0
  274. package/dist/components/popover/dist/index.d.ts +2 -4
  275. package/dist/components/popover/dist/index.js +25 -33
  276. package/dist/components/popover/src/components/popover-header.js +1 -1
  277. package/dist/components/popover/src/hooks/use-drag.d.ts +3 -3
  278. package/dist/components/popover/src/hooks/use-floating-popover.d.ts +0 -2
  279. package/dist/components/popover/src/hooks/use-floating-popover.js +16 -13
  280. package/dist/components/popover/src/index.d.ts +2 -1
  281. package/dist/components/popover/src/popover.d.ts +1 -2
  282. package/dist/components/popover/src/popover.js +11 -21
  283. package/dist/components/progress/src/index.d.ts +4 -2
  284. package/dist/components/radio/dist/index.d.ts +1 -17
  285. package/dist/components/radio/dist/index.js +7 -10
  286. package/dist/components/radio/src/context.js +1 -1
  287. package/dist/components/radio/src/index.d.ts +0 -4
  288. package/dist/components/radio/src/radio-label.js +2 -2
  289. package/dist/components/radio/src/radio.js +4 -4
  290. package/dist/components/range/dist/index.js +16 -16
  291. package/dist/components/range/src/index.d.ts +4 -2
  292. package/dist/components/range/src/range-tuple.js +10 -10
  293. package/dist/components/range/src/range.js +6 -6
  294. package/dist/components/rich-input/dist/index.d.ts +12 -366
  295. package/dist/components/rich-input/src/components/rich-input-editable-component.d.ts +2 -2
  296. package/dist/components/rich-input/src/components/rich-input-viewport.d.ts +2 -2
  297. package/dist/components/rich-input/src/hooks/use-editor-config.d.ts +1 -1
  298. package/dist/components/rich-input/src/hooks/use-editor-effects.js +3 -0
  299. package/dist/components/rich-input/src/hooks/use-floating-ui.js +1 -1
  300. package/dist/components/rich-input/src/hooks/use-keyboard-shortcuts.d.ts +9 -9
  301. package/dist/components/rich-input/src/hooks/use-rich-input.d.ts +2 -2
  302. package/dist/components/rich-input/src/hooks/use-rich-input.js +40 -17
  303. package/dist/components/rich-input/src/hooks/use-selection-events.js +1 -2
  304. package/dist/components/rich-input/src/index.d.ts +3 -5
  305. package/dist/components/rich-input/src/rich-input-base.js +1 -1
  306. package/dist/components/rich-input/src/utils/custom-options.js +1 -1
  307. package/dist/components/rich-input/src/utils/editor-utils.js +1 -1
  308. package/dist/components/rich-input/src/utils/markdown-to-slate.d.ts +2 -2
  309. package/dist/components/rich-input/src/utils/slate-to-markdown.d.ts +1 -1
  310. package/dist/components/rich-input/src/utils/slate-to-markdown.js +9 -0
  311. package/dist/components/scroll-area/dist/index.d.ts +19 -19
  312. package/dist/components/scroll-area/dist/index.js +24 -24
  313. package/dist/components/scroll-area/src/components/scroll-area-corner.js +2 -2
  314. package/dist/components/scroll-area/src/components/scroll-area-root.js +3 -3
  315. package/dist/components/scroll-area/src/components/scroll-area-scrollbar.js +2 -2
  316. package/dist/components/scroll-area/src/components/scroll-area-thumb.js +2 -2
  317. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.d.ts +6 -6
  318. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.js +3 -3
  319. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.d.ts +1 -1
  320. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.js +3 -3
  321. package/dist/components/scroll-area/src/hooks/use-scrollbar.d.ts +2 -2
  322. package/dist/components/scroll-area/src/hooks/use-thumb.d.ts +2 -2
  323. package/dist/components/scroll-area/src/tv.d.ts +18 -18
  324. package/dist/components/scroll-area/src/tv.js +12 -12
  325. package/dist/components/scroll-area/src/types.d.ts +8 -8
  326. package/dist/components/scroll-area/src/utils/index.d.ts +3 -3
  327. package/dist/components/search-input/dist/index.js +3 -3
  328. package/dist/components/search-input/src/index.d.ts +2 -1
  329. package/dist/components/search-input/src/search-input.js +3 -3
  330. package/dist/components/segmented/dist/index.js +5 -5
  331. package/dist/components/segmented/src/segmented-item.js +3 -3
  332. package/dist/components/segmented/src/segmented.js +2 -2
  333. package/dist/components/select/dist/index.js +4 -4
  334. package/dist/components/select/src/select.js +4 -4
  335. package/dist/components/separator/dist/index.d.ts +26 -0
  336. package/dist/components/separator/src/index.d.ts +2 -0
  337. package/dist/components/separator/src/separator.d.ts +22 -0
  338. package/dist/components/separator/src/separator.js +33 -0
  339. package/dist/components/separator/src/tv.d.ts +76 -0
  340. package/dist/components/separator/src/tv.js +25 -0
  341. package/dist/components/separator/tsup.config.d.ts +2 -0
  342. package/dist/components/skeleton/dist/index.d.ts +1 -28
  343. package/dist/components/skeleton/src/context/skeleton-context.js +1 -1
  344. package/dist/components/skeleton/src/hooks/use-skeleton.d.ts +1 -2
  345. package/dist/components/skeleton/src/hooks/use-skeleton.js +1 -1
  346. package/dist/components/skeleton/src/index.d.ts +1 -3
  347. package/dist/components/skeleton/src/skeleton.d.ts +0 -13
  348. package/dist/components/skeleton/src/skeleton.js +4 -6
  349. package/dist/components/skeleton/src/tv.d.ts +18 -12
  350. package/dist/components/skeleton/src/tv.js +10 -6
  351. package/dist/components/slot/dist/index.d.ts +10 -10
  352. package/dist/components/slot/dist/index.js +4 -2
  353. package/dist/components/slot/src/slot.d.ts +12 -12
  354. package/dist/components/slot/src/slot.js +6 -3
  355. package/dist/components/stackflow/src/context.js +1 -1
  356. package/dist/components/stackflow/src/index.d.ts +2 -1
  357. package/dist/components/switch/dist/index.d.ts +2 -2
  358. package/dist/components/switch/dist/index.js +6 -7
  359. package/dist/components/switch/src/index.d.ts +2 -1
  360. package/dist/components/switch/src/switch.js +6 -6
  361. package/dist/components/table/dist/index.d.ts +679 -0
  362. package/dist/components/table/index.d.ts +1 -0
  363. package/dist/components/table/src/components/column-resizer.d.ts +8 -0
  364. package/dist/components/table/src/components/column-resizer.js +58 -0
  365. package/dist/components/table/src/components/drag-guide.d.ts +6 -0
  366. package/dist/components/table/src/components/drag-guide.js +64 -0
  367. package/dist/components/table/src/components/index.d.ts +12 -0
  368. package/dist/components/table/src/components/resize-guide.d.ts +5 -0
  369. package/dist/components/table/src/components/resize-guide.js +25 -0
  370. package/dist/components/table/src/components/table-body.d.ts +6 -0
  371. package/dist/components/table/src/components/table-body.js +335 -0
  372. package/dist/components/table/src/components/table-cell.d.ts +6 -0
  373. package/dist/components/table/src/components/table-cell.js +89 -0
  374. package/dist/components/table/src/components/table-column.d.ts +5 -0
  375. package/dist/components/table/src/components/table-column.js +269 -0
  376. package/dist/components/table/src/components/table-empty.d.ts +8 -0
  377. package/dist/components/table/src/components/table-empty.js +10 -0
  378. package/dist/components/table/src/components/table-footer.d.ts +7 -0
  379. package/dist/components/table/src/components/table-footer.js +15 -0
  380. package/dist/components/table/src/components/table-header.d.ts +3 -0
  381. package/dist/components/table/src/components/table-header.js +88 -0
  382. package/dist/components/table/src/components/table-root.d.ts +3 -0
  383. package/dist/components/table/src/components/table-root.js +317 -0
  384. package/dist/components/table/src/components/table-row.d.ts +23 -0
  385. package/dist/components/table/src/components/table-row.js +166 -0
  386. package/dist/components/table/src/components/table-value.d.ts +6 -0
  387. package/dist/components/table/src/components/table-value.js +8 -0
  388. package/dist/components/table/src/context.d.ts +121 -0
  389. package/dist/components/table/src/context.js +63 -0
  390. package/dist/components/table/src/hooks/index.d.ts +4 -0
  391. package/dist/components/table/src/hooks/use-column-order.d.ts +26 -0
  392. package/dist/components/table/src/hooks/use-column-order.js +95 -0
  393. package/dist/components/table/src/hooks/use-column-resize.d.ts +17 -0
  394. package/dist/components/table/src/hooks/use-column-resize.js +75 -0
  395. package/dist/components/table/src/hooks/use-consecutive-selection-style.d.ts +12 -0
  396. package/dist/components/table/src/hooks/use-consecutive-selection-style.js +28 -0
  397. package/dist/components/table/src/hooks/use-table.d.ts +35 -0
  398. package/dist/components/table/src/hooks/use-table.js +245 -0
  399. package/dist/components/table/src/index.d.ts +4 -0
  400. package/dist/components/table/src/table.d.ts +88 -0
  401. package/dist/components/table/src/table.js +24 -0
  402. package/dist/components/table/src/tv.d.ts +176 -0
  403. package/dist/components/table/src/tv.js +97 -0
  404. package/dist/components/table/src/types.d.ts +292 -0
  405. package/dist/components/table/tsup.config.d.ts +2 -0
  406. package/dist/components/tabs/dist/index.js +4 -3
  407. package/dist/components/tabs/src/tabs.d.ts +2 -2
  408. package/dist/components/tabs/src/tabs.js +5 -4
  409. package/dist/components/text-field/dist/index.d.ts +1 -1
  410. package/dist/components/text-field/dist/index.js +10 -10
  411. package/dist/components/text-field/src/components/field-addon.d.ts +1 -2
  412. package/dist/components/text-field/src/index.d.ts +3 -1
  413. package/dist/components/text-field/src/text-field.js +10 -10
  414. package/dist/components/textarea/dist/index.d.ts +33 -5
  415. package/dist/components/textarea/dist/index.js +32 -7
  416. package/dist/components/textarea/src/components/autosize/index.d.ts +6 -1
  417. package/dist/components/textarea/src/components/autosize/index.js +31 -6
  418. package/dist/components/textarea/src/textarea.js +1 -1
  419. package/dist/components/textarea/src/types.d.ts +33 -5
  420. package/dist/components/toggle-button/dist/index.d.ts +26 -2
  421. package/dist/components/toggle-button/src/context.d.ts +11 -0
  422. package/dist/components/toggle-button/src/context.js +13 -0
  423. package/dist/components/toggle-button/src/index.d.ts +2 -0
  424. package/dist/components/toggle-button/src/toggle-button.js +4 -4
  425. package/dist/components/toggle-button/src/toggle-group.d.ts +26 -0
  426. package/dist/components/toggle-button/src/toggle-group.js +156 -0
  427. package/dist/components/toggle-button/src/tv.d.ts +67 -3
  428. package/dist/components/toggle-button/src/tv.js +45 -14
  429. package/dist/components/tooltip/dist/index.d.ts +10 -43
  430. package/dist/components/tooltip/dist/index.js +35 -33
  431. package/dist/components/tooltip/src/components/tooltip-arrow.js +1 -1
  432. package/dist/components/tooltip/src/components/tooltip-content.js +5 -4
  433. package/dist/components/tooltip/src/context/index.d.ts +1 -0
  434. package/dist/components/tooltip/src/hooks/use-tooltip.js +3 -3
  435. package/dist/components/tooltip/src/index.d.ts +2 -4
  436. package/dist/components/tooltip/src/tooltip.d.ts +7 -1
  437. package/dist/components/tooltip/src/tooltip.js +6 -1
  438. package/dist/components/tooltip/src/tv.js +1 -1
  439. package/dist/components/virtualized-grid/dist/index.d.ts +2 -2
  440. package/dist/components/virtualized-grid/src/use-item-pool.js +14 -26
  441. package/dist/components/virtualized-grid/src/use-virtualized-grid.d.ts +1 -1
  442. package/dist/components/virtualized-grid/src/use-virtualized-grid.js +14 -8
  443. package/dist/components/virtualized-grid/src/utility.d.ts +1 -1
  444. package/dist/components/virtualized-grid/src/utility.js +37 -31
  445. package/dist/components/virtualized-grid/src/virtualized-grid.js +27 -17
  446. package/dist/context/choice-ui-provider.d.ts +35 -0
  447. package/dist/context/choice-ui-provider.js +14 -0
  448. package/dist/context/index.d.ts +2 -0
  449. package/dist/index.d.ts +1 -0
  450. package/dist/index.js +53 -177
  451. package/package.json +1 -1
  452. package/dist/components/code-block/src/index.js +0 -15
  453. package/dist/components/rich-input/src/hooks/use-mouse-events.js +0 -113
  454. package/dist/components/rich-input/src/hooks/use-validation.js +0 -80
  455. package/dist/components/rich-input/src/utils/markdown-to-slate.js +0 -219
  456. /package/dist/components/command/src/{command-score.d.ts → utils/command-score.d.ts} +0 -0
  457. /package/dist/components/command/src/{command-score.js → utils/command-score.js} +0 -0
  458. /package/dist/components/pagination/src/{components → context}/pagination-context.d.ts +0 -0
  459. /package/dist/components/pagination/src/{components → context}/pagination-context.js +0 -0
@@ -47,89 +47,90 @@ const naturalLanguageMap = {
47
47
  }
48
48
  };
49
49
  const relativeDatePatterns = [
50
- // 数字 + 天/日
50
+ // Number + day/day
51
51
  { pattern: /(\d+)\s*天[后前]?/g, type: "day", multiplier: 1 },
52
52
  { pattern: /(\d+)\s*日[后前]?/g, type: "day", multiplier: 1 },
53
53
  { pattern: /(\d+)\s*days?\s*(later|ago)?/gi, type: "day", multiplier: 1 },
54
- // 数字 + 周/星期
54
+ // Number + week/week
55
55
  { pattern: /(\d+)\s*周[后前]?/g, type: "week", multiplier: 1 },
56
56
  { pattern: /(\d+)\s*星期[后前]?/g, type: "week", multiplier: 1 },
57
57
  { pattern: /(\d+)\s*weeks?\s*(later|ago)?/gi, type: "week", multiplier: 1 },
58
- // 数字 +
58
+ // Number + month
59
59
  { pattern: /(\d+)\s*个?月[后前]?/g, type: "month", multiplier: 1 },
60
60
  { pattern: /(\d+)\s*months?\s*(later|ago)?/gi, type: "month", multiplier: 1 },
61
- // 数字 +
61
+ // Number + year
62
62
  { pattern: /(\d+)\s*年[后前]?/g, type: "year", multiplier: 1 },
63
63
  { pattern: /(\d+)\s*years?\s*(later|ago)?/gi, type: "year", multiplier: 1 }
64
64
  ];
65
65
  const commonDateFormats = [
66
66
  "yyyy-MM-dd",
67
- // 最常用的 ISO 格式
67
+ // Most commonly used ISO format
68
68
  "MM/dd/yyyy",
69
- // 美式格式
69
+ // American format
70
70
  "dd/MM/yyyy",
71
- // 欧式格式
71
+ // European format
72
72
  "yyyy/MM/dd",
73
- // 日式格式
73
+ // Japanese format
74
74
  "yyyyMMdd",
75
- // 紧凑格式
75
+ // Compact format
76
76
  "yyyy-M-d",
77
- // 宽松格式
77
+ // Loose format
78
78
  "yyyy/M/d",
79
79
  "M/d/yyyy",
80
80
  "d/M/yyyy",
81
+ // German format
81
82
  "dd.MM.yyyy",
82
- // 德式格式
83
+ // German format
83
84
  "yyyy.MM.dd"
84
85
  ];
85
86
  const commonTimeFormats = [
86
87
  "HH:mm",
87
- // 24小时制(最常用)
88
+ // 24 hour format (most commonly used)
88
89
  "H:mm",
89
- // 24小时制不补零
90
+ // 24 hour format without zero padding
90
91
  "HH:mm:ss",
91
- // 带秒
92
+ // With seconds
92
93
  "h:mm a",
93
- // 12小时制
94
+ // 12 hour format without zero padding
94
95
  "hh:mm a",
95
- // 12小时制补零
96
+ // 12 hour format with zero padding
96
97
  "h:mm aa",
97
98
  "HHmm",
98
- // 紧凑格式
99
+ // Compact format
99
100
  "Hmm"
100
101
  ];
101
102
  const parserConfig = {
102
- // 解析器优先级(数字越小优先级越高)
103
+ // Parser priority (number越小优先级越高)
103
104
  priority: {
104
105
  digits: 1,
105
- // 纯数字解析(最快)
106
+ // Pure numeric parsing (fastest)
106
107
  shortcuts: 2,
107
- // 快捷键解析
108
+ // Shortcut parsing
108
109
  standardFormat: 3,
109
- // 标准格式解析
110
+ // Standard format parsing
110
111
  naturalLanguage: 4,
111
- // 自然语言解析
112
+ // Natural language parsing
112
113
  relativeDate: 5,
113
- // 相对日期解析
114
+ // Relative date parsing
114
115
  englishDate: 6,
115
- // 英文日期解析
116
+ // English date parsing
116
117
  fuzzyMatch: 7
117
- // 模糊匹配(最慢)
118
+ // Fuzzy matching (slowest)
118
119
  },
119
- // 缓存配置
120
+ // Cache configuration
120
121
  cache: {
121
122
  enabled: true,
122
123
  maxSize: 100,
123
- // 最大缓存条目数
124
+ // Maximum cache entries
124
125
  ttl: 6e4
125
- // 缓存时间 (ms)
126
+ // Cache time (ms)
126
127
  },
127
- // 性能阈值
128
+ // Performance threshold
128
129
  performance: {
129
130
  maxParseTime: 50,
130
- // 最大解析时间 (ms)
131
+ // Maximum parse time (ms)
131
132
  enableProfiling: false
132
- // 是否启用性能分析
133
+ // Whether to enable performance analysis
133
134
  }
134
135
  };
135
136
  class SimpleCache {
@@ -1,70 +1,70 @@
1
1
  import { TZDate } from '@date-fns/tz';
2
2
  /**
3
- * 日期比较精度模式
4
- * - 'exact-time': 精确时间比较(包含时、分、秒、毫秒)
5
- * - 'date-only': 仅日期比较(忽略时间部分,比较年、月、日)
3
+ * Date comparison precision mode
4
+ * - 'exact-time': Exact time comparison (includes hours, minutes, seconds, milliseconds)
5
+ * - 'date-only': Date only comparison (ignores time part, compares year, month, day)
6
6
  */
7
7
  export type DateComparisonMode = "exact-time" | "date-only";
8
8
  /**
9
- * 时区感知的日期部分
9
+ * Time zone aware date parts
10
10
  */
11
11
  export interface DateParts {
12
- /** 日期(1-31 */
12
+ /** Day (1-31) */
13
13
  day: number;
14
- /** 月份(0-11 */
14
+ /** Month (0-11) */
15
15
  month: number;
16
- /** 星期几(0-60为周日) */
16
+ /** Weekday (0-6, 0 is Sunday) */
17
17
  weekday: number;
18
- /** 年份 */
18
+ /** Year */
19
19
  year: number;
20
20
  }
21
21
  /**
22
- * 创建时区上下文选项(用于 date-fns 4.0+)
22
+ * Create time zone context options (for date-fns 4.0+)
23
23
  */
24
24
  export declare function createTimeZoneContext(timeZone?: string): {
25
25
  in: (value: Date | number | string) => TZDate;
26
26
  } | undefined;
27
27
  /**
28
- * 时区感知的日期比较(仅比较日期部分)
28
+ * Time zone aware date comparison (only compares date part)
29
29
  *
30
- * @param date1 第一个日期
31
- * @param date2 第二个日期
32
- * @param timeZone 时区(可选,默认使用本地时区)
33
- * @returns 是否为同一天
30
+ * @param date1 First date
31
+ * @param date2 Second date
32
+ * @param timeZone Time zone (optional, default uses local timezone)
33
+ * @returns Whether they are the same day
34
34
  *
35
35
  * @example
36
36
  * ```typescript
37
37
  * const date1 = new Date('2025-01-15T23:30:00Z') // UTC
38
- * const date2 = new Date('2025-01-16T08:30:00+09:00') // JST (同一天)
38
+ * const date2 = new Date('2025-01-16T08:30:00+09:00') // JST (same day)
39
39
  * isSameDayInTimeZone(date1, date2, 'Asia/Tokyo') // true
40
40
  * ```
41
41
  */
42
42
  export declare function isSameDayInTimeZone(date1: Date, date2: Date, timeZone?: string): boolean;
43
43
  /**
44
- * 时区感知的月份比较
44
+ * Time zone aware month comparison
45
45
  */
46
46
  export declare function isSameMonthInTimeZone(date1: Date, date2: Date, timeZone?: string): boolean;
47
47
  /**
48
- * 时区感知的年份比较
48
+ * Time zone aware year comparison
49
49
  */
50
50
  export declare function isSameYearInTimeZone(date1: Date, date2: Date, timeZone?: string): boolean;
51
51
  /**
52
- * 时区感知的星期比较
52
+ * Time zone aware week comparison
53
53
  */
54
54
  export declare function isSameWeekInTimeZone(date1: Date, date2: Date, timeZone?: string): boolean;
55
55
  /**
56
- * 时区感知的今天判断
56
+ * Time zone aware today check
57
57
  */
58
58
  export declare function isTodayInTimeZone(date: Date, timeZone?: string): boolean;
59
59
  /**
60
- * 判断日期是否在指定范围内(支持时区和比较模式)
60
+ * Check if date is within specified range (supports time zone and comparison mode)
61
61
  *
62
- * @param date 要检查的日期
63
- * @param rangeStart 范围开始日期
64
- * @param rangeEnd 范围结束日期
65
- * @param timeZone 时区(可选)
66
- * @param mode 比较模式(默认仅日期)
67
- * @returns 是否在范围内
62
+ * @param date Date to check
63
+ * @param rangeStart Range start date
64
+ * @param rangeEnd Range end date
65
+ * @param timeZone Time zone (optional)
66
+ * @param mode Comparison mode (default is date-only)
67
+ * @returns Whether it is within the range
68
68
  *
69
69
  * @example
70
70
  * ```typescript
@@ -77,16 +77,16 @@ export declare function isTodayInTimeZone(date: Date, timeZone?: string): boolea
77
77
  */
78
78
  export declare function isWithinRange(date: Date, rangeStart: Date, rangeEnd: Date, timeZone?: string, mode?: DateComparisonMode): boolean;
79
79
  /**
80
- * 获取时区感知的详细日期部分
80
+ * Get time zone aware detailed date parts
81
81
  */
82
82
  export declare function getDateParts(date: Date, timeZone?: string): DateParts;
83
83
  /**
84
- * 获取日期的唯一键(用于 Map/Set 等数据结构)
84
+ * Get the unique key of the date (for Map/Set etc. data structures)
85
85
  *
86
- * @param date 日期对象
87
- * @param timeZone 时区(可选)
88
- * @param includeTime 是否包含时间部分(默认false
89
- * @returns 格式化的日期键
86
+ * @param date Date object
87
+ * @param timeZone Time zone (optional)
88
+ * @param includeTime Whether to include time part (default is false)
89
+ * @returns Formatted date key
90
90
  *
91
91
  * @example
92
92
  * ```typescript
@@ -96,10 +96,10 @@ export declare function getDateParts(date: Date, timeZone?: string): DateParts;
96
96
  */
97
97
  export declare function getDateKey(date: Date, timeZone?: string, includeTime?: boolean): string;
98
98
  /**
99
- * 批量比较日期数组是否相等(时区感知)
99
+ * Batch compare date arrays for equality (time zone aware)
100
100
  */
101
101
  export declare function areDatesEqual(dates1: Date[], dates2: Date[], timeZone?: string, mode?: DateComparisonMode): boolean;
102
102
  /**
103
- * 清除时区日期缓存(用于测试或内存管理)
103
+ * Clear time zone date cache (for testing or memory management)
104
104
  */
105
105
  export declare function clearTimeZoneCache(): void;
@@ -1,15 +1,15 @@
1
1
  import { Locale } from 'date-fns';
2
2
  export declare const LOCALE_MAP: Record<string, Locale>;
3
3
  /**
4
- * 🔧 安全的 locale 解析函数
4
+ * 🔧 Safe locale parsing function
5
5
  *
6
- * 支持以下输入格式:
7
- * - Locale 对象:直接返回
8
- * - 字符串:自动映射到对应的 Locale 对象
9
- * - 无效值:返回中文 locale (zhCN)
6
+ * Supports the following input formats:
7
+ * - Locale object: return directly
8
+ * - String: automatically map to the corresponding Locale object
9
+ * - Invalid value: return Chinese locale (zhCN)
10
10
  *
11
- * @param locale - 可以是 Locale 对象或字符串
12
- * @returns 解析后的 Locale 对象
11
+ * @param locale - Can be a Locale object or string
12
+ * @returns Parsed Locale object
13
13
  *
14
14
  * @example
15
15
  * ```ts
@@ -21,13 +21,13 @@ export declare const LOCALE_MAP: Record<string, Locale>;
21
21
  */
22
22
  export declare function resolveLocale(locale: Locale | string | undefined | null): Locale;
23
23
  /**
24
- * 🔍 获取所有支持的 locale 列表
25
- * @returns 支持的 locale 字符串数组
24
+ * 🔍 Get all supported locale list
25
+ * @returns Supported locale string array
26
26
  */
27
27
  export declare function getSupportedLocales(): string[];
28
28
  /**
29
- * 🎯 检查是否为中文 locale
30
- * @param locale - Locale 对象或字符串
31
- * @returns 是否为中文
29
+ * 🎯 Check if it is a Chinese locale
30
+ * @param locale - Locale object or string
31
+ * @returns Whether it is a Chinese locale
32
32
  */
33
33
  export declare function isChineseLocale(locale: Locale | string | undefined | null): boolean;
@@ -16,14 +16,14 @@ export declare function generateCalendarDays(currentMonth: Date, weekStartsOn?:
16
16
  export declare function formatMonthTitle(date: Date, locale?: Locale | string): string;
17
17
  export declare function calculateWeekNumbers(calendarDays: Date[], locale?: Locale | string): number[];
18
18
  /**
19
- * 根据值类型推断选择模式
19
+ * Infer selection mode based on value type
20
20
  */
21
21
  export declare function inferSelectionMode(value: CalendarValue): SelectionMode;
22
22
  /**
23
- * CalendarValue 推断应该显示的月份
23
+ * Infer month from CalendarValue
24
24
  */
25
25
  export declare function inferMonthFromValue(value: CalendarValue): Date | null;
26
26
  /**
27
- * 比较两个 CalendarValue 是否相等(支持时区感知和比较精度)
27
+ * Compare two CalendarValue for equality (supports time zone aware and comparison precision)
28
28
  */
29
29
  export declare function isCalendarValueEqual(a: CalendarValue, b: CalendarValue, timeZone?: string, dateComparisonMode?: "exact-time" | "date-only"): boolean;
@@ -53,7 +53,7 @@ function calculateWeekNumbers(calendarDays, locale = zhCN) {
53
53
  const weekNumber = getWeek(weekFirstDay, {
54
54
  locale: safeLocale,
55
55
  weekStartsOn: 1
56
- // ISO周数标准,周一开始
56
+ // ISO week number standard, week starts on Monday
57
57
  });
58
58
  weekNumbers.push(weekNumber);
59
59
  }
@@ -17,8 +17,8 @@ function getEnglishMonths() {
17
17
  if (!englishMonthsCache) {
18
18
  englishMonthsCache = {
19
19
  ...generateMonthMapping(enUS, ["MMMM", "MMM", "MMM."]),
20
- // 全称、缩写、带点缩写
21
- // 常见变体
20
+ // Full name, abbreviation, dot abbreviation
21
+ // Common variations
22
22
  sept: 9,
23
23
  "sept.": 9
24
24
  };
@@ -29,7 +29,7 @@ function getChineseMonths() {
29
29
  if (!chineseMonthsCache) {
30
30
  chineseMonthsCache = {
31
31
  ...generateMonthMapping(zhCN, ["MMMM", "M月"])
32
- // 中文月份名和数字月份
32
+ // Chinese month name and number month
33
33
  };
34
34
  }
35
35
  return chineseMonthsCache;
@@ -1,59 +1,59 @@
1
1
  /**
2
- * 数字解析统一工具函数
3
- * 用于消除parsers中的重复代码
2
+ * Unified numeric parsing tool functions
3
+ * Used to eliminate duplicate code in parsers
4
4
  */
5
- /** 提取纯数字字符串 */
5
+ /** Extract pure numeric string */
6
6
  export declare function extractDigits(input: string): string;
7
- /** 数字段提取器 */
7
+ /** Numeric segment extractor */
8
8
  export declare class DigitExtractor {
9
9
  private digits;
10
10
  constructor(digits: string);
11
- /** 提取指定位置的数字 */
11
+ /** Extract number at specified position */
12
12
  extract(start: number, length: number): number;
13
- /** 提取年份 (2) */
13
+ /** Extract year (first 2 digits) */
14
14
  getYear2(): number;
15
- /** 提取年份 (4) */
15
+ /** Extract year (first 4 digits) */
16
16
  getYear4(): number;
17
- /** 提取月份 (2) */
17
+ /** Extract month (first 2 digits) */
18
18
  getMonth(): number;
19
- /** 提取日期 (3-4位) */
19
+ /** Extract date (3-4th digits) */
20
20
  getDay(): number;
21
- /** 提取6位数字的各个部分 (YYMMDD格式) */
21
+ /** Extract each part of 6 digits (YYMMDD format) */
22
22
  getYYMMDD(): {
23
23
  day: number;
24
24
  month: number;
25
25
  year: number;
26
26
  };
27
- /** 提取8位数字的各个部分 (YYYYMMDD格式) */
27
+ /** Extract each part of 8 digits (YYYYMMDD format) */
28
28
  getYYYYMMDD(): {
29
29
  day: number;
30
30
  month: number;
31
31
  year: number;
32
32
  };
33
- /** 提取3位数字的各个部分 */
33
+ /** Extract each part of 3 digits */
34
34
  get3DigitParts(): {
35
35
  first: number;
36
36
  lastTwo: number;
37
37
  };
38
38
  }
39
- /** 年份转换工具 */
39
+ /** Year conversion tool */
40
40
  export declare function convertTwoDigitYear(year: number): number;
41
- /** 检查是否为有效的月日组合 */
41
+ /** Check if it is a valid month and day combination */
42
42
  export declare function isValidMonthDay(month: number, day: number): boolean;
43
- /** 检查3位数字是否可以解释为月日 */
43
+ /** Check if 3 digits can be interpreted as month and day */
44
44
  export declare function canBeMonthDay(firstDigit: number, lastTwoDigits: number): boolean;
45
- /** 检查是否为合理的年份 */
45
+ /** Check if it is a reasonable year */
46
46
  export declare function isReasonableYear(year: number): boolean;
47
- /** 数字解析结果 */
47
+ /** Numeric parsing result */
48
48
  export interface NumericParseResult {
49
49
  day: number;
50
50
  formatted: string;
51
51
  month: number;
52
52
  year: number;
53
53
  }
54
- /** 通用的6位数字解析器 (YYMMDD) */
54
+ /** General 6-digit parser (YYMMDD) */
55
55
  export declare function parseYYMMDD(digits: string, targetFormat: string): NumericParseResult | null;
56
- /** 通用的8位数字解析器 (YYYYMMDD) */
56
+ /** General 8-digit parser (YYYYMMDD) */
57
57
  export declare function parseYYYYMMDD(digits: string, targetFormat: string): NumericParseResult | null;
58
- /** 智能的3位数字解析器 */
58
+ /** Intelligent 3-digit parser */
59
59
  export declare function parse3Digits(digits: string, currentYear: number, targetFormat: string): NumericParseResult | null;
@@ -6,27 +6,27 @@ class DigitExtractor {
6
6
  constructor(digits) {
7
7
  this.digits = digits;
8
8
  }
9
- /** 提取指定位置的数字 */
9
+ /** Extract number at specified position */
10
10
  extract(start, length) {
11
11
  return parseInt(this.digits.substring(start, start + length), 10);
12
12
  }
13
- /** 提取年份 (2) */
13
+ /** Extract year (first 2 digits) */
14
14
  getYear2() {
15
15
  return this.extract(0, 2);
16
16
  }
17
- /** 提取年份 (4) */
17
+ /** Extract year (first 4 digits) */
18
18
  getYear4() {
19
19
  return this.extract(0, 4);
20
20
  }
21
- /** 提取月份 (2) */
21
+ /** Extract month (first 2 digits) */
22
22
  getMonth() {
23
23
  return this.extract(0, 2);
24
24
  }
25
- /** 提取日期 (3-4位) */
25
+ /** Extract date (3-4th digits) */
26
26
  getDay() {
27
27
  return this.extract(2, 2);
28
28
  }
29
- /** 提取6位数字的各个部分 (YYMMDD格式) */
29
+ /** Extract each part of 6 digits (YYMMDD format) */
30
30
  getYYMMDD() {
31
31
  return {
32
32
  year: this.extract(0, 2),
@@ -34,7 +34,7 @@ class DigitExtractor {
34
34
  day: this.extract(4, 2)
35
35
  };
36
36
  }
37
- /** 提取8位数字的各个部分 (YYYYMMDD格式) */
37
+ /** Extract each part of 8 digits (YYYYMMDD format) */
38
38
  getYYYYMMDD() {
39
39
  return {
40
40
  year: this.extract(0, 4),
@@ -42,7 +42,7 @@ class DigitExtractor {
42
42
  day: this.extract(6, 2)
43
43
  };
44
44
  }
45
- /** 提取3位数字的各个部分 */
45
+ /** Extract each part of 3 digits */
46
46
  get3DigitParts() {
47
47
  return {
48
48
  first: this.extract(0, 1),
@@ -3,33 +3,33 @@ import { DateInputValue, DateParserOptions, DateDataFormat } from '../../types';
3
3
  export type ParseResult = Date | null;
4
4
  export type DetailedParseResult = DateInputValue;
5
5
  export interface ParseOptions {
6
- /** 是否返回详细信息 */
6
+ /** Whether to return detailed information */
7
7
  detailed?: boolean;
8
- /** 是否启用自然语言解析 */
8
+ /** Whether to enable natural language parsing */
9
9
  enableNaturalLanguage?: boolean;
10
- /** 是否启用相对日期解析 */
10
+ /** Whether to enable relative date parsing */
11
11
  enableRelativeDate?: boolean;
12
- /** 是否启用智能修正 */
12
+ /** Whether to enable smart correction */
13
13
  enableSmartCorrection?: boolean;
14
- /** 目标格式 */
14
+ /** Target format */
15
15
  format?: DateDataFormat;
16
- /** 语言环境 */
16
+ /** Language environment */
17
17
  locale?: Locale;
18
- /** 是否严格模式 */
18
+ /** Whether to strict mode */
19
19
  strict?: boolean;
20
20
  }
21
21
  /**
22
- * 统一的日期解析器 - 合并了原来的 tryRelaxedParsing smartParseDate
22
+ * Unified date parser - merged the original tryRelaxedParsing and smartParseDate
23
23
  *
24
- * 解析策略按优先级排序(修正为正确的优先级):
25
- * 1. 标准格式解析 - 严格按照指定格式解析
26
- * 2. 智能数字解析(核心功能) - 纯数字输入的智能猜测 [最重要]
27
- * 3. 快捷键解析 - today, tomorrow, yesterday
28
- * 4. 扩展相对日期解析 - "3 days ago", "next week"
29
- * 5. 自然语言解析 - "今天", "明天", "下周三"
30
- * 6. 相对日期解析 - "+3d", "-1w" 等简短格式
31
- * 7. 英文日期解析 - "Jan 15, 2024", "March 3rd"
32
- * 8. 常见格式尝试 - 尝试其他常用日期格式
24
+ * Parsing strategy sorted by priority (corrected to correct priority):
25
+ * 1. Standard format parsing - strictly parse according to the specified format
26
+ * 2. Intelligent numeric parsing (core function) - intelligent guess of pure numeric input [most important]
27
+ * 3. Shortcut parsing - today, tomorrow, yesterday, etc.
28
+ * 4. Extended relative date parsing - "3 days ago", "next week", etc.
29
+ * 5. Natural language parsing - "today", "tomorrow", "next Wednesday", etc.
30
+ * 6. Relative date parsing - "+3d", "-1w", etc. short format
31
+ * 7. English date parsing - "Jan 15, 2024", "March 3rd", etc.
32
+ * 8. Common format attempt - try other commonly used date formats
33
33
  */
34
34
  export declare function parseDate(input: string, options: ParseOptions & {
35
35
  detailed: true;
@@ -193,7 +193,7 @@ function buildYYYYMMDDFormat(digitOnlyInput, length, currentYear, currentMonth,
193
193
  return `${year}-${monthTens}-${currentDay}`;
194
194
  } else if (length === 6) {
195
195
  const result = parseYYMMDD(digitOnlyInput, "yyyy-MM-dd");
196
- return (result == null ? void 0 : result.formatted) || // 降级到智能修正,强制使用 YYMMDD 格式
196
+ return (result == null ? void 0 : result.formatted) || // Degrade to intelligent correction, force using YYMMDD format
197
197
  (() => {
198
198
  const yymmddYear = parseInt(digitOnlyInput.substring(0, 2), 10);
199
199
  const yymmddMonth = parseInt(digitOnlyInput.substring(2, 4), 10);
@@ -210,7 +210,7 @@ function buildYYYYMMDDFormat(digitOnlyInput, length, currentYear, currentMonth,
210
210
  return `${year}-${validMonth}-${dayTens}`;
211
211
  } else if (length === 8) {
212
212
  const result = parseYYYYMMDD(digitOnlyInput, "yyyy-MM-dd");
213
- return (result == null ? void 0 : result.formatted) || // 降级到智能修正
213
+ return (result == null ? void 0 : result.formatted) || // Degrade to intelligent correction
214
214
  (() => {
215
215
  const year = parseInt(digitOnlyInput.substring(0, 4), 10);
216
216
  const month = parseInt(digitOnlyInput.substring(4, 6), 10);
@@ -1,21 +1,21 @@
1
1
  import { DateDataFormat } from '../../types';
2
2
  export interface PredictionResult {
3
- /** 置信度 (0-1) */
3
+ /** Confidence (0-1) */
4
4
  confidence: number;
5
- /** 描述信息 */
5
+ /** Description */
6
6
  description: string;
7
- /** 预测的日期字符串 */
7
+ /** Predicted date string */
8
8
  prediction: string;
9
- /** 预测类型 */
9
+ /** Prediction type */
10
10
  type: "numeric" | "shortcut" | "relative" | "parsed";
11
11
  }
12
12
  /**
13
- * 增强的智能预测功能
14
- * 直接使用 parseDate 函数,确保预测结果与实际格式化100%一致
13
+ * Enhanced intelligent prediction function
14
+ * Directly use parseDate function, ensure prediction result is 100% consistent with actual formatting
15
15
  */
16
16
  export declare function getEnhancedPrediction(input: string, targetFormat?: DateDataFormat): PredictionResult | null;
17
17
  /**
18
- * 向后兼容的 getPredictionInfo 函数
18
+ * Backward compatible getPredictionInfo function
19
19
  */
20
20
  export declare function getPredictionInfo(input: string, targetFormat: DateDataFormat): {
21
21
  description: string;
@@ -25,17 +25,17 @@ function parseRelativeDate(input) {
25
25
  function parseExtendedRelativeDate(input) {
26
26
  const now = /* @__PURE__ */ new Date();
27
27
  const patterns = [
28
- // +数字 (天数)
28
+ // +number (days)
29
29
  {
30
30
  regex: /^\+(\d+)$/,
31
31
  handler: (match) => addDays(now, parseInt(match[1], 10))
32
32
  },
33
- // -数字 (天数)
33
+ // -number (days)
34
34
  {
35
35
  regex: /^-(\d+)$/,
36
36
  handler: (match) => subDays(now, parseInt(match[1], 10))
37
37
  },
38
- // w+数字 (周数)
38
+ // w+number (weeks)
39
39
  {
40
40
  regex: /^w\+(\d+)$/i,
41
41
  handler: (match) => addWeeks(now, parseInt(match[1], 10))
@@ -44,7 +44,7 @@ function parseExtendedRelativeDate(input) {
44
44
  regex: /^w-(\d+)$/i,
45
45
  handler: (match) => subWeeks(now, parseInt(match[1], 10))
46
46
  },
47
- // m+数字 (月数)
47
+ // m+number (months)
48
48
  {
49
49
  regex: /^m\+(\d+)$/i,
50
50
  handler: (match) => addMonths(now, parseInt(match[1], 10))
@@ -53,7 +53,7 @@ function parseExtendedRelativeDate(input) {
53
53
  regex: /^m-(\d+)$/i,
54
54
  handler: (match) => subMonths(now, parseInt(match[1], 10))
55
55
  },
56
- // y+数字 (年数)
56
+ // y+number (years)
57
57
  {
58
58
  regex: /^y\+(\d+)$/i,
59
59
  handler: (match) => addYears(now, parseInt(match[1], 10))
@@ -62,7 +62,7 @@ function parseExtendedRelativeDate(input) {
62
62
  regex: /^y-(\d+)$/i,
63
63
  handler: (match) => subYears(now, parseInt(match[1], 10))
64
64
  },
65
- // 中文相对表达
65
+ // Chinese relative expression
66
66
  {
67
67
  regex: /^(\d+)天后$/,
68
68
  handler: (match) => addDays(now, parseInt(match[1], 10))