@plexui/ui 0.19.0 → 0.20.0

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 (401) hide show
  1. package/README.md +1 -3
  2. package/dist/es/components/Accordion/Accordion.js +2 -2
  3. package/dist/es/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/es/components/Accordion/index.js +1 -1
  5. package/dist/es/components/Alert/Alert.js +6 -6
  6. package/dist/es/components/Alert/Alert.js.map +1 -1
  7. package/dist/es/components/Alert/index.js +1 -1
  8. package/dist/es/components/Avatar/Avatar.js +12 -5
  9. package/dist/es/components/Avatar/Avatar.js.map +1 -1
  10. package/dist/es/components/Avatar/AvatarGroup.js +2 -2
  11. package/dist/es/components/Avatar/AvatarGroup.js.map +1 -1
  12. package/dist/es/components/Avatar/index.js +2 -2
  13. package/dist/es/components/Badge/index.js +3 -3
  14. package/dist/es/components/Badge/index.js.map +1 -1
  15. package/dist/es/components/Breadcrumb/Breadcrumb.js +34 -0
  16. package/dist/es/components/Breadcrumb/Breadcrumb.js.map +1 -0
  17. package/dist/es/components/Breadcrumb/index.js +2 -0
  18. package/dist/es/components/Breadcrumb/index.js.map +1 -0
  19. package/dist/es/components/Button/Button.js +7 -7
  20. package/dist/es/components/Button/Button.js.map +1 -1
  21. package/dist/es/components/Button/CopyButton.js +25 -13
  22. package/dist/es/components/Button/CopyButton.js.map +1 -1
  23. package/dist/es/components/Button/index.js +2 -2
  24. package/dist/es/components/ButtonGroup/ButtonGroup.js +2 -2
  25. package/dist/es/components/ButtonGroup/ButtonGroup.js.map +1 -1
  26. package/dist/es/components/ButtonGroup/index.js +1 -1
  27. package/dist/es/components/Card/Card.js +4 -3
  28. package/dist/es/components/Card/Card.js.map +1 -1
  29. package/dist/es/components/Card/index.js +1 -1
  30. package/dist/es/components/Checkbox/Checkbox.js +12 -6
  31. package/dist/es/components/Checkbox/Checkbox.js.map +1 -1
  32. package/dist/es/components/Checkbox/index.js +1 -1
  33. package/dist/es/components/CodeBlock/CodeBlock.js +25 -25
  34. package/dist/es/components/CodeBlock/CodeBlock.js.map +1 -1
  35. package/dist/es/components/CodeBlock/CollapsibleCodeBlock.js +6 -4
  36. package/dist/es/components/CodeBlock/CollapsibleCodeBlock.js.map +1 -1
  37. package/dist/es/components/CodeBlock/index.js +2 -2
  38. package/dist/es/components/DataTable/DataTable.js +108 -27
  39. package/dist/es/components/DataTable/DataTable.js.map +1 -1
  40. package/dist/es/components/DataTable/DataTableColumnHeader.js +2 -2
  41. package/dist/es/components/DataTable/DataTableColumnHeader.js.map +1 -1
  42. package/dist/es/components/DataTable/DataTablePagination.js +8 -4
  43. package/dist/es/components/DataTable/DataTablePagination.js.map +1 -1
  44. package/dist/es/components/DataTable/columnHelpers.js +3 -3
  45. package/dist/es/components/DataTable/index.js +4 -4
  46. package/dist/es/components/DateInput/DateInput.js +21 -13
  47. package/dist/es/components/DateInput/DateInput.js.map +1 -1
  48. package/dist/es/components/DateInput/index.js +1 -1
  49. package/dist/es/components/DatePicker/Calendar.js +136 -32
  50. package/dist/es/components/DatePicker/Calendar.js.map +1 -1
  51. package/dist/es/components/DatePicker/DatePicker.js +15 -11
  52. package/dist/es/components/DatePicker/DatePicker.js.map +1 -1
  53. package/dist/es/components/DatePicker/index.js +1 -1
  54. package/dist/es/components/DateRangePicker/Calendar.js +125 -22
  55. package/dist/es/components/DateRangePicker/Calendar.js.map +1 -1
  56. package/dist/es/components/DateRangePicker/DateRangePicker.js +10 -9
  57. package/dist/es/components/DateRangePicker/DateRangePicker.js.map +1 -1
  58. package/dist/es/components/DateRangePicker/Trigger.js +12 -9
  59. package/dist/es/components/DateRangePicker/Trigger.js.map +1 -1
  60. package/dist/es/components/DateRangePicker/index.js +2 -2
  61. package/dist/es/components/Dialog/Dialog.js +11 -6
  62. package/dist/es/components/Dialog/Dialog.js.map +1 -1
  63. package/dist/es/components/Dialog/index.js +1 -1
  64. package/dist/es/components/Dialog/index.js.map +1 -1
  65. package/dist/es/components/EmptyMessage/EmptyMessage.js +4 -4
  66. package/dist/es/components/EmptyMessage/EmptyMessage.js.map +1 -1
  67. package/dist/es/components/EmptyMessage/index.js +1 -1
  68. package/dist/es/components/Field/Field.js +22 -7
  69. package/dist/es/components/Field/Field.js.map +1 -1
  70. package/dist/es/components/Field/index.js +1 -1
  71. package/dist/es/components/FieldError/FieldError.js +4 -4
  72. package/dist/es/components/FieldError/FieldError.js.map +1 -1
  73. package/dist/es/components/FieldError/index.js +1 -1
  74. package/dist/es/components/FileUpload/FileUpload.js +12 -9
  75. package/dist/es/components/FileUpload/FileUpload.js.map +1 -1
  76. package/dist/es/components/FileUpload/index.js +1 -1
  77. package/dist/es/components/FloatingLabelInput/FloatingLabelInput.js +31 -4
  78. package/dist/es/components/FloatingLabelInput/FloatingLabelInput.js.map +1 -1
  79. package/dist/es/components/FloatingLabelInput/index.js +1 -1
  80. package/dist/es/components/FloatingLabelSelect/FloatingLabelSelect.js +28 -8
  81. package/dist/es/components/FloatingLabelSelect/FloatingLabelSelect.js.map +1 -1
  82. package/dist/es/components/FloatingLabelSelect/index.js +1 -1
  83. package/dist/es/components/Icon/aliases.js +20 -20
  84. package/dist/es/components/Icon/index.js +653 -653
  85. package/dist/es/components/Image/Image.js +19 -7
  86. package/dist/es/components/Image/Image.js.map +1 -1
  87. package/dist/es/components/Image/index.js +1 -1
  88. package/dist/es/components/Indicator/CircularProgress.js +3 -3
  89. package/dist/es/components/Indicator/CircularProgress.js.map +1 -1
  90. package/dist/es/components/Indicator/LoadingDots.js +1 -1
  91. package/dist/es/components/Indicator/LoadingDots.js.map +1 -1
  92. package/dist/es/components/Indicator/LoadingIndicator.js +2 -2
  93. package/dist/es/components/Indicator/LoadingIndicator.js.map +1 -1
  94. package/dist/es/components/Indicator/index.js +3 -3
  95. package/dist/es/components/Input/Input.js +16 -5
  96. package/dist/es/components/Input/Input.js.map +1 -1
  97. package/dist/es/components/Input/index.js +1 -1
  98. package/dist/es/components/InputGroup/InputGroup.js +60 -0
  99. package/dist/es/components/InputGroup/InputGroup.js.map +1 -0
  100. package/dist/es/components/InputGroup/index.js +2 -0
  101. package/dist/es/components/InputGroup/index.js.map +1 -0
  102. package/dist/es/components/Kbd/Kbd.js +13 -0
  103. package/dist/es/components/Kbd/Kbd.js.map +1 -0
  104. package/dist/es/components/Kbd/index.js +2 -0
  105. package/dist/es/components/Kbd/index.js.map +1 -0
  106. package/dist/es/components/Label/Label.js +1 -1
  107. package/dist/es/components/Label/Label.js.map +1 -1
  108. package/dist/es/components/Label/index.js +1 -1
  109. package/dist/es/components/Markdown/Markdown.js +8 -8
  110. package/dist/es/components/Markdown/Markdown.js.map +1 -1
  111. package/dist/es/components/Markdown/directives.js +2 -2
  112. package/dist/es/components/Markdown/index.js +4 -5
  113. package/dist/es/components/Markdown/index.js.map +1 -1
  114. package/dist/es/components/MarkdownEditor/MarkdownEditor.js +35 -11
  115. package/dist/es/components/MarkdownEditor/MarkdownEditor.js.map +1 -1
  116. package/dist/es/components/MarkdownEditor/index.js +1 -1
  117. package/dist/es/components/Menu/Menu.js +26 -18
  118. package/dist/es/components/Menu/Menu.js.map +1 -1
  119. package/dist/es/components/Menu/index.js +1 -1
  120. package/dist/es/components/OTPInput/OTPInput.js +51 -34
  121. package/dist/es/components/OTPInput/OTPInput.js.map +1 -1
  122. package/dist/es/components/OTPInput/index.js +1 -1
  123. package/dist/es/components/PlexUIProvider/PlexUIProvider.js +3 -1
  124. package/dist/es/components/PlexUIProvider/PlexUIProvider.js.map +1 -1
  125. package/dist/es/components/PlexUIProvider/index.js +1 -1
  126. package/dist/es/components/PlexUIProvider/internal.js +1 -1
  127. package/dist/es/components/Popover/Popover.js +7 -7
  128. package/dist/es/components/Popover/Popover.js.map +1 -1
  129. package/dist/es/components/Popover/index.js +2 -3
  130. package/dist/es/components/Popover/index.js.map +1 -1
  131. package/dist/es/components/Popover/usePopoverController.js +2 -2
  132. package/dist/es/components/Progress/Progress.js +1 -1
  133. package/dist/es/components/Progress/Progress.js.map +1 -1
  134. package/dist/es/components/Progress/index.js +1 -1
  135. package/dist/es/components/ProgressSteps/ProgressSteps.js +6 -4
  136. package/dist/es/components/ProgressSteps/ProgressSteps.js.map +1 -1
  137. package/dist/es/components/ProgressSteps/index.js +1 -1
  138. package/dist/es/components/RadioGroup/RadioGroup.js +10 -6
  139. package/dist/es/components/RadioGroup/RadioGroup.js.map +1 -1
  140. package/dist/es/components/RadioGroup/index.js +1 -1
  141. package/dist/es/components/SegmentedControl/index.js +1 -1
  142. package/dist/es/components/Select/Select.js +104 -67
  143. package/dist/es/components/Select/Select.js.map +1 -1
  144. package/dist/es/components/Select/index.js +1 -1
  145. package/dist/es/components/SelectControl/SelectControl.js +10 -5
  146. package/dist/es/components/SelectControl/SelectControl.js.map +1 -1
  147. package/dist/es/components/SelectControl/index.js +1 -1
  148. package/dist/es/components/Separator/Separator.js +1 -1
  149. package/dist/es/components/Separator/Separator.js.map +1 -1
  150. package/dist/es/components/Separator/index.js +1 -1
  151. package/dist/es/components/ShimmerText/ShimmerText.js +1 -1
  152. package/dist/es/components/ShimmerText/ShimmerText.js.map +1 -1
  153. package/dist/es/components/ShimmerText/index.js +1 -1
  154. package/dist/es/components/Sidebar/Sidebar.js +37 -29
  155. package/dist/es/components/Sidebar/Sidebar.js.map +1 -1
  156. package/dist/es/components/Sidebar/index.js +2 -2
  157. package/dist/es/components/Sidebar/useSidebarContext.js +17 -19
  158. package/dist/es/components/Sidebar/useSidebarContext.js.map +1 -1
  159. package/dist/es/components/Skeleton/index.js +1 -1
  160. package/dist/es/components/Skeleton/index.js.map +1 -1
  161. package/dist/es/components/Slider/Slider.js +48 -19
  162. package/dist/es/components/Slider/Slider.js.map +1 -1
  163. package/dist/es/components/Slider/index.js +1 -1
  164. package/dist/es/components/StatCard/StatCard.js +5 -5
  165. package/dist/es/components/StatCard/StatCard.js.map +1 -1
  166. package/dist/es/components/StatCard/index.js +1 -1
  167. package/dist/es/components/Switch/Switch.js +7 -3
  168. package/dist/es/components/Switch/Switch.js.map +1 -1
  169. package/dist/es/components/Switch/index.js +1 -1
  170. package/dist/es/components/Table/Table.js +1 -1
  171. package/dist/es/components/Table/Table.js.map +1 -1
  172. package/dist/es/components/Table/index.js +1 -1
  173. package/dist/es/components/Tabs/Tabs.js +154 -6
  174. package/dist/es/components/Tabs/Tabs.js.map +1 -1
  175. package/dist/es/components/Tabs/index.js +1 -1
  176. package/dist/es/components/Tabs/overflow.js +44 -0
  177. package/dist/es/components/Tabs/overflow.js.map +1 -0
  178. package/dist/es/components/TagInput/TagInput.js +47 -23
  179. package/dist/es/components/TagInput/TagInput.js.map +1 -1
  180. package/dist/es/components/TagInput/index.js +1 -1
  181. package/dist/es/components/TextLink/TextLink.js +16 -5
  182. package/dist/es/components/TextLink/TextLink.js.map +1 -1
  183. package/dist/es/components/TextLink/index.js +1 -1
  184. package/dist/es/components/Textarea/Textarea.js +4 -4
  185. package/dist/es/components/Textarea/Textarea.js.map +1 -1
  186. package/dist/es/components/Textarea/index.js +1 -1
  187. package/dist/es/components/Toast/Toaster.js +2 -2
  188. package/dist/es/components/Toast/Toaster.js.map +1 -1
  189. package/dist/es/components/Toast/index.js +1 -1
  190. package/dist/es/components/Tooltip/CopyTooltip.js +30 -9
  191. package/dist/es/components/Tooltip/CopyTooltip.js.map +1 -1
  192. package/dist/es/components/Tooltip/Tooltip.js +3 -3
  193. package/dist/es/components/Tooltip/Tooltip.js.map +1 -1
  194. package/dist/es/components/Tooltip/index.js +2 -2
  195. package/dist/es/components/Transition/Animate.js +4 -4
  196. package/dist/es/components/Transition/Animate.js.map +1 -1
  197. package/dist/es/components/Transition/AnimateLayout.js +4 -4
  198. package/dist/es/components/Transition/AnimateLayout.js.map +1 -1
  199. package/dist/es/components/Transition/AnimateLayoutGroup.js +12 -8
  200. package/dist/es/components/Transition/AnimateLayoutGroup.js.map +1 -1
  201. package/dist/es/components/Transition/SlotTransitionGroup.js +4 -4
  202. package/dist/es/components/Transition/TransitionGroup.js +5 -5
  203. package/dist/es/components/Transition/TransitionGroup.js.map +1 -1
  204. package/dist/es/components/Transition/getDisableAnimations.js +1 -1
  205. package/dist/es/components/Transition/index.js +5 -5
  206. package/dist/es/components/Transition/shared.js +7 -5
  207. package/dist/es/components/Transition/shared.js.map +1 -1
  208. package/dist/es/components/UIProvider/UIProvider.js +1 -1
  209. package/dist/es/components/UIProvider/index.js +1 -1
  210. package/dist/es/components/UIProvider/internal.js +1 -1
  211. package/dist/es/hooks/useAnimatedScrollTo.js +1 -1
  212. package/dist/es/hooks/useBreakpoints.js +8 -2
  213. package/dist/es/hooks/useBreakpoints.js.map +1 -1
  214. package/dist/es/hooks/useEscCloseStack.js +1 -1
  215. package/dist/es/hooks/usePrevious.js +7 -5
  216. package/dist/es/hooks/usePrevious.js.map +1 -1
  217. package/dist/es/hooks/useTextSelection.js +2 -2
  218. package/dist/es/hooks/useTrailingValue.js +1 -1
  219. package/dist/es/lib/constants.js +1 -1
  220. package/dist/es/lib/helpers.js +1 -1
  221. package/dist/es/lib/helpers.js.map +1 -1
  222. package/dist/es/lib/renderHelpers.js +15 -6
  223. package/dist/es/lib/renderHelpers.js.map +1 -1
  224. package/dist/es/lib/theme.js +16 -16
  225. package/dist/es/lib/theme.js.map +1 -1
  226. package/dist/es/lib/userAgent.js +3 -2
  227. package/dist/es/lib/userAgent.js.map +1 -1
  228. package/dist/es/styles/base.css +1 -102
  229. package/dist/es/styles/globals.css +1 -50
  230. package/dist/es/styles/index.css +1 -25
  231. package/dist/es/styles/katex.min.css +1 -1296
  232. package/dist/es/styles/tailwind-utilities.css +1 -1316
  233. package/dist/es/styles/variables-components.css +1 -626
  234. package/dist/es/styles/variables-primitive.css +1 -327
  235. package/dist/es/styles/variables-semantic.css +1 -609
  236. package/dist/es/styles/variables-tailwind-theme.css +1 -34
  237. package/dist/es/styles/variables-tokens-root.css +1 -41
  238. package/dist/es/types.js +1 -1
  239. package/dist/es/types.js.map +1 -1
  240. package/dist/es/vite/index.js +3 -53
  241. package/dist/es/vite/index.js.map +1 -1
  242. package/dist/types/components/Accordion/index.d.ts +1 -1
  243. package/dist/types/components/Alert/Alert.d.ts +8 -2
  244. package/dist/types/components/Alert/index.d.ts +1 -1
  245. package/dist/types/components/Avatar/Avatar.d.ts +1 -1
  246. package/dist/types/components/Avatar/index.d.ts +2 -2
  247. package/dist/types/components/Badge/index.d.ts +1 -1
  248. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +34 -0
  249. package/dist/types/components/Breadcrumb/index.d.ts +1 -0
  250. package/dist/types/components/Button/Button.d.ts +3 -3
  251. package/dist/types/components/Button/CopyButton.d.ts +9 -4
  252. package/dist/types/components/Button/index.d.ts +2 -2
  253. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +4 -3
  254. package/dist/types/components/ButtonGroup/index.d.ts +1 -1
  255. package/dist/types/components/Card/index.d.ts +1 -1
  256. package/dist/types/components/Checkbox/Checkbox.d.ts +3 -1
  257. package/dist/types/components/Checkbox/index.d.ts +1 -1
  258. package/dist/types/components/CodeBlock/index.d.ts +2 -2
  259. package/dist/types/components/DataTable/DataTable.d.ts +3 -2
  260. package/dist/types/components/DataTable/index.d.ts +4 -4
  261. package/dist/types/components/DateInput/DateInput.d.ts +1 -1
  262. package/dist/types/components/DateInput/index.d.ts +1 -1
  263. package/dist/types/components/DatePicker/DatePicker.d.ts +7 -6
  264. package/dist/types/components/DatePicker/context.d.ts +1 -1
  265. package/dist/types/components/DatePicker/index.d.ts +2 -2
  266. package/dist/types/components/DateRangePicker/Calendar.d.ts +1 -1
  267. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +5 -5
  268. package/dist/types/components/DateRangePicker/context.d.ts +2 -2
  269. package/dist/types/components/DateRangePicker/index.d.ts +2 -2
  270. package/dist/types/components/Dialog/Dialog.d.ts +19 -1
  271. package/dist/types/components/Dialog/index.d.ts +1 -1
  272. package/dist/types/components/EmptyMessage/EmptyMessage.d.ts +15 -3
  273. package/dist/types/components/EmptyMessage/index.d.ts +1 -1
  274. package/dist/types/components/Field/Field.d.ts +14 -4
  275. package/dist/types/components/Field/index.d.ts +1 -1
  276. package/dist/types/components/FieldError/FieldError.d.ts +7 -1
  277. package/dist/types/components/FieldError/index.d.ts +1 -1
  278. package/dist/types/components/FileUpload/index.d.ts +1 -1
  279. package/dist/types/components/FloatingLabelInput/index.d.ts +1 -1
  280. package/dist/types/components/FloatingLabelSelect/index.d.ts +1 -1
  281. package/dist/types/components/Icon/aliases.d.ts +20 -20
  282. package/dist/types/components/Icon/index.d.ts +653 -653
  283. package/dist/types/components/Image/Image.d.ts +1 -1
  284. package/dist/types/components/Image/index.d.ts +1 -1
  285. package/dist/types/components/Indicator/index.d.ts +3 -3
  286. package/dist/types/components/Input/Input.d.ts +2 -2
  287. package/dist/types/components/Input/index.d.ts +1 -1
  288. package/dist/types/components/InputGroup/InputGroup.d.ts +78 -0
  289. package/dist/types/components/InputGroup/index.d.ts +1 -0
  290. package/dist/types/components/Kbd/Kbd.d.ts +20 -0
  291. package/dist/types/components/Kbd/index.d.ts +1 -0
  292. package/dist/types/components/Label/index.d.ts +1 -1
  293. package/dist/types/components/Markdown/Markdown.d.ts +1 -1
  294. package/dist/types/components/Markdown/index.d.ts +4 -4
  295. package/dist/types/components/MarkdownEditor/MarkdownEditor.d.ts +6 -2
  296. package/dist/types/components/MarkdownEditor/index.d.ts +1 -1
  297. package/dist/types/components/Menu/Menu.d.ts +11 -3
  298. package/dist/types/components/Menu/index.d.ts +1 -1
  299. package/dist/types/components/OTPInput/index.d.ts +1 -1
  300. package/dist/types/components/PlexUIProvider/PlexUIProvider.d.ts +0 -11
  301. package/dist/types/components/PlexUIProvider/index.d.ts +1 -1
  302. package/dist/types/components/Popover/index.d.ts +2 -2
  303. package/dist/types/components/Progress/index.d.ts +1 -1
  304. package/dist/types/components/ProgressSteps/ProgressSteps.d.ts +1 -1
  305. package/dist/types/components/ProgressSteps/index.d.ts +1 -1
  306. package/dist/types/components/RadioGroup/RadioGroup.d.ts +3 -1
  307. package/dist/types/components/RadioGroup/index.d.ts +1 -1
  308. package/dist/types/components/SegmentedControl/index.d.ts +2 -2
  309. package/dist/types/components/Select/Select.d.ts +8 -1
  310. package/dist/types/components/Select/index.d.ts +1 -1
  311. package/dist/types/components/SelectControl/SelectControl.d.ts +1 -1
  312. package/dist/types/components/SelectControl/index.d.ts +1 -1
  313. package/dist/types/components/Separator/index.d.ts +1 -1
  314. package/dist/types/components/ShimmerText/index.d.ts +1 -1
  315. package/dist/types/components/Sidebar/Sidebar.d.ts +4 -8
  316. package/dist/types/components/Sidebar/index.d.ts +4 -4
  317. package/dist/types/components/Slider/Slider.d.ts +8 -0
  318. package/dist/types/components/Slider/index.d.ts +2 -2
  319. package/dist/types/components/StatCard/index.d.ts +1 -1
  320. package/dist/types/components/Switch/index.d.ts +1 -1
  321. package/dist/types/components/Table/index.d.ts +1 -1
  322. package/dist/types/components/Tabs/Tabs.d.ts +15 -2
  323. package/dist/types/components/Tabs/index.d.ts +2 -2
  324. package/dist/types/components/Tabs/overflow.d.ts +17 -0
  325. package/dist/types/components/TagInput/TagInput.d.ts +1 -1
  326. package/dist/types/components/TagInput/index.d.ts +1 -1
  327. package/dist/types/components/TextLink/index.d.ts +1 -1
  328. package/dist/types/components/Textarea/Textarea.d.ts +1 -1
  329. package/dist/types/components/Textarea/index.d.ts +1 -1
  330. package/dist/types/components/Toast/index.d.ts +1 -1
  331. package/dist/types/components/Tooltip/CopyTooltip.d.ts +6 -1
  332. package/dist/types/components/Tooltip/index.d.ts +2 -2
  333. package/dist/types/components/Transition/Animate.d.ts +2 -2
  334. package/dist/types/components/Transition/AnimateLayout.d.ts +2 -2
  335. package/dist/types/components/Transition/AnimateLayoutGroup.d.ts +2 -2
  336. package/dist/types/components/Transition/SlotTransitionGroup.d.ts +1 -1
  337. package/dist/types/components/Transition/TransitionGroup.d.ts +1 -1
  338. package/dist/types/components/Transition/index.d.ts +5 -5
  339. package/dist/types/components/UIProvider/index.d.ts +1 -1
  340. package/dist/types/global.d.ts +5 -1
  341. package/dist/types/lib/constants.d.ts +1 -1
  342. package/dist/types/lib/helpers.d.ts +4 -4
  343. package/dist/types/lib/theme.d.ts +1 -1
  344. package/dist/types/types.d.ts +2 -15
  345. package/dist/types/vite/index.d.ts +2 -55
  346. package/package.json +10 -18
  347. package/dist/es/components/Accordion/Accordion.module.css +0 -89
  348. package/dist/es/components/Alert/Alert.module.css +0 -187
  349. package/dist/es/components/Avatar/Avatar.module.css +0 -168
  350. package/dist/es/components/Avatar/AvatarGroup.module.css +0 -26
  351. package/dist/es/components/Badge/Badge.module.css +0 -196
  352. package/dist/es/components/Button/Button.module.css +0 -859
  353. package/dist/es/components/ButtonGroup/ButtonGroup.module.css +0 -159
  354. package/dist/es/components/Card/Card.module.css +0 -125
  355. package/dist/es/components/Checkbox/Checkbox.module.css +0 -198
  356. package/dist/es/components/CodeBlock/CodeBlock.module.css +0 -137
  357. package/dist/es/components/DataTable/DataTable.module.css +0 -108
  358. package/dist/es/components/DatePicker/Calendar.module.css +0 -271
  359. package/dist/es/components/DateRangePicker/Calendar.module.css +0 -295
  360. package/dist/es/components/DateRangePicker/Trigger.module.css +0 -25
  361. package/dist/es/components/Dialog/Dialog.module.css +0 -133
  362. package/dist/es/components/EmptyMessage/EmptyMessage.module.css +0 -82
  363. package/dist/es/components/Field/Field.module.css +0 -137
  364. package/dist/es/components/FieldError/FieldError.module.css +0 -22
  365. package/dist/es/components/FileUpload/FileUpload.module.css +0 -133
  366. package/dist/es/components/FloatingLabelInput/FloatingLabelInput.module.css +0 -220
  367. package/dist/es/components/FloatingLabelSelect/FloatingLabelSelect.module.css +0 -146
  368. package/dist/es/components/Image/Image.module.css +0 -9
  369. package/dist/es/components/Indicator/CircularProgress.module.css +0 -28
  370. package/dist/es/components/Indicator/LoadingDots.module.css +0 -35
  371. package/dist/es/components/Indicator/LoadingIndicator.module.css +0 -41
  372. package/dist/es/components/Input/Input.module.css +0 -507
  373. package/dist/es/components/Label/Label.module.css +0 -16
  374. package/dist/es/components/Markdown/Markdown.module.css +0 -233
  375. package/dist/es/components/MarkdownEditor/MarkdownEditor.module.css +0 -297
  376. package/dist/es/components/Menu/Menu.module.css +0 -377
  377. package/dist/es/components/OTPInput/OTPInput.module.css +0 -66
  378. package/dist/es/components/Popover/Popover.module.css +0 -82
  379. package/dist/es/components/Progress/Progress.module.css +0 -34
  380. package/dist/es/components/ProgressSteps/ProgressSteps.module.css +0 -246
  381. package/dist/es/components/RadioGroup/RadioGroup.module.css +0 -137
  382. package/dist/es/components/Select/Select.module.css +0 -310
  383. package/dist/es/components/SelectControl/SelectControl.module.css +0 -558
  384. package/dist/es/components/Separator/Separator.module.css +0 -16
  385. package/dist/es/components/ShimmerText/ShimmerText.module.css +0 -43
  386. package/dist/es/components/Sidebar/Sidebar.module.css +0 -909
  387. package/dist/es/components/Skeleton/Skeleton.module.css +0 -17
  388. package/dist/es/components/Slider/Slider.module.css +0 -203
  389. package/dist/es/components/StatCard/StatCard.module.css +0 -234
  390. package/dist/es/components/Switch/Switch.module.css +0 -121
  391. package/dist/es/components/Table/Table.module.css +0 -56
  392. package/dist/es/components/Tabs/Tabs.module.css +0 -672
  393. package/dist/es/components/TagInput/TagInput.module.css +0 -320
  394. package/dist/es/components/TextLink/TextLink.module.css +0 -50
  395. package/dist/es/components/Textarea/Textarea.module.css +0 -272
  396. package/dist/es/components/Toast/Toast.module.css +0 -84
  397. package/dist/es/components/Tooltip/Tooltip.module.css +0 -91
  398. package/dist/es/components/Transition/Animate.module.css +0 -54
  399. package/dist/es/components/Transition/AnimateLayout.module.css +0 -101
  400. package/dist/es/components/Transition/AnimateLayoutGroup.module.css +0 -72
  401. package/dist/es/components/Transition/TransitionGroup.module.css +0 -4
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps } from "react";
2
- export declare const Image: ({ src, className, draggable, onLoad, onError, forceRenderAfterLoadFail, ...restProps }: ComponentProps<"img"> & {
2
+ export declare const Image: ({ src, className, draggable, onLoad, onError, forceRenderAfterLoadFail, ref, ...restProps }: ComponentProps<"img"> & {
3
3
  /** Force the image tag to be placed in the DOM even if load failed (resulting in broken image display) */
4
4
  forceRenderAfterLoadFail?: boolean;
5
5
  }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1 +1 @@
1
- export { Image } from "./Image";
1
+ export { Image } from "./Image.js";
@@ -1,3 +1,3 @@
1
- export { CircularProgress, type CircularProgressProps } from "./CircularProgress";
2
- export { LoadingDots, type LoadingDotsProps } from "./LoadingDots";
3
- export { LoadingIndicator, type LoadingIndicatorProps } from "./LoadingIndicator";
1
+ export { CircularProgress, type CircularProgressProps } from "./CircularProgress.js";
2
+ export { LoadingDots, type LoadingDotsProps } from "./LoadingDots.js";
3
+ export { LoadingIndicator, type LoadingIndicatorProps } from "./LoadingIndicator.js";
@@ -1,10 +1,10 @@
1
- import { type ControlSize, type SemanticColor, type Sizes, type Variants } from "../../types";
1
+ import { type ControlSize, type SemanticColor, type Sizes, type Variants } from "../../types.js";
2
2
  export type InputProps = {
3
3
  /**
4
4
  * Visual style of the input
5
5
  * @default outline
6
6
  */
7
- variant?: Variants<"outline" | "soft">;
7
+ variant?: Variants<"outline" | "soft" | "ghost">;
8
8
  /**
9
9
  * Controls the size of the input
10
10
  *
@@ -1 +1 @@
1
- export { Input, type InputProps } from "./Input";
1
+ export { Input, type InputProps } from "./Input.js";
@@ -0,0 +1,78 @@
1
+ import { type HTMLAttributes, type InputHTMLAttributes, type Ref, type TextareaHTMLAttributes } from "react";
2
+ import { type ControlSize, type Variants } from "../../types.js";
3
+ import { type ButtonProps } from "../Button/index.js";
4
+ export type InputGroupProps = HTMLAttributes<HTMLDivElement> & {
5
+ /**
6
+ * Visual style of the group
7
+ * @default outline
8
+ */
9
+ variant?: Variants<"outline" | "soft">;
10
+ /**
11
+ * Controls the size of the group, on the same scale as Input
12
+ *
13
+ * | 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl |
14
+ * | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |
15
+ * | `22px` | `24px` | `26px` | `28px` | `32px` | `36px` | `40px` | `44px` | `48px` |
16
+ *
17
+ * @default md
18
+ */
19
+ size?: ControlSize;
20
+ /**
21
+ * Fully rounded group, with pill buttons inside
22
+ * @default false
23
+ */
24
+ pill?: boolean;
25
+ /**
26
+ * Disables the control and the buttons inside the group
27
+ * @default false
28
+ */
29
+ disabled?: boolean;
30
+ /**
31
+ * Mark the group as invalid
32
+ * @default false
33
+ */
34
+ invalid?: boolean;
35
+ ref?: Ref<HTMLDivElement>;
36
+ };
37
+ declare const InputGroupRoot: ({ variant, size, pill, disabled, invalid, className, onMouseDown, ref, ...restProps }: InputGroupProps) => import("react/jsx-runtime").JSX.Element;
38
+ export type InputGroupInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & {
39
+ ref?: Ref<HTMLInputElement>;
40
+ };
41
+ declare const InputGroupInput: ({ type, disabled, className, ref, ...restProps }: InputGroupInputProps) => import("react/jsx-runtime").JSX.Element;
42
+ export type InputGroupTextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
43
+ ref?: Ref<HTMLTextAreaElement>;
44
+ };
45
+ declare const InputGroupTextarea: ({ rows, disabled, className, ref, ...restProps }: InputGroupTextareaProps) => import("react/jsx-runtime").JSX.Element;
46
+ export type InputGroupAddonAlign = "inline-start" | "inline-end" | "block-start" | "block-end";
47
+ export type InputGroupAddonProps = HTMLAttributes<HTMLDivElement> & {
48
+ /**
49
+ * Where the addon sits: before or after the control on its line, or as a
50
+ * row above or below it. Inline addons suit `InputGroup.Input`, block
51
+ * addons suit `InputGroup.Textarea` and labels.
52
+ * @default "inline-start"
53
+ */
54
+ align?: InputGroupAddonAlign;
55
+ ref?: Ref<HTMLDivElement>;
56
+ };
57
+ declare const InputGroupAddon: ({ align, className, ref, ...restProps }: InputGroupAddonProps) => import("react/jsx-runtime").JSX.Element;
58
+ export type InputGroupButtonProps = Omit<ButtonProps, "color" | "size"> & {
59
+ /**
60
+ * Color for the button
61
+ * @default secondary
62
+ */
63
+ color?: ButtonProps["color"];
64
+ };
65
+ declare const InputGroupButton: ({ color, variant, pill, disabled, className, ...restProps }: InputGroupButtonProps) => import("react/jsx-runtime").JSX.Element;
66
+ export type InputGroupTextProps = HTMLAttributes<HTMLSpanElement> & {
67
+ ref?: Ref<HTMLSpanElement>;
68
+ };
69
+ declare const InputGroupText: ({ className, ref, ...restProps }: InputGroupTextProps) => import("react/jsx-runtime").JSX.Element;
70
+ type InputGroupComponent = typeof InputGroupRoot & {
71
+ Input: typeof InputGroupInput;
72
+ Textarea: typeof InputGroupTextarea;
73
+ Addon: typeof InputGroupAddon;
74
+ Button: typeof InputGroupButton;
75
+ Text: typeof InputGroupText;
76
+ };
77
+ export declare const InputGroup: InputGroupComponent;
78
+ export {};
@@ -0,0 +1 @@
1
+ export { InputGroup, type InputGroupAddonAlign, type InputGroupAddonProps, type InputGroupButtonProps, type InputGroupInputProps, type InputGroupProps, type InputGroupTextareaProps, type InputGroupTextProps, } from "./InputGroup.js";
@@ -0,0 +1,20 @@
1
+ import type { ComponentProps } from "react";
2
+ export type KbdProps = ComponentProps<"kbd"> & {
3
+ /**
4
+ * Height and text size: `xs` 16px, `sm` 20px, `md` 24px
5
+ * @default sm
6
+ */
7
+ size?: "xs" | "sm" | "md";
8
+ /**
9
+ * `soft` fills the key, `outline` draws its edge. Both mix the text color,
10
+ * so the key reads on any surface.
11
+ * @default soft
12
+ */
13
+ variant?: "soft" | "outline";
14
+ };
15
+ /** A key or a shortcut, such as ⌘K, in a tooltip, a menu item or a sentence. */
16
+ export declare const Kbd: {
17
+ ({ size, variant, className, ...restProps }: KbdProps): import("react/jsx-runtime").JSX.Element;
18
+ Group: ({ className, ...restProps }: KbdGroupProps) => import("react/jsx-runtime").JSX.Element;
19
+ };
20
+ export type KbdGroupProps = ComponentProps<"span">;
@@ -0,0 +1 @@
1
+ export { Kbd, type KbdGroupProps, type KbdProps } from "./Kbd.js";
@@ -1 +1 @@
1
- export { Label, type LabelProps } from "./Label";
1
+ export { Label, type LabelProps } from "./Label.js";
@@ -1,6 +1,6 @@
1
1
  import { type ComponentProps, type FC, type ReactNode } from "react";
2
2
  import ReactMarkdown from "react-markdown";
3
- import { type MarkdownDirective } from "./directives";
3
+ import { type MarkdownDirective } from "./directives.js";
4
4
  export type MarkdownComponent = FC<{
5
5
  children?: ReactNode;
6
6
  className?: string;
@@ -1,4 +1,4 @@
1
- export { createMarkdownDirective } from "./directives";
2
- export { Markdown, type MarkdownComponent, type MarkdownProps } from "./Markdown";
3
- export { defaultUrlTransform } from "./urlTransform";
4
- export { useParseMarkdownPre } from "./useParseMarkdownPre";
1
+ export { createMarkdownDirective } from "./directives.js";
2
+ export { Markdown, type MarkdownComponent, type MarkdownProps } from "./Markdown.js";
3
+ export { defaultUrlTransform } from "./urlTransform.js";
4
+ export { useParseMarkdownPre } from "./useParseMarkdownPre.js";
@@ -1,4 +1,4 @@
1
- import { type Variants } from "../../types";
1
+ import { type Variants } from "../../types.js";
2
2
  export declare const markdownEditorStyles: {
3
3
  toolbarButton: string;
4
4
  };
@@ -32,7 +32,11 @@ export type MarkdownEditorProps = {
32
32
  rows?: number;
33
33
  className?: string;
34
34
  id?: string;
35
+ /** Accessible name for the editor; a `<label for>` cannot name a contenteditable region */
36
+ "aria-label"?: string;
37
+ /** Id of the element that names the editor, such as a Field label */
38
+ "aria-labelledby"?: string;
35
39
  "aria-describedby"?: string;
36
40
  "aria-invalid"?: boolean;
37
41
  };
38
- export declare function MarkdownEditor({ variant, disabled, invalid, placeholder, value, defaultValue, onChange, toolbarEnd, rows, className, id, "aria-describedby": ariaDescribedby, "aria-invalid": ariaInvalid, }: MarkdownEditorProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function MarkdownEditor({ variant, disabled, invalid, placeholder, value, defaultValue, onChange, toolbarEnd, rows, className, id, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "aria-invalid": ariaInvalid, }: MarkdownEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export { MarkdownEditor, markdownEditorStyles, type MarkdownEditorProps } from "./MarkdownEditor";
1
+ export { MarkdownEditor, markdownEditorStyles, type MarkdownEditorProps } from "./MarkdownEditor.js";
@@ -17,20 +17,24 @@ export type MenuProps = {
17
17
  export declare const Menu: {
18
18
  ({ children, forceOpen, onOpen, onClose, modal }: MenuProps): import("react/jsx-runtime").JSX.Element;
19
19
  Content: ({ children, side, sideOffset, align, alignOffset, width, minWidth, maxHeight, layout, size, onCloseAutoFocus, }: MenuContentProps) => import("react/jsx-runtime").JSX.Element;
20
- Item: ({ className, children, description, disabled, onSelect, onClick }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
20
+ Item: ({ className, children, description, disabled, danger, onSelect, onClick }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
21
21
  ItemActions: ({ className, children }: {
22
22
  className?: string;
23
23
  children: ReactNode;
24
24
  }) => import("react/jsx-runtime").JSX.Element;
25
- ItemAction: ({ children, onClick, }: {
25
+ ItemAction: ({ children, onClick, "aria-label": ariaLabel, }: {
26
26
  children: ReactNode;
27
27
  onClick: (evt: MouseEvent) => void;
28
+ /** Accessible name; the action is an icon-only button */
29
+ "aria-label"?: string;
28
30
  }) => import("react/jsx-runtime").JSX.Element;
29
31
  Link: MenuLink;
30
32
  Separator: ({ className }: {
31
33
  className?: string;
32
34
  }) => import("react/jsx-runtime").JSX.Element;
33
- Trigger: ({ children, disabled }: DropdownMenu.DropdownMenuTriggerProps) => import("react/jsx-runtime").JSX.Element;
35
+ Trigger: ({ children, disabled, ...restProps }: DropdownMenu.DropdownMenuTriggerProps & {
36
+ ref?: React.Ref<HTMLButtonElement>;
37
+ }) => import("react/jsx-runtime").JSX.Element;
34
38
  Sub: ({ children, forceOpen, onOpen, onClose }: SubmenuProps) => import("react/jsx-runtime").JSX.Element;
35
39
  SubTrigger: ({ className, children, disabled, }: {
36
40
  className?: string;
@@ -65,12 +69,16 @@ export type MenuItemProps = {
65
69
  onClick?: DropdownMenu.DropdownMenuItemProps["onClick"];
66
70
  /** Disables the menu item */
67
71
  disabled?: boolean;
72
+ /** Marks a destructive action (delete, remove, leave): the item is drawn in the danger color */
73
+ danger?: boolean;
68
74
  };
69
75
  type MenuLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href" | "children"> & {
70
76
  /** Content rendered inside the Link */
71
77
  children: React.ReactNode;
72
78
  /** Disables the menu item */
73
79
  disabled?: boolean;
80
+ /** Marks a destructive destination: the item is drawn in the danger color */
81
+ danger?: boolean;
74
82
  };
75
83
  type MenuLink = <T extends ComponentType<any> | "a" = PlexUI.LinkComponent>(props: Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> & MenuLinkProps & {
76
84
  /**
@@ -1 +1 @@
1
- export { Menu } from "./Menu";
1
+ export { Menu } from "./Menu.js";
@@ -1 +1 @@
1
- export { OTPInput, type OTPInputProps } from "./OTPInput";
1
+ export { OTPInput, type OTPInputProps } from "./OTPInput.js";
@@ -1,14 +1,4 @@
1
1
  import { type ComponentType, type ForwardRefExoticComponent, type ReactNode } from "react";
2
- interface DefaultConfig {
3
- LinkComponent: "a";
4
- }
5
- declare global {
6
- interface PlexUIConfig {
7
- }
8
- }
9
- type MergeOverrides<Defaults, Overrides> = Omit<Defaults, keyof Overrides> & Overrides;
10
- export type Config = MergeOverrides<DefaultConfig, PlexUIConfig>;
11
- export type LinkComponent = Config["LinkComponent"];
12
2
  /**
13
3
  * Shared context for all Plex UI components - wrap your app in this
14
4
  * provider to use Plex UI components.
@@ -20,4 +10,3 @@ export declare function PlexUIProvider({ children, linkComponent, }: {
20
10
  children: ReactNode;
21
11
  linkComponent: ComponentType<any> | ForwardRefExoticComponent<any> | "a";
22
12
  }): import("react/jsx-runtime").JSX.Element;
23
- export {};
@@ -1 +1 @@
1
- export { PlexUIProvider } from "./PlexUIProvider";
1
+ export { PlexUIProvider } from "./PlexUIProvider.js";
@@ -1,2 +1,2 @@
1
- export { Popover, type PopoverContentProps, type PopoverProps } from "./Popover";
2
- export { usePopoverController } from "./usePopoverController";
1
+ export { Popover, type PopoverContentProps, type PopoverProps } from "./Popover.js";
2
+ export { usePopoverController } from "./usePopoverController.js";
@@ -1 +1 @@
1
- export { Progress, type ProgressProps } from "./Progress";
1
+ export { Progress, type ProgressProps } from "./Progress.js";
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import type { Sizes } from "../../types";
2
+ import type { Sizes } from "../../types.js";
3
3
  type Orientation = "horizontal" | "vertical";
4
4
  type ConnectorStyle = "solid" | "dashed";
5
5
  type Variant = "default" | "minimal";
@@ -1 +1 @@
1
- export { ProgressSteps, type ProgressStepsProps, type StepProps } from "./ProgressSteps";
1
+ export { ProgressSteps, type ProgressStepsProps, type StepProps } from "./ProgressSteps.js";
@@ -20,7 +20,7 @@ export type RadioGroupProps<T extends string> = {
20
20
  };
21
21
  export declare const RadioGroup: {
22
22
  <T extends string>({ onChange, children, className, direction, disabled, ...restProps }: RadioGroupProps<T>): import("react/jsx-runtime").JSX.Element;
23
- Item: <T extends string>({ value, disabled: itemDisabled, required, children, className, block, orientation, ...restProps }: RadioGroupItemProps<T>) => import("react/jsx-runtime").JSX.Element;
23
+ Item: <T extends string>({ value, disabled: itemDisabled, required, children, description, className, block, orientation, ...restProps }: RadioGroupItemProps<T>) => import("react/jsx-runtime").JSX.Element;
24
24
  };
25
25
  export type RadioGroupItemProps<T extends string> = {
26
26
  value: T;
@@ -36,5 +36,7 @@ export type RadioGroupItemProps<T extends string> = {
36
36
  */
37
37
  orientation?: "left" | "right";
38
38
  children: React.ReactNode;
39
+ /** Optional second line below the option's label. Linked via `aria-describedby`. */
40
+ description?: React.ReactNode;
39
41
  };
40
42
  export {};
@@ -1 +1 @@
1
- export { RadioGroup, type RadioGroupItemProps, type RadioGroupProps } from "./RadioGroup";
1
+ export { RadioGroup, type RadioGroupItemProps, type RadioGroupProps } from "./RadioGroup.js";
@@ -1,2 +1,2 @@
1
- export { Tabs as SegmentedControl } from "../Tabs";
2
- export type { TabsBadgeProp as SegmentedControlBadgeProp, TabProps as SegmentedControlOptionProps, TabsProps as SegmentedControlProps, SizeVariant, } from "../Tabs";
1
+ export { Tabs as SegmentedControl } from "../Tabs/index.js";
2
+ export type { TabsBadgeProp as SegmentedControlBadgeProp, TabProps as SegmentedControlOptionProps, TabsProps as SegmentedControlProps, SizeVariant, } from "../Tabs/index.js";
@@ -1,5 +1,6 @@
1
1
  import React, { type ReactNode } from "react";
2
- import { type SelectControlProps } from "../SelectControl";
2
+ import type { ControlSize } from "../../types.js";
3
+ import { type SelectControlProps } from "../SelectControl/index.js";
3
4
  export type Option<T extends string = string> = {
4
5
  value: T;
5
6
  label: string;
@@ -204,6 +205,12 @@ export type SelectProps<T extends Option> = (SingleSelectProps<T> | MultiSelectP
204
205
  searchPlaceholder?: string;
205
206
  /** Accessible name of the search input, independent of the trigger label. */
206
207
  searchAriaLabel?: string;
208
+ /**
209
+ * Size of the search input in the menu, such as `2xl` for 44px touch
210
+ * targets on phones.
211
+ * @default md
212
+ */
213
+ searchSize?: ControlSize;
207
214
  /**
208
215
  * Message displayed when search results are empty. Can be a simple string, or custom JSX.
209
216
  */
@@ -1 +1 @@
1
- export { Select, type Option, type OptionGroup, type SelectProps } from "./Select";
1
+ export { Select, type Option, type OptionGroup, type SelectProps } from "./Select.js";
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import type { ControlSize, Variants } from "../../types";
2
+ import type { ControlSize, Variants } from "../../types.js";
3
3
  export type DropdownIconType = "chevronDown" | "dropdown" | "none";
4
4
  export type SelectControlProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "onClick"> & {
5
5
  /**
@@ -1 +1 @@
1
- export { SelectControl, type DropdownIconType, type SelectControlProps } from "./SelectControl";
1
+ export { SelectControl, type DropdownIconType, type SelectControlProps } from "./SelectControl.js";
@@ -1 +1 @@
1
- export { Separator, type SeparatorProps } from "./Separator";
1
+ export { Separator, type SeparatorProps } from "./Separator.js";
@@ -1 +1 @@
1
- export { ShimmerText, ShimmerableText } from "./ShimmerText";
1
+ export { ShimmerText, ShimmerableText } from "./ShimmerText.js";
@@ -1,6 +1,6 @@
1
1
  import { type ComponentProps, type ReactNode } from "react";
2
- import { type InputProps } from "../Input";
3
- import { SidebarProvider, useSidebar, type SidebarCollapsible, type SidebarSide, type SidebarVariant } from "./useSidebarContext";
2
+ import { type InputProps } from "../Input/index.js";
3
+ import { SidebarProvider, useSidebar, type SidebarCollapsible, type SidebarSide, type SidebarVariant } from "./useSidebarContext.js";
4
4
  export { SidebarProvider, useSidebar };
5
5
  export type { SidebarCollapsible, SidebarSide, SidebarVariant };
6
6
  export type SidebarProps = ComponentProps<"aside"> & {
@@ -26,18 +26,14 @@ export type SidebarRailProps = ComponentProps<"div">;
26
26
  export declare const SidebarRail: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
27
27
  export type SidebarGroupProps = ComponentProps<"div"> & {
28
28
  /**
29
- * Whether the group is open by default.
29
+ * Whether the group is open initially. A closed group hides its `SidebarGroupContent`.
30
30
  * @default true
31
31
  */
32
32
  defaultOpen?: boolean;
33
33
  /**
34
- * Controlled open state.
34
+ * Controlled open state. The group has no toggle of its own: change `open` from your own control.
35
35
  */
36
36
  open?: boolean;
37
- /**
38
- * Callback called when the group open state changes.
39
- */
40
- onOpenChange?: (open: boolean) => void;
41
37
  };
42
38
  export declare const SidebarGroup: import("react").ForwardRefExoticComponent<Omit<SidebarGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
43
39
  export type SidebarGroupLabelProps = ComponentProps<"span"> & {
@@ -1,4 +1,4 @@
1
- export { Sidebar, SidebarCard, SidebarCardContent, SidebarCardFooter, SidebarCardHeader, SidebarCardTitle, SidebarCardTitleLink, SidebarContent, SidebarFooter, SidebarFooterLinks, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuButtonIcon, SidebarMenuButtonLabel, SidebarMenuChevron, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarMobile, SidebarMobileFooter, SidebarMobileHeader, SidebarMobileMenuButton, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, } from "./Sidebar";
2
- export type { SidebarCardContentProps, SidebarCardFooterProps, SidebarCardHeaderProps, SidebarCardProps, SidebarCardTitleLinkProps, SidebarCardTitleProps, SidebarCollapsible, SidebarContentProps, SidebarFooterLinksProps, SidebarFooterProps, SidebarGroupActionProps, SidebarGroupContentProps, SidebarGroupLabelProps, SidebarGroupProps, SidebarHeaderProps, SidebarInputProps, SidebarInsetProps, SidebarLayoutProps, SidebarMenuActionProps, SidebarMenuBadgeProps, SidebarMenuButtonIconProps, SidebarMenuButtonLabelProps, SidebarMenuButtonProps, SidebarMenuChevronProps, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeletonProps, SidebarMenuSubButtonProps, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarMobileFooterProps, SidebarMobileHeaderProps, SidebarMobileMenuButtonProps, SidebarMobileProps, SidebarProps, SidebarRailProps, SidebarSeparatorProps, SidebarSide, SidebarTriggerProps, SidebarVariant, } from "./Sidebar";
3
- export type { SidebarContextValue, SidebarProviderProps, SidebarState } from "./useSidebarContext";
4
- export { SIDEBAR_CONSTANTS } from "./useSidebarContext";
1
+ export { Sidebar, SidebarCard, SidebarCardContent, SidebarCardFooter, SidebarCardHeader, SidebarCardTitle, SidebarCardTitleLink, SidebarContent, SidebarFooter, SidebarFooterLinks, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuButtonIcon, SidebarMenuButtonLabel, SidebarMenuChevron, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarMobile, SidebarMobileFooter, SidebarMobileHeader, SidebarMobileMenuButton, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, } from "./Sidebar.js";
2
+ export type { SidebarCardContentProps, SidebarCardFooterProps, SidebarCardHeaderProps, SidebarCardProps, SidebarCardTitleLinkProps, SidebarCardTitleProps, SidebarCollapsible, SidebarContentProps, SidebarFooterLinksProps, SidebarFooterProps, SidebarGroupActionProps, SidebarGroupContentProps, SidebarGroupLabelProps, SidebarGroupProps, SidebarHeaderProps, SidebarInputProps, SidebarInsetProps, SidebarLayoutProps, SidebarMenuActionProps, SidebarMenuBadgeProps, SidebarMenuButtonIconProps, SidebarMenuButtonLabelProps, SidebarMenuButtonProps, SidebarMenuChevronProps, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeletonProps, SidebarMenuSubButtonProps, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarMobileFooterProps, SidebarMobileHeaderProps, SidebarMobileMenuButtonProps, SidebarMobileProps, SidebarProps, SidebarRailProps, SidebarSeparatorProps, SidebarSide, SidebarTriggerProps, SidebarVariant, } from "./Sidebar.js";
3
+ export type { SidebarContextValue, SidebarProviderProps, SidebarState } from "./useSidebarContext.js";
4
+ export { SIDEBAR_CONSTANTS } from "./useSidebarContext.js";
@@ -29,6 +29,14 @@ type SliderBaseProps = {
29
29
  * Optional label for the slider, which can be a string or React node.
30
30
  */
31
31
  label?: ReactNode;
32
+ /**
33
+ * Accessible name for the slider when there is no visible `label`
34
+ */
35
+ "aria-label"?: string;
36
+ /**
37
+ * Id of an element that names the slider; takes precedence over `label`
38
+ */
39
+ "aria-labelledby"?: string;
32
40
  /**
33
41
  * List of marks to display below the slider track
34
42
  */
@@ -1,2 +1,2 @@
1
- export { Slider } from "./Slider";
2
- export type { SliderMark, SliderProps } from "./Slider";
1
+ export { Slider } from "./Slider.js";
2
+ export type { SliderMark, SliderProps } from "./Slider.js";
@@ -1 +1 @@
1
- export { StatCard, type StatCardProps } from "./StatCard";
1
+ export { StatCard, type StatCardProps } from "./StatCard.js";
@@ -1 +1 @@
1
- export { Switch, type SwitchProps } from "./Switch";
1
+ export { Switch, type SwitchProps } from "./Switch.js";
@@ -1 +1 @@
1
- export { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption, type TableProps, type TableHeaderProps, type TableBodyProps, type TableFooterProps, type TableRowProps, type TableHeadProps, type TableCellProps, type TableCaptionProps, } from "./Table";
1
+ export { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption, type TableProps, type TableHeaderProps, type TableBodyProps, type TableFooterProps, type TableRowProps, type TableHeadProps, type TableCellProps, type TableCaptionProps, } from "./Table.js";
@@ -1,4 +1,4 @@
1
- import { type ControlSize, type SemanticColors, type Sizes, type Variants } from "../../types";
1
+ import { type ControlSize, type SemanticColors, type Sizes, type Variants } from "../../types.js";
2
2
  export type SizeVariant = "2xs" | "xs" | "sm" | "md" | "lg" | "xl";
3
3
  export type TabsVariant = "segmented" | "underline";
4
4
  export type TabsOrientation = "horizontal" | "vertical";
@@ -66,11 +66,24 @@ export type TabsProps<T extends string> = {
66
66
  * @default false
67
67
  */
68
68
  "flush"?: boolean;
69
+ /**
70
+ * What happens to tabs that do not fit in one row: the strip scrolls
71
+ * sideways (`scroll`), or the tabs that do not fit move into a menu at the
72
+ * end of the strip (`menu`). The menu button shows the active tab's name
73
+ * when it is one of the hidden ones. Horizontal tabs without `block` only.
74
+ * @default "scroll"
75
+ */
76
+ "overflow"?: "scroll" | "menu";
77
+ /**
78
+ * Text of the menu button with `overflow="menu"`
79
+ * @default "More"
80
+ */
81
+ "overflowLabel"?: string;
69
82
  "className"?: string;
70
83
  "children": React.ReactNode;
71
84
  };
72
85
  export declare const Tabs: {
73
- <T extends string>({ value, onChange, children, variant, orientation, block, pill, flush, size, gutterSize, className, onClick, ...restProps }: TabsProps<T>): import("react/jsx-runtime").JSX.Element;
86
+ <T extends string>({ overflow, overflowLabel, ...props }: TabsProps<T>): import("react/jsx-runtime").JSX.Element;
74
87
  Tab: ({ children, icon, badge, ...restProps }: TabProps) => import("react/jsx-runtime").JSX.Element;
75
88
  Option: ({ children, icon, badge, ...restProps }: TabProps) => import("react/jsx-runtime").JSX.Element;
76
89
  };
@@ -1,2 +1,2 @@
1
- export { Tabs } from "./Tabs";
2
- export type { TabsBadgeProp, TabsOrientation, TabsProps, TabsVariant, TabProps, SizeVariant, } from "./Tabs";
1
+ export { Tabs } from "./Tabs.js";
2
+ export type { TabsBadgeProp, TabsOrientation, TabsProps, TabsVariant, TabProps, SizeVariant, } from "./Tabs.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Width math for `Tabs overflow="menu"`: how many tabs fit before the menu
3
+ * button. Shared by the React and Vue packages (the Vue copy must match).
4
+ */
5
+ /**
6
+ * How many tabs fit. When all of them do, the count is their number and no
7
+ * menu button is needed; otherwise room for the button is taken first.
8
+ */
9
+ export declare function fitCount(widths: number[], moreWidth: number, gap: number, available: number): number;
10
+ /**
11
+ * How many tabs stay in the strip when the hidden active tab lends its name
12
+ * to the menu button, which then grows wider than "More". Counted twice: with
13
+ * the narrow button first, and with the wide one if the active tab did not
14
+ * fit. The reserve only grows, so the second count cannot bring the active
15
+ * tab back into the strip.
16
+ */
17
+ export declare function visibleTabCount(widths: number[], moreWidth: number, activeWidth: number, activeIndex: number, gap: number, available: number): number;
@@ -1,4 +1,4 @@
1
- import type { Sizes } from "../../types";
1
+ import type { Sizes } from "../../types.js";
2
2
  export type Tag = {
3
3
  value: string;
4
4
  valid: boolean;
@@ -1 +1 @@
1
- export { TagInput, type Tag, type TagInputProps } from "./TagInput";
1
+ export { TagInput, type Tag, type TagInputProps } from "./TagInput.js";
@@ -1 +1 @@
1
- export { TextLink } from "./TextLink";
1
+ export { TextLink } from "./TextLink.js";
@@ -1,4 +1,4 @@
1
- import { type ControlSize, type Sizes, type Variants } from "../../types";
1
+ import { type ControlSize, type Sizes, type Variants } from "../../types.js";
2
2
  export type TextareaProps = {
3
3
  /**
4
4
  * Visual style of the textarea
@@ -1 +1 @@
1
- export { Textarea, type TextareaProps } from "./Textarea";
1
+ export { Textarea, type TextareaProps } from "./Textarea.js";
@@ -1,3 +1,3 @@
1
- export { Toaster, compact, type ToasterProps } from "./Toaster";
1
+ export { Toaster, compact, type ToasterProps } from "./Toaster.js";
2
2
  export { toast } from "sonner";
3
3
  export type { Action, ExternalToast, ToastT } from "sonner";
@@ -28,5 +28,10 @@ export type CopyTooltipProps = {
28
28
  * @default 5
29
29
  */
30
30
  sideOffset?: RadixTooltip.TooltipContentProps["sideOffset"];
31
+ /**
32
+ * Called once the clipboard write settles, with whether it succeeded. The
33
+ * tooltip says "Copied!" only after a successful write.
34
+ */
35
+ onCopy?: (copied: boolean) => void;
31
36
  };
32
- export declare const CopyTooltip: ({ children, copyValue, openDelay, align, alignOffset, side, sideOffset, }: CopyTooltipProps) => import("react/jsx-runtime").JSX.Element;
37
+ export declare const CopyTooltip: ({ children, copyValue, openDelay, align, alignOffset, side, sideOffset, onCopy, }: CopyTooltipProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- export { CopyTooltip, type CopyTooltipProps } from "./CopyTooltip";
2
- export { Tooltip, type TooltipProps } from "./Tooltip";
1
+ export { CopyTooltip, type CopyTooltipProps } from "./CopyTooltip.js";
2
+ export { Tooltip, type TooltipProps } from "./Tooltip.js";
@@ -1,5 +1,5 @@
1
- import { type TransitionGroupProps } from "./TransitionGroup";
2
- import { type InitialTransitionDefinition, type TransitionDefinition } from "./shared";
1
+ import { type TransitionGroupProps } from "./TransitionGroup.js";
2
+ import { type InitialTransitionDefinition, type TransitionDefinition } from "./shared.js";
3
3
  export type AnimateProps = Pick<TransitionGroupProps, "as" | "children" | "className" | "insertMethod" | "preventInitialTransition"> & {
4
4
  /** Class applied to the inner TransitionGroup */
5
5
  transitionClassName?: string;
@@ -1,5 +1,5 @@
1
- import { type TransitionGroupProps } from "./TransitionGroup";
2
- import { type InitialTransitionDefinition, type LayoutTransitionDefinition, type TransitionDefinition } from "./shared";
1
+ import { type TransitionGroupProps } from "./TransitionGroup.js";
2
+ import { type InitialTransitionDefinition, type LayoutTransitionDefinition, type TransitionDefinition } from "./shared.js";
3
3
  export type AnimateLayoutProps = Pick<TransitionGroupProps, "as" | "children" | "className" | "insertMethod" | "preventInitialTransition"> & {
4
4
  /**
5
5
  * Determines if `overflow: hidden` is applied to the wrapper element
@@ -1,5 +1,5 @@
1
- import { type TransitionGroupProps } from "./TransitionGroup";
2
- import { type InitialTransitionDefinition, type LayoutTransitionDefinition, type TransitionDefinition } from "./shared";
1
+ import { type TransitionGroupProps } from "./TransitionGroup.js";
2
+ import { type InitialTransitionDefinition, type LayoutTransitionDefinition, type TransitionDefinition } from "./shared.js";
3
3
  export type AnimateLayoutGroupProps = Pick<TransitionGroupProps, "as" | "children" | "className" | "insertMethod" | "preventInitialTransition"> & {
4
4
  /**
5
5
  * Determines if `overflow: hidden` is applied to the wrapper element
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { type TransitionGroupChildCallbacks } from "./shared";
2
+ import { type TransitionGroupChildCallbacks } from "./shared.js";
3
3
  export type SlotTransitionGroupProps = {
4
4
  /** Components controlled by SlotTransitionGroup rendering */
5
5
  children: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  import React, { type CSSProperties } from "react";
2
- import { type TransitionGroupChildCallbacks } from "./shared";
2
+ import { type TransitionGroupChildCallbacks } from "./shared.js";
3
3
  export type TransitionGroupProps = {
4
4
  /** Components controlled by TransitionGroup rendering */
5
5
  children: React.ReactNode;