@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
@@ -1,35 +1,35 @@
1
1
  import { default as React } from 'react';
2
2
  /**
3
- * 菜单子元素解析 Hook
3
+ * Menu children parsing Hook
4
4
  *
5
- * 处理菜单组件的子元素解析逻辑:
6
- * - children 中提取 trigger 元素
7
- * - children 中提取 content 元素
8
- * - 支持 Select Dropdown 的不同子元素类型
9
- * - 错误处理和警告
5
+ * Handle menu component child element parsing logic:
6
+ * - Extract trigger element from children
7
+ * - Extract content element from children
8
+ * - Support different child element types for Select and Dropdown
9
+ * - Error handling and warnings
10
10
  */
11
11
  export interface MenuChildrenConfig<T extends React.ElementType = React.ElementType, C extends React.ElementType = React.ElementType, S extends React.ElementType = React.ElementType> {
12
- /** Content 组件类型 */
12
+ /** Content component type */
13
13
  ContentComponent: C;
14
- /** SubTrigger 组件类型(仅 Dropdown 使用) */
14
+ /** SubTrigger component type (only used for Dropdown) */
15
15
  SubTriggerComponent?: S;
16
- /** Trigger 组件类型 */
16
+ /** Trigger component type */
17
17
  TriggerComponent: T;
18
- /** 子元素 */
18
+ /** Children */
19
19
  children?: React.ReactNode;
20
- /** 组件类型名称,用于错误提示 */
20
+ /** Component type name, for error提示 */
21
21
  componentName: string;
22
22
  }
23
23
  export interface MenuChildrenResult {
24
- /** 内容元素 */
24
+ /** Content element */
25
25
  contentElement: React.ReactElement | null;
26
- /** 错误信息 */
26
+ /** Error message */
27
27
  error?: string;
28
- /** 是否有必需的元素 */
28
+ /** Whether there are required elements */
29
29
  hasRequiredElements: boolean;
30
- /** 子触发器元素(仅 Dropdown 使用) */
30
+ /** Sub-trigger element (only used for Dropdown) */
31
31
  subTriggerElement?: React.ReactElement | null;
32
- /** 触发器元素 */
32
+ /** Trigger element */
33
33
  triggerElement: React.ReactElement | null;
34
34
  }
35
35
  export declare function useMenuChildren<T extends React.ElementType = React.ElementType, C extends React.ElementType = React.ElementType, S extends React.ElementType = React.ElementType>(config: MenuChildrenConfig<T, C, S>): MenuChildrenResult;
@@ -1,54 +1,54 @@
1
1
  import { useFloating, useInteractions, useHover, Placement, SideObject } from '@floating-ui/react';
2
2
  /**
3
- * 菜单 FloatingUI 配置 Hook
3
+ * Menu FloatingUI configuration Hook
4
4
  *
5
- * Select Dropdown 提供不同的 floating 配置:
6
- * - Select: 使用 inner 中间件 + 虚拟滚动
7
- * - Dropdown: 使用标准中间件 + 嵌套支持
5
+ * Provide different floating configurations for Select and Dropdown:
6
+ * - Select: use inner middleware + virtual scrolling
7
+ * - Dropdown: use standard middleware + nested support
8
8
  */
9
9
  export interface MenuFloatingConfig {
10
10
  activeIndex: number | null;
11
- /** 当前选中索引(Select 专用) */
11
+ /** Current selected index (Select specific) */
12
12
  currentSelectedIndex?: number;
13
13
  elementsRef: React.RefObject<Array<HTMLElement | null>>;
14
- /** 是否为 fallback 模式(Select 专用) */
14
+ /** Whether to use fallback mode (Select specific) */
15
15
  fallback?: boolean;
16
- /** 状态变化回调 */
16
+ /** State change callback */
17
17
  handleOpenChange: (open: boolean) => void;
18
- /** 内部偏移(Select 专用) */
18
+ /** Internal offset (Select specific) */
19
19
  innerOffset?: number;
20
- /** 当前打开状态 */
20
+ /** Current open state */
21
21
  isControlledOpen: boolean;
22
- /** 是否为嵌套模式(仅 Dropdown 使用) */
22
+ /** Whether to use nested mode (only used for Dropdown) */
23
23
  isNested?: boolean;
24
24
  labelsRef: React.RefObject<Array<string | null>>;
25
- /** 是否匹配触发器宽度 */
25
+ /** Whether to match trigger width */
26
26
  matchTriggerWidth?: boolean;
27
- /** 节点 ID(仅 Dropdown 使用) */
27
+ /** Node ID (only used for Dropdown) */
28
28
  nodeId?: string;
29
- /** 偏移距离 */
29
+ /** Offset distance */
30
30
  offsetDistance?: number;
31
- /** overflow 引用(Select 专用) */
31
+ /** overflow reference (Select specific) */
32
32
  overflowRef?: React.RefObject<SideObject | null>;
33
- /** 位置配置 */
33
+ /** Position configuration */
34
34
  placement?: Placement;
35
35
  scrollRef: React.RefObject<HTMLDivElement>;
36
36
  setActiveIndex: (index: number | null) => void;
37
- /** 设置 fallbackSelect 专用) */
37
+ /** Set fallback (Select specific) */
38
38
  setFallback?: (fallback: boolean) => void;
39
- /** 设置内部偏移(Select 专用) */
39
+ /** Set internal offset (Select specific) */
40
40
  setInnerOffset?: (offset: number) => void;
41
- /** 触摸状态 */
41
+ /** Touch state */
42
42
  touch?: boolean;
43
- /** 组件类型 */
43
+ /** Component type */
44
44
  type: "select" | "dropdown";
45
45
  }
46
46
  export interface MenuFloatingResult {
47
- /** floating 上下文和样式 */
47
+ /** floating context and styles */
48
48
  floating: ReturnType<typeof useFloating>;
49
- /** hover 处理器(仅 Dropdown 使用) */
49
+ /** hover handler (only used for Dropdown) */
50
50
  hover?: ReturnType<typeof useHover>;
51
- /** 交互处理器 */
51
+ /** Interaction handler */
52
52
  interactions: ReturnType<typeof useInteractions>;
53
53
  }
54
54
  export declare function useMenuFloating(config: MenuFloatingConfig): MenuFloatingResult;
@@ -1,16 +1,16 @@
1
1
  import { SideObject } from '@floating-ui/react';
2
2
  /**
3
- * 菜单引用管理 Hook
3
+ * Menu reference management Hook
4
4
  *
5
- * 统一管理菜单组件中所有需要的引用:
6
- * - 滚动容器引用
7
- * - 列表项引用数组
8
- * - 列表内容引用数组
9
- * - 定时器引用
10
- * - Select 专用引用(overflow, allowSelect 等)
5
+ * Unify the management of all references needed in menu components:
6
+ * - Scroll container reference
7
+ * - List item reference array
8
+ * - List content reference array
9
+ * - Timer reference
10
+ * - Select specific reference (overflow, allowSelect, etc.)
11
11
  */
12
12
  export interface MenuRefsConfig {
13
- /** 是否为 Select 类型(需要额外的选择相关引用) */
13
+ /** Whether to use Select type (requires additional selection related references) */
14
14
  isSelect?: boolean;
15
15
  }
16
16
  export interface MenuRefsResult {
@@ -29,12 +29,12 @@ function useMenuRefs(config = {}) {
29
29
  };
30
30
  const result = useMemo(() => {
31
31
  const baseResult = {
32
- // 通用引用
32
+ // General reference
33
33
  scrollRef,
34
34
  elementsRef,
35
35
  labelsRef,
36
36
  selectTimeoutRef,
37
- // 工具函数
37
+ // Utility functions
38
38
  clearSelectTimeout,
39
39
  resetRefs
40
40
  };
@@ -1,23 +1,23 @@
1
1
  /**
2
- * 菜单滚动容器高度设置 Hook
2
+ * Menu scroll container height setting Hook
3
3
  *
4
- * 确保滚动容器正确设置高度,作为 size middleware 的补充
5
- * 在所有菜单组件中都有类似的逻辑,统一抽取到这里
4
+ * Ensure the scroll container is correctly set to the parent element height, as a complement to the size middleware
5
+ * Similar logic exists in all menu components, unified extraction here
6
6
  *
7
- * 功能:
8
- * - 在菜单打开且定位完成后,确保滚动容器正确继承父元素高度
9
- * - 使用 requestAnimationFrame 确保 DOM 已更新,避免与 size middleware 的时序冲突
7
+ * Features:
8
+ * - Ensure the scroll container is correctly inherited from the parent element height after opening and positioning
9
+ * - Use requestAnimationFrame to ensure the DOM is updated, avoiding timing conflicts with the size middleware
10
10
  */
11
11
  export interface MenuScrollHeightConfig {
12
- /** 是否打开 */
12
+ /** Whether to open */
13
13
  isControlledOpen: boolean;
14
- /** 是否已定位 */
14
+ /** Whether to be positioned */
15
15
  isPositioned: boolean;
16
- /** 滚动容器引用 */
16
+ /** Scroll container reference */
17
17
  scrollRef: React.RefObject<HTMLDivElement>;
18
18
  }
19
19
  /**
20
- * 设置滚动容器高度
21
- * 这个 hook 会在菜单打开且定位完成后,确保滚动容器正确设置高度
20
+ * Set scroll container height
21
+ * This hook will ensure the scroll container is correctly set to the parent element height after opening and positioning
22
22
  */
23
23
  export declare function useMenuScrollHeight(config: MenuScrollHeightConfig): void;
@@ -1,38 +1,38 @@
1
1
  /**
2
- * 菜单滚动处理 Hook
2
+ * Menu scroll handling Hook
3
3
  *
4
- * 处理菜单组件的滚动相关逻辑:
5
- * - 滚动位置管理
6
- * - 箭头滚动处理
7
- * - 滚动事件处理
8
- * - 触摸相关的滚动隐藏逻辑
4
+ * Handle scroll related logic in menu components:
5
+ * - Scroll position management
6
+ * - Arrow scroll handling
7
+ * - Scroll event handling
8
+ * - Touch-related scroll hiding logic
9
9
  */
10
10
  export interface MenuScrollConfig {
11
- /** Select 专用:fallback 模式 */
11
+ /** Select specific: fallback mode */
12
12
  fallback?: boolean;
13
- /** 是否是 Select 类型(使用不同的滚动逻辑) */
13
+ /** Whether to use Select type (uses different scroll logic) */
14
14
  isSelect?: boolean;
15
- /** 滚动容器引用 */
15
+ /** Scroll container reference */
16
16
  scrollRef: React.RefObject<HTMLDivElement>;
17
- /** 滚动位置状态 */
17
+ /** Scroll position state */
18
18
  scrollTop: number;
19
- /** 定时器引用 */
19
+ /** Timer reference */
20
20
  selectTimeoutRef: React.RefObject<ReturnType<typeof setTimeout> | undefined>;
21
- /** Select 专用:设置内部偏移 */
21
+ /** Select specific: set internal offset */
22
22
  setInnerOffset?: (offset: number | ((prev: number) => number)) => void;
23
- /** 设置滚动位置 */
23
+ /** Set scroll position */
24
24
  setScrollTop: (scrollTop: number) => void;
25
- /** 触摸状态 */
25
+ /** Touch state */
26
26
  touch: boolean;
27
27
  }
28
28
  export interface MenuScrollResult {
29
- /** 箭头隐藏处理器 */
29
+ /** Arrow hide handler */
30
30
  handleArrowHide: () => void;
31
- /** 箭头滚动处理器 */
31
+ /** Arrow scroll handler */
32
32
  handleArrowScroll: (amount: number) => void;
33
- /** 滚动事件处理器 */
33
+ /** Scroll event handler */
34
34
  handleScroll: (event: React.UIEvent) => void;
35
- /** 滚动相关的属性对象(已缓存,避免每次渲染都创建新对象) */
35
+ /** Scroll-related property object (cached to avoid creating new objects on every render) */
36
36
  scrollProps: {
37
37
  onScroll: (event: React.UIEvent) => void;
38
38
  };
@@ -1,49 +1,49 @@
1
1
  /**
2
- * 菜单选择状态管理 Hook
2
+ * Menu selection state management Hook
3
3
  *
4
- * 专用于 Select 组件的选择逻辑:
5
- * - 管理选中索引和值的映射
6
- * - 处理选择延迟和阻止机制
7
- * - 处理鼠标和键盘选择
8
- * - 支持受控和非受控值
4
+ * Specialized for Select component selection logic:
5
+ * - Manage the mapping of selected index and value
6
+ * - Handle selection delay and blocking mechanism
7
+ * - Handle mouse and keyboard selection
8
+ * - Support controlled and uncontrolled values
9
9
  */
10
10
  export interface MenuSelectionConfig {
11
- /** 关闭菜单回调 */
11
+ /** Close menu callback */
12
12
  handleOpenChange: (open: boolean) => void;
13
- /** 是否控制打开状态 */
13
+ /** Whether to control the open state */
14
14
  isControlledOpen: boolean;
15
- /** 值变化回调 */
15
+ /** Value change callback */
16
16
  onChange?: (value: string) => void;
17
- /** 选项列表 */
17
+ /** Option list */
18
18
  options: Array<{
19
19
  [key: string]: unknown;
20
20
  disabled?: boolean;
21
21
  divider?: boolean;
22
22
  value?: string;
23
23
  }>;
24
- /** 当前值 */
24
+ /** Current value */
25
25
  value?: string | null;
26
26
  }
27
27
  export interface MenuSelectionResult {
28
- /** 允许鼠标抬起状态 */
28
+ /** Allow mouse up state */
29
29
  allowMouseUp: boolean;
30
- /** 允许选择状态 */
30
+ /** Allow select state */
31
31
  allowSelect: boolean;
32
- /** 阻止选择状态 */
32
+ /** Block select state */
33
33
  blockSelection: boolean;
34
- /** 当前选中索引(基于 value 计算) */
34
+ /** Current selected index (based on value calculation) */
35
35
  currentSelectedIndex: number;
36
- /** 处理选择 */
36
+ /** Handle selection */
37
37
  handleSelect: (index: number) => void;
38
- /** 当前选中索引 */
38
+ /** Current selected index */
39
39
  selectedIndex: number;
40
- /** 设置允许鼠标抬起状态 */
40
+ /** Set allow mouse up state */
41
41
  setAllowMouseUp: (allow: boolean) => void;
42
- /** 设置允许选择状态 */
42
+ /** Set allow select state */
43
43
  setAllowSelect: (allow: boolean) => void;
44
- /** 设置阻止选择状态 */
44
+ /** Set block select state */
45
45
  setBlockSelection: (block: boolean) => void;
46
- /** 设置选中索引 */
46
+ /** Set selected index */
47
47
  setSelectedIndex: (index: number) => void;
48
48
  }
49
49
  export declare function useMenuSelection(config: MenuSelectionConfig): MenuSelectionResult;
@@ -1,20 +1,20 @@
1
1
  /**
2
- * 基础菜单状态管理 Hook
2
+ * Basic menu state management Hook
3
3
  *
4
- * 处理所有菜单组件的通用状态:
5
- * - open/close 状态及受控逻辑
6
- * - activeIndex 状态
7
- * - touch 交互状态
8
- * - scrollTop 状态
9
- * - 唯一ID生成
10
- * - 状态变化回调
4
+ * Handle common state for all menu components:
5
+ * - open/close state and controlled logic
6
+ * - activeIndex state
7
+ * - touch interaction state
8
+ * - scrollTop state
9
+ * - Unique ID generation
10
+ * - State change callback
11
11
  */
12
12
  export interface MenuStateConfig {
13
- /** 是否禁用 */
13
+ /** Whether to disable */
14
14
  disabled?: boolean;
15
- /** 打开状态变化回调 */
15
+ /** Open state change callback */
16
16
  onOpenChange?: (open: boolean) => void;
17
- /** 受控的打开状态 */
17
+ /** Controlled open state */
18
18
  open?: boolean;
19
19
  }
20
20
  export interface MenuStateResult {
@@ -21,20 +21,20 @@ function useMenuState(config = {}) {
21
21
  });
22
22
  const result = useMemo(
23
23
  () => ({
24
- // 状态
24
+ // State
25
25
  open,
26
26
  activeIndex,
27
27
  touch,
28
28
  scrollTop,
29
29
  isControlledOpen,
30
- // 状态设置函数
30
+ // State setting function
31
31
  setOpen,
32
32
  setActiveIndex,
33
33
  setTouch,
34
34
  setScrollTop,
35
- // 处理函数
35
+ // Handle function
36
36
  handleOpenChange,
37
- // 唯一标识
37
+ // Unique identifier
38
38
  menuId,
39
39
  triggerId
40
40
  }),
@@ -1,27 +1,27 @@
1
1
  /**
2
- * 菜单触摸交互 Hook
2
+ * Menu touch interaction Hook
3
3
  *
4
- * 处理菜单组件的触摸交互逻辑:
5
- * - 触摸状态检测
6
- * - 触摸开始事件处理
7
- * - 指针移动事件处理
8
- * - 触摸相关的事件处理器
4
+ * Handle menu component touch interaction logic:
5
+ * - Touch state detection
6
+ * - Touch start event handling
7
+ * - Pointer move event handling
8
+ * - Touch-related event handlers
9
9
  */
10
10
  export interface MenuTouchConfig {
11
- /** 设置触摸状态 */
11
+ /** Set touch state */
12
12
  setTouch: (touch: boolean) => void;
13
- /** 触摸状态 */
13
+ /** Touch state */
14
14
  touch: boolean;
15
15
  }
16
16
  export interface MenuTouchResult {
17
- /** 获取触摸相关的引用属性 */
17
+ /** Get touch-related reference properties */
18
18
  getTouchProps: () => {
19
19
  onPointerMove: (event: React.PointerEvent) => void;
20
20
  onTouchStart: () => void;
21
21
  };
22
- /** 指针移动事件处理器 */
22
+ /** Pointer move event handler */
23
23
  handlePointerMove: (event: React.PointerEvent) => void;
24
- /** 触摸开始事件处理器 */
24
+ /** Touch start event handler */
25
25
  handleTouchStart: () => void;
26
26
  }
27
27
  export declare function useMenuTouch(config: MenuTouchConfig): MenuTouchResult;
@@ -1,33 +1,33 @@
1
1
  import { useFloatingTree, useListItem } from '@floating-ui/react';
2
2
  /**
3
- * 菜单 FloatingTree 集成 Hook
3
+ * Menu FloatingTree integration Hook
4
4
  *
5
- * 专用于 Dropdown 组件的 FloatingTree 支持:
6
- * - 管理 nodeId parentId
7
- * - 处理树形结构的事件通信
8
- * - 支持嵌套菜单的打开/关闭协调
9
- * - 处理父子菜单的焦点管理
5
+ * Specialized for FloatingTree support for Dropdown component:
6
+ * - Manage nodeId and parentId
7
+ * - Handle event communication for tree structure
8
+ * - Support opening/closing coordination for nested menus
9
+ * - Handle focus management for parent and child menus
10
10
  */
11
11
  export interface MenuTreeConfig {
12
- /** 是否禁用嵌套功能 */
12
+ /** Whether to disable nested functionality */
13
13
  disabledNested?: boolean;
14
- /** 打开状态变化处理函数 */
14
+ /** Open state change handling function */
15
15
  handleOpenChange: (open: boolean) => void;
16
- /** 当前打开状态 */
16
+ /** Current open state */
17
17
  isControlledOpen: boolean;
18
18
  }
19
19
  export interface MenuTreeResult {
20
- /** 清理 tree 事件监听 */
20
+ /** Clean up tree event listening */
21
21
  cleanupTreeEvents: () => void;
22
- /** 是否为嵌套模式 */
22
+ /** Whether to be nested mode */
23
23
  isNested: boolean;
24
- /** 列表项实例 */
24
+ /** List item instance */
25
25
  item: ReturnType<typeof useListItem>;
26
- /** 当前节点 ID */
26
+ /** Current node ID */
27
27
  nodeId: string | undefined;
28
- /** 父节点 ID */
28
+ /** Parent node ID */
29
29
  parentId: string | null;
30
- /** FloatingTree 实例 */
30
+ /** FloatingTree instance */
31
31
  tree: ReturnType<typeof useFloatingTree>;
32
32
  }
33
33
  export declare function useMenuTree(config: MenuTreeConfig): MenuTreeResult;
@@ -3,4 +3,9 @@ export { Menus } from './menus';
3
3
  export { useMenuBaseRefs, useMenuChildren, useMenuFloating, useMenuRefs, useMenuScroll, useMenuScrollHeight, useMenuSelection, useMenuState, useMenuTree, } from './hooks';
4
4
  export { MenuContext, MenuContextSubTrigger, MenuContextContent, MenuContextItem, MenuContextLabel, } from './context';
5
5
  export type { MenusProps } from './menus';
6
+ export type { MenuItemProps } from './components/menu-item';
7
+ export type { MenuTriggerProps } from './components/menu-trigger';
8
+ export type { MenuScrollArrowProps } from './components/menu-scroll-arrow';
9
+ export type { MenuLabelProps } from './components/menu-label';
10
+ export type { MenuCheckboxProps } from './components/menu-checkbox';
6
11
  export type { MenuContextItemProps, MenuContextType } from './context';
@@ -12,7 +12,7 @@ import { MenusTv } from "./tv.js";
12
12
  import { tcx } from "../../../shared/utils/tcx/tcx.js";
13
13
  const MenusBase = forwardRef((props, ref) => {
14
14
  const { children, className, matchTriggerWidth, variant, ...rest } = props;
15
- const styles = MenusTv({ matchTriggerWidth, variant });
15
+ const tv = MenusTv({ matchTriggerWidth, variant });
16
16
  const processChildren = (children2) => {
17
17
  return Children.map(children2, (child) => {
18
18
  if (isValidElement(child)) {
@@ -36,7 +36,7 @@ const MenusBase = forwardRef((props, ref) => {
36
36
  ref,
37
37
  role: "menu",
38
38
  ...rest,
39
- className: tcx(styles, className),
39
+ className: tcx(tv, className),
40
40
  "data-variant": variant,
41
41
  children: processedChildren
42
42
  }
@@ -365,6 +365,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
365
365
  true: string;
366
366
  false: string;
367
367
  };
368
+ variant: {
369
+ default: string;
370
+ light: string;
371
+ reset: {};
372
+ };
368
373
  }, undefined, string[], {
369
374
  dir: {
370
375
  up: string;
@@ -374,6 +379,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
374
379
  true: string;
375
380
  false: string;
376
381
  };
382
+ variant: {
383
+ default: string;
384
+ light: string;
385
+ reset: {};
386
+ };
377
387
  }, undefined, import('tailwind-variants').TVReturnType<{
378
388
  dir: {
379
389
  up: string;
@@ -383,6 +393,11 @@ export declare const MenuScrollArrowTv: import('tailwind-variants').TVReturnType
383
393
  true: string;
384
394
  false: string;
385
395
  };
396
+ variant: {
397
+ default: string;
398
+ light: string;
399
+ reset: {};
400
+ };
386
401
  }, undefined, string[], unknown, unknown, undefined>>;
387
402
  export declare const MenuCheckboxTv: import('tailwind-variants').TVReturnType<{
388
403
  active: {
@@ -201,7 +201,7 @@ const MenuButtonTv = tcv({
201
201
  const MenuScrollArrowTv = tcv({
202
202
  base: [
203
203
  "absolute flex h-6 w-full items-center justify-center overflow-hidden",
204
- "z-menu pointer-events-auto border-white/10 bg-gray-900 text-white hover:bg-gray-800"
204
+ "z-menu pointer-events-auto backdrop-blur-sm"
205
205
  ],
206
206
  variants: {
207
207
  dir: {
@@ -211,11 +211,17 @@ const MenuScrollArrowTv = tcv({
211
211
  visible: {
212
212
  true: "visible",
213
213
  false: "hidden"
214
+ },
215
+ variant: {
216
+ default: "border-white/10 bg-gray-900/50 text-white hover:bg-gray-800",
217
+ light: "border-gray-200 bg-white/50 text-gray-900 hover:bg-gray-100",
218
+ reset: {}
214
219
  }
215
220
  },
216
221
  defaultVariants: {
217
222
  visible: false,
218
- dir: "down"
223
+ dir: "down",
224
+ variant: "default"
219
225
  }
220
226
  });
221
227
  const MenuCheckboxTv = tcv({
@@ -1,4 +1,5 @@
1
1
  import { HTMLProps, ReactNode } from 'react';
2
+ import { IconButtonProps } from '../../icon-button/src';
2
3
  import { SelectProps } from '../../select/src';
3
4
  import { MotionProps } from 'framer-motion';
4
5
  import { InputProps } from '../../input/src';
@@ -8,8 +9,9 @@ import * as react from 'react';
8
9
  declare const ModalContent: react.ForwardRefExoticComponent<Omit<HTMLProps<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
9
10
 
10
11
  interface ModalHeaderProps extends Omit<HTMLProps<HTMLDivElement>, "title"> {
11
- onClose?: () => void;
12
12
  title?: ReactNode;
13
+ closeButtonProps?: IconButtonProps;
14
+ onClose?: () => void;
13
15
  }
14
16
  declare const ModalHeader: react.ForwardRefExoticComponent<Omit<ModalHeaderProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
15
17