@dalcvil/steam-green-react 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +20 -5
  2. package/dist/components/Avatar/Avatar.css +136 -0
  3. package/dist/components/Avatar/Avatar.d.ts +22 -0
  4. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  5. package/dist/components/Avatar/Avatar.js +49 -0
  6. package/dist/components/Avatar/Avatar.js.map +1 -0
  7. package/dist/components/Avatar/index.d.ts +3 -0
  8. package/dist/components/Avatar/index.d.ts.map +1 -0
  9. package/dist/components/Button/Button.css +117 -0
  10. package/dist/components/Button/Button.d.ts +18 -0
  11. package/dist/components/Button/Button.d.ts.map +1 -0
  12. package/dist/components/Button/Button.js +29 -0
  13. package/dist/components/Button/Button.js.map +1 -0
  14. package/dist/components/Button/index.d.ts +3 -0
  15. package/dist/components/Button/index.d.ts.map +1 -0
  16. package/dist/components/Checkbox/Checkbox.css +116 -0
  17. package/dist/components/Checkbox/Checkbox.css.d.ts +1 -0
  18. package/dist/components/Checkbox/Checkbox.d.ts +19 -0
  19. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  20. package/dist/components/Checkbox/Checkbox.js +51 -0
  21. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  22. package/dist/components/Checkbox/index.d.ts +3 -0
  23. package/dist/components/Checkbox/index.d.ts.map +1 -0
  24. package/dist/components/ColorPicker/ColorPicker.css +331 -0
  25. package/dist/components/ColorPicker/ColorPicker.css.d.ts +1 -0
  26. package/dist/components/ColorPicker/ColorPicker.d.ts +29 -0
  27. package/dist/components/ColorPicker/ColorPicker.d.ts.map +1 -0
  28. package/dist/components/ColorPicker/ColorPicker.js +534 -0
  29. package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
  30. package/dist/components/ColorPicker/index.d.ts +3 -0
  31. package/dist/components/{GreenButton → ColorPicker}/index.d.ts.map +1 -1
  32. package/dist/components/Console/Console.css +96 -0
  33. package/dist/components/Console/Console.css.d.ts +1 -0
  34. package/dist/components/Console/Console.d.ts +26 -0
  35. package/dist/components/Console/Console.d.ts.map +1 -0
  36. package/dist/components/Console/Console.js +59 -0
  37. package/dist/components/Console/Console.js.map +1 -0
  38. package/dist/components/Console/index.d.ts +3 -0
  39. package/dist/components/Console/index.d.ts.map +1 -0
  40. package/dist/components/Dialog/Dialog.css +137 -0
  41. package/dist/components/Dialog/Dialog.css.d.ts +1 -0
  42. package/dist/components/Dialog/Dialog.d.ts +28 -0
  43. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  44. package/dist/components/Dialog/Dialog.js +151 -0
  45. package/dist/components/Dialog/Dialog.js.map +1 -0
  46. package/dist/components/Dialog/index.d.ts +3 -0
  47. package/dist/components/Dialog/index.d.ts.map +1 -0
  48. package/dist/components/Divider/Divider.css +68 -0
  49. package/dist/components/Divider/Divider.css.d.ts +1 -0
  50. package/dist/components/Divider/Divider.d.ts +12 -0
  51. package/dist/components/Divider/Divider.d.ts.map +1 -0
  52. package/dist/components/Divider/Divider.js +23 -0
  53. package/dist/components/Divider/Divider.js.map +1 -0
  54. package/dist/components/Divider/index.d.ts +3 -0
  55. package/dist/components/Divider/index.d.ts.map +1 -0
  56. package/dist/components/FieldLabel/FieldLabel.css +98 -0
  57. package/dist/components/FieldLabel/FieldLabel.css.d.ts +1 -0
  58. package/dist/components/FieldLabel/FieldLabel.d.ts +29 -0
  59. package/dist/components/FieldLabel/FieldLabel.d.ts.map +1 -0
  60. package/dist/components/FieldLabel/FieldLabel.js +42 -0
  61. package/dist/components/FieldLabel/FieldLabel.js.map +1 -0
  62. package/dist/components/FieldLabel/index.d.ts +3 -0
  63. package/dist/components/{GreenPanel → FieldLabel}/index.d.ts.map +1 -1
  64. package/dist/components/GroupBox/GroupBox.css +101 -0
  65. package/dist/components/GroupBox/GroupBox.css.d.ts +1 -0
  66. package/dist/components/GroupBox/GroupBox.d.ts +14 -0
  67. package/dist/components/GroupBox/GroupBox.d.ts.map +1 -0
  68. package/dist/components/GroupBox/GroupBox.js +25 -0
  69. package/dist/components/GroupBox/GroupBox.js.map +1 -0
  70. package/dist/components/GroupBox/index.d.ts +3 -0
  71. package/dist/components/GroupBox/index.d.ts.map +1 -0
  72. package/dist/components/IconButton/IconButton.css +184 -0
  73. package/dist/components/IconButton/IconButton.css.d.ts +1 -0
  74. package/dist/components/IconButton/IconButton.d.ts +56 -0
  75. package/dist/components/IconButton/IconButton.d.ts.map +1 -0
  76. package/dist/components/IconButton/IconButton.js +77 -0
  77. package/dist/components/IconButton/IconButton.js.map +1 -0
  78. package/dist/components/IconButton/index.d.ts +3 -0
  79. package/dist/components/IconButton/index.d.ts.map +1 -0
  80. package/dist/components/LevelMeter/LevelMeter.css +117 -0
  81. package/dist/components/LevelMeter/LevelMeter.css.d.ts +1 -0
  82. package/dist/components/LevelMeter/LevelMeter.d.ts +20 -0
  83. package/dist/components/LevelMeter/LevelMeter.d.ts.map +1 -0
  84. package/dist/components/LevelMeter/LevelMeter.js +44 -0
  85. package/dist/components/LevelMeter/LevelMeter.js.map +1 -0
  86. package/dist/components/LevelMeter/index.d.ts +3 -0
  87. package/dist/components/LevelMeter/index.d.ts.map +1 -0
  88. package/dist/components/Link/Link.css +127 -0
  89. package/dist/components/Link/Link.css.d.ts +1 -0
  90. package/dist/components/Link/Link.d.ts +26 -0
  91. package/dist/components/Link/Link.d.ts.map +1 -0
  92. package/dist/components/Link/Link.js +60 -0
  93. package/dist/components/Link/Link.js.map +1 -0
  94. package/dist/components/Link/index.d.ts +3 -0
  95. package/dist/components/Link/index.d.ts.map +1 -0
  96. package/dist/components/List/List.css +224 -0
  97. package/dist/components/List/List.css.d.ts +1 -0
  98. package/dist/components/List/List.d.ts +49 -0
  99. package/dist/components/List/List.d.ts.map +1 -0
  100. package/dist/components/List/List.js +300 -0
  101. package/dist/components/List/List.js.map +1 -0
  102. package/dist/components/List/index.d.ts +3 -0
  103. package/dist/components/List/index.d.ts.map +1 -0
  104. package/dist/components/Menu/Menu.css +122 -0
  105. package/dist/components/Menu/Menu.css.d.ts +1 -0
  106. package/dist/components/Menu/Menu.d.ts +46 -0
  107. package/dist/components/Menu/Menu.d.ts.map +1 -0
  108. package/dist/components/Menu/Menu.js +246 -0
  109. package/dist/components/Menu/Menu.js.map +1 -0
  110. package/dist/components/Menu/index.d.ts +3 -0
  111. package/dist/components/Menu/index.d.ts.map +1 -0
  112. package/dist/components/MenuBar/MenuBar.css +94 -0
  113. package/dist/components/MenuBar/MenuBar.css.d.ts +1 -0
  114. package/dist/components/MenuBar/MenuBar.d.ts +34 -0
  115. package/dist/components/MenuBar/MenuBar.d.ts.map +1 -0
  116. package/dist/components/MenuBar/MenuBar.js +129 -0
  117. package/dist/components/MenuBar/MenuBar.js.map +1 -0
  118. package/dist/components/MenuBar/index.d.ts +3 -0
  119. package/dist/components/MenuBar/index.d.ts.map +1 -0
  120. package/dist/components/NavBar/NavBar.css +179 -0
  121. package/dist/components/NavBar/NavBar.css.d.ts +1 -0
  122. package/dist/components/NavBar/NavBar.d.ts +39 -0
  123. package/dist/components/NavBar/NavBar.d.ts.map +1 -0
  124. package/dist/components/NavBar/NavBar.js +198 -0
  125. package/dist/components/NavBar/NavBar.js.map +1 -0
  126. package/dist/components/NavBar/index.d.ts +3 -0
  127. package/dist/components/NavBar/index.d.ts.map +1 -0
  128. package/dist/components/Notification/Notification.css +176 -0
  129. package/dist/components/Notification/Notification.css.d.ts +1 -0
  130. package/dist/components/Notification/Notification.d.ts +26 -0
  131. package/dist/components/Notification/Notification.d.ts.map +1 -0
  132. package/dist/components/Notification/Notification.js +181 -0
  133. package/dist/components/Notification/Notification.js.map +1 -0
  134. package/dist/components/Notification/index.d.ts +3 -0
  135. package/dist/components/Notification/index.d.ts.map +1 -0
  136. package/dist/components/Panel/Panel.css +56 -0
  137. package/dist/components/Panel/Panel.css.d.ts +1 -0
  138. package/dist/components/Panel/Panel.d.ts +14 -0
  139. package/dist/components/Panel/Panel.d.ts.map +1 -0
  140. package/dist/components/Panel/Panel.js +42 -0
  141. package/dist/components/Panel/Panel.js.map +1 -0
  142. package/dist/components/Panel/index.d.ts +3 -0
  143. package/dist/components/Panel/index.d.ts.map +1 -0
  144. package/dist/components/ProgressBar/ProgressBar.css +108 -0
  145. package/dist/components/ProgressBar/ProgressBar.css.d.ts +1 -0
  146. package/dist/components/ProgressBar/ProgressBar.d.ts +22 -0
  147. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  148. package/dist/components/ProgressBar/ProgressBar.js +43 -0
  149. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  150. package/dist/components/ProgressBar/index.d.ts +3 -0
  151. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  152. package/dist/components/Radio/Radio.css +125 -0
  153. package/dist/components/Radio/Radio.css.d.ts +1 -0
  154. package/dist/components/Radio/Radio.d.ts +40 -0
  155. package/dist/components/Radio/Radio.d.ts.map +1 -0
  156. package/dist/components/Radio/Radio.js +91 -0
  157. package/dist/components/Radio/Radio.js.map +1 -0
  158. package/dist/components/Radio/index.d.ts +3 -0
  159. package/dist/components/Radio/index.d.ts.map +1 -0
  160. package/dist/components/RichText/RichText.css +96 -0
  161. package/dist/components/RichText/RichText.css.d.ts +1 -0
  162. package/dist/components/RichText/RichText.d.ts +25 -0
  163. package/dist/components/RichText/RichText.d.ts.map +1 -0
  164. package/dist/components/RichText/RichText.js +56 -0
  165. package/dist/components/RichText/RichText.js.map +1 -0
  166. package/dist/components/RichText/index.d.ts +3 -0
  167. package/dist/components/RichText/index.d.ts.map +1 -0
  168. package/dist/components/ScrollArea/ScrollArea.css +236 -0
  169. package/dist/components/ScrollArea/ScrollArea.css.d.ts +1 -0
  170. package/dist/components/ScrollArea/ScrollArea.d.ts +25 -0
  171. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  172. package/dist/components/ScrollArea/ScrollArea.js +124 -0
  173. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  174. package/dist/components/ScrollArea/index.d.ts +3 -0
  175. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  176. package/dist/components/Scrollbar/Scrollbar.css +260 -0
  177. package/dist/components/Scrollbar/Scrollbar.css.d.ts +1 -0
  178. package/dist/components/Scrollbar/Scrollbar.d.ts +31 -0
  179. package/dist/components/Scrollbar/Scrollbar.d.ts.map +1 -0
  180. package/dist/components/Scrollbar/Scrollbar.js +277 -0
  181. package/dist/components/Scrollbar/Scrollbar.js.map +1 -0
  182. package/dist/components/Scrollbar/index.d.ts +3 -0
  183. package/dist/components/Scrollbar/index.d.ts.map +1 -0
  184. package/dist/components/Select/Select.css +299 -0
  185. package/dist/components/Select/Select.css.d.ts +1 -0
  186. package/dist/components/Select/Select.d.ts +52 -0
  187. package/dist/components/Select/Select.d.ts.map +1 -0
  188. package/dist/components/Select/Select.js +281 -0
  189. package/dist/components/Select/Select.js.map +1 -0
  190. package/dist/components/Select/index.d.ts +3 -0
  191. package/dist/components/Select/index.d.ts.map +1 -0
  192. package/dist/components/Slider/Slider.css +158 -0
  193. package/dist/components/Slider/Slider.css.d.ts +1 -0
  194. package/dist/components/Slider/Slider.d.ts +26 -0
  195. package/dist/components/Slider/Slider.d.ts.map +1 -0
  196. package/dist/components/Slider/Slider.js +67 -0
  197. package/dist/components/Slider/Slider.js.map +1 -0
  198. package/dist/components/Slider/index.d.ts +3 -0
  199. package/dist/components/Slider/index.d.ts.map +1 -0
  200. package/dist/components/SpinBox/SpinBox.css +152 -0
  201. package/dist/components/SpinBox/SpinBox.css.d.ts +1 -0
  202. package/dist/components/SpinBox/SpinBox.d.ts +28 -0
  203. package/dist/components/SpinBox/SpinBox.d.ts.map +1 -0
  204. package/dist/components/SpinBox/SpinBox.js +207 -0
  205. package/dist/components/SpinBox/SpinBox.js.map +1 -0
  206. package/dist/components/SpinBox/index.d.ts +3 -0
  207. package/dist/components/SpinBox/index.d.ts.map +1 -0
  208. package/dist/components/Spinner/Spinner.css +137 -0
  209. package/dist/components/Spinner/Spinner.css.d.ts +1 -0
  210. package/dist/components/Spinner/Spinner.d.ts +20 -0
  211. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  212. package/dist/components/Spinner/Spinner.js +36 -0
  213. package/dist/components/Spinner/Spinner.js.map +1 -0
  214. package/dist/components/Spinner/index.d.ts +3 -0
  215. package/dist/components/Spinner/index.d.ts.map +1 -0
  216. package/dist/components/Splitter/Splitter.css +119 -0
  217. package/dist/components/Splitter/Splitter.css.d.ts +1 -0
  218. package/dist/components/Splitter/Splitter.d.ts +25 -0
  219. package/dist/components/Splitter/Splitter.d.ts.map +1 -0
  220. package/dist/components/Splitter/Splitter.js +212 -0
  221. package/dist/components/Splitter/Splitter.js.map +1 -0
  222. package/dist/components/Splitter/index.d.ts +3 -0
  223. package/dist/components/Splitter/index.d.ts.map +1 -0
  224. package/dist/components/StatusBar/StatusBar.css +97 -0
  225. package/dist/components/StatusBar/StatusBar.css.d.ts +1 -0
  226. package/dist/components/StatusBar/StatusBar.d.ts +22 -0
  227. package/dist/components/StatusBar/StatusBar.d.ts.map +1 -0
  228. package/dist/components/StatusBar/StatusBar.js +56 -0
  229. package/dist/components/StatusBar/StatusBar.js.map +1 -0
  230. package/dist/components/StatusBar/index.d.ts +3 -0
  231. package/dist/components/StatusBar/index.d.ts.map +1 -0
  232. package/dist/components/StatusLabel/StatusLabel.css +93 -0
  233. package/dist/components/StatusLabel/StatusLabel.css.d.ts +1 -0
  234. package/dist/components/StatusLabel/StatusLabel.d.ts +20 -0
  235. package/dist/components/StatusLabel/StatusLabel.d.ts.map +1 -0
  236. package/dist/components/StatusLabel/StatusLabel.js +42 -0
  237. package/dist/components/StatusLabel/StatusLabel.js.map +1 -0
  238. package/dist/components/StatusLabel/index.d.ts +3 -0
  239. package/dist/components/StatusLabel/index.d.ts.map +1 -0
  240. package/dist/components/Table/Table.css +253 -0
  241. package/dist/components/Table/Table.css.d.ts +1 -0
  242. package/dist/components/Table/Table.d.ts +67 -0
  243. package/dist/components/Table/Table.d.ts.map +1 -0
  244. package/dist/components/Table/Table.js +429 -0
  245. package/dist/components/Table/Table.js.map +1 -0
  246. package/dist/components/Table/index.d.ts +3 -0
  247. package/dist/components/Table/index.d.ts.map +1 -0
  248. package/dist/components/Tabs/Tabs.css +138 -0
  249. package/dist/components/Tabs/Tabs.css.d.ts +1 -0
  250. package/dist/components/Tabs/Tabs.d.ts +34 -0
  251. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  252. package/dist/components/Tabs/Tabs.js +140 -0
  253. package/dist/components/Tabs/Tabs.js.map +1 -0
  254. package/dist/components/Tabs/index.d.ts +3 -0
  255. package/dist/components/Tabs/index.d.ts.map +1 -0
  256. package/dist/components/TextInput/TextInput.css +133 -0
  257. package/dist/components/TextInput/TextInput.css.d.ts +1 -0
  258. package/dist/components/TextInput/TextInput.d.ts +16 -0
  259. package/dist/components/TextInput/TextInput.d.ts.map +1 -0
  260. package/dist/components/TextInput/TextInput.js +38 -0
  261. package/dist/components/TextInput/TextInput.js.map +1 -0
  262. package/dist/components/TextInput/index.d.ts +3 -0
  263. package/dist/components/TextInput/index.d.ts.map +1 -0
  264. package/dist/components/Textarea/Textarea.css +121 -0
  265. package/dist/components/Textarea/Textarea.css.d.ts +1 -0
  266. package/dist/components/Textarea/Textarea.d.ts +21 -0
  267. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  268. package/dist/components/Textarea/Textarea.js +61 -0
  269. package/dist/components/Textarea/Textarea.js.map +1 -0
  270. package/dist/components/Textarea/index.d.ts +3 -0
  271. package/dist/components/Textarea/index.d.ts.map +1 -0
  272. package/dist/components/TitleBar/TitleBar.css +76 -0
  273. package/dist/components/TitleBar/TitleBar.css.d.ts +1 -0
  274. package/dist/components/TitleBar/TitleBar.d.ts +20 -0
  275. package/dist/components/TitleBar/TitleBar.d.ts.map +1 -0
  276. package/dist/components/TitleBar/TitleBar.js +43 -0
  277. package/dist/components/TitleBar/TitleBar.js.map +1 -0
  278. package/dist/components/TitleBar/index.d.ts +3 -0
  279. package/dist/components/TitleBar/index.d.ts.map +1 -0
  280. package/dist/components/ToggleButton/ToggleButton.css +162 -0
  281. package/dist/components/ToggleButton/ToggleButton.css.d.ts +1 -0
  282. package/dist/components/ToggleButton/ToggleButton.d.ts +27 -0
  283. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -0
  284. package/dist/components/ToggleButton/ToggleButton.js +52 -0
  285. package/dist/components/ToggleButton/ToggleButton.js.map +1 -0
  286. package/dist/components/ToggleButton/index.d.ts +3 -0
  287. package/dist/components/ToggleButton/index.d.ts.map +1 -0
  288. package/dist/components/Toolbar/Toolbar.css +202 -0
  289. package/dist/components/Toolbar/Toolbar.css.d.ts +1 -0
  290. package/dist/components/Toolbar/Toolbar.d.ts +46 -0
  291. package/dist/components/Toolbar/Toolbar.d.ts.map +1 -0
  292. package/dist/components/Toolbar/Toolbar.js +102 -0
  293. package/dist/components/Toolbar/Toolbar.js.map +1 -0
  294. package/dist/components/Toolbar/index.d.ts +3 -0
  295. package/dist/components/Toolbar/index.d.ts.map +1 -0
  296. package/dist/components/Tooltip/Tooltip.css +86 -0
  297. package/dist/components/Tooltip/Tooltip.css.d.ts +1 -0
  298. package/dist/components/Tooltip/Tooltip.d.ts +22 -0
  299. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  300. package/dist/components/Tooltip/Tooltip.js +92 -0
  301. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  302. package/dist/components/Tooltip/index.d.ts +3 -0
  303. package/dist/components/Tooltip/index.d.ts.map +1 -0
  304. package/dist/components/TreeView/TreeView.css +191 -0
  305. package/dist/components/TreeView/TreeView.css.d.ts +1 -0
  306. package/dist/components/TreeView/TreeView.d.ts +46 -0
  307. package/dist/components/TreeView/TreeView.d.ts.map +1 -0
  308. package/dist/components/TreeView/TreeView.js +331 -0
  309. package/dist/components/TreeView/TreeView.js.map +1 -0
  310. package/dist/components/TreeView/index.d.ts +3 -0
  311. package/dist/components/TreeView/index.d.ts.map +1 -0
  312. package/dist/components/Window/Window.css +218 -0
  313. package/dist/components/Window/Window.css.d.ts +1 -0
  314. package/dist/components/Window/Window.d.ts +30 -0
  315. package/dist/components/Window/Window.d.ts.map +1 -0
  316. package/dist/components/Window/Window.js +156 -0
  317. package/dist/components/Window/Window.js.map +1 -0
  318. package/dist/components/Window/index.d.ts +3 -0
  319. package/dist/components/Window/index.d.ts.map +1 -0
  320. package/dist/index.d.ts +91 -10
  321. package/dist/index.d.ts.map +1 -1
  322. package/dist/index.js +41 -3
  323. package/dist/styles/scrollbars.css +123 -0
  324. package/dist/styles/scrollbars.css.d.ts +1 -0
  325. package/dist/styles/theme.css +86 -41
  326. package/dist/styles/tokens.css +202 -0
  327. package/dist/styles/tokens.css.d.ts +1 -0
  328. package/dist/test/a11y.d.ts +3 -0
  329. package/dist/test/a11y.d.ts.map +1 -0
  330. package/dist/test/index.d.ts +2 -0
  331. package/dist/test/index.d.ts.map +1 -0
  332. package/dist/test/setup.d.ts +2 -0
  333. package/dist/test/setup.d.ts.map +1 -0
  334. package/package.json +13 -2
  335. package/dist/components/GreenButton/GreenButton.css +0 -47
  336. package/dist/components/GreenButton/GreenButton.d.ts +0 -8
  337. package/dist/components/GreenButton/GreenButton.d.ts.map +0 -1
  338. package/dist/components/GreenButton/GreenButton.js +0 -20
  339. package/dist/components/GreenButton/GreenButton.js.map +0 -1
  340. package/dist/components/GreenButton/index.d.ts +0 -3
  341. package/dist/components/GreenPanel/GreenPanel.css +0 -45
  342. package/dist/components/GreenPanel/GreenPanel.d.ts +0 -12
  343. package/dist/components/GreenPanel/GreenPanel.d.ts.map +0 -1
  344. package/dist/components/GreenPanel/GreenPanel.js +0 -24
  345. package/dist/components/GreenPanel/GreenPanel.js.map +0 -1
  346. package/dist/components/GreenPanel/index.d.ts +0 -3
  347. /package/dist/components/{GreenButton/GreenButton.css.d.ts → Avatar/Avatar.css.d.ts} +0 -0
  348. /package/dist/components/{GreenPanel/GreenPanel.css.d.ts → Button/Button.css.d.ts} +0 -0
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Green Steam status label.
3
+ *
4
+ * One element, one text node: the status string of a bottom strip
5
+ * (docs/components/StatusLabel.md). Uppercase and muted by default, and the
6
+ * hover state is a COLOUR change only — no underline, no face, no bevel.
7
+ *
8
+ * `--vgui-status-dot-size` is component-local and therefore declared here, per
9
+ * foundations.md §4; every shared token is referenced bare.
10
+ */
11
+
12
+ .vgui-status-label {
13
+ --vgui-status-dot-size: 6px;
14
+
15
+ position: relative;
16
+ display: inline-block;
17
+ font: inherit;
18
+ font-size: var(--vgui-font-size);
19
+ font-weight: 400; /* StatusLabel is the ONLY 400 override */
20
+ line-height: 1.15;
21
+ color: var(--vgui-text-muted);
22
+ text-transform: uppercase;
23
+ letter-spacing: 0.02em;
24
+ white-space: nowrap;
25
+ overflow: hidden;
26
+ text-overflow: ellipsis;
27
+ }
28
+
29
+ /* The hover state is a COLOUR change only — no underline, no face, no bevel. */
30
+ .vgui-status-label--link {
31
+ color: var(--vgui-text-muted);
32
+ text-decoration: none;
33
+ cursor: pointer;
34
+ }
35
+
36
+ .vgui-status-label--link:hover,
37
+ .vgui-status-label--link:focus-visible {
38
+ color: var(--vgui-text-strong);
39
+ }
40
+
41
+ .vgui-status-label--link:focus-visible {
42
+ outline: var(--vgui-focus-ring);
43
+ outline-offset: var(--vgui-focus-ring-offset);
44
+ }
45
+
46
+ .vgui-status-label--with-dot {
47
+ display: inline-flex;
48
+ align-items: center;
49
+ gap: 6px;
50
+ }
51
+
52
+ /* Deliberately square: the theme has no round mask, and a square reads as a
53
+ * VGUI glyph rather than a modern badge dot. */
54
+ .vgui-status-label--with-dot::before {
55
+ content: '';
56
+ flex: none;
57
+ inline-size: var(--vgui-status-dot-size);
58
+ block-size: var(--vgui-status-dot-size);
59
+ background-color: currentColor;
60
+ }
61
+
62
+ .vgui-status-label--strong {
63
+ text-transform: none;
64
+ color: var(--vgui-text-strong);
65
+ letter-spacing: 0;
66
+ }
67
+
68
+ /*
69
+ * The corpus declares no disabled state. Option 2 of the component doc: an
70
+ * opt-in `disabled` prop maps to `aria-disabled` and dims with
71
+ * `--vgui-text-dim` ONLY — no shadow.
72
+ */
73
+ .vgui-status-label[aria-disabled='true'] {
74
+ color: var(--vgui-text-dim);
75
+ cursor: default;
76
+ }
77
+
78
+ /*
79
+ * The optional screen-reader-only prefix. Standard clip idiom: absolute so it
80
+ * is never a wrapper (and never a flex item of `--with-dot`), 1px so it cannot
81
+ * affect layout.
82
+ */
83
+ .vgui-status-label__prefix {
84
+ position: absolute;
85
+ inline-size: 1px;
86
+ block-size: 1px;
87
+ margin: -1px;
88
+ padding: 0;
89
+ overflow: hidden;
90
+ clip-path: inset(50%);
91
+ white-space: nowrap;
92
+ border: 0;
93
+ }
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,20 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import './StatusLabel.css';
3
+ export interface StatusLabelProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
4
+ /** The status string. Rendered uppercase by default. */
5
+ children?: ReactNode;
6
+ /** Render as an anchor. When set, hover brightens the text to white. */
7
+ href?: string;
8
+ /** Add a leading 6px dot in the current text colour. */
9
+ withDot?: boolean;
10
+ /** Drop the uppercase transform and use strong text. Use for long strings. */
11
+ strong?: boolean;
12
+ /** Prepend a visually hidden word, e.g. "Status:", for screen readers. */
13
+ accessiblePrefix?: string;
14
+ /** Renders a polite live region so changes are announced. */
15
+ live?: 'off' | 'polite' | 'assertive';
16
+ /** Dim the text with `--vgui-text-dim` only — no shadow — and expose `aria-disabled`. */
17
+ disabled?: boolean;
18
+ }
19
+ export declare const StatusLabel: import("react").ForwardRefExoticComponent<StatusLabelProps & import("react").RefAttributes<HTMLElement>>;
20
+ //# sourceMappingURL=StatusLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusLabel.d.ts","sourceRoot":"","sources":["../../../src/components/StatusLabel/StatusLabel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAO,MAAM,OAAO,CAAA;AAE3D,OAAO,mBAAmB,CAAA;AAE1B,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACrD,wDAAwD;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;IACrC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,WAAW,0GA8DvB,CAAA"}
@@ -0,0 +1,42 @@
1
+ import { forwardRef } from "react";
2
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
3
+ import "./StatusLabel.css";
4
+ //#region src/components/StatusLabel/StatusLabel.tsx
5
+ var StatusLabel = forwardRef(function StatusLabel({ className, children, href, withDot = false, strong = false, accessiblePrefix, live = "off", disabled = false, ...rest }, ref) {
6
+ const classes = ["vgui-status-label"];
7
+ if (href !== void 0) classes.push("vgui-status-label--link");
8
+ if (withDot) classes.push("vgui-status-label--with-dot");
9
+ if (strong) classes.push("vgui-status-label--strong");
10
+ if (className) classes.push(className);
11
+ const ariaLive = live === "off" ? void 0 : live;
12
+ const disabledAttrs = {
13
+ "aria-disabled": disabled || void 0,
14
+ "data-disabled": disabled ? "true" : void 0
15
+ };
16
+ const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [accessiblePrefix !== void 0 && /* @__PURE__ */ jsx("span", {
17
+ className: "vgui-status-label__prefix",
18
+ children: accessiblePrefix
19
+ }), children] });
20
+ if (href !== void 0) return /* @__PURE__ */ jsx("a", {
21
+ ref,
22
+ href,
23
+ className: classes.join(" "),
24
+ "aria-live": ariaLive,
25
+ ...disabledAttrs,
26
+ ...rest,
27
+ children: content
28
+ });
29
+ return /* @__PURE__ */ jsx("span", {
30
+ ref,
31
+ className: classes.join(" "),
32
+ "aria-live": ariaLive,
33
+ ...disabledAttrs,
34
+ ...rest,
35
+ children: content
36
+ });
37
+ });
38
+ StatusLabel.displayName = "StatusLabel";
39
+ //#endregion
40
+ export { StatusLabel };
41
+
42
+ //# sourceMappingURL=StatusLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusLabel.js","names":[],"sources":["../../../src/components/StatusLabel/StatusLabel.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport type { HTMLAttributes, ReactNode, Ref } from 'react'\n\nimport './StatusLabel.css'\n\nexport interface StatusLabelProps\n extends Omit<HTMLAttributes<HTMLElement>, 'children'> {\n /** The status string. Rendered uppercase by default. */\n children?: ReactNode\n /** Render as an anchor. When set, hover brightens the text to white. */\n href?: string\n /** Add a leading 6px dot in the current text colour. */\n withDot?: boolean\n /** Drop the uppercase transform and use strong text. Use for long strings. */\n strong?: boolean\n /** Prepend a visually hidden word, e.g. \"Status:\", for screen readers. */\n accessiblePrefix?: string\n /** Renders a polite live region so changes are announced. */\n live?: 'off' | 'polite' | 'assertive'\n /** Dim the text with `--vgui-text-dim` only — no shadow — and expose `aria-disabled`. */\n disabled?: boolean\n}\n\nexport const StatusLabel = forwardRef<HTMLElement, StatusLabelProps>(\n function StatusLabel(\n {\n className,\n children,\n href,\n withDot = false,\n strong = false,\n accessiblePrefix,\n live = 'off',\n disabled = false,\n ...rest\n },\n ref,\n ) {\n const classes = ['vgui-status-label']\n if (href !== undefined) classes.push('vgui-status-label--link')\n if (withDot) classes.push('vgui-status-label--with-dot')\n if (strong) classes.push('vgui-status-label--strong')\n if (className) classes.push(className)\n\n const ariaLive = live === 'off' ? undefined : live\n const disabledAttrs = {\n 'aria-disabled': disabled || undefined,\n 'data-disabled': disabled ? ('true' as const) : undefined,\n }\n const content = (\n <>\n {accessiblePrefix !== undefined && (\n <span className=\"vgui-status-label__prefix\">{accessiblePrefix}</span>\n )}\n {children}\n </>\n )\n\n if (href !== undefined) {\n return (\n <a\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n className={classes.join(' ')}\n aria-live={ariaLive}\n {...disabledAttrs}\n {...rest}\n >\n {content}\n </a>\n )\n }\n\n return (\n <span\n ref={ref as Ref<HTMLSpanElement>}\n className={classes.join(' ')}\n aria-live={ariaLive}\n {...disabledAttrs}\n {...rest}\n >\n {content}\n </span>\n )\n },\n)\n\nStatusLabel.displayName = 'StatusLabel'\n"],"mappings":";;;;AAuBA,IAAa,cAAc,WACzB,SAAS,YACP,EACE,WACA,UACA,MACA,UAAU,OACV,SAAS,OACT,kBACA,OAAO,OACP,WAAW,OACX,GAAG,QAEL,KACA;CACA,MAAM,UAAU,CAAC,mBAAmB;CACpC,IAAI,SAAS,KAAA,GAAW,QAAQ,KAAK,yBAAyB;CAC9D,IAAI,SAAS,QAAQ,KAAK,6BAA6B;CACvD,IAAI,QAAQ,QAAQ,KAAK,2BAA2B;CACpD,IAAI,WAAW,QAAQ,KAAK,SAAS;CAErC,MAAM,WAAW,SAAS,QAAQ,KAAA,IAAY;CAC9C,MAAM,gBAAgB;EACpB,iBAAiB,YAAY,KAAA;EAC7B,iBAAiB,WAAY,SAAmB,KAAA;CAClD;CACA,MAAM,UACJ,qBAAA,YAAA,EAAA,UAAA,CACG,qBAAqB,KAAA,KACpB,oBAAC,QAAD;EAAM,WAAU;EAA6B,UAAA;CAAuB,CAAA,GAErE,QACD,EAAA,CAAA;CAGJ,IAAI,SAAS,KAAA,GACX,OACE,oBAAC,KAAD;EACO;EACC;EACN,WAAW,QAAQ,KAAK,GAAG;EAC3B,aAAW;EACX,GAAI;EACJ,GAAI;EAEH,UAAA;CACA,CAAA;CAIP,OACE,oBAAC,QAAD;EACO;EACL,WAAW,QAAQ,KAAK,GAAG;EAC3B,aAAW;EACX,GAAI;EACJ,GAAI;EAEH,UAAA;CACG,CAAA;AAEV,CACF;AAEA,YAAY,cAAc"}
@@ -0,0 +1,3 @@
1
+ export { StatusLabel } from './StatusLabel';
2
+ export type { StatusLabelProps } from './StatusLabel';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/StatusLabel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,253 @@
1
+ /* Table — ListPanel with ListPanelColumnheader, ListPanelDragger and
2
+ SectionedListPanel rows. See docs/components/Table.md.
3
+ Every metric below that the corpus does not define is written as a
4
+ `var(--vgui-<token>, <doc value>)` pair so the component still renders
5
+ correctly before the token lands in tokens.css. */
6
+
7
+ .vgui-table {
8
+ display: flex;
9
+ flex-direction: column;
10
+ min-width: 0;
11
+ box-sizing: border-box;
12
+ color: var(--vgui-text);
13
+ font-family: var(--vgui-font);
14
+ font-size: var(--vgui-font-size, 14px);
15
+ line-height: var(--vgui-line-height, 1.25);
16
+ }
17
+
18
+ /* ---- Header: ListPanelColumnheader ---- */
19
+ .vgui-table__head {
20
+ display: flex;
21
+ flex: 0 0 auto;
22
+ position: relative;
23
+ z-index: 1;
24
+ background-color: var(--vgui-table-header-bg, #4c5844);
25
+ border-top: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-light);
26
+ border-left: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-light);
27
+ border-right: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-dark);
28
+ border-bottom: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-dark);
29
+ color: var(--vgui-table-header-text, #ffffff);
30
+ font-weight: var(--vgui-table-header-weight, 200);
31
+ /* No :hover rule: the corpus hover is a no-op, and a colour hover would leave
32
+ the vocabulary. Pressed rotates the bevel like every other VGUI control. */
33
+ }
34
+
35
+ .vgui-table--header-uppercase .vgui-table__head {
36
+ text-transform: uppercase;
37
+ }
38
+
39
+ .vgui-table--sticky .vgui-table__head {
40
+ position: sticky;
41
+ top: 0;
42
+ z-index: 2;
43
+ }
44
+
45
+ .vgui-table__th {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 2px;
49
+ box-sizing: border-box;
50
+ min-width: 0;
51
+ min-height: var(--vgui-table-row-height, 17px);
52
+ padding: 0 var(--vgui-table-cell-pad, 4px);
53
+ cursor: default;
54
+ overflow: hidden;
55
+ white-space: nowrap;
56
+ user-select: none;
57
+ }
58
+
59
+ .vgui-table__th-label {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 2px;
63
+ min-width: 0;
64
+ overflow: hidden;
65
+ text-overflow: ellipsis;
66
+ }
67
+
68
+ .vgui-table__th-icon {
69
+ display: inline-flex;
70
+ flex: 0 0 auto;
71
+ align-items: center;
72
+ justify-content: center;
73
+ /* The header glyphs are 16x16 in the corpus; no assets ship with the port. */
74
+ width: var(--vgui-table-glyph-size, 16px);
75
+ height: var(--vgui-table-glyph-size, 16px);
76
+ }
77
+
78
+ .vgui-table__icon {
79
+ display: inline-flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ width: var(--vgui-table-glyph-size, 16px);
83
+ height: var(--vgui-table-glyph-size, 16px);
84
+ }
85
+
86
+ /* Sortable headers are buttons, so they need to inherit the header strip's
87
+ typography and to keep the full cell as their target. */
88
+ .vgui-table__sort {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 2px;
92
+ width: 100%;
93
+ min-width: 0;
94
+ min-height: var(--vgui-table-row-height, 17px);
95
+ margin: 0;
96
+ padding: 0;
97
+ border: 0;
98
+ background: none;
99
+ color: inherit;
100
+ font: inherit;
101
+ text-align: inherit;
102
+ cursor: pointer;
103
+ }
104
+
105
+ .vgui-table__sort:focus-visible,
106
+ .vgui-table__dragger:focus-visible {
107
+ outline: var(--vgui-focus-ring);
108
+ outline-offset: var(--vgui-focus-ring-offset);
109
+ }
110
+
111
+ /* Valve's fallback ring: a 1px dashed inner outline. */
112
+ .vgui-crisp .vgui-table__sort:focus-visible,
113
+ .vgui-crisp .vgui-table__dragger:focus-visible {
114
+ outline: var(--vgui-focus-ring-valve);
115
+ outline-offset: var(--vgui-focus-ring-valve-offset);
116
+ }
117
+
118
+ /* There is no sorted state in the corpus — the indicator was drawn in C++ by
119
+ CInternetGames. A triangle is the smallest invention that is not a colour,
120
+ and the sorted header also carries aria-sort. */
121
+ .vgui-table__sort-indicator {
122
+ flex: 0 0 auto;
123
+ width: 0;
124
+ height: 0;
125
+ margin-left: 2px;
126
+ border-left: var(--vgui-table-sort-glyph-size, 4px) solid transparent;
127
+ border-right: var(--vgui-table-sort-glyph-size, 4px) solid transparent;
128
+ border-bottom: var(--vgui-table-sort-glyph-size, 4px) solid currentColor;
129
+ }
130
+
131
+ .vgui-table__sort-indicator[data-direction='desc'] {
132
+ border-bottom: 0;
133
+ border-top: var(--vgui-table-sort-glyph-size, 4px) solid currentColor;
134
+ }
135
+
136
+ .vgui-table__sort-indicator[data-direction='none'] {
137
+ visibility: hidden;
138
+ }
139
+
140
+ /* ---- Dragger: ListPanelDragger ---- */
141
+ /* The corpus draws nothing here and gives it no keyboard path; a visible 1px
142
+ seam plus arrow-key resizing is a deliberate departure, documented in
143
+ docs/components/Table.md. */
144
+ .vgui-table__dragger {
145
+ position: relative;
146
+ flex: 0 0 var(--vgui-table-dragger-width, 1px);
147
+ align-self: stretch;
148
+ background-color: var(--vgui-bevel-dark);
149
+ cursor: col-resize;
150
+ }
151
+
152
+ /* A 1px target is unreachable with a pointer, so the seam carries an invisible
153
+ hit area. It stops at 3px per side because the neighbouring cells have 4px of
154
+ their own padding — a full --vgui-min-target-size would cover header text. */
155
+ .vgui-table__dragger::after {
156
+ content: '';
157
+ position: absolute;
158
+ top: 0;
159
+ bottom: 0;
160
+ left: -3px;
161
+ right: -3px;
162
+ }
163
+
164
+ /* ---- Body: same grammar as List ---- */
165
+ .vgui-table__body {
166
+ flex: 1 1 auto;
167
+ min-height: 0;
168
+ background-color: var(--vgui-list-bg, #3e4637);
169
+ /* The head already painted the seam; a second BorderDark here would draw a 2px
170
+ double line. Paint the boundary once, from the element above. */
171
+ border-top: 0;
172
+ border-left: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-dark);
173
+ border-right: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-light);
174
+ border-bottom: var(--vgui-bevel-width, 1px) solid var(--vgui-bevel-light);
175
+ /* VGUI always shows the list's scrollbar, even when nothing overflows, so the
176
+ gutter is reserved and the bar is painted with a full-length thumb that
177
+ cannot be dragged yet — `overflow-y: scroll` gives exactly that. `auto`
178
+ would drop the bar and reflow every column. */
179
+ overflow-y: scroll;
180
+ }
181
+
182
+ .vgui-table__row {
183
+ position: relative;
184
+ display: flex;
185
+ min-height: var(--vgui-table-row-height, 17px);
186
+ /* GameslistText, which Valve created for the games list: 7.06:1 on GrayBG. */
187
+ color: var(--vgui-text-list-strong, #e6ece0);
188
+ cursor: default;
189
+ /* No transitions: VGUI selection is instantaneous. */
190
+ }
191
+
192
+ /* Selection is "pushed in": the fill is darker than the interior at only 1.41:1,
193
+ which fails WCAG 1.4.11 on its own, so the state also carries a leading marker
194
+ and a 1px inset shadow — both non-colour cues. */
195
+ .vgui-table__row[aria-selected='true'] {
196
+ background-color: var(--vgui-list-selected-bg, #282e22);
197
+ color: var(--vgui-text-strong);
198
+ box-shadow: inset 1px 1px 0 var(--vgui-bevel-dark);
199
+ }
200
+
201
+ /* Absolutely positioned so the marker costs no width: a marker in the flow would
202
+ shift every cell 2px sideways whenever the selection moved. */
203
+ .vgui-table__row[aria-selected='true']::before {
204
+ content: '';
205
+ position: absolute;
206
+ top: 2px;
207
+ bottom: 2px;
208
+ left: 0;
209
+ width: 2px;
210
+ background-color: var(--vgui-text-strong);
211
+ }
212
+
213
+ /* Roving tabindex: the arrow keys move focus, so the ring marks the *active*
214
+ row — a different row from the selected ones in a multi-select grid. */
215
+ .vgui-table__row:focus-visible {
216
+ outline: var(--vgui-focus-ring);
217
+ outline-offset: var(--vgui-focus-ring-offset);
218
+ }
219
+
220
+ .vgui-crisp .vgui-table__row:focus-visible {
221
+ outline: var(--vgui-focus-ring-valve);
222
+ outline-offset: var(--vgui-focus-ring-valve-offset);
223
+ }
224
+
225
+ /* ---- Cells ---- */
226
+ .vgui-table__cell {
227
+ box-sizing: border-box;
228
+ min-width: 0;
229
+ padding: 0 var(--vgui-table-cell-pad, 4px);
230
+ overflow: hidden;
231
+ text-align: left;
232
+ text-overflow: ellipsis;
233
+ white-space: nowrap;
234
+ }
235
+
236
+ .vgui-table__th[data-align='center'],
237
+ .vgui-table__cell[data-align='center'] {
238
+ justify-content: center;
239
+ text-align: center;
240
+ }
241
+
242
+ .vgui-table__th[data-align='end'],
243
+ .vgui-table__cell[data-align='end'] {
244
+ justify-content: flex-end;
245
+ text-align: right;
246
+ }
247
+
248
+ /* ---- Empty state ---- */
249
+ .vgui-table__empty {
250
+ flex: 1 1 auto;
251
+ color: var(--vgui-text-dim);
252
+ font-style: italic;
253
+ }
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,67 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import './Table.css';
3
+ import '../../styles/scrollbars.css';
4
+ export interface TableSort {
5
+ /** Column the rows are ordered by. */
6
+ columnId: string;
7
+ /** Ordering direction. */
8
+ direction: 'asc' | 'desc';
9
+ }
10
+ export interface TableColumn<Row> {
11
+ /** Stable identity; also the aria-colindex key. */
12
+ id: string;
13
+ /** Header label. */
14
+ header: string;
15
+ /** Cell renderer for a row. */
16
+ cell: (row: Row) => ReactNode;
17
+ /** Fixed width in pixels; omit to flex. */
18
+ width?: number;
19
+ /** Initial width when resizable and uncontrolled. */
20
+ defaultWidth?: number;
21
+ /**
22
+ * Value the rows are ordered by. Falls back to the rendered text when the
23
+ * cell produces a string or a number, and to nothing otherwise — a cell
24
+ * holding markup has no order the component could guess.
25
+ */
26
+ sortValue?: (row: Row) => string | number;
27
+ /** Makes the header a sort button for this column. */
28
+ sortable?: boolean;
29
+ /** Header alignment; VGUI headers are left-aligned. */
30
+ align?: 'start' | 'center' | 'end';
31
+ /** Optional header glyph, e.g. the VAC shield. */
32
+ headerIcon?: ReactNode;
33
+ }
34
+ export interface TableProps<Row> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
35
+ /** Column definitions, in display order. */
36
+ columns: TableColumn<Row>[];
37
+ /** Row data. */
38
+ rows: Row[];
39
+ /** Returns the stable id used for selection and React keys. */
40
+ rowId: (row: Row) => string;
41
+ /** Controlled selection. Use `string[]` when `multi` is set. */
42
+ selected?: string | string[];
43
+ /** Initial selection when uncontrolled. */
44
+ defaultSelected?: string | string[];
45
+ /** Allows Ctrl/Shift multi-selection. */
46
+ multi?: boolean;
47
+ /** Called with the new selection. */
48
+ onSelectedChange?: (ids: string | string[]) => void;
49
+ /** Controlled sort. */
50
+ sort?: TableSort;
51
+ /** Called when a sortable header is activated. */
52
+ onSortChange?: (sort: TableSort) => void;
53
+ /** Allows column resizing with a visible dragger. */
54
+ resizable?: boolean;
55
+ /** Called with the new width after a resize gesture ends. */
56
+ onColumnResize?: (columnId: string, width: number) => void;
57
+ /** Renders headers in uppercase, as the main client window does. */
58
+ headerUppercase?: boolean;
59
+ /** Sticky header. No corpus precedent; see Open questions. */
60
+ stickyHeader?: boolean;
61
+ /** Message shown in the grid's single row when there are no rows. */
62
+ emptyMessage?: string;
63
+ /** Sets `aria-busy` on the grid while a refresh is in flight. */
64
+ busy?: boolean;
65
+ }
66
+ export declare function Table<Row>(props: TableProps<Row>): import("react").JSX.Element;
67
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EAId,SAAS,EACV,MAAM,OAAO,CAAA;AAEd,OAAO,aAAa,CAAA;AACpB,OAAO,6BAA6B,CAAA;AAEpC,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW,CAAC,GAAG;IAC9B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAA;IAC7B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,CAAA;IACzC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB;AAED,MAAM,WAAW,UAAU,CAAC,GAAG,CAAE,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACvF,4CAA4C;IAC5C,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAA;IAC3B,gBAAgB;IAChB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,+DAA+D;IAC/D,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC5B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACnC,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAA;IACnD,uBAAuB;IACvB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kDAAkD;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1D,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAqCD,wBAAgB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,+BA0fhD"}