@marktiderman/genesis-ui 1.3.0 → 2.1.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 (297) hide show
  1. package/LICENSE +21 -0
  2. package/dist/AppShell-sQT0UbXg.d.ts +198 -0
  3. package/dist/{chunk-NJMO3VPA.js → chunk-22XB3Q6H.js} +8 -8
  4. package/dist/chunk-22XB3Q6H.js.map +1 -0
  5. package/dist/{chunk-2MXMWBDV.js → chunk-27ELYTGE.js} +6 -6
  6. package/dist/chunk-27ELYTGE.js.map +1 -0
  7. package/dist/chunk-46TZGMFW.js +159 -0
  8. package/dist/chunk-46TZGMFW.js.map +1 -0
  9. package/dist/chunk-4CQHPWJD.js +117 -0
  10. package/dist/chunk-4CQHPWJD.js.map +1 -0
  11. package/dist/{chunk-ZDAT5JDH.js → chunk-65SPT7EA.js} +24 -6
  12. package/dist/chunk-65SPT7EA.js.map +1 -0
  13. package/dist/chunk-6KHY647C.js +67 -0
  14. package/dist/chunk-6KHY647C.js.map +1 -0
  15. package/dist/chunk-6M4NHHKG.js +51 -0
  16. package/dist/chunk-6M4NHHKG.js.map +1 -0
  17. package/dist/chunk-6Q6CLLJ4.js +9 -0
  18. package/dist/chunk-6Q6CLLJ4.js.map +1 -0
  19. package/dist/{chunk-UGHQFQOE.js → chunk-6TVMQH6M.js} +28 -28
  20. package/dist/chunk-6TVMQH6M.js.map +1 -0
  21. package/dist/{chunk-6VVVGYKS.js → chunk-6XPMU65K.js} +5 -5
  22. package/dist/{chunk-6VVVGYKS.js.map → chunk-6XPMU65K.js.map} +1 -1
  23. package/dist/{chunk-YZEA5TGK.js → chunk-7XMZVISM.js} +16 -16
  24. package/dist/chunk-7XMZVISM.js.map +1 -0
  25. package/dist/chunk-A7AHVDG7.js +52 -0
  26. package/dist/chunk-A7AHVDG7.js.map +1 -0
  27. package/dist/chunk-AFZ76Q26.js +84 -0
  28. package/dist/chunk-AFZ76Q26.js.map +1 -0
  29. package/dist/{chunk-4V4H2ZM7.js → chunk-AL5TMEZQ.js} +31 -31
  30. package/dist/chunk-AL5TMEZQ.js.map +1 -0
  31. package/dist/{chunk-AUECDWP2.js → chunk-AOZGQM6W.js} +3 -3
  32. package/dist/chunk-AOZGQM6W.js.map +1 -0
  33. package/dist/chunk-ARJI2JUV.js +122 -0
  34. package/dist/chunk-ARJI2JUV.js.map +1 -0
  35. package/dist/chunk-AVFZ4P4B.js +25 -0
  36. package/dist/chunk-AVFZ4P4B.js.map +1 -0
  37. package/dist/chunk-B2GIBUQD.js +11 -0
  38. package/dist/chunk-B2GIBUQD.js.map +1 -0
  39. package/dist/{chunk-JXI2MYL3.js → chunk-C46ITXE4.js} +5 -5
  40. package/dist/chunk-C46ITXE4.js.map +1 -0
  41. package/dist/{chunk-A2OXCNNY.js → chunk-CNTWQSUT.js} +3 -3
  42. package/dist/{chunk-A2OXCNNY.js.map → chunk-CNTWQSUT.js.map} +1 -1
  43. package/dist/chunk-D2LIXA2Y.js +65 -0
  44. package/dist/chunk-D2LIXA2Y.js.map +1 -0
  45. package/dist/{chunk-T5VX5DYO.js → chunk-F47U5KNW.js} +5 -5
  46. package/dist/chunk-F47U5KNW.js.map +1 -0
  47. package/dist/chunk-FEJAZFP3.js +1100 -0
  48. package/dist/chunk-FEJAZFP3.js.map +1 -0
  49. package/dist/{chunk-2B3MFHBQ.js → chunk-FK42ZGGV.js} +21 -21
  50. package/dist/chunk-FK42ZGGV.js.map +1 -0
  51. package/dist/{chunk-XISSLIMH.js → chunk-FTTNGGLA.js} +2 -2
  52. package/dist/{chunk-XISSLIMH.js.map → chunk-FTTNGGLA.js.map} +1 -1
  53. package/dist/chunk-G5YKBPBF.js +74 -0
  54. package/dist/chunk-G5YKBPBF.js.map +1 -0
  55. package/dist/{chunk-QLCDAFS7.js → chunk-GDFNAHI4.js} +10 -6
  56. package/dist/chunk-GDFNAHI4.js.map +1 -0
  57. package/dist/{chunk-KB5T5LWM.js → chunk-IJCT5IJD.js} +3 -3
  58. package/dist/{chunk-KB5T5LWM.js.map → chunk-IJCT5IJD.js.map} +1 -1
  59. package/dist/{chunk-44TULYGG.js → chunk-J6FBA7PH.js} +3 -3
  60. package/dist/{chunk-44TULYGG.js.map → chunk-J6FBA7PH.js.map} +1 -1
  61. package/dist/chunk-JAMLFMDS.js +12 -0
  62. package/dist/chunk-JAMLFMDS.js.map +1 -0
  63. package/dist/{chunk-C6H7AMO4.js → chunk-LNFF2RBD.js} +9 -9
  64. package/dist/chunk-LNFF2RBD.js.map +1 -0
  65. package/dist/{chunk-QBZMY2AF.js → chunk-M62CHO3N.js} +18 -18
  66. package/dist/chunk-M62CHO3N.js.map +1 -0
  67. package/dist/{chunk-5Q4FABZQ.js → chunk-NUXW6NPP.js} +8 -8
  68. package/dist/chunk-NUXW6NPP.js.map +1 -0
  69. package/dist/{chunk-ZJFSZFPI.js → chunk-NWSCYLPT.js} +77 -18
  70. package/dist/chunk-NWSCYLPT.js.map +1 -0
  71. package/dist/{chunk-63FW5ZUA.js → chunk-P3ZL6FGR.js} +7 -7
  72. package/dist/chunk-P3ZL6FGR.js.map +1 -0
  73. package/dist/chunk-P64MFQXZ.js +191 -0
  74. package/dist/chunk-P64MFQXZ.js.map +1 -0
  75. package/dist/chunk-PLIYF6KI.js +52 -0
  76. package/dist/chunk-PLIYF6KI.js.map +1 -0
  77. package/dist/chunk-PSR47JRA.js +26 -0
  78. package/dist/chunk-PSR47JRA.js.map +1 -0
  79. package/dist/{chunk-SBJV3K4G.js → chunk-QJ6P2DW6.js} +28 -28
  80. package/dist/chunk-QJ6P2DW6.js.map +1 -0
  81. package/dist/{chunk-IP6TMT3D.js → chunk-R7QFP6EL.js} +3 -3
  82. package/dist/chunk-R7QFP6EL.js.map +1 -0
  83. package/dist/{chunk-WZWR2ELB.js → chunk-SEBU6JCK.js} +6 -6
  84. package/dist/chunk-SEBU6JCK.js.map +1 -0
  85. package/dist/{chunk-7OBL3H5P.js → chunk-SEFK4NZV.js} +3 -3
  86. package/dist/chunk-SEFK4NZV.js.map +1 -0
  87. package/dist/chunk-SRIT4NFQ.js +67 -0
  88. package/dist/chunk-SRIT4NFQ.js.map +1 -0
  89. package/dist/chunk-SY62XJFA.js +19 -0
  90. package/dist/chunk-SY62XJFA.js.map +1 -0
  91. package/dist/{chunk-SVXDWPLO.js → chunk-THD3YOOZ.js} +17 -17
  92. package/dist/chunk-THD3YOOZ.js.map +1 -0
  93. package/dist/chunk-VXFYETRK.js +58 -0
  94. package/dist/chunk-VXFYETRK.js.map +1 -0
  95. package/dist/chunk-XBX6QMR5.js +58 -0
  96. package/dist/chunk-XBX6QMR5.js.map +1 -0
  97. package/dist/{chunk-SCUT2ZCD.js → chunk-XCGZPFT7.js} +17 -17
  98. package/dist/chunk-XCGZPFT7.js.map +1 -0
  99. package/dist/chunk-XMK3T4TA.js +73 -0
  100. package/dist/chunk-XMK3T4TA.js.map +1 -0
  101. package/dist/chunk-YJ6MPS6U.js +226 -0
  102. package/dist/chunk-YJ6MPS6U.js.map +1 -0
  103. package/dist/chunk-YRYQXU3G.js +38 -0
  104. package/dist/chunk-YRYQXU3G.js.map +1 -0
  105. package/dist/{chunk-5J7BP5DI.js → chunk-YWFPMND7.js} +10 -10
  106. package/dist/chunk-YWFPMND7.js.map +1 -0
  107. package/dist/chunk-YYEGAFUE.js +94 -0
  108. package/dist/chunk-YYEGAFUE.js.map +1 -0
  109. package/dist/{chunk-TKA4LOMT.js → chunk-ZZ7H7VVX.js} +8 -8
  110. package/dist/chunk-ZZ7H7VVX.js.map +1 -0
  111. package/dist/components/data/index.d.ts +318 -228
  112. package/dist/components/data/index.js +591 -1394
  113. package/dist/components/data/index.js.map +1 -1
  114. package/dist/components/layout/dashboard-page.d.ts +4 -0
  115. package/dist/components/layout/dashboard-page.js +5 -0
  116. package/dist/components/layout/dashboard-page.js.map +1 -0
  117. package/dist/components/layout/detail-page.d.ts +91 -0
  118. package/dist/components/layout/detail-page.js +6 -0
  119. package/dist/components/layout/detail-page.js.map +1 -0
  120. package/dist/components/layout/form-page.d.ts +82 -0
  121. package/dist/components/layout/form-page.js +5 -0
  122. package/dist/components/layout/form-page.js.map +1 -0
  123. package/dist/components/layout/index.d.ts +14 -0
  124. package/dist/components/layout/index.js +21 -0
  125. package/dist/components/layout/index.js.map +1 -0
  126. package/dist/components/layout/settings-page.d.ts +114 -0
  127. package/dist/components/layout/settings-page.js +6 -0
  128. package/dist/components/layout/settings-page.js.map +1 -0
  129. package/dist/components/patterns/empty-state.d.ts +73 -0
  130. package/dist/components/{ui → patterns}/empty-state.js +2 -1
  131. package/dist/components/{ui → patterns}/form-field.d.ts +5 -6
  132. package/dist/components/{ui → patterns}/form-field.js +2 -2
  133. package/dist/components/patterns/index.d.ts +17 -0
  134. package/dist/components/patterns/index.js +18 -0
  135. package/dist/components/patterns/index.js.map +1 -0
  136. package/dist/components/patterns/page-loading.d.ts +25 -0
  137. package/dist/components/patterns/page-loading.js +5 -0
  138. package/dist/components/patterns/page-loading.js.map +1 -0
  139. package/dist/components/patterns/settings-row.d.ts +41 -0
  140. package/dist/components/patterns/settings-row.js +6 -0
  141. package/dist/components/patterns/settings-row.js.map +1 -0
  142. package/dist/components/patterns/status-badge.d.ts +37 -0
  143. package/dist/components/patterns/status-badge.js +4 -0
  144. package/dist/components/patterns/status-badge.js.map +1 -0
  145. package/dist/components/patterns/toggle-row.d.ts +35 -0
  146. package/dist/components/patterns/toggle-row.js +8 -0
  147. package/dist/components/patterns/toggle-row.js.map +1 -0
  148. package/dist/components/patterns/user-avatar.d.ts +34 -0
  149. package/dist/components/patterns/user-avatar.js +5 -0
  150. package/dist/components/patterns/user-avatar.js.map +1 -0
  151. package/dist/components/ui/accessible-icon.d.ts +47 -0
  152. package/dist/components/ui/accessible-icon.js +3 -0
  153. package/dist/components/ui/accessible-icon.js.map +1 -0
  154. package/dist/components/ui/accordion.d.ts +5 -5
  155. package/dist/components/ui/accordion.js +1 -1
  156. package/dist/components/ui/alert-dialog.d.ts +12 -13
  157. package/dist/components/ui/alert-dialog.js +1 -1
  158. package/dist/components/ui/aspect-ratio.d.ts +2 -2
  159. package/dist/components/ui/aspect-ratio.js +1 -1
  160. package/dist/components/ui/avatar.d.ts +4 -4
  161. package/dist/components/ui/avatar.js +1 -1
  162. package/dist/components/ui/badge.d.ts +1 -2
  163. package/dist/components/ui/breadcrumb.d.ts +2 -3
  164. package/dist/components/ui/button-group.d.ts +1 -2
  165. package/dist/components/ui/button.d.ts +73 -8
  166. package/dist/components/ui/button.js +1 -1
  167. package/dist/components/ui/calendar.d.ts +2 -3
  168. package/dist/components/ui/calendar.js +2 -2
  169. package/dist/components/ui/card.d.ts +6 -7
  170. package/dist/components/ui/carousel.d.ts +4 -4
  171. package/dist/components/ui/carousel.js +2 -2
  172. package/dist/components/ui/chart.d.ts +4 -5
  173. package/dist/components/ui/checkbox.d.ts +2 -2
  174. package/dist/components/ui/checkbox.js +1 -1
  175. package/dist/components/ui/collapsible.d.ts +4 -4
  176. package/dist/components/ui/collapsible.js +1 -1
  177. package/dist/components/ui/command-palette.d.ts +1 -2
  178. package/dist/components/ui/command-palette.js +3 -3
  179. package/dist/components/ui/command.d.ts +11 -12
  180. package/dist/components/ui/command.js +2 -2
  181. package/dist/components/ui/context-menu.d.ts +16 -17
  182. package/dist/components/ui/context-menu.js +1 -1
  183. package/dist/components/ui/date-picker.d.ts +2 -2
  184. package/dist/components/ui/date-picker.js +4 -4
  185. package/dist/components/ui/dialog.d.ts +11 -12
  186. package/dist/components/ui/dialog.js +1 -1
  187. package/dist/components/ui/drawer.d.ts +10 -11
  188. package/dist/components/ui/dropdown-menu.d.ts +16 -17
  189. package/dist/components/ui/dropdown-menu.js +1 -1
  190. package/dist/components/ui/hover-card.d.ts +4 -4
  191. package/dist/components/ui/hover-card.js +1 -1
  192. package/dist/components/ui/input-otp.d.ts +2 -2
  193. package/dist/components/ui/kbd.d.ts +1 -2
  194. package/dist/components/ui/label.d.ts +2 -2
  195. package/dist/components/ui/label.js +1 -1
  196. package/dist/components/ui/menubar.d.ts +17 -18
  197. package/dist/components/ui/menubar.js +1 -1
  198. package/dist/components/ui/navigation-menu.d.ts +9 -9
  199. package/dist/components/ui/navigation-menu.js +1 -1
  200. package/dist/components/ui/pagination.d.ts +5 -6
  201. package/dist/components/ui/pagination.js +2 -2
  202. package/dist/components/ui/password-toggle-field.d.ts +120 -0
  203. package/dist/components/ui/password-toggle-field.js +4 -0
  204. package/dist/components/ui/password-toggle-field.js.map +1 -0
  205. package/dist/components/ui/popover.d.ts +4 -4
  206. package/dist/components/ui/popover.js +1 -1
  207. package/dist/components/ui/progress.d.ts +1 -2
  208. package/dist/components/ui/radio-group.d.ts +3 -3
  209. package/dist/components/ui/radio-group.js +1 -1
  210. package/dist/components/ui/resizable.d.ts +3 -4
  211. package/dist/components/ui/scroll-area.d.ts +60 -3
  212. package/dist/components/ui/scroll-area.js +1 -1
  213. package/dist/components/ui/select.d.ts +9 -9
  214. package/dist/components/ui/select.js +1 -1
  215. package/dist/components/ui/separator.d.ts +1 -2
  216. package/dist/components/ui/sheet.d.ts +13 -12
  217. package/dist/components/ui/sheet.js +1 -1
  218. package/dist/components/ui/skeleton.d.ts +1 -2
  219. package/dist/components/ui/slider.d.ts +2 -2
  220. package/dist/components/ui/slider.js +1 -1
  221. package/dist/components/ui/sonner.d.ts +1 -2
  222. package/dist/components/ui/spinner.d.ts +1 -2
  223. package/dist/components/ui/switch.d.ts +2 -2
  224. package/dist/components/ui/switch.js +1 -1
  225. package/dist/components/ui/tabs.d.ts +29 -14
  226. package/dist/components/ui/tabs.js +1 -1
  227. package/dist/components/ui/toggle-group.d.ts +3 -3
  228. package/dist/components/ui/toggle-group.js +2 -2
  229. package/dist/components/ui/toggle.d.ts +2 -2
  230. package/dist/components/ui/toggle.js +1 -1
  231. package/dist/components/ui/toolbar.d.ts +104 -0
  232. package/dist/components/ui/toolbar.js +6 -0
  233. package/dist/components/ui/toolbar.js.map +1 -0
  234. package/dist/components/ui/tooltip.d.ts +46 -5
  235. package/dist/components/ui/tooltip.js +1 -1
  236. package/dist/components/ui/typography.d.ts +9 -10
  237. package/dist/components/ui/visually-hidden.d.ts +48 -0
  238. package/dist/components/ui/visually-hidden.js +4 -0
  239. package/dist/components/ui/visually-hidden.js.map +1 -0
  240. package/dist/dashboard-page-C0TihRl5.d.ts +107 -0
  241. package/dist/hooks/index.d.ts +2 -3
  242. package/dist/hooks/index.js +6 -6
  243. package/dist/hooks/use-keyboard-navigation.d.ts +58 -2
  244. package/dist/hooks/use-keyboard-navigation.js +1 -1
  245. package/dist/hooks/use-resource-page.d.ts +2 -3
  246. package/dist/hooks/use-resource-page.js +2 -2
  247. package/dist/hooks/use-view-preference.d.ts +2 -2
  248. package/dist/hooks/use-view-preference.js +1 -1
  249. package/dist/index.d.ts +22 -25
  250. package/dist/index.js +54 -38
  251. package/dist/spacing-BS6qECD4.d.ts +191 -0
  252. package/dist/split-Dk9f4Mi0.d.ts +57 -0
  253. package/dist/{use-resource-page-BXBv_Xah.d.ts → use-resource-page-DTQS011Q.d.ts} +18 -6
  254. package/dist/view-settings-kHKCHMjj.d.ts +12 -0
  255. package/dist/{ViewToggle-DDe_Luj2.d.ts → view-toggle-CahQ87PW.d.ts} +2 -2
  256. package/package.json +80 -39
  257. package/dist/chunk-2B3MFHBQ.js.map +0 -1
  258. package/dist/chunk-2MXMWBDV.js.map +0 -1
  259. package/dist/chunk-4V4H2ZM7.js.map +0 -1
  260. package/dist/chunk-5J7BP5DI.js.map +0 -1
  261. package/dist/chunk-5Q4FABZQ.js.map +0 -1
  262. package/dist/chunk-63FW5ZUA.js.map +0 -1
  263. package/dist/chunk-7OBL3H5P.js.map +0 -1
  264. package/dist/chunk-AUECDWP2.js.map +0 -1
  265. package/dist/chunk-C6H7AMO4.js.map +0 -1
  266. package/dist/chunk-EI5EGKHL.js +0 -32
  267. package/dist/chunk-EI5EGKHL.js.map +0 -1
  268. package/dist/chunk-IP6TMT3D.js.map +0 -1
  269. package/dist/chunk-JJ4NOMMI.js +0 -73
  270. package/dist/chunk-JJ4NOMMI.js.map +0 -1
  271. package/dist/chunk-JXI2MYL3.js.map +0 -1
  272. package/dist/chunk-KBS4BHME.js +0 -11
  273. package/dist/chunk-KBS4BHME.js.map +0 -1
  274. package/dist/chunk-LRXDZBV2.js +0 -26
  275. package/dist/chunk-LRXDZBV2.js.map +0 -1
  276. package/dist/chunk-NJMO3VPA.js.map +0 -1
  277. package/dist/chunk-OCTV3S4I.js +0 -29
  278. package/dist/chunk-OCTV3S4I.js.map +0 -1
  279. package/dist/chunk-QBZMY2AF.js.map +0 -1
  280. package/dist/chunk-QLCDAFS7.js.map +0 -1
  281. package/dist/chunk-SBJV3K4G.js.map +0 -1
  282. package/dist/chunk-SCUT2ZCD.js.map +0 -1
  283. package/dist/chunk-SVXDWPLO.js.map +0 -1
  284. package/dist/chunk-T465NJRL.js +0 -134
  285. package/dist/chunk-T465NJRL.js.map +0 -1
  286. package/dist/chunk-T5VX5DYO.js.map +0 -1
  287. package/dist/chunk-TKA4LOMT.js.map +0 -1
  288. package/dist/chunk-UGHQFQOE.js.map +0 -1
  289. package/dist/chunk-WALXVR6V.js +0 -9
  290. package/dist/chunk-WALXVR6V.js.map +0 -1
  291. package/dist/chunk-WZWR2ELB.js.map +0 -1
  292. package/dist/chunk-YZEA5TGK.js.map +0 -1
  293. package/dist/chunk-ZDAT5JDH.js.map +0 -1
  294. package/dist/chunk-ZJFSZFPI.js.map +0 -1
  295. package/dist/components/ui/empty-state.d.ts +0 -22
  296. /package/dist/components/{ui → patterns}/empty-state.js.map +0 -0
  297. /package/dist/components/{ui → patterns}/form-field.js.map +0 -0
package/dist/index.js CHANGED
@@ -1,56 +1,72 @@
1
- export { Tooltip } from './chunk-EI5EGKHL.js';
2
1
  export { H1, H2, H3, H4, Large, Lead, Muted, P, Small } from './chunk-HVQCZFJ7.js';
3
- export { Slider } from './chunk-LRXDZBV2.js';
2
+ export { VisuallyHidden } from './chunk-SY62XJFA.js';
3
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-VXFYETRK.js';
4
+ export { ToggleGroup, ToggleGroupItem } from './chunk-NUXW6NPP.js';
5
+ export { Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, ToolbarToggleGroup, ToolbarToggleItem, toolbarVariants } from './chunk-YYEGAFUE.js';
6
+ export { Toggle, toggleVariants } from './chunk-C46ITXE4.js';
7
+ export { Tooltip } from './chunk-G5YKBPBF.js';
8
+ export { ScrollArea } from './chunk-6KHY647C.js';
9
+ export { Slider } from './chunk-PSR47JRA.js';
4
10
  export { Toaster, toast } from './chunk-4RAZJ6LL.js';
5
- export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-JJ4NOMMI.js';
6
- export { ToggleGroup, ToggleGroupItem } from './chunk-5Q4FABZQ.js';
7
- export { Toggle, toggleVariants } from './chunk-JXI2MYL3.js';
8
- export { RadioGroup, RadioGroupItem } from './chunk-TKA4LOMT.js';
11
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from './chunk-AL5TMEZQ.js';
12
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from './chunk-THD3YOOZ.js';
13
+ export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from './chunk-IJCT5IJD.js';
14
+ export { PasswordToggleField, PasswordToggleFieldIcon, PasswordToggleFieldInput, PasswordToggleFieldSlot, PasswordToggleFieldToggle } from './chunk-SRIT4NFQ.js';
15
+ export { RadioGroup, RadioGroupItem } from './chunk-ZZ7H7VVX.js';
9
16
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './chunk-TAP3PBQT.js';
10
- export { ScrollArea } from './chunk-OCTV3S4I.js';
11
- export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './chunk-K23AQNOM.js';
12
- export { Kbd } from './chunk-FFSDFQQN.js';
13
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from './chunk-4V4H2ZM7.js';
14
- export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle } from './chunk-SVXDWPLO.js';
15
- export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from './chunk-KB5T5LWM.js';
16
- export { DatePicker } from './chunk-6VVVGYKS.js';
17
17
  export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from './chunk-JYPENH7T.js';
18
- export { EmptyState, NoFeaturesFound, NoFeedbackFound, NoSearchResults } from './chunk-ZDAT5JDH.js';
19
- export { HoverCard, HoverCardContent, HoverCardTrigger } from './chunk-63FW5ZUA.js';
18
+ export { HoverCard, HoverCardContent, HoverCardTrigger } from './chunk-P3ZL6FGR.js';
20
19
  export { InputGroup, InputGroupInput, InputGroupPrefix, InputGroupSuffix } from './chunk-GJ6XSCNF.js';
21
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './chunk-AUECDWP2.js';
20
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from './chunk-K23AQNOM.js';
21
+ export { Kbd } from './chunk-FFSDFQQN.js';
22
22
  export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from './chunk-QCJAASJT.js';
23
- export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './chunk-UGHQFQOE.js';
24
- export { Alert, AlertDescription, AlertTitle, alertVariants } from './chunk-OZZTPE7F.js';
25
- export { AspectRatio } from './chunk-WALXVR6V.js';
26
- export { Avatar, AvatarFallback, AvatarImage } from './chunk-C6H7AMO4.js';
23
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './chunk-6TVMQH6M.js';
24
+ export { DatePicker } from './chunk-6XPMU65K.js';
27
25
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from './chunk-2MQKBZBJ.js';
28
26
  export { ButtonGroup } from './chunk-K4YLKVMX.js';
29
- export { Calendar, CalendarDayButton } from './chunk-44TULYGG.js';
30
- export { Spinner } from './chunk-OVU3Z2MT.js';
31
- export { Switch } from './chunk-2MXMWBDV.js';
27
+ export { Calendar, CalendarDayButton } from './chunk-J6FBA7PH.js';
28
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './chunk-AOZGQM6W.js';
29
+ export { AccessibleIcon } from './chunk-JAMLFMDS.js';
30
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './chunk-YWFPMND7.js';
31
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './chunk-M62CHO3N.js';
32
+ export { AspectRatio } from './chunk-6Q6CLLJ4.js';
33
+ export { Container, Stack, containerVariants, stackVariants } from './chunk-4CQHPWJD.js';
34
+ export { FormPage } from './chunk-PLIYF6KI.js';
35
+ export { Alert, AlertDescription, AlertTitle, alertVariants } from './chunk-OZZTPE7F.js';
36
+ export { Section, SettingsPage, sectionHeadingVariants } from './chunk-P64MFQXZ.js';
37
+ export { StatusBadge, statusBadgeVariants } from './chunk-XMK3T4TA.js';
38
+ export { ToggleRow } from './chunk-6M4NHHKG.js';
39
+ export { UserAvatar, userAvatarVariants } from './chunk-XBX6QMR5.js';
40
+ export { Avatar, AvatarFallback, AvatarImage } from './chunk-LNFF2RBD.js';
41
+ export { SettingsRow } from './chunk-A7AHVDG7.js';
32
42
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './chunk-N2ZFNOOT.js';
33
43
  export { Textarea } from './chunk-YETMISCE.js';
34
- export { Progress } from './chunk-W5Y3LG5K.js';
35
- export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue } from './chunk-2B3MFHBQ.js';
36
44
  export { Separator } from './chunk-SXSCHWZU.js';
37
- export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from './chunk-SCUT2ZCD.js';
45
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from './chunk-XCGZPFT7.js';
38
46
  export { Skeleton } from './chunk-QFM4Z2SS.js';
47
+ export { Progress } from './chunk-W5Y3LG5K.js';
48
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './chunk-QJ6P2DW6.js';
39
49
  export { Input } from './chunk-QSXVL5UB.js';
40
- export { Popover, PopoverContent, PopoverTrigger } from './chunk-NJMO3VPA.js';
41
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './chunk-SBJV3K4G.js';
42
- export { FormDescription, FormError, FormField, FormLabel } from './chunk-IP6TMT3D.js';
43
- export { Label } from './chunk-T5VX5DYO.js';
50
+ export { Checkbox } from './chunk-SEBU6JCK.js';
44
51
  export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-FN3FZVUR.js';
45
- export { Checkbox } from './chunk-WZWR2ELB.js';
46
- export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-KBS4BHME.js';
52
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-B2GIBUQD.js';
47
53
  export { Badge } from './chunk-NPNADZHM.js';
48
- export { Button } from './chunk-ZJFSZFPI.js';
49
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './chunk-5J7BP5DI.js';
50
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './chunk-QBZMY2AF.js';
51
- export { CommandPalette, useCommandPaletteHotkey } from './chunk-A2OXCNNY.js';
52
- export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './chunk-7OBL3H5P.js';
53
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-YZEA5TGK.js';
54
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue } from './chunk-FK42ZGGV.js';
55
+ export { Popover, PopoverContent, PopoverTrigger } from './chunk-22XB3Q6H.js';
56
+ export { Switch } from './chunk-27ELYTGE.js';
57
+ export { EmptyState, NoFeaturesFound, NoFeedbackFound, NoSearchResults } from './chunk-65SPT7EA.js';
58
+ export { Button } from './chunk-NWSCYLPT.js';
59
+ export { PageLoading, pageLoadingVariants } from './chunk-YRYQXU3G.js';
60
+ export { Spinner } from './chunk-OVU3Z2MT.js';
61
+ export { FormDescription, FormError, FormField, FormLabel } from './chunk-R7QFP6EL.js';
62
+ export { Label } from './chunk-F47U5KNW.js';
63
+ export { DashboardPage, Grid, gridVariants } from './chunk-ARJI2JUV.js';
64
+ export { DetailPage } from './chunk-AFZ76Q26.js';
65
+ export { Split, splitVariants } from './chunk-D2LIXA2Y.js';
66
+ export { GAP_CLASSES, spaceScale } from './chunk-AVFZ4P4B.js';
67
+ export { CommandPalette, useCommandPaletteHotkey } from './chunk-CNTWQSUT.js';
68
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './chunk-SEFK4NZV.js';
69
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-7XMZVISM.js';
54
70
  export { cn } from './chunk-NZ5WBA4R.js';
55
71
  export { DefaultLink, defaultNavigate, isPathActive, useBrowserSearchParams } from './chunk-6NPEMLBA.js';
56
72
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,191 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const stackVariants: (props?: ({
6
+ direction?: "row" | "column" | null | undefined;
7
+ gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | "3xl" | null | undefined;
8
+ align?: "center" | "end" | "start" | "stretch" | null | undefined;
9
+ justify?: "center" | "end" | "start" | "between" | "around" | null | undefined;
10
+ wrap?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ interface StackProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof stackVariants> {
13
+ /** Stable test/automation selector (emitted as `data-testid`). */
14
+ testID?: string;
15
+ }
16
+ /**
17
+ * Stack — one-dimensional flow. The single most-repeated shape in any
18
+ * application: a run of things in a line, evenly spaced.
19
+ *
20
+ * It replaces the `flex flex-col gap-4` / `flex items-center gap-2` strings
21
+ * that otherwise get retyped in every file, and it is the reason `gap`
22
+ * stays on the shared `SpaceToken` scale (see `./spacing`) instead of
23
+ * drifting per page.
24
+ *
25
+ * ```tsx
26
+ * <Stack gap="lg">
27
+ * <Card />
28
+ * <Card />
29
+ * </Stack>
30
+ *
31
+ * <Stack direction="row" align="center" justify="between" gap="sm">
32
+ * <h2>Members</h2>
33
+ * <Button>Invite</Button>
34
+ * </Stack>
35
+ * ```
36
+ *
37
+ * Deliberately NOT here: responsive per-breakpoint directions. A layout
38
+ * that changes axis at a breakpoint is a `Split`, which owns that idea and
39
+ * names the breakpoint explicitly.
40
+ *
41
+ * Note for consumers of both surfaces: `@marktiderman/genesis-ui-native`
42
+ * splits this shape into two components, `Stack` (column) and `Inline`
43
+ * (row). On web they are one component with a `direction` prop, which is
44
+ * the established web idiom. The `gap` / `align` / `justify` vocabulary is
45
+ * identical either way — deliberately, and enforced by a test that reads
46
+ * the native definitions directly — so a spec written once still reads the
47
+ * same on both. That means the web unions are the SHARED vocabulary, not
48
+ * everything web flexbox can do; see the note on `align` below.
49
+ *
50
+ * @stability Beta
51
+ */
52
+ declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
53
+
54
+ declare const sectionHeadingVariants: (props?: ({
55
+ level?: 2 | 4 | 3 | null | undefined;
56
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
57
+ interface SectionProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
58
+ /** Section heading. Required — an untitled region is just a `Stack`. */
59
+ title: React.ReactNode;
60
+ /** Optional supporting copy under the heading. */
61
+ description?: React.ReactNode;
62
+ /** Optional trailing controls for this region (a button, a menu, a filter). */
63
+ actions?: React.ReactNode;
64
+ /**
65
+ * Heading level. Default `2`, i.e. a top-level region of a page whose
66
+ * `<h1>` is the page title. Drop to `3`/`4` when nesting so the outline
67
+ * stays legal — heading level is document structure, not a font size.
68
+ */
69
+ level?: 2 | 3 | 4;
70
+ /** Escape hatch for the heading's own classes (type scale, color). */
71
+ headingClassName?: string;
72
+ /** Stable test/automation selector (emitted as `data-testid`). */
73
+ testID?: string;
74
+ }
75
+ /**
76
+ * Section — a titled region of a page: heading, optional description,
77
+ * optional trailing actions, and the content itself.
78
+ *
79
+ * ```tsx
80
+ * <Section
81
+ * title="Team members"
82
+ * description="Everyone with access to this workspace."
83
+ * actions={<Button>Invite</Button>}
84
+ * >
85
+ * <Grid cols={3}>{…}</Grid>
86
+ * </Section>
87
+ * ```
88
+ *
89
+ * Renders a real `<section>` named by its own heading through
90
+ * `aria-labelledby`, which is what turns it into a navigable landmark —
91
+ * an unnamed `<section>` is announced as nothing at all, so the markup
92
+ * that *looks* the most semantic is the markup that most often isn't.
93
+ *
94
+ * The header collapses to a column below `sm`, so a long title and an
95
+ * action button never fight over the same line on a phone.
96
+ *
97
+ * @stability Beta
98
+ */
99
+ declare const Section: React.ForwardRefExoticComponent<SectionProps & React.RefAttributes<HTMLElement>>;
100
+
101
+ declare const containerVariants: (props?: ({
102
+ size?: "sm" | "lg" | "md" | "full" | "prose" | null | undefined;
103
+ gutter?: boolean | null | undefined;
104
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
105
+ interface ContainerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof containerVariants> {
106
+ /** Stable test/automation selector (emitted as `data-testid`). */
107
+ testID?: string;
108
+ }
109
+ /**
110
+ * Container — the page gutter: a centered column with a named maximum
111
+ * width and responsive side padding.
112
+ *
113
+ * ```tsx
114
+ * <Container>
115
+ * <Section title="Overview">{…}</Section>
116
+ * </Container>
117
+ *
118
+ * <Container size="sm">
119
+ * <SettingsForm />
120
+ * </Container>
121
+ *
122
+ * <Container size="full" gutter={false}>
123
+ * <FullBleedMap />
124
+ * </Container>
125
+ * ```
126
+ *
127
+ * `gutter` is a real prop rather than a `className` override because the
128
+ * padding is responsive: passing `px-0` would only cancel the base step
129
+ * and leave `sm:px-6` and `lg:px-8` intact, so the escape hatch that looks
130
+ * like it should work silently doesn't.
131
+ *
132
+ * @stability Beta
133
+ */
134
+ declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
135
+
136
+ /**
137
+ * Layout spacing scale — the single source of truth for the `gap` prop
138
+ * shared by `Stack`, `Grid` and `Split`.
139
+ *
140
+ * These are the SAME semantic step names and the SAME pixel values as
141
+ * `@marktiderman/genesis-ui-native`'s `spaceScale`
142
+ * (`packages/ui-native/src/components/layout/spacing.ts`), which already
143
+ * governs the native `Stack` / `Inline` / `Box` / `Grid`. That parity is the
144
+ * point: `gap="lg"` has to mean 16px on both surfaces, or a design spec
145
+ * written once produces two different pages. A second, subtly-different
146
+ * six-step scale on web would have been exactly the "one concept, two
147
+ * divergent implementations" failure `docs/FRAMEWORK.md` is written to
148
+ * prevent.
149
+ *
150
+ * Every emitted class is a STATIC literal in `GAP_CLASSES` rather than a
151
+ * template built at runtime, for the same reason the native side spells its
152
+ * table out: Tailwind compiles only the class names its content scanner
153
+ * finds in source. A `gap-${scale[token] / 4}` form is invisible to the
154
+ * scanner, so any step that doesn't independently appear as a literal
155
+ * elsewhere silently renders with no gap at all.
156
+ *
157
+ * @stability Beta
158
+ */
159
+ /** Semantic spacing steps, in pixels, on the 4px design grid. */
160
+ declare const spaceScale: {
161
+ readonly none: 0;
162
+ readonly xs: 4;
163
+ readonly sm: 8;
164
+ readonly md: 12;
165
+ readonly lg: 16;
166
+ readonly xl: 24;
167
+ readonly "2xl": 32;
168
+ readonly "3xl": 48;
169
+ };
170
+ /**
171
+ * The spacing vocabulary shared by every layout primitive — and, by
172
+ * construction, by the native ones too.
173
+ */
174
+ type SpaceToken = keyof typeof spaceScale;
175
+ /**
176
+ * `SpaceToken` → Tailwind gap utility. `satisfies` keeps the table
177
+ * exhaustive against the scale, so adding a step to `spaceScale` without a
178
+ * class here is a type error rather than a silently missing gap.
179
+ */
180
+ declare const GAP_CLASSES: {
181
+ readonly none: "gap-0";
182
+ readonly xs: "gap-1";
183
+ readonly sm: "gap-2";
184
+ readonly md: "gap-3";
185
+ readonly lg: "gap-4";
186
+ readonly xl: "gap-6";
187
+ readonly "2xl": "gap-8";
188
+ readonly "3xl": "gap-12";
189
+ };
190
+
191
+ export { Container as C, GAP_CLASSES as G, Section as S, type ContainerProps as a, type SectionProps as b, type SpaceToken as c, Stack as d, type StackProps as e, containerVariants as f, spaceScale as g, stackVariants as h, sectionHeadingVariants as s };
@@ -0,0 +1,57 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ /**
6
+ * Breakpoint at which a `Split` stops stacking and becomes side-by-side.
7
+ * These are Tailwind's own breakpoint names, so `at="lg"` means exactly
8
+ * what `lg:` means everywhere else in the app.
9
+ */
10
+ type SplitBreakpoint = "sm" | "md" | "lg" | "xl";
11
+ /** How the horizontal space divides once the split is side-by-side. */
12
+ type SplitRatio = "1/3" | "1/2" | "2/3";
13
+ declare const splitVariants: (props?: ({
14
+ at?: "sm" | "lg" | "md" | "xl" | null | undefined;
15
+ gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | "3xl" | null | undefined;
16
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
17
+ interface SplitProps extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof splitVariants>, "at"> {
18
+ /** Leading pane — the "master" half. Renders first when stacked. */
19
+ start: React.ReactNode;
20
+ /** Trailing pane — the "detail" half. Renders second when stacked. */
21
+ end: React.ReactNode;
22
+ /** Share of the width the `start` pane takes. Default `"1/3"`. */
23
+ ratio?: SplitRatio;
24
+ /** Breakpoint at and above which the panes sit side by side. Default `"md"`. */
25
+ at?: SplitBreakpoint;
26
+ /** Stable test/automation selector (emitted as `data-testid`). */
27
+ testID?: string;
28
+ }
29
+ /**
30
+ * Split — the master-detail layout: two panes side by side above a
31
+ * breakpoint, stacked below it.
32
+ *
33
+ * ```tsx
34
+ * <Split
35
+ * ratio="1/3"
36
+ * at="lg"
37
+ * gap="lg"
38
+ * start={<ConversationList />}
39
+ * end={<ConversationDetail />}
40
+ * />
41
+ * ```
42
+ *
43
+ * The stacking behaviour is the whole reason this is a component rather
44
+ * than two divs: a hand-rolled split usually forgets the small screen, and
45
+ * a hand-rolled split that remembers usually picks a different breakpoint
46
+ * from the one next door.
47
+ *
48
+ * Two panes only, and both are required — a "split" with an optional half
49
+ * is a `Stack`, and a three-pane shell (nav + list + detail) is an
50
+ * application shell, not a layout primitive. Nest a `Split` inside a
51
+ * `Split` if you genuinely need three.
52
+ *
53
+ * @stability Beta
54
+ */
55
+ declare const Split: React.ForwardRefExoticComponent<SplitProps & React.RefAttributes<HTMLDivElement>>;
56
+
57
+ export { Split as S, type SplitBreakpoint as a, type SplitProps as b, type SplitRatio as c, splitVariants as s };
@@ -1,7 +1,7 @@
1
+ import * as React from 'react';
1
2
  import { ReactNode } from 'react';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { Density } from './hooks/use-view-settings.js';
4
- import { V as ViewMode } from './ViewToggle-DDe_Luj2.js';
4
+ import { V as ViewMode } from './view-toggle-CahQ87PW.js';
5
5
  import { Identifier, FilterParam, SortParam } from '@marktiderman/genesis-core/provider';
6
6
 
7
7
  interface DataTableColumn<T> {
@@ -59,15 +59,15 @@ interface DataTableProps<T> {
59
59
  */
60
60
  density?: Density;
61
61
  }
62
- declare function DataTable<T>({ items, columns, getKey, onRowClick, selectable, selected, onToggleSelect, onToggleAll, renderActions, emptyMessage, columnVisibility, columnVisibilityKey, resizableColumns, pagination, pageSize: initialPageSize, pageSizeOptions, stickyHeader, resizeKey, stickyFirstColumn, density, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
62
+ declare function DataTable<T>({ items, columns, getKey, onRowClick, selectable, selected, onToggleSelect, onToggleAll, renderActions, emptyMessage, columnVisibility, columnVisibilityKey, resizableColumns, pagination, pageSize: initialPageSize, pageSizeOptions, stickyHeader, resizeKey, stickyFirstColumn, density, }: DataTableProps<T>): React.JSX.Element;
63
63
  declare function ThumbnailCell({ src, alt, }: {
64
64
  src?: string | null;
65
65
  alt: string;
66
- }): react_jsx_runtime.JSX.Element;
66
+ }): React.JSX.Element;
67
67
  declare function LinkCell({ href, label, }: {
68
68
  href?: string | null;
69
69
  label?: string;
70
- }): react_jsx_runtime.JSX.Element;
70
+ }): React.JSX.Element;
71
71
 
72
72
  /** Actions available inside column render functions. */
73
73
  interface ResourceActions<T> {
@@ -111,11 +111,23 @@ interface UseResourcePageProps<T> {
111
111
  titleField?: string;
112
112
  /** Field used for the detail subtitle. Defaults to second column key. */
113
113
  subtitleField?: string;
114
+ /**
115
+ * Server-controlled mode. The `data` handed in has ALREADY been searched,
116
+ * sorted and paginated by the server, so this hook must not do any of it a
117
+ * second time — `data` is returned untouched and `total` is the server's
118
+ * `total` rather than the length of a client-filtered slice.
119
+ *
120
+ * Search / sort / status state is still tracked (the filter UI stays
121
+ * controlled and `onFiltersChange` still fires) — only the client-side
122
+ * transform of `data` is skipped. Defaults to `false`, so every existing
123
+ * caller keeps its current client-side behavior.
124
+ */
125
+ controlled?: boolean;
114
126
  }
115
127
  interface UseResourcePageReturn<T> {
116
128
  /** Filtered and sorted data for display. */
117
129
  data: T[];
118
- /** Total count (of the filtered set). */
130
+ /** Total count (of the filtered set; the server's `total` when `controlled`). */
119
131
  total: number;
120
132
  /** Resolved column definitions. */
121
133
  columns: ResourceColumnDef<T>[];
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { Density } from './hooks/use-view-settings.js';
3
+
4
+ interface ViewSettingsProps {
5
+ pageSize: number;
6
+ onPageSizeChange: (size: number) => void;
7
+ density: Density;
8
+ onDensityChange: (density: Density) => void;
9
+ }
10
+ declare function ViewSettings({ pageSize, onPageSizeChange, density, onDensityChange, }: ViewSettingsProps): React.JSX.Element;
11
+
12
+ export { ViewSettings as V };
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import * as React from 'react';
2
2
 
3
3
  type ViewMode = "grid" | "table" | "list";
4
4
  interface ViewToggleProps {
5
5
  viewMode: ViewMode;
6
6
  onViewModeChange: (mode: ViewMode) => void;
7
7
  }
8
- declare function ViewToggle({ viewMode, onViewModeChange }: ViewToggleProps): react_jsx_runtime.JSX.Element;
8
+ declare function ViewToggle({ viewMode, onViewModeChange }: ViewToggleProps): React.JSX.Element;
9
9
 
10
10
  export { type ViewMode as V, ViewToggle as a };