@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,41 +1 @@
1
- /*
2
- * Plex UI tokens that semantic + components tiers reference via var(...).
3
- *
4
- * These live in `:root` (NOT in `@theme static`) so they don't interfere
5
- * with the consumer's Tailwind theme. With this layout:
6
- * - Plex UI components see `--radius-md`, `--font-sans`, `--font-weight-medium`
7
- * and render correctly.
8
- * - Consumer's Tailwind utilities (`rounded-md`, `rounded-full`, `text-sm`)
9
- * keep using Tailwind's own `@theme` defaults — Plex UI doesn't reset
10
- * them with `--radius-*: initial`.
11
- *
12
- * If a consumer wants the Plex scale to also drive their Tailwind utilities,
13
- * they import the standalone `@plexui/ui/styles/variables-tailwind-theme.css`
14
- * file in addition to `@plexui/ui/css` (see /docs/installation).
15
- */
16
- :root {
17
- /* Radii */
18
- --radius-2xs: 0.125rem; /* 2px */
19
- --radius-xs: 0.25rem; /* 4px */
20
- --radius-sm: 0.375rem; /* 6px */
21
- --radius-md: 0.5rem; /* 8px */
22
- --radius-lg: 0.625rem; /* 10px */
23
- --radius-xl: 0.75rem; /* 12px */
24
- --radius-2xl: 1rem; /* 16px */
25
- --radius-3xl: 1.25rem; /* 20px */
26
- --radius-4xl: 1.5rem; /* 24px */
27
- --radius-full: 9999px;
28
-
29
- /* Font stacks */
30
- --font-sans: ui-sans-serif, -apple-system, system-ui, "Segoe UI", "Noto Sans", "Helvetica",
31
- "Arial", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
32
- --font-serif: ui-serif, Georgia, "Times New Roman", serif;
33
- --font-mono: ui-monospace, "SFMono-Regular", "SF Mono", "Menlo", "Monaco", "Consolas",
34
- "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
35
-
36
- /* Font weights */
37
- --font-weight-normal: 400;
38
- --font-weight-medium: 500;
39
- --font-weight-semibold: 600;
40
- --font-weight-bold: 700;
41
- }
1
+ @import "@plexui/styles/styles/variables-tokens-root.css";
package/dist/es/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // reference is needed instead of import so consumer projects can compile properly
2
2
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
3
- /// <reference path="./global.d.ts" />
3
+ /// <reference path="./global.d.ts" preserve="true" />
4
4
  export {};
5
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,qEAAqE;AACrE,sCAAsC","sourcesContent":["// reference is needed instead of import so consumer projects can compile properly\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./global.d.ts\" />\n\nexport type Size =\n | \"5xs\"\n | \"4xs\"\n | \"3xs\"\n | \"2xs\"\n | \"xs\"\n | \"sm\"\n | \"md\"\n | \"lg\"\n | \"xl\"\n | \"2xl\"\n | \"3xl\"\n | \"4xl\"\n | \"5xl\"\n | \"6xl\"\nexport type Sizes<T extends Size = Size> = T\n\nexport type ControlSize = Sizes<\"3xs\" | \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\">\n\nexport type Radius = \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"full\"\nexport type Radii<T extends Radius = Radius> = T\n\nexport type TextColor = \"base\" | \"emphasis\" | \"secondary\" | \"tertiary\"\nexport type TextColors<T extends TextColor = TextColor> = T\n\nexport type SemanticColor =\n | \"primary\"\n | \"secondary\"\n | \"danger\"\n | \"success\"\n | \"warning\"\n | \"caution\"\n | \"discovery\"\n | \"info\"\nexport type SemanticColors<T extends SemanticColor = SemanticColor> = T\n\nexport type Variant = \"solid\" | \"soft\" | \"outline\" | \"ghost\"\nexport type Variants<T extends Variant = Variant> = T\n\nexport type Alignment = \"start\" | \"center\" | \"end\"\nexport type Alignments<T extends Alignment = Alignment> = T\n\nexport type FontWeight = \"inherit\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\"\nexport type FontWeights<T extends FontWeight = FontWeight> = T\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,qEAAqE;AACrE,sDAAsD","sourcesContent":["// reference is needed instead of import so consumer projects can compile properly\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./global.d.ts\" preserve=\"true\" />\n\n// The prop contract lives in @plexui/styles so every framework package shares it.\nexport type * from \"@plexui/styles/types\"\n"]}
@@ -1,54 +1,4 @@
1
- /**
2
- * Vite plugin for Plex UI.
3
- *
4
- * Importing `@plexui/ui/vite` and adding `plexui()` to your `plugins`
5
- * array eliminates every install-time gotcha documented in
6
- * /docs/installation:
7
- *
8
- * 1. Pins `css.transformer = 'postcss'` so Lightning CSS doesn't
9
- * reorder cascade layers strict-by-first-occurrence.
10
- * 2. Pins `build.cssMinify = 'esbuild'` so Vite 8's Lightning CSS
11
- * minifier doesn't strip the bare `@layer` declaration.
12
- * 3. Injects `<style>@layer theme, base, components, utilities;</style>`
13
- * into <head> as a runtime failsafe — the browser sees the layer
14
- * order before any stylesheet rule arrives, regardless of how the
15
- * bundler shuffles things.
16
- *
17
- * Usage:
18
- *
19
- * // vite.config.ts
20
- * import { defineConfig } from 'vite';
21
- * import plexui from '@plexui/ui/vite';
22
- *
23
- * export default defineConfig({
24
- * plugins: [plexui()],
25
- * });
26
- *
27
- * That replaces the manual `@layer …;` declaration in main.css and the
28
- * manual `css.transformer` / `build.cssMinify` overrides. Your global
29
- * stylesheet still needs `@import "@plexui/ui/css"` and `@source` —
30
- * those wire the runtime tokens and Tailwind class-extraction, which a
31
- * Vite plugin can't do for you.
32
- */
33
- const LAYER_DECLARATION = "<style>@layer theme, base, components, utilities;</style>";
34
- export default function plexui(options = {}) {
35
- const { injectLayerOrder = true } = options;
36
- return {
37
- name: "@plexui/ui",
38
- enforce: "pre",
39
- config() {
40
- return {
41
- css: { transformer: "postcss" },
42
- build: { cssMinify: "esbuild" },
43
- };
44
- },
45
- transformIndexHtml(html) {
46
- if (!injectLayerOrder)
47
- return html;
48
- // Place the layer declaration right after <head> so it lands
49
- // before any bundler-injected <link rel="stylesheet">.
50
- return html.replace(/(<head[^>]*>)/i, `$1\n ${LAYER_DECLARATION}`);
51
- },
52
- };
53
- }
1
+ // The plugin is framework-agnostic and lives in @plexui/styles. This keeps
2
+ // `@plexui/ui/vite` working for existing installs.
3
+ export { default } from "@plexui/styles/vite";
54
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAkBH,MAAM,iBAAiB,GACrB,2DAA2D,CAAA;AAW7D,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,UAA+B,EAAE;IAC9D,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAE3C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,KAAK;QACd,MAAM;YACJ,OAAO;gBACL,GAAG,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBAC/B,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;aAChC,CAAA;QACH,CAAC;QACD,kBAAkB,CAAC,IAAI;YACrB,IAAI,CAAC,gBAAgB;gBAAE,OAAO,IAAI,CAAA;YAClC,6DAA6D;YAC7D,uDAAuD;YACvD,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,EAChB,WAAW,iBAAiB,EAAE,CAC/B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC","sourcesContent":["/**\n * Vite plugin for Plex UI.\n *\n * Importing `@plexui/ui/vite` and adding `plexui()` to your `plugins`\n * array eliminates every install-time gotcha documented in\n * /docs/installation:\n *\n * 1. Pins `css.transformer = 'postcss'` so Lightning CSS doesn't\n * reorder cascade layers strict-by-first-occurrence.\n * 2. Pins `build.cssMinify = 'esbuild'` so Vite 8's Lightning CSS\n * minifier doesn't strip the bare `@layer` declaration.\n * 3. Injects `<style>@layer theme, base, components, utilities;</style>`\n * into <head> as a runtime failsafe — the browser sees the layer\n * order before any stylesheet rule arrives, regardless of how the\n * bundler shuffles things.\n *\n * Usage:\n *\n * // vite.config.ts\n * import { defineConfig } from 'vite';\n * import plexui from '@plexui/ui/vite';\n *\n * export default defineConfig({\n * plugins: [plexui()],\n * });\n *\n * That replaces the manual `@layer …;` declaration in main.css and the\n * manual `css.transformer` / `build.cssMinify` overrides. Your global\n * stylesheet still needs `@import \"@plexui/ui/css\"` and `@source` —\n * those wire the runtime tokens and Tailwind class-extraction, which a\n * Vite plugin can't do for you.\n */\n\n// We deliberately do NOT import from \"vite\". Keeping vite out of the\n// build keeps it out of the runtime dependency graph entirely (the\n// plugin file is a few dozen lines and only describes the shape vite\n// expects). Consumers get full type-safety by declaring their config\n// `defineConfig({ plugins: [plexui()] })` — vite's own types cover the\n// `Plugin[]` slot, so our return value is just shaped to match it.\ntype ViteLikePlugin = {\n name: string\n enforce?: \"pre\" | \"post\"\n config?: () => {\n css?: { transformer?: \"postcss\" | \"lightningcss\" }\n build?: { cssMinify?: boolean | \"esbuild\" | \"lightningcss\" }\n }\n transformIndexHtml?: (html: string) => string\n}\n\nconst LAYER_DECLARATION =\n \"<style>@layer theme, base, components, utilities;</style>\"\n\nexport type PlexUIPluginOptions = {\n /**\n * Inject the cascade-layer `<style>` tag into <head> as a runtime\n * failsafe. Defaults to `true`. Disable only if you've already added\n * the equivalent `<style>` tag to your `index.html` by hand.\n */\n injectLayerOrder?: boolean\n}\n\nexport default function plexui(options: PlexUIPluginOptions = {}): ViteLikePlugin {\n const { injectLayerOrder = true } = options\n\n return {\n name: \"@plexui/ui\",\n enforce: \"pre\",\n config() {\n return {\n css: { transformer: \"postcss\" },\n build: { cssMinify: \"esbuild\" },\n }\n },\n transformIndexHtml(html) {\n if (!injectLayerOrder) return html\n // Place the layer declaration right after <head> so it lands\n // before any bundler-injected <link rel=\"stylesheet\">.\n return html.replace(\n /(<head[^>]*>)/i,\n `$1\\n ${LAYER_DECLARATION}`,\n )\n },\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mDAAmD;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA","sourcesContent":["// The plugin is framework-agnostic and lives in @plexui/styles. This keeps\n// `@plexui/ui/vite` working for existing installs.\nexport { default } from \"@plexui/styles/vite\"\nexport type { PlexUIPluginOptions } from \"@plexui/styles/vite\"\n"]}
@@ -1 +1 @@
1
- export { Accordion, type AccordionProps, type AccordionItemProps, type AccordionTriggerProps, type AccordionContentProps, } from "./Accordion";
1
+ export { Accordion, type AccordionProps, type AccordionItemProps, type AccordionTriggerProps, type AccordionContentProps, } from "./Accordion.js";
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode, type Ref } from "react";
2
- import { type SemanticColors, type Variants } from "../../types";
2
+ import { type SemanticColors, type Variants } from "../../types.js";
3
3
  export type AlertProps = {
4
4
  /**
5
5
  * Color for the button
@@ -27,10 +27,16 @@ export type AlertProps = {
27
27
  actionsClassName?: string;
28
28
  /** Callback when dismiss button is clicked. Shows dismiss button when provided. */
29
29
  onDismiss?: () => void;
30
+ /**
31
+ * A full-width strip across the top or bottom of a page or panel (offline,
32
+ * read-only, a new version): square corners and lines above and below only.
33
+ * @default false
34
+ */
35
+ banner?: boolean;
30
36
  /** Ref applied to the alert container */
31
37
  ref?: Ref<HTMLDivElement>;
32
38
  };
33
- export declare const Alert: ({ color, variant, title, description, actions, actionsPlacement, indicator, className, actionsClassName, onDismiss, ref, ...restProps }: AlertProps) => import("react/jsx-runtime").JSX.Element;
39
+ export declare const Alert: ({ color, variant, title, description, actions, actionsPlacement, indicator, className, actionsClassName, onDismiss, banner, ref, ...restProps }: AlertProps) => import("react/jsx-runtime").JSX.Element;
34
40
  export declare const Indicator: ({ color }: {
35
41
  color: AlertProps["color"];
36
42
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export { Alert, type AlertProps } from "./Alert";
1
+ export { Alert, type AlertProps } from "./Alert.js";
@@ -1,4 +1,4 @@
1
- import { type SemanticColors, type Variants } from "../../types";
1
+ import { type SemanticColors, type Variants } from "../../types.js";
2
2
  export type AvatarProps = {
3
3
  /** Class name applied to the avatar */
4
4
  className?: string;
@@ -1,2 +1,2 @@
1
- export { Avatar, type AvatarProps } from "./Avatar";
2
- export { AvatarGroup, type AvatarGroupProps } from "./AvatarGroup";
1
+ export { Avatar, type AvatarProps } from "./Avatar.js";
2
+ export { AvatarGroup, type AvatarGroupProps } from "./AvatarGroup.js";
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import { type SemanticColors, type Sizes, type Variants } from "../../types";
2
+ import { type SemanticColors, type Sizes, type Variants } from "../../types.js";
3
3
  export type BadgeProps = {
4
4
  /** Content rendered inside the badge */
5
5
  children: ReactNode;
@@ -0,0 +1,34 @@
1
+ import { type ComponentProps, type ReactNode } from "react";
2
+ export type BreadcrumbProps = Omit<ComponentProps<"nav">, "children"> & {
3
+ children: ReactNode;
4
+ /**
5
+ * Text size: `sm` for a trail above a compact header, `md` above a page title
6
+ * @default md
7
+ */
8
+ size?: "sm" | "md";
9
+ /**
10
+ * What stands between two items
11
+ * @default a small chevron
12
+ */
13
+ separator?: ReactNode;
14
+ };
15
+ /**
16
+ * The trail of pages that leads to the current one. Each `Breadcrumb.Item`
17
+ * is a link, a button (`onClick`) or the current page (`current`).
18
+ */
19
+ export declare const Breadcrumb: {
20
+ ({ children, size, separator, className, "aria-label": ariaLabel, ...restProps }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
21
+ Item: ({ children, href, to, current, onClick, className }: BreadcrumbItemProps) => import("react/jsx-runtime").JSX.Element;
22
+ };
23
+ export type BreadcrumbItemProps = {
24
+ children: ReactNode;
25
+ /** Link destination. Internal paths use the `linkComponent` of `PlexUIProvider` */
26
+ href?: string;
27
+ /** Router link destination, for link components that take `to` */
28
+ to?: string;
29
+ /** The current page: not a link, marked `aria-current="page"` */
30
+ current?: boolean;
31
+ /** Makes an item without a destination act as a button */
32
+ onClick?: (event: React.MouseEvent<HTMLElement>) => void;
33
+ className?: string;
34
+ };
@@ -0,0 +1 @@
1
+ export { Breadcrumb, type BreadcrumbItemProps, type BreadcrumbProps } from "./Breadcrumb.js";
@@ -1,11 +1,11 @@
1
1
  import { type ButtonHTMLAttributes, type ComponentProps, type ComponentType, type ReactNode } from "react";
2
- import { type ControlSize, type SemanticColors, type Sizes, type Variants } from "../../types";
2
+ import { type ControlSize, type SemanticColors, type Sizes, type Variants } from "../../types.js";
3
3
  type CommonProps = {
4
4
  /**
5
5
  * Color for the button
6
- * @default secondary
6
+ * @default primary
7
7
  */
8
- color: SemanticColors<"primary" | "secondary" | "danger" | "success" | "info" | "discovery" | "caution" | "warning">;
8
+ color?: SemanticColors<"primary" | "secondary" | "danger" | "success" | "info" | "discovery" | "caution" | "warning">;
9
9
  /**
10
10
  * Style variant for the Button
11
11
  * @default "solid"
@@ -1,9 +1,14 @@
1
- import { type ClipboardContent } from "../../lib/copyToClipboard";
2
- import { type ButtonProps } from "./Button";
1
+ import { type ClipboardContent } from "../../lib/copyToClipboard.js";
2
+ import { type ButtonProps } from "./Button.js";
3
3
  export type CopyButtonProps = {
4
4
  copyValue: string | ClipboardContent | (() => string) | (() => ClipboardContent);
5
5
  children?: React.ReactNode | ((props: {
6
6
  copied: boolean;
7
7
  }) => React.ReactNode);
8
- } & Omit<ButtonProps, "children">;
9
- export declare const CopyButton: ({ children, copyValue, onClick, ...restProps }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ /**
9
+ * Called once the clipboard write settles, with whether it succeeded. The
10
+ * button shows the copied state only after a successful write.
11
+ */
12
+ onCopy?: (copied: boolean) => void;
13
+ } & Omit<ButtonProps, "children" | "onCopy">;
14
+ export declare const CopyButton: ({ children, copyValue, onClick, onCopy, ...restProps }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- export { Button, ButtonLink, type ButtonProps } from "./Button";
2
- export { CopyButton, type CopyButtonProps } from "./CopyButton";
1
+ export { Button, ButtonLink, type ButtonProps } from "./Button.js";
2
+ export { CopyButton, type CopyButtonProps } from "./CopyButton.js";
@@ -1,5 +1,5 @@
1
1
  import { type ComponentProps, type HTMLAttributes, type Ref } from "react";
2
- import { Separator } from "../Separator";
2
+ import { Separator } from "../Separator/index.js";
3
3
  export type ButtonGroupOrientation = "horizontal" | "vertical";
4
4
  export type ButtonGroupProps = HTMLAttributes<HTMLDivElement> & {
5
5
  /**
@@ -13,8 +13,9 @@ export type ButtonGroupProps = HTMLAttributes<HTMLDivElement> & {
13
13
  declare const ButtonGroupRoot: ({ orientation, className, ref, ...restProps }: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
14
14
  export type ButtonGroupSeparatorProps = Omit<ComponentProps<typeof Separator>, "orientation"> & {
15
15
  /**
16
- * When omitted, flips to match the surrounding ButtonGroup axis.
17
- * Pass explicitly to override (rare).
16
+ * When omitted, uses `"vertical"`, the axis that looks right between
17
+ * horizontal items. Pass explicitly inside a vertical group.
18
+ * @default "vertical"
18
19
  */
19
20
  orientation?: ButtonGroupOrientation;
20
21
  };
@@ -1 +1 @@
1
- export { ButtonGroup, type ButtonGroupProps, type ButtonGroupOrientation, type ButtonGroupSeparatorProps, } from "./ButtonGroup";
1
+ export { ButtonGroup, type ButtonGroupProps, type ButtonGroupOrientation, type ButtonGroupSeparatorProps, } from "./ButtonGroup.js";
@@ -1 +1 @@
1
- export { Card, type CardProps, type CardSlotProps, type CardVariant, type CardSize, } from "./Card";
1
+ export { Card, type CardProps, type CardSlotProps, type CardVariant, type CardSize, } from "./Card.js";
@@ -8,6 +8,8 @@ export type CheckboxProps = {
8
8
  checked?: boolean | "indeterminate";
9
9
  /** Optional accessible label rendered to the right of the checkbox. */
10
10
  label?: ReactNode;
11
+ /** Optional second line below the label. Linked via `aria-describedby`. */
12
+ description?: ReactNode;
11
13
  /** Event handler called when the state of the checkbox changes. */
12
14
  onCheckedChange?: (nextState: boolean) => void;
13
15
  /** Event handler called when the checkbox looses focus. */
@@ -43,4 +45,4 @@ export type CheckboxProps = {
43
45
  */
44
46
  variant?: "solid" | "ghost";
45
47
  };
46
- export declare const Checkbox: ({ className, label, id: propsId, disabled, orientation, pill, variant, ...restProps }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
48
+ export declare const Checkbox: ({ className, label, description, id: propsId, disabled, orientation, pill, variant, ...restProps }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export { Checkbox, type CheckboxProps } from "./Checkbox";
1
+ export { Checkbox, type CheckboxProps } from "./Checkbox.js";
@@ -1,2 +1,2 @@
1
- export { CodeBlock, CodeBlockBase } from "./CodeBlock";
2
- export { CollapsibleCodeBlock, type CollapsibleCodeBlockProps } from "./CollapsibleCodeBlock";
1
+ export { CodeBlock, CodeBlockBase } from "./CodeBlock.js";
2
+ export { CollapsibleCodeBlock, type CollapsibleCodeBlockProps } from "./CollapsibleCodeBlock.js";
@@ -1,5 +1,5 @@
1
1
  import { type ColumnDef, type RowData, type RowSelectionState, type SortingState, type VisibilityState } from "@tanstack/react-table";
2
- declare module "@tanstack/react-table" {
2
+ declare module "@tanstack/table-core" {
3
3
  interface ColumnMeta<TData extends RowData, TValue> {
4
4
  align?: "left" | "center" | "right";
5
5
  }
@@ -32,7 +32,8 @@ export type DataTableProps<TData> = {
32
32
  columnVisibility?: VisibilityState;
33
33
  /** Callback when column visibility changes */
34
34
  onColumnVisibilityChange?: (visibility: VisibilityState) => void;
35
- /** Enable row selection checkboxes
35
+ /** Enable row selection: adds a first column with a checkbox per row and a
36
+ * header checkbox that selects every row
36
37
  * @default false
37
38
  */
38
39
  enableRowSelection?: boolean;
@@ -1,5 +1,5 @@
1
- export { DataTable, type DataTableProps } from "./DataTable";
2
- export { DataTablePagination, type DataTablePaginationProps } from "./DataTablePagination";
3
- export { DataTableColumnHeader, type DataTableColumnHeaderProps } from "./DataTableColumnHeader";
1
+ export { DataTable, type DataTableProps } from "./DataTable.js";
2
+ export { DataTablePagination, type DataTablePaginationProps } from "./DataTablePagination.js";
3
+ export { DataTableColumnHeader, type DataTableColumnHeaderProps } from "./DataTableColumnHeader.js";
4
4
  export type { ColumnDef, RowSelectionState, SortingState, VisibilityState, } from "@tanstack/react-table";
5
- export { idCell, dateTimeCell, statusCell, tooltipHeader } from "./columnHelpers";
5
+ export { idCell, dateTimeCell, statusCell, tooltipHeader } from "./columnHelpers.js";
@@ -1,6 +1,6 @@
1
1
  import { type MaskitoDateMode, type MaskitoTimeMode } from "@maskito/kit";
2
2
  import { DateTime } from "luxon";
3
- import { type InputProps } from "../Input";
3
+ import { type InputProps } from "../Input/index.js";
4
4
  export type DateInputProps = {
5
5
  value: DateTime | null;
6
6
  onChange: (value: DateTime | null) => void;
@@ -1 +1 @@
1
- export { DateInput, type DateInputProps } from "./DateInput";
1
+ export { DateInput, type DateInputProps } from "./DateInput.js";
@@ -1,11 +1,11 @@
1
1
  import { DateTime } from "luxon";
2
- import { type PopoverContentProps } from "../Popover";
3
- import { type SelectControlProps } from "../SelectControl";
2
+ import { type PopoverContentProps } from "../Popover/index.js";
3
+ import { type SelectControlProps } from "../SelectControl/index.js";
4
4
  export type DatePickerProps = Pick<SelectControlProps, "aria-label" | "aria-labelledby" | "aria-describedby" | "aria-invalid"> & {
5
5
  /**
6
6
  * Allow targeting the input for forms and accessibility.
7
7
  */
8
- id: string;
8
+ id?: string;
9
9
  /**
10
10
  * The selected date value.
11
11
  */
@@ -59,7 +59,7 @@ export type DatePickerProps = Pick<SelectControlProps, "aria-label" | "aria-labe
59
59
  variant?: SelectControlProps["variant"];
60
60
  /**
61
61
  * Determines if the select trigger should be a fully rounded pill shape
62
- * @default false
62
+ * @default true
63
63
  */
64
64
  pill?: boolean;
65
65
  /**
@@ -87,8 +87,9 @@ export type DatePickerProps = Pick<SelectControlProps, "aria-label" | "aria-labe
87
87
  triggerShowIcon?: boolean;
88
88
  /**
89
89
  * Format of dates displayed in the trigger
90
+ * @default "MM/dd/yy", or "MM/dd/yy HH:mm" with showTime
90
91
  */
91
- triggerDateFormat: string;
92
+ triggerDateFormat?: string;
92
93
  /**
93
94
  * Display a clear action that allows the select to be unset.
94
95
  * @default false
@@ -96,7 +97,7 @@ export type DatePickerProps = Pick<SelectControlProps, "aria-label" | "aria-labe
96
97
  clearable?: boolean;
97
98
  /**
98
99
  * Extends select to 100% of available width.
99
- * @default true
100
+ * @default false
100
101
  */
101
102
  block?: boolean;
102
103
  /**
@@ -1,5 +1,5 @@
1
1
  import { DateTime } from "luxon";
2
- import type { SelectControlProps } from "../SelectControl";
2
+ import type { SelectControlProps } from "../SelectControl/index.js";
3
3
  export type DateContextValue = {
4
4
  value: DateTime | null;
5
5
  min?: DateTime;
@@ -1,2 +1,2 @@
1
- export { DatePicker } from "./DatePicker";
2
- export type { DatePickerProps } from "./DatePicker";
1
+ export { DatePicker } from "./DatePicker.js";
2
+ export type { DatePickerProps } from "./DatePicker.js";
@@ -1,4 +1,4 @@
1
- import { type DateRangeShortcut } from "./types";
1
+ import { type DateRangeShortcut } from "./types.js";
2
2
  export declare const DateRangeCalendar: () => import("react/jsx-runtime").JSX.Element;
3
3
  export declare const DateRangeShortcuts: ({ shortcuts }: {
4
4
  shortcuts?: DateRangeShortcut[];
@@ -1,7 +1,7 @@
1
1
  import { DateTime } from "luxon";
2
- import { type PopoverContentProps } from "../Popover";
3
- import type { SelectControlProps } from "../SelectControl";
4
- import { type DateRange, type DateRangeShortcut } from "./types";
2
+ import { type PopoverContentProps } from "../Popover/index.js";
3
+ import type { SelectControlProps } from "../SelectControl/index.js";
4
+ import { type DateRange, type DateRangeShortcut } from "./types.js";
5
5
  export type DateRangePickerProps = {
6
6
  /**
7
7
  * The selected date range value.
@@ -65,7 +65,7 @@ export type DateRangePickerProps = {
65
65
  variant?: SelectControlProps["variant"];
66
66
  /**
67
67
  * Determines if the select trigger should be a fully rounded pill shape
68
- * @default false
68
+ * @default true
69
69
  */
70
70
  pill?: boolean;
71
71
  /**
@@ -108,7 +108,7 @@ export type DateRangePickerProps = {
108
108
  clearable?: boolean;
109
109
  /**
110
110
  * Extends select to 100% of available width.
111
- * @default true
111
+ * @default false
112
112
  */
113
113
  block?: boolean;
114
114
  };
@@ -1,6 +1,6 @@
1
1
  import { DateTime } from "luxon";
2
- import type { SelectControlProps } from "../SelectControl";
3
- import type { DateRange, DateRangeShortcut } from "./types";
2
+ import type { SelectControlProps } from "../SelectControl/index.js";
3
+ import type { DateRange, DateRangeShortcut } from "./types.js";
4
4
  export type DateRangeContextValue = {
5
5
  value: DateRange | null;
6
6
  min?: DateTime;
@@ -1,2 +1,2 @@
1
- export { DateRangePicker, type DateRangePickerProps } from "./DateRangePicker";
2
- export { type DateRange, type DateRangeShortcut } from "./types";
1
+ export { DateRangePicker, type DateRangePickerProps } from "./DateRangePicker.js";
2
+ export { type DateRange, type DateRangeShortcut } from "./types.js";
@@ -9,8 +9,9 @@ export declare const Dialog: {
9
9
  Trigger: ({ children }: {
10
10
  children: ReactNode;
11
11
  }) => import("react/jsx-runtime").JSX.Element;
12
- Content: ({ children, width, showClose, className }: DialogContentProps) => import("react/jsx-runtime").JSX.Element;
12
+ Content: ({ children, width, showClose, className, placement, mobilePlacement, onOpenAutoFocus, onCloseAutoFocus, }: DialogContentProps) => import("react/jsx-runtime").JSX.Element;
13
13
  Header: ({ children, className }: DialogSlotProps) => import("react/jsx-runtime").JSX.Element;
14
+ Body: ({ children, className }: DialogSlotProps) => import("react/jsx-runtime").JSX.Element;
14
15
  Footer: ({ children, className }: DialogSlotProps) => import("react/jsx-runtime").JSX.Element;
15
16
  Title: ({ children, className }: DialogSlotProps) => import("react/jsx-runtime").JSX.Element;
16
17
  Description: ({ children, className }: DialogSlotProps) => import("react/jsx-runtime").JSX.Element;
@@ -18,11 +19,28 @@ export declare const Dialog: {
18
19
  children: ReactNode;
19
20
  }) => import("react/jsx-runtime").JSX.Element;
20
21
  };
22
+ export type DialogPlacement = "center" | "top" | "bottom" | "start" | "end" | "fullscreen";
21
23
  export type DialogContentProps = {
22
24
  children: ReactNode;
23
25
  width?: number | string;
24
26
  showClose?: boolean;
25
27
  className?: string;
28
+ /**
29
+ * Where the panel sits: centered, near the top (search, command lists),
30
+ * a sheet along the bottom, a full-height panel on the start or end side,
31
+ * or the whole screen.
32
+ * @default center
33
+ */
34
+ placement?: DialogPlacement;
35
+ /** Placement at 640px and below, such as a bottom sheet on phones. @default placement */
36
+ mobilePlacement?: Extract<DialogPlacement, "center" | "bottom" | "fullscreen">;
37
+ /**
38
+ * Called when focus moves into the dialog on open. Call
39
+ * `event.preventDefault()` to focus something else yourself.
40
+ */
41
+ onOpenAutoFocus?: (event: Event) => void;
42
+ /** Called when focus returns on close. Call `event.preventDefault()` to keep it elsewhere. */
43
+ onCloseAutoFocus?: (event: Event) => void;
26
44
  };
27
45
  type DialogSlotProps = {
28
46
  children: ReactNode;
@@ -1 +1 @@
1
- export { Dialog, type DialogContentProps, type DialogProps } from "./Dialog";
1
+ export { Dialog, type DialogContentProps, type DialogPlacement, type DialogProps } from "./Dialog.js";
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import { type SemanticColors, type Sizes } from "../../types";
2
+ import { type SemanticColors, type Sizes } from "../../types.js";
3
3
  export type EmptyMessageProps = {
4
4
  children: ReactNode;
5
5
  className?: string;
@@ -8,9 +8,21 @@ export type EmptyMessageProps = {
8
8
  * @default static
9
9
  */
10
10
  fill?: "static" | "absolute" | "none";
11
+ /**
12
+ * `sm` is the compact message for a panel, a card section or a list with
13
+ * nothing in it: smaller title, tighter spacing, no minimum width.
14
+ * @default md
15
+ */
16
+ size?: Sizes<"sm" | "md">;
17
+ /**
18
+ * `start` left-aligns the message, for an empty state that sits under a
19
+ * section heading instead of filling a surface.
20
+ * @default center
21
+ */
22
+ align?: "center" | "start";
11
23
  };
12
24
  export declare const EmptyMessage: {
13
- ({ children, className, fill }: EmptyMessageProps): import("react/jsx-runtime").JSX.Element;
25
+ ({ children, className, fill, size, align }: EmptyMessageProps): import("react/jsx-runtime").JSX.Element;
14
26
  Icon: ({ size, color, children, className }: EmptyMessageIconProps) => import("react/jsx-runtime").JSX.Element;
15
27
  Title: ({ children, className, color }: EmptyMessageTitleProps) => import("react/jsx-runtime").JSX.Element;
16
28
  Description: ({ children, className }: {
@@ -24,7 +36,7 @@ export declare const EmptyMessage: {
24
36
  };
25
37
  export type EmptyMessageIconProps = {
26
38
  /**
27
- * @default sm
39
+ * @default md
28
40
  */
29
41
  size?: Sizes<"sm" | "md">;
30
42
  /**
@@ -1 +1 @@
1
- export { EmptyMessage, type EmptyMessageIconProps, type EmptyMessageProps } from "./EmptyMessage";
1
+ export { EmptyMessage, type EmptyMessageIconProps, type EmptyMessageProps } from "./EmptyMessage.js";
@@ -1,6 +1,8 @@
1
- import type { ControlSize } from "../../types";
1
+ import type { ControlSize } from "../../types.js";
2
2
  export type FieldChildProps = {
3
3
  id: string;
4
+ /** The label's id. Spread onto a control that the label's `for` cannot name, such as a Select trigger. */
5
+ "aria-labelledby"?: string;
4
6
  "aria-describedby"?: string;
5
7
  "aria-invalid"?: boolean;
6
8
  opticallyAlign?: "start" | "end";
@@ -21,10 +23,15 @@ export type FieldProps = {
21
23
  * Uses the existing FieldError component internally.
22
24
  */
23
25
  errorMessage?: React.ReactNode;
26
+ /**
27
+ * Content placed at the end of the label row, such as a link that acts on
28
+ * the field ("Forgot password?", "Replace").
29
+ */
30
+ labelAction?: React.ReactNode;
24
31
  /**
25
32
  * Controls the font size of the label to visually match the child control's size.
26
33
  * Matches the ControlSize scale used by Input, Select, etc.
27
- * @default "md"
34
+ * @default the child control's `size`, else "md"
28
35
  */
29
36
  size?: ControlSize;
30
37
  /**
@@ -58,8 +65,11 @@ export type FieldProps = {
58
65
  /**
59
66
  * The form control(s) to render.
60
67
  * - If a single ReactElement, Field clones it with { id, aria-describedby, aria-invalid }.
61
- * - If a function (render prop), it is called with { id, "aria-describedby", "aria-invalid" }.
68
+ * A child without its own `aria-label`, `aria-labelledby` or `label` also gets
69
+ * `aria-labelledby` pointing at the label, which names controls the label's
70
+ * `for` cannot reach, such as the Select and DatePicker triggers.
71
+ * - If a function (render prop), it is called with { id, "aria-labelledby", "aria-describedby", "aria-invalid" }.
62
72
  */
63
73
  children: React.ReactElement | ((fieldProps: FieldChildProps) => React.ReactNode);
64
74
  };
65
- export declare function Field({ label, description, errorMessage, size, required, orientation, opticallyAlign, id: idProp, className, children, }: FieldProps): import("react/jsx-runtime").JSX.Element;
75
+ export declare function Field({ label, description, errorMessage, labelAction, size: sizeProp, required, orientation, opticallyAlign, id: idProp, className, children, }: FieldProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- export { Field, type FieldProps, type FieldChildProps } from "./Field";
1
+ export { Field, type FieldProps, type FieldChildProps } from "./Field.js";