@choice-ui/react 1.4.2 → 1.4.5

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 (462) 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 +67 -6
  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.d.ts +2 -2
  68. package/dist/components/command/src/components/command-input.js +32 -31
  69. package/dist/components/command/src/components/command-item.d.ts +1 -1
  70. package/dist/components/command/src/components/command-item.js +117 -115
  71. package/dist/components/command/src/components/command-loading.d.ts +8 -0
  72. package/dist/components/command/src/components/command-loading.js +1 -1
  73. package/dist/components/command/src/context/create-command-context.js +1 -1
  74. package/dist/components/command/src/hooks/use-schedule-layout-effect.d.ts +1 -1
  75. package/dist/components/command/src/hooks/use-value.js +2 -2
  76. package/dist/components/command/src/index.d.ts +16 -8
  77. package/dist/components/command/src/tv.d.ts +33 -12
  78. package/dist/components/command/src/tv.js +13 -6
  79. package/dist/components/command/src/types.d.ts +8 -0
  80. package/dist/components/command/src/utils/constants.d.ts +1 -1
  81. package/dist/components/command/src/utils/constants.js +1 -1
  82. package/dist/components/command/src/utils/helpers.d.ts +0 -1
  83. package/dist/components/command/src/utils/helpers.js +1 -3
  84. package/dist/components/command/src/utils/index.d.ts +1 -0
  85. package/dist/components/comments/src/comment-input/components/comment-input-mention-popover.js +4 -2
  86. package/dist/components/comments/src/comment-item/tv.d.ts +3 -3
  87. package/dist/components/comments/src/comments.js +1 -1
  88. package/dist/components/context-input/dist/index.d.ts +15 -340
  89. package/dist/components/context-input/src/components/mention-menu.d.ts +5 -4
  90. package/dist/components/context-input/src/components/mention-menu.js +19 -4
  91. package/dist/components/context-input/src/components/mention.d.ts +2 -2
  92. package/dist/components/context-input/src/components/slate-editor.js +4 -2
  93. package/dist/components/context-input/src/context-input.js +31 -16
  94. package/dist/components/context-input/src/extensions/with-mentions.d.ts +1 -1
  95. package/dist/components/context-input/src/extensions/with-mentions.js +10 -9
  96. package/dist/components/context-input/src/hooks/use-context-input.js +87 -46
  97. package/dist/components/context-input/src/hooks/use-mentions.d.ts +11 -10
  98. package/dist/components/context-input/src/hooks/use-mentions.js +147 -128
  99. package/dist/components/context-input/src/index.d.ts +2 -5
  100. package/dist/components/context-input/src/types.d.ts +12 -12
  101. package/dist/components/context-input/src/utils/mention-spacing.d.ts +16 -16
  102. package/dist/components/context-input/src/utils/mention-spacing.js +1 -27
  103. package/dist/components/context-input/src/utils/slate-converters.d.ts +6 -6
  104. package/dist/components/context-input/src/utils/slate-converters.js +3 -69
  105. package/dist/components/context-input/src/utils/text-extraction.js +7 -1
  106. package/dist/components/context-menu/src/context-menu.js +10 -4
  107. package/dist/components/dialog/dist/index.js +1 -2
  108. package/dist/components/dialog/src/dialog.js +0 -1
  109. package/dist/components/dialog/src/hooks/use-floating-dialog.js +1 -1
  110. package/dist/components/dialog/src/index.d.ts +3 -2
  111. package/dist/components/dropdown/dist/index.d.ts +1 -2
  112. package/dist/components/dropdown/dist/index.js +23 -8
  113. package/dist/components/dropdown/src/dropdown.d.ts +1 -2
  114. package/dist/components/dropdown/src/dropdown.js +23 -8
  115. package/dist/components/emoji-picker/dist/index.d.ts +33 -1
  116. package/dist/components/emoji-picker/dist/index.js +3 -1
  117. package/dist/components/emoji-picker/src/emoji-picker.d.ts +1 -1
  118. package/dist/components/emoji-picker/src/emoji-picker.js +3 -1
  119. package/dist/components/emoji-picker/src/index.d.ts +3 -1
  120. package/dist/components/form/dist/index.d.ts +93 -98
  121. package/dist/components/form/src/adapters/base-adapter.d.ts +3 -3
  122. package/dist/components/form/src/adapters/checkbox-adapter.d.ts +1 -1
  123. package/dist/components/form/src/adapters/chips-input-adapter.d.ts +9 -0
  124. package/dist/components/form/src/adapters/chips-input-adapter.js +38 -0
  125. package/dist/components/form/src/adapters/index.d.ts +8 -7
  126. package/dist/components/form/src/adapters/input-adapter.d.ts +1 -1
  127. package/dist/components/form/src/adapters/multi-select-adapter.d.ts +1 -1
  128. package/dist/components/form/src/adapters/numeric-input-adapter.d.ts +1 -1
  129. package/dist/components/form/src/adapters/raido-group-adapter.d.ts +1 -7
  130. package/dist/components/form/src/adapters/range-adapter.d.ts +1 -7
  131. package/dist/components/form/src/adapters/segmented-adapter.d.ts +1 -7
  132. package/dist/components/form/src/adapters/select-adapter.d.ts +1 -1
  133. package/dist/components/form/src/adapters/switch-adapter.d.ts +1 -1
  134. package/dist/components/form/src/adapters/textarea-adapter.d.ts +1 -1
  135. package/dist/components/form/src/index.d.ts +18 -16
  136. package/dist/components/form/src/index.js +16 -13
  137. package/dist/components/form/src/types.d.ts +58 -51
  138. package/dist/components/hint/dist/index.d.ts +10 -54
  139. package/dist/components/hint/src/components/info-content.d.ts +3 -5
  140. package/dist/components/hint/src/components/info-content.js +14 -6
  141. package/dist/components/hint/src/components/info-trigger.d.ts +2 -3
  142. package/dist/components/hint/src/components/info-trigger.js +4 -2
  143. package/dist/components/hint/src/context/hint-context.d.ts +2 -0
  144. package/dist/components/hint/src/context/hint-context.js +1 -1
  145. package/dist/components/hint/src/hint.d.ts +7 -7
  146. package/dist/components/hint/src/hint.js +24 -29
  147. package/dist/components/hint/src/hooks/use-hint.d.ts +4 -2
  148. package/dist/components/hint/src/hooks/use-hint.js +12 -4
  149. package/dist/components/hint/src/index.d.ts +3 -3
  150. package/dist/components/hint/src/tv.d.ts +33 -0
  151. package/dist/components/hint/src/tv.js +11 -0
  152. package/dist/components/icon-button/dist/index.js +2 -2
  153. package/dist/components/icon-button/src/icon-button.js +2 -2
  154. package/dist/components/index.d.ts +3 -0
  155. package/dist/components/input/dist/index.js +4 -4
  156. package/dist/components/input/src/input.js +3 -3
  157. package/dist/components/input/src/tv.js +1 -1
  158. package/dist/components/kbd/dist/index.js +4 -4
  159. package/dist/components/kbd/src/kbd.js +4 -4
  160. package/dist/components/label/dist/index.js +3 -3
  161. package/dist/components/label/src/tv.js +3 -3
  162. package/dist/components/link-button/dist/index.js +3 -3
  163. package/dist/components/link-button/src/link-button.js +3 -3
  164. package/dist/components/list/src/components/list-content.js +2 -2
  165. package/dist/components/list/src/components/list-divider.js +3 -3
  166. package/dist/components/list/src/components/list-item.js +5 -5
  167. package/dist/components/list/src/components/list-label.js +2 -2
  168. package/dist/components/list/src/components/list-sub-trigger.js +4 -4
  169. package/dist/components/list/src/list.js +2 -2
  170. package/dist/components/md-input/dist/index.d.ts +8 -104
  171. package/dist/components/md-input/src/components/extensions/md-input-mention.d.ts +6 -4
  172. package/dist/components/md-input/src/components/extensions/md-input-mention.js +23 -6
  173. package/dist/components/md-input/src/components/md-input-container.js +1 -0
  174. package/dist/components/md-input/src/components/md-input-editor.js +4 -1
  175. package/dist/components/md-input/src/components/md-input-footer.js +5 -1
  176. package/dist/components/md-input/src/components/toolbar/default-actions.d.ts +2 -2
  177. package/dist/components/md-input/src/components/toolbar/toolbar-button.d.ts +1 -0
  178. package/dist/components/md-input/src/components/toolbar/toolbar-button.js +1 -7
  179. package/dist/components/md-input/src/components/toolbar/toolbar.d.ts +2 -2
  180. package/dist/components/md-input/src/hooks/use-markdown-mentions.d.ts +5 -4
  181. package/dist/components/md-input/src/hooks/use-markdown-mentions.js +31 -4
  182. package/dist/components/md-input/src/index.d.ts +1 -4
  183. package/dist/components/md-input/src/md-input.js +18 -14
  184. package/dist/components/md-input/src/tv.d.ts +3 -0
  185. package/dist/components/md-input/src/tv.js +2 -1
  186. package/dist/components/md-input/src/types.d.ts +18 -16
  187. package/dist/components/md-render/dist/index.d.ts +1 -4
  188. package/dist/components/md-render/dist/index.js +8 -9
  189. package/dist/components/md-render/src/components/markdown-components.js +3 -3
  190. package/dist/components/md-render/src/index.d.ts +0 -1
  191. package/dist/components/md-render/src/md-render.js +5 -4
  192. package/dist/components/md-render/src/tv.js +1 -1
  193. package/dist/components/menubar/dist/index.d.ts +50 -0
  194. package/dist/components/menubar/src/components/index.d.ts +3 -0
  195. package/dist/components/menubar/src/components/menubar-divider.d.ts +8 -0
  196. package/dist/components/menubar/src/components/menubar-divider.js +24 -0
  197. package/dist/components/menubar/src/components/menubar-item.d.ts +8 -0
  198. package/dist/components/menubar/src/components/menubar-item.js +195 -0
  199. package/dist/components/menubar/src/components/menubar-trigger.d.ts +8 -0
  200. package/dist/components/menubar/src/components/menubar-trigger.js +45 -0
  201. package/dist/components/menubar/src/context/index.d.ts +1 -0
  202. package/dist/components/menubar/src/context/menubar-context.d.ts +34 -0
  203. package/dist/components/menubar/src/context/menubar-context.js +13 -0
  204. package/dist/components/menubar/src/index.d.ts +3 -0
  205. package/dist/components/menubar/src/menubar.d.ts +22 -0
  206. package/dist/components/menubar/src/menubar.js +177 -0
  207. package/dist/components/menubar/src/tv.d.ts +108 -0
  208. package/dist/components/menubar/src/tv.js +72 -0
  209. package/dist/components/menubar/tsup.config.d.ts +2 -0
  210. package/dist/components/menus/dist/index.d.ts +144 -143
  211. package/dist/components/menus/dist/index.js +50 -49
  212. package/dist/components/menus/src/components/menu-button.js +2 -2
  213. package/dist/components/menus/src/components/menu-checkbox.d.ts +1 -2
  214. package/dist/components/menus/src/components/menu-checkbox.js +2 -2
  215. package/dist/components/menus/src/components/menu-divider.js +3 -3
  216. package/dist/components/menus/src/components/menu-item.js +5 -5
  217. package/dist/components/menus/src/components/menu-label.js +2 -2
  218. package/dist/components/menus/src/components/menu-scroll-arrow.d.ts +2 -2
  219. package/dist/components/menus/src/components/menu-scroll-arrow.js +13 -3
  220. package/dist/components/menus/src/components/menu-search.js +3 -3
  221. package/dist/components/menus/src/components/menu-trigger.js +4 -4
  222. package/dist/components/menus/src/context/menu-context-item.d.ts +6 -6
  223. package/dist/components/menus/src/context/menu-context-item.js +2 -2
  224. package/dist/components/menus/src/context/menu-context-sub-trigger.js +4 -19
  225. package/dist/components/menus/src/context/menu-context.d.ts +2 -2
  226. package/dist/components/menus/src/hooks/use-menu-base-refs.d.ts +12 -12
  227. package/dist/components/menus/src/hooks/use-menu-children.d.ts +16 -16
  228. package/dist/components/menus/src/hooks/use-menu-floating.d.ts +22 -22
  229. package/dist/components/menus/src/hooks/use-menu-refs.d.ts +8 -8
  230. package/dist/components/menus/src/hooks/use-menu-refs.js +2 -2
  231. package/dist/components/menus/src/hooks/use-menu-scroll-height.d.ts +11 -11
  232. package/dist/components/menus/src/hooks/use-menu-scroll.d.ts +18 -18
  233. package/dist/components/menus/src/hooks/use-menu-selection.d.ts +21 -21
  234. package/dist/components/menus/src/hooks/use-menu-state.d.ts +11 -11
  235. package/dist/components/menus/src/hooks/use-menu-state.js +4 -4
  236. package/dist/components/menus/src/hooks/use-menu-touch.d.ts +11 -11
  237. package/dist/components/menus/src/hooks/use-menu-tree.d.ts +15 -15
  238. package/dist/components/menus/src/index.d.ts +5 -0
  239. package/dist/components/menus/src/menus.js +2 -2
  240. package/dist/components/menus/src/tv.d.ts +15 -0
  241. package/dist/components/menus/src/tv.js +8 -2
  242. package/dist/components/modal/dist/index.d.ts +3 -1
  243. package/dist/components/modal/dist/index.js +18 -11
  244. package/dist/components/modal/src/components/modal-content.js +2 -2
  245. package/dist/components/modal/src/components/modal-footer.js +2 -2
  246. package/dist/components/modal/src/components/modal-header.d.ts +3 -1
  247. package/dist/components/modal/src/components/modal-header.js +12 -5
  248. package/dist/components/modal/src/modal.js +2 -2
  249. package/dist/components/multi-select/dist/index.js +13 -11
  250. package/dist/components/multi-select/src/components/multi-select-trigger.js +8 -8
  251. package/dist/components/multi-select/src/multi-select.js +5 -3
  252. package/dist/components/numeric-input/dist/index.d.ts +10 -117
  253. package/dist/components/numeric-input/dist/index.js +18 -24
  254. package/dist/components/numeric-input/src/components/numeric-input-element.js +2 -2
  255. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.d.ts +1 -1
  256. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.js +2 -2
  257. package/dist/components/numeric-input/src/components/numeric-input-variable.d.ts +1 -2
  258. package/dist/components/numeric-input/src/components/numeric-input-variable.js +3 -3
  259. package/dist/components/numeric-input/src/hooks/use-input-interactions.d.ts +3 -3
  260. package/dist/components/numeric-input/src/hooks/use-numeric-input.d.ts +3 -3
  261. package/dist/components/numeric-input/src/hooks/use-numeric-value-processing.d.ts +3 -3
  262. package/dist/components/numeric-input/src/hooks/use-step-calculation.d.ts +6 -6
  263. package/dist/components/numeric-input/src/index.d.ts +5 -4
  264. package/dist/components/numeric-input/src/numeric-input.js +9 -9
  265. package/dist/components/numeric-input/src/utils/error-handler.d.ts +8 -8
  266. package/dist/components/numeric-input/src/utils/expression-evaluator.d.ts +11 -11
  267. package/dist/components/numeric-input/src/utils/input-parser.d.ts +8 -8
  268. package/dist/components/numeric-input/src/utils/numeric-value-processor.d.ts +6 -6
  269. package/dist/components/numeric-input/src/utils/pattern-parser.d.ts +7 -7
  270. package/dist/components/numeric-input/src/utils/value-comparator.d.ts +16 -16
  271. package/dist/components/numeric-input/src/utils/value-processor.d.ts +14 -14
  272. package/dist/components/pagination/src/components/pagination-items-per-page.js +1 -1
  273. package/dist/components/pagination/src/components/pagination-navigation.js +5 -5
  274. package/dist/components/pagination/src/components/pagination-root.js +3 -3
  275. package/dist/components/pagination/src/components/pagination-spinner.js +20 -19
  276. package/dist/components/pagination/src/context/index.d.ts +1 -0
  277. package/dist/components/popover/dist/index.d.ts +3 -8
  278. package/dist/components/popover/dist/index.js +22 -16
  279. package/dist/components/popover/src/components/popover-header.js +1 -1
  280. package/dist/components/popover/src/hooks/use-drag.d.ts +3 -3
  281. package/dist/components/popover/src/hooks/use-floating-popover.d.ts +4 -3
  282. package/dist/components/popover/src/hooks/use-floating-popover.js +19 -10
  283. package/dist/components/popover/src/index.d.ts +2 -1
  284. package/dist/components/popover/src/popover.d.ts +2 -6
  285. package/dist/components/popover/src/popover.js +6 -8
  286. package/dist/components/progress/src/index.d.ts +4 -2
  287. package/dist/components/radio/dist/index.d.ts +1 -17
  288. package/dist/components/radio/dist/index.js +7 -10
  289. package/dist/components/radio/src/context.js +1 -1
  290. package/dist/components/radio/src/index.d.ts +0 -4
  291. package/dist/components/radio/src/radio-label.js +2 -2
  292. package/dist/components/radio/src/radio.js +4 -4
  293. package/dist/components/range/dist/index.js +16 -16
  294. package/dist/components/range/src/index.d.ts +4 -2
  295. package/dist/components/range/src/range-tuple.js +10 -10
  296. package/dist/components/range/src/range.js +6 -6
  297. package/dist/components/rich-input/dist/index.d.ts +12 -366
  298. package/dist/components/rich-input/src/components/rich-input-editable-component.d.ts +2 -2
  299. package/dist/components/rich-input/src/components/rich-input-viewport.d.ts +2 -2
  300. package/dist/components/rich-input/src/hooks/use-editor-config.d.ts +1 -1
  301. package/dist/components/rich-input/src/hooks/use-editor-effects.js +3 -0
  302. package/dist/components/rich-input/src/hooks/use-floating-ui.js +1 -1
  303. package/dist/components/rich-input/src/hooks/use-keyboard-shortcuts.d.ts +9 -9
  304. package/dist/components/rich-input/src/hooks/use-rich-input.d.ts +2 -2
  305. package/dist/components/rich-input/src/hooks/use-rich-input.js +40 -17
  306. package/dist/components/rich-input/src/hooks/use-selection-events.js +1 -2
  307. package/dist/components/rich-input/src/index.d.ts +3 -5
  308. package/dist/components/rich-input/src/rich-input-base.js +1 -1
  309. package/dist/components/rich-input/src/utils/custom-options.js +1 -1
  310. package/dist/components/rich-input/src/utils/editor-utils.js +1 -1
  311. package/dist/components/rich-input/src/utils/markdown-to-slate.d.ts +2 -2
  312. package/dist/components/rich-input/src/utils/slate-to-markdown.d.ts +1 -1
  313. package/dist/components/rich-input/src/utils/slate-to-markdown.js +9 -0
  314. package/dist/components/scroll-area/dist/index.d.ts +19 -19
  315. package/dist/components/scroll-area/dist/index.js +24 -24
  316. package/dist/components/scroll-area/src/components/scroll-area-corner.js +2 -2
  317. package/dist/components/scroll-area/src/components/scroll-area-root.js +3 -3
  318. package/dist/components/scroll-area/src/components/scroll-area-scrollbar.js +2 -2
  319. package/dist/components/scroll-area/src/components/scroll-area-thumb.js +2 -2
  320. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.d.ts +6 -6
  321. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.js +3 -3
  322. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.d.ts +1 -1
  323. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.js +3 -3
  324. package/dist/components/scroll-area/src/hooks/use-scrollbar.d.ts +2 -2
  325. package/dist/components/scroll-area/src/hooks/use-thumb.d.ts +2 -2
  326. package/dist/components/scroll-area/src/tv.d.ts +18 -18
  327. package/dist/components/scroll-area/src/tv.js +12 -12
  328. package/dist/components/scroll-area/src/types.d.ts +8 -8
  329. package/dist/components/scroll-area/src/utils/index.d.ts +3 -3
  330. package/dist/components/search-input/dist/index.js +3 -3
  331. package/dist/components/search-input/src/index.d.ts +2 -1
  332. package/dist/components/search-input/src/search-input.js +3 -3
  333. package/dist/components/segmented/dist/index.js +5 -5
  334. package/dist/components/segmented/src/segmented-item.js +3 -3
  335. package/dist/components/segmented/src/segmented.js +2 -2
  336. package/dist/components/select/dist/index.js +4 -4
  337. package/dist/components/select/src/select.js +4 -4
  338. package/dist/components/separator/dist/index.d.ts +26 -0
  339. package/dist/components/separator/src/index.d.ts +2 -0
  340. package/dist/components/separator/src/separator.d.ts +22 -0
  341. package/dist/components/separator/src/separator.js +33 -0
  342. package/dist/components/separator/src/tv.d.ts +76 -0
  343. package/dist/components/separator/src/tv.js +25 -0
  344. package/dist/components/separator/tsup.config.d.ts +2 -0
  345. package/dist/components/skeleton/dist/index.d.ts +1 -28
  346. package/dist/components/skeleton/src/context/skeleton-context.js +1 -1
  347. package/dist/components/skeleton/src/hooks/use-skeleton.d.ts +1 -2
  348. package/dist/components/skeleton/src/hooks/use-skeleton.js +1 -1
  349. package/dist/components/skeleton/src/index.d.ts +1 -3
  350. package/dist/components/skeleton/src/skeleton.d.ts +0 -13
  351. package/dist/components/skeleton/src/skeleton.js +4 -6
  352. package/dist/components/skeleton/src/tv.d.ts +18 -12
  353. package/dist/components/skeleton/src/tv.js +10 -6
  354. package/dist/components/slot/dist/index.d.ts +10 -10
  355. package/dist/components/slot/dist/index.js +4 -2
  356. package/dist/components/slot/src/slot.d.ts +12 -12
  357. package/dist/components/slot/src/slot.js +6 -3
  358. package/dist/components/stackflow/src/context.js +1 -1
  359. package/dist/components/stackflow/src/index.d.ts +2 -1
  360. package/dist/components/switch/dist/index.d.ts +2 -2
  361. package/dist/components/switch/dist/index.js +6 -7
  362. package/dist/components/switch/src/index.d.ts +2 -1
  363. package/dist/components/switch/src/switch.js +6 -6
  364. package/dist/components/table/dist/index.d.ts +679 -0
  365. package/dist/components/table/index.d.ts +1 -0
  366. package/dist/components/table/src/components/column-resizer.d.ts +8 -0
  367. package/dist/components/table/src/components/column-resizer.js +58 -0
  368. package/dist/components/table/src/components/drag-guide.d.ts +6 -0
  369. package/dist/components/table/src/components/drag-guide.js +64 -0
  370. package/dist/components/table/src/components/index.d.ts +12 -0
  371. package/dist/components/table/src/components/resize-guide.d.ts +5 -0
  372. package/dist/components/table/src/components/resize-guide.js +25 -0
  373. package/dist/components/table/src/components/table-body.d.ts +6 -0
  374. package/dist/components/table/src/components/table-body.js +335 -0
  375. package/dist/components/table/src/components/table-cell.d.ts +6 -0
  376. package/dist/components/table/src/components/table-cell.js +89 -0
  377. package/dist/components/table/src/components/table-column.d.ts +5 -0
  378. package/dist/components/table/src/components/table-column.js +269 -0
  379. package/dist/components/table/src/components/table-empty.d.ts +8 -0
  380. package/dist/components/table/src/components/table-empty.js +10 -0
  381. package/dist/components/table/src/components/table-footer.d.ts +7 -0
  382. package/dist/components/table/src/components/table-footer.js +15 -0
  383. package/dist/components/table/src/components/table-header.d.ts +3 -0
  384. package/dist/components/table/src/components/table-header.js +88 -0
  385. package/dist/components/table/src/components/table-root.d.ts +3 -0
  386. package/dist/components/table/src/components/table-root.js +317 -0
  387. package/dist/components/table/src/components/table-row.d.ts +23 -0
  388. package/dist/components/table/src/components/table-row.js +166 -0
  389. package/dist/components/table/src/components/table-value.d.ts +6 -0
  390. package/dist/components/table/src/components/table-value.js +8 -0
  391. package/dist/components/table/src/context.d.ts +121 -0
  392. package/dist/components/table/src/context.js +63 -0
  393. package/dist/components/table/src/hooks/index.d.ts +4 -0
  394. package/dist/components/table/src/hooks/use-column-order.d.ts +26 -0
  395. package/dist/components/table/src/hooks/use-column-order.js +95 -0
  396. package/dist/components/table/src/hooks/use-column-resize.d.ts +17 -0
  397. package/dist/components/table/src/hooks/use-column-resize.js +75 -0
  398. package/dist/components/table/src/hooks/use-consecutive-selection-style.d.ts +12 -0
  399. package/dist/components/table/src/hooks/use-consecutive-selection-style.js +28 -0
  400. package/dist/components/table/src/hooks/use-table.d.ts +35 -0
  401. package/dist/components/table/src/hooks/use-table.js +245 -0
  402. package/dist/components/table/src/index.d.ts +4 -0
  403. package/dist/components/table/src/table.d.ts +88 -0
  404. package/dist/components/table/src/table.js +24 -0
  405. package/dist/components/table/src/tv.d.ts +176 -0
  406. package/dist/components/table/src/tv.js +97 -0
  407. package/dist/components/table/src/types.d.ts +292 -0
  408. package/dist/components/table/tsup.config.d.ts +2 -0
  409. package/dist/components/tabs/dist/index.js +4 -3
  410. package/dist/components/tabs/src/tabs.d.ts +2 -2
  411. package/dist/components/tabs/src/tabs.js +5 -4
  412. package/dist/components/text-field/dist/index.d.ts +1 -1
  413. package/dist/components/text-field/dist/index.js +10 -10
  414. package/dist/components/text-field/src/components/field-addon.d.ts +1 -2
  415. package/dist/components/text-field/src/index.d.ts +3 -1
  416. package/dist/components/text-field/src/text-field.js +10 -10
  417. package/dist/components/textarea/dist/index.d.ts +33 -5
  418. package/dist/components/textarea/dist/index.js +32 -7
  419. package/dist/components/textarea/src/components/autosize/index.d.ts +6 -1
  420. package/dist/components/textarea/src/components/autosize/index.js +31 -6
  421. package/dist/components/textarea/src/textarea.js +1 -1
  422. package/dist/components/textarea/src/types.d.ts +33 -5
  423. package/dist/components/toggle-button/dist/index.d.ts +26 -2
  424. package/dist/components/toggle-button/src/context.d.ts +11 -0
  425. package/dist/components/toggle-button/src/context.js +13 -0
  426. package/dist/components/toggle-button/src/index.d.ts +2 -0
  427. package/dist/components/toggle-button/src/toggle-button.js +4 -4
  428. package/dist/components/toggle-button/src/toggle-group.d.ts +26 -0
  429. package/dist/components/toggle-button/src/toggle-group.js +156 -0
  430. package/dist/components/toggle-button/src/tv.d.ts +67 -3
  431. package/dist/components/toggle-button/src/tv.js +45 -14
  432. package/dist/components/tooltip/dist/index.d.ts +10 -43
  433. package/dist/components/tooltip/dist/index.js +35 -33
  434. package/dist/components/tooltip/src/components/tooltip-arrow.js +1 -1
  435. package/dist/components/tooltip/src/components/tooltip-content.js +5 -4
  436. package/dist/components/tooltip/src/context/index.d.ts +1 -0
  437. package/dist/components/tooltip/src/hooks/use-tooltip.js +3 -3
  438. package/dist/components/tooltip/src/index.d.ts +2 -4
  439. package/dist/components/tooltip/src/tooltip.d.ts +7 -1
  440. package/dist/components/tooltip/src/tooltip.js +6 -1
  441. package/dist/components/tooltip/src/tv.js +1 -1
  442. package/dist/components/virtualized-grid/dist/index.d.ts +2 -2
  443. package/dist/components/virtualized-grid/src/use-item-pool.js +14 -26
  444. package/dist/components/virtualized-grid/src/use-virtualized-grid.d.ts +1 -1
  445. package/dist/components/virtualized-grid/src/use-virtualized-grid.js +14 -8
  446. package/dist/components/virtualized-grid/src/utility.d.ts +1 -1
  447. package/dist/components/virtualized-grid/src/utility.js +37 -31
  448. package/dist/components/virtualized-grid/src/virtualized-grid.js +27 -17
  449. package/dist/context/choice-ui-provider.d.ts +35 -0
  450. package/dist/context/choice-ui-provider.js +14 -0
  451. package/dist/context/index.d.ts +2 -0
  452. package/dist/index.d.ts +1 -0
  453. package/dist/index.js +50 -195
  454. package/package.json +1 -1
  455. package/dist/components/code-block/src/index.js +0 -15
  456. package/dist/components/rich-input/src/hooks/use-mouse-events.js +0 -113
  457. package/dist/components/rich-input/src/hooks/use-validation.js +0 -80
  458. package/dist/components/rich-input/src/utils/markdown-to-slate.js +0 -219
  459. /package/dist/components/command/src/{command-score.d.ts → utils/command-score.d.ts} +0 -0
  460. /package/dist/components/command/src/{command-score.js → utils/command-score.js} +0 -0
  461. /package/dist/components/pagination/src/{components → context}/pagination-context.d.ts +0 -0
  462. /package/dist/components/pagination/src/{components → context}/pagination-context.js +0 -0
@@ -1,8 +1,8 @@
1
- import { debounce } from "lodash-es";
2
- import { useRef, useState, useEffect, useMemo, useCallback } from "react";
1
+ import { useRef, useState, useEffect, useCallback } from "react";
3
2
  import { Editor, Transforms } from "slate";
4
3
  import { ReactEditor } from "slate-react";
5
4
  import { useEventCallback } from "usehooks-ts";
5
+ const EMPTY_PARAGRAPH = [{ type: "paragraph", children: [{ text: "" }] }];
6
6
  const useRichInput = ({
7
7
  value,
8
8
  onChange,
@@ -11,35 +11,58 @@ const useRichInput = ({
11
11
  autoMoveToEnd
12
12
  }) => {
13
13
  const isUpdatingRef = useRef(false);
14
+ const debounceTimerRef = useRef(null);
14
15
  const [slateValue, setSlateValue] = useState(() => {
15
- return value || [{ type: "paragraph", children: [{ text: "" }] }];
16
+ return value && Array.isArray(value) && value.length > 0 ? value : EMPTY_PARAGRAPH;
16
17
  });
17
18
  useEffect(() => {
18
- if (!editor || !value || isUpdatingRef.current) {
19
+ if (!editor || !value || !Array.isArray(value) || isUpdatingRef.current) {
19
20
  return;
20
21
  }
21
22
  const needsUpdate = JSON.stringify(editor.children) !== JSON.stringify(value);
22
23
  if (needsUpdate) {
23
- Editor.withoutNormalizing(editor, () => {
24
- editor.children = value;
25
- if (autoMoveToEnd) {
26
- const endPoint = Editor.end(editor, []);
27
- Transforms.select(editor, endPoint);
28
- }
29
- editor.onChange();
30
- });
24
+ try {
25
+ Editor.withoutNormalizing(editor, () => {
26
+ editor.children = value;
27
+ if (autoMoveToEnd) {
28
+ try {
29
+ const endPoint = Editor.end(editor, []);
30
+ Transforms.select(editor, endPoint);
31
+ } catch {
32
+ }
33
+ }
34
+ ;
35
+ editor.onChange();
36
+ });
37
+ } catch {
38
+ }
31
39
  if (autoFocus) {
32
40
  setTimeout(() => {
33
- ReactEditor.focus(editor);
41
+ try {
42
+ ReactEditor.focus(editor);
43
+ } catch {
44
+ }
34
45
  }, 0);
35
46
  }
36
47
  setSlateValue(value);
37
48
  }
38
49
  }, [value, editor, autoFocus, autoMoveToEnd]);
39
- const debouncedOnChange = useMemo(
40
- () => debounce((newValue) => {
41
- onChange == null ? void 0 : onChange(newValue);
42
- }, 100),
50
+ useEffect(() => {
51
+ return () => {
52
+ if (debounceTimerRef.current) {
53
+ clearTimeout(debounceTimerRef.current);
54
+ }
55
+ };
56
+ }, []);
57
+ const debouncedOnChange = useCallback(
58
+ (newValue) => {
59
+ if (debounceTimerRef.current) {
60
+ clearTimeout(debounceTimerRef.current);
61
+ }
62
+ debounceTimerRef.current = setTimeout(() => {
63
+ onChange == null ? void 0 : onChange(newValue);
64
+ }, 100);
65
+ },
43
66
  [onChange]
44
67
  );
45
68
  const handleChange = useCallback(
@@ -12,8 +12,7 @@ const useSelectionEvents = (props) => {
12
12
  setIsCharactersStyleOpen,
13
13
  setIsParagraphStyleOpen,
14
14
  setIsUrlOpen,
15
- setCharactersUrl,
16
- isParagraphExpanded
15
+ setCharactersUrl
17
16
  } = props;
18
17
  const isDraggingRef = useRef(false);
19
18
  const selectionTimeoutRef = useRef(null);
@@ -1,5 +1,3 @@
1
- export * from './rich-input';
2
- export * from './hooks';
3
- export * from './utils';
4
- export * from './components';
5
- export * from './context/rich-input-context';
1
+ export { RichInput } from './rich-input';
2
+ export type { RichInputProps } from './types';
3
+ export { slateToMarkdown } from './utils';
@@ -176,7 +176,7 @@ const RichInputBase = forwardRef((props, ref) => {
176
176
  orientation: "vertical",
177
177
  onScroll: updateFloating,
178
178
  children: children ? children : (
179
- // 默认渲染 - 向后兼容
179
+ // Default render - backward compatible
180
180
  /* @__PURE__ */ jsx(RichInputViewport, { children: /* @__PURE__ */ jsx(RichInputEditableComponent, {}) })
181
181
  )
182
182
  }
@@ -1,4 +1,4 @@
1
- import { ParagraphBold, ParagraphItalic, ParagraphUnderline, ParagraphStrikethrough, ParagraphCode, ParagraphPilcrow, ParagraphQuote, ParagraphHeading1, ParagraphHeading2, ParagraphHeading3, ParagraphListOrdered, ParagraphList, ParagraphListTodo } from "@choiceform/icons-react";
1
+ import { ParagraphPilcrow, ParagraphQuote, ParagraphCode, ParagraphHeading1, ParagraphHeading2, ParagraphHeading3, ParagraphListOrdered, ParagraphList, ParagraphListTodo, ParagraphBold, ParagraphItalic, ParagraphUnderline, ParagraphStrikethrough } from "@choiceform/icons-react";
2
2
  import React from "react";
3
3
  const charactersOptions = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { Editor, Transforms, Element } from "slate";
1
+ import { Transforms, Element, Editor } from "slate";
2
2
  const LIST_TYPES = ["numbered_list", "bulleted_list"];
3
3
  const CHECK_TYPES = ["check_list"];
4
4
  const toggleMark = (editor, format) => {
@@ -1,6 +1,6 @@
1
1
  import { Descendant } from 'slate';
2
2
  /**
3
- * Markdown 文本转换为 Slate.js 节点格式
4
- * 这是一个简化的实现,支持基本的 Markdown 语法
3
+ * Convert Markdown text to Slate.js node format
4
+ * A simplified implementation supporting basic Markdown syntax
5
5
  */
6
6
  export declare function markdownToSlate(markdown: string): Descendant[];
@@ -1,5 +1,5 @@
1
1
  import { Descendant } from 'slate';
2
2
  /**
3
- * Slate.js 的节点数据转换为 Markdown 格式
3
+ * Convert Slate.js node data to Markdown format
4
4
  */
5
5
  export declare function slateToMarkdown(nodes: Descendant[]): string;
@@ -1,8 +1,14 @@
1
1
  import { Text } from "slate";
2
2
  function slateToMarkdown(nodes) {
3
+ if (!nodes || !Array.isArray(nodes)) {
4
+ return "";
5
+ }
3
6
  return nodes.map((node) => serializeNode(node)).join("\n");
4
7
  }
5
8
  function serializeNode(node) {
9
+ if (!node) {
10
+ return "";
11
+ }
6
12
  if (Text.isText(node)) {
7
13
  return serializeText(node);
8
14
  }
@@ -51,6 +57,9 @@ function serializeNode(node) {
51
57
  }
52
58
  }
53
59
  function serializeChildren(children) {
60
+ if (!children || !Array.isArray(children)) {
61
+ return "";
62
+ }
54
63
  return children.map((child) => serializeNode(child)).join("");
55
64
  }
56
65
  function serializeText(text) {
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
 
3
3
  type ScrollbarVisibilityType = "auto" | "always" | "scroll" | "hover";
4
- type ScrollbarMode = "default" | "large-y" | "large-t" | "large-b" | "large-x" | "large-l" | "large-r";
4
+ type ScrollbarMode = "default" | "padding-y" | "padding-x" | "padding-b" | "padding-t" | "padding-l" | "padding-r";
5
5
  type ScrollAreaVariant = "default" | "light" | "dark";
6
6
  type ScrollOrientation = "vertical" | "horizontal" | "both";
7
7
  type HoverBoundary = "none" | "hover";
@@ -14,24 +14,24 @@ interface ScrollState {
14
14
  scrollWidth: number;
15
15
  }
16
16
  /**
17
- * 滚动位置信息 - 简化版本,只提供核心数据
17
+ * Scroll position information - simplified version, only providing core data
18
18
  */
19
19
  interface ScrollPosition {
20
- /** 水平滚动位置(0-1 */
20
+ /** Horizontal scroll position (0-1) */
21
21
  left: number;
22
- /** 垂直滚动位置(0-1 */
22
+ /** Vertical scroll position (0-1) */
23
23
  top: number;
24
24
  }
25
25
  /**
26
- * Render prop函数类型
26
+ * Render prop function type
27
27
  */
28
28
  type ScrollAreaRenderProp = (position: ScrollPosition) => React.ReactNode;
29
29
  interface ScrollAreaProps extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
30
- /** 可访问名称 */
30
+ /** Accessible name */
31
31
  "aria-label"?: string;
32
- /** 引用提供标签的元素ID */
32
+ /** Reference to the element ID providing the label */
33
33
  "aria-labelledby"?: string;
34
- /** 标准childrenrender prop函数 */
34
+ /** Standard children or render prop function */
35
35
  children?: React.ReactNode | ScrollAreaRenderProp;
36
36
  hoverBoundary?: HoverBoundary;
37
37
  orientation?: ScrollOrientation;
@@ -56,7 +56,7 @@ declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & reac
56
56
  };
57
57
 
58
58
  /**
59
- * 合并的滚动状态和可见性管理 hook - 避免重复监听滚动事件
59
+ * Merged scroll state and visibility management hook - avoid duplicate scroll event listening
60
60
  */
61
61
  declare function useScrollStateAndVisibility(viewport: HTMLDivElement | null): {
62
62
  scrollState: ScrollState;
@@ -67,7 +67,7 @@ declare function useScrollStateAndVisibility(viewport: HTMLDivElement | null): {
67
67
  };
68
68
 
69
69
  /**
70
- * 缓存的 thumb 样式计算 hook
70
+ * Cached thumb style calculation hook
71
71
  */
72
72
  declare function useThumbStyle(scrollState: ScrollState, orientation: "vertical" | "horizontal"): {
73
73
  height: string;
@@ -81,7 +81,7 @@ declare function useThumbStyle(scrollState: ScrollState, orientation: "vertical"
81
81
  top?: undefined;
82
82
  };
83
83
  /**
84
- * 🚀 高性能 thumb 拖拽 hook - 优化拖拽响应性和性能
84
+ * 🚀 High-performance thumb drag hook - optimize drag responsiveness and performance
85
85
  */
86
86
  declare function useThumbDrag(viewport: HTMLDivElement | null, scrollState: ScrollState, orientation: "vertical" | "horizontal"): {
87
87
  isDragging: boolean;
@@ -89,11 +89,11 @@ declare function useThumbDrag(viewport: HTMLDivElement | null, scrollState: Scro
89
89
  };
90
90
 
91
91
  /**
92
- * 缓存的溢出检查 hook
92
+ * Cached overflow check hook
93
93
  */
94
94
  declare function useHasOverflow(scrollState: ScrollState, orientation: "vertical" | "horizontal"): boolean;
95
95
  /**
96
- * 缓存的滚动条显示判断 hook
96
+ * Cached scrollbar display judgment hook
97
97
  */
98
98
  declare function useScrollbarShouldShow(type: ScrollbarVisibilityType, hasOverflow: boolean, isScrolling: boolean, isHovering: boolean): boolean;
99
99
 
@@ -110,13 +110,13 @@ interface PerformanceMonitorOptions {
110
110
  logInterval?: number;
111
111
  }
112
112
  /**
113
- * 🔍 ScrollArea 性能监控 Hook
113
+ * 🔍 ScrollArea performance monitoring Hook
114
114
  *
115
- * 用于监控和诊断滚动性能问题,包括:
116
- * - 帧率监控
117
- * - 事件频率统计
118
- * - 性能瓶颈检测
119
- * - 实时性能报告
115
+ * Used to monitor and diagnose scroll performance issues, including:
116
+ * - Frame rate monitoring
117
+ * - Event frequency statistics
118
+ * - Performance bottleneck detection
119
+ * - Real-time performance reporting
120
120
  */
121
121
  declare function useScrollPerformanceMonitor(viewport: HTMLDivElement | null, options?: PerformanceMonitorOptions): PerformanceMetrics | null;
122
122
 
@@ -102,7 +102,7 @@ function useScrollStateAndVisibility(viewport) {
102
102
  passive: true,
103
103
  signal,
104
104
  capture: false
105
- // 避免不必要的事件捕获
105
+ // Avoid unnecessary event capture
106
106
  });
107
107
  window.addEventListener("resize", handleResize, {
108
108
  passive: true,
@@ -144,10 +144,10 @@ function useScrollStateAndVisibility(viewport) {
144
144
  subtree: true,
145
145
  attributes: true,
146
146
  attributeFilter: ["style", "class"],
147
- // 只监听影响布局的属性
147
+ // Only listen to attributes that affect layout
148
148
  characterData: true,
149
149
  characterDataOldValue: false,
150
- // 不需要旧值,提升性能
150
+ // No need for old value, improve performance
151
151
  attributeOldValue: false
152
152
  });
153
153
  }
@@ -387,12 +387,12 @@ var ScrollTv = tcv({
387
387
  default: {
388
388
  scrollbar: "p-0.5"
389
389
  },
390
- "large-y": {},
391
- "large-t": {},
392
- "large-b": {},
393
- "large-x": {},
394
- "large-l": {},
395
- "large-r": {}
390
+ "padding-y": {},
391
+ "padding-t": {},
392
+ "padding-b": {},
393
+ "padding-x": {},
394
+ "padding-l": {},
395
+ "padding-r": {}
396
396
  },
397
397
  hoverBoundary: {
398
398
  none: {},
@@ -451,42 +451,42 @@ var ScrollTv = tcv({
451
451
  },
452
452
  {
453
453
  orientation: "vertical",
454
- scrollbarMode: "large-y",
454
+ scrollbarMode: "padding-y",
455
455
  class: {
456
456
  scrollbar: "px-0.5 py-2"
457
457
  }
458
458
  },
459
459
  {
460
460
  orientation: "vertical",
461
- scrollbarMode: "large-t",
461
+ scrollbarMode: "padding-t",
462
462
  class: {
463
463
  scrollbar: "px-0.5 pt-2"
464
464
  }
465
465
  },
466
466
  {
467
467
  orientation: "vertical",
468
- scrollbarMode: "large-b",
468
+ scrollbarMode: "padding-b",
469
469
  class: {
470
470
  scrollbar: "px-0.5 pb-2"
471
471
  }
472
472
  },
473
473
  {
474
474
  orientation: "horizontal",
475
- scrollbarMode: "large-x",
475
+ scrollbarMode: "padding-x",
476
476
  class: {
477
477
  scrollbar: "px-2 py-0.5"
478
478
  }
479
479
  },
480
480
  {
481
481
  orientation: "horizontal",
482
- scrollbarMode: "large-l",
482
+ scrollbarMode: "padding-l",
483
483
  class: {
484
484
  scrollbar: "py-0.5 pl-2"
485
485
  }
486
486
  },
487
487
  {
488
488
  orientation: "horizontal",
489
- scrollbarMode: "large-r",
489
+ scrollbarMode: "padding-r",
490
490
  class: {
491
491
  scrollbar: "py-0.5 pr-2"
492
492
  }
@@ -559,7 +559,7 @@ function shouldShowCorner(scrollState) {
559
559
  var ScrollAreaCorner = forwardRef(
560
560
  ({ className, ...props }, ref) => {
561
561
  const { scrollState, scrollbarMode, variant } = useScrollAreaContext();
562
- const tvConfig = useMemo(
562
+ const tv = useMemo(
563
563
  () => ScrollTv({
564
564
  variant,
565
565
  scrollbarMode,
@@ -582,7 +582,7 @@ var ScrollAreaCorner = forwardRef(
582
582
  "div",
583
583
  {
584
584
  ref,
585
- className: tcx(tvConfig.corner(), className),
585
+ className: tcx(tv.corner(), className),
586
586
  style: cornerStyle,
587
587
  role: "presentation",
588
588
  "aria-hidden": "true",
@@ -629,7 +629,7 @@ var ScrollAreaScrollbar = forwardRef(
629
629
  },
630
630
  [viewport, scrollState, orientation]
631
631
  );
632
- const tvConfig = useMemo(
632
+ const tv = useMemo(
633
633
  () => ScrollTv({
634
634
  variant,
635
635
  scrollbarMode,
@@ -660,7 +660,7 @@ var ScrollAreaScrollbar = forwardRef(
660
660
  {
661
661
  ref: setRef,
662
662
  id: scrollbarId,
663
- className: tcx(tvConfig.scrollbar(), className),
663
+ className: tcx(tv.scrollbar(), className),
664
664
  style: getScrollbarPositionStyle(orientation),
665
665
  onClick: handleTrackClick,
666
666
  role: "scrollbar",
@@ -682,7 +682,7 @@ var ScrollAreaThumb = forwardRef(
682
682
  const { viewport, scrollState, scrollbarMode, variant, setThumbX, setThumbY } = useScrollAreaContext();
683
683
  const { handleMouseDown } = useThumbDrag(viewport, scrollState, orientation);
684
684
  const thumbStyle = useThumbStyle(scrollState, orientation);
685
- const tvConfig = useMemo(
685
+ const tv = useMemo(
686
686
  () => ScrollTv({
687
687
  variant,
688
688
  scrollbarMode,
@@ -709,7 +709,7 @@ var ScrollAreaThumb = forwardRef(
709
709
  "div",
710
710
  {
711
711
  ref: setRef,
712
- className: tcx(tvConfig.thumb(), className),
712
+ className: tcx(tv.thumb(), className),
713
713
  style: thumbStyle,
714
714
  onMouseDown: handleMouseDown,
715
715
  role: "button",
@@ -779,7 +779,7 @@ var ScrollAreaRoot = forwardRef(
779
779
  type: staticConfig.type,
780
780
  isHovering,
781
781
  isScrolling,
782
- // 添加 ID 相关的值
782
+ // Add ID-related values
783
783
  rootId,
784
784
  viewportId,
785
785
  scrollbarXId,
@@ -802,7 +802,7 @@ var ScrollAreaRoot = forwardRef(
802
802
  scrollbarYId
803
803
  ]
804
804
  );
805
- const tvConfig = useMemo(
805
+ const tv = useMemo(
806
806
  () => ScrollTv({
807
807
  variant,
808
808
  scrollbarMode,
@@ -864,7 +864,7 @@ var ScrollAreaRoot = forwardRef(
864
864
  {
865
865
  ref,
866
866
  id: rootId,
867
- className: tcx(tvConfig.root(), className),
867
+ className: tcx(tv.root(), className),
868
868
  onMouseEnter: handleMouseEnter,
869
869
  onMouseLeave: handleMouseLeave,
870
870
  "aria-label": ariaLabel,
@@ -7,7 +7,7 @@ import { tcx } from "../../../../shared/utils/tcx/tcx.js";
7
7
  const ScrollAreaCorner = forwardRef(
8
8
  ({ className, ...props }, ref) => {
9
9
  const { scrollState, scrollbarMode, variant } = useScrollAreaContext();
10
- const tvConfig = useMemo(
10
+ const tv = useMemo(
11
11
  () => ScrollTv({
12
12
  variant,
13
13
  scrollbarMode,
@@ -30,7 +30,7 @@ const ScrollAreaCorner = forwardRef(
30
30
  "div",
31
31
  {
32
32
  ref,
33
- className: tcx(tvConfig.corner(), className),
33
+ className: tcx(tv.corner(), className),
34
34
  style: cornerStyle,
35
35
  role: "presentation",
36
36
  "aria-hidden": "true",
@@ -65,7 +65,7 @@ const ScrollAreaRoot = forwardRef(
65
65
  type: staticConfig.type,
66
66
  isHovering,
67
67
  isScrolling,
68
- // 添加 ID 相关的值
68
+ // Add ID-related values
69
69
  rootId,
70
70
  viewportId,
71
71
  scrollbarXId,
@@ -88,7 +88,7 @@ const ScrollAreaRoot = forwardRef(
88
88
  scrollbarYId
89
89
  ]
90
90
  );
91
- const tvConfig = useMemo(
91
+ const tv = useMemo(
92
92
  () => ScrollTv({
93
93
  variant,
94
94
  scrollbarMode,
@@ -150,7 +150,7 @@ const ScrollAreaRoot = forwardRef(
150
150
  {
151
151
  ref,
152
152
  id: rootId,
153
- className: tcx(tvConfig.root(), className),
153
+ className: tcx(tv.root(), className),
154
154
  onMouseEnter: handleMouseEnter,
155
155
  onMouseLeave: handleMouseLeave,
156
156
  "aria-label": ariaLabel,
@@ -42,7 +42,7 @@ const ScrollAreaScrollbar = forwardRef(
42
42
  },
43
43
  [viewport, scrollState, orientation]
44
44
  );
45
- const tvConfig = useMemo(
45
+ const tv = useMemo(
46
46
  () => ScrollTv({
47
47
  variant,
48
48
  scrollbarMode,
@@ -73,7 +73,7 @@ const ScrollAreaScrollbar = forwardRef(
73
73
  {
74
74
  ref: setRef,
75
75
  id: scrollbarId,
76
- className: tcx(tvConfig.scrollbar(), className),
76
+ className: tcx(tv.scrollbar(), className),
77
77
  style: getScrollbarPositionStyle(orientation),
78
78
  onClick: handleTrackClick,
79
79
  role: "scrollbar",
@@ -9,7 +9,7 @@ const ScrollAreaThumb = forwardRef(
9
9
  const { viewport, scrollState, scrollbarMode, variant, setThumbX, setThumbY } = useScrollAreaContext();
10
10
  const { handleMouseDown } = useThumbDrag(viewport, scrollState, orientation);
11
11
  const thumbStyle = useThumbStyle(scrollState, orientation);
12
- const tvConfig = useMemo(
12
+ const tv = useMemo(
13
13
  () => ScrollTv({
14
14
  variant,
15
15
  scrollbarMode,
@@ -36,7 +36,7 @@ const ScrollAreaThumb = forwardRef(
36
36
  "div",
37
37
  {
38
38
  ref: setRef,
39
- className: tcx(tvConfig.thumb(), className),
39
+ className: tcx(tv.thumb(), className),
40
40
  style: thumbStyle,
41
41
  onMouseDown: handleMouseDown,
42
42
  role: "button",
@@ -11,13 +11,13 @@ interface PerformanceMonitorOptions {
11
11
  logInterval?: number;
12
12
  }
13
13
  /**
14
- * 🔍 ScrollArea 性能监控 Hook
14
+ * 🔍 ScrollArea performance monitoring Hook
15
15
  *
16
- * 用于监控和诊断滚动性能问题,包括:
17
- * - 帧率监控
18
- * - 事件频率统计
19
- * - 性能瓶颈检测
20
- * - 实时性能报告
16
+ * Used to monitor and diagnose scroll performance issues, including:
17
+ * - Frame rate monitoring
18
+ * - Event frequency statistics
19
+ * - Performance bottleneck detection
20
+ * - Real-time performance reporting
21
21
  */
22
22
  export declare function useScrollPerformanceMonitor(viewport: HTMLDivElement | null, options?: PerformanceMonitorOptions): PerformanceMetrics | null;
23
23
  export {};
@@ -2,11 +2,11 @@ import { useState, useRef, useEffect } from "react";
2
2
  function useScrollPerformanceMonitor(viewport, options = {}) {
3
3
  const {
4
4
  enabled = false,
5
- // 默认关闭,只在开发时启用
5
+ // Default disabled, only enabled in development
6
6
  logInterval = 5e3,
7
- // 5秒报告一次
7
+ // Report every 5 seconds
8
8
  frameTimeThreshold = 16.67
9
- // 60fps阈值
9
+ // 60fps threshold
10
10
  } = options;
11
11
  const [metrics, setMetrics] = useState({
12
12
  averageFrameTime: 0,
@@ -1,6 +1,6 @@
1
1
  import { ScrollState } from '../types';
2
2
  /**
3
- * 合并的滚动状态和可见性管理 hook - 避免重复监听滚动事件
3
+ * Merged scroll state and visibility management hook - avoid duplicate scroll event listening
4
4
  */
5
5
  export declare function useScrollStateAndVisibility(viewport: HTMLDivElement | null): {
6
6
  scrollState: ScrollState;
@@ -92,7 +92,7 @@ function useScrollStateAndVisibility(viewport) {
92
92
  passive: true,
93
93
  signal,
94
94
  capture: false
95
- // 避免不必要的事件捕获
95
+ // Avoid unnecessary event capture
96
96
  });
97
97
  window.addEventListener("resize", handleResize, {
98
98
  passive: true,
@@ -134,10 +134,10 @@ function useScrollStateAndVisibility(viewport) {
134
134
  subtree: true,
135
135
  attributes: true,
136
136
  attributeFilter: ["style", "class"],
137
- // 只监听影响布局的属性
137
+ // Only listen to attributes that affect layout
138
138
  characterData: true,
139
139
  characterDataOldValue: false,
140
- // 不需要旧值,提升性能
140
+ // No need for old value, improve performance
141
141
  attributeOldValue: false
142
142
  });
143
143
  }
@@ -1,9 +1,9 @@
1
1
  import { ScrollState, ScrollbarVisibilityType } from '../types';
2
2
  /**
3
- * 缓存的溢出检查 hook
3
+ * Cached overflow check hook
4
4
  */
5
5
  export declare function useHasOverflow(scrollState: ScrollState, orientation: "vertical" | "horizontal"): boolean;
6
6
  /**
7
- * 缓存的滚动条显示判断 hook
7
+ * Cached scrollbar display judgment hook
8
8
  */
9
9
  export declare function useScrollbarShouldShow(type: ScrollbarVisibilityType, hasOverflow: boolean, isScrolling: boolean, isHovering: boolean): boolean;
@@ -1,6 +1,6 @@
1
1
  import { ScrollState } from '../types';
2
2
  /**
3
- * 缓存的 thumb 样式计算 hook
3
+ * Cached thumb style calculation hook
4
4
  */
5
5
  export declare function useThumbStyle(scrollState: ScrollState, orientation: "vertical" | "horizontal"): {
6
6
  height: string;
@@ -14,7 +14,7 @@ export declare function useThumbStyle(scrollState: ScrollState, orientation: "ve
14
14
  top?: undefined;
15
15
  };
16
16
  /**
17
- * 🚀 高性能 thumb 拖拽 hook - 优化拖拽响应性和性能
17
+ * 🚀 High-performance thumb drag hook - optimize drag responsiveness and performance
18
18
  */
19
19
  export declare function useThumbDrag(viewport: HTMLDivElement | null, scrollState: ScrollState, orientation: "vertical" | "horizontal"): {
20
20
  isDragging: boolean;