@versaur/react 0.0.1 → 1.0.1

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 (390) hide show
  1. package/dist/blocks.d.ts +1347 -0
  2. package/dist/blocks.js +1002 -38
  3. package/dist/{utils/cx.js → cx-B9vmfsc1.js} +1 -1
  4. package/dist/forms.d.ts +527 -0
  5. package/dist/forms.js +565 -24
  6. package/dist/overlay-parts-BhSNUdE2.js +20 -0
  7. package/dist/primitive.d.ts +574 -0
  8. package/dist/primitive.js +187 -24
  9. package/dist/tokens.d.ts +1 -0
  10. package/dist/tokens.js +1 -0
  11. package/dist/tooltip-QgerMOQE.js +204 -0
  12. package/dist/{hooks/use-data-attrs.js → use-data-attrs-iPFyfiKN.js} +1 -1
  13. package/dist/utils.d.ts +40 -0
  14. package/dist/utils.js +2 -2
  15. package/dist/versaur-react.css +1 -0
  16. package/package.json +15 -10
  17. package/dist/blocks/app-layout/app-layout.d.ts +0 -3
  18. package/dist/blocks/app-layout/app-layout.d.ts.map +0 -1
  19. package/dist/blocks/app-layout/app-layout.types.d.ts +0 -35
  20. package/dist/blocks/app-layout/app-layout.types.d.ts.map +0 -1
  21. package/dist/blocks/app-layout/index.d.ts +0 -3
  22. package/dist/blocks/app-layout/index.d.ts.map +0 -1
  23. package/dist/blocks/attribute-list/attribute-list-item.d.ts +0 -13
  24. package/dist/blocks/attribute-list/attribute-list-item.d.ts.map +0 -1
  25. package/dist/blocks/attribute-list/attribute-list.d.ts +0 -29
  26. package/dist/blocks/attribute-list/attribute-list.d.ts.map +0 -1
  27. package/dist/blocks/attribute-list/attribute-list.types.d.ts +0 -34
  28. package/dist/blocks/attribute-list/attribute-list.types.d.ts.map +0 -1
  29. package/dist/blocks/attribute-list/index.d.ts +0 -17
  30. package/dist/blocks/attribute-list/index.d.ts.map +0 -1
  31. package/dist/blocks/avatar-group/avatar-group.d.ts +0 -3
  32. package/dist/blocks/avatar-group/avatar-group.d.ts.map +0 -1
  33. package/dist/blocks/avatar-group/avatar-group.types.d.ts +0 -30
  34. package/dist/blocks/avatar-group/avatar-group.types.d.ts.map +0 -1
  35. package/dist/blocks/avatar-group/index.d.ts +0 -15
  36. package/dist/blocks/avatar-group/index.d.ts.map +0 -1
  37. package/dist/blocks/badge-group/badge-group.d.ts +0 -15
  38. package/dist/blocks/badge-group/badge-group.d.ts.map +0 -1
  39. package/dist/blocks/badge-group/badge-group.types.d.ts +0 -34
  40. package/dist/blocks/badge-group/badge-group.types.d.ts.map +0 -1
  41. package/dist/blocks/badge-group/index.d.ts +0 -15
  42. package/dist/blocks/badge-group/index.d.ts.map +0 -1
  43. package/dist/blocks/bottom-bar/bottom-bar.d.ts +0 -38
  44. package/dist/blocks/bottom-bar/bottom-bar.d.ts.map +0 -1
  45. package/dist/blocks/bottom-bar/bottom-bar.types.d.ts +0 -19
  46. package/dist/blocks/bottom-bar/bottom-bar.types.d.ts.map +0 -1
  47. package/dist/blocks/bottom-bar/index.d.ts +0 -4
  48. package/dist/blocks/bottom-bar/index.d.ts.map +0 -1
  49. package/dist/blocks/bottom-sheet/bottom-sheet.d.ts +0 -9
  50. package/dist/blocks/bottom-sheet/bottom-sheet.d.ts.map +0 -1
  51. package/dist/blocks/bottom-sheet/bottom-sheet.types.d.ts +0 -16
  52. package/dist/blocks/bottom-sheet/bottom-sheet.types.d.ts.map +0 -1
  53. package/dist/blocks/bottom-sheet/index.d.ts +0 -3
  54. package/dist/blocks/bottom-sheet/index.d.ts.map +0 -1
  55. package/dist/blocks/button-group/button-group.d.ts +0 -14
  56. package/dist/blocks/button-group/button-group.d.ts.map +0 -1
  57. package/dist/blocks/button-group/button-group.types.d.ts +0 -39
  58. package/dist/blocks/button-group/button-group.types.d.ts.map +0 -1
  59. package/dist/blocks/button-group/index.d.ts +0 -15
  60. package/dist/blocks/button-group/index.d.ts.map +0 -1
  61. package/dist/blocks/card/card.d.ts +0 -27
  62. package/dist/blocks/card/card.d.ts.map +0 -1
  63. package/dist/blocks/card/card.types.d.ts +0 -42
  64. package/dist/blocks/card/card.types.d.ts.map +0 -1
  65. package/dist/blocks/card/index.d.ts +0 -20
  66. package/dist/blocks/card/index.d.ts.map +0 -1
  67. package/dist/blocks/dialog/dialog.d.ts +0 -4
  68. package/dist/blocks/dialog/dialog.d.ts.map +0 -1
  69. package/dist/blocks/dialog/dialog.types.d.ts +0 -12
  70. package/dist/blocks/dialog/dialog.types.d.ts.map +0 -1
  71. package/dist/blocks/dialog/index.d.ts +0 -3
  72. package/dist/blocks/dialog/index.d.ts.map +0 -1
  73. package/dist/blocks/drawer/drawer.d.ts +0 -9
  74. package/dist/blocks/drawer/drawer.d.ts.map +0 -1
  75. package/dist/blocks/drawer/drawer.types.d.ts +0 -42
  76. package/dist/blocks/drawer/drawer.types.d.ts.map +0 -1
  77. package/dist/blocks/drawer/index.d.ts +0 -3
  78. package/dist/blocks/drawer/index.d.ts.map +0 -1
  79. package/dist/blocks/index.d.ts +0 -37
  80. package/dist/blocks/index.d.ts.map +0 -1
  81. package/dist/blocks/menu/index.d.ts +0 -16
  82. package/dist/blocks/menu/index.d.ts.map +0 -1
  83. package/dist/blocks/menu/menu-item.d.ts +0 -32
  84. package/dist/blocks/menu/menu-item.d.ts.map +0 -1
  85. package/dist/blocks/menu/menu.d.ts +0 -43
  86. package/dist/blocks/menu/menu.d.ts.map +0 -1
  87. package/dist/blocks/menu/menu.types.d.ts +0 -151
  88. package/dist/blocks/menu/menu.types.d.ts.map +0 -1
  89. package/dist/blocks/modal/index.d.ts +0 -3
  90. package/dist/blocks/modal/index.d.ts.map +0 -1
  91. package/dist/blocks/modal/modal.d.ts +0 -9
  92. package/dist/blocks/modal/modal.d.ts.map +0 -1
  93. package/dist/blocks/modal/modal.types.d.ts +0 -42
  94. package/dist/blocks/modal/modal.types.d.ts.map +0 -1
  95. package/dist/blocks/nav/index.d.ts +0 -11
  96. package/dist/blocks/nav/index.d.ts.map +0 -1
  97. package/dist/blocks/nav/nav-item.d.ts +0 -33
  98. package/dist/blocks/nav/nav-item.d.ts.map +0 -1
  99. package/dist/blocks/nav/nav.d.ts +0 -33
  100. package/dist/blocks/nav/nav.d.ts.map +0 -1
  101. package/dist/blocks/nav/nav.types.d.ts +0 -83
  102. package/dist/blocks/nav/nav.types.d.ts.map +0 -1
  103. package/dist/blocks/no-results/index.d.ts +0 -11
  104. package/dist/blocks/no-results/index.d.ts.map +0 -1
  105. package/dist/blocks/no-results/no-results.d.ts +0 -22
  106. package/dist/blocks/no-results/no-results.d.ts.map +0 -1
  107. package/dist/blocks/no-results/no-results.types.d.ts +0 -32
  108. package/dist/blocks/no-results/no-results.types.d.ts.map +0 -1
  109. package/dist/blocks/sidebar/index.d.ts +0 -14
  110. package/dist/blocks/sidebar/index.d.ts.map +0 -1
  111. package/dist/blocks/sidebar/sidebar.d.ts +0 -45
  112. package/dist/blocks/sidebar/sidebar.d.ts.map +0 -1
  113. package/dist/blocks/sidebar/sidebar.types.d.ts +0 -51
  114. package/dist/blocks/sidebar/sidebar.types.d.ts.map +0 -1
  115. package/dist/blocks/table/index.d.ts +0 -3
  116. package/dist/blocks/table/index.d.ts.map +0 -1
  117. package/dist/blocks/table/table.d.ts +0 -56
  118. package/dist/blocks/table/table.d.ts.map +0 -1
  119. package/dist/blocks/table/table.types.d.ts +0 -119
  120. package/dist/blocks/table/table.types.d.ts.map +0 -1
  121. package/dist/blocks/tabs/index.d.ts +0 -13
  122. package/dist/blocks/tabs/index.d.ts.map +0 -1
  123. package/dist/blocks/tabs/tabs.d.ts +0 -34
  124. package/dist/blocks/tabs/tabs.d.ts.map +0 -1
  125. package/dist/blocks/tabs/tabs.types.d.ts +0 -39
  126. package/dist/blocks/tabs/tabs.types.d.ts.map +0 -1
  127. package/dist/blocks/top-bar/index.d.ts +0 -3
  128. package/dist/blocks/top-bar/index.d.ts.map +0 -1
  129. package/dist/blocks/top-bar/top-bar.d.ts +0 -37
  130. package/dist/blocks/top-bar/top-bar.d.ts.map +0 -1
  131. package/dist/blocks/top-bar/top-bar.types.d.ts +0 -65
  132. package/dist/blocks/top-bar/top-bar.types.d.ts.map +0 -1
  133. package/dist/components/blocks/app-layout/app-layout.js +0 -54
  134. package/dist/components/blocks/attribute-list/attribute-list-item.js +0 -22
  135. package/dist/components/blocks/attribute-list/attribute-list.js +0 -23
  136. package/dist/components/blocks/attribute-list/index.js +0 -8
  137. package/dist/components/blocks/avatar-group/avatar-group.js +0 -35
  138. package/dist/components/blocks/badge-group/badge-group.js +0 -40
  139. package/dist/components/blocks/bottom-bar/bottom-bar.js +0 -41
  140. package/dist/components/blocks/bottom-sheet/bottom-sheet.js +0 -48
  141. package/dist/components/blocks/button-group/button-group.js +0 -42
  142. package/dist/components/blocks/card/card.js +0 -44
  143. package/dist/components/blocks/dialog/dialog.js +0 -44
  144. package/dist/components/blocks/drawer/drawer.js +0 -83
  145. package/dist/components/blocks/menu/index.js +0 -7
  146. package/dist/components/blocks/menu/menu-item.js +0 -41
  147. package/dist/components/blocks/menu/menu.js +0 -55
  148. package/dist/components/blocks/modal/modal.js +0 -81
  149. package/dist/components/blocks/nav/index.js +0 -9
  150. package/dist/components/blocks/nav/nav-item.js +0 -56
  151. package/dist/components/blocks/nav/nav.js +0 -39
  152. package/dist/components/blocks/no-results/no-results.js +0 -19
  153. package/dist/components/blocks/sidebar/sidebar.js +0 -106
  154. package/dist/components/blocks/table/table.js +0 -177
  155. package/dist/components/blocks/tabs/tabs.js +0 -89
  156. package/dist/components/blocks/top-bar/top-bar.js +0 -46
  157. package/dist/components/forms/checkbox/checkbox.js +0 -35
  158. package/dist/components/forms/checkbox-group/checkbox-group.js +0 -96
  159. package/dist/components/forms/chip-multiple-input/chip-multiple-input.js +0 -101
  160. package/dist/components/forms/chip-single-input/chip-single-input.js +0 -98
  161. package/dist/components/forms/error-text/error-text.js +0 -9
  162. package/dist/components/forms/helper-text/helper-text.js +0 -9
  163. package/dist/components/forms/label/label.js +0 -18
  164. package/dist/components/forms/radio/radio.js +0 -34
  165. package/dist/components/forms/radio-group/radio-group.js +0 -91
  166. package/dist/components/forms/select/select.js +0 -55
  167. package/dist/components/forms/text-area/text-area.js +0 -62
  168. package/dist/components/forms/text-input/text-input.js +0 -60
  169. package/dist/components/primitive/avatar/avatar.js +0 -37
  170. package/dist/components/primitive/badge/badge.js +0 -41
  171. package/dist/components/primitive/button/button.js +0 -64
  172. package/dist/components/primitive/button-icon/button-icon.js +0 -56
  173. package/dist/components/primitive/dot/dot.js +0 -16
  174. package/dist/components/primitive/heading/heading.js +0 -22
  175. package/dist/components/primitive/hr/hr.js +0 -28
  176. package/dist/components/primitive/icon/icon.js +0 -13
  177. package/dist/components/primitive/kbd/kbd.js +0 -13
  178. package/dist/components/primitive/loader/loader.js +0 -23
  179. package/dist/components/primitive/text/text.js +0 -22
  180. package/dist/components/primitive/tooltip/tooltip.js +0 -71
  181. package/dist/components/utils/overlay-parts/overlay-parts.js +0 -20
  182. package/dist/core/src/components/blocks/app-layout/app-layout.module.css.js +0 -12
  183. package/dist/core/src/components/blocks/attribute-list/attribute-list.module.css.js +0 -6
  184. package/dist/core/src/components/blocks/avatar-group/avatar-group.module.css.js +0 -6
  185. package/dist/core/src/components/blocks/badge-group/badge-group.module.css.js +0 -6
  186. package/dist/core/src/components/blocks/bottom-bar/bottom-bar.module.css.js +0 -9
  187. package/dist/core/src/components/blocks/bottom-sheet/bottom-sheet.module.css.js +0 -7
  188. package/dist/core/src/components/blocks/button-group/button-group.module.css.js +0 -6
  189. package/dist/core/src/components/blocks/card/card.module.css.js +0 -13
  190. package/dist/core/src/components/blocks/drawer/drawer.module.css.js +0 -7
  191. package/dist/core/src/components/blocks/menu/menu.module.css.js +0 -9
  192. package/dist/core/src/components/blocks/modal/modal.module.css.js +0 -7
  193. package/dist/core/src/components/blocks/nav/nav.module.css.js +0 -9
  194. package/dist/core/src/components/blocks/no-results/no-results.module.css.js +0 -11
  195. package/dist/core/src/components/blocks/sidebar/sidebar.module.css.js +0 -21
  196. package/dist/core/src/components/blocks/table/table.module.css.js +0 -12
  197. package/dist/core/src/components/blocks/tabs/tabs.module.css.js +0 -14
  198. package/dist/core/src/components/blocks/top-bar/top-bar.module.css.js +0 -12
  199. package/dist/core/src/components/forms/checkbox/checkbox.module.css.js +0 -13
  200. package/dist/core/src/components/forms/checkbox-group/checkbox-group.module.css.js +0 -15
  201. package/dist/core/src/components/forms/chip-multiple-input/chip-multiple-input.module.css.js +0 -11
  202. package/dist/core/src/components/forms/chip-single-input/chip-single-input.module.css.js +0 -11
  203. package/dist/core/src/components/forms/error-text/error-text.module.css.js +0 -7
  204. package/dist/core/src/components/forms/helper-text/helper-text.module.css.js +0 -7
  205. package/dist/core/src/components/forms/label/label.module.css.js +0 -7
  206. package/dist/core/src/components/forms/radio/radio.module.css.js +0 -13
  207. package/dist/core/src/components/forms/radio-group/radio-group.module.css.js +0 -17
  208. package/dist/core/src/components/forms/select/select.module.css.js +0 -9
  209. package/dist/core/src/components/forms/text-area/text-area.module.css.js +0 -9
  210. package/dist/core/src/components/forms/text-input/text-input.module.css.js +0 -13
  211. package/dist/core/src/components/primitive/avatar/avatar.module.css.js +0 -8
  212. package/dist/core/src/components/primitive/badge/badge.module.css.js +0 -7
  213. package/dist/core/src/components/primitive/button/button.module.css.js +0 -7
  214. package/dist/core/src/components/primitive/button-icon/button-icon.module.css.js +0 -6
  215. package/dist/core/src/components/primitive/dot/dot.module.css.js +0 -7
  216. package/dist/core/src/components/primitive/heading/heading.module.css.js +0 -7
  217. package/dist/core/src/components/primitive/hr/hr.module.css.js +0 -7
  218. package/dist/core/src/components/primitive/icon/icon.module.css.js +0 -7
  219. package/dist/core/src/components/primitive/kbd/kbd.module.css.js +0 -7
  220. package/dist/core/src/components/primitive/loader/loader.module.css.js +0 -7
  221. package/dist/core/src/components/primitive/text/text.module.css.js +0 -7
  222. package/dist/core/src/components/primitive/tooltip/tooltip.module.css.js +0 -8
  223. package/dist/core/src/components/utils/overlay-parts/overlay-parts.module.css.js +0 -21
  224. package/dist/forms/checkbox/checkbox.d.ts +0 -16
  225. package/dist/forms/checkbox/checkbox.d.ts.map +0 -1
  226. package/dist/forms/checkbox/checkbox.types.d.ts +0 -16
  227. package/dist/forms/checkbox/checkbox.types.d.ts.map +0 -1
  228. package/dist/forms/checkbox/index.d.ts +0 -8
  229. package/dist/forms/checkbox/index.d.ts.map +0 -1
  230. package/dist/forms/checkbox-group/checkbox-group.d.ts +0 -8
  231. package/dist/forms/checkbox-group/checkbox-group.d.ts.map +0 -1
  232. package/dist/forms/checkbox-group/checkbox-group.types.d.ts +0 -59
  233. package/dist/forms/checkbox-group/checkbox-group.types.d.ts.map +0 -1
  234. package/dist/forms/checkbox-group/index.d.ts +0 -12
  235. package/dist/forms/checkbox-group/index.d.ts.map +0 -1
  236. package/dist/forms/chip-multiple-input/chip-multiple-input.d.ts +0 -8
  237. package/dist/forms/chip-multiple-input/chip-multiple-input.d.ts.map +0 -1
  238. package/dist/forms/chip-multiple-input/chip-multiple-input.types.d.ts +0 -60
  239. package/dist/forms/chip-multiple-input/chip-multiple-input.types.d.ts.map +0 -1
  240. package/dist/forms/chip-multiple-input/index.d.ts +0 -13
  241. package/dist/forms/chip-multiple-input/index.d.ts.map +0 -1
  242. package/dist/forms/chip-single-input/chip-single-input.d.ts +0 -8
  243. package/dist/forms/chip-single-input/chip-single-input.d.ts.map +0 -1
  244. package/dist/forms/chip-single-input/chip-single-input.types.d.ts +0 -60
  245. package/dist/forms/chip-single-input/chip-single-input.types.d.ts.map +0 -1
  246. package/dist/forms/chip-single-input/index.d.ts +0 -13
  247. package/dist/forms/chip-single-input/index.d.ts.map +0 -1
  248. package/dist/forms/error-text/error-text.d.ts +0 -8
  249. package/dist/forms/error-text/error-text.d.ts.map +0 -1
  250. package/dist/forms/error-text/error-text.types.d.ts +0 -8
  251. package/dist/forms/error-text/error-text.types.d.ts.map +0 -1
  252. package/dist/forms/error-text/index.d.ts +0 -3
  253. package/dist/forms/error-text/index.d.ts.map +0 -1
  254. package/dist/forms/helper-text/helper-text.d.ts +0 -7
  255. package/dist/forms/helper-text/helper-text.d.ts.map +0 -1
  256. package/dist/forms/helper-text/helper-text.types.d.ts +0 -8
  257. package/dist/forms/helper-text/helper-text.types.d.ts.map +0 -1
  258. package/dist/forms/helper-text/index.d.ts +0 -3
  259. package/dist/forms/helper-text/index.d.ts.map +0 -1
  260. package/dist/forms/index.d.ts +0 -22
  261. package/dist/forms/index.d.ts.map +0 -1
  262. package/dist/forms/label/index.d.ts +0 -3
  263. package/dist/forms/label/index.d.ts.map +0 -1
  264. package/dist/forms/label/label.d.ts +0 -7
  265. package/dist/forms/label/label.d.ts.map +0 -1
  266. package/dist/forms/label/label.types.d.ts +0 -14
  267. package/dist/forms/label/label.types.d.ts.map +0 -1
  268. package/dist/forms/radio/index.d.ts +0 -10
  269. package/dist/forms/radio/index.d.ts.map +0 -1
  270. package/dist/forms/radio/radio.d.ts +0 -18
  271. package/dist/forms/radio/radio.d.ts.map +0 -1
  272. package/dist/forms/radio/radio.types.d.ts +0 -23
  273. package/dist/forms/radio/radio.types.d.ts.map +0 -1
  274. package/dist/forms/radio-group/index.d.ts +0 -13
  275. package/dist/forms/radio-group/index.d.ts.map +0 -1
  276. package/dist/forms/radio-group/radio-group.d.ts +0 -8
  277. package/dist/forms/radio-group/radio-group.d.ts.map +0 -1
  278. package/dist/forms/radio-group/radio-group.types.d.ts +0 -66
  279. package/dist/forms/radio-group/radio-group.types.d.ts.map +0 -1
  280. package/dist/forms/select/index.d.ts +0 -3
  281. package/dist/forms/select/index.d.ts.map +0 -1
  282. package/dist/forms/select/select.d.ts +0 -18
  283. package/dist/forms/select/select.d.ts.map +0 -1
  284. package/dist/forms/select/select.types.d.ts +0 -32
  285. package/dist/forms/select/select.types.d.ts.map +0 -1
  286. package/dist/forms/text-area/index.d.ts +0 -3
  287. package/dist/forms/text-area/index.d.ts.map +0 -1
  288. package/dist/forms/text-area/text-area.d.ts +0 -7
  289. package/dist/forms/text-area/text-area.d.ts.map +0 -1
  290. package/dist/forms/text-area/text-area.types.d.ts +0 -36
  291. package/dist/forms/text-area/text-area.types.d.ts.map +0 -1
  292. package/dist/forms/text-input/index.d.ts +0 -3
  293. package/dist/forms/text-input/index.d.ts.map +0 -1
  294. package/dist/forms/text-input/text-input.d.ts +0 -7
  295. package/dist/forms/text-input/text-input.d.ts.map +0 -1
  296. package/dist/forms/text-input/text-input.types.d.ts +0 -28
  297. package/dist/forms/text-input/text-input.types.d.ts.map +0 -1
  298. package/dist/hooks/use-resize-observer.js +0 -14
  299. package/dist/hooks/use-tooltip-positioning.js +0 -50
  300. package/dist/primitive/avatar/avatar-group.d.ts +0 -3
  301. package/dist/primitive/avatar/avatar-group.d.ts.map +0 -1
  302. package/dist/primitive/avatar/avatar-group.types.d.ts +0 -30
  303. package/dist/primitive/avatar/avatar-group.types.d.ts.map +0 -1
  304. package/dist/primitive/avatar/avatar.d.ts +0 -5
  305. package/dist/primitive/avatar/avatar.d.ts.map +0 -1
  306. package/dist/primitive/avatar/avatar.types.d.ts +0 -34
  307. package/dist/primitive/avatar/avatar.types.d.ts.map +0 -1
  308. package/dist/primitive/avatar/index.d.ts +0 -15
  309. package/dist/primitive/avatar/index.d.ts.map +0 -1
  310. package/dist/primitive/badge/badge.d.ts +0 -17
  311. package/dist/primitive/badge/badge.d.ts.map +0 -1
  312. package/dist/primitive/badge/badge.types.d.ts +0 -36
  313. package/dist/primitive/badge/badge.types.d.ts.map +0 -1
  314. package/dist/primitive/badge/index.d.ts +0 -14
  315. package/dist/primitive/badge/index.d.ts.map +0 -1
  316. package/dist/primitive/button/button.d.ts +0 -17
  317. package/dist/primitive/button/button.d.ts.map +0 -1
  318. package/dist/primitive/button/button.types.d.ts +0 -43
  319. package/dist/primitive/button/button.types.d.ts.map +0 -1
  320. package/dist/primitive/button/index.d.ts +0 -13
  321. package/dist/primitive/button/index.d.ts.map +0 -1
  322. package/dist/primitive/button-icon/button-icon.d.ts +0 -16
  323. package/dist/primitive/button-icon/button-icon.d.ts.map +0 -1
  324. package/dist/primitive/button-icon/button-icon.types.d.ts +0 -28
  325. package/dist/primitive/button-icon/button-icon.types.d.ts.map +0 -1
  326. package/dist/primitive/button-icon/index.d.ts +0 -14
  327. package/dist/primitive/button-icon/index.d.ts.map +0 -1
  328. package/dist/primitive/dot/dot.d.ts +0 -13
  329. package/dist/primitive/dot/dot.d.ts.map +0 -1
  330. package/dist/primitive/dot/dot.types.d.ts +0 -15
  331. package/dist/primitive/dot/dot.types.d.ts.map +0 -1
  332. package/dist/primitive/dot/index.d.ts +0 -13
  333. package/dist/primitive/dot/index.d.ts.map +0 -1
  334. package/dist/primitive/heading/heading.d.ts +0 -3
  335. package/dist/primitive/heading/heading.d.ts.map +0 -1
  336. package/dist/primitive/heading/heading.types.d.ts +0 -34
  337. package/dist/primitive/heading/heading.types.d.ts.map +0 -1
  338. package/dist/primitive/heading/index.d.ts +0 -17
  339. package/dist/primitive/heading/index.d.ts.map +0 -1
  340. package/dist/primitive/hr/hr.d.ts +0 -15
  341. package/dist/primitive/hr/hr.d.ts.map +0 -1
  342. package/dist/primitive/hr/hr.types.d.ts +0 -25
  343. package/dist/primitive/hr/hr.types.d.ts.map +0 -1
  344. package/dist/primitive/hr/index.d.ts +0 -15
  345. package/dist/primitive/hr/index.d.ts.map +0 -1
  346. package/dist/primitive/icon/icon.d.ts +0 -7
  347. package/dist/primitive/icon/icon.d.ts.map +0 -1
  348. package/dist/primitive/icon/icon.types.d.ts +0 -8
  349. package/dist/primitive/icon/icon.types.d.ts.map +0 -1
  350. package/dist/primitive/icon/index.d.ts +0 -13
  351. package/dist/primitive/icon/index.d.ts.map +0 -1
  352. package/dist/primitive/index.d.ts +0 -24
  353. package/dist/primitive/index.d.ts.map +0 -1
  354. package/dist/primitive/kbd/index.d.ts +0 -11
  355. package/dist/primitive/kbd/index.d.ts.map +0 -1
  356. package/dist/primitive/kbd/kbd.d.ts +0 -14
  357. package/dist/primitive/kbd/kbd.d.ts.map +0 -1
  358. package/dist/primitive/kbd/kbd.preview.d.ts +0 -16
  359. package/dist/primitive/kbd/kbd.preview.d.ts.map +0 -1
  360. package/dist/primitive/kbd/kbd.types.d.ts +0 -24
  361. package/dist/primitive/kbd/kbd.types.d.ts.map +0 -1
  362. package/dist/primitive/loader/index.d.ts +0 -10
  363. package/dist/primitive/loader/index.d.ts.map +0 -1
  364. package/dist/primitive/loader/loader.d.ts +0 -17
  365. package/dist/primitive/loader/loader.d.ts.map +0 -1
  366. package/dist/primitive/loader/loader.types.d.ts +0 -19
  367. package/dist/primitive/loader/loader.types.d.ts.map +0 -1
  368. package/dist/primitive/text/index.d.ts +0 -17
  369. package/dist/primitive/text/index.d.ts.map +0 -1
  370. package/dist/primitive/text/text.d.ts +0 -3
  371. package/dist/primitive/text/text.d.ts.map +0 -1
  372. package/dist/primitive/text/text.types.d.ts +0 -34
  373. package/dist/primitive/text/text.types.d.ts.map +0 -1
  374. package/dist/primitive/tooltip/index.d.ts +0 -8
  375. package/dist/primitive/tooltip/index.d.ts.map +0 -1
  376. package/dist/primitive/tooltip/tooltip.d.ts +0 -39
  377. package/dist/primitive/tooltip/tooltip.d.ts.map +0 -1
  378. package/dist/primitive/tooltip/tooltip.types.d.ts +0 -72
  379. package/dist/primitive/tooltip/tooltip.types.d.ts.map +0 -1
  380. package/dist/react.css +0 -1
  381. package/dist/utils/combine-refs.js +0 -16
  382. package/dist/utils/index.d.ts +0 -2
  383. package/dist/utils/index.d.ts.map +0 -1
  384. package/dist/utils/overlay-parts/index.d.ts +0 -3
  385. package/dist/utils/overlay-parts/index.d.ts.map +0 -1
  386. package/dist/utils/overlay-parts/overlay-parts.d.ts +0 -6
  387. package/dist/utils/overlay-parts/overlay-parts.d.ts.map +0 -1
  388. package/dist/utils/overlay-parts/overlay-parts.types.d.ts +0 -22
  389. package/dist/utils/overlay-parts/overlay-parts.types.d.ts.map +0 -1
  390. package/dist/utils/polymorphic.js +0 -6
@@ -0,0 +1,1347 @@
1
+ import { AppLayout as AppLayout_2 } from '@versaur/core/blocks';
2
+ import { AttributeList as AttributeList_2 } from '@versaur/core/blocks';
3
+ import { AvatarGroup as AvatarGroup_2 } from '@versaur/core/blocks';
4
+ import { AvatarGroupAlign } from '@versaur/core/blocks';
5
+ import { AvatarGroupDirection } from '@versaur/core/blocks';
6
+ import { AvatarGroupSize } from '@versaur/core/blocks';
7
+ import { AvatarGroupWrap } from '@versaur/core/blocks';
8
+ import { BadgeGroup as BadgeGroup_2 } from '@versaur/core/blocks';
9
+ import { BadgeGroupAlign } from '@versaur/core/blocks';
10
+ import { BadgeGroupDirection } from '@versaur/core/blocks';
11
+ import { BadgeGroupGap } from '@versaur/core/blocks';
12
+ import { BadgeGroupWrap } from '@versaur/core/blocks';
13
+ import { ButtonGroup as ButtonGroup_2 } from '@versaur/core/blocks';
14
+ import { ButtonGroupAlign } from '@versaur/core/blocks';
15
+ import { ButtonGroupDirection } from '@versaur/core/blocks';
16
+ import { ButtonGroupGap } from '@versaur/core/blocks';
17
+ import { ButtonGroupWrap } from '@versaur/core/blocks';
18
+ import { ButtonHTMLAttributes } from 'react';
19
+ import { CardAlign } from '@versaur/core/blocks';
20
+ import { CardBorder } from '@versaur/core/blocks';
21
+ import { CardGap } from '@versaur/core/blocks';
22
+ import { CardJustify } from '@versaur/core/blocks';
23
+ import { CardSize } from '@versaur/core/blocks';
24
+ import { ComponentPropsWithoutRef } from 'react';
25
+ import { ComponentType } from 'react';
26
+ import { default as default_2 } from 'react';
27
+ import { DialogHTMLAttributes } from 'react';
28
+ import { Drawer as Drawer_2 } from '@versaur/core/blocks';
29
+ import { ElementType } from 'react';
30
+ import { ForwardRefExoticComponent } from 'react';
31
+ import { HTMLAttributes } from 'react';
32
+ import { Menu as Menu_2 } from '@versaur/core/blocks';
33
+ import { Modal as Modal_2 } from '@versaur/core/blocks';
34
+ import { MouseEvent as MouseEvent_2 } from 'react';
35
+ import { ReactNode } from 'react';
36
+ import { RefAttributes } from 'react';
37
+ import { SVGProps } from 'react';
38
+ import { TableCellVariant } from '@versaur/core/blocks';
39
+ import { TdHTMLAttributes } from 'react';
40
+ import { ThHTMLAttributes } from 'react';
41
+
42
+ export declare const AppLayout: AppLayoutType;
43
+
44
+ declare interface AppLayoutBodyProps {
45
+ className?: string;
46
+ children?: ReactNode;
47
+ }
48
+
49
+ declare interface AppLayoutMainProps extends AppLayoutRegionProps {
50
+ /**
51
+ * Controls content width constraint and alignment.
52
+ * - 'full-width': Content uses the entire main area width
53
+ * - 'centred': Content is constrained to max-width and centered
54
+ * @default 'full-width'
55
+ */
56
+ placement?: AppLayout_2.Placement;
57
+ }
58
+
59
+ export declare interface AppLayoutRegionProps {
60
+ className?: string;
61
+ children?: ReactNode;
62
+ }
63
+
64
+ export declare interface AppLayoutRootProps {
65
+ variant?: AppLayout_2.Variant;
66
+ hideHeader?: boolean;
67
+ hideBottom?: boolean;
68
+ className?: string;
69
+ children?: ReactNode;
70
+ }
71
+
72
+ declare interface AppLayoutType extends ForwardRefExoticComponent<AppLayoutRootProps & RefAttributes<HTMLDivElement>> {
73
+ Body: ForwardRefExoticComponent<AppLayoutBodyProps & RefAttributes<HTMLDivElement>>;
74
+ Bottom: ForwardRefExoticComponent<AppLayoutRegionProps & RefAttributes<HTMLElement>>;
75
+ Header: ForwardRefExoticComponent<AppLayoutRegionProps & RefAttributes<HTMLElement>>;
76
+ Main: ForwardRefExoticComponent<AppLayoutMainProps & RefAttributes<HTMLElement>>;
77
+ SideLeft: ForwardRefExoticComponent<AppLayoutRegionProps & RefAttributes<HTMLElement>>;
78
+ SideRight: ForwardRefExoticComponent<AppLayoutRegionProps & RefAttributes<HTMLElement>>;
79
+ }
80
+
81
+ declare interface AsProp<C extends ElementType = ElementType> {
82
+ as?: C;
83
+ }
84
+
85
+ export declare namespace AttributeList {
86
+ export type Columns = AttributeList_2.Columns;
87
+ export type ColumnSpan = AttributeList_2.ColumnSpan;
88
+ export type ContentLineClamp = AttributeList_2.ContentLineClamp;
89
+ export type Props = AttributeListProps;
90
+ export type ItemProps = AttributeListItemProps;
91
+ }
92
+
93
+ export declare const AttributeList: AttributeListComponent;
94
+
95
+ declare interface AttributeListComponent extends default_2.ForwardRefExoticComponent<AttributeListProps & default_2.RefAttributes<HTMLDListElement>> {
96
+ Item: typeof AttributeListItem;
97
+ }
98
+
99
+ /**
100
+ * AttributeList.Item component for displaying a key-value pair
101
+ *
102
+ * @example
103
+ * ```tsx
104
+ * <AttributeList.Item columnSpan="2" title="Email">
105
+ * john.doe@example.com
106
+ * </AttributeList.Item>
107
+ * ```
108
+ */
109
+ declare const AttributeListItem: ForwardRefExoticComponent<AttributeListItemProps & RefAttributes<HTMLDivElement>>;
110
+
111
+ export declare interface AttributeListItemProps extends HTMLAttributes<HTMLDivElement> {
112
+ /**
113
+ * The title/label for this attribute
114
+ */
115
+ title: string;
116
+ /**
117
+ * Number of columns to span in the grid (1-6, auto-clamped to columns count)
118
+ * @default '1'
119
+ */
120
+ columnSpan?: AttributeList_2.ColumnSpan;
121
+ /**
122
+ * Number of lines to display before truncating with ellipsis (1-5)
123
+ * @default '2'
124
+ */
125
+ contentLineClamp?: AttributeList_2.ContentLineClamp;
126
+ /**
127
+ * The value content (can be text, links, badges, etc.)
128
+ */
129
+ children?: ReactNode;
130
+ }
131
+
132
+ export declare interface AttributeListProps extends HTMLAttributes<HTMLDListElement> {
133
+ /**
134
+ * Number of columns for the grid layout
135
+ * @default '3'
136
+ */
137
+ columns?: AttributeList_2.Columns;
138
+ /**
139
+ * AttributeList.Item components
140
+ */
141
+ children?: ReactNode;
142
+ }
143
+
144
+ export declare const AvatarGroup: ForwardRefExoticComponent<AvatarGroupProps & RefAttributes<HTMLDivElement>>;
145
+
146
+ export { AvatarGroupAlign }
147
+
148
+ export { AvatarGroupDirection }
149
+
150
+ export declare interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
151
+ /**
152
+ * Direction of the avatar stack
153
+ * @default 'horizontal'
154
+ */
155
+ direction?: AvatarGroup_2.Direction;
156
+ /**
157
+ * Size controls the overlap amount between avatars
158
+ * @default 'md'
159
+ */
160
+ size?: AvatarGroup_2.Size;
161
+ /**
162
+ * Alignment of items
163
+ * @default 'center'
164
+ */
165
+ align?: AvatarGroup_2.Align;
166
+ /**
167
+ * Flex wrap behavior
168
+ * @default 'nowrap'
169
+ */
170
+ wrap?: AvatarGroup_2.Wrap;
171
+ /**
172
+ * Accessible label for the group
173
+ * @default 'Avatar group'
174
+ */
175
+ "aria-label"?: string;
176
+ }
177
+
178
+ export { AvatarGroupSize }
179
+
180
+ export { AvatarGroupWrap }
181
+
182
+ /**
183
+ * BadgeGroup component for grouping multiple badges with customizable spacing and layout
184
+ *
185
+ * @example
186
+ * ```tsx
187
+ * <BadgeGroup gap="md" direction="horizontal" align="center">
188
+ * <Badge variant="primary">New</Badge>
189
+ * <Badge variant="success">Active</Badge>
190
+ * <Badge variant="danger">Critical</Badge>
191
+ * </BadgeGroup>
192
+ * ```
193
+ */
194
+ export declare const BadgeGroup: ForwardRefExoticComponent<BadgeGroupProps & RefAttributes<HTMLDivElement>>;
195
+
196
+ export { BadgeGroupAlign }
197
+
198
+ export { BadgeGroupDirection }
199
+
200
+ export { BadgeGroupGap }
201
+
202
+ export declare interface BadgeGroupProps extends HTMLAttributes<HTMLDivElement> {
203
+ /**
204
+ * Gap between items
205
+ * @default 'md'
206
+ */
207
+ gap?: BadgeGroup_2.Gap;
208
+ /**
209
+ * Direction of flex layout
210
+ * @default 'horizontal'
211
+ */
212
+ direction?: BadgeGroup_2.Direction;
213
+ /**
214
+ * Alignment of items
215
+ * @default 'center'
216
+ */
217
+ align?: BadgeGroup_2.Align;
218
+ /**
219
+ * Flex wrap behavior
220
+ * @default 'nowrap'
221
+ */
222
+ wrap?: BadgeGroup_2.Wrap;
223
+ /**
224
+ * Accessible label for the group
225
+ * @default 'Badge group'
226
+ */
227
+ "aria-label"?: string;
228
+ /**
229
+ * Badge children components
230
+ */
231
+ children?: React.ReactNode;
232
+ }
233
+
234
+ export { BadgeGroupWrap }
235
+
236
+ /**
237
+ * Compound BottomBar component with sub-components
238
+ */
239
+ export declare const BottomBar: BottomBarComponent;
240
+
241
+ /**
242
+ * BottomBar Component - Compound component with item sub-component
243
+ */
244
+ declare interface BottomBarComponent extends React.ForwardRefExoticComponent<BottomBarRootProps_2 & React.RefAttributes<HTMLElement>> {
245
+ Item: typeof BottomBarItem;
246
+ }
247
+
248
+ /**
249
+ * BottomBar.Item - Polymorphic navigation item (button or link)
250
+ */
251
+ declare const BottomBarItem: ForwardRefExoticComponent<BottomBarItemProps_2 & RefAttributes<HTMLElement>>;
252
+
253
+ /**
254
+ * BottomBar.Item Props
255
+ */
256
+ export declare interface BottomBarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
257
+ as?: "button" | "a" | React.ComponentType<any>;
258
+ href?: string;
259
+ active?: boolean;
260
+ disabled?: boolean;
261
+ icon: ReactNode;
262
+ children?: ReactNode;
263
+ }
264
+
265
+ /**
266
+ * BottomBar.Item Props
267
+ */
268
+ declare interface BottomBarItemProps_2 extends React.ButtonHTMLAttributes<HTMLButtonElement> {
269
+ as?: "button" | "a" | React.ComponentType<any>;
270
+ href?: string;
271
+ active?: boolean;
272
+ disabled?: boolean;
273
+ icon: ReactNode;
274
+ children?: ReactNode;
275
+ }
276
+
277
+ /**
278
+ * BottomBar.Root Props
279
+ */
280
+ export declare interface BottomBarRootProps extends React.HTMLAttributes<HTMLElement> {
281
+ children?: ReactNode;
282
+ }
283
+
284
+ /**
285
+ * BottomBar.Root Props
286
+ */
287
+ declare interface BottomBarRootProps_2 extends React.HTMLAttributes<HTMLElement> {
288
+ children?: ReactNode;
289
+ }
290
+
291
+ export declare const BottomSheet: ForwardRefExoticComponent<BottomSheetRootProps & RefAttributes<HTMLDialogElement>> & {
292
+ Body: ForwardRefExoticComponent<OverlayBodyProps & RefAttributes<HTMLDivElement>>;
293
+ CloseButton: ForwardRefExoticComponent<BottomSheetCloseButtonProps & RefAttributes<HTMLButtonElement>>;
294
+ Footer: ForwardRefExoticComponent<OverlayFooterProps & RefAttributes<HTMLDivElement>>;
295
+ Header: ForwardRefExoticComponent<OverlayHeaderProps & RefAttributes<HTMLDivElement>>;
296
+ Title: ForwardRefExoticComponent<OverlayTitleProps & RefAttributes<HTMLHeadingElement>>;
297
+ };
298
+
299
+ export declare interface BottomSheetCloseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
300
+ children?: ReactNode;
301
+ }
302
+
303
+ export declare interface BottomSheetRootProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, "onClose"> {
304
+ /**
305
+ * Whether the bottom sheet is open - controlled state
306
+ */
307
+ open: boolean;
308
+ /**
309
+ * Callback when bottom sheet closes
310
+ */
311
+ onOpenChange?: (open: boolean) => void;
312
+ children?: ReactNode;
313
+ }
314
+
315
+ /**
316
+ * ButtonGroup component for grouping multiple buttons with customizable spacing and layout
317
+ *
318
+ * @example
319
+ * ```tsx
320
+ * <ButtonGroup gap="md" direction="horizontal" align="center">
321
+ * <Button variant="primary">Save</Button>
322
+ * <Button variant="secondary">Cancel</Button>
323
+ * </ButtonGroup>
324
+ * ```
325
+ */
326
+ export declare const ButtonGroup: ForwardRefExoticComponent<ButtonGroupProps & RefAttributes<HTMLDivElement>>;
327
+
328
+ export { ButtonGroupAlign }
329
+
330
+ export { ButtonGroupDirection }
331
+
332
+ export { ButtonGroupGap }
333
+
334
+ export declare interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
335
+ /**
336
+ * Gap between items
337
+ * @default 'md'
338
+ */
339
+ gap?: ButtonGroup_2.Gap;
340
+ /**
341
+ * Direction of flex layout
342
+ * @default 'horizontal'
343
+ */
344
+ direction?: ButtonGroup_2.Direction;
345
+ /**
346
+ * Alignment of items
347
+ * @default 'center'
348
+ */
349
+ align?: ButtonGroup_2.Align;
350
+ /**
351
+ * Flex wrap behavior
352
+ * @default 'nowrap'
353
+ */
354
+ wrap?: ButtonGroup_2.Wrap;
355
+ /**
356
+ * Stretch group to full width and children proportionally
357
+ * @default false
358
+ */
359
+ fluid?: boolean;
360
+ /**
361
+ * Accessible label for the group
362
+ * @default 'Button group'
363
+ */
364
+ "aria-label"?: string;
365
+ /**
366
+ * Button children components
367
+ */
368
+ children?: React.ReactNode;
369
+ }
370
+
371
+ export { ButtonGroupWrap }
372
+
373
+ export declare const Card: CardComponent;
374
+
375
+ export { CardAlign }
376
+
377
+ /**
378
+ * Card Body - Flexible column layout container for main content
379
+ * Supports alignment and spacing controls
380
+ */
381
+ declare const CardBody: ForwardRefExoticComponent<CardBodyProps & RefAttributes<HTMLDivElement>>;
382
+
383
+ export declare interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
384
+ /** Horizontal alignment of items */
385
+ align?: CardAlign;
386
+ /** Internal spacing between items */
387
+ gap?: CardGap;
388
+ children?: ReactNode;
389
+ }
390
+
391
+ export declare interface CardButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
392
+ /** Card size variant */
393
+ size?: CardSize;
394
+ /** Border style variant */
395
+ border?: CardBorder;
396
+ /** Children to render inside card */
397
+ children?: ReactNode;
398
+ }
399
+
400
+ /**
401
+ * Card Component - Compound component with layout regions
402
+ */
403
+ declare interface CardComponent extends React.ForwardRefExoticComponent<CardRootProps & React.RefAttributes<HTMLDivElement | HTMLButtonElement>> {
404
+ Header: typeof CardHeader;
405
+ Body: typeof CardBody;
406
+ Footer: typeof CardFooter;
407
+ }
408
+
409
+ /**
410
+ * Card Footer - Flexible layout container for bottom section
411
+ * Supports alignment and spacing controls
412
+ */
413
+ declare const CardFooter: ForwardRefExoticComponent<CardFooterProps & RefAttributes<HTMLDivElement>>;
414
+
415
+ export declare interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
416
+ /** Flex justify-content alignment */
417
+ justify?: CardJustify;
418
+ /** Internal spacing between items */
419
+ gap?: CardGap;
420
+ children?: ReactNode;
421
+ }
422
+
423
+ export { CardGap }
424
+
425
+ /**
426
+ * Card Header - Flexible layout container for top section
427
+ * Supports alignment and spacing controls
428
+ */
429
+ declare const CardHeader: ForwardRefExoticComponent<CardHeaderProps & RefAttributes<HTMLDivElement>>;
430
+
431
+ export declare interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {
432
+ /** Flex justify-content alignment */
433
+ justify?: CardJustify;
434
+ /** Internal spacing between items */
435
+ gap?: CardGap;
436
+ children?: ReactNode;
437
+ }
438
+
439
+ export { CardJustify }
440
+
441
+ export declare interface CardRootProps extends Omit<HTMLAttributes<HTMLDivElement>, "as"> {
442
+ /** Rendering element: 'div' (default) or 'button' */
443
+ as?: "div" | "button";
444
+ /** Card size variant */
445
+ size?: CardSize;
446
+ /** Border style variant */
447
+ border?: CardBorder;
448
+ /** Children to render inside card */
449
+ children?: ReactNode;
450
+ }
451
+
452
+ export { CardSize }
453
+
454
+ export declare const Dialog: default_2.ForwardRefExoticComponent<DialogRootProps & default_2.RefAttributes<HTMLDialogElement>>;
455
+
456
+ /**
457
+ * Props for the Dialog root component
458
+ */
459
+ export declare interface DialogRootProps extends React.DialogHTMLAttributes<HTMLDialogElement> {
460
+ /** Controlled open state */
461
+ isOpen: boolean;
462
+ /** Called when dialog should close (e.g., ESC key) */
463
+ onOpenChange?: (isOpen: boolean) => void;
464
+ /** Dialog content */
465
+ children: React.ReactNode;
466
+ }
467
+
468
+ export declare const Drawer: ForwardRefExoticComponent<DrawerRootProps & RefAttributes<HTMLDialogElement>> & {
469
+ Body: ForwardRefExoticComponent<OverlayBodyProps & RefAttributes<HTMLDivElement>>;
470
+ CloseButton: ForwardRefExoticComponent<DrawerCloseButtonProps & RefAttributes<HTMLButtonElement>>;
471
+ Footer: ForwardRefExoticComponent<OverlayFooterProps & RefAttributes<HTMLDivElement>>;
472
+ Header: ForwardRefExoticComponent<DrawerHeaderProps & RefAttributes<HTMLDivElement>>;
473
+ Title: ForwardRefExoticComponent<OverlayTitleProps & RefAttributes<HTMLHeadingElement>>;
474
+ };
475
+
476
+ export declare interface DrawerCloseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
477
+ children?: ReactNode;
478
+ }
479
+
480
+ declare interface DrawerHeaderProps extends Omit<OverlayHeaderProps, "children"> {
481
+ /**
482
+ * Header action row (title, close button, etc.)
483
+ * If not provided, children will be rendered as the action row.
484
+ * When provided, children become supplementary content in flex-column layout.
485
+ */
486
+ action?: ReactNode;
487
+ /**
488
+ * Supplementary header content (badges, status info, etc.)
489
+ * Displayed in flex-column layout below the action row.
490
+ * If action prop is not provided, this becomes the action row instead.
491
+ */
492
+ children?: ReactNode;
493
+ /**
494
+ * Optional Tabs component rendered below the header content.
495
+ * When provided, the Tabs component's bottom border replaces the header's own border-bottom.
496
+ */
497
+ tabs?: ReactNode;
498
+ }
499
+
500
+ export declare interface DrawerRootProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, "onClose"> {
501
+ /**
502
+ * Whether the drawer is open (controlled state)
503
+ */
504
+ open: boolean;
505
+ /**
506
+ * Callback when drawer closes (ESC key, backdrop click, or close button)
507
+ */
508
+ onOpenChange?: (open: boolean) => void;
509
+ /**
510
+ * Placement of the drawer
511
+ * @default 'right'
512
+ */
513
+ placement?: Drawer_2.Placement;
514
+ children?: ReactNode;
515
+ }
516
+
517
+ /**
518
+ * Helper function to get attributes for tabpanel elements
519
+ *
520
+ * @param value - The tab value identifier
521
+ * @returns Object with id, role, and aria-labelledby attributes
522
+ *
523
+ * @example
524
+ * ```tsx
525
+ * <div {...Tabs.getPanelAttribute("tab1")}>
526
+ * Panel content for tab 1
527
+ * </div>
528
+ * ```
529
+ */
530
+ declare function getPanelAttribute(value: string): TabsPanelAttributes;
531
+
532
+ export declare namespace Menu {
533
+ export type Placement = MenuPlacement;
534
+ export type DataAttrs = Menu_2.DataAttrs;
535
+ export type Props = MenuProps;
536
+ export type ItemProps = MenuItemProps;
537
+ }
538
+
539
+ export declare const Menu: typeof Menu_3 & {
540
+ Item: typeof MenuItem;
541
+ };
542
+
543
+ /**
544
+ * Attach static methods to component
545
+ */
546
+ declare const Menu_3: typeof MenuRoot & MenuStatic;
547
+
548
+ /**
549
+ * Trigger props options for external trigger elements
550
+ */
551
+ declare interface MenuGetTriggerPropsOptions {
552
+ /**
553
+ * Unique identifier matching the Menu's id
554
+ */
555
+ id: string;
556
+ }
557
+
558
+ /**
559
+ * Menu.Item - Individual menu item
560
+ *
561
+ * @description
562
+ * A clickable menu item that can be selected and may trigger menu closure
563
+ * depending on the parent Menu's `closeOnClick` setting.
564
+ *
565
+ * When clicked:
566
+ * 1. If Menu has `onChange` and item has `value`, onChange is called
567
+ * 2. Item's `onClick` handler is called
568
+ * 3. If Menu has `closeOnClick: true`, the menu will close after steps 1-2
569
+ *
570
+ * @example
571
+ * ```tsx
572
+ * // Menu stays open on click (default)
573
+ * const [selected, setSelected] = useState<string>();
574
+ * <Menu id="menu-1" value={selected} onChange={setSelected}>
575
+ * <Menu.Item value="edit">Edit</Menu.Item>
576
+ * <Menu.Item value="delete" onClick={() => console.log('deleting')}>Delete</Menu.Item>
577
+ * </Menu>
578
+ *
579
+ * // Menu closes on click
580
+ * <Menu id="menu-2" value={selected} onChange={setSelected} closeOnClick>
581
+ * <Menu.Item value="option1">Option 1</Menu.Item>
582
+ * <Menu.Item value="option2">Option 2</Menu.Item>
583
+ * </Menu>
584
+ * ```
585
+ */
586
+ declare const MenuItem: ForwardRefExoticComponent<MenuItemProps & RefAttributes<HTMLButtonElement>>;
587
+
588
+ /**
589
+ * Menu Item Props
590
+ *
591
+ * @description
592
+ * Represents an individual menu item that can be clicked to select a value.
593
+ * Items support active state (when their value matches Menu's controlled value),
594
+ * disabled state, and optional icons on both sides.
595
+ *
596
+ * When clicked:
597
+ * - If Menu has `onChange`, the item's value is passed to it
598
+ * - The item's `onClick` handler is also called
599
+ * - If Menu has `closeOnClick: true`, the menu popover will close
600
+ *
601
+ * @example
602
+ * ```tsx
603
+ * <Menu id="menu-1" value={selected} onChange={setSelected} closeOnClick>
604
+ * <Menu.Item value="edit" leftIcon={<EditIcon />}>Edit</Menu.Item>
605
+ * <Menu.Item value="delete" leftIcon={<TrashIcon />}>Delete</Menu.Item>
606
+ * </Menu>
607
+ * ```
608
+ */
609
+ export declare interface MenuItemProps extends Omit<HTMLAttributes<HTMLButtonElement>, "onChange"> {
610
+ /**
611
+ * Unique identifier for this menu item
612
+ * Used to determine active state when Menu has value/onChange
613
+ */
614
+ value?: string | number;
615
+ /**
616
+ * Item label/content
617
+ */
618
+ children: ReactNode;
619
+ /**
620
+ * Optional left icon/content
621
+ */
622
+ leftIcon?: ReactNode;
623
+ /**
624
+ * Optional right icon/content
625
+ */
626
+ rightIcon?: ReactNode;
627
+ /**
628
+ * Whether this item is disabled
629
+ */
630
+ disabled?: boolean;
631
+ /**
632
+ * Click handler for the item
633
+ * Fired in addition to Menu's onChange if using controlled mode.
634
+ * If Menu has closeOnClick: true, this fires before the menu closes.
635
+ */
636
+ onClick?: (e: MouseEvent_2<HTMLButtonElement>) => void;
637
+ }
638
+
639
+ export declare type MenuPlacement = "top" | "bottom" | "left" | "right";
640
+
641
+ /**
642
+ * Menu Root Props
643
+ */
644
+ export declare interface MenuProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
645
+ /**
646
+ * Unique identifier for the menu (used with Menu.close())
647
+ */
648
+ id: string;
649
+ /**
650
+ * Menu content (Menu.Item components)
651
+ */
652
+ children: ReactNode;
653
+ /**
654
+ * Placement relative to trigger button
655
+ * @default "bottom"
656
+ */
657
+ placement?: MenuPlacement;
658
+ /**
659
+ * Maximum height of the menu list in pixels
660
+ * @default 400
661
+ */
662
+ maxHeight?: number;
663
+ /**
664
+ * Minimum width of the menu list in pixels
665
+ * @default 160
666
+ */
667
+ minWidth?: number;
668
+ /**
669
+ * Maximum width of the menu list in pixels
670
+ * @default 320
671
+ */
672
+ maxWidth?: number;
673
+ /**
674
+ * Gap between trigger and menu in pixels
675
+ * @default 8
676
+ */
677
+ gap?: number;
678
+ /**
679
+ * Controlled value - which menu item is currently selected
680
+ */
681
+ value?: string | number;
682
+ /**
683
+ * Callback when a menu item is selected
684
+ */
685
+ onChange?: (value: string | number) => void;
686
+ /**
687
+ * Whether to close the menu when an item is clicked
688
+ * @default false
689
+ */
690
+ closeOnClick?: boolean;
691
+ }
692
+
693
+ /**
694
+ * Menu - Dropdown menu component built on Tooltip's Popover API
695
+ *
696
+ * Supports both uncontrolled and controlled modes for selection.
697
+ * By default, the menu stays open when items are clicked.
698
+ * Set `closeOnClick` to automatically dismiss the menu on item selection.
699
+ *
700
+ * Internally uses Tooltip for positioning and popover management.
701
+ *
702
+ * @example
703
+ * ```tsx
704
+ * // Uncontrolled - menu stays open on click
705
+ * <button {...Menu.getTriggerProps({ id: "menu-1" })}>More</button>
706
+ * <Menu id="menu-1">
707
+ * <Menu.Item value="edit" onClick={() => console.log('editing')}>Edit</Menu.Item>
708
+ * <Menu.Item value="delete">Delete</Menu.Item>
709
+ * </Menu>
710
+ *
711
+ * // Controlled with auto-close
712
+ * const [selected, setSelected] = useState<string | number>();
713
+ * <button {...Menu.getTriggerProps({ id: "menu-1" })}>Actions</button>
714
+ * <Menu id="menu-1" value={selected} onChange={setSelected} closeOnClick>
715
+ * <Menu.Item value="save">Save</Menu.Item>
716
+ * <Menu.Item value="export">Export</Menu.Item>
717
+ * <Menu.Item value="delete">Delete</Menu.Item>
718
+ * </Menu>
719
+ *
720
+ * // Programmatic close (Menu.close delegates to Tooltip.close)
721
+ * <button onClick={() => Menu.close({ id: "menu-1" })}>Close Menu</button>
722
+ * ```
723
+ */
724
+ declare const MenuRoot: ForwardRefExoticComponent<MenuProps & RefAttributes<HTMLDivElement>>;
725
+
726
+ /**
727
+ * Menu static methods and properties
728
+ */
729
+ declare interface MenuStatic {
730
+ /**
731
+ * Menu.Item component
732
+ */
733
+ Item: ForwardRefExoticComponent<MenuItemProps & RefAttributes<HTMLButtonElement>>;
734
+ /**
735
+ * Get the required attributes for a trigger element
736
+ */
737
+ getTriggerProps(options: MenuGetTriggerPropsOptions): Record<string, unknown>;
738
+ /**
739
+ * Close a menu popover by id
740
+ * Convenience method that delegates to Tooltip.close()
741
+ *
742
+ * @example
743
+ * ```tsx
744
+ * Menu.close({ id: "my-menu" })
745
+ * ```
746
+ */
747
+ close(options: {
748
+ id: string;
749
+ }): void;
750
+ }
751
+
752
+ export declare const Modal: ForwardRefExoticComponent<ModalRootProps & RefAttributes<HTMLDialogElement>> & {
753
+ Body: ForwardRefExoticComponent<OverlayBodyProps & RefAttributes<HTMLDivElement>>;
754
+ CloseButton: ForwardRefExoticComponent<ModalCloseButtonProps & RefAttributes<HTMLButtonElement>>;
755
+ Footer: ForwardRefExoticComponent<ModalFooterProps & RefAttributes<HTMLDivElement>>;
756
+ Header: ForwardRefExoticComponent<ModalHeaderProps & RefAttributes<HTMLDivElement>>;
757
+ Title: ForwardRefExoticComponent<OverlayTitleProps & RefAttributes<HTMLHeadingElement>>;
758
+ };
759
+
760
+ export declare interface ModalCloseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
761
+ children?: ReactNode;
762
+ }
763
+
764
+ declare interface ModalFooterProps extends React.HTMLAttributes<HTMLDivElement> {
765
+ /**
766
+ * Footer content alignment
767
+ * @default 'end'
768
+ */
769
+ align?: "start" | "center" | "end";
770
+ children?: ReactNode;
771
+ }
772
+
773
+ declare interface ModalHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
774
+ /**
775
+ * Optional action element (e.g., close button) to display in header
776
+ */
777
+ action?: ReactNode;
778
+ children?: ReactNode;
779
+ }
780
+
781
+ export declare interface ModalRootProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, "onClose"> {
782
+ /**
783
+ * Whether the modal is open - controlled state
784
+ */
785
+ open: boolean;
786
+ /**
787
+ * Callback when modal closes
788
+ */
789
+ onOpenChange?: (open: boolean) => void;
790
+ /**
791
+ * Width preset
792
+ * @default undefined — uses base 600px width
793
+ */
794
+ size?: Modal_2.Size;
795
+ /**
796
+ * Vertical position within the viewport
797
+ * @default 'center'
798
+ */
799
+ position?: Modal_2.Position;
800
+ children?: ReactNode;
801
+ }
802
+
803
+ /**
804
+ * Namespace merging: Nav.Item syntax
805
+ */
806
+ export declare const Nav: ForwardRefExoticComponent<NavProps & RefAttributes<HTMLElement>> & {
807
+ Item: ForwardRefExoticComponent<Omit<NavItemProps, "ref"> & RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
808
+ };
809
+
810
+ /**
811
+ * NavItem - Polymorphic navigation item
812
+ *
813
+ * Renders as button by default, but supports any element type (a, Link, custom).
814
+ * Supports left and right icons for flexible composition.
815
+ *
816
+ * Can be used in two modes:
817
+ * - Uncontrolled: Pass `active` prop and handle clicks with `onClick`
818
+ * - Controlled: Use within Nav with `value` and let Nav manage active state
819
+ *
820
+ * @example
821
+ * ```tsx
822
+ * // Uncontrolled
823
+ * <Nav>
824
+ * <Nav.Item active onClick={handleHome}>Home</Nav.Item>
825
+ * <Nav.Item>Docs</Nav.Item>
826
+ * </Nav>
827
+ *
828
+ * // Controlled (recommended)
829
+ * const [active, setActive] = useState('home');
830
+ * <Nav value={active} onChange={setActive}>
831
+ * <Nav.Item value="home">Home</Nav.Item>
832
+ * <Nav.Item value="docs">Docs</Nav.Item>
833
+ * </Nav>
834
+ *
835
+ * // With icons
836
+ * <Nav.Item leftIcon={HomeIcon} value="home">Home</Nav.Item>
837
+ * <Nav.Item rightIcon={ChevronIcon} value="more">More</Nav.Item>
838
+ * ```
839
+ */
840
+ export declare const NavItem: ForwardRefExoticComponent<Omit<NavItemProps, "ref"> & RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
841
+
842
+ /**
843
+ * NavItem base props
844
+ */
845
+ declare interface NavItemBaseProps {
846
+ /**
847
+ * Whether this nav item represents current page (uncontrolled)
848
+ * Sets aria-current="page" for anchor/Link elements
849
+ * Ignored if Nav has value/onChange (controlled mode)
850
+ */
851
+ active?: boolean;
852
+ /**
853
+ * Unique identifier for this item in controlled mode
854
+ * When Nav has onChange, this value is passed to onChange when clicked
855
+ */
856
+ value?: string | number;
857
+ /**
858
+ * Icon to render on the left side of the text
859
+ */
860
+ leftIcon?: ComponentType<SVGProps<SVGSVGElement>>;
861
+ /**
862
+ * Icon to render on the right side of the text
863
+ */
864
+ rightIcon?: ComponentType<SVGProps<SVGSVGElement>>;
865
+ /**
866
+ * Loading state - disables interaction and shows visual loading indicator
867
+ */
868
+ loading?: boolean;
869
+ /**
870
+ * Disabled state - prevents all interactions
871
+ */
872
+ disabled?: boolean;
873
+ children?: ReactNode;
874
+ }
875
+
876
+ /**
877
+ * Polymorphic NavItem type
878
+ * Defaults to "button" but supports "a", Next.js Link, React Router Link, or any custom component
879
+ */
880
+ export declare type NavItemProps<C extends ElementType = ElementType> = PolymorphicProps<C, NavItemBaseProps>;
881
+
882
+ /**
883
+ * Nav props
884
+ */
885
+ export declare interface NavProps extends Omit<HTMLAttributes<HTMLElement>, "onChange"> {
886
+ /**
887
+ * Layout direction for the navigation container
888
+ * @default "horizontal"
889
+ */
890
+ direction?: "horizontal" | "vertical";
891
+ /**
892
+ * Gap between nav items
893
+ * Uses Versaur spacing scale: xs, sm, md, lg
894
+ */
895
+ gap?: "xs" | "sm" | "md" | "lg";
896
+ /**
897
+ * Controlled value - which nav item is currently active
898
+ * @default undefined
899
+ */
900
+ value?: string | number;
901
+ /**
902
+ * Callback when a nav item is selected
903
+ */
904
+ onChange?: (value: string | number) => void;
905
+ children?: ReactNode;
906
+ }
907
+
908
+ /**
909
+ * NoResults component - displays an empty state with icon, title, subtitle, and optional action
910
+ *
911
+ * Perfect for search results, filtered lists, or any empty data scenarios.
912
+ * Uses semantic HTML with proper accessibility attributes.
913
+ *
914
+ * @example
915
+ * ```tsx
916
+ * import { NoResults } from '@versaur/react';
917
+ * import { SearchIcon } from '@versaur/icons';
918
+ *
919
+ * <NoResults
920
+ * icon={SearchIcon}
921
+ * title="No results found"
922
+ * subtitle="We couldn't find any items matching your search criteria."
923
+ * action={<Button variant="primary">Clear Search</Button>}
924
+ * />
925
+ * ```
926
+ */
927
+ export declare const NoResults: ForwardRefExoticComponent<NoResultsProps & RefAttributes<HTMLElement>>;
928
+
929
+ /**
930
+ * NoResults component props
931
+ * @property icon - Icon component to display (e.g., SearchIcon from @versaur/icons)
932
+ * @property title - Main heading text for the empty state
933
+ * @property subtitle - Optional secondary descriptive text
934
+ * @property action - Optional action element (typically a Button)
935
+ */
936
+ export declare interface NoResultsProps extends HTMLAttributes<HTMLElement> {
937
+ /**
938
+ * Icon component to render
939
+ * @required
940
+ */
941
+ icon: ComponentType<SVGProps<SVGSVGElement>>;
942
+ /**
943
+ * Main heading text for the empty state
944
+ * @required
945
+ */
946
+ title: string;
947
+ /**
948
+ * Secondary descriptive text
949
+ * @optional
950
+ */
951
+ subtitle?: string | ReactNode;
952
+ /**
953
+ * Action element to render below content
954
+ * Typically a Button component
955
+ * @optional
956
+ */
957
+ action?: ReactNode;
958
+ }
959
+
960
+ declare interface OverlayBodyProps extends HTMLAttributes<HTMLDivElement> {
961
+ children?: ReactNode;
962
+ }
963
+
964
+ declare interface OverlayFooterProps extends HTMLAttributes<HTMLDivElement> {
965
+ children?: ReactNode;
966
+ }
967
+
968
+ declare interface OverlayHeaderProps extends HTMLAttributes<HTMLDivElement> {
969
+ children?: ReactNode;
970
+ }
971
+
972
+ declare interface OverlayTitleProps extends HTMLAttributes<HTMLHeadingElement> {
973
+ children?: ReactNode;
974
+ /**
975
+ * The HTML element to render as
976
+ * @default 'h2'
977
+ */
978
+ as?: ElementType;
979
+ }
980
+
981
+ declare type PolymorphicProps<C extends ElementType = ElementType, Props = {}> = Props & AsProp<C> & Omit<React.ComponentPropsWithoutRef<C>, keyof Props | "as">;
982
+
983
+ /**
984
+ * Compound Sidebar component with sub-components
985
+ */
986
+ export declare const Sidebar: SidebarType;
987
+
988
+ export declare interface SidebarBodyProps {
989
+ className?: string;
990
+ children?: ReactNode;
991
+ }
992
+
993
+ export declare interface SidebarDividerProps extends HTMLAttributes<HTMLDivElement> {
994
+ }
995
+
996
+ export declare interface SidebarFooterProps {
997
+ className?: string;
998
+ children?: ReactNode;
999
+ }
1000
+
1001
+ export declare interface SidebarGroupProps {
1002
+ label?: ReactNode;
1003
+ icon: ReactNode;
1004
+ defaultExpanded?: boolean;
1005
+ isExpanded?: boolean;
1006
+ onExpandedChange?: (expanded: boolean) => void;
1007
+ className?: string;
1008
+ children?: ReactNode;
1009
+ }
1010
+
1011
+ export declare interface SidebarHeaderProps {
1012
+ className?: string;
1013
+ children?: ReactNode;
1014
+ }
1015
+
1016
+ declare interface SidebarItemListProps {
1017
+ className?: string;
1018
+ children?: ReactNode;
1019
+ }
1020
+
1021
+ export declare type SidebarItemProps<T extends ElementType = "button"> = {
1022
+ as?: T;
1023
+ active?: boolean;
1024
+ disabled?: boolean;
1025
+ icon?: ReactNode;
1026
+ action?: ReactNode;
1027
+ className?: string;
1028
+ children?: ReactNode;
1029
+ } & Omit<ComponentPropsWithoutRef<T>, "children">;
1030
+
1031
+ export declare interface SidebarRootProps {
1032
+ className?: string;
1033
+ children?: ReactNode;
1034
+ }
1035
+
1036
+ declare interface SidebarType extends ForwardRefExoticComponent<SidebarRootProps & RefAttributes<HTMLElement>> {
1037
+ Header: ForwardRefExoticComponent<SidebarHeaderProps & RefAttributes<HTMLDivElement>>;
1038
+ Body: ForwardRefExoticComponent<SidebarBodyProps & RefAttributes<HTMLDivElement>>;
1039
+ Footer: ForwardRefExoticComponent<SidebarFooterProps & RefAttributes<HTMLDivElement>>;
1040
+ Group: ForwardRefExoticComponent<SidebarGroupProps & RefAttributes<HTMLDivElement>>;
1041
+ Item: <T extends ElementType = "button">(props: SidebarItemProps<T> & RefAttributes<HTMLElement>) => JSX.Element;
1042
+ ItemList: ForwardRefExoticComponent<SidebarItemListProps & RefAttributes<HTMLDivElement>>;
1043
+ Divider: ForwardRefExoticComponent<SidebarDividerProps & RefAttributes<HTMLDivElement>>;
1044
+ }
1045
+
1046
+ export declare const Table: React.ForwardRefExoticComponent<TableWrapperProps & React.RefAttributes<HTMLDivElement>> & {
1047
+ Header: typeof TableHeader;
1048
+ Body: typeof TableBody;
1049
+ Footer: typeof TableFooter;
1050
+ Row: typeof TableRow;
1051
+ HeaderCell: typeof TableHeaderCell;
1052
+ BodyCell: typeof TableBodyCell;
1053
+ Checkbox: typeof TableCheckbox;
1054
+ DoubleLine: typeof TableDoubleLine;
1055
+ Action: typeof TableAction;
1056
+ };
1057
+
1058
+ /**
1059
+ * TableAction - Built-in button for action column using ButtonIcon
1060
+ */
1061
+ declare const TableAction: ForwardRefExoticComponent<TableActionProps & RefAttributes<HTMLButtonElement>>;
1062
+
1063
+ /**
1064
+ * Built-in action button for action column
1065
+ */
1066
+ export declare interface TableActionProps {
1067
+ /**
1068
+ * Callback when button is clicked
1069
+ */
1070
+ onClick?: () => void;
1071
+ /**
1072
+ * Disable the button
1073
+ */
1074
+ disabled?: boolean;
1075
+ }
1076
+
1077
+ /**
1078
+ * TableBody - tbody wrapper
1079
+ */
1080
+ declare const TableBody: ForwardRefExoticComponent<TableBodyProps & RefAttributes<HTMLTableSectionElement>>;
1081
+
1082
+ /**
1083
+ * TableBodyCell - td wrapper (renamed from TableCell)
1084
+ */
1085
+ declare const TableBodyCell: ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & {
1086
+ variant?: TableCellVariant;
1087
+ } & RefAttributes<HTMLTableCellElement>>;
1088
+
1089
+ /**
1090
+ * Table body cell (renamed from TableCellProps)
1091
+ * Default vertical centering for content
1092
+ */
1093
+ export declare type TableBodyCellProps = TdHTMLAttributes<HTMLTableCellElement> & {
1094
+ variant?: TableCellVariant;
1095
+ };
1096
+
1097
+ export declare type TableBodyProps = HTMLAttributes<HTMLTableSectionElement>;
1098
+
1099
+ /**
1100
+ * TableCheckbox - Built-in checkbox for row-level selection
1101
+ */
1102
+ declare const TableCheckbox: ForwardRefExoticComponent<TableCheckboxProps & RefAttributes<HTMLInputElement>>;
1103
+
1104
+ /**
1105
+ * Built-in checkbox for row selection
1106
+ */
1107
+ export declare interface TableCheckboxProps {
1108
+ /**
1109
+ * Unique row identifier
1110
+ */
1111
+ rowId: string | number;
1112
+ /**
1113
+ * Whether checkbox is checked
1114
+ */
1115
+ checked?: boolean;
1116
+ /**
1117
+ * Indeterminate state (e.g., for parent checkbox)
1118
+ */
1119
+ indeterminate?: boolean;
1120
+ /**
1121
+ * Callback when checkbox state changes
1122
+ */
1123
+ onChange: (checked: boolean) => void;
1124
+ }
1125
+
1126
+ /**
1127
+ * TableDoubleLine - Built-in cell with title and subtitle
1128
+ */
1129
+ declare const TableDoubleLine: ForwardRefExoticComponent<TableDoubleLineProps & RefAttributes<HTMLDivElement>>;
1130
+
1131
+ /**
1132
+ * Built-in double-line cell (title + subtitle)
1133
+ */
1134
+ export declare interface TableDoubleLineProps extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "subtitle"> {
1135
+ /**
1136
+ * Main title (bold, primary color)
1137
+ */
1138
+ title: ReactNode;
1139
+ /**
1140
+ * Subtitle (gray, smaller)
1141
+ */
1142
+ subtitle: ReactNode;
1143
+ /**
1144
+ * Cell size preset
1145
+ * @default "md"
1146
+ */
1147
+ size?: "sm" | "md" | "lg";
1148
+ }
1149
+
1150
+ /**
1151
+ * TableFooter - tfoot wrapper
1152
+ */
1153
+ declare const TableFooter: ForwardRefExoticComponent<TableFooterProps & RefAttributes<HTMLTableSectionElement>>;
1154
+
1155
+ export declare type TableFooterProps = HTMLAttributes<HTMLTableSectionElement>;
1156
+
1157
+ /**
1158
+ * TableHeader - thead wrapper
1159
+ */
1160
+ declare const TableHeader: ForwardRefExoticComponent<TableHeaderProps & RefAttributes<HTMLTableSectionElement>>;
1161
+
1162
+ /**
1163
+ * TableHeaderCell - th wrapper with sortable support (renamed from TableHead)
1164
+ */
1165
+ declare const TableHeaderCell: ForwardRefExoticComponent<ThHTMLAttributes<HTMLTableCellElement> & {
1166
+ sortable?: boolean;
1167
+ sortDirection?: "asc" | "desc" | null;
1168
+ onSort?: (direction: "asc" | "desc" | null) => void;
1169
+ } & RefAttributes<HTMLTableCellElement>>;
1170
+
1171
+ /**
1172
+ * Table header cell (renamed from TableHeadProps)
1173
+ * Supports sortable headers with controlled sort direction
1174
+ */
1175
+ export declare type TableHeaderCellProps = ThHTMLAttributes<HTMLTableCellElement> & {
1176
+ /**
1177
+ * Enable sortable header with visual indicator
1178
+ */
1179
+ sortable?: boolean;
1180
+ /**
1181
+ * Current sort direction ('asc' | 'desc' | null for no sort, chevron always visible when sortable)
1182
+ */
1183
+ sortDirection?: "asc" | "desc" | null;
1184
+ /**
1185
+ * Callback when user clicks sortable header
1186
+ */
1187
+ onSort?: (direction: "asc" | "desc" | null) => void;
1188
+ };
1189
+
1190
+ export declare type TableHeaderProps = HTMLAttributes<HTMLTableSectionElement>;
1191
+
1192
+ /**
1193
+ * TableRow - tr wrapper with click-to-select support
1194
+ */
1195
+ declare const TableRow: ForwardRefExoticComponent<TableRowProps & RefAttributes<HTMLTableRowElement>>;
1196
+
1197
+ export declare type TableRowProps = HTMLAttributes<HTMLTableRowElement>;
1198
+
1199
+ /**
1200
+ * Table wrapper props with CSS Grid column definition
1201
+ */
1202
+ export declare type TableWrapperProps = HTMLAttributes<HTMLDivElement> & {
1203
+ /**
1204
+ * CSS Grid template columns string (e.g., "2fr 1fr 1fr min-content")
1205
+ */
1206
+ columns: string;
1207
+ /**
1208
+ * Set of selected row IDs for row-level selection state (controlled)
1209
+ */
1210
+ selectedRows?: Set<string | number>;
1211
+ };
1212
+
1213
+ export declare const Tabs: TabsComponent;
1214
+
1215
+ declare interface TabsComponent extends React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>> {
1216
+ Item: typeof TabsItem;
1217
+ getPanelAttribute: typeof getPanelAttribute;
1218
+ }
1219
+
1220
+ /**
1221
+ * Tabs.Item Component
1222
+ *
1223
+ * A tab item button that manages its own active/disabled state
1224
+ * based on context
1225
+ *
1226
+ * @example
1227
+ * ```tsx
1228
+ * <Tabs.Item value="tab1">Tab 1</Tabs.Item>
1229
+ * ```
1230
+ */
1231
+ declare const TabsItem: ForwardRefExoticComponent<TabsItemProps & RefAttributes<HTMLButtonElement>>;
1232
+
1233
+ export declare interface TabsItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "value"> {
1234
+ /**
1235
+ * The unique identifier for this item
1236
+ */
1237
+ value: string;
1238
+ /**
1239
+ * Whether the item is disabled
1240
+ */
1241
+ disabled?: boolean;
1242
+ /**
1243
+ * The content of the item
1244
+ */
1245
+ children: ReactNode;
1246
+ }
1247
+
1248
+ /**
1249
+ * Attributes object for tabpanel elements
1250
+ * Used with Tabs.getPanelAttribute() helper
1251
+ */
1252
+ export declare interface TabsPanelAttributes {
1253
+ id: string;
1254
+ role: "tabpanel";
1255
+ "aria-labelledby": string;
1256
+ }
1257
+
1258
+ export declare interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
1259
+ /**
1260
+ * The currently active tab value
1261
+ */
1262
+ value: string;
1263
+ /**
1264
+ * Callback fired when a tab is selected
1265
+ */
1266
+ onChange: (value: string) => void;
1267
+ /**
1268
+ * The content of the tabs component
1269
+ */
1270
+ children: ReactNode;
1271
+ }
1272
+
1273
+ /**
1274
+ * Compound component assembly
1275
+ * Attaches sub-components to TopBar for namespace-based API
1276
+ */
1277
+ export declare const TopBar: React.ForwardRefExoticComponent<TopBarProps & React.RefAttributes<HTMLElement>> & TopBarComponent;
1278
+
1279
+ declare type TopBarCentredComponent = ForwardRefExoticComponent<TopBarCentredProps & RefAttributes<HTMLDivElement>>;
1280
+
1281
+ /**
1282
+ * TopBar.Centred - Center grid area (search, title, etc)
1283
+ */
1284
+ export declare interface TopBarCentredProps extends HTMLAttributes<HTMLDivElement> {
1285
+ children?: ReactNode;
1286
+ }
1287
+
1288
+ /**
1289
+ * Compound component interface for type safety
1290
+ */
1291
+ export declare interface TopBarComponent {
1292
+ Leading: TopBarLeadingComponent;
1293
+ Centred: TopBarCentredComponent;
1294
+ Trailing: TopBarTrailingComponent;
1295
+ Item: <T extends ElementType = "button">(props: TopBarItemProps<T> & RefAttributes<HTMLElement>) => JSX.Element;
1296
+ ListItem: ForwardRefExoticComponent<TopBarItemListProps & RefAttributes<HTMLDivElement>>;
1297
+ }
1298
+
1299
+ /**
1300
+ * TopBar.ListItem - Horizontal flex container for navigation items
1301
+ */
1302
+ export declare interface TopBarItemListProps extends HTMLAttributes<HTMLDivElement> {
1303
+ children?: ReactNode;
1304
+ }
1305
+
1306
+ /**
1307
+ * TopBar.Item - Polymorphic navigation item (button or link)
1308
+ */
1309
+ export declare type TopBarItemProps<T extends ElementType = "button"> = {
1310
+ as?: T;
1311
+ active?: boolean;
1312
+ disabled?: boolean;
1313
+ icon?: ReactNode;
1314
+ className?: string;
1315
+ children?: ReactNode;
1316
+ } & Omit<ComponentPropsWithoutRef<T>, "children">;
1317
+
1318
+ /**
1319
+ * Component types for compound interface
1320
+ */
1321
+ declare type TopBarLeadingComponent = ForwardRefExoticComponent<TopBarLeadingProps & RefAttributes<HTMLDivElement>>;
1322
+
1323
+ /**
1324
+ * TopBar.Leading - Left grid area (logo, brand, navigation)
1325
+ */
1326
+ export declare interface TopBarLeadingProps extends HTMLAttributes<HTMLDivElement> {
1327
+ children?: ReactNode;
1328
+ }
1329
+
1330
+ /**
1331
+ * TopBar root component props
1332
+ * Pure layout component - no variant styling
1333
+ */
1334
+ export declare interface TopBarProps extends HTMLAttributes<HTMLElement> {
1335
+ children?: ReactNode;
1336
+ }
1337
+
1338
+ declare type TopBarTrailingComponent = ForwardRefExoticComponent<TopBarTrailingProps & RefAttributes<HTMLDivElement>>;
1339
+
1340
+ /**
1341
+ * TopBar.Trailing - Right grid area (actions, user menu, etc)
1342
+ */
1343
+ export declare interface TopBarTrailingProps extends HTMLAttributes<HTMLDivElement> {
1344
+ children?: ReactNode;
1345
+ }
1346
+
1347
+ export { }