@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
@@ -19,7 +19,7 @@ export declare const toggleButtonTv: import('tailwind-variants').TVReturnType<{
19
19
  };
20
20
  disabled: {
21
21
  true: {
22
- label: string;
22
+ root: string;
23
23
  };
24
24
  false: {};
25
25
  };
@@ -62,7 +62,7 @@ export declare const toggleButtonTv: import('tailwind-variants').TVReturnType<{
62
62
  };
63
63
  disabled: {
64
64
  true: {
65
- label: string;
65
+ root: string;
66
66
  };
67
67
  false: {};
68
68
  };
@@ -105,7 +105,7 @@ export declare const toggleButtonTv: import('tailwind-variants').TVReturnType<{
105
105
  };
106
106
  disabled: {
107
107
  true: {
108
- label: string;
108
+ root: string;
109
109
  };
110
110
  false: {};
111
111
  };
@@ -128,3 +128,67 @@ export declare const toggleButtonTv: import('tailwind-variants').TVReturnType<{
128
128
  input: string[];
129
129
  label: string[];
130
130
  }, undefined, unknown, unknown, undefined>>;
131
+ export declare const toggleGroupTv: import('tailwind-variants').TVReturnType<{
132
+ orientation: {
133
+ horizontal: {
134
+ root: string;
135
+ };
136
+ vertical: {
137
+ root: string;
138
+ };
139
+ };
140
+ disabled: {
141
+ true: {
142
+ root: string;
143
+ };
144
+ false: {};
145
+ };
146
+ multiple: {
147
+ true: {};
148
+ false: {};
149
+ };
150
+ }, {
151
+ root: string[];
152
+ }, undefined, {
153
+ orientation: {
154
+ horizontal: {
155
+ root: string;
156
+ };
157
+ vertical: {
158
+ root: string;
159
+ };
160
+ };
161
+ disabled: {
162
+ true: {
163
+ root: string;
164
+ };
165
+ false: {};
166
+ };
167
+ multiple: {
168
+ true: {};
169
+ false: {};
170
+ };
171
+ }, {
172
+ root: string[];
173
+ }, import('tailwind-variants').TVReturnType<{
174
+ orientation: {
175
+ horizontal: {
176
+ root: string;
177
+ };
178
+ vertical: {
179
+ root: string;
180
+ };
181
+ };
182
+ disabled: {
183
+ true: {
184
+ root: string;
185
+ };
186
+ false: {};
187
+ };
188
+ multiple: {
189
+ true: {};
190
+ false: {};
191
+ };
192
+ }, {
193
+ root: string[];
194
+ }, undefined, unknown, unknown, undefined>>;
@@ -1,11 +1,11 @@
1
1
  import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
2
  const toggleButtonTv = tcv({
3
3
  slots: {
4
- root: ["relative"],
4
+ root: ["relative rounded-md"],
5
5
  input: ["absolute inset-0 h-full w-full", "peer pointer-events-auto appearance-none opacity-0"],
6
6
  label: [
7
- "absolute inset-0 flex h-full w-full rounded-md",
8
- "items-center justify-center",
7
+ "absolute inset-0 flex h-full w-full rounded-[inherit]",
8
+ "items-center justify-center select-none",
9
9
  "border border-solid border-transparent",
10
10
  "peer-focus-visible:border-selected-boundary"
11
11
  ]
@@ -27,7 +27,7 @@ const toggleButtonTv = tcv({
27
27
  },
28
28
  disabled: {
29
29
  true: {
30
- label: "text-secondary-foreground"
30
+ root: "text-secondary-foreground"
31
31
  },
32
32
  false: {}
33
33
  },
@@ -50,7 +50,7 @@ const toggleButtonTv = tcv({
50
50
  active: false,
51
51
  disabled: false,
52
52
  class: {
53
- label: "hover:bg-secondary-background"
53
+ root: "hover:bg-secondary-background"
54
54
  }
55
55
  },
56
56
  {
@@ -59,7 +59,7 @@ const toggleButtonTv = tcv({
59
59
  event: "click",
60
60
  disabled: false,
61
61
  class: {
62
- label: "active:bg-tertiary-background"
62
+ root: "active:bg-tertiary-background"
63
63
  }
64
64
  },
65
65
  {
@@ -69,7 +69,7 @@ const toggleButtonTv = tcv({
69
69
  disabled: false,
70
70
  event: "click",
71
71
  class: {
72
- label: "active:bg-tertiary-background"
72
+ root: "active:bg-tertiary-background"
73
73
  }
74
74
  },
75
75
  {
@@ -79,7 +79,7 @@ const toggleButtonTv = tcv({
79
79
  disabled: false,
80
80
  event: "click",
81
81
  class: {
82
- label: "active:bg-accent-background/10"
82
+ root: "active:bg-accent-background/10"
83
83
  }
84
84
  },
85
85
  {
@@ -87,7 +87,7 @@ const toggleButtonTv = tcv({
87
87
  active: true,
88
88
  disabled: false,
89
89
  class: {
90
- label: "bg-tertiary-background"
90
+ root: "bg-tertiary-background"
91
91
  }
92
92
  },
93
93
  {
@@ -105,7 +105,7 @@ const toggleButtonTv = tcv({
105
105
  disabled: false,
106
106
  checked: false,
107
107
  class: {
108
- label: "bg-secondary-background"
108
+ root: "bg-secondary-background"
109
109
  }
110
110
  },
111
111
  {
@@ -114,7 +114,7 @@ const toggleButtonTv = tcv({
114
114
  disabled: false,
115
115
  checked: true,
116
116
  class: {
117
- label: "bg-accent-background/10 text-accent-foreground"
117
+ root: "bg-accent-background/10 text-accent-foreground"
118
118
  }
119
119
  },
120
120
  {
@@ -123,7 +123,7 @@ const toggleButtonTv = tcv({
123
123
  disabled: false,
124
124
  active: false,
125
125
  class: {
126
- label: "bg-accent-background/10 text-accent-foreground hover:bg-accent-background/5"
126
+ root: "bg-accent-background/10 text-accent-foreground hover:bg-accent-background/5"
127
127
  }
128
128
  },
129
129
  {
@@ -131,7 +131,7 @@ const toggleButtonTv = tcv({
131
131
  checked: true,
132
132
  disabled: true,
133
133
  class: {
134
- label: "bg-tertiary-background"
134
+ root: "bg-tertiary-background"
135
135
  }
136
136
  }
137
137
  ],
@@ -145,6 +145,37 @@ const toggleButtonTv = tcv({
145
145
  focused: false
146
146
  }
147
147
  });
148
+ const toggleGroupTv = tcv({
149
+ slots: {
150
+ root: ["flex gap-1"]
151
+ },
152
+ variants: {
153
+ orientation: {
154
+ horizontal: {
155
+ root: "flex-row"
156
+ },
157
+ vertical: {
158
+ root: "flex-col"
159
+ }
160
+ },
161
+ disabled: {
162
+ true: {
163
+ root: "opacity-50 pointer-events-none"
164
+ },
165
+ false: {}
166
+ },
167
+ multiple: {
168
+ true: {},
169
+ false: {}
170
+ }
171
+ },
172
+ defaultVariants: {
173
+ orientation: "horizontal",
174
+ disabled: false,
175
+ multiple: false
176
+ }
177
+ });
148
178
  export {
149
- toggleButtonTv
179
+ toggleButtonTv,
180
+ toggleGroupTv
150
181
  };
@@ -1,38 +1,10 @@
1
- import { HTMLProps, ReactNode } from 'react';
2
- import { Placement, UseFloatingReturn } from '@floating-ui/react';
1
+ import { Placement } from '@floating-ui/react';
2
+ import { ReactNode } from 'react';
3
3
  import { KbdKey } from '../../kbd/src';
4
- import * as react from 'react';
5
4
  export { FloatingDelayGroup as TooltipProvider } from '@floating-ui/react';
5
+ import * as react from 'react';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
- declare const TooltipTrigger: react.ForwardRefExoticComponent<Omit<HTMLProps<HTMLElement>, "ref"> & react.RefAttributes<HTMLElement>>;
9
-
10
- interface TooltipOptions {
11
- disabled?: boolean;
12
- initialOpen?: boolean;
13
- offset?: number;
14
- onOpenChange?: (open: boolean) => void;
15
- open?: boolean;
16
- placement?: Placement;
17
- }
18
- interface TooltipContextValue {
19
- arrowRef: React.RefObject<HTMLElement>;
20
- context: UseFloatingReturn["context"];
21
- disabled: boolean;
22
- floatingStyles: React.CSSProperties;
23
- getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
24
- getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
25
- isPositioned: UseFloatingReturn["isPositioned"];
26
- middlewareData: UseFloatingReturn["middlewareData"];
27
- open: boolean;
28
- placement: Placement;
29
- refs: UseFloatingReturn["refs"];
30
- setOpen: (open: boolean) => void;
31
- strategy: UseFloatingReturn["strategy"];
32
- update: UseFloatingReturn["update"];
33
- x: number | null;
34
- y: number | null;
35
- }
36
8
  interface TooltipProps {
37
9
  children?: React.ReactNode;
38
10
  className?: string;
@@ -55,17 +27,12 @@ interface TooltipContentProps extends React.HTMLProps<HTMLDivElement> {
55
27
  variant?: "default" | "light";
56
28
  withArrow?: boolean;
57
29
  }
58
- interface TooltipArrowProps {
59
- className?: string;
60
- variant?: "default" | "light";
61
- }
62
-
63
- declare const TooltipContent: react.ForwardRefExoticComponent<Omit<TooltipContentProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
64
-
65
- declare const TooltipArrow: react.ForwardRefExoticComponent<TooltipArrowProps & react.RefAttributes<HTMLDivElement>>;
66
-
67
- declare function useTooltip({ initialOpen, placement, open: controlledOpen, onOpenChange: setControlledOpen, disabled, offset: offsetValue, }?: TooltipOptions): TooltipContextValue;
68
30
 
69
- declare function Tooltip(props: TooltipProps): react_jsx_runtime.JSX.Element;
31
+ declare function TooltipRoot(props: TooltipProps): react_jsx_runtime.JSX.Element;
32
+ declare const Tooltip: typeof TooltipRoot & {
33
+ Trigger: react.ForwardRefExoticComponent<Omit<react.HTMLProps<HTMLElement>, "ref"> & react.RefAttributes<HTMLElement>>;
34
+ Content: react.ForwardRefExoticComponent<Omit<TooltipContentProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
35
+ displayName: string;
36
+ };
70
37
 
71
- export { Tooltip, TooltipArrow, type TooltipArrowProps, TooltipContent, type TooltipContentProps, type TooltipContextValue, type TooltipOptions, type TooltipProps, TooltipTrigger, useTooltip };
38
+ export { Tooltip, type TooltipContentProps, type TooltipProps };
@@ -1,9 +1,9 @@
1
- import { Slot } from "../../slot/dist/index.js";
2
- import { useDelayGroupContext, offset, flip, shift, arrow, useFloating, autoUpdate, useHover, useFocus, useDismiss, useRole, useInteractions, useMergeRefs, useDelayGroup, useTransitionStyles, FloatingPortal } from "@floating-ui/react";
1
+ import { Kbd } from "../../kbd/dist/index.js";
2
+ import { useMergeRefs, useDelayGroup, useTransitionStyles, FloatingPortal, offset, flip, shift, arrow, useFloating, autoUpdate, useHover, useFocus, useDismiss, useRole, useInteractions } from "@floating-ui/react";
3
3
  import { FloatingDelayGroup } from "@floating-ui/react";
4
- import { createContext, forwardRef, useState, useRef, useMemo, useContext } from "react";
4
+ import { forwardRef, createContext, useMemo, useState, useRef, useContext } from "react";
5
5
  import { jsxs, jsx } from "react/jsx-runtime";
6
- import { Kbd } from "../../kbd/dist/index.js";
6
+ import { Slot } from "../../slot/dist/index.js";
7
7
  import { tcv, tcx } from "../../../shared/utils/tcx/tcx.js";
8
8
  var TooltipContext = createContext(null);
9
9
  function useTooltipState() {
@@ -14,26 +14,10 @@ function useTooltipState() {
14
14
  return context;
15
15
  }
16
16
  var PORTAL_ROOT_ID = "floating-tooltip-root";
17
- var TooltipTrigger = forwardRef(
18
- function TooltipTrigger2({ children, ...props }, propRef) {
19
- const state = useTooltipState();
20
- const childrenRef = children == null ? void 0 : children.ref;
21
- const ref = useMergeRefs([state.refs.setReference, propRef, childrenRef]);
22
- return /* @__PURE__ */ jsx(
23
- Slot,
24
- {
25
- ref,
26
- ...state.disabled && { disabled: true },
27
- ...state.getReferenceProps(props),
28
- children
29
- }
30
- );
31
- }
32
- );
33
17
  var tooltipContentVariants = tcv({
34
18
  slots: {
35
19
  root: "rounded-md px-2 py-1",
36
- arrow: "translate-none"
20
+ arrow: "box-border"
37
21
  },
38
22
  variants: {
39
23
  variant: {
@@ -109,7 +93,7 @@ var TooltipArrow = forwardRef(function TooltipArrow2({ className, variant = "def
109
93
  width: `${ARROW_SIZE}px`,
110
94
  height: `${ARROW_SIZE}px`,
111
95
  transform: "rotate(45deg)",
112
- // floating-ui 会自动计算正确的位置并避免圆角冲突
96
+ // floating-ui will automatically calculate the correct position and avoid corner conflicts
113
97
  top: y != null ? `${y}px` : void 0,
114
98
  left: x != null ? `${x}px` : void 0,
115
99
  right: void 0,
@@ -146,9 +130,10 @@ var TooltipContent = forwardRef(
146
130
  function TooltipContent2(props, propRef) {
147
131
  const { className, withArrow = true, variant = "default", children, portalId, ...rest } = props;
148
132
  const state = useTooltipState();
149
- const { isInstantPhase, currentId } = useDelayGroupContext();
150
133
  const ref = useMergeRefs([state.refs.setFloating, propRef]);
151
- useDelayGroup(state.context, { id: state.context.floatingId });
134
+ const { isInstantPhase, currentId } = useDelayGroup(state.context, {
135
+ id: state.context.floatingId
136
+ });
152
137
  const INSTANT_DURATION = 0;
153
138
  const ANIMATION_DURATION = 100;
154
139
  const { isMounted, styles } = useTransitionStyles(state.context, {
@@ -160,7 +145,7 @@ var TooltipContent = forwardRef(
160
145
  opacity: 0,
161
146
  transform: "scale(0.96)"
162
147
  },
163
- // 使用 common 选项设置正确的 transformOrigin
148
+ // Use common option to set the correct transformOrigin
164
149
  common: ({ side }) => ({
165
150
  transformOrigin: {
166
151
  top: "bottom",
@@ -195,6 +180,22 @@ var TooltipContent = forwardRef(
195
180
  ) });
196
181
  }
197
182
  );
183
+ var TooltipTrigger = forwardRef(
184
+ function TooltipTrigger2({ children, ...props }, propRef) {
185
+ const state = useTooltipState();
186
+ const childrenRef = children == null ? void 0 : children.ref;
187
+ const ref = useMergeRefs([state.refs.setReference, propRef, childrenRef]);
188
+ return /* @__PURE__ */ jsx(
189
+ Slot,
190
+ {
191
+ ref,
192
+ ...state.disabled && { disabled: true },
193
+ ...state.getReferenceProps(props),
194
+ children
195
+ }
196
+ );
197
+ }
198
+ );
198
199
  function useTooltip({
199
200
  initialOpen = false,
200
201
  placement = "top",
@@ -207,7 +208,6 @@ function useTooltip({
207
208
  const open = controlledOpen ?? uncontrolledOpen;
208
209
  const setOpen = setControlledOpen ?? setUncontrolledOpen;
209
210
  const arrowRef = useRef(null);
210
- const { delay } = useDelayGroupContext();
211
211
  const middleware = useMemo(
212
212
  () => [
213
213
  offset(offsetValue),
@@ -216,7 +216,7 @@ function useTooltip({
216
216
  arrow({
217
217
  element: arrowRef,
218
218
  padding: 8
219
- // 圆角保护:确保箭头距离容器边缘至少8px
219
+ // Corner protection: ensure arrow is at least 8px from container edge
220
220
  })
221
221
  ],
222
222
  [offsetValue]
@@ -229,6 +229,7 @@ function useTooltip({
229
229
  middleware
230
230
  });
231
231
  const context = data.context;
232
+ const { delay } = useDelayGroup(context);
232
233
  const hover = useHover(context, {
233
234
  move: false,
234
235
  enabled: controlledOpen == null && !disabled,
@@ -254,7 +255,7 @@ function useTooltip({
254
255
  [open, setOpen, disabled, interactions, data]
255
256
  );
256
257
  }
257
- function Tooltip(props) {
258
+ function TooltipRoot(props) {
258
259
  const {
259
260
  children,
260
261
  className,
@@ -303,11 +304,12 @@ function Tooltip(props) {
303
304
  }
304
305
  return /* @__PURE__ */ jsx(TooltipContext.Provider, { value: tooltip, children });
305
306
  }
307
+ var Tooltip = Object.assign(TooltipRoot, {
308
+ Trigger: TooltipTrigger,
309
+ Content: TooltipContent,
310
+ displayName: "Tooltip"
311
+ });
306
312
  export {
307
313
  Tooltip,
308
- TooltipArrow,
309
- TooltipContent,
310
- FloatingDelayGroup as TooltipProvider,
311
- TooltipTrigger,
312
- useTooltip
314
+ FloatingDelayGroup as TooltipProvider
313
315
  };
@@ -25,7 +25,7 @@ const TooltipArrow = forwardRef(function TooltipArrow2({ className, variant = "d
25
25
  width: `${ARROW_SIZE}px`,
26
26
  height: `${ARROW_SIZE}px`,
27
27
  transform: "rotate(45deg)",
28
- // floating-ui 会自动计算正确的位置并避免圆角冲突
28
+ // floating-ui will automatically calculate the correct position and avoid corner conflicts
29
29
  top: y != null ? `${y}px` : void 0,
30
30
  left: x != null ? `${x}px` : void 0,
31
31
  right: void 0,
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useDelayGroupContext, useMergeRefs, useDelayGroup, useTransitionStyles, FloatingPortal } from "@floating-ui/react";
2
+ import { useMergeRefs, useDelayGroup, useTransitionStyles, FloatingPortal } from "@floating-ui/react";
3
3
  import { forwardRef, useMemo } from "react";
4
4
  import { useTooltipState } from "../context/tooltip-context.js";
5
5
  import { tooltipContentVariants } from "../tv.js";
@@ -9,9 +9,10 @@ const TooltipContent = forwardRef(
9
9
  function TooltipContent2(props, propRef) {
10
10
  const { className, withArrow = true, variant = "default", children, portalId, ...rest } = props;
11
11
  const state = useTooltipState();
12
- const { isInstantPhase, currentId } = useDelayGroupContext();
13
12
  const ref = useMergeRefs([state.refs.setFloating, propRef]);
14
- useDelayGroup(state.context, { id: state.context.floatingId });
13
+ const { isInstantPhase, currentId } = useDelayGroup(state.context, {
14
+ id: state.context.floatingId
15
+ });
15
16
  const INSTANT_DURATION = 0;
16
17
  const ANIMATION_DURATION = 100;
17
18
  const { isMounted, styles } = useTransitionStyles(state.context, {
@@ -23,7 +24,7 @@ const TooltipContent = forwardRef(
23
24
  opacity: 0,
24
25
  transform: "scale(0.96)"
25
26
  },
26
- // 使用 common 选项设置正确的 transformOrigin
27
+ // Use common option to set the correct transformOrigin
27
28
  common: ({ side }) => ({
28
29
  transformOrigin: {
29
30
  top: "bottom",
@@ -0,0 +1 @@
1
+ export { TooltipContext } from './tooltip-context';
@@ -1,4 +1,4 @@
1
- import { useDelayGroupContext, offset, flip, shift, arrow, useFloating, autoUpdate, useHover, useFocus, useDismiss, useRole, useInteractions } from "@floating-ui/react";
1
+ import { offset, flip, shift, arrow, useFloating, autoUpdate, useDelayGroup, useHover, useFocus, useDismiss, useRole, useInteractions } from "@floating-ui/react";
2
2
  import { useState, useRef, useMemo } from "react";
3
3
  function useTooltip({
4
4
  initialOpen = false,
@@ -12,7 +12,6 @@ function useTooltip({
12
12
  const open = controlledOpen ?? uncontrolledOpen;
13
13
  const setOpen = setControlledOpen ?? setUncontrolledOpen;
14
14
  const arrowRef = useRef(null);
15
- const { delay } = useDelayGroupContext();
16
15
  const middleware = useMemo(
17
16
  () => [
18
17
  offset(offsetValue),
@@ -21,7 +20,7 @@ function useTooltip({
21
20
  arrow({
22
21
  element: arrowRef,
23
22
  padding: 8
24
- // 圆角保护:确保箭头距离容器边缘至少8px
23
+ // Corner protection: ensure arrow is at least 8px from container edge
25
24
  })
26
25
  ],
27
26
  [offsetValue]
@@ -34,6 +33,7 @@ function useTooltip({
34
33
  middleware
35
34
  });
36
35
  const context = data.context;
36
+ const { delay } = useDelayGroup(context);
37
37
  const hover = useHover(context, {
38
38
  move: false,
39
39
  enabled: controlledOpen == null && !disabled,
@@ -1,5 +1,3 @@
1
- export * from './components';
2
- export * from './hooks';
1
+ export { Tooltip } from './tooltip';
2
+ export type { TooltipProps, TooltipContentProps } from './types';
3
3
  export { FloatingDelayGroup as TooltipProvider } from '@floating-ui/react';
4
- export * from './tooltip';
5
- export * from './types';
@@ -1,2 +1,8 @@
1
1
  import { TooltipProps } from './types';
2
- export declare function Tooltip(props: TooltipProps): import("react/jsx-runtime").JSX.Element;
2
+ declare function TooltipRoot(props: TooltipProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare const Tooltip: typeof TooltipRoot & {
4
+ Trigger: import('react').ForwardRefExoticComponent<Omit<import('react').HTMLProps<HTMLElement>, "ref"> & import('react').RefAttributes<HTMLElement>>;
5
+ Content: import('react').ForwardRefExoticComponent<Omit<import('../..').TooltipContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
6
+ displayName: string;
7
+ };
8
+ export {};
@@ -4,7 +4,7 @@ import { TooltipContent } from "./components/tooltip-content.js";
4
4
  import { TooltipTrigger } from "./components/tooltip-trigger.js";
5
5
  import { PORTAL_ROOT_ID, TooltipContext } from "./context/tooltip-context.js";
6
6
  import { useTooltip } from "./hooks/use-tooltip.js";
7
- function Tooltip(props) {
7
+ function TooltipRoot(props) {
8
8
  const {
9
9
  children,
10
10
  className,
@@ -53,6 +53,11 @@ function Tooltip(props) {
53
53
  }
54
54
  return /* @__PURE__ */ jsx(TooltipContext.Provider, { value: tooltip, children });
55
55
  }
56
+ const Tooltip = Object.assign(TooltipRoot, {
57
+ Trigger: TooltipTrigger,
58
+ Content: TooltipContent,
59
+ displayName: "Tooltip"
60
+ });
56
61
  export {
57
62
  Tooltip
58
63
  };
@@ -2,7 +2,7 @@ import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
2
  const tooltipContentVariants = tcv({
3
3
  slots: {
4
4
  root: "rounded-md px-2 py-1",
5
- arrow: "translate-none"
5
+ arrow: "box-border"
6
6
  },
7
7
  variants: {
8
8
  variant: {
@@ -73,7 +73,7 @@ interface VirtualizedGridProps<P> {
73
73
 
74
74
  declare function VirtualizedGrid<P>(props: VirtualizedGridProps<P>): react_jsx_runtime.JSX.Element;
75
75
 
76
- declare function useContainerData(internalRef: RefObject<HTMLElement>, externalRef?: RefObject<HTMLElement>, containerRef?: RefObject<HTMLElement>): ContainerDataProps;
76
+ declare function useContainerData(internalRef: RefObject<HTMLElement>, externalRef?: RefObject<HTMLElement>, _containerRef?: RefObject<HTMLElement>): ContainerDataProps;
77
77
  declare function useConfigData<P>(containerData: ContainerDataProps, props: VirtualizedGridProps<P>): ConfigDataProps<P> | null;
78
78
  declare function useLayoutData<P>(configData: ConfigDataProps<P> | null): LayoutDataProps<P> | null;
79
79
  declare function useRenderData<P>(containerData: ContainerDataProps, configData: ConfigDataProps<P> | null, layoutData: LayoutDataProps<P> | null): RenderDataProps<P> | null;
@@ -83,7 +83,7 @@ declare function useWindowSize(): ElementSize;
83
83
  declare function useElementSize(ref: RefObject<Element>): ElementSize | null;
84
84
  declare function useWindowScroll(): ElementScroll;
85
85
  declare function useElementScroll(ref: RefObject<HTMLElement>): ElementScroll;
86
- declare function useElementWindowOffset(ref: RefObject<HTMLElement>): number | null;
86
+ declare function useElementWindowOffset(ref: RefObject<HTMLElement>, scrollContainerRef?: RefObject<HTMLElement>): number | null;
87
87
  declare function useIntersecting(ref: RefObject<HTMLElement>, rootMargin: string): boolean;
88
88
  declare function getColumnWidth(columnCount: number | null, gridGap: number | null, elementWidth: number | null): number | null;
89
89
  declare function getGridRowStart<P>(cell: CellProps<P>, renderData: RenderDataProps<P> | null): string | undefined;
@@ -1,11 +1,13 @@
1
- import { useRef, useCallback, useMemo } from "react";
1
+ import { useRef, useMemo, useEffect } from "react";
2
2
  function useItemPool(visibleItems, options = {}) {
3
3
  const { poolSize = 50, maxPoolSize = 200 } = options;
4
4
  const poolRef = useRef(/* @__PURE__ */ new Map());
5
5
  const keyToPoolIdRef = useRef(/* @__PURE__ */ new Map());
6
6
  const nextPoolIdRef = useRef(0);
7
- const getPooledItem = useCallback(
8
- (key, item, index) => {
7
+ const pooledItems = useMemo(() => {
8
+ const visibleKeys = new Set(visibleItems.map((v) => v.key));
9
+ return visibleItems.map((visibleItem, index) => {
10
+ const { key, item } = visibleItem;
9
11
  const existingPoolId = keyToPoolIdRef.current.get(key);
10
12
  if (existingPoolId !== void 0) {
11
13
  const pooledItem2 = poolRef.current.get(existingPoolId);
@@ -17,28 +19,23 @@ function useItemPool(visibleItems, options = {}) {
17
19
  }
18
20
  let poolId;
19
21
  const usedPoolIds = new Set(keyToPoolIdRef.current.values());
20
- let reusablePoolId;
21
22
  for (let i = 0; i < nextPoolIdRef.current && i < maxPoolSize; i++) {
22
23
  if (!usedPoolIds.has(i)) {
23
- reusablePoolId = i;
24
+ poolId = i;
24
25
  break;
25
26
  }
26
27
  }
27
- if (reusablePoolId !== void 0) {
28
- poolId = reusablePoolId;
29
- } else if (nextPoolIdRef.current < maxPoolSize) {
28
+ if (poolId === void 0 && nextPoolIdRef.current < maxPoolSize) {
30
29
  poolId = nextPoolIdRef.current++;
31
- } else {
32
- const keysToEvict = [];
33
- const visibleKeys = new Set(visibleItems.map((v) => v.key));
30
+ }
31
+ if (poolId === void 0) {
34
32
  for (const [k, pid] of keyToPoolIdRef.current.entries()) {
35
33
  if (!visibleKeys.has(k)) {
36
- keysToEvict.push(k);
34
+ keyToPoolIdRef.current.delete(k);
37
35
  poolId = pid;
38
36
  break;
39
37
  }
40
38
  }
41
- keysToEvict.forEach((k) => keyToPoolIdRef.current.delete(k));
42
39
  }
43
40
  if (poolId === void 0) {
44
41
  poolId = 0;
@@ -47,30 +44,21 @@ function useItemPool(visibleItems, options = {}) {
47
44
  poolRef.current.set(poolId, pooledItem);
48
45
  keyToPoolIdRef.current.set(key, poolId);
49
46
  return pooledItem;
50
- },
51
- [maxPoolSize, visibleItems]
52
- );
53
- const cleanupPool = useCallback(() => {
47
+ });
48
+ }, [visibleItems, maxPoolSize]);
49
+ useEffect(() => {
54
50
  const visibleKeys = new Set(visibleItems.map((v) => v.key));
55
51
  const keysToRemove = [];
56
52
  for (const [key, poolId] of keyToPoolIdRef.current.entries()) {
57
53
  if (!visibleKeys.has(key)) {
58
54
  keysToRemove.push(key);
59
- const pooledItem = poolRef.current.get(poolId);
60
- if (pooledItem && poolRef.current.size > poolSize) {
55
+ if (poolRef.current.size > poolSize) {
61
56
  poolRef.current.delete(poolId);
62
57
  }
63
58
  }
64
59
  }
65
60
  keysToRemove.forEach((key) => keyToPoolIdRef.current.delete(key));
66
61
  }, [visibleItems, poolSize]);
67
- const pooledItems = useMemo(() => {
68
- const items = visibleItems.map(
69
- (visibleItem, index) => getPooledItem(visibleItem.key, visibleItem.item, index)
70
- );
71
- setTimeout(cleanupPool, 0);
72
- return items;
73
- }, [visibleItems, getPooledItem, cleanupPool]);
74
62
  return pooledItems;
75
63
  }
76
64
  export {