@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
@@ -0,0 +1,176 @@
1
+ export declare const tableVariants: import('tailwind-variants').TVReturnType<{
2
+ selected: {
3
+ true: {
4
+ row: string;
5
+ rowStatic: string;
6
+ };
7
+ false: {};
8
+ };
9
+ active: {
10
+ true: {
11
+ row: string;
12
+ rowStatic: string;
13
+ };
14
+ false: {};
15
+ };
16
+ sortable: {
17
+ true: {
18
+ headerCell: string[];
19
+ };
20
+ false: {
21
+ headerCell: string;
22
+ };
23
+ };
24
+ resizing: {
25
+ true: {
26
+ root: string;
27
+ };
28
+ false: {};
29
+ };
30
+ dragging: {
31
+ true: {
32
+ resizer: string;
33
+ };
34
+ false: {};
35
+ };
36
+ }, {
37
+ root: string;
38
+ headerWrapper: string;
39
+ headerInner: string;
40
+ headerRow: string;
41
+ headerCell: string[];
42
+ headerCellDraggable: string;
43
+ headerCellCanDrag: string;
44
+ headerCellDragging: string;
45
+ headerCheckbox: string;
46
+ bodyWrapper: string;
47
+ bodyScroll: string;
48
+ body: string;
49
+ row: string;
50
+ rowStatic: string;
51
+ cell: string;
52
+ cellCheckbox: string;
53
+ sortIcon: string;
54
+ emptyState: string;
55
+ resizer: string[];
56
+ resizeGuide: string[];
57
+ dragGhost: string[];
58
+ dragIndicator: string[];
59
+ }, undefined, {
60
+ selected: {
61
+ true: {
62
+ row: string;
63
+ rowStatic: string;
64
+ };
65
+ false: {};
66
+ };
67
+ active: {
68
+ true: {
69
+ row: string;
70
+ rowStatic: string;
71
+ };
72
+ false: {};
73
+ };
74
+ sortable: {
75
+ true: {
76
+ headerCell: string[];
77
+ };
78
+ false: {
79
+ headerCell: string;
80
+ };
81
+ };
82
+ resizing: {
83
+ true: {
84
+ root: string;
85
+ };
86
+ false: {};
87
+ };
88
+ dragging: {
89
+ true: {
90
+ resizer: string;
91
+ };
92
+ false: {};
93
+ };
94
+ }, {
95
+ root: string;
96
+ headerWrapper: string;
97
+ headerInner: string;
98
+ headerRow: string;
99
+ headerCell: string[];
100
+ headerCellDraggable: string;
101
+ headerCellCanDrag: string;
102
+ headerCellDragging: string;
103
+ headerCheckbox: string;
104
+ bodyWrapper: string;
105
+ bodyScroll: string;
106
+ body: string;
107
+ row: string;
108
+ rowStatic: string;
109
+ cell: string;
110
+ cellCheckbox: string;
111
+ sortIcon: string;
112
+ emptyState: string;
113
+ resizer: string[];
114
+ resizeGuide: string[];
115
+ dragGhost: string[];
116
+ dragIndicator: string[];
117
+ }, import('tailwind-variants').TVReturnType<{
118
+ selected: {
119
+ true: {
120
+ row: string;
121
+ rowStatic: string;
122
+ };
123
+ false: {};
124
+ };
125
+ active: {
126
+ true: {
127
+ row: string;
128
+ rowStatic: string;
129
+ };
130
+ false: {};
131
+ };
132
+ sortable: {
133
+ true: {
134
+ headerCell: string[];
135
+ };
136
+ false: {
137
+ headerCell: string;
138
+ };
139
+ };
140
+ resizing: {
141
+ true: {
142
+ root: string;
143
+ };
144
+ false: {};
145
+ };
146
+ dragging: {
147
+ true: {
148
+ resizer: string;
149
+ };
150
+ false: {};
151
+ };
152
+ }, {
153
+ root: string;
154
+ headerWrapper: string;
155
+ headerInner: string;
156
+ headerRow: string;
157
+ headerCell: string[];
158
+ headerCellDraggable: string;
159
+ headerCellCanDrag: string;
160
+ headerCellDragging: string;
161
+ headerCheckbox: string;
162
+ bodyWrapper: string;
163
+ bodyScroll: string;
164
+ body: string;
165
+ row: string;
166
+ rowStatic: string;
167
+ cell: string;
168
+ cellCheckbox: string;
169
+ sortIcon: string;
170
+ emptyState: string;
171
+ resizer: string[];
172
+ resizeGuide: string[];
173
+ dragGhost: string[];
174
+ dragIndicator: string[];
175
+ }, undefined, unknown, unknown, undefined>>;
176
+ export type TableVariantProps = Parameters<typeof tableVariants>[0];
@@ -0,0 +1,97 @@
1
+ import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
+ const tableVariants = tcv({
3
+ slots: {
4
+ // Root container - flex column layout
5
+ root: "relative flex flex-col overflow-hidden",
6
+ // Header wrapper - clips content, fixed at top
7
+ headerWrapper: "group/header relative flex-shrink-0 overflow-hidden border-b",
8
+ // Header inner - can translate for scroll sync, matches body content width
9
+ headerInner: "",
10
+ // Header row - must match body row width for column alignment
11
+ headerRow: "flex w-full items-center bg-default-background",
12
+ // Header cell
13
+ headerCell: [
14
+ "group/cell relative flex h-8 items-center gap-1 px-3",
15
+ "select-none whitespace-nowrap flex-shrink-0"
16
+ ],
17
+ headerCellDraggable: "",
18
+ headerCellCanDrag: "cursor-grab",
19
+ headerCellDragging: "bg-accent-background/10 opacity-60",
20
+ headerCheckbox: "flex h-8 items-center justify-center px-2 flex-shrink-0",
21
+ // Body wrapper - takes remaining space, handles scrolling
22
+ bodyWrapper: "relative flex-1 min-h-0",
23
+ // Body scroll container (ScrollArea for container mode)
24
+ bodyScroll: "h-full w-full",
25
+ // Body content - relative for absolute positioned rows
26
+ body: "relative min-w-max",
27
+ // Row styles - w-full ensures flex children calculate width consistently
28
+ row: "absolute left-0 right-0 flex w-full items-center",
29
+ rowStatic: "relative flex w-full items-center h-[inherit] min-h-8",
30
+ // For non-virtualized mode
31
+ cell: "flex items-center px-3 flex-shrink-0",
32
+ cellCheckbox: "flex items-center justify-center px-2 flex-shrink-0",
33
+ // Sort icon
34
+ sortIcon: "size-3.5 opacity-60",
35
+ // Empty and loading states
36
+ emptyState: "flex flex-col items-center justify-center py-16 text-secondary-foreground",
37
+ // Column resize styles
38
+ resizer: [
39
+ "absolute -right-1 top-0 h-full w-2 cursor-col-resize z-3",
40
+ "before:absolute before:inset-y-2 before:left-0.75 before:w-0.5 before:content-[''] before:bg-tertiary-background",
41
+ "before:rounded-md before:opacity-0 group-hover/header:before:opacity-100 hover:before:bg-accent-foreground hover:before:inset-y-1",
42
+ "active:before:opacity-0"
43
+ ],
44
+ resizeGuide: ["pointer-events-none absolute top-0 z-50 w-px", "bg-accent-foreground"],
45
+ // Column drag styles
46
+ dragGhost: ["pointer-events-none absolute top-0 z-40", "bg-gray-500/10"],
47
+ dragIndicator: ["pointer-events-none absolute top-0 z-50 w-px", "bg-accent-foreground"]
48
+ },
49
+ variants: {
50
+ selected: {
51
+ true: { row: "bg-selected-background", rowStatic: "bg-selected-background" },
52
+ false: {}
53
+ },
54
+ active: {
55
+ true: { row: "bg-selected-background/70", rowStatic: "bg-selected-background/70" },
56
+ false: {}
57
+ },
58
+ sortable: {
59
+ true: {
60
+ headerCell: [
61
+ "text-secondary-foreground hover:text-default-foreground hover:bg-secondary-background",
62
+ "aria-[sort]:text-default-foreground"
63
+ ]
64
+ },
65
+ false: { headerCell: "text-default-foreground" }
66
+ },
67
+ resizing: {
68
+ true: { root: "pointer-events-none" },
69
+ false: {}
70
+ },
71
+ dragging: {
72
+ true: { resizer: "before:!opacity-0" },
73
+ false: {}
74
+ }
75
+ },
76
+ compoundVariants: [
77
+ {
78
+ selected: true,
79
+ class: {
80
+ rowStatic: "hover:bg-selected-background/50"
81
+ }
82
+ },
83
+ {
84
+ selected: false,
85
+ class: {
86
+ rowStatic: "hover:bg-black/3 dark:hover:bg-white/3 hover:rounded-md"
87
+ }
88
+ }
89
+ ],
90
+ defaultVariants: {
91
+ selected: false,
92
+ active: false
93
+ }
94
+ });
95
+ export {
96
+ tableVariants
97
+ };
@@ -0,0 +1,292 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ /** Selection mode for the table */
3
+ export type SelectionMode = "single" | "multiple" | "none";
4
+ /** Scroll mode for virtualization */
5
+ export type ScrollMode = "container" | "window";
6
+ /** Row key type */
7
+ export type RowKey = string | number;
8
+ /** Sort direction */
9
+ export type SortDirection = "asc" | "desc";
10
+ /** Sorting state */
11
+ export interface SortingState {
12
+ id: string;
13
+ desc: boolean;
14
+ }
15
+ /** Row selection state */
16
+ export type SelectionState = Set<RowKey>;
17
+ /** Column definition */
18
+ export interface TableColumnDef<T = unknown> {
19
+ /** Unique column identifier */
20
+ id: string;
21
+ /** Column header content */
22
+ header?: ReactNode;
23
+ /** Column width (px or CSS value) */
24
+ width?: number | string;
25
+ /** Minimum column width */
26
+ minWidth?: number;
27
+ /** Maximum column width */
28
+ maxWidth?: number;
29
+ /** Flex grow value for flexible column width (e.g., 1, 2, 3) */
30
+ flex?: number;
31
+ /** Whether column is sortable */
32
+ sortable?: boolean;
33
+ /** Whether column is resizable */
34
+ resizable?: boolean;
35
+ /** Custom cell className */
36
+ className?: string;
37
+ /** Custom header className */
38
+ headerClassName?: string;
39
+ }
40
+ /** Column width state */
41
+ export interface ColumnWidthState {
42
+ [columnId: string]: number;
43
+ }
44
+ /** Alias for ColumnWidthState */
45
+ export type ColumnWidthsState = ColumnWidthState;
46
+ /** Column order state */
47
+ export type ColumnOrderState = string[];
48
+ /** Resize state for showing guide line during drag */
49
+ export interface ResizeState {
50
+ columnId: string;
51
+ startX: number;
52
+ startWidth: number;
53
+ currentX: number;
54
+ }
55
+ /** Table instance (exposed via ref) */
56
+ export interface TableInstance<T> {
57
+ /** Get all rows data */
58
+ getData: () => T[];
59
+ /** Get selected row keys */
60
+ getSelectedKeys: () => RowKey[];
61
+ /** Get selected rows data */
62
+ getSelectedRows: () => T[];
63
+ /** Check if row is selected */
64
+ isRowSelected: (key: RowKey) => boolean;
65
+ /** Select row */
66
+ selectRow: (key: RowKey) => void;
67
+ /** Deselect row */
68
+ deselectRow: (key: RowKey) => void;
69
+ /** Toggle row selection */
70
+ toggleRowSelection: (key: RowKey) => void;
71
+ /** Select all rows */
72
+ selectAll: () => void;
73
+ /** Deselect all rows */
74
+ deselectAll: () => void;
75
+ /** Check if all rows are selected */
76
+ isAllSelected: () => boolean;
77
+ /** Check if some (but not all) rows are selected */
78
+ isSomeSelected: () => boolean;
79
+ }
80
+ /** Internal row data with metadata */
81
+ export interface InternalRow<T> {
82
+ key: RowKey;
83
+ data: T;
84
+ index: number;
85
+ }
86
+ /** Consecutive selection style type */
87
+ export type ConsecutiveStyle = "rounded-md" | "rounded-t-md" | "rounded-b-md" | "rounded-none" | "";
88
+ /** Table context value */
89
+ export interface TableContextValue<T = unknown> {
90
+ data: T[];
91
+ rows: InternalRow<T>[];
92
+ getRowKey: (row: T, index: number) => RowKey;
93
+ columns: TableColumnDef<T>[];
94
+ columnOrder: ColumnOrderState;
95
+ registerColumn: (column: TableColumnDef<T>) => void;
96
+ unregisterColumn: (id: string) => void;
97
+ selectable: boolean;
98
+ selectionMode: SelectionMode;
99
+ selectedKeys: Set<RowKey>;
100
+ isRowSelected: (key: RowKey) => boolean;
101
+ toggleRowSelection: (key: RowKey, index?: number) => void;
102
+ handleCheckboxClick: (key: RowKey, index: number, event: React.MouseEvent) => void;
103
+ isAllSelected: () => boolean;
104
+ isSomeSelected: () => boolean;
105
+ selectAll: () => void;
106
+ deselectAll: () => void;
107
+ sortable: boolean;
108
+ sorting: SortingState[];
109
+ toggleSort: (columnId: string) => void;
110
+ getSortDirection: (columnId: string) => SortDirection | null;
111
+ resizable: boolean;
112
+ columnWidths: ColumnWidthState;
113
+ resizeState: ResizeState | null;
114
+ getColumnWidth: (columnId: string) => number | undefined;
115
+ startResize: (columnId: string, startX: number, startWidth: number) => void;
116
+ updateResize: (currentX: number) => void;
117
+ endResize: () => void;
118
+ reorderable: boolean;
119
+ dragState: {
120
+ columnId: string;
121
+ targetIndex: number;
122
+ } | null;
123
+ startDrag: (columnId: string) => void;
124
+ updateDragTarget: (targetIndex: number) => void;
125
+ endDrag: () => void;
126
+ cancelDrag: () => void;
127
+ scrollMode: ScrollMode;
128
+ scrollRef?: RefObject<HTMLElement>;
129
+ containerRef?: RefObject<HTMLElement>;
130
+ virtualized: boolean;
131
+ /** Fixed row height in pixels */
132
+ rowHeight: number;
133
+ overscan: number;
134
+ activeRowKey: RowKey | null;
135
+ onRowClick?: (row: T, event: React.MouseEvent) => void;
136
+ getConsecutiveStyle: (index: number) => ConsecutiveStyle;
137
+ tableRef: RefObject<HTMLDivElement>;
138
+ tableInstance: TableInstance<T>;
139
+ }
140
+ /** Props for the Table root component */
141
+ export interface TableProps<T> {
142
+ /** Table data */
143
+ data: T[];
144
+ /** Function to get unique key for each row */
145
+ getRowKey: (row: T, index: number) => RowKey;
146
+ /** Whether to show selection column */
147
+ selectable?: boolean;
148
+ /** Selection mode */
149
+ selectionMode?: SelectionMode;
150
+ /** Controlled selected keys */
151
+ selectedKeys?: RowKey[];
152
+ /** Default selected keys (uncontrolled) */
153
+ defaultSelectedKeys?: RowKey[];
154
+ /** Selection change callback */
155
+ onSelectionChange?: (selectedKeys: RowKey[]) => void;
156
+ /** Whether to enable virtualization */
157
+ virtualized?: boolean;
158
+ /** Fixed row height in pixels for virtualization (default: 32) */
159
+ rowHeight?: number;
160
+ /** Number of rows to render outside viewport */
161
+ overscan?: number;
162
+ /** Scroll mode */
163
+ scrollMode?: ScrollMode;
164
+ /** Custom scroll element ref (for custom container scroll) */
165
+ scrollRef?: RefObject<HTMLElement>;
166
+ /** Custom container ref (for custom container scroll) */
167
+ containerRef?: RefObject<HTMLElement>;
168
+ /** Whether table is sortable */
169
+ sortable?: boolean;
170
+ /** Controlled sorting state */
171
+ sorting?: SortingState[];
172
+ /** Default sorting state */
173
+ defaultSorting?: SortingState[];
174
+ /** Sorting change callback */
175
+ onSortingChange?: (sorting: SortingState[]) => void;
176
+ /** Whether columns are resizable */
177
+ resizable?: boolean;
178
+ /** Controlled column widths */
179
+ columnWidths?: ColumnWidthState;
180
+ /** Default column widths */
181
+ defaultColumnWidths?: ColumnWidthState;
182
+ /** Column width change callback */
183
+ onColumnWidthsChange?: (widths: ColumnWidthState) => void;
184
+ /** Whether columns are reorderable */
185
+ reorderable?: boolean;
186
+ /** Controlled column order */
187
+ columnOrder?: ColumnOrderState;
188
+ /** Default column order */
189
+ defaultColumnOrder?: ColumnOrderState;
190
+ /** Column order change callback */
191
+ onColumnOrderChange?: (order: ColumnOrderState) => void;
192
+ /** Active row key (for highlighting) */
193
+ activeRowKey?: RowKey | null;
194
+ /** Row click handler */
195
+ onRowClick?: (row: T, event: React.MouseEvent) => void;
196
+ /** Custom class name */
197
+ className?: string;
198
+ /** Container height (for container scroll mode) */
199
+ height?: number | string;
200
+ /** Scroll event callback (for infinite scroll, etc.) */
201
+ onScroll?: (event: {
202
+ scrollTop: number;
203
+ scrollHeight: number;
204
+ clientHeight: number;
205
+ }) => void;
206
+ /** Ref to table instance */
207
+ tableRef?: RefObject<TableInstance<T> | null>;
208
+ /** Children (Table.Header, Table.Body) */
209
+ children: ReactNode;
210
+ }
211
+ /** Props for Table.Header */
212
+ export interface TableHeaderProps {
213
+ children: ReactNode;
214
+ className?: string;
215
+ }
216
+ /** Props for Table.Column (used inside Table.Header) */
217
+ export interface TableColumnProps {
218
+ /** Unique column identifier */
219
+ id: string;
220
+ /** Column header content */
221
+ children?: ReactNode;
222
+ /** Column width */
223
+ width?: number | string;
224
+ /** Minimum width */
225
+ minWidth?: number;
226
+ /** Maximum width */
227
+ maxWidth?: number;
228
+ /** Flex grow value for flexible column width (e.g., 1, 2, 3) */
229
+ flex?: number;
230
+ /** Whether sortable */
231
+ sortable?: boolean;
232
+ /** Whether resizable (overrides table-level setting) */
233
+ resizable?: boolean;
234
+ /** Header className */
235
+ className?: string;
236
+ }
237
+ /** Props for Table.Body */
238
+ export interface TableBodyProps<T = unknown> {
239
+ /** Render function for each row */
240
+ children: (row: T, index: number) => ReactNode;
241
+ /** Body className */
242
+ className?: string;
243
+ /** Body class names */
244
+ classNames?: {
245
+ viewport?: string;
246
+ };
247
+ }
248
+ /** Props for Table.Row */
249
+ export interface TableRowProps {
250
+ /** Row key (must match getRowKey result) */
251
+ rowKey: RowKey;
252
+ /** Row index */
253
+ index: number;
254
+ /** Children (Table.Cell elements) */
255
+ children: ReactNode;
256
+ /** Row className */
257
+ className?: string;
258
+ /** Click handler */
259
+ onClick?: (event: React.MouseEvent) => void;
260
+ }
261
+ /** Props for Table.Cell */
262
+ export interface TableCellProps {
263
+ /** Cell content */
264
+ children: ReactNode;
265
+ /** Column id this cell belongs to */
266
+ columnId?: string;
267
+ /** Cell className */
268
+ className?: string;
269
+ }
270
+ /** Props for Table.Value */
271
+ export interface TableValueProps {
272
+ /** Value content */
273
+ children?: ReactNode;
274
+ /** Value className */
275
+ className?: string;
276
+ }
277
+ /** Props for Table.Footer (e.g., loading indicator for infinite scroll) */
278
+ export interface TableFooterProps {
279
+ /** Footer content */
280
+ children: ReactNode;
281
+ /** Footer className */
282
+ className?: string;
283
+ }
284
+ /** Props for Table.SelectCell */
285
+ export interface TableSelectCellProps {
286
+ /** Row key */
287
+ rowKey: RowKey;
288
+ /** Row index */
289
+ index: number;
290
+ /** Disabled state */
291
+ disabled?: boolean;
292
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import('tsup').Options | import('tsup').Options[] | ((overrideOptions: import('tsup').Options) => import('tsup').Options | import('tsup').Options[] | Promise<import('tsup').Options | import('tsup').Options[]>);
2
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { memo, forwardRef, useId, createContext, useContext } from "react";
1
+ import { memo, forwardRef, useContext, createContext, useId } from "react";
2
2
  import { useEventCallback } from "usehooks-ts";
3
3
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
4
4
  import { tcv, tcx } from "../../../shared/utils/tcx/tcx.js";
@@ -297,8 +297,9 @@ var TabsRoot = forwardRef(function Tabs(props, ref) {
297
297
  );
298
298
  });
299
299
  TabsRoot.displayName = "Tabs";
300
- var Tabs2 = TabsRoot;
301
- Tabs2.Item = TabItem;
300
+ var Tabs2 = Object.assign(TabsRoot, {
301
+ Item: TabItem
302
+ });
302
303
  export {
303
304
  TabItem,
304
305
  Tabs2 as Tabs
@@ -13,5 +13,5 @@ export interface TabsProps extends Omit<HTMLProps<HTMLElement>, "onChange" | "as
13
13
  interface TabsComponent extends React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLElement>> {
14
14
  Item: typeof TabItem;
15
15
  }
16
- declare const Tabs: TabsComponent;
17
- export { Tabs };
16
+ export declare const Tabs: TabsComponent;
17
+ export {};
@@ -5,7 +5,7 @@ import { TabsContext } from "./context.js";
5
5
  import { TabItem } from "./tab-item.js";
6
6
  import { tabsTv } from "./tv.js";
7
7
  import { tcx } from "../../../shared/utils/tcx/tcx.js";
8
- const TabsRoot = forwardRef(function Tabs(props, ref) {
8
+ const TabsRoot = forwardRef(function Tabs2(props, ref) {
9
9
  const {
10
10
  as = "div",
11
11
  value: valueProp,
@@ -54,8 +54,9 @@ const TabsRoot = forwardRef(function Tabs(props, ref) {
54
54
  );
55
55
  });
56
56
  TabsRoot.displayName = "Tabs";
57
- const Tabs2 = TabsRoot;
58
- Tabs2.Item = TabItem;
57
+ const Tabs = Object.assign(TabsRoot, {
58
+ Item: TabItem
59
+ });
59
60
  export {
60
- Tabs2 as Tabs
61
+ Tabs
61
62
  };
@@ -23,4 +23,4 @@ interface TextFieldComponent extends react__default.ForwardRefExoticComponent<Te
23
23
  }
24
24
  declare const TextField: TextFieldComponent;
25
25
 
26
- export { TextField, type TextFieldProps };
26
+ export { type FieldAddonProps, TextField, type TextFieldProps };
@@ -170,23 +170,23 @@ var TextFieldContent = ({
170
170
  prefixNode,
171
171
  suffixNode,
172
172
  inputProps,
173
- styles,
173
+ tv,
174
174
  inputRef
175
- }) => /* @__PURE__ */ jsxs("div", { className: tcx(styles.root(), className), children: [
175
+ }) => /* @__PURE__ */ jsxs("div", { className: tcx(tv.root(), className), children: [
176
176
  prefixNode && cloneElement(prefixNode, {
177
- className: tcx(styles.prefix(), prefixNode.props.className)
177
+ className: tcx(tv.prefix(), prefixNode.props.className)
178
178
  }),
179
179
  /* @__PURE__ */ jsx(
180
180
  Input,
181
181
  {
182
182
  ref: inputRef,
183
183
  variant: "reset",
184
- className: styles.input(),
184
+ className: tv.input(),
185
185
  ...inputProps
186
186
  }
187
187
  ),
188
188
  suffixNode && cloneElement(suffixNode, {
189
- className: tcx(styles.suffix(), suffixNode.props.className)
189
+ className: tcx(tv.suffix(), suffixNode.props.className)
190
190
  })
191
191
  ] });
192
192
  var TextFieldBase = forwardRef((props, ref) => {
@@ -208,7 +208,7 @@ var TextFieldBase = forwardRef((props, ref) => {
208
208
  const suffixNode = suffixElements[0] || null;
209
209
  const labelNode = labelElements[0] || null;
210
210
  const descriptionNode = descriptionElements[0] || null;
211
- const styles = TextFieldTv({
211
+ const tv = TextFieldTv({
212
212
  variant,
213
213
  size,
214
214
  hasPrefix: !!prefixNode,
@@ -218,7 +218,7 @@ var TextFieldBase = forwardRef((props, ref) => {
218
218
  });
219
219
  const generatedId = useId();
220
220
  const uuid = props.id ?? generatedId;
221
- return labelNode || descriptionNode ? /* @__PURE__ */ jsxs("div", { className: tcx(styles.container(), className), children: [
221
+ return labelNode || descriptionNode ? /* @__PURE__ */ jsxs("div", { className: tcx(tv.container(), className), children: [
222
222
  labelNode && cloneElement(labelNode, {
223
223
  variant,
224
224
  disabled,
@@ -230,13 +230,13 @@ var TextFieldBase = forwardRef((props, ref) => {
230
230
  className,
231
231
  prefixNode,
232
232
  suffixNode,
233
- styles,
233
+ tv,
234
234
  inputRef: ref,
235
235
  inputProps: { ...rest, id: uuid, size, disabled }
236
236
  }
237
237
  ),
238
238
  descriptionNode && cloneElement(descriptionNode, {
239
- className: tcx(styles.description(), descriptionNode.props.className)
239
+ className: tcx(tv.description(), descriptionNode.props.className)
240
240
  })
241
241
  ] }) : /* @__PURE__ */ jsx(
242
242
  TextFieldContent,
@@ -244,7 +244,7 @@ var TextFieldBase = forwardRef((props, ref) => {
244
244
  className,
245
245
  prefixNode,
246
246
  suffixNode,
247
- styles,
247
+ tv,
248
248
  inputRef: ref,
249
249
  inputProps: { ...rest, id: uuid, size, disabled }
250
250
  }