@choice-ui/react 1.4.3 → 1.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) 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 +15 -340
  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 +2 -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/mention-spacing.js +1 -27
  101. package/dist/components/context-input/src/utils/slate-converters.d.ts +6 -6
  102. package/dist/components/context-input/src/utils/slate-converters.js +3 -69
  103. package/dist/components/context-input/src/utils/text-extraction.js +7 -1
  104. package/dist/components/context-menu/src/context-menu.js +10 -4
  105. package/dist/components/dialog/dist/index.js +1 -2
  106. package/dist/components/dialog/src/dialog.js +0 -1
  107. package/dist/components/dialog/src/hooks/use-floating-dialog.js +1 -1
  108. package/dist/components/dialog/src/index.d.ts +3 -2
  109. package/dist/components/dropdown/dist/index.d.ts +1 -2
  110. package/dist/components/dropdown/dist/index.js +23 -8
  111. package/dist/components/dropdown/src/dropdown.d.ts +1 -2
  112. package/dist/components/dropdown/src/dropdown.js +23 -8
  113. package/dist/components/emoji-picker/dist/index.d.ts +33 -1
  114. package/dist/components/emoji-picker/dist/index.js +3 -1
  115. package/dist/components/emoji-picker/src/emoji-picker.d.ts +1 -1
  116. package/dist/components/emoji-picker/src/emoji-picker.js +3 -1
  117. package/dist/components/emoji-picker/src/index.d.ts +3 -1
  118. package/dist/components/form/dist/index.d.ts +93 -98
  119. package/dist/components/form/src/adapters/base-adapter.d.ts +3 -3
  120. package/dist/components/form/src/adapters/checkbox-adapter.d.ts +1 -1
  121. package/dist/components/form/src/adapters/chips-input-adapter.d.ts +9 -0
  122. package/dist/components/form/src/adapters/chips-input-adapter.js +38 -0
  123. package/dist/components/form/src/adapters/index.d.ts +8 -7
  124. package/dist/components/form/src/adapters/input-adapter.d.ts +1 -1
  125. package/dist/components/form/src/adapters/multi-select-adapter.d.ts +1 -1
  126. package/dist/components/form/src/adapters/numeric-input-adapter.d.ts +1 -1
  127. package/dist/components/form/src/adapters/raido-group-adapter.d.ts +1 -7
  128. package/dist/components/form/src/adapters/range-adapter.d.ts +1 -7
  129. package/dist/components/form/src/adapters/segmented-adapter.d.ts +1 -7
  130. package/dist/components/form/src/adapters/select-adapter.d.ts +1 -1
  131. package/dist/components/form/src/adapters/switch-adapter.d.ts +1 -1
  132. package/dist/components/form/src/adapters/textarea-adapter.d.ts +1 -1
  133. package/dist/components/form/src/index.d.ts +18 -16
  134. package/dist/components/form/src/index.js +16 -13
  135. package/dist/components/form/src/types.d.ts +58 -51
  136. package/dist/components/hint/dist/index.d.ts +10 -54
  137. package/dist/components/hint/src/components/info-content.d.ts +3 -5
  138. package/dist/components/hint/src/components/info-content.js +14 -6
  139. package/dist/components/hint/src/components/info-trigger.d.ts +2 -3
  140. package/dist/components/hint/src/components/info-trigger.js +4 -2
  141. package/dist/components/hint/src/context/hint-context.d.ts +2 -0
  142. package/dist/components/hint/src/context/hint-context.js +1 -1
  143. package/dist/components/hint/src/hint.d.ts +7 -7
  144. package/dist/components/hint/src/hint.js +24 -29
  145. package/dist/components/hint/src/hooks/use-hint.d.ts +4 -2
  146. package/dist/components/hint/src/hooks/use-hint.js +12 -4
  147. package/dist/components/hint/src/index.d.ts +3 -3
  148. package/dist/components/hint/src/tv.d.ts +33 -0
  149. package/dist/components/hint/src/tv.js +11 -0
  150. package/dist/components/icon-button/dist/index.js +2 -2
  151. package/dist/components/icon-button/src/icon-button.js +2 -2
  152. package/dist/components/index.d.ts +3 -0
  153. package/dist/components/input/dist/index.js +4 -4
  154. package/dist/components/input/src/input.js +3 -3
  155. package/dist/components/input/src/tv.js +1 -1
  156. package/dist/components/kbd/dist/index.js +4 -4
  157. package/dist/components/kbd/src/kbd.js +4 -4
  158. package/dist/components/label/dist/index.js +3 -3
  159. package/dist/components/label/src/tv.js +3 -3
  160. package/dist/components/link-button/dist/index.js +3 -3
  161. package/dist/components/link-button/src/link-button.js +3 -3
  162. package/dist/components/list/src/components/list-content.js +2 -2
  163. package/dist/components/list/src/components/list-divider.js +3 -3
  164. package/dist/components/list/src/components/list-item.js +5 -5
  165. package/dist/components/list/src/components/list-label.js +2 -2
  166. package/dist/components/list/src/components/list-sub-trigger.js +4 -4
  167. package/dist/components/list/src/list.js +2 -2
  168. package/dist/components/md-input/dist/index.d.ts +8 -104
  169. package/dist/components/md-input/src/components/extensions/md-input-mention.d.ts +6 -4
  170. package/dist/components/md-input/src/components/extensions/md-input-mention.js +23 -6
  171. package/dist/components/md-input/src/components/md-input-container.js +1 -0
  172. package/dist/components/md-input/src/components/md-input-editor.js +4 -1
  173. package/dist/components/md-input/src/components/md-input-footer.js +5 -1
  174. package/dist/components/md-input/src/components/toolbar/default-actions.d.ts +2 -2
  175. package/dist/components/md-input/src/components/toolbar/toolbar-button.d.ts +1 -0
  176. package/dist/components/md-input/src/components/toolbar/toolbar-button.js +1 -7
  177. package/dist/components/md-input/src/components/toolbar/toolbar.d.ts +2 -2
  178. package/dist/components/md-input/src/hooks/use-markdown-mentions.d.ts +5 -4
  179. package/dist/components/md-input/src/hooks/use-markdown-mentions.js +31 -4
  180. package/dist/components/md-input/src/index.d.ts +1 -4
  181. package/dist/components/md-input/src/md-input.js +18 -14
  182. package/dist/components/md-input/src/tv.d.ts +3 -0
  183. package/dist/components/md-input/src/tv.js +2 -1
  184. package/dist/components/md-input/src/types.d.ts +18 -16
  185. package/dist/components/md-render/dist/index.d.ts +1 -4
  186. package/dist/components/md-render/dist/index.js +8 -9
  187. package/dist/components/md-render/src/components/markdown-components.js +3 -3
  188. package/dist/components/md-render/src/index.d.ts +0 -1
  189. package/dist/components/md-render/src/md-render.js +5 -4
  190. package/dist/components/md-render/src/tv.js +1 -1
  191. package/dist/components/menubar/dist/index.d.ts +50 -0
  192. package/dist/components/menubar/src/components/index.d.ts +3 -0
  193. package/dist/components/menubar/src/components/menubar-divider.d.ts +8 -0
  194. package/dist/components/menubar/src/components/menubar-divider.js +24 -0
  195. package/dist/components/menubar/src/components/menubar-item.d.ts +8 -0
  196. package/dist/components/menubar/src/components/menubar-item.js +195 -0
  197. package/dist/components/menubar/src/components/menubar-trigger.d.ts +8 -0
  198. package/dist/components/menubar/src/components/menubar-trigger.js +45 -0
  199. package/dist/components/menubar/src/context/index.d.ts +1 -0
  200. package/dist/components/menubar/src/context/menubar-context.d.ts +34 -0
  201. package/dist/components/menubar/src/context/menubar-context.js +13 -0
  202. package/dist/components/menubar/src/index.d.ts +3 -0
  203. package/dist/components/menubar/src/menubar.d.ts +22 -0
  204. package/dist/components/menubar/src/menubar.js +177 -0
  205. package/dist/components/menubar/src/tv.d.ts +108 -0
  206. package/dist/components/menubar/src/tv.js +72 -0
  207. package/dist/components/menubar/tsup.config.d.ts +2 -0
  208. package/dist/components/menus/dist/index.d.ts +144 -143
  209. package/dist/components/menus/dist/index.js +50 -49
  210. package/dist/components/menus/src/components/menu-button.js +2 -2
  211. package/dist/components/menus/src/components/menu-checkbox.d.ts +1 -2
  212. package/dist/components/menus/src/components/menu-checkbox.js +2 -2
  213. package/dist/components/menus/src/components/menu-divider.js +3 -3
  214. package/dist/components/menus/src/components/menu-item.js +5 -5
  215. package/dist/components/menus/src/components/menu-label.js +2 -2
  216. package/dist/components/menus/src/components/menu-scroll-arrow.d.ts +2 -2
  217. package/dist/components/menus/src/components/menu-scroll-arrow.js +13 -3
  218. package/dist/components/menus/src/components/menu-search.js +3 -3
  219. package/dist/components/menus/src/components/menu-trigger.js +4 -4
  220. package/dist/components/menus/src/context/menu-context-item.d.ts +6 -6
  221. package/dist/components/menus/src/context/menu-context-item.js +2 -2
  222. package/dist/components/menus/src/context/menu-context-sub-trigger.js +4 -19
  223. package/dist/components/menus/src/context/menu-context.d.ts +2 -2
  224. package/dist/components/menus/src/hooks/use-menu-base-refs.d.ts +12 -12
  225. package/dist/components/menus/src/hooks/use-menu-children.d.ts +16 -16
  226. package/dist/components/menus/src/hooks/use-menu-floating.d.ts +22 -22
  227. package/dist/components/menus/src/hooks/use-menu-refs.d.ts +8 -8
  228. package/dist/components/menus/src/hooks/use-menu-refs.js +2 -2
  229. package/dist/components/menus/src/hooks/use-menu-scroll-height.d.ts +11 -11
  230. package/dist/components/menus/src/hooks/use-menu-scroll.d.ts +18 -18
  231. package/dist/components/menus/src/hooks/use-menu-selection.d.ts +21 -21
  232. package/dist/components/menus/src/hooks/use-menu-state.d.ts +11 -11
  233. package/dist/components/menus/src/hooks/use-menu-state.js +4 -4
  234. package/dist/components/menus/src/hooks/use-menu-touch.d.ts +11 -11
  235. package/dist/components/menus/src/hooks/use-menu-tree.d.ts +15 -15
  236. package/dist/components/menus/src/index.d.ts +5 -0
  237. package/dist/components/menus/src/menus.js +2 -2
  238. package/dist/components/menus/src/tv.d.ts +15 -0
  239. package/dist/components/menus/src/tv.js +8 -2
  240. package/dist/components/modal/dist/index.d.ts +3 -1
  241. package/dist/components/modal/dist/index.js +18 -11
  242. package/dist/components/modal/src/components/modal-content.js +2 -2
  243. package/dist/components/modal/src/components/modal-footer.js +2 -2
  244. package/dist/components/modal/src/components/modal-header.d.ts +3 -1
  245. package/dist/components/modal/src/components/modal-header.js +12 -5
  246. package/dist/components/modal/src/modal.js +2 -2
  247. package/dist/components/multi-select/dist/index.js +13 -11
  248. package/dist/components/multi-select/src/components/multi-select-trigger.js +8 -8
  249. package/dist/components/multi-select/src/multi-select.js +5 -3
  250. package/dist/components/numeric-input/dist/index.d.ts +10 -117
  251. package/dist/components/numeric-input/dist/index.js +18 -24
  252. package/dist/components/numeric-input/src/components/numeric-input-element.js +2 -2
  253. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.d.ts +1 -1
  254. package/dist/components/numeric-input/src/components/numeric-input-menu-trigger.js +2 -2
  255. package/dist/components/numeric-input/src/components/numeric-input-variable.d.ts +1 -2
  256. package/dist/components/numeric-input/src/components/numeric-input-variable.js +3 -3
  257. package/dist/components/numeric-input/src/hooks/use-input-interactions.d.ts +3 -3
  258. package/dist/components/numeric-input/src/hooks/use-numeric-input.d.ts +3 -3
  259. package/dist/components/numeric-input/src/hooks/use-numeric-value-processing.d.ts +3 -3
  260. package/dist/components/numeric-input/src/hooks/use-step-calculation.d.ts +6 -6
  261. package/dist/components/numeric-input/src/index.d.ts +5 -4
  262. package/dist/components/numeric-input/src/numeric-input.js +9 -9
  263. package/dist/components/numeric-input/src/utils/error-handler.d.ts +8 -8
  264. package/dist/components/numeric-input/src/utils/expression-evaluator.d.ts +11 -11
  265. package/dist/components/numeric-input/src/utils/input-parser.d.ts +8 -8
  266. package/dist/components/numeric-input/src/utils/numeric-value-processor.d.ts +6 -6
  267. package/dist/components/numeric-input/src/utils/pattern-parser.d.ts +7 -7
  268. package/dist/components/numeric-input/src/utils/value-comparator.d.ts +16 -16
  269. package/dist/components/numeric-input/src/utils/value-processor.d.ts +14 -14
  270. package/dist/components/pagination/src/components/pagination-items-per-page.js +1 -1
  271. package/dist/components/pagination/src/components/pagination-navigation.js +5 -5
  272. package/dist/components/pagination/src/components/pagination-root.js +3 -3
  273. package/dist/components/pagination/src/components/pagination-spinner.js +20 -19
  274. package/dist/components/pagination/src/context/index.d.ts +1 -0
  275. package/dist/components/popover/dist/index.d.ts +2 -4
  276. package/dist/components/popover/dist/index.js +25 -33
  277. package/dist/components/popover/src/components/popover-header.js +1 -1
  278. package/dist/components/popover/src/hooks/use-drag.d.ts +3 -3
  279. package/dist/components/popover/src/hooks/use-floating-popover.d.ts +0 -2
  280. package/dist/components/popover/src/hooks/use-floating-popover.js +16 -13
  281. package/dist/components/popover/src/index.d.ts +2 -1
  282. package/dist/components/popover/src/popover.d.ts +1 -2
  283. package/dist/components/popover/src/popover.js +11 -21
  284. package/dist/components/progress/src/index.d.ts +4 -2
  285. package/dist/components/radio/dist/index.d.ts +1 -17
  286. package/dist/components/radio/dist/index.js +7 -10
  287. package/dist/components/radio/src/context.js +1 -1
  288. package/dist/components/radio/src/index.d.ts +0 -4
  289. package/dist/components/radio/src/radio-label.js +2 -2
  290. package/dist/components/radio/src/radio.js +4 -4
  291. package/dist/components/range/dist/index.js +16 -16
  292. package/dist/components/range/src/index.d.ts +4 -2
  293. package/dist/components/range/src/range-tuple.js +10 -10
  294. package/dist/components/range/src/range.js +6 -6
  295. package/dist/components/rich-input/dist/index.d.ts +12 -366
  296. package/dist/components/rich-input/src/components/rich-input-editable-component.d.ts +2 -2
  297. package/dist/components/rich-input/src/components/rich-input-viewport.d.ts +2 -2
  298. package/dist/components/rich-input/src/hooks/use-editor-config.d.ts +1 -1
  299. package/dist/components/rich-input/src/hooks/use-editor-effects.js +3 -0
  300. package/dist/components/rich-input/src/hooks/use-floating-ui.js +1 -1
  301. package/dist/components/rich-input/src/hooks/use-keyboard-shortcuts.d.ts +9 -9
  302. package/dist/components/rich-input/src/hooks/use-rich-input.d.ts +2 -2
  303. package/dist/components/rich-input/src/hooks/use-rich-input.js +40 -17
  304. package/dist/components/rich-input/src/hooks/use-selection-events.js +1 -2
  305. package/dist/components/rich-input/src/index.d.ts +3 -5
  306. package/dist/components/rich-input/src/rich-input-base.js +1 -1
  307. package/dist/components/rich-input/src/utils/custom-options.js +1 -1
  308. package/dist/components/rich-input/src/utils/editor-utils.js +1 -1
  309. package/dist/components/rich-input/src/utils/markdown-to-slate.d.ts +2 -2
  310. package/dist/components/rich-input/src/utils/slate-to-markdown.d.ts +1 -1
  311. package/dist/components/rich-input/src/utils/slate-to-markdown.js +9 -0
  312. package/dist/components/scroll-area/dist/index.d.ts +19 -19
  313. package/dist/components/scroll-area/dist/index.js +24 -24
  314. package/dist/components/scroll-area/src/components/scroll-area-corner.js +2 -2
  315. package/dist/components/scroll-area/src/components/scroll-area-root.js +3 -3
  316. package/dist/components/scroll-area/src/components/scroll-area-scrollbar.js +2 -2
  317. package/dist/components/scroll-area/src/components/scroll-area-thumb.js +2 -2
  318. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.d.ts +6 -6
  319. package/dist/components/scroll-area/src/hooks/use-scroll-performance-monitor.js +3 -3
  320. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.d.ts +1 -1
  321. package/dist/components/scroll-area/src/hooks/use-scroll-state-and-visibility.js +3 -3
  322. package/dist/components/scroll-area/src/hooks/use-scrollbar.d.ts +2 -2
  323. package/dist/components/scroll-area/src/hooks/use-thumb.d.ts +2 -2
  324. package/dist/components/scroll-area/src/tv.d.ts +18 -18
  325. package/dist/components/scroll-area/src/tv.js +12 -12
  326. package/dist/components/scroll-area/src/types.d.ts +8 -8
  327. package/dist/components/scroll-area/src/utils/index.d.ts +3 -3
  328. package/dist/components/search-input/dist/index.js +3 -3
  329. package/dist/components/search-input/src/index.d.ts +2 -1
  330. package/dist/components/search-input/src/search-input.js +3 -3
  331. package/dist/components/segmented/dist/index.js +5 -5
  332. package/dist/components/segmented/src/segmented-item.js +3 -3
  333. package/dist/components/segmented/src/segmented.js +2 -2
  334. package/dist/components/select/dist/index.js +4 -4
  335. package/dist/components/select/src/select.js +4 -4
  336. package/dist/components/separator/dist/index.d.ts +26 -0
  337. package/dist/components/separator/src/index.d.ts +2 -0
  338. package/dist/components/separator/src/separator.d.ts +22 -0
  339. package/dist/components/separator/src/separator.js +33 -0
  340. package/dist/components/separator/src/tv.d.ts +76 -0
  341. package/dist/components/separator/src/tv.js +25 -0
  342. package/dist/components/separator/tsup.config.d.ts +2 -0
  343. package/dist/components/skeleton/dist/index.d.ts +1 -28
  344. package/dist/components/skeleton/src/context/skeleton-context.js +1 -1
  345. package/dist/components/skeleton/src/hooks/use-skeleton.d.ts +1 -2
  346. package/dist/components/skeleton/src/hooks/use-skeleton.js +1 -1
  347. package/dist/components/skeleton/src/index.d.ts +1 -3
  348. package/dist/components/skeleton/src/skeleton.d.ts +0 -13
  349. package/dist/components/skeleton/src/skeleton.js +4 -6
  350. package/dist/components/skeleton/src/tv.d.ts +18 -12
  351. package/dist/components/skeleton/src/tv.js +10 -6
  352. package/dist/components/slot/dist/index.d.ts +10 -10
  353. package/dist/components/slot/dist/index.js +4 -2
  354. package/dist/components/slot/src/slot.d.ts +12 -12
  355. package/dist/components/slot/src/slot.js +6 -3
  356. package/dist/components/stackflow/src/context.js +1 -1
  357. package/dist/components/stackflow/src/index.d.ts +2 -1
  358. package/dist/components/switch/dist/index.d.ts +2 -2
  359. package/dist/components/switch/dist/index.js +6 -7
  360. package/dist/components/switch/src/index.d.ts +2 -1
  361. package/dist/components/switch/src/switch.js +6 -6
  362. package/dist/components/table/dist/index.d.ts +679 -0
  363. package/dist/components/table/index.d.ts +1 -0
  364. package/dist/components/table/src/components/column-resizer.d.ts +8 -0
  365. package/dist/components/table/src/components/column-resizer.js +58 -0
  366. package/dist/components/table/src/components/drag-guide.d.ts +6 -0
  367. package/dist/components/table/src/components/drag-guide.js +64 -0
  368. package/dist/components/table/src/components/index.d.ts +12 -0
  369. package/dist/components/table/src/components/resize-guide.d.ts +5 -0
  370. package/dist/components/table/src/components/resize-guide.js +25 -0
  371. package/dist/components/table/src/components/table-body.d.ts +6 -0
  372. package/dist/components/table/src/components/table-body.js +335 -0
  373. package/dist/components/table/src/components/table-cell.d.ts +6 -0
  374. package/dist/components/table/src/components/table-cell.js +89 -0
  375. package/dist/components/table/src/components/table-column.d.ts +5 -0
  376. package/dist/components/table/src/components/table-column.js +269 -0
  377. package/dist/components/table/src/components/table-empty.d.ts +8 -0
  378. package/dist/components/table/src/components/table-empty.js +10 -0
  379. package/dist/components/table/src/components/table-footer.d.ts +7 -0
  380. package/dist/components/table/src/components/table-footer.js +15 -0
  381. package/dist/components/table/src/components/table-header.d.ts +3 -0
  382. package/dist/components/table/src/components/table-header.js +88 -0
  383. package/dist/components/table/src/components/table-root.d.ts +3 -0
  384. package/dist/components/table/src/components/table-root.js +317 -0
  385. package/dist/components/table/src/components/table-row.d.ts +23 -0
  386. package/dist/components/table/src/components/table-row.js +166 -0
  387. package/dist/components/table/src/components/table-value.d.ts +6 -0
  388. package/dist/components/table/src/components/table-value.js +8 -0
  389. package/dist/components/table/src/context.d.ts +121 -0
  390. package/dist/components/table/src/context.js +63 -0
  391. package/dist/components/table/src/hooks/index.d.ts +4 -0
  392. package/dist/components/table/src/hooks/use-column-order.d.ts +26 -0
  393. package/dist/components/table/src/hooks/use-column-order.js +95 -0
  394. package/dist/components/table/src/hooks/use-column-resize.d.ts +17 -0
  395. package/dist/components/table/src/hooks/use-column-resize.js +75 -0
  396. package/dist/components/table/src/hooks/use-consecutive-selection-style.d.ts +12 -0
  397. package/dist/components/table/src/hooks/use-consecutive-selection-style.js +28 -0
  398. package/dist/components/table/src/hooks/use-table.d.ts +35 -0
  399. package/dist/components/table/src/hooks/use-table.js +245 -0
  400. package/dist/components/table/src/index.d.ts +4 -0
  401. package/dist/components/table/src/table.d.ts +88 -0
  402. package/dist/components/table/src/table.js +24 -0
  403. package/dist/components/table/src/tv.d.ts +176 -0
  404. package/dist/components/table/src/tv.js +97 -0
  405. package/dist/components/table/src/types.d.ts +292 -0
  406. package/dist/components/table/tsup.config.d.ts +2 -0
  407. package/dist/components/tabs/dist/index.js +4 -3
  408. package/dist/components/tabs/src/tabs.d.ts +2 -2
  409. package/dist/components/tabs/src/tabs.js +5 -4
  410. package/dist/components/text-field/dist/index.d.ts +1 -1
  411. package/dist/components/text-field/dist/index.js +10 -10
  412. package/dist/components/text-field/src/components/field-addon.d.ts +1 -2
  413. package/dist/components/text-field/src/index.d.ts +3 -1
  414. package/dist/components/text-field/src/text-field.js +10 -10
  415. package/dist/components/textarea/dist/index.d.ts +33 -5
  416. package/dist/components/textarea/dist/index.js +32 -7
  417. package/dist/components/textarea/src/components/autosize/index.d.ts +6 -1
  418. package/dist/components/textarea/src/components/autosize/index.js +31 -6
  419. package/dist/components/textarea/src/textarea.js +1 -1
  420. package/dist/components/textarea/src/types.d.ts +33 -5
  421. package/dist/components/toggle-button/dist/index.d.ts +26 -2
  422. package/dist/components/toggle-button/src/context.d.ts +11 -0
  423. package/dist/components/toggle-button/src/context.js +13 -0
  424. package/dist/components/toggle-button/src/index.d.ts +2 -0
  425. package/dist/components/toggle-button/src/toggle-button.js +4 -4
  426. package/dist/components/toggle-button/src/toggle-group.d.ts +26 -0
  427. package/dist/components/toggle-button/src/toggle-group.js +156 -0
  428. package/dist/components/toggle-button/src/tv.d.ts +67 -3
  429. package/dist/components/toggle-button/src/tv.js +45 -14
  430. package/dist/components/tooltip/dist/index.d.ts +10 -43
  431. package/dist/components/tooltip/dist/index.js +35 -33
  432. package/dist/components/tooltip/src/components/tooltip-arrow.js +1 -1
  433. package/dist/components/tooltip/src/components/tooltip-content.js +5 -4
  434. package/dist/components/tooltip/src/context/index.d.ts +1 -0
  435. package/dist/components/tooltip/src/hooks/use-tooltip.js +3 -3
  436. package/dist/components/tooltip/src/index.d.ts +2 -4
  437. package/dist/components/tooltip/src/tooltip.d.ts +7 -1
  438. package/dist/components/tooltip/src/tooltip.js +6 -1
  439. package/dist/components/tooltip/src/tv.js +1 -1
  440. package/dist/components/virtualized-grid/dist/index.d.ts +2 -2
  441. package/dist/components/virtualized-grid/src/use-item-pool.js +14 -26
  442. package/dist/components/virtualized-grid/src/use-virtualized-grid.d.ts +1 -1
  443. package/dist/components/virtualized-grid/src/use-virtualized-grid.js +14 -8
  444. package/dist/components/virtualized-grid/src/utility.d.ts +1 -1
  445. package/dist/components/virtualized-grid/src/utility.js +37 -31
  446. package/dist/components/virtualized-grid/src/virtualized-grid.js +27 -17
  447. package/dist/context/choice-ui-provider.d.ts +35 -0
  448. package/dist/context/choice-ui-provider.js +14 -0
  449. package/dist/context/index.d.ts +2 -0
  450. package/dist/index.d.ts +1 -0
  451. package/dist/index.js +50 -195
  452. package/package.json +1 -1
  453. package/dist/components/code-block/src/index.js +0 -15
  454. package/dist/components/rich-input/src/hooks/use-mouse-events.js +0 -113
  455. package/dist/components/rich-input/src/hooks/use-validation.js +0 -80
  456. package/dist/components/rich-input/src/utils/markdown-to-slate.js +0 -219
  457. /package/dist/components/command/src/{command-score.d.ts → utils/command-score.d.ts} +0 -0
  458. /package/dist/components/command/src/{command-score.js → utils/command-score.js} +0 -0
  459. /package/dist/components/pagination/src/{components → context}/pagination-context.d.ts +0 -0
  460. /package/dist/components/pagination/src/{components → context}/pagination-context.js +0 -0
@@ -1,19 +1,20 @@
1
- import { InputAdapter } from './adapters/input-adapter';
2
- import { SelectAdapter } from './adapters/select-adapter';
3
- import { TextareaAdapter } from './adapters/textarea-adapter';
4
1
  import { CheckboxAdapter } from './adapters/checkbox-adapter';
2
+ import { ChipsInputAdapter } from './adapters/chips-input-adapter';
3
+ import { InputAdapter } from './adapters/input-adapter';
4
+ import { MultiSelectAdapter } from './adapters/multi-select-adapter';
5
+ import { NumericInputAdapter } from './adapters/numeric-input-adapter';
5
6
  import { RadioGroupAdapter } from './adapters/raido-group-adapter';
6
- import { SwitchAdapter } from './adapters/switch-adapter';
7
7
  import { RangeAdapter } from './adapters/range-adapter';
8
- import { NumericInputAdapter } from './adapters/numeric-input-adapter';
9
- import { MultiSelectAdapter } from './adapters/multi-select-adapter';
10
8
  import { SegmentedAdapter } from './adapters/segmented-adapter';
11
- export { CheckboxAdapter, InputAdapter, RadioGroupAdapter, SelectAdapter, TextareaAdapter, SwitchAdapter, RangeAdapter, NumericInputAdapter, MultiSelectAdapter, SegmentedAdapter, } from './adapters';
9
+ import { SelectAdapter } from './adapters/select-adapter';
10
+ import { SwitchAdapter } from './adapters/switch-adapter';
11
+ import { TextareaAdapter } from './adapters/textarea-adapter';
12
+ export { CheckboxAdapter, ChipsInputAdapter, InputAdapter, MultiSelectAdapter, NumericInputAdapter, RadioGroupAdapter, RangeAdapter, SegmentedAdapter, SelectAdapter, SwitchAdapter, TextareaAdapter, } from './adapters';
12
13
  export type * from './types';
13
14
  export * as TanstackReactForm from '@tanstack/react-form';
14
15
  /**
15
- * 增强版的 useForm hook
16
- * TanStack Form 的基础上添加适配器组件
16
+ * Enhanced useForm hook
17
+ * Add adapter components to the TanStack Form
17
18
  */
18
19
  export declare function useForm(options: {
19
20
  [key: string]: unknown;
@@ -22,15 +23,16 @@ export declare function useForm(options: {
22
23
  value: unknown;
23
24
  }) => void | Promise<void>;
24
25
  }): import('@tanstack/react-form').FormApi<Record<string, unknown>, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, unknown> & import('@tanstack/react-form').ReactFormApi<Record<string, unknown>, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, import('@tanstack/react-form').FormAsyncValidateOrFn<Record<string, unknown>> | undefined, unknown> & {
25
- Input: typeof InputAdapter;
26
- Select: typeof SelectAdapter;
27
- Textarea: typeof TextareaAdapter;
26
+ Button: import('react').ForwardRefExoticComponent<Omit<import('../../button/src').ButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
28
27
  Checkbox: typeof CheckboxAdapter;
28
+ ChipsInput: typeof ChipsInputAdapter;
29
+ Input: typeof InputAdapter;
30
+ MultiSelect: typeof MultiSelectAdapter;
31
+ NumericInput: typeof NumericInputAdapter;
29
32
  RadioGroup: typeof RadioGroupAdapter;
30
- Switch: typeof SwitchAdapter;
31
33
  Range: typeof RangeAdapter;
32
- NumericInput: typeof NumericInputAdapter;
33
- MultiSelect: typeof MultiSelectAdapter;
34
34
  Segmented: typeof SegmentedAdapter;
35
- Button: import('react').ForwardRefExoticComponent<Omit<import('../../button/src').ButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
35
+ Select: typeof SelectAdapter;
36
+ Switch: typeof SwitchAdapter;
37
+ Textarea: typeof TextareaAdapter;
36
38
  };
@@ -1,35 +1,38 @@
1
1
  import { useForm as useForm$1 } from "@tanstack/react-form";
2
2
  import * as reactForm from "@tanstack/react-form";
3
3
  import { Button } from "../../button/dist/index.js";
4
- import { InputAdapter } from "./adapters/input-adapter.js";
5
- import { SelectAdapter } from "./adapters/select-adapter.js";
6
- import { TextareaAdapter } from "./adapters/textarea-adapter.js";
7
4
  import { CheckboxAdapter } from "./adapters/checkbox-adapter.js";
5
+ import { ChipsInputAdapter } from "./adapters/chips-input-adapter.js";
6
+ import { InputAdapter } from "./adapters/input-adapter.js";
7
+ import { MultiSelectAdapter } from "./adapters/multi-select-adapter.js";
8
+ import { NumericInputAdapter } from "./adapters/numeric-input-adapter.js";
8
9
  import { RadioGroupAdapter } from "./adapters/raido-group-adapter.js";
9
- import { SwitchAdapter } from "./adapters/switch-adapter.js";
10
10
  import { RangeAdapter } from "./adapters/range-adapter.js";
11
- import { NumericInputAdapter } from "./adapters/numeric-input-adapter.js";
12
- import { MultiSelectAdapter } from "./adapters/multi-select-adapter.js";
13
11
  import { SegmentedAdapter } from "./adapters/segmented-adapter.js";
12
+ import { SelectAdapter } from "./adapters/select-adapter.js";
13
+ import { SwitchAdapter } from "./adapters/switch-adapter.js";
14
+ import { TextareaAdapter } from "./adapters/textarea-adapter.js";
14
15
  function useForm(options) {
15
16
  const form = useForm$1(options);
16
17
  const enhancedForm = Object.assign(form, {
17
- Input: InputAdapter,
18
- Select: SelectAdapter,
19
- Textarea: TextareaAdapter,
18
+ Button,
20
19
  Checkbox: CheckboxAdapter,
20
+ ChipsInput: ChipsInputAdapter,
21
+ Input: InputAdapter,
22
+ MultiSelect: MultiSelectAdapter,
23
+ NumericInput: NumericInputAdapter,
21
24
  RadioGroup: RadioGroupAdapter,
22
- Switch: SwitchAdapter,
23
25
  Range: RangeAdapter,
24
- NumericInput: NumericInputAdapter,
25
- MultiSelect: MultiSelectAdapter,
26
26
  Segmented: SegmentedAdapter,
27
- Button
27
+ Select: SelectAdapter,
28
+ Switch: SwitchAdapter,
29
+ Textarea: TextareaAdapter
28
30
  });
29
31
  return enhancedForm;
30
32
  }
31
33
  export {
32
34
  CheckboxAdapter,
35
+ ChipsInputAdapter,
33
36
  InputAdapter,
34
37
  MultiSelectAdapter,
35
38
  NumericInputAdapter,
@@ -1,24 +1,25 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { CheckboxProps } from '../../checkbox/src';
3
+ import { ChipsInputProps } from '../../chips-input/src';
3
4
  import { InputProps } from '../../input/src';
4
- import { SelectProps } from '../../select/src';
5
- import { TextareaProps } from '../../textarea/src';
5
+ import { MultiSelectProps } from '../../multi-select/src';
6
+ import { NumericInputProps } from '../../numeric-input/src';
6
7
  import { RadioGroupProps } from '../../radio/src';
7
- import { SwitchProps } from '../../switch/src';
8
8
  import { RangeProps } from '../../range/src';
9
- import { NumericInputProps } from '../../numeric-input/src';
10
- import { MultiSelectProps } from '../../multi-select/src';
11
9
  import { SegmentedProps } from '../../segmented/src';
10
+ import { SelectProps } from '../../select/src';
11
+ import { SwitchProps } from '../../switch/src';
12
+ import { TextareaProps } from '../../textarea/src';
12
13
  /**
13
- * 表单验证器类型
14
+ * Form validator type
14
15
  */
15
16
  export type FormValidator<T> = (values: T) => string | void | Promise<string | void>;
16
17
  /**
17
- * 字段验证器类型
18
+ * Field validator type
18
19
  */
19
20
  export type FieldValidator<T> = (value: T) => string | void | Promise<string | void>;
20
21
  /**
21
- * 字段验证器集合
22
+ * Field validator collection
22
23
  */
23
24
  export interface FieldValidators<T> {
24
25
  onBlur?: FieldValidator<T>;
@@ -32,7 +33,7 @@ export interface FieldValidators<T> {
32
33
  onSubmitAsyncDebounceMs?: number;
33
34
  }
34
35
  /**
35
- * 表单配置
36
+ * Form configuration
36
37
  */
37
38
  export interface FormConfig<T = Record<string, unknown>> {
38
39
  defaultValues?: Partial<T>;
@@ -49,7 +50,7 @@ export interface FormConfig<T = Record<string, unknown>> {
49
50
  };
50
51
  }
51
52
  /**
52
- * 字段配置
53
+ * Field configuration
53
54
  */
54
55
  export interface FieldConfig<T = unknown> {
55
56
  component?: React.ComponentType<{
@@ -74,7 +75,7 @@ export interface FieldConfig<T = unknown> {
74
75
  validators?: FieldValidators<T>;
75
76
  }
76
77
  /**
77
- * 表单状态
78
+ * Form state
78
79
  */
79
80
  export interface FormState<T = Record<string, unknown>> {
80
81
  canSubmit: boolean;
@@ -86,7 +87,7 @@ export interface FormState<T = Record<string, unknown>> {
86
87
  values: T;
87
88
  }
88
89
  /**
89
- * 字段状态
90
+ * Field state
90
91
  */
91
92
  export interface FieldState<T = unknown> {
92
93
  error?: string;
@@ -98,7 +99,7 @@ export interface FieldState<T = unknown> {
98
99
  value: T;
99
100
  }
100
101
  /**
101
- * 简化的表单 API 类型
102
+ * Simplified form API type
102
103
  */
103
104
  export interface SimpleFormApi<T = Record<string, unknown>> {
104
105
  getFieldValue: (name: keyof T) => T[keyof T];
@@ -110,7 +111,7 @@ export interface SimpleFormApi<T = Record<string, unknown>> {
110
111
  validateField: (name: keyof T) => void;
111
112
  }
112
113
  /**
113
- * 简化的字段 API 类型
114
+ * Simplified field API type
114
115
  */
115
116
  export interface SimpleFieldApi<T = unknown> {
116
117
  handleBlur: () => void;
@@ -120,14 +121,14 @@ export interface SimpleFieldApi<T = unknown> {
120
121
  value: T;
121
122
  }
122
123
  /**
123
- * 表单上下文类型
124
+ * Form context type
124
125
  */
125
126
  export interface FormContextValue<T = Record<string, unknown>> {
126
127
  config: FormConfig<T>;
127
128
  formApi: SimpleFormApi<T>;
128
129
  }
129
130
  /**
130
- * 字段上下文类型
131
+ * Field context type
131
132
  */
132
133
  export interface FieldContextValue<T = unknown> {
133
134
  config: FieldConfig<T>;
@@ -135,7 +136,7 @@ export interface FieldContextValue<T = unknown> {
135
136
  state: FieldState<T>;
136
137
  }
137
138
  /**
138
- * 表单提交结果
139
+ * Form submit result
139
140
  */
140
141
  export interface FormSubmitResult<T = Record<string, unknown>> {
141
142
  errors?: Record<string, string[]>;
@@ -143,7 +144,7 @@ export interface FormSubmitResult<T = Record<string, unknown>> {
143
144
  values?: T;
144
145
  }
145
146
  /**
146
- * 表单组件 Props
147
+ * Form component Props
147
148
  */
148
149
  export interface FormProps<T = Record<string, unknown>> extends FormConfig<T> {
149
150
  children?: ReactNode;
@@ -152,7 +153,7 @@ export interface FormProps<T = Record<string, unknown>> extends FormConfig<T> {
152
153
  variant?: "default" | "dark";
153
154
  }
154
155
  /**
155
- * 字段组件 Props
156
+ * Field component Props
156
157
  */
157
158
  export interface FormFieldProps<T = unknown> extends FieldConfig<T> {
158
159
  children?: ReactNode | ((field: SimpleFieldApi<T>) => ReactNode);
@@ -161,7 +162,7 @@ export interface FormFieldProps<T = unknown> extends FieldConfig<T> {
161
162
  variant?: "default" | "dark";
162
163
  }
163
164
  /**
164
- * 提交按钮 Props
165
+ * Submit button Props
165
166
  */
166
167
  export interface FormSubmitProps {
167
168
  children?: ReactNode;
@@ -173,7 +174,7 @@ export interface FormSubmitProps {
173
174
  variant?: "primary" | "secondary" | "ghost";
174
175
  }
175
176
  /**
176
- * 字段错误显示 Props
177
+ * Field error display Props
177
178
  */
178
179
  export interface FormFieldErrorProps {
179
180
  className?: string;
@@ -182,7 +183,7 @@ export interface FormFieldErrorProps {
182
183
  variant?: "default" | "dark";
183
184
  }
184
185
  /**
185
- * 字段信息显示 Props
186
+ * Field information display Props
186
187
  */
187
188
  export interface FormFieldInfoProps {
188
189
  className?: string;
@@ -192,7 +193,7 @@ export interface FormFieldInfoProps {
192
193
  variant?: "default" | "dark";
193
194
  }
194
195
  /**
195
- * 表单字段通用属性
196
+ * Form field common properties
196
197
  */
197
198
  export interface FormFieldCommonProps<T = unknown> {
198
199
  error?: string;
@@ -202,45 +203,45 @@ export interface FormFieldCommonProps<T = unknown> {
202
203
  value: T;
203
204
  }
204
205
  /**
205
- * 表单字段适配器基础属性
206
- * 包含所有表单字段的通用属性
206
+ * Form field adapter base properties
207
+ * Contains all form field common properties
207
208
  */
208
209
  export interface FormFieldAdapterProps<T = unknown> {
209
- /** 字段描述 */
210
+ /** Field description */
210
211
  description?: string | ReactNode;
211
- /** 单个错误信息 */
212
+ /** Single error message */
212
213
  error?: string | ReactNode;
213
- /** 字段标签 */
214
+ /** Field label */
214
215
  label?: string | ReactNode;
215
- /** 失焦回调 */
216
+ /** Blur callback */
216
217
  onBlur?: () => void;
217
- /** 异步失焦验证 */
218
+ /** Async blur validation */
218
219
  onBlurAsync?: () => void;
219
220
  onBlurAsyncDebounceMs?: number;
220
- /** 值变化回调 */
221
+ /** Value change callback */
221
222
  onChange: (value: T) => void;
222
- /** 异步值变化验证 */
223
+ /** Async value change validation */
223
224
  onChangeAsync?: (value: T) => void;
224
225
  onChangeAsyncDebounceMs?: number;
225
- /** 聚焦回调 */
226
+ /** Focus callback */
226
227
  onFocus?: () => void;
227
- /** 异步聚焦验证 */
228
+ /** Async focus validation */
228
229
  onFocusAsync?: () => void;
229
230
  onFocusAsyncDebounceMs?: number;
230
- /** 字段大小 */
231
+ /** Field size */
231
232
  size?: "default" | "large";
232
- /** 字段值 */
233
+ /** Field value */
233
234
  value: T;
234
235
  }
235
236
  /**
236
- * 通用适配器属性排除模式
237
- * 定义需要从原组件 props 中排除的属性
237
+ * Common adapter property exclusion pattern
238
+ * Define properties to exclude from the original component props
238
239
  */
239
240
  type CommonExcludedProps = "value" | "onChange" | "onBlur" | "onFocus" | "label";
240
241
  type CommonExcludedPropsWithSize = CommonExcludedProps | "size";
241
242
  type CommonExcludedPropsWithChildrenAndSize = CommonExcludedProps | "children" | "size";
242
243
  /**
243
- * 选择类组件的选项类型
244
+ * Select component option type
244
245
  */
245
246
  interface SelectOption<T = string> {
246
247
  divider?: boolean;
@@ -248,25 +249,25 @@ interface SelectOption<T = string> {
248
249
  value?: T;
249
250
  }
250
251
  /**
251
- * 分段控件的选项类型
252
+ * Segmented component option type
252
253
  */
253
254
  interface SegmentedOption<T = string> {
254
255
  content?: string | ReactNode;
255
256
  value?: T;
256
257
  }
257
258
  /**
258
- * 基础适配器工厂类型
259
- * 用于创建标准的适配器类型
259
+ * Base adapter factory type
260
+ * Used to create standard adapter types
260
261
  */
261
262
  export type BaseAdapterProps<TComponent, TValue, TExcluded extends string = CommonExcludedProps> = Omit<TComponent, TExcluded> & FormFieldAdapterProps<TValue>;
262
263
  /**
263
- * 带尺寸排除的适配器工厂类型
264
- * 用于需要排除 size 属性的组件
264
+ * Adapter factory type with size exclusion
265
+ * Used to create adapter types that need to exclude the size property
265
266
  */
266
267
  export type AdapterPropsWithoutSize<TComponent, TValue, TExcluded extends string = CommonExcludedProps> = Omit<TComponent, TExcluded> & Omit<FormFieldAdapterProps<TValue>, "size">;
267
268
  /**
268
- * 选择类适配器工厂类型
269
- * 用于需要 options placeholder 的选择组件
269
+ * Select adapter factory type
270
+ * Used to create adapter types that need to exclude the options and placeholder properties
270
271
  */
271
272
  export type SelectAdapterPropsBase<TComponent, TValue, TExcluded extends string = CommonExcludedPropsWithChildrenAndSize> = Omit<TComponent, TExcluded> & FormFieldAdapterProps<TValue> & {
272
273
  name?: string;
@@ -274,12 +275,12 @@ export type SelectAdapterPropsBase<TComponent, TValue, TExcluded extends string
274
275
  placeholder?: string;
275
276
  };
276
277
  /**
277
- * 文本输入类适配器 (Input, Textarea)
278
+ * Text input adapter (Input, Textarea)
278
279
  */
279
280
  export type InputAdapterProps<T extends string = string> = BaseAdapterProps<InputProps, T, CommonExcludedPropsWithSize>;
280
281
  export type TextareaAdapterProps<T extends string = string> = BaseAdapterProps<TextareaProps, T, CommonExcludedPropsWithSize>;
281
282
  /**
282
- * 选择类适配器 (Select, MultiSelect)
283
+ * Select adapter (Select, MultiSelect)
283
284
  */
284
285
  export type SelectAdapterProps<T extends string = string> = SelectAdapterPropsBase<SelectProps, T>;
285
286
  export type MultiSelectAdapterProps<T extends string = string> = Omit<MultiSelectProps, CommonExcludedPropsWithChildrenAndSize> & FormFieldAdapterProps<T[]> & {
@@ -288,22 +289,28 @@ export type MultiSelectAdapterProps<T extends string = string> = Omit<MultiSelec
288
289
  placeholder?: string;
289
290
  };
290
291
  /**
291
- * 布尔类适配器 (Checkbox, Switch)
292
+ * Boolean adapter (Checkbox, Switch)
292
293
  */
293
294
  export interface CheckboxAdapterProps<T extends boolean = boolean> extends Omit<CheckboxProps, CommonExcludedPropsWithChildrenAndSize>, Omit<FormFieldAdapterProps<T>, "value"> {
294
295
  value: T | undefined;
295
296
  }
296
297
  export type SwitchAdapterProps<T extends boolean = boolean> = BaseAdapterProps<SwitchProps, T, CommonExcludedPropsWithChildrenAndSize>;
297
298
  /**
298
- * 数字类适配器 (Range, NumericInput)
299
+ * Number adapter (Range, NumericInput)
299
300
  */
300
301
  export type RangeAdapterProps<T extends number = number> = BaseAdapterProps<RangeProps, T, CommonExcludedPropsWithChildrenAndSize>;
301
302
  export type NumericInputAdapterProps<T extends number = number> = AdapterPropsWithoutSize<NumericInputProps, T>;
302
303
  /**
303
- * 单选类适配器 (RadioGroup, Segmented)
304
+ * Single select adapter (RadioGroup, Segmented)
304
305
  */
305
306
  export type RadioGroupAdapterProps<T extends string = string> = BaseAdapterProps<RadioGroupProps, T, CommonExcludedPropsWithChildrenAndSize>;
306
307
  export type SegmentedAdapterProps<T extends string = string> = Omit<SegmentedProps, CommonExcludedPropsWithChildrenAndSize> & FormFieldAdapterProps<T> & {
307
308
  options?: SegmentedOption<T>[];
308
309
  };
310
+ /**
311
+ * Tags input adapter (ChipsInput)
312
+ */
313
+ export type ChipsInputAdapterProps<T extends string = string> = Omit<ChipsInputProps, CommonExcludedPropsWithChildrenAndSize> & FormFieldAdapterProps<T[]> & {
314
+ name?: string;
315
+ };
309
316
  export {};
@@ -1,75 +1,31 @@
1
1
  import { HTMLProps, ReactNode } from 'react';
2
- import { UseFloatingReturn, Placement } from '@floating-ui/react';
3
2
  import * as react from 'react';
4
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
4
 
6
5
  interface HintTriggerProps extends HTMLProps<HTMLButtonElement> {
7
6
  asChild?: boolean;
8
- icon?: ReactNode;
7
+ children?: ReactNode;
9
8
  }
10
- declare const HintTrigger: react.ForwardRefExoticComponent<Omit<HintTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
11
9
 
12
10
  interface HintContentProps extends HTMLProps<HTMLDivElement> {
13
- icon?: ReactNode;
14
11
  portalId?: string;
15
- variant?: "default" | "dark";
12
+ variant?: "default" | "dark" | "accent";
16
13
  }
17
- declare const HintContent: react.ForwardRefExoticComponent<Omit<HintContentProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
18
14
 
19
- type HintPlacement$1 = "left-start" | "right-start";
20
- interface HintOptions {
21
- disabled?: boolean;
22
- initialOpen?: boolean;
23
- onOpenChange?: (open: boolean) => void;
24
- open?: boolean;
25
- placement?: HintPlacement$1;
26
- }
27
- interface UseHintReturn {
28
- arrowRef: React.RefObject<HTMLElement>;
29
- context: UseFloatingReturn["context"];
30
- disabled: boolean;
31
- floatingStyles: React.CSSProperties;
32
- getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
33
- getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
34
- isPositioned: UseFloatingReturn["isPositioned"];
35
- middlewareData: UseFloatingReturn["middlewareData"];
36
- open: boolean;
37
- placement: Placement;
38
- refs: UseFloatingReturn["refs"];
39
- setOpen: (open: boolean) => void;
40
- strategy: UseFloatingReturn["strategy"];
41
- update: UseFloatingReturn["update"];
42
- x: number | null;
43
- y: number | null;
44
- }
45
- declare function useHint({ initialOpen, placement, open: controlledOpen, onOpenChange: setControlledOpen, disabled, }?: HintOptions): UseHintReturn;
46
-
47
- interface HintContextValue {
48
- context: UseFloatingReturn["context"];
49
- disabled?: boolean;
50
- floatingStyles: React.CSSProperties;
51
- getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
52
- getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
53
- open: boolean;
54
- placement: Placement;
55
- refs: UseFloatingReturn["refs"];
56
- }
57
- declare function useHintState(): HintContextValue;
58
-
59
- type HintPlacement = "left-start" | "right-start";
15
+ type HintPlacement = "left-start" | "right-start" | "left-end" | "right-end";
60
16
 
61
17
  interface HintProps {
62
18
  children?: ReactNode;
63
- className?: string;
64
- content: ReactNode;
19
+ delay?: number;
65
20
  disabled?: boolean;
66
- icon?: ReactNode;
67
21
  onOpenChange?: (open: boolean) => void;
68
22
  open?: boolean;
69
23
  placement?: HintPlacement;
70
- portalId?: string;
71
- variant?: "default" | "dark";
72
24
  }
73
- declare function Hint({ children, content, disabled, onOpenChange, open, placement, className, icon, portalId, variant, }: HintProps): react_jsx_runtime.JSX.Element;
25
+ declare function HintRoot({ children, delay, disabled, onOpenChange, open, placement, }: HintProps): react_jsx_runtime.JSX.Element;
26
+ declare const Hint: typeof HintRoot & {
27
+ Trigger: react.ForwardRefExoticComponent<Omit<HintTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
28
+ Content: react.ForwardRefExoticComponent<Omit<HintContentProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
29
+ };
74
30
 
75
- export { Hint, HintContent, type HintProps, HintTrigger, useHint, useHintState };
31
+ export { Hint, type HintContentProps, type HintProps, type HintTriggerProps };
@@ -1,8 +1,6 @@
1
- import { HTMLProps, ReactNode } from 'react';
2
- interface HintContentProps extends HTMLProps<HTMLDivElement> {
3
- icon?: ReactNode;
1
+ import { HTMLProps } from 'react';
2
+ export interface HintContentProps extends HTMLProps<HTMLDivElement> {
4
3
  portalId?: string;
5
- variant?: "default" | "dark";
4
+ variant?: "default" | "dark" | "accent";
6
5
  }
7
6
  export declare const HintContent: import('react').ForwardRefExoticComponent<Omit<HintContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
8
- export {};
@@ -6,7 +6,7 @@ import { hintVariants } from "../tv.js";
6
6
  import { tcx } from "../../../../shared/utils/tcx/tcx.js";
7
7
  const HintContent = forwardRef(
8
8
  function HintContent2(props, propRef) {
9
- const { className, children, icon, portalId, variant = "default", ...rest } = props;
9
+ const { className, children, portalId, variant = "default", ...rest } = props;
10
10
  const state = useHintState();
11
11
  const ref = useMergeRefs([state.refs.setFloating, propRef]);
12
12
  const { isMounted, styles } = useTransitionStyles(state.context, {
@@ -14,7 +14,7 @@ const HintContent = forwardRef(
14
14
  initial: {
15
15
  opacity: 0
16
16
  },
17
- // 使用 common 选项设置正确的 transformOrigin
17
+ // Use common option to set correct transformOrigin
18
18
  common: ({ side }) => ({
19
19
  transformOrigin: side === "left" ? "right center" : "left center"
20
20
  })
@@ -28,18 +28,26 @@ const HintContent = forwardRef(
28
28
  "div",
29
29
  {
30
30
  ref,
31
- className: "z-tooltip pointer-events-none",
31
+ className: "z-tooltip",
32
32
  style: state.floatingStyles,
33
33
  ...state.getFloatingProps(rest),
34
34
  children: /* @__PURE__ */ jsxs(
35
35
  "div",
36
36
  {
37
- className: tcx(tv.content({ className, variant })),
37
+ className: tcx(tv.content({ variant })),
38
38
  "data-state": state.open ? "open" : "closed",
39
39
  style: styles,
40
40
  children: [
41
- /* @__PURE__ */ jsx("div", { className: tv.icon(), children: icon }),
42
- /* @__PURE__ */ jsx("div", { className: tv.text(), children })
41
+ /* @__PURE__ */ jsx(
42
+ "div",
43
+ {
44
+ className: tv.icon({
45
+ placement: state.placement
46
+ }),
47
+ children: state.icon
48
+ }
49
+ ),
50
+ /* @__PURE__ */ jsx("div", { className: tcx(tv.text(), className), children })
43
51
  ]
44
52
  }
45
53
  )
@@ -1,7 +1,6 @@
1
1
  import { HTMLProps, ReactNode } from 'react';
2
- interface HintTriggerProps extends HTMLProps<HTMLButtonElement> {
2
+ export interface HintTriggerProps extends HTMLProps<HTMLButtonElement> {
3
3
  asChild?: boolean;
4
- icon?: ReactNode;
4
+ children?: ReactNode;
5
5
  }
6
6
  export declare const HintTrigger: import('react').ForwardRefExoticComponent<Omit<HintTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
7
- export {};
@@ -4,7 +4,7 @@ import { forwardRef, cloneElement } from "react";
4
4
  import { useHintState } from "../context/hint-context.js";
5
5
  import { hintVariants } from "../tv.js";
6
6
  import { tcx } from "../../../../shared/utils/tcx/tcx.js";
7
- const HintTrigger = forwardRef(function HintTrigger2({ children, className, asChild = false, icon, ...props }, propRef) {
7
+ const HintTriggerInner = forwardRef(function HintTrigger2({ children, className, asChild = false, ...props }, propRef) {
8
8
  const state = useHintState();
9
9
  const ref = useMergeRefs([state.refs.setReference, propRef]);
10
10
  if (asChild && children) {
@@ -23,10 +23,12 @@ const HintTrigger = forwardRef(function HintTrigger2({ children, className, asCh
23
23
  className: tcx(tv.trigger({ className })),
24
24
  ...state.disabled && { disabled: true },
25
25
  ...state.getReferenceProps(props),
26
- children: icon
26
+ children: state.icon
27
27
  }
28
28
  );
29
29
  });
30
+ HintTriggerInner.displayName = "HintTrigger";
31
+ const HintTrigger = HintTriggerInner;
30
32
  export {
31
33
  HintTrigger
32
34
  };
@@ -1,10 +1,12 @@
1
1
  import { Placement, UseFloatingReturn } from '@floating-ui/react';
2
+ import { ReactNode } from 'react';
2
3
  export interface HintContextValue {
3
4
  context: UseFloatingReturn["context"];
4
5
  disabled?: boolean;
5
6
  floatingStyles: React.CSSProperties;
6
7
  getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
7
8
  getReferenceProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
9
+ icon?: ReactNode;
8
10
  open: boolean;
9
11
  placement: Placement;
10
12
  refs: UseFloatingReturn["refs"];
@@ -1,4 +1,4 @@
1
- import { useContext, createContext } from "react";
1
+ import { createContext, useContext } from "react";
2
2
  const HintContext = createContext(void 0);
3
3
  function useHintState() {
4
4
  const context = useContext(HintContext);
@@ -1,16 +1,16 @@
1
1
  import { ReactNode } from 'react';
2
- type HintPlacement = "left-start" | "right-start";
2
+ type HintPlacement = "left-start" | "right-start" | "left-end" | "right-end";
3
3
  export { useHintState } from './context/hint-context';
4
4
  export interface HintProps {
5
5
  children?: ReactNode;
6
- className?: string;
7
- content: ReactNode;
6
+ delay?: number;
8
7
  disabled?: boolean;
9
- icon?: ReactNode;
10
8
  onOpenChange?: (open: boolean) => void;
11
9
  open?: boolean;
12
10
  placement?: HintPlacement;
13
- portalId?: string;
14
- variant?: "default" | "dark";
15
11
  }
16
- export declare function Hint({ children, content, disabled, onOpenChange, open, placement, className, icon, portalId, variant, }: HintProps): import("react/jsx-runtime").JSX.Element;
12
+ declare function HintRoot({ children, delay, disabled, onOpenChange, open, placement, }: HintProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare const Hint: typeof HintRoot & {
14
+ Trigger: import('react').ForwardRefExoticComponent<Omit<import('../..').HintTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
15
+ Content: import('react').ForwardRefExoticComponent<Omit<import('../..').HintContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
16
+ };