@marktiderman/genesis-ui 1.2.0 → 2.0.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 (295) hide show
  1. package/dist/AppShell-BJarYZzz.d.ts +198 -0
  2. package/dist/{chunk-NJMO3VPA.js → chunk-22XB3Q6H.js} +8 -8
  3. package/dist/chunk-22XB3Q6H.js.map +1 -0
  4. package/dist/{chunk-2MXMWBDV.js → chunk-27ELYTGE.js} +6 -6
  5. package/dist/chunk-27ELYTGE.js.map +1 -0
  6. package/dist/chunk-46TZGMFW.js +159 -0
  7. package/dist/chunk-46TZGMFW.js.map +1 -0
  8. package/dist/chunk-4CQHPWJD.js +117 -0
  9. package/dist/chunk-4CQHPWJD.js.map +1 -0
  10. package/dist/{chunk-ZDAT5JDH.js → chunk-65SPT7EA.js} +24 -6
  11. package/dist/chunk-65SPT7EA.js.map +1 -0
  12. package/dist/chunk-6KHY647C.js +67 -0
  13. package/dist/chunk-6KHY647C.js.map +1 -0
  14. package/dist/chunk-6M4NHHKG.js +51 -0
  15. package/dist/chunk-6M4NHHKG.js.map +1 -0
  16. package/dist/{chunk-AI6CCNWK.js → chunk-6NPEMLBA.js} +2 -2
  17. package/dist/chunk-6NPEMLBA.js.map +1 -0
  18. package/dist/chunk-6Q6CLLJ4.js +9 -0
  19. package/dist/chunk-6Q6CLLJ4.js.map +1 -0
  20. package/dist/{chunk-UGHQFQOE.js → chunk-6TVMQH6M.js} +28 -28
  21. package/dist/chunk-6TVMQH6M.js.map +1 -0
  22. package/dist/{chunk-UKSBLFEK.js → chunk-6XPMU65K.js} +5 -5
  23. package/dist/{chunk-UKSBLFEK.js.map → chunk-6XPMU65K.js.map} +1 -1
  24. package/dist/{chunk-YZEA5TGK.js → chunk-7XMZVISM.js} +16 -16
  25. package/dist/chunk-7XMZVISM.js.map +1 -0
  26. package/dist/chunk-A7AHVDG7.js +52 -0
  27. package/dist/chunk-A7AHVDG7.js.map +1 -0
  28. package/dist/chunk-AFZ76Q26.js +84 -0
  29. package/dist/chunk-AFZ76Q26.js.map +1 -0
  30. package/dist/{chunk-4V4H2ZM7.js → chunk-AL5TMEZQ.js} +31 -31
  31. package/dist/chunk-AL5TMEZQ.js.map +1 -0
  32. package/dist/{chunk-O4B5ALO7.js → chunk-AOZGQM6W.js} +3 -3
  33. package/dist/chunk-AOZGQM6W.js.map +1 -0
  34. package/dist/chunk-ARJI2JUV.js +122 -0
  35. package/dist/chunk-ARJI2JUV.js.map +1 -0
  36. package/dist/chunk-AVFZ4P4B.js +25 -0
  37. package/dist/chunk-AVFZ4P4B.js.map +1 -0
  38. package/dist/chunk-B2GIBUQD.js +11 -0
  39. package/dist/chunk-B2GIBUQD.js.map +1 -0
  40. package/dist/{chunk-JXI2MYL3.js → chunk-C46ITXE4.js} +5 -5
  41. package/dist/chunk-C46ITXE4.js.map +1 -0
  42. package/dist/chunk-CNTWQSUT.js +65 -0
  43. package/dist/chunk-CNTWQSUT.js.map +1 -0
  44. package/dist/chunk-D2LIXA2Y.js +65 -0
  45. package/dist/chunk-D2LIXA2Y.js.map +1 -0
  46. package/dist/{chunk-FCGFG4RV.js → chunk-D4JTQYP5.js} +3 -3
  47. package/dist/{chunk-FCGFG4RV.js.map → chunk-D4JTQYP5.js.map} +1 -1
  48. package/dist/{chunk-T5VX5DYO.js → chunk-F47U5KNW.js} +5 -5
  49. package/dist/chunk-F47U5KNW.js.map +1 -0
  50. package/dist/chunk-FEJAZFP3.js +1100 -0
  51. package/dist/chunk-FEJAZFP3.js.map +1 -0
  52. package/dist/{chunk-2B3MFHBQ.js → chunk-FK42ZGGV.js} +21 -21
  53. package/dist/chunk-FK42ZGGV.js.map +1 -0
  54. package/dist/{chunk-XISSLIMH.js → chunk-FTTNGGLA.js} +2 -2
  55. package/dist/{chunk-XISSLIMH.js.map → chunk-FTTNGGLA.js.map} +1 -1
  56. package/dist/chunk-G5YKBPBF.js +74 -0
  57. package/dist/chunk-G5YKBPBF.js.map +1 -0
  58. package/dist/chunk-GCQFVMPI.js +56 -0
  59. package/dist/chunk-GCQFVMPI.js.map +1 -0
  60. package/dist/{chunk-LDPPIBIJ.js → chunk-IJCT5IJD.js} +3 -3
  61. package/dist/{chunk-LDPPIBIJ.js.map → chunk-IJCT5IJD.js.map} +1 -1
  62. package/dist/{chunk-DGRHPJ3M.js → chunk-J6FBA7PH.js} +3 -3
  63. package/dist/{chunk-DGRHPJ3M.js.map → chunk-J6FBA7PH.js.map} +1 -1
  64. package/dist/chunk-JAMLFMDS.js +12 -0
  65. package/dist/chunk-JAMLFMDS.js.map +1 -0
  66. package/dist/{chunk-C6H7AMO4.js → chunk-LNFF2RBD.js} +9 -9
  67. package/dist/chunk-LNFF2RBD.js.map +1 -0
  68. package/dist/{chunk-QBZMY2AF.js → chunk-M62CHO3N.js} +18 -18
  69. package/dist/chunk-M62CHO3N.js.map +1 -0
  70. package/dist/{chunk-5Q4FABZQ.js → chunk-NUXW6NPP.js} +8 -8
  71. package/dist/chunk-NUXW6NPP.js.map +1 -0
  72. package/dist/{chunk-I6JQHP6D.js → chunk-NWSCYLPT.js} +78 -17
  73. package/dist/chunk-NWSCYLPT.js.map +1 -0
  74. package/dist/{chunk-63FW5ZUA.js → chunk-P3ZL6FGR.js} +7 -7
  75. package/dist/chunk-P3ZL6FGR.js.map +1 -0
  76. package/dist/chunk-P64MFQXZ.js +191 -0
  77. package/dist/chunk-P64MFQXZ.js.map +1 -0
  78. package/dist/chunk-PLIYF6KI.js +52 -0
  79. package/dist/chunk-PLIYF6KI.js.map +1 -0
  80. package/dist/chunk-PSR47JRA.js +26 -0
  81. package/dist/chunk-PSR47JRA.js.map +1 -0
  82. package/dist/{chunk-QLCDAFS7.js → chunk-Q4I4SFBD.js} +3 -3
  83. package/dist/chunk-Q4I4SFBD.js.map +1 -0
  84. package/dist/{chunk-SBJV3K4G.js → chunk-QJ6P2DW6.js} +28 -28
  85. package/dist/chunk-QJ6P2DW6.js.map +1 -0
  86. package/dist/{chunk-IP6TMT3D.js → chunk-R7QFP6EL.js} +3 -3
  87. package/dist/chunk-R7QFP6EL.js.map +1 -0
  88. package/dist/{chunk-WZWR2ELB.js → chunk-SEBU6JCK.js} +6 -6
  89. package/dist/chunk-SEBU6JCK.js.map +1 -0
  90. package/dist/{chunk-7OBL3H5P.js → chunk-SEFK4NZV.js} +3 -3
  91. package/dist/chunk-SEFK4NZV.js.map +1 -0
  92. package/dist/chunk-SRIT4NFQ.js +67 -0
  93. package/dist/chunk-SRIT4NFQ.js.map +1 -0
  94. package/dist/chunk-SY62XJFA.js +19 -0
  95. package/dist/chunk-SY62XJFA.js.map +1 -0
  96. package/dist/{chunk-SVXDWPLO.js → chunk-THD3YOOZ.js} +17 -17
  97. package/dist/chunk-THD3YOOZ.js.map +1 -0
  98. package/dist/chunk-VXFYETRK.js +58 -0
  99. package/dist/chunk-VXFYETRK.js.map +1 -0
  100. package/dist/chunk-XBX6QMR5.js +58 -0
  101. package/dist/chunk-XBX6QMR5.js.map +1 -0
  102. package/dist/{chunk-SCUT2ZCD.js → chunk-XCGZPFT7.js} +17 -17
  103. package/dist/chunk-XCGZPFT7.js.map +1 -0
  104. package/dist/chunk-XMK3T4TA.js +73 -0
  105. package/dist/chunk-XMK3T4TA.js.map +1 -0
  106. package/dist/chunk-YJ6MPS6U.js +226 -0
  107. package/dist/chunk-YJ6MPS6U.js.map +1 -0
  108. package/dist/chunk-YRYQXU3G.js +38 -0
  109. package/dist/chunk-YRYQXU3G.js.map +1 -0
  110. package/dist/{chunk-5J7BP5DI.js → chunk-YWFPMND7.js} +10 -10
  111. package/dist/chunk-YWFPMND7.js.map +1 -0
  112. package/dist/chunk-YYEGAFUE.js +94 -0
  113. package/dist/chunk-YYEGAFUE.js.map +1 -0
  114. package/dist/{chunk-TKA4LOMT.js → chunk-ZZ7H7VVX.js} +8 -8
  115. package/dist/chunk-ZZ7H7VVX.js.map +1 -0
  116. package/dist/components/data/index.d.ts +223 -74
  117. package/dist/components/data/index.js +504 -539
  118. package/dist/components/data/index.js.map +1 -1
  119. package/dist/components/layout/dashboard-page.d.ts +4 -0
  120. package/dist/components/layout/dashboard-page.js +5 -0
  121. package/dist/components/layout/dashboard-page.js.map +1 -0
  122. package/dist/components/layout/detail-page.d.ts +91 -0
  123. package/dist/components/layout/detail-page.js +6 -0
  124. package/dist/components/layout/detail-page.js.map +1 -0
  125. package/dist/components/layout/form-page.d.ts +82 -0
  126. package/dist/components/layout/form-page.js +5 -0
  127. package/dist/components/layout/form-page.js.map +1 -0
  128. package/dist/components/layout/index.d.ts +15 -0
  129. package/dist/components/layout/index.js +21 -0
  130. package/dist/components/layout/index.js.map +1 -0
  131. package/dist/components/layout/settings-page.d.ts +114 -0
  132. package/dist/components/layout/settings-page.js +6 -0
  133. package/dist/components/layout/settings-page.js.map +1 -0
  134. package/dist/components/patterns/empty-state.d.ts +74 -0
  135. package/dist/components/{ui → patterns}/empty-state.js +2 -1
  136. package/dist/components/{ui → patterns}/form-field.d.ts +2 -2
  137. package/dist/components/{ui → patterns}/form-field.js +2 -2
  138. package/dist/components/patterns/index.d.ts +18 -0
  139. package/dist/components/patterns/index.js +18 -0
  140. package/dist/components/patterns/index.js.map +1 -0
  141. package/dist/components/patterns/page-loading.d.ts +25 -0
  142. package/dist/components/patterns/page-loading.js +5 -0
  143. package/dist/components/patterns/page-loading.js.map +1 -0
  144. package/dist/components/patterns/settings-row.d.ts +42 -0
  145. package/dist/components/patterns/settings-row.js +6 -0
  146. package/dist/components/patterns/settings-row.js.map +1 -0
  147. package/dist/components/patterns/status-badge.d.ts +38 -0
  148. package/dist/components/patterns/status-badge.js +4 -0
  149. package/dist/components/patterns/status-badge.js.map +1 -0
  150. package/dist/components/patterns/toggle-row.d.ts +36 -0
  151. package/dist/components/patterns/toggle-row.js +8 -0
  152. package/dist/components/patterns/toggle-row.js.map +1 -0
  153. package/dist/components/patterns/user-avatar.d.ts +34 -0
  154. package/dist/components/patterns/user-avatar.js +5 -0
  155. package/dist/components/patterns/user-avatar.js.map +1 -0
  156. package/dist/components/ui/accessible-icon.d.ts +48 -0
  157. package/dist/components/ui/accessible-icon.js +3 -0
  158. package/dist/components/ui/accessible-icon.js.map +1 -0
  159. package/dist/components/ui/accordion.d.ts +5 -5
  160. package/dist/components/ui/accordion.js +1 -1
  161. package/dist/components/ui/alert-dialog.d.ts +10 -10
  162. package/dist/components/ui/alert-dialog.js +1 -1
  163. package/dist/components/ui/aspect-ratio.d.ts +2 -2
  164. package/dist/components/ui/aspect-ratio.js +1 -1
  165. package/dist/components/ui/avatar.d.ts +4 -4
  166. package/dist/components/ui/avatar.js +1 -1
  167. package/dist/components/ui/button.d.ts +75 -8
  168. package/dist/components/ui/button.js +1 -1
  169. package/dist/components/ui/calendar.js +2 -2
  170. package/dist/components/ui/carousel.d.ts +4 -3
  171. package/dist/components/ui/carousel.js +2 -2
  172. package/dist/components/ui/checkbox.d.ts +2 -2
  173. package/dist/components/ui/checkbox.js +1 -1
  174. package/dist/components/ui/collapsible.d.ts +4 -4
  175. package/dist/components/ui/collapsible.js +1 -1
  176. package/dist/components/ui/command-palette.d.ts +30 -0
  177. package/dist/components/ui/command-palette.js +6 -0
  178. package/dist/components/ui/command-palette.js.map +1 -0
  179. package/dist/components/ui/command.d.ts +9 -9
  180. package/dist/components/ui/command.js +2 -2
  181. package/dist/components/ui/context-menu.d.ts +15 -15
  182. package/dist/components/ui/context-menu.js +1 -1
  183. package/dist/components/ui/date-picker.js +4 -4
  184. package/dist/components/ui/dialog.d.ts +9 -9
  185. package/dist/components/ui/dialog.js +1 -1
  186. package/dist/components/ui/drawer.d.ts +7 -7
  187. package/dist/components/ui/dropdown-menu.d.ts +15 -15
  188. package/dist/components/ui/dropdown-menu.js +1 -1
  189. package/dist/components/ui/hover-card.d.ts +4 -4
  190. package/dist/components/ui/hover-card.js +1 -1
  191. package/dist/components/ui/input-otp.d.ts +2 -2
  192. package/dist/components/ui/label.d.ts +2 -2
  193. package/dist/components/ui/label.js +1 -1
  194. package/dist/components/ui/menubar.d.ts +16 -16
  195. package/dist/components/ui/menubar.js +1 -1
  196. package/dist/components/ui/navigation-menu.d.ts +9 -9
  197. package/dist/components/ui/navigation-menu.js +1 -1
  198. package/dist/components/ui/pagination.js +2 -2
  199. package/dist/components/ui/password-toggle-field.d.ts +121 -0
  200. package/dist/components/ui/password-toggle-field.js +4 -0
  201. package/dist/components/ui/password-toggle-field.js.map +1 -0
  202. package/dist/components/ui/popover.d.ts +4 -4
  203. package/dist/components/ui/popover.js +1 -1
  204. package/dist/components/ui/radio-group.d.ts +3 -3
  205. package/dist/components/ui/radio-group.js +1 -1
  206. package/dist/components/ui/resizable.d.ts +1 -1
  207. package/dist/components/ui/scroll-area.d.ts +60 -3
  208. package/dist/components/ui/scroll-area.js +1 -1
  209. package/dist/components/ui/select.d.ts +9 -9
  210. package/dist/components/ui/select.js +1 -1
  211. package/dist/components/ui/sheet.d.ts +11 -9
  212. package/dist/components/ui/sheet.js +1 -1
  213. package/dist/components/ui/slider.d.ts +2 -2
  214. package/dist/components/ui/slider.js +1 -1
  215. package/dist/components/ui/switch.d.ts +2 -2
  216. package/dist/components/ui/switch.js +1 -1
  217. package/dist/components/ui/tabs.d.ts +29 -14
  218. package/dist/components/ui/tabs.js +1 -1
  219. package/dist/components/ui/toggle-group.d.ts +3 -3
  220. package/dist/components/ui/toggle-group.js +2 -2
  221. package/dist/components/ui/toggle.d.ts +2 -2
  222. package/dist/components/ui/toggle.js +1 -1
  223. package/dist/components/ui/toolbar.d.ts +104 -0
  224. package/dist/components/ui/toolbar.js +6 -0
  225. package/dist/components/ui/toolbar.js.map +1 -0
  226. package/dist/components/ui/tooltip.d.ts +46 -4
  227. package/dist/components/ui/tooltip.js +1 -1
  228. package/dist/components/ui/visually-hidden.d.ts +48 -0
  229. package/dist/components/ui/visually-hidden.js +4 -0
  230. package/dist/components/ui/visually-hidden.js.map +1 -0
  231. package/dist/dashboard-page-C0TihRl5.d.ts +107 -0
  232. package/dist/hooks/index.d.ts +5 -3
  233. package/dist/hooks/index.js +10 -5
  234. package/dist/hooks/use-data-filters.d.ts +1 -1
  235. package/dist/hooks/use-data-filters.js +2 -2
  236. package/dist/hooks/use-keyboard-navigation.d.ts +58 -2
  237. package/dist/hooks/use-keyboard-navigation.js +1 -1
  238. package/dist/hooks/use-resource-page.d.ts +3 -2
  239. package/dist/hooks/use-resource-page.js +2 -2
  240. package/dist/hooks/use-saved-views.d.ts +28 -0
  241. package/dist/hooks/use-saved-views.js +3 -0
  242. package/dist/hooks/use-saved-views.js.map +1 -0
  243. package/dist/hooks/use-view-preference.d.ts +1 -1
  244. package/dist/hooks/use-view-preference.js +1 -1
  245. package/dist/index.d.ts +25 -26
  246. package/dist/index.js +55 -38
  247. package/dist/{navigation-qI86Ldug.d.ts → navigation-CpOEyUSb.d.ts} +4 -0
  248. package/dist/spacing-BS6qECD4.d.ts +191 -0
  249. package/dist/split-Dk9f4Mi0.d.ts +57 -0
  250. package/dist/{use-resource-page-B-CFcikK.d.ts → use-resource-page-CPs6wjKt.d.ts} +10 -2
  251. package/dist/view-settings--KXNT_jE.d.ts +12 -0
  252. package/package.json +77 -32
  253. package/dist/chunk-2B3MFHBQ.js.map +0 -1
  254. package/dist/chunk-2MXMWBDV.js.map +0 -1
  255. package/dist/chunk-4V4H2ZM7.js.map +0 -1
  256. package/dist/chunk-5J7BP5DI.js.map +0 -1
  257. package/dist/chunk-5Q4FABZQ.js.map +0 -1
  258. package/dist/chunk-63FW5ZUA.js.map +0 -1
  259. package/dist/chunk-7OBL3H5P.js.map +0 -1
  260. package/dist/chunk-AI6CCNWK.js.map +0 -1
  261. package/dist/chunk-C6H7AMO4.js.map +0 -1
  262. package/dist/chunk-EI5EGKHL.js +0 -32
  263. package/dist/chunk-EI5EGKHL.js.map +0 -1
  264. package/dist/chunk-I6JQHP6D.js.map +0 -1
  265. package/dist/chunk-IP6TMT3D.js.map +0 -1
  266. package/dist/chunk-JJ4NOMMI.js +0 -73
  267. package/dist/chunk-JJ4NOMMI.js.map +0 -1
  268. package/dist/chunk-JXI2MYL3.js.map +0 -1
  269. package/dist/chunk-KBS4BHME.js +0 -11
  270. package/dist/chunk-KBS4BHME.js.map +0 -1
  271. package/dist/chunk-LRXDZBV2.js +0 -26
  272. package/dist/chunk-LRXDZBV2.js.map +0 -1
  273. package/dist/chunk-NJMO3VPA.js.map +0 -1
  274. package/dist/chunk-O4B5ALO7.js.map +0 -1
  275. package/dist/chunk-OCTV3S4I.js +0 -29
  276. package/dist/chunk-OCTV3S4I.js.map +0 -1
  277. package/dist/chunk-QBZMY2AF.js.map +0 -1
  278. package/dist/chunk-QLCDAFS7.js.map +0 -1
  279. package/dist/chunk-SBJV3K4G.js.map +0 -1
  280. package/dist/chunk-SCUT2ZCD.js.map +0 -1
  281. package/dist/chunk-SVXDWPLO.js.map +0 -1
  282. package/dist/chunk-T465NJRL.js +0 -134
  283. package/dist/chunk-T465NJRL.js.map +0 -1
  284. package/dist/chunk-T5VX5DYO.js.map +0 -1
  285. package/dist/chunk-TKA4LOMT.js.map +0 -1
  286. package/dist/chunk-UGHQFQOE.js.map +0 -1
  287. package/dist/chunk-WALXVR6V.js +0 -9
  288. package/dist/chunk-WALXVR6V.js.map +0 -1
  289. package/dist/chunk-WZWR2ELB.js.map +0 -1
  290. package/dist/chunk-YZEA5TGK.js.map +0 -1
  291. package/dist/chunk-ZDAT5JDH.js.map +0 -1
  292. package/dist/components/ui/empty-state.d.ts +0 -22
  293. /package/dist/components/{ui → patterns}/empty-state.js.map +0 -0
  294. /package/dist/components/{ui → patterns}/form-field.js.map +0 -0
  295. /package/dist/{ViewToggle-DDe_Luj2.d.ts → view-toggle-DDe_Luj2.d.ts} +0 -0
@@ -1,9 +1,66 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
2
+ import { ScrollArea as ScrollArea$1 } from 'radix-ui';
3
3
 
4
- interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ interface ScrollAreaProps extends React.ComponentPropsWithoutRef<typeof ScrollArea$1.Root> {
5
+ /**
6
+ * Which axes get a scrollbar. `"vertical"` (the default) also clips
7
+ * horizontal overflow, `"horizontal"` clips vertical overflow, `"both"`
8
+ * scrolls either way — the same meaning the `overflow-*` utilities this
9
+ * replaced had, because Radix's viewport derives `overflow-x`/`overflow-y`
10
+ * from which scrollbars are mounted.
11
+ */
5
12
  orientation?: "vertical" | "horizontal" | "both";
13
+ /**
14
+ * Props for the inner viewport — the element that actually scrolls.
15
+ *
16
+ * The root that this component's `ref`, `className` and remaining props land
17
+ * on is `overflow: hidden`; scrolling happens one level in. `onScroll`,
18
+ * `onScrollCapture` and `nonce` are routed to the viewport automatically
19
+ * because they have no other correct destination. Anything else that must
20
+ * address the scroller specifically — a `ref` for programmatic `scrollTop`, a
21
+ * `tabIndex`, an `id`, `aria-*` — goes here. Values passed here win over the
22
+ * automatically routed ones.
23
+ */
24
+ viewportProps?: React.ComponentPropsWithRef<typeof ScrollArea$1.Viewport>;
6
25
  }
7
- declare function ScrollArea({ className, orientation, children, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
26
+ /**
27
+ * ScrollArea — a scroll container with a consistent, styled scrollbar.
28
+ *
29
+ * Backed by Radix `ScrollArea`. The hand-rolled version was a single
30
+ * `overflow-auto` div plus a stack of `::-webkit-scrollbar` pseudo-element
31
+ * rules, which is a WebKit-only vocabulary: Firefox ignored every one of them
32
+ * and rendered the OS scrollbar instead, so the "design system scrollbar" was
33
+ * a Chrome/Safari-only promise. Radix hides the native scrollbar and renders a
34
+ * real element in its place, so the same thumb appears in every browser, can
35
+ * be dragged, and participates in the same hover/transition styling as the
36
+ * rest of the system.
37
+ *
38
+ * `type` defaults to `"auto"` — scrollbar present exactly while the content
39
+ * overflows — because that is what `overflow-auto` did. Radix's own default is
40
+ * `"hover"`; pass `type` explicitly for `"hover"`, `"always"` or `"scroll"`.
41
+ *
42
+ * NOTE ON PROP DESTINATIONS. This used to be one element; it is now a root plus
43
+ * an inner viewport, and the root does not scroll. Three props therefore have to
44
+ * be routed inward rather than spread onto the root with the rest, because for
45
+ * them the root is not merely a different element — it is an element on which
46
+ * they do nothing at all, silently:
47
+ *
48
+ * - `onScroll` / `onScrollCapture` — `scroll` events do not bubble, so a
49
+ * handler on the root would never fire once. Infinite-loading and
50
+ * scroll-position UI would break with no error.
51
+ * - `nonce` — Radix injects its scrollbar-hiding `<style>` from the viewport
52
+ * and only reads a nonce given to that component. Under a strict
53
+ * `style-src 'nonce-…'` policy the rule is blocked and the native scrollbar
54
+ * shows up alongside the custom one.
55
+ *
56
+ * Everything else keeps landing on the root, which is the component's box and
57
+ * the right owner for `className`, `style`, `id`, `role`, `aria-*`, `data-*`
58
+ * and bubbling handlers. `viewportProps` is the escape hatch for the remainder
59
+ * — most importantly a `ref`, since `ref` on this component addresses the root
60
+ * and setting `scrollTop` there does nothing.
61
+ *
62
+ * @stability Stable
63
+ */
64
+ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
8
65
 
9
66
  export { ScrollArea };
@@ -1,4 +1,4 @@
1
- export { ScrollArea } from '../../chunk-OCTV3S4I.js';
1
+ export { ScrollArea } from '../../chunk-6KHY647C.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=scroll-area.js.map
4
4
  //# sourceMappingURL=scroll-area.js.map
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
- import * as SelectPrimitive from '@radix-ui/react-select';
2
+ import { Select as Select$1 } from 'radix-ui';
3
3
 
4
- declare const Select: React.FC<SelectPrimitive.SelectProps>;
5
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
6
- declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
7
- declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
8
- declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
- declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Select: React.FC<Select$1.SelectProps>;
5
+ declare const SelectGroup: React.ForwardRefExoticComponent<Select$1.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const SelectValue: React.ForwardRefExoticComponent<Select$1.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
7
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<Select$1.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
8
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<Select$1.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<Select$1.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<Select$1.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<Select$1.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
 
13
13
  export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue };
@@ -1,4 +1,4 @@
1
- export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue } from '../../chunk-2B3MFHBQ.js';
1
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue } from '../../chunk-FK42ZGGV.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=select.js.map
4
4
  //# sourceMappingURL=select.js.map
@@ -1,18 +1,20 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
3
  import * as React from 'react';
4
- import * as DialogPrimitive from '@radix-ui/react-dialog';
4
+ import { Dialog } from 'radix-ui';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
 
7
- declare const Sheet: React.FC<DialogPrimitive.DialogProps>;
8
- declare const SheetTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
9
- declare const SheetClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
10
- declare const SheetPortal: React.FC<DialogPrimitive.DialogPortalProps>;
11
- declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const Sheet: React.FC<Dialog.DialogProps>;
8
+ declare const SheetTrigger: React.ForwardRefExoticComponent<Dialog.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const SheetClose: React.ForwardRefExoticComponent<Dialog.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
10
+ declare const SheetPortal: React.FC<Dialog.DialogPortalProps>;
11
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<Dialog.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare const sheetVariants: (props?: ({
13
13
  side?: "top" | "right" | "bottom" | "left" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
- interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
15
+ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof Dialog.Content>, VariantProps<typeof sheetVariants> {
16
+ /** Show the built-in top-right close affordance. Default true. Mirrors `DialogContent`'s `showCloseButton` — set false when a composing consumer (e.g. `DetailPanel`) renders its own close control. */
17
+ showCloseButton?: boolean;
16
18
  }
17
19
  declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
18
20
  declare const SheetHeader: {
@@ -23,7 +25,7 @@ declare const SheetFooter: {
23
25
  ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
24
26
  displayName: string;
25
27
  };
26
- declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
27
- declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
28
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<Dialog.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
29
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<Dialog.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
28
30
 
29
31
  export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };
@@ -1,4 +1,4 @@
1
- export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from '../../chunk-SCUT2ZCD.js';
1
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from '../../chunk-XCGZPFT7.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=sheet.js.map
4
4
  //# sourceMappingURL=sheet.js.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import * as SliderPrimitive from '@radix-ui/react-slider';
2
+ import { Slider as Slider$1 } from 'radix-ui';
3
3
 
4
- declare const Slider: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
4
+ declare const Slider: React.ForwardRefExoticComponent<Omit<Slider$1.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
5
5
 
6
6
  export { Slider };
@@ -1,4 +1,4 @@
1
- export { Slider } from '../../chunk-LRXDZBV2.js';
1
+ export { Slider } from '../../chunk-PSR47JRA.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=slider.js.map
4
4
  //# sourceMappingURL=slider.js.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import * as SwitchPrimitive from '@radix-ui/react-switch';
2
+ import { Switch as Switch$1 } from 'radix-ui';
3
3
 
4
- declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitive.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ declare const Switch: React.ForwardRefExoticComponent<Omit<Switch$1.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
5
5
 
6
6
  export { Switch };
@@ -1,4 +1,4 @@
1
- export { Switch } from '../../chunk-2MXMWBDV.js';
1
+ export { Switch } from '../../chunk-27ELYTGE.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=switch.js.map
4
4
  //# sourceMappingURL=switch.js.map
@@ -1,20 +1,35 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import * as React from 'react';
2
+ import { Tabs as Tabs$1 } from 'radix-ui';
3
3
 
4
- interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ interface TabsProps extends React.ComponentPropsWithoutRef<typeof Tabs$1.Root> {
5
+ /**
6
+ * Required here even though Radix's own `defaultValue` is optional — that is
7
+ * the existing contract, and loosening it is a separate decision.
8
+ */
5
9
  defaultValue: string;
6
- value?: string;
7
- onValueChange?: (value: string) => void;
8
10
  }
9
- declare function Tabs({ defaultValue, value: controlledValue, onValueChange: controlledOnValueChange, className, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
10
- declare function TabsList({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
11
- interface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
12
- value: string;
13
- }
14
- declare function TabsTrigger({ className, value, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
15
- interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {
16
- value: string;
17
- }
18
- declare function TabsContent({ className, value, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element | null;
11
+ /**
12
+ * Tabs — a tablist and its panels.
13
+ *
14
+ * Backed by Radix `Tabs`. The hand-rolled version was a React context plus a
15
+ * row of plain `<button>`s: it tracked the selected value correctly and
16
+ * nothing else. Every keyboard and screen-reader affordance the WAI-ARIA tabs
17
+ * pattern asks for was missing — `role="tablist"`/`"tab"`/`"tabpanel"`, the
18
+ * `aria-selected` state, the `aria-controls`/`aria-labelledby` link between a
19
+ * tab and its panel, the roving `tabindex` that makes the whole tablist ONE
20
+ * tab stop instead of N, and Arrow/Home/End navigation between tabs. Radix
21
+ * supplies all of it, plus the selection state the old version already
22
+ * handled.
23
+ *
24
+ * One behavioural note worth knowing: Radix selects on `mousedown` rather than
25
+ * `click`. Pointer users see no difference, but a synthetic `fireEvent.click`
26
+ * on a trigger no longer changes tabs.
27
+ *
28
+ * @stability Stable
29
+ */
30
+ declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
31
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<Tabs$1.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
32
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<Tabs$1.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
33
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<Tabs$1.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
34
 
20
35
  export { Tabs, TabsContent, TabsList, TabsTrigger };
@@ -1,4 +1,4 @@
1
- export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-JJ4NOMMI.js';
1
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-VXFYETRK.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=tabs.js.map
4
4
  //# sourceMappingURL=tabs.js.map
@@ -1,13 +1,13 @@
1
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
2
2
  import * as React from 'react';
3
- import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
3
+ import { ToggleGroup as ToggleGroup$1 } from 'radix-ui';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
- declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
6
+ declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroup$1.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroup$1.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
7
7
  variant?: "default" | "outline" | null | undefined;
8
8
  size?: "default" | "sm" | "lg" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
10
- declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
10
+ declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroup$1.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
11
11
  variant?: "default" | "outline" | null | undefined;
12
12
  size?: "default" | "sm" | "lg" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
@@ -1,5 +1,5 @@
1
- export { ToggleGroup, ToggleGroupItem } from '../../chunk-5Q4FABZQ.js';
2
- import '../../chunk-JXI2MYL3.js';
1
+ export { ToggleGroup, ToggleGroupItem } from '../../chunk-NUXW6NPP.js';
2
+ import '../../chunk-C46ITXE4.js';
3
3
  import '../../chunk-NZ5WBA4R.js';
4
4
  //# sourceMappingURL=toggle-group.js.map
5
5
  //# sourceMappingURL=toggle-group.js.map
@@ -1,13 +1,13 @@
1
1
  import * as class_variance_authority_types from 'class-variance-authority/types';
2
2
  import * as React from 'react';
3
- import * as TogglePrimitive from '@radix-ui/react-toggle';
3
+ import { Toggle as Toggle$1 } from 'radix-ui';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const toggleVariants: (props?: ({
7
7
  variant?: "default" | "outline" | null | undefined;
8
8
  size?: "default" | "sm" | "lg" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string;
10
- declare const Toggle: React.ForwardRefExoticComponent<Omit<TogglePrimitive.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
10
+ declare const Toggle: React.ForwardRefExoticComponent<Omit<Toggle$1.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
11
11
  variant?: "default" | "outline" | null | undefined;
12
12
  size?: "default" | "sm" | "lg" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
@@ -1,4 +1,4 @@
1
- export { Toggle, toggleVariants } from '../../chunk-JXI2MYL3.js';
1
+ export { Toggle, toggleVariants } from '../../chunk-C46ITXE4.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=toggle.js.map
4
4
  //# sourceMappingURL=toggle.js.map
@@ -0,0 +1,104 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { Toolbar as Toolbar$1 } from 'radix-ui';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { buttonVariants } from './button.js';
6
+ import { toggleVariants } from './toggle.js';
7
+
8
+ declare const toolbarVariants: (props?: ({
9
+ orientation?: "horizontal" | "vertical" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ interface ToolbarProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Root> {
12
+ /** Stable test/automation selector (emitted as `data-testid`). */
13
+ testID?: string;
14
+ }
15
+ /**
16
+ * Toolbar — a grouped set of controls that behaves as ONE tab stop.
17
+ *
18
+ * This is a primitive, not a layout, and the distinction is the whole reason
19
+ * it wraps Radix instead of a `<div className="flex gap-1">`. Radix's Toolbar
20
+ * owns a roving tabindex: Tab moves into and out of the whole group, and
21
+ * Arrow/Home/End move between the items inside it. A layout, by the framework's
22
+ * own definition, "positions things without knowing what they are" — this one
23
+ * knows its children are focusable controls and manages their focus, so it
24
+ * fails that test and passes the primitive one.
25
+ *
26
+ * `orientation` is passed to BOTH Radix (which uses it to decide whether
27
+ * Left/Right or Up/Down are the navigation keys) and the CVA class (which uses
28
+ * it to decide the flex direction). Splitting those would let the visual axis
29
+ * and the keyboard axis disagree — arrows moving "down" a row of buttons.
30
+ *
31
+ * @stability Beta
32
+ */
33
+ declare const Toolbar: React.ForwardRefExoticComponent<ToolbarProps & React.RefAttributes<HTMLDivElement>>;
34
+ interface ToolbarButtonProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Button>, VariantProps<typeof buttonVariants> {
35
+ /** Stable test/automation selector (emitted as `data-testid`). */
36
+ testID?: string;
37
+ }
38
+ /**
39
+ * ToolbarButton — a button that participates in the toolbar's roving tabindex.
40
+ *
41
+ * Styling reuses `buttonVariants` rather than declaring a second button look:
42
+ * per the framework's "one home per concept", the question "what does a button
43
+ * look like?" already has an answer. Only the DEFAULTS differ — `ghost`/`sm`,
44
+ * because a toolbar is a dense strip of controls, not a page's primary action —
45
+ * and both remain overridable.
46
+ *
47
+ * @stability Beta
48
+ */
49
+ declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
50
+ interface ToolbarLinkProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Link> {
51
+ /** Stable test/automation selector (emitted as `data-testid`). */
52
+ testID?: string;
53
+ }
54
+ /**
55
+ * ToolbarLink — an anchor inside the toolbar's roving tabindex.
56
+ *
57
+ * Kept distinct from `ToolbarButton` because the element matters: a link
58
+ * navigates and must stay an `<a>` for middle-click, "open in new tab" and the
59
+ * screen-reader link rotor. Radix also gives it the toolbar's Enter/Space
60
+ * handling without turning it into a button.
61
+ *
62
+ * @stability Beta
63
+ */
64
+ declare const ToolbarLink: React.ForwardRefExoticComponent<ToolbarLinkProps & React.RefAttributes<HTMLAnchorElement>>;
65
+ interface ToolbarSeparatorProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.Separator> {
66
+ }
67
+ /**
68
+ * ToolbarSeparator — a decorative divider between toolbar groups.
69
+ *
70
+ * Radix excludes it from the roving tabindex, so arrow keys skip straight over
71
+ * it instead of landing on a 1px line.
72
+ *
73
+ * Note the inverted axis, which is easy to get backwards: Radix gives the
74
+ * separator the orientation PERPENDICULAR to the toolbar's, so a horizontal
75
+ * toolbar contains separators with `data-orientation="vertical"`. The classes
76
+ * below are keyed on the separator's own orientation accordingly — a vertical
77
+ * separator is the tall thin rule.
78
+ *
79
+ * @stability Beta
80
+ */
81
+ declare const ToolbarSeparator: React.ForwardRefExoticComponent<ToolbarSeparatorProps & React.RefAttributes<HTMLDivElement>>;
82
+ /**
83
+ * ToolbarToggleGroup — a set of pressed/unpressed controls inside a toolbar
84
+ * (the classic bold / italic / underline cluster).
85
+ *
86
+ * @stability Beta
87
+ */
88
+ declare const ToolbarToggleGroup: React.ForwardRefExoticComponent<(Omit<Toolbar$1.ToolbarToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<Toolbar$1.ToolbarToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & React.RefAttributes<HTMLDivElement>>;
89
+ interface ToolbarToggleItemProps extends React.ComponentPropsWithoutRef<typeof Toolbar$1.ToggleItem>, VariantProps<typeof toggleVariants> {
90
+ /** Stable test/automation selector (emitted as `data-testid`). */
91
+ testID?: string;
92
+ }
93
+ /**
94
+ * ToolbarToggleItem — one member of a `ToolbarToggleGroup`.
95
+ *
96
+ * Reuses `toggleVariants` for the same reason `ToolbarButton` reuses
97
+ * `buttonVariants`: `Toggle` already answers "what does a pressed control look
98
+ * like?", and a second answer is how two implementations get born.
99
+ *
100
+ * @stability Beta
101
+ */
102
+ declare const ToolbarToggleItem: React.ForwardRefExoticComponent<ToolbarToggleItemProps & React.RefAttributes<HTMLButtonElement>>;
103
+
104
+ export { Toolbar, ToolbarButton, type ToolbarButtonProps, ToolbarLink, type ToolbarLinkProps, type ToolbarProps, ToolbarSeparator, type ToolbarSeparatorProps, ToolbarToggleGroup, ToolbarToggleItem, type ToolbarToggleItemProps, toolbarVariants };
@@ -0,0 +1,6 @@
1
+ export { Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, ToolbarToggleGroup, ToolbarToggleItem, toolbarVariants } from '../../chunk-YYEGAFUE.js';
2
+ import '../../chunk-C46ITXE4.js';
3
+ import '../../chunk-NWSCYLPT.js';
4
+ import '../../chunk-NZ5WBA4R.js';
5
+ //# sourceMappingURL=toolbar.js.map
6
+ //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"toolbar.js"}
@@ -1,10 +1,52 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
 
4
- interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
5
- content: string;
4
+ interface TooltipProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
5
+ /**
6
+ * Tooltip body. Accepts any `ReactNode` — icons, formatted or multi-line
7
+ * content — not just a plain string.
8
+ */
9
+ content: React.ReactNode;
6
10
  side?: "top" | "bottom" | "left" | "right";
11
+ /**
12
+ * Milliseconds a POINTER must rest on the trigger before the tooltip
13
+ * opens. Keyboard focus is never delayed — Radix opens instantly on focus
14
+ * regardless of this value.
15
+ *
16
+ * Defaults to `0` rather than Radix's own `700`: the CSS-only
17
+ * implementation this replaced revealed the bubble the instant the pointer
18
+ * entered, and inheriting a 700ms delay on upgrade would read as the
19
+ * tooltip having broken. Raise it to get the "don't fire while the cursor
20
+ * sweeps across the UI" behaviour the hand-rolled version could not offer.
21
+ */
22
+ delayDuration?: number;
7
23
  }
8
- declare function Tooltip({ content, side, className, children, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
24
+ /**
25
+ * Tooltip — hover/focus hint anchored to its trigger child.
26
+ *
27
+ * Backed by Radix `Tooltip`, which owns the parts a design system should not
28
+ * be maintaining itself: open/close state, the pointer delay, opening on
29
+ * keyboard focus and closing on blur/Escape/scroll, the portal, collision
30
+ * detection against the viewport, and the `aria-describedby` ↔ `role="tooltip"`
31
+ * association. The previous implementation was CSS-only — a `group` wrapper
32
+ * plus `group-hover:block` / `group-focus-within:block` — which meant no
33
+ * portal (so the bubble was clipped by any `overflow:hidden` ancestor), no
34
+ * collision handling (so it ran off-screen at the edges), no dismissal, and no
35
+ * delay.
36
+ *
37
+ * The wrapper `<div>` stays, and keeps `group relative inline-flex`: it is
38
+ * where `className` and the rest of `HTMLAttributes<HTMLDivElement>` land, so
39
+ * removing it would silently drop props callers already pass. Positioning no
40
+ * longer depends on it.
41
+ *
42
+ * The bubble keeps `whitespace-nowrap`, so rich `content` does not soft wrap
43
+ * by itself — long multi-line content needs an explicit `<br />`, or a
44
+ * `whitespace-normal` + width class on the node you pass in. Dropping
45
+ * `whitespace-nowrap` here would re-wrap every existing single-line string
46
+ * tooltip, so it stays opt-out rather than opt-in.
47
+ *
48
+ * @stability Stable
49
+ */
50
+ declare function Tooltip({ content, side, delayDuration, className, children, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
9
51
 
10
- export { Tooltip };
52
+ export { Tooltip, type TooltipProps };
@@ -1,4 +1,4 @@
1
- export { Tooltip } from '../../chunk-EI5EGKHL.js';
1
+ export { Tooltip } from '../../chunk-G5YKBPBF.js';
2
2
  import '../../chunk-NZ5WBA4R.js';
3
3
  //# sourceMappingURL=tooltip.js.map
4
4
  //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1,48 @@
1
+ import * as React from 'react';
2
+ import { VisuallyHidden as VisuallyHidden$1 } from 'radix-ui';
3
+
4
+ interface VisuallyHiddenProps extends React.ComponentPropsWithoutRef<typeof VisuallyHidden$1.Root> {
5
+ /** Stable test/automation selector (emitted as `data-testid`). */
6
+ testID?: string;
7
+ }
8
+ /**
9
+ * VisuallyHidden — content removed from the visual layout but kept in the
10
+ * accessibility tree.
11
+ *
12
+ * This is the correct tool for the label an icon-only control needs, for the
13
+ * `DialogTitle` a dialog must have even when the design shows none, and for
14
+ * live-region status text. It is NOT `display: none` and it is NOT
15
+ * `visibility: hidden` — both of those remove the node from the a11y tree too,
16
+ * which is the exact opposite of the intent.
17
+ *
18
+ * Why Radix rather than Tailwind's `sr-only`: the two produce the same result,
19
+ * but `sr-only` is a class a consumer's `@apply`, a purge misconfiguration, or
20
+ * a competing utility can quietly defeat, and the failure is silent — the text
21
+ * simply becomes visible, or the layout shifts, and nothing in a build catches
22
+ * it. Radix applies the clip rectangle as inline styles on the element itself,
23
+ * so there is no stylesheet for the consumer's build to lose.
24
+ *
25
+ * **That robustness cuts both ways, and it is the one thing to know before
26
+ * reaching for this.** An inline style beats any ordinary class declaration, so
27
+ * a `className` cannot override the clipping either — not accidentally, and
28
+ * not on purpose. `className` is merged for non-visual concerns (a test hook, a
29
+ * data attribute target); it is NOT a way to reveal the content.
30
+ *
31
+ * The escape hatch is the `style` prop, which Radix spreads *after* its own
32
+ * (`{...VISUALLY_HIDDEN_STYLES, ...props.style}`) and which therefore wins.
33
+ * Both behaviours are pinned in this component's tests, because the docs above
34
+ * depend on them.
35
+ *
36
+ * **This is therefore the wrong primitive for a skip link.** A skip link is
37
+ * hidden until focused, and "until focused" is state, not a class — a static
38
+ * `style` prop cannot express it and `focus-within:` utilities cannot win
39
+ * against the inline rule. Give a skip link its own element with real CSS, or
40
+ * drive the `style` prop from `onFocus`/`onBlur`. Use `VisuallyHidden` for text
41
+ * that stays hidden: control labels, dialog titles a design omits, live-region
42
+ * status text.
43
+ *
44
+ * @stability Beta
45
+ */
46
+ declare const VisuallyHidden: React.ForwardRefExoticComponent<VisuallyHiddenProps & React.RefAttributes<HTMLSpanElement>>;
47
+
48
+ export { VisuallyHidden, type VisuallyHiddenProps };
@@ -0,0 +1,4 @@
1
+ export { VisuallyHidden } from '../../chunk-SY62XJFA.js';
2
+ import '../../chunk-NZ5WBA4R.js';
3
+ //# sourceMappingURL=visually-hidden.js.map
4
+ //# sourceMappingURL=visually-hidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"visually-hidden.js"}