@tetrascience-npm/tetrascience-react-ui 0.7.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 (1241) hide show
  1. package/README.md +58 -4
  2. package/dist/ai/attachments.cjs +2 -0
  3. package/dist/ai/attachments.cjs.map +1 -0
  4. package/dist/ai/attachments.js +224 -0
  5. package/dist/ai/attachments.js.map +1 -0
  6. package/dist/ai/chain-of-thought.cjs +2 -0
  7. package/dist/ai/chain-of-thought.cjs.map +1 -0
  8. package/dist/ai/chain-of-thought.js +145 -0
  9. package/dist/ai/chain-of-thought.js.map +1 -0
  10. package/dist/ai/confirmation.cjs +2 -0
  11. package/dist/ai/confirmation.cjs.map +1 -0
  12. package/dist/ai/confirmation.js +109 -0
  13. package/dist/ai/confirmation.js.map +1 -0
  14. package/dist/ai/context.cjs +2 -0
  15. package/dist/ai/context.cjs.map +1 -0
  16. package/dist/ai/context.js +267 -0
  17. package/dist/ai/context.js.map +1 -0
  18. package/dist/ai/conversation.cjs +4 -0
  19. package/dist/ai/conversation.cjs.map +1 -0
  20. package/dist/ai/conversation.js +108 -0
  21. package/dist/ai/conversation.js.map +1 -0
  22. package/dist/ai/inline-citation.cjs +2 -0
  23. package/dist/ai/inline-citation.cjs.map +1 -0
  24. package/dist/ai/inline-citation.js +182 -0
  25. package/dist/ai/inline-citation.js.map +1 -0
  26. package/dist/ai/message.cjs +2 -0
  27. package/dist/ai/message.cjs.map +1 -0
  28. package/dist/ai/message.js +237 -0
  29. package/dist/ai/message.js.map +1 -0
  30. package/dist/ai/model-selector.cjs +2 -0
  31. package/dist/ai/model-selector.cjs.map +1 -0
  32. package/dist/ai/model-selector.js +77 -0
  33. package/dist/ai/model-selector.js.map +1 -0
  34. package/dist/ai/prompt-input.cjs +2 -0
  35. package/dist/ai/prompt-input.cjs.map +1 -0
  36. package/dist/ai/prompt-input.js +776 -0
  37. package/dist/ai/prompt-input.js.map +1 -0
  38. package/dist/ai/queue.cjs +2 -0
  39. package/dist/ai/queue.cjs.map +1 -0
  40. package/dist/ai/queue.js +209 -0
  41. package/dist/ai/queue.js.map +1 -0
  42. package/dist/ai/reasoning.cjs +2 -0
  43. package/dist/ai/reasoning.cjs.map +1 -0
  44. package/dist/ai/reasoning.js +129 -0
  45. package/dist/ai/reasoning.js.map +1 -0
  46. package/dist/ai/shimmer.cjs +2 -0
  47. package/dist/ai/shimmer.cjs.map +1 -0
  48. package/dist/ai/shimmer.js +49 -0
  49. package/dist/ai/shimmer.js.map +1 -0
  50. package/dist/ai/sources.cjs +2 -0
  51. package/dist/ai/sources.cjs.map +1 -0
  52. package/dist/ai/sources.js +54 -0
  53. package/dist/ai/sources.js.map +1 -0
  54. package/dist/ai/speech-input.cjs +2 -0
  55. package/dist/ai/speech-input.cjs.map +1 -0
  56. package/dist/ai/speech-input.js +123 -0
  57. package/dist/ai/speech-input.js.map +1 -0
  58. package/dist/ai/stream-status.cjs +2 -0
  59. package/dist/ai/stream-status.cjs.map +1 -0
  60. package/dist/ai/stream-status.js +108 -0
  61. package/dist/ai/stream-status.js.map +1 -0
  62. package/dist/ai/suggestion.cjs +2 -0
  63. package/dist/ai/suggestion.cjs.map +1 -0
  64. package/dist/ai/suggestion.js +38 -0
  65. package/dist/ai/suggestion.js.map +1 -0
  66. package/dist/ai/task.cjs +2 -0
  67. package/dist/ai/task.cjs.map +1 -0
  68. package/dist/ai/task.js +101 -0
  69. package/dist/ai/task.js.map +1 -0
  70. package/dist/ai/tool.cjs +2 -0
  71. package/dist/ai/tool.cjs.map +1 -0
  72. package/dist/ai/tool.js +139 -0
  73. package/dist/ai/tool.js.map +1 -0
  74. package/dist/charts/AreaPlot.cjs +2 -0
  75. package/dist/charts/AreaPlot.cjs.map +1 -0
  76. package/dist/charts/AreaPlot.js +5 -0
  77. package/dist/charts/AreaPlot.js.map +1 -0
  78. package/dist/charts/BarChart.cjs +2 -0
  79. package/dist/charts/BarChart.cjs.map +1 -0
  80. package/dist/charts/BarChart.js +5 -0
  81. package/dist/charts/BarChart.js.map +1 -0
  82. package/dist/charts/BoxPlot.cjs +2 -0
  83. package/dist/charts/BoxPlot.cjs.map +1 -0
  84. package/dist/charts/BoxPlot.js +5 -0
  85. package/dist/charts/BoxPlot.js.map +1 -0
  86. package/dist/charts/ChartTooltip.cjs +2 -0
  87. package/dist/charts/ChartTooltip.cjs.map +1 -0
  88. package/dist/charts/ChartTooltip.js +8 -0
  89. package/dist/charts/ChartTooltip.js.map +1 -0
  90. package/dist/charts/Chromatogram.cjs +2 -0
  91. package/dist/charts/Chromatogram.cjs.map +1 -0
  92. package/dist/charts/Chromatogram.js +5 -0
  93. package/dist/charts/Chromatogram.js.map +1 -0
  94. package/dist/charts/Electropherogram.cjs +2 -0
  95. package/dist/charts/Electropherogram.cjs.map +1 -0
  96. package/dist/charts/Electropherogram.js +5 -0
  97. package/dist/charts/Electropherogram.js.map +1 -0
  98. package/dist/charts/Histogram.cjs +2 -0
  99. package/dist/charts/Histogram.cjs.map +1 -0
  100. package/dist/charts/Histogram.js +5 -0
  101. package/dist/charts/Histogram.js.map +1 -0
  102. package/dist/charts/LinePlot.cjs +2 -0
  103. package/dist/charts/LinePlot.cjs.map +1 -0
  104. package/dist/charts/LinePlot.js +5 -0
  105. package/dist/charts/LinePlot.js.map +1 -0
  106. package/dist/charts/PieChart.cjs +2 -0
  107. package/dist/charts/PieChart.cjs.map +1 -0
  108. package/dist/charts/PieChart.js +5 -0
  109. package/dist/charts/PieChart.js.map +1 -0
  110. package/dist/charts/PlateMap.cjs +2 -0
  111. package/dist/charts/PlateMap.cjs.map +1 -0
  112. package/dist/charts/PlateMap.js +5 -0
  113. package/dist/charts/PlateMap.js.map +1 -0
  114. package/dist/charts/ScatterPlot.cjs +2 -0
  115. package/dist/charts/ScatterPlot.cjs.map +1 -0
  116. package/dist/charts/ScatterPlot.js +5 -0
  117. package/dist/charts/ScatterPlot.js.map +1 -0
  118. package/dist/charts/ScatterPlotInteractive.cjs +2 -0
  119. package/dist/charts/ScatterPlotInteractive.cjs.map +1 -0
  120. package/dist/charts/ScatterPlotInteractive.js +14 -0
  121. package/dist/charts/ScatterPlotInteractive.js.map +1 -0
  122. package/dist/charts/StackedChromatogram.cjs +2 -0
  123. package/dist/charts/StackedChromatogram.cjs.map +1 -0
  124. package/dist/charts/StackedChromatogram.js +7 -0
  125. package/dist/charts/StackedChromatogram.js.map +1 -0
  126. package/dist/components/ai/attachments.d.ts +54 -0
  127. package/dist/components/ai/chain-of-thought.d.ts +56 -0
  128. package/dist/components/ai/confirmation.d.ts +47 -0
  129. package/dist/components/ai/context.d.ts +40 -0
  130. package/dist/components/ai/conversation.d.ts +23 -0
  131. package/dist/components/ai/inline-citation.d.ts +38 -0
  132. package/dist/components/ai/message.d.ts +37 -0
  133. package/dist/components/ai/model-selector.d.ts +36 -0
  134. package/dist/components/ai/prompt-input.d.ts +158 -0
  135. package/dist/components/ai/queue.d.ts +72 -0
  136. package/dist/components/ai/reasoning.d.ts +26 -0
  137. package/dist/components/ai/shimmer.d.ts +17 -0
  138. package/dist/components/ai/sources.d.ts +12 -0
  139. package/dist/components/ai/speech-input.d.ts +54 -0
  140. package/dist/components/ai/stream-status.d.ts +66 -0
  141. package/dist/components/ai/streamdown-code-plugin.cjs +2 -0
  142. package/dist/components/ai/streamdown-code-plugin.cjs.map +1 -0
  143. package/dist/components/ai/streamdown-code-plugin.d.ts +2 -0
  144. package/dist/components/ai/streamdown-code-plugin.js +42 -0
  145. package/dist/components/ai/streamdown-code-plugin.js.map +1 -0
  146. package/dist/components/ai/streamdown-plugins.cjs +2 -0
  147. package/dist/components/ai/streamdown-plugins.cjs.map +1 -0
  148. package/dist/components/ai/streamdown-plugins.d.ts +2 -0
  149. package/dist/components/ai/streamdown-plugins.js +14 -0
  150. package/dist/components/ai/streamdown-plugins.js.map +1 -0
  151. package/dist/components/ai/suggestion.d.ts +9 -0
  152. package/dist/components/ai/task.d.ts +16 -0
  153. package/dist/components/ai/tool.d.ts +33 -0
  154. package/dist/components/ai/use-streamdown-plugins.cjs +2 -0
  155. package/dist/components/ai/use-streamdown-plugins.cjs.map +1 -0
  156. package/dist/components/ai/use-streamdown-plugins.d.ts +8 -0
  157. package/dist/components/ai/use-streamdown-plugins.js +25 -0
  158. package/dist/components/ai/use-streamdown-plugins.js.map +1 -0
  159. package/dist/components/charts/AreaPlot/AreaPlot.cjs +2 -0
  160. package/dist/components/charts/AreaPlot/AreaPlot.cjs.map +1 -0
  161. package/dist/components/charts/AreaPlot/AreaPlot.d.ts +39 -0
  162. package/dist/components/charts/AreaPlot/AreaPlot.js +270 -0
  163. package/dist/components/charts/AreaPlot/AreaPlot.js.map +1 -0
  164. package/dist/components/charts/AreaPlot/index.d.ts +2 -0
  165. package/dist/components/charts/BarChart/BarChart.cjs +2 -0
  166. package/dist/components/charts/BarChart/BarChart.cjs.map +1 -0
  167. package/dist/components/charts/BarChart/BarChart.d.ts +44 -0
  168. package/dist/components/charts/BarChart/BarChart.js +219 -0
  169. package/dist/components/charts/BarChart/BarChart.js.map +1 -0
  170. package/dist/components/charts/BarChart/index.d.ts +2 -0
  171. package/dist/components/charts/BoxPlot/BoxPlot.cjs +2 -0
  172. package/dist/components/charts/BoxPlot/BoxPlot.cjs.map +1 -0
  173. package/dist/components/charts/BoxPlot/BoxPlot.d.ts +33 -0
  174. package/dist/components/charts/BoxPlot/BoxPlot.js +208 -0
  175. package/dist/components/charts/BoxPlot/BoxPlot.js.map +1 -0
  176. package/dist/components/charts/BoxPlot/index.d.ts +2 -0
  177. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +1 -1
  178. package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -1
  179. package/dist/components/charts/ChartTooltip/ChartTooltip.d.ts +71 -0
  180. package/dist/components/charts/ChartTooltip/ChartTooltip.js +22 -22
  181. package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
  182. package/dist/components/charts/ChartTooltip/index.d.ts +2 -0
  183. package/dist/components/charts/ChartTooltip/lines.d.ts +54 -0
  184. package/dist/components/charts/Chromatogram/Chromatogram.cjs +1 -1
  185. package/dist/components/charts/Chromatogram/Chromatogram.cjs.map +1 -1
  186. package/dist/components/charts/Chromatogram/Chromatogram.d.ts +5 -0
  187. package/dist/components/charts/Chromatogram/Chromatogram.js +232 -170
  188. package/dist/components/charts/Chromatogram/Chromatogram.js.map +1 -1
  189. package/dist/components/charts/Chromatogram/annotations.cjs +2 -0
  190. package/dist/components/charts/Chromatogram/annotations.cjs.map +1 -0
  191. package/dist/components/charts/Chromatogram/annotations.d.ts +50 -0
  192. package/dist/components/charts/Chromatogram/annotations.js +137 -0
  193. package/dist/components/charts/Chromatogram/annotations.js.map +1 -0
  194. package/dist/components/charts/Chromatogram/boundaryMarkers.cjs +2 -0
  195. package/dist/components/charts/Chromatogram/boundaryMarkers.cjs.map +1 -0
  196. package/dist/components/charts/Chromatogram/boundaryMarkers.d.ts +14 -0
  197. package/dist/components/charts/Chromatogram/boundaryMarkers.js +34 -0
  198. package/dist/components/charts/Chromatogram/boundaryMarkers.js.map +1 -0
  199. package/dist/components/charts/Chromatogram/constants.cjs +2 -0
  200. package/dist/components/charts/Chromatogram/constants.cjs.map +1 -0
  201. package/dist/components/charts/Chromatogram/constants.d.ts +46 -0
  202. package/dist/components/charts/Chromatogram/constants.js +36 -0
  203. package/dist/components/charts/Chromatogram/constants.js.map +1 -0
  204. package/dist/components/charts/Chromatogram/dataProcessing.cjs +2 -0
  205. package/dist/components/charts/Chromatogram/dataProcessing.cjs.map +1 -0
  206. package/dist/components/charts/Chromatogram/dataProcessing.d.ts +49 -0
  207. package/dist/components/charts/Chromatogram/dataProcessing.js +90 -0
  208. package/dist/components/charts/Chromatogram/dataProcessing.js.map +1 -0
  209. package/dist/components/charts/Chromatogram/index.d.ts +2 -0
  210. package/dist/components/charts/Chromatogram/peakDetection.cjs.map +1 -0
  211. package/dist/components/charts/Chromatogram/peakDetection.d.ts +33 -0
  212. package/dist/components/charts/Chromatogram/peakDetection.js.map +1 -0
  213. package/dist/components/charts/Chromatogram/plotBuilder.cjs +2 -0
  214. package/dist/components/charts/Chromatogram/plotBuilder.cjs.map +1 -0
  215. package/dist/components/charts/Chromatogram/plotBuilder.d.ts +58 -0
  216. package/dist/components/charts/Chromatogram/plotBuilder.js +216 -0
  217. package/dist/components/charts/Chromatogram/plotBuilder.js.map +1 -0
  218. package/dist/components/charts/Chromatogram/regionOverlays.cjs +2 -0
  219. package/dist/components/charts/Chromatogram/regionOverlays.cjs.map +1 -0
  220. package/dist/components/charts/Chromatogram/regionOverlays.d.ts +9 -0
  221. package/dist/components/charts/Chromatogram/regionOverlays.js +26 -0
  222. package/dist/components/charts/Chromatogram/regionOverlays.js.map +1 -0
  223. package/dist/components/charts/Chromatogram/types.d.ts +258 -0
  224. package/dist/components/charts/Electropherogram/Electropherogram.cjs +2 -0
  225. package/dist/components/charts/Electropherogram/Electropherogram.cjs.map +1 -0
  226. package/dist/components/charts/Electropherogram/Electropherogram.d.ts +22 -0
  227. package/dist/components/charts/Electropherogram/Electropherogram.js +180 -0
  228. package/dist/components/charts/Electropherogram/Electropherogram.js.map +1 -0
  229. package/dist/components/charts/Electropherogram/index.d.ts +2 -0
  230. package/dist/components/charts/Histogram/Histogram.cjs +1 -1
  231. package/dist/components/charts/Histogram/Histogram.cjs.map +1 -1
  232. package/dist/components/charts/Histogram/Histogram.d.ts +36 -0
  233. package/dist/components/charts/Histogram/Histogram.js +107 -108
  234. package/dist/components/charts/Histogram/Histogram.js.map +1 -1
  235. package/dist/components/charts/Histogram/index.d.ts +2 -0
  236. package/dist/components/charts/LinePlot/LinePlot.cjs +2 -0
  237. package/dist/components/charts/LinePlot/LinePlot.cjs.map +1 -0
  238. package/dist/components/charts/LinePlot/LinePlot.d.ts +45 -0
  239. package/dist/components/charts/LinePlot/LinePlot.js +224 -0
  240. package/dist/components/charts/LinePlot/LinePlot.js.map +1 -0
  241. package/dist/components/charts/LinePlot/index.d.ts +2 -0
  242. package/dist/components/charts/PieChart/PieChart.cjs +1 -1
  243. package/dist/components/charts/PieChart/PieChart.cjs.map +1 -1
  244. package/dist/components/charts/PieChart/PieChart.d.ts +20 -0
  245. package/dist/components/charts/PieChart/PieChart.js +62 -61
  246. package/dist/components/charts/PieChart/PieChart.js.map +1 -1
  247. package/dist/components/charts/PieChart/index.d.ts +2 -0
  248. package/dist/components/charts/PlateMap/PlateMap.cjs +1 -1
  249. package/dist/components/charts/PlateMap/PlateMap.cjs.map +1 -1
  250. package/dist/components/charts/PlateMap/PlateMap.d.ts +29 -0
  251. package/dist/components/charts/PlateMap/PlateMap.js +246 -242
  252. package/dist/components/charts/PlateMap/PlateMap.js.map +1 -1
  253. package/dist/components/charts/PlateMap/constants.d.ts +75 -0
  254. package/dist/components/charts/PlateMap/index.d.ts +2 -0
  255. package/dist/components/charts/PlateMap/types.d.ts +322 -0
  256. package/dist/components/charts/PlateMap/utils.d.ts +133 -0
  257. package/dist/components/charts/ScatterPlot/ScatterPlot.cjs +2 -0
  258. package/dist/components/charts/ScatterPlot/ScatterPlot.cjs.map +1 -0
  259. package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +43 -0
  260. package/dist/components/charts/ScatterPlot/ScatterPlot.js +252 -0
  261. package/dist/components/charts/ScatterPlot/ScatterPlot.js.map +1 -0
  262. package/dist/components/charts/ScatterPlot/index.d.ts +2 -0
  263. package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.cjs +2 -0
  264. package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.cjs.map +1 -0
  265. package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.d.ts +25 -0
  266. package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.js +215 -0
  267. package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.js.map +1 -0
  268. package/dist/components/charts/ScatterPlotInteractive/constants.cjs +2 -0
  269. package/dist/components/charts/ScatterPlotInteractive/constants.cjs.map +1 -0
  270. package/dist/components/charts/ScatterPlotInteractive/constants.d.ts +50 -0
  271. package/dist/components/charts/ScatterPlotInteractive/constants.js +38 -0
  272. package/dist/components/charts/ScatterPlotInteractive/constants.js.map +1 -0
  273. package/dist/components/charts/ScatterPlotInteractive/index.d.ts +3 -0
  274. package/dist/components/charts/ScatterPlotInteractive/types.d.ts +226 -0
  275. package/dist/components/charts/ScatterPlotInteractive/utils.cjs +2 -0
  276. package/dist/components/charts/ScatterPlotInteractive/utils.cjs.map +1 -0
  277. package/dist/components/charts/ScatterPlotInteractive/utils.d.ts +72 -0
  278. package/dist/components/charts/ScatterPlotInteractive/utils.js +261 -0
  279. package/dist/components/charts/ScatterPlotInteractive/utils.js.map +1 -0
  280. package/dist/components/charts/StackedChromatogram/StackedChromatogram.cjs +2 -0
  281. package/dist/components/charts/StackedChromatogram/StackedChromatogram.cjs.map +1 -0
  282. package/dist/components/charts/StackedChromatogram/StackedChromatogram.d.ts +3 -0
  283. package/dist/components/charts/StackedChromatogram/StackedChromatogram.js +40 -0
  284. package/dist/components/charts/StackedChromatogram/StackedChromatogram.js.map +1 -0
  285. package/dist/components/charts/StackedChromatogram/index.d.ts +3 -0
  286. package/dist/components/charts/StackedChromatogram/transforms.cjs +2 -0
  287. package/dist/components/charts/StackedChromatogram/transforms.cjs.map +1 -0
  288. package/dist/components/charts/StackedChromatogram/transforms.d.ts +9 -0
  289. package/dist/components/charts/StackedChromatogram/transforms.js +31 -0
  290. package/dist/components/charts/StackedChromatogram/transforms.js.map +1 -0
  291. package/dist/components/charts/StackedChromatogram/types.d.ts +26 -0
  292. package/dist/components/charts/plotly-loader.cjs +2 -0
  293. package/dist/components/charts/plotly-loader.cjs.map +1 -0
  294. package/dist/components/charts/plotly-loader.d.ts +29 -0
  295. package/dist/components/charts/plotly-loader.js +22 -0
  296. package/dist/components/charts/plotly-loader.js.map +1 -0
  297. package/dist/components/composed/AssistantLayout/AssistantLayout.cjs +2 -0
  298. package/dist/components/composed/AssistantLayout/AssistantLayout.cjs.map +1 -0
  299. package/dist/components/composed/AssistantLayout/AssistantLayout.d.ts +63 -0
  300. package/dist/components/composed/AssistantLayout/AssistantLayout.js +142 -0
  301. package/dist/components/composed/AssistantLayout/AssistantLayout.js.map +1 -0
  302. package/dist/components/composed/AssistantLayout/dockLayout.cjs +2 -0
  303. package/dist/components/composed/AssistantLayout/dockLayout.cjs.map +1 -0
  304. package/dist/components/composed/AssistantLayout/dockLayout.d.ts +15 -0
  305. package/dist/components/composed/AssistantLayout/dockLayout.js +10 -0
  306. package/dist/components/composed/AssistantLayout/dockLayout.js.map +1 -0
  307. package/dist/components/composed/AssistantLayout/index.d.ts +3 -0
  308. package/dist/components/composed/Chat/Chat.cjs +1 -1
  309. package/dist/components/composed/Chat/Chat.cjs.map +1 -1
  310. package/dist/components/composed/Chat/Chat.d.ts +35 -0
  311. package/dist/components/composed/Chat/Chat.js +28 -28
  312. package/dist/components/composed/Chat/Chat.js.map +1 -1
  313. package/dist/components/composed/Chat/index.d.ts +2 -0
  314. package/dist/components/composed/ConfirmDialog/ConfirmDialog.cjs +1 -1
  315. package/dist/components/composed/ConfirmDialog/ConfirmDialog.cjs.map +1 -1
  316. package/dist/components/composed/ConfirmDialog/ConfirmDialog.d.ts +23 -0
  317. package/dist/components/composed/ConfirmDialog/ConfirmDialog.js +33 -29
  318. package/dist/components/composed/ConfirmDialog/ConfirmDialog.js.map +1 -1
  319. package/dist/components/composed/ConfirmDialog/index.d.ts +1 -0
  320. package/dist/components/composed/DataAppShell/CollapseButton.cjs +2 -0
  321. package/dist/components/composed/DataAppShell/CollapseButton.cjs.map +1 -0
  322. package/dist/components/composed/DataAppShell/CollapseButton.d.ts +23 -0
  323. package/dist/components/composed/DataAppShell/CollapseButton.js +42 -0
  324. package/dist/components/composed/DataAppShell/CollapseButton.js.map +1 -0
  325. package/dist/components/composed/DataAppShell/DataAppShell.cjs +1 -1
  326. package/dist/components/composed/DataAppShell/DataAppShell.cjs.map +1 -1
  327. package/dist/components/composed/DataAppShell/DataAppShell.d.ts +88 -0
  328. package/dist/components/composed/DataAppShell/DataAppShell.js +350 -328
  329. package/dist/components/composed/DataAppShell/DataAppShell.js.map +1 -1
  330. package/dist/components/composed/DataAppShell/PrimaryNav.cjs +2 -0
  331. package/dist/components/composed/DataAppShell/PrimaryNav.cjs.map +1 -0
  332. package/dist/components/composed/DataAppShell/PrimaryNav.d.ts +64 -0
  333. package/dist/components/composed/DataAppShell/PrimaryNav.js +268 -0
  334. package/dist/components/composed/DataAppShell/PrimaryNav.js.map +1 -0
  335. package/dist/components/composed/DataAppShell/RightPanel.cjs +2 -0
  336. package/dist/components/composed/DataAppShell/RightPanel.cjs.map +1 -0
  337. package/dist/components/composed/DataAppShell/RightPanel.d.ts +95 -0
  338. package/dist/components/composed/DataAppShell/RightPanel.js +282 -0
  339. package/dist/components/composed/DataAppShell/RightPanel.js.map +1 -0
  340. package/dist/components/composed/DataAppShell/SecondaryNav.cjs +2 -0
  341. package/dist/components/composed/DataAppShell/SecondaryNav.cjs.map +1 -0
  342. package/dist/components/composed/DataAppShell/SecondaryNav.d.ts +63 -0
  343. package/dist/components/composed/DataAppShell/SecondaryNav.js +364 -0
  344. package/dist/components/composed/DataAppShell/SecondaryNav.js.map +1 -0
  345. package/dist/components/composed/DataAppShell/ShellContext.cjs +2 -0
  346. package/dist/components/composed/DataAppShell/ShellContext.cjs.map +1 -0
  347. package/dist/components/composed/DataAppShell/ShellContext.d.ts +20 -0
  348. package/dist/components/composed/DataAppShell/ShellContext.js +23 -0
  349. package/dist/components/composed/DataAppShell/ShellContext.js.map +1 -0
  350. package/dist/components/composed/DataAppShell/index.d.ts +12 -0
  351. package/dist/components/composed/EmptyState/EmptyState.d.ts +12 -0
  352. package/dist/components/composed/EmptyState/index.d.ts +2 -0
  353. package/dist/components/composed/FormPatterns/FormSection.cjs +1 -1
  354. package/dist/components/composed/FormPatterns/FormSection.cjs.map +1 -1
  355. package/dist/components/composed/FormPatterns/FormSection.d.ts +7 -0
  356. package/dist/components/composed/FormPatterns/FormSection.js +2 -2
  357. package/dist/components/composed/FormPatterns/index.d.ts +1 -0
  358. package/dist/components/composed/MoleculeStructure/MoleculeStructure.cjs +2 -0
  359. package/dist/components/composed/MoleculeStructure/MoleculeStructure.cjs.map +1 -0
  360. package/dist/components/composed/MoleculeStructure/MoleculeStructure.d.ts +43 -0
  361. package/dist/components/composed/MoleculeStructure/MoleculeStructure.js +87 -0
  362. package/dist/components/composed/MoleculeStructure/MoleculeStructure.js.map +1 -0
  363. package/dist/components/composed/MoleculeStructure/index.d.ts +3 -0
  364. package/dist/components/composed/MoleculeStructure/rdkit-loader.cjs +2 -0
  365. package/dist/components/composed/MoleculeStructure/rdkit-loader.cjs.map +1 -0
  366. package/dist/components/composed/MoleculeStructure/rdkit-loader.d.ts +104 -0
  367. package/dist/components/composed/MoleculeStructure/rdkit-loader.js +89 -0
  368. package/dist/components/composed/MoleculeStructure/rdkit-loader.js.map +1 -0
  369. package/dist/components/composed/MoleculeStructure/use-rdkit.cjs +2 -0
  370. package/dist/components/composed/MoleculeStructure/use-rdkit.cjs.map +1 -0
  371. package/dist/components/composed/MoleculeStructure/use-rdkit.d.ts +29 -0
  372. package/dist/components/composed/MoleculeStructure/use-rdkit.js +19 -0
  373. package/dist/components/composed/MoleculeStructure/use-rdkit.js.map +1 -0
  374. package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.cjs +1 -1
  375. package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.cjs.map +1 -1
  376. package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.d.ts +12 -0
  377. package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.js +21 -21
  378. package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.js.map +1 -1
  379. package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.cjs +1 -1
  380. package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.cjs.map +1 -1
  381. package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.d.ts +22 -0
  382. package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.js +34 -34
  383. package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.js.map +1 -1
  384. package/dist/components/composed/PlateMapEditor/PlateMapEditor.cjs +1 -1
  385. package/dist/components/composed/PlateMapEditor/PlateMapEditor.cjs.map +1 -1
  386. package/dist/components/composed/PlateMapEditor/PlateMapEditor.d.ts +106 -0
  387. package/dist/components/composed/PlateMapEditor/PlateMapEditor.js +2 -2
  388. package/dist/components/composed/PlateMapEditor/PlateMapForm.cjs +1 -1
  389. package/dist/components/composed/PlateMapEditor/PlateMapForm.cjs.map +1 -1
  390. package/dist/components/composed/PlateMapEditor/PlateMapForm.d.ts +30 -0
  391. package/dist/components/composed/PlateMapEditor/PlateMapForm.js +1 -1
  392. package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs +1 -1
  393. package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs.map +1 -1
  394. package/dist/components/composed/PlateMapEditor/PlateMapGrid.d.ts +64 -0
  395. package/dist/components/composed/PlateMapEditor/PlateMapGrid.js +1 -1
  396. package/dist/components/composed/PlateMapEditor/PlateMapManifest.d.ts +29 -0
  397. package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.cjs +1 -1
  398. package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.cjs.map +1 -1
  399. package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.d.ts +19 -0
  400. package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js +11 -11
  401. package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js.map +1 -1
  402. package/dist/components/composed/PlateMapEditor/PlatePaintGrid.cjs +1 -1
  403. package/dist/components/composed/PlateMapEditor/PlatePaintGrid.cjs.map +1 -1
  404. package/dist/components/composed/PlateMapEditor/PlatePaintGrid.d.ts +73 -0
  405. package/dist/components/composed/PlateMapEditor/PlatePaintGrid.js +1 -1
  406. package/dist/components/composed/PlateMapEditor/PlatePaintGrid.js.map +1 -1
  407. package/dist/components/composed/PlateMapEditor/PlateZoomControl.cjs +1 -1
  408. package/dist/components/composed/PlateMapEditor/PlateZoomControl.cjs.map +1 -1
  409. package/dist/components/composed/PlateMapEditor/PlateZoomControl.d.ts +12 -0
  410. package/dist/components/composed/PlateMapEditor/PlateZoomControl.js +2 -2
  411. package/dist/components/composed/PlateMapEditor/TemplateIOPanel.cjs +1 -1
  412. package/dist/components/composed/PlateMapEditor/TemplateIOPanel.cjs.map +1 -1
  413. package/dist/components/composed/PlateMapEditor/TemplateIOPanel.d.ts +13 -0
  414. package/dist/components/composed/PlateMapEditor/TemplateIOPanel.js +4 -4
  415. package/dist/components/composed/PlateMapEditor/WellLegend.cjs +1 -1
  416. package/dist/components/composed/PlateMapEditor/WellLegend.cjs.map +1 -1
  417. package/dist/components/composed/PlateMapEditor/WellLegend.d.ts +21 -0
  418. package/dist/components/composed/PlateMapEditor/WellLegend.js +24 -12
  419. package/dist/components/composed/PlateMapEditor/WellLegend.js.map +1 -1
  420. package/dist/components/composed/PlateMapEditor/WellManifestTable.cjs +1 -1
  421. package/dist/components/composed/PlateMapEditor/WellManifestTable.cjs.map +1 -1
  422. package/dist/components/composed/PlateMapEditor/WellManifestTable.d.ts +46 -0
  423. package/dist/components/composed/PlateMapEditor/WellManifestTable.js +10 -10
  424. package/dist/components/composed/PlateMapEditor/WellManifestTable.js.map +1 -1
  425. package/dist/components/composed/PlateMapEditor/WellMetadataForm.cjs +1 -1
  426. package/dist/components/composed/PlateMapEditor/WellMetadataForm.cjs.map +1 -1
  427. package/dist/components/composed/PlateMapEditor/WellMetadataForm.d.ts +17 -0
  428. package/dist/components/composed/PlateMapEditor/WellMetadataForm.js +7 -7
  429. package/dist/components/composed/PlateMapEditor/autoFill.d.ts +26 -0
  430. package/dist/components/composed/PlateMapEditor/csvPlateTriage.d.ts +4 -0
  431. package/dist/components/composed/PlateMapEditor/helpers.d.ts +2 -0
  432. package/dist/components/composed/PlateMapEditor/index.d.ts +31 -0
  433. package/dist/components/composed/PlateMapEditor/types.d.ts +137 -0
  434. package/dist/components/composed/PlateMapEditor/wellGrid.d.ts +12 -0
  435. package/dist/components/composed/ProcessFlow/ProcessFlow.d.ts +32 -0
  436. package/dist/components/composed/ProcessFlow/ProcessFlow.utils.d.ts +86 -0
  437. package/dist/components/composed/ProcessFlow/index.d.ts +1 -0
  438. package/dist/components/composed/RichListItem/RichListItem.cjs +1 -1
  439. package/dist/components/composed/RichListItem/RichListItem.cjs.map +1 -1
  440. package/dist/components/composed/RichListItem/RichListItem.d.ts +22 -0
  441. package/dist/components/composed/RichListItem/RichListItem.js +2 -2
  442. package/dist/components/composed/RichListItem/index.d.ts +2 -0
  443. package/dist/components/composed/StatCard/StatCard.cjs +1 -1
  444. package/dist/components/composed/StatCard/StatCard.cjs.map +1 -1
  445. package/dist/components/composed/StatCard/StatCard.d.ts +11 -0
  446. package/dist/components/composed/StatCard/StatCard.js +1 -1
  447. package/dist/components/composed/StatCard/index.d.ts +1 -0
  448. package/dist/components/composed/TdpSearch/TdpSearch.cjs +1 -1
  449. package/dist/components/composed/TdpSearch/TdpSearch.cjs.map +1 -1
  450. package/dist/components/composed/TdpSearch/TdpSearch.d.ts +21 -0
  451. package/dist/components/composed/TdpSearch/TdpSearch.js +14 -13
  452. package/dist/components/composed/TdpSearch/TdpSearch.mocks.d.ts +5 -0
  453. package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs +1 -1
  454. package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs.map +1 -1
  455. package/dist/components/composed/TdpSearch/components/DefaultFilters.d.ts +3 -0
  456. package/dist/components/composed/TdpSearch/components/DefaultFilters.js +4 -4
  457. package/dist/components/composed/TdpSearch/components/DefaultFilters.js.map +1 -1
  458. package/dist/components/composed/TdpSearch/components/DefaultResults.cjs +1 -1
  459. package/dist/components/composed/TdpSearch/components/DefaultResults.cjs.map +1 -1
  460. package/dist/components/composed/TdpSearch/components/DefaultResults.d.ts +3 -0
  461. package/dist/components/composed/TdpSearch/components/DefaultResults.js +2 -2
  462. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs +1 -1
  463. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs.map +1 -1
  464. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.d.ts +3 -0
  465. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js +2 -2
  466. package/dist/components/composed/TdpSearch/constants.d.ts +3 -0
  467. package/dist/components/composed/TdpSearch/hooks/useSearch.d.ts +2 -0
  468. package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.d.ts +14 -0
  469. package/dist/components/composed/TdpSearch/index.d.ts +3 -0
  470. package/dist/components/composed/TdpSearch/types.d.ts +128 -0
  471. package/dist/components/composed/TdpSearch/utils.d.ts +3 -0
  472. package/dist/components/composed/TopBar/TopBar.cjs +2 -0
  473. package/dist/components/composed/TopBar/TopBar.cjs.map +1 -0
  474. package/dist/components/composed/TopBar/TopBar.d.ts +25 -0
  475. package/dist/components/composed/TopBar/TopBar.js +56 -0
  476. package/dist/components/composed/TopBar/TopBar.js.map +1 -0
  477. package/dist/components/composed/TopBar/index.d.ts +2 -0
  478. package/dist/components/composed/UserMenu/UserMenu.cjs +2 -0
  479. package/dist/components/composed/UserMenu/UserMenu.cjs.map +1 -0
  480. package/dist/components/composed/UserMenu/UserMenu.d.ts +53 -0
  481. package/dist/components/composed/UserMenu/UserMenu.js +99 -0
  482. package/dist/components/composed/UserMenu/UserMenu.js.map +1 -0
  483. package/dist/components/composed/UserMenu/index.d.ts +2 -0
  484. package/dist/components/composed/tdp-link.d.ts +110 -0
  485. package/dist/components/composed/tdp-url.d.ts +68 -0
  486. package/dist/components/ui/accordion.d.ts +7 -0
  487. package/dist/components/ui/alert-dialog.d.ts +18 -0
  488. package/dist/components/ui/alert.d.ts +10 -0
  489. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  490. package/dist/components/ui/avatar.d.ts +11 -0
  491. package/dist/components/ui/badge.d.ts +9 -0
  492. package/dist/components/ui/banner.d.ts +19 -0
  493. package/dist/components/ui/breadcrumb.d.ts +11 -0
  494. package/dist/components/ui/button-group.d.ts +11 -0
  495. package/dist/components/ui/button.d.ts +10 -0
  496. package/dist/components/ui/calendar.d.ts +10 -0
  497. package/dist/components/ui/card.d.ts +11 -0
  498. package/dist/components/ui/carousel.d.ts +28 -0
  499. package/dist/components/ui/checkbox.d.ts +4 -0
  500. package/dist/components/ui/code-block.d.ts +45 -0
  501. package/dist/components/ui/code-editor.d.ts +18 -0
  502. package/dist/components/ui/collapsible.d.ts +5 -0
  503. package/dist/components/ui/combobox.d.ts +24 -0
  504. package/dist/components/ui/command.d.ts +18 -0
  505. package/dist/components/ui/context-menu.d.ts +31 -0
  506. package/dist/components/ui/data-table/data-table-column-toggle.cjs +1 -1
  507. package/dist/components/ui/data-table/data-table-column-toggle.cjs.map +1 -1
  508. package/dist/components/ui/data-table/data-table-column-toggle.d.ts +6 -0
  509. package/dist/components/ui/data-table/data-table-column-toggle.js +71 -63
  510. package/dist/components/ui/data-table/data-table-column-toggle.js.map +1 -1
  511. package/dist/components/ui/data-table/data-table-filter.cjs +1 -1
  512. package/dist/components/ui/data-table/data-table-filter.cjs.map +1 -1
  513. package/dist/components/ui/data-table/data-table-filter.d.ts +9 -0
  514. package/dist/components/ui/data-table/data-table-filter.js +26 -25
  515. package/dist/components/ui/data-table/data-table-filter.js.map +1 -1
  516. package/dist/components/ui/data-table/data-table-group.cjs +1 -1
  517. package/dist/components/ui/data-table/data-table-group.cjs.map +1 -1
  518. package/dist/components/ui/data-table/data-table-group.d.ts +9 -0
  519. package/dist/components/ui/data-table/data-table-group.js +18 -17
  520. package/dist/components/ui/data-table/data-table-group.js.map +1 -1
  521. package/dist/components/ui/data-table/data-table-pagination.cjs +1 -1
  522. package/dist/components/ui/data-table/data-table-pagination.cjs.map +1 -1
  523. package/dist/components/ui/data-table/data-table-pagination.d.ts +7 -0
  524. package/dist/components/ui/data-table/data-table-pagination.js +16 -16
  525. package/dist/components/ui/data-table/data-table-pagination.js.map +1 -1
  526. package/dist/components/ui/data-table/data-table.cjs +1 -1
  527. package/dist/components/ui/data-table/data-table.cjs.map +1 -1
  528. package/dist/components/ui/data-table/data-table.d.ts +82 -0
  529. package/dist/components/ui/data-table/data-table.js +191 -190
  530. package/dist/components/ui/data-table/data-table.js.map +1 -1
  531. package/dist/components/ui/data-table/index.d.ts +5 -0
  532. package/dist/components/ui/dialog.d.ts +18 -0
  533. package/dist/components/ui/dropdown-menu.d.ts +29 -0
  534. package/dist/components/ui/field.d.ts +24 -0
  535. package/dist/components/ui/hover-card.d.ts +6 -0
  536. package/dist/components/ui/input-group.d.ts +16 -0
  537. package/dist/components/ui/input.d.ts +3 -0
  538. package/dist/components/ui/item.d.ts +23 -0
  539. package/dist/components/ui/kbd.d.ts +3 -0
  540. package/dist/components/ui/label.d.ts +4 -0
  541. package/dist/components/ui/menubar.d.ts +30 -0
  542. package/dist/components/ui/navigation-menu.d.ts +14 -0
  543. package/dist/components/ui/popover.d.ts +7 -0
  544. package/dist/components/ui/progress.d.ts +4 -0
  545. package/dist/components/ui/radio-group.d.ts +5 -0
  546. package/dist/components/ui/resizable.d.ts +25 -0
  547. package/dist/components/ui/scroll-area.d.ts +5 -0
  548. package/dist/components/ui/select.d.ts +15 -0
  549. package/dist/components/ui/separator.d.ts +4 -0
  550. package/dist/components/ui/sheet.d.ts +14 -0
  551. package/dist/components/ui/sidebar.d.ts +69 -0
  552. package/dist/components/ui/skeleton.d.ts +2 -0
  553. package/dist/components/ui/slider.d.ts +4 -0
  554. package/dist/components/ui/snippet.d.ts +18 -0
  555. package/dist/components/ui/sonner.d.ts +3 -0
  556. package/dist/components/ui/spinner.d.ts +6 -0
  557. package/dist/components/ui/switch.d.ts +6 -0
  558. package/dist/components/ui/table.d.ts +22 -0
  559. package/dist/components/ui/tabs.d.ts +11 -0
  560. package/dist/components/ui/tetra-molecule-icon.d.ts +11 -0
  561. package/dist/components/ui/tetrascience-icon.d.ts +7 -0
  562. package/dist/components/ui/textarea.d.ts +3 -0
  563. package/dist/components/ui/toggle-group.d.ts +10 -0
  564. package/dist/components/ui/toggle.d.ts +9 -0
  565. package/dist/components/ui/tooltip.d.ts +7 -0
  566. package/dist/composed/AssistantLayout.cjs +2 -0
  567. package/dist/composed/AssistantLayout.cjs.map +1 -0
  568. package/dist/composed/AssistantLayout.js +10 -0
  569. package/dist/composed/AssistantLayout.js.map +1 -0
  570. package/dist/composed/Chat.cjs +2 -0
  571. package/dist/composed/Chat.cjs.map +1 -0
  572. package/dist/composed/Chat.js +5 -0
  573. package/dist/composed/Chat.js.map +1 -0
  574. package/dist/composed/ConfirmDialog.cjs +2 -0
  575. package/dist/composed/ConfirmDialog.cjs.map +1 -0
  576. package/dist/composed/ConfirmDialog.js +5 -0
  577. package/dist/composed/ConfirmDialog.js.map +1 -0
  578. package/dist/composed/DataAppShell.cjs +2 -0
  579. package/dist/composed/DataAppShell.cjs.map +1 -0
  580. package/dist/composed/DataAppShell.js +22 -0
  581. package/dist/composed/DataAppShell.js.map +1 -0
  582. package/dist/composed/EmptyState.cjs +2 -0
  583. package/dist/composed/EmptyState.cjs.map +1 -0
  584. package/dist/composed/EmptyState.js +5 -0
  585. package/dist/composed/EmptyState.js.map +1 -0
  586. package/dist/composed/FormPatterns.cjs +2 -0
  587. package/dist/composed/FormPatterns.cjs.map +1 -0
  588. package/dist/composed/FormPatterns.js +5 -0
  589. package/dist/composed/FormPatterns.js.map +1 -0
  590. package/dist/composed/MoleculeStructure.cjs +2 -0
  591. package/dist/composed/MoleculeStructure.cjs.map +1 -0
  592. package/dist/composed/MoleculeStructure.js +11 -0
  593. package/dist/composed/MoleculeStructure.js.map +1 -0
  594. package/dist/composed/PlateMapEditor.cjs +2 -0
  595. package/dist/composed/PlateMapEditor.cjs.map +1 -0
  596. package/dist/composed/PlateMapEditor.js +45 -0
  597. package/dist/composed/PlateMapEditor.js.map +1 -0
  598. package/dist/composed/ProcessFlow.cjs +2 -0
  599. package/dist/composed/ProcessFlow.cjs.map +1 -0
  600. package/dist/composed/ProcessFlow.js +7 -0
  601. package/dist/composed/ProcessFlow.js.map +1 -0
  602. package/dist/composed/RichListItem.cjs +2 -0
  603. package/dist/composed/RichListItem.cjs.map +1 -0
  604. package/dist/composed/RichListItem.js +6 -0
  605. package/dist/composed/RichListItem.js.map +1 -0
  606. package/dist/composed/StatCard.cjs +2 -0
  607. package/dist/composed/StatCard.cjs.map +1 -0
  608. package/dist/composed/StatCard.js +5 -0
  609. package/dist/composed/StatCard.js.map +1 -0
  610. package/dist/composed/TdpSearch.cjs +2 -0
  611. package/dist/composed/TdpSearch.cjs.map +1 -0
  612. package/dist/composed/TdpSearch.js +8 -0
  613. package/dist/composed/TdpSearch.js.map +1 -0
  614. package/dist/composed/TopBar.cjs +2 -0
  615. package/dist/composed/TopBar.cjs.map +1 -0
  616. package/dist/composed/TopBar.js +6 -0
  617. package/dist/composed/TopBar.js.map +1 -0
  618. package/dist/composed/UserMenu.cjs +2 -0
  619. package/dist/composed/UserMenu.cjs.map +1 -0
  620. package/dist/composed/UserMenu.js +7 -0
  621. package/dist/composed/UserMenu.js.map +1 -0
  622. package/dist/composed/tdp-link.cjs +2 -0
  623. package/dist/composed/tdp-link.cjs.map +1 -0
  624. package/dist/composed/tdp-link.js +84 -0
  625. package/dist/composed/tdp-link.js.map +1 -0
  626. package/dist/composed/tdp-url.cjs.map +1 -0
  627. package/dist/composed/tdp-url.js.map +1 -0
  628. package/dist/hooks/use-code-editor-theme.d.ts +34 -0
  629. package/dist/hooks/use-element-size.d.ts +25 -0
  630. package/dist/hooks/use-is-dark.d.ts +12 -0
  631. package/dist/hooks/use-mobile.d.ts +1 -0
  632. package/dist/hooks/use-plotly-theme.cjs +1 -1
  633. package/dist/hooks/use-plotly-theme.cjs.map +1 -1
  634. package/dist/hooks/use-plotly-theme.d.ts +49 -0
  635. package/dist/hooks/use-plotly-theme.js +4 -3
  636. package/dist/hooks/use-plotly-theme.js.map +1 -1
  637. package/dist/index.cjs +1 -1
  638. package/dist/index.css +1 -1
  639. package/dist/index.d.ts +102 -4404
  640. package/dist/index.js +698 -659
  641. package/dist/index.js.map +1 -1
  642. package/dist/index.tailwind.css +1 -1
  643. package/dist/jest-setup.cjs +4 -0
  644. package/dist/jest-setup.cjs.map +1 -0
  645. package/dist/jest-setup.d.ts +106 -0
  646. package/dist/jest-setup.js +218 -0
  647. package/dist/jest-setup.js.map +1 -0
  648. package/dist/lib/shiki.cjs +2 -0
  649. package/dist/lib/shiki.cjs.map +1 -0
  650. package/dist/lib/shiki.d.ts +32 -0
  651. package/dist/lib/shiki.js +72 -0
  652. package/dist/lib/shiki.js.map +1 -0
  653. package/dist/lib/utils.d.ts +2 -0
  654. package/dist/server/auth/JwtTokenManager.cjs +1 -1
  655. package/dist/server/auth/JwtTokenManager.cjs.map +1 -1
  656. package/dist/server/auth/JwtTokenManager.d.ts +113 -0
  657. package/dist/server/auth/JwtTokenManager.js +44 -21
  658. package/dist/server/auth/JwtTokenManager.js.map +1 -1
  659. package/dist/server/auth/index.d.ts +5 -0
  660. package/dist/server/index.d.ts +8 -0
  661. package/dist/server/providers/AthenaProvider.cjs +1 -1
  662. package/dist/server/providers/AthenaProvider.cjs.map +1 -1
  663. package/dist/server/providers/AthenaProvider.d.ts +75 -0
  664. package/dist/server/providers/DatabricksProvider.cjs +1 -1
  665. package/dist/server/providers/DatabricksProvider.cjs.map +1 -1
  666. package/dist/server/providers/DatabricksProvider.d.ts +38 -0
  667. package/dist/server/providers/SnowflakeProvider.cjs +1 -1
  668. package/dist/server/providers/SnowflakeProvider.cjs.map +1 -1
  669. package/dist/server/providers/SnowflakeProvider.d.ts +36 -0
  670. package/dist/server/providers/buildProvider.d.ts +39 -0
  671. package/dist/server/providers/entries/athena.d.ts +24 -0
  672. package/dist/server/providers/entries/databricks.d.ts +25 -0
  673. package/dist/server/providers/entries/snowflake.d.ts +25 -0
  674. package/dist/server/providers/exceptions.d.ts +36 -0
  675. package/dist/server/providers/getProviderConfigurations.d.ts +45 -0
  676. package/dist/server/providers/index.d.ts +31 -0
  677. package/dist/server/providers/providerDiscovery.d.ts +81 -0
  678. package/dist/server/providers/types.d.ts +145 -0
  679. package/dist/server/search/TdpSearchManager.d.ts +40 -0
  680. package/dist/server/search/index.d.ts +5 -0
  681. package/dist/server.d.ts +17 -540
  682. package/dist/ui/accordion.cjs +2 -0
  683. package/dist/ui/accordion.cjs.map +1 -0
  684. package/dist/ui/accordion.js +83 -0
  685. package/dist/ui/accordion.js.map +1 -0
  686. package/dist/ui/alert-dialog.cjs +2 -0
  687. package/dist/ui/alert-dialog.cjs.map +1 -0
  688. package/dist/ui/alert-dialog.js +181 -0
  689. package/dist/ui/alert-dialog.js.map +1 -0
  690. package/dist/ui/alert.cjs +2 -0
  691. package/dist/ui/alert.cjs.map +1 -0
  692. package/dist/ui/alert.js +81 -0
  693. package/dist/ui/alert.js.map +1 -0
  694. package/dist/ui/aspect-ratio.cjs.map +1 -0
  695. package/dist/ui/aspect-ratio.js.map +1 -0
  696. package/dist/ui/avatar.cjs +2 -0
  697. package/dist/ui/avatar.cjs.map +1 -0
  698. package/dist/ui/avatar.js +107 -0
  699. package/dist/ui/avatar.js.map +1 -0
  700. package/dist/ui/badge.cjs +2 -0
  701. package/dist/ui/badge.cjs.map +1 -0
  702. package/dist/ui/badge.js +47 -0
  703. package/dist/ui/badge.js.map +1 -0
  704. package/dist/ui/banner.cjs +2 -0
  705. package/dist/ui/banner.cjs.map +1 -0
  706. package/dist/ui/banner.js +80 -0
  707. package/dist/ui/banner.js.map +1 -0
  708. package/dist/ui/breadcrumb.cjs +2 -0
  709. package/dist/ui/breadcrumb.cjs.map +1 -0
  710. package/dist/ui/breadcrumb.js +118 -0
  711. package/dist/ui/breadcrumb.js.map +1 -0
  712. package/dist/ui/button-group.cjs +2 -0
  713. package/dist/ui/button-group.cjs.map +1 -0
  714. package/dist/ui/button-group.js +77 -0
  715. package/dist/ui/button-group.js.map +1 -0
  716. package/dist/ui/button.cjs +2 -0
  717. package/dist/ui/button.cjs.map +1 -0
  718. package/dist/ui/button.js +57 -0
  719. package/dist/ui/button.js.map +1 -0
  720. package/dist/ui/calendar.cjs +2 -0
  721. package/dist/ui/calendar.cjs.map +1 -0
  722. package/dist/ui/calendar.js +174 -0
  723. package/dist/ui/calendar.js.map +1 -0
  724. package/dist/ui/card.cjs +2 -0
  725. package/dist/ui/card.cjs.map +1 -0
  726. package/dist/ui/card.js +102 -0
  727. package/dist/ui/card.js.map +1 -0
  728. package/dist/ui/carousel.cjs +2 -0
  729. package/dist/ui/carousel.cjs.map +1 -0
  730. package/dist/ui/carousel.js +179 -0
  731. package/dist/ui/carousel.js.map +1 -0
  732. package/dist/ui/checkbox.cjs +2 -0
  733. package/dist/ui/checkbox.cjs.map +1 -0
  734. package/dist/ui/checkbox.js +35 -0
  735. package/dist/ui/checkbox.js.map +1 -0
  736. package/dist/ui/code-block.cjs +4 -0
  737. package/dist/ui/code-block.cjs.map +1 -0
  738. package/dist/ui/code-block.js +324 -0
  739. package/dist/ui/code-block.js.map +1 -0
  740. package/dist/ui/code-editor.cjs +2 -0
  741. package/dist/ui/code-editor.cjs.map +1 -0
  742. package/dist/ui/code-editor.js +106 -0
  743. package/dist/ui/code-editor.js.map +1 -0
  744. package/dist/ui/collapsible.cjs.map +1 -0
  745. package/dist/ui/collapsible.js.map +1 -0
  746. package/dist/ui/combobox.cjs +2 -0
  747. package/dist/ui/combobox.cjs.map +1 -0
  748. package/dist/ui/combobox.js +285 -0
  749. package/dist/ui/combobox.js.map +1 -0
  750. package/dist/ui/command.cjs +2 -0
  751. package/dist/ui/command.cjs.map +1 -0
  752. package/dist/ui/command.js +178 -0
  753. package/dist/ui/command.js.map +1 -0
  754. package/dist/ui/context-menu.cjs +2 -0
  755. package/dist/ui/context-menu.cjs.map +1 -0
  756. package/dist/ui/context-menu.js +236 -0
  757. package/dist/ui/context-menu.js.map +1 -0
  758. package/dist/ui/data-table.cjs +2 -0
  759. package/dist/ui/data-table.cjs.map +1 -0
  760. package/dist/ui/data-table.js +16 -0
  761. package/dist/ui/data-table.js.map +1 -0
  762. package/dist/ui/dialog.cjs +2 -0
  763. package/dist/ui/dialog.cjs.map +1 -0
  764. package/dist/ui/dialog.js +165 -0
  765. package/dist/ui/dialog.js.map +1 -0
  766. package/dist/ui/dropdown-menu.cjs +2 -0
  767. package/dist/ui/dropdown-menu.cjs.map +1 -0
  768. package/dist/ui/dropdown-menu.js +260 -0
  769. package/dist/ui/dropdown-menu.js.map +1 -0
  770. package/dist/ui/field.cjs +2 -0
  771. package/dist/ui/field.cjs.map +1 -0
  772. package/dist/ui/field.js +210 -0
  773. package/dist/ui/field.js.map +1 -0
  774. package/dist/ui/hover-card.cjs +2 -0
  775. package/dist/ui/hover-card.cjs.map +1 -0
  776. package/dist/ui/hover-card.js +39 -0
  777. package/dist/ui/hover-card.js.map +1 -0
  778. package/dist/ui/input-group.cjs +2 -0
  779. package/dist/ui/input-group.cjs.map +1 -0
  780. package/dist/ui/input-group.js +145 -0
  781. package/dist/ui/input-group.js.map +1 -0
  782. package/dist/ui/input.cjs +2 -0
  783. package/dist/ui/input.cjs.map +1 -0
  784. package/dist/ui/input.js +20 -0
  785. package/dist/ui/input.js.map +1 -0
  786. package/dist/ui/item.cjs +2 -0
  787. package/dist/ui/item.cjs.map +1 -0
  788. package/dist/ui/item.js +199 -0
  789. package/dist/ui/item.js.map +1 -0
  790. package/dist/ui/kbd.cjs +2 -0
  791. package/dist/ui/kbd.cjs.map +1 -0
  792. package/dist/ui/kbd.js +30 -0
  793. package/dist/ui/kbd.js.map +1 -0
  794. package/dist/ui/label.cjs +2 -0
  795. package/dist/ui/label.cjs.map +1 -0
  796. package/dist/ui/label.js +23 -0
  797. package/dist/ui/label.js.map +1 -0
  798. package/dist/ui/menubar.cjs +2 -0
  799. package/dist/ui/menubar.cjs.map +1 -0
  800. package/dist/ui/menubar.js +256 -0
  801. package/dist/ui/menubar.js.map +1 -0
  802. package/dist/ui/navigation-menu.cjs +2 -0
  803. package/dist/ui/navigation-menu.cjs.map +1 -0
  804. package/dist/ui/navigation-menu.js +164 -0
  805. package/dist/ui/navigation-menu.js.map +1 -0
  806. package/dist/ui/popover.cjs +2 -0
  807. package/dist/ui/popover.cjs.map +1 -0
  808. package/dist/ui/popover.js +45 -0
  809. package/dist/ui/popover.js.map +1 -0
  810. package/dist/ui/radio-group.cjs +2 -0
  811. package/dist/ui/radio-group.cjs.map +1 -0
  812. package/dist/ui/radio-group.js +45 -0
  813. package/dist/ui/radio-group.js.map +1 -0
  814. package/dist/ui/resizable.cjs +2 -0
  815. package/dist/ui/resizable.cjs.map +1 -0
  816. package/dist/ui/resizable.js +58 -0
  817. package/dist/ui/resizable.js.map +1 -0
  818. package/dist/ui/scroll-area.cjs +2 -0
  819. package/dist/ui/scroll-area.cjs.map +1 -0
  820. package/dist/ui/scroll-area.js +61 -0
  821. package/dist/ui/scroll-area.js.map +1 -0
  822. package/dist/ui/select.cjs +2 -0
  823. package/dist/ui/select.cjs.map +1 -0
  824. package/dist/ui/select.js +184 -0
  825. package/dist/ui/select.js.map +1 -0
  826. package/dist/ui/separator.cjs +2 -0
  827. package/dist/ui/separator.cjs.map +1 -0
  828. package/dist/ui/separator.js +27 -0
  829. package/dist/ui/separator.js.map +1 -0
  830. package/dist/ui/sheet.cjs +2 -0
  831. package/dist/ui/sheet.cjs.map +1 -0
  832. package/dist/ui/sheet.js +137 -0
  833. package/dist/ui/sheet.js.map +1 -0
  834. package/dist/ui/sidebar.cjs +2 -0
  835. package/dist/ui/sidebar.cjs.map +1 -0
  836. package/dist/ui/sidebar.js +579 -0
  837. package/dist/ui/sidebar.js.map +1 -0
  838. package/dist/ui/skeleton.cjs +2 -0
  839. package/dist/ui/skeleton.cjs.map +1 -0
  840. package/dist/ui/skeleton.js +24 -0
  841. package/dist/ui/skeleton.js.map +1 -0
  842. package/dist/ui/slider.cjs +2 -0
  843. package/dist/ui/slider.cjs.map +1 -0
  844. package/dist/ui/slider.js +61 -0
  845. package/dist/ui/slider.js.map +1 -0
  846. package/dist/ui/sonner.cjs +2 -0
  847. package/dist/ui/sonner.cjs.map +1 -0
  848. package/dist/ui/sonner.js +52 -0
  849. package/dist/ui/sonner.js.map +1 -0
  850. package/dist/ui/spinner.cjs +2 -0
  851. package/dist/ui/spinner.cjs.map +1 -0
  852. package/dist/ui/spinner.js +39 -0
  853. package/dist/ui/spinner.js.map +1 -0
  854. package/dist/ui/switch.cjs +2 -0
  855. package/dist/ui/switch.cjs.map +1 -0
  856. package/dist/ui/switch.js +32 -0
  857. package/dist/ui/switch.js.map +1 -0
  858. package/dist/ui/table.cjs +2 -0
  859. package/dist/ui/table.cjs.map +1 -0
  860. package/dist/ui/table.js +153 -0
  861. package/dist/ui/table.js.map +1 -0
  862. package/dist/ui/tabs.cjs +2 -0
  863. package/dist/ui/tabs.cjs.map +1 -0
  864. package/dist/ui/tabs.js +92 -0
  865. package/dist/ui/tabs.js.map +1 -0
  866. package/dist/ui/tetra-molecule-icon.cjs +2 -0
  867. package/dist/ui/tetra-molecule-icon.cjs.map +1 -0
  868. package/dist/ui/tetra-molecule-icon.js +50 -0
  869. package/dist/ui/tetra-molecule-icon.js.map +1 -0
  870. package/dist/ui/tetrascience-icon.cjs +2 -0
  871. package/dist/ui/tetrascience-icon.cjs.map +1 -0
  872. package/dist/ui/tetrascience-icon.js +47 -0
  873. package/dist/ui/tetrascience-icon.js.map +1 -0
  874. package/dist/ui/textarea.cjs +2 -0
  875. package/dist/ui/textarea.cjs.map +1 -0
  876. package/dist/ui/textarea.js +19 -0
  877. package/dist/ui/textarea.js.map +1 -0
  878. package/dist/ui/toggle-group.cjs +2 -0
  879. package/dist/ui/toggle-group.cjs.map +1 -0
  880. package/dist/ui/toggle-group.js +81 -0
  881. package/dist/ui/toggle-group.js.map +1 -0
  882. package/dist/ui/toggle.cjs +2 -0
  883. package/dist/ui/toggle.cjs.map +1 -0
  884. package/dist/ui/toggle.js +44 -0
  885. package/dist/ui/toggle.js.map +1 -0
  886. package/dist/ui/tooltip.cjs +2 -0
  887. package/dist/ui/tooltip.cjs.map +1 -0
  888. package/dist/ui/tooltip.js +56 -0
  889. package/dist/ui/tooltip.js.map +1 -0
  890. package/dist/utils/colors.d.ts +50 -0
  891. package/package.json +137 -24
  892. package/dist/athena.d.ts +0 -167
  893. package/dist/components/ai/attachments.cjs +0 -2
  894. package/dist/components/ai/attachments.cjs.map +0 -1
  895. package/dist/components/ai/attachments.js +0 -224
  896. package/dist/components/ai/attachments.js.map +0 -1
  897. package/dist/components/ai/chain-of-thought.cjs +0 -2
  898. package/dist/components/ai/chain-of-thought.cjs.map +0 -1
  899. package/dist/components/ai/chain-of-thought.js +0 -145
  900. package/dist/components/ai/chain-of-thought.js.map +0 -1
  901. package/dist/components/ai/confirmation.cjs +0 -2
  902. package/dist/components/ai/confirmation.cjs.map +0 -1
  903. package/dist/components/ai/confirmation.js +0 -109
  904. package/dist/components/ai/confirmation.js.map +0 -1
  905. package/dist/components/ai/context.cjs +0 -2
  906. package/dist/components/ai/context.cjs.map +0 -1
  907. package/dist/components/ai/context.js +0 -266
  908. package/dist/components/ai/context.js.map +0 -1
  909. package/dist/components/ai/conversation.cjs +0 -4
  910. package/dist/components/ai/conversation.cjs.map +0 -1
  911. package/dist/components/ai/conversation.js +0 -108
  912. package/dist/components/ai/conversation.js.map +0 -1
  913. package/dist/components/ai/inline-citation.cjs +0 -2
  914. package/dist/components/ai/inline-citation.cjs.map +0 -1
  915. package/dist/components/ai/inline-citation.js +0 -182
  916. package/dist/components/ai/inline-citation.js.map +0 -1
  917. package/dist/components/ai/message.cjs +0 -2
  918. package/dist/components/ai/message.cjs.map +0 -1
  919. package/dist/components/ai/message.js +0 -237
  920. package/dist/components/ai/message.js.map +0 -1
  921. package/dist/components/ai/model-selector.cjs +0 -2
  922. package/dist/components/ai/model-selector.cjs.map +0 -1
  923. package/dist/components/ai/model-selector.js +0 -77
  924. package/dist/components/ai/model-selector.js.map +0 -1
  925. package/dist/components/ai/prompt-input.cjs +0 -2
  926. package/dist/components/ai/prompt-input.cjs.map +0 -1
  927. package/dist/components/ai/prompt-input.js +0 -774
  928. package/dist/components/ai/prompt-input.js.map +0 -1
  929. package/dist/components/ai/queue.cjs +0 -2
  930. package/dist/components/ai/queue.cjs.map +0 -1
  931. package/dist/components/ai/queue.js +0 -209
  932. package/dist/components/ai/queue.js.map +0 -1
  933. package/dist/components/ai/reasoning.cjs +0 -2
  934. package/dist/components/ai/reasoning.cjs.map +0 -1
  935. package/dist/components/ai/reasoning.js +0 -129
  936. package/dist/components/ai/reasoning.js.map +0 -1
  937. package/dist/components/ai/shimmer.cjs +0 -2
  938. package/dist/components/ai/shimmer.cjs.map +0 -1
  939. package/dist/components/ai/shimmer.js +0 -49
  940. package/dist/components/ai/shimmer.js.map +0 -1
  941. package/dist/components/ai/sources.cjs +0 -2
  942. package/dist/components/ai/sources.cjs.map +0 -1
  943. package/dist/components/ai/sources.js +0 -54
  944. package/dist/components/ai/sources.js.map +0 -1
  945. package/dist/components/ai/speech-input.cjs +0 -2
  946. package/dist/components/ai/speech-input.cjs.map +0 -1
  947. package/dist/components/ai/speech-input.js +0 -123
  948. package/dist/components/ai/speech-input.js.map +0 -1
  949. package/dist/components/ai/stream-status.cjs +0 -2
  950. package/dist/components/ai/stream-status.cjs.map +0 -1
  951. package/dist/components/ai/stream-status.js +0 -106
  952. package/dist/components/ai/stream-status.js.map +0 -1
  953. package/dist/components/ai/suggestion.cjs +0 -2
  954. package/dist/components/ai/suggestion.cjs.map +0 -1
  955. package/dist/components/ai/suggestion.js +0 -38
  956. package/dist/components/ai/suggestion.js.map +0 -1
  957. package/dist/components/ai/task.cjs +0 -2
  958. package/dist/components/ai/task.cjs.map +0 -1
  959. package/dist/components/ai/task.js +0 -94
  960. package/dist/components/ai/task.js.map +0 -1
  961. package/dist/components/ai/tool.cjs +0 -2
  962. package/dist/components/ai/tool.cjs.map +0 -1
  963. package/dist/components/ai/tool.js +0 -143
  964. package/dist/components/ai/tool.js.map +0 -1
  965. package/dist/components/charts/AreaGraph/AreaGraph.cjs +0 -2
  966. package/dist/components/charts/AreaGraph/AreaGraph.cjs.map +0 -1
  967. package/dist/components/charts/AreaGraph/AreaGraph.js +0 -271
  968. package/dist/components/charts/AreaGraph/AreaGraph.js.map +0 -1
  969. package/dist/components/charts/BarGraph/BarGraph.cjs +0 -2
  970. package/dist/components/charts/BarGraph/BarGraph.cjs.map +0 -1
  971. package/dist/components/charts/BarGraph/BarGraph.js +0 -220
  972. package/dist/components/charts/BarGraph/BarGraph.js.map +0 -1
  973. package/dist/components/charts/Boxplot/Boxplot.cjs +0 -2
  974. package/dist/components/charts/Boxplot/Boxplot.cjs.map +0 -1
  975. package/dist/components/charts/Boxplot/Boxplot.js +0 -209
  976. package/dist/components/charts/Boxplot/Boxplot.js.map +0 -1
  977. package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs +0 -2
  978. package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs.map +0 -1
  979. package/dist/components/charts/ChromatogramChart/ChromatogramChart.js +0 -227
  980. package/dist/components/charts/ChromatogramChart/ChromatogramChart.js.map +0 -1
  981. package/dist/components/charts/ChromatogramChart/annotations.cjs +0 -2
  982. package/dist/components/charts/ChromatogramChart/annotations.cjs.map +0 -1
  983. package/dist/components/charts/ChromatogramChart/annotations.js +0 -73
  984. package/dist/components/charts/ChromatogramChart/annotations.js.map +0 -1
  985. package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs +0 -2
  986. package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs.map +0 -1
  987. package/dist/components/charts/ChromatogramChart/boundaryMarkers.js +0 -34
  988. package/dist/components/charts/ChromatogramChart/boundaryMarkers.js.map +0 -1
  989. package/dist/components/charts/ChromatogramChart/constants.cjs +0 -2
  990. package/dist/components/charts/ChromatogramChart/constants.cjs.map +0 -1
  991. package/dist/components/charts/ChromatogramChart/constants.js +0 -30
  992. package/dist/components/charts/ChromatogramChart/constants.js.map +0 -1
  993. package/dist/components/charts/ChromatogramChart/dataProcessing.cjs +0 -2
  994. package/dist/components/charts/ChromatogramChart/dataProcessing.cjs.map +0 -1
  995. package/dist/components/charts/ChromatogramChart/dataProcessing.js +0 -79
  996. package/dist/components/charts/ChromatogramChart/dataProcessing.js.map +0 -1
  997. package/dist/components/charts/ChromatogramChart/peakDetection.cjs.map +0 -1
  998. package/dist/components/charts/ChromatogramChart/peakDetection.js.map +0 -1
  999. package/dist/components/charts/DotPlot/DotPlot.cjs +0 -2
  1000. package/dist/components/charts/DotPlot/DotPlot.cjs.map +0 -1
  1001. package/dist/components/charts/DotPlot/DotPlot.js +0 -208
  1002. package/dist/components/charts/DotPlot/DotPlot.js.map +0 -1
  1003. package/dist/components/charts/Heatmap/Heatmap.cjs +0 -2
  1004. package/dist/components/charts/Heatmap/Heatmap.cjs.map +0 -1
  1005. package/dist/components/charts/Heatmap/Heatmap.js +0 -67
  1006. package/dist/components/charts/Heatmap/Heatmap.js.map +0 -1
  1007. package/dist/components/charts/LineGraph/LineGraph.cjs +0 -2
  1008. package/dist/components/charts/LineGraph/LineGraph.cjs.map +0 -1
  1009. package/dist/components/charts/LineGraph/LineGraph.js +0 -225
  1010. package/dist/components/charts/LineGraph/LineGraph.js.map +0 -1
  1011. package/dist/components/charts/ScatterGraph/ScatterGraph.cjs +0 -2
  1012. package/dist/components/charts/ScatterGraph/ScatterGraph.cjs.map +0 -1
  1013. package/dist/components/charts/ScatterGraph/ScatterGraph.js +0 -234
  1014. package/dist/components/charts/ScatterGraph/ScatterGraph.js.map +0 -1
  1015. package/dist/components/composed/tdp-link.cjs +0 -2
  1016. package/dist/components/composed/tdp-link.cjs.map +0 -1
  1017. package/dist/components/composed/tdp-link.js +0 -84
  1018. package/dist/components/composed/tdp-link.js.map +0 -1
  1019. package/dist/components/composed/tdp-url.cjs.map +0 -1
  1020. package/dist/components/composed/tdp-url.js.map +0 -1
  1021. package/dist/components/ui/accordion.cjs +0 -2
  1022. package/dist/components/ui/accordion.cjs.map +0 -1
  1023. package/dist/components/ui/accordion.js +0 -83
  1024. package/dist/components/ui/accordion.js.map +0 -1
  1025. package/dist/components/ui/alert-dialog.cjs +0 -2
  1026. package/dist/components/ui/alert-dialog.cjs.map +0 -1
  1027. package/dist/components/ui/alert-dialog.js +0 -181
  1028. package/dist/components/ui/alert-dialog.js.map +0 -1
  1029. package/dist/components/ui/alert.cjs +0 -2
  1030. package/dist/components/ui/alert.cjs.map +0 -1
  1031. package/dist/components/ui/alert.js +0 -81
  1032. package/dist/components/ui/alert.js.map +0 -1
  1033. package/dist/components/ui/aspect-ratio.cjs.map +0 -1
  1034. package/dist/components/ui/aspect-ratio.js.map +0 -1
  1035. package/dist/components/ui/avatar.cjs +0 -2
  1036. package/dist/components/ui/avatar.cjs.map +0 -1
  1037. package/dist/components/ui/avatar.js +0 -107
  1038. package/dist/components/ui/avatar.js.map +0 -1
  1039. package/dist/components/ui/badge.cjs +0 -2
  1040. package/dist/components/ui/badge.cjs.map +0 -1
  1041. package/dist/components/ui/badge.js +0 -47
  1042. package/dist/components/ui/badge.js.map +0 -1
  1043. package/dist/components/ui/banner.cjs +0 -2
  1044. package/dist/components/ui/banner.cjs.map +0 -1
  1045. package/dist/components/ui/banner.js +0 -80
  1046. package/dist/components/ui/banner.js.map +0 -1
  1047. package/dist/components/ui/breadcrumb.cjs +0 -2
  1048. package/dist/components/ui/breadcrumb.cjs.map +0 -1
  1049. package/dist/components/ui/breadcrumb.js +0 -118
  1050. package/dist/components/ui/breadcrumb.js.map +0 -1
  1051. package/dist/components/ui/button-group.cjs +0 -2
  1052. package/dist/components/ui/button-group.cjs.map +0 -1
  1053. package/dist/components/ui/button-group.js +0 -77
  1054. package/dist/components/ui/button-group.js.map +0 -1
  1055. package/dist/components/ui/button.cjs +0 -2
  1056. package/dist/components/ui/button.cjs.map +0 -1
  1057. package/dist/components/ui/button.js +0 -57
  1058. package/dist/components/ui/button.js.map +0 -1
  1059. package/dist/components/ui/calendar.cjs +0 -2
  1060. package/dist/components/ui/calendar.cjs.map +0 -1
  1061. package/dist/components/ui/calendar.js +0 -174
  1062. package/dist/components/ui/calendar.js.map +0 -1
  1063. package/dist/components/ui/card.cjs +0 -2
  1064. package/dist/components/ui/card.cjs.map +0 -1
  1065. package/dist/components/ui/card.js +0 -102
  1066. package/dist/components/ui/card.js.map +0 -1
  1067. package/dist/components/ui/carousel.cjs +0 -2
  1068. package/dist/components/ui/carousel.cjs.map +0 -1
  1069. package/dist/components/ui/carousel.js +0 -179
  1070. package/dist/components/ui/carousel.js.map +0 -1
  1071. package/dist/components/ui/checkbox.cjs +0 -2
  1072. package/dist/components/ui/checkbox.cjs.map +0 -1
  1073. package/dist/components/ui/checkbox.js +0 -35
  1074. package/dist/components/ui/checkbox.js.map +0 -1
  1075. package/dist/components/ui/code-block.cjs +0 -4
  1076. package/dist/components/ui/code-block.cjs.map +0 -1
  1077. package/dist/components/ui/code-block.js +0 -306
  1078. package/dist/components/ui/code-block.js.map +0 -1
  1079. package/dist/components/ui/code-editor.cjs +0 -2
  1080. package/dist/components/ui/code-editor.cjs.map +0 -1
  1081. package/dist/components/ui/code-editor.js +0 -103
  1082. package/dist/components/ui/code-editor.js.map +0 -1
  1083. package/dist/components/ui/collapsible.cjs.map +0 -1
  1084. package/dist/components/ui/collapsible.js.map +0 -1
  1085. package/dist/components/ui/combobox.cjs +0 -2
  1086. package/dist/components/ui/combobox.cjs.map +0 -1
  1087. package/dist/components/ui/combobox.js +0 -281
  1088. package/dist/components/ui/combobox.js.map +0 -1
  1089. package/dist/components/ui/command.cjs +0 -2
  1090. package/dist/components/ui/command.cjs.map +0 -1
  1091. package/dist/components/ui/command.js +0 -174
  1092. package/dist/components/ui/command.js.map +0 -1
  1093. package/dist/components/ui/context-menu.cjs +0 -2
  1094. package/dist/components/ui/context-menu.cjs.map +0 -1
  1095. package/dist/components/ui/context-menu.js +0 -236
  1096. package/dist/components/ui/context-menu.js.map +0 -1
  1097. package/dist/components/ui/dialog.cjs +0 -2
  1098. package/dist/components/ui/dialog.cjs.map +0 -1
  1099. package/dist/components/ui/dialog.js +0 -165
  1100. package/dist/components/ui/dialog.js.map +0 -1
  1101. package/dist/components/ui/drawer.cjs +0 -2
  1102. package/dist/components/ui/drawer.cjs.map +0 -1
  1103. package/dist/components/ui/drawer.js +0 -125
  1104. package/dist/components/ui/drawer.js.map +0 -1
  1105. package/dist/components/ui/dropdown-menu.cjs +0 -2
  1106. package/dist/components/ui/dropdown-menu.cjs.map +0 -1
  1107. package/dist/components/ui/dropdown-menu.js +0 -252
  1108. package/dist/components/ui/dropdown-menu.js.map +0 -1
  1109. package/dist/components/ui/field.cjs +0 -2
  1110. package/dist/components/ui/field.cjs.map +0 -1
  1111. package/dist/components/ui/field.js +0 -210
  1112. package/dist/components/ui/field.js.map +0 -1
  1113. package/dist/components/ui/hover-card.cjs +0 -2
  1114. package/dist/components/ui/hover-card.cjs.map +0 -1
  1115. package/dist/components/ui/hover-card.js +0 -39
  1116. package/dist/components/ui/hover-card.js.map +0 -1
  1117. package/dist/components/ui/input-group.cjs +0 -2
  1118. package/dist/components/ui/input-group.cjs.map +0 -1
  1119. package/dist/components/ui/input-group.js +0 -145
  1120. package/dist/components/ui/input-group.js.map +0 -1
  1121. package/dist/components/ui/input-otp.cjs +0 -2
  1122. package/dist/components/ui/input-otp.cjs.map +0 -1
  1123. package/dist/components/ui/input-otp.js +0 -82
  1124. package/dist/components/ui/input-otp.js.map +0 -1
  1125. package/dist/components/ui/input.cjs +0 -2
  1126. package/dist/components/ui/input.cjs.map +0 -1
  1127. package/dist/components/ui/input.js +0 -20
  1128. package/dist/components/ui/input.js.map +0 -1
  1129. package/dist/components/ui/item.cjs +0 -2
  1130. package/dist/components/ui/item.cjs.map +0 -1
  1131. package/dist/components/ui/item.js +0 -191
  1132. package/dist/components/ui/item.js.map +0 -1
  1133. package/dist/components/ui/kbd.cjs +0 -2
  1134. package/dist/components/ui/kbd.cjs.map +0 -1
  1135. package/dist/components/ui/kbd.js +0 -30
  1136. package/dist/components/ui/kbd.js.map +0 -1
  1137. package/dist/components/ui/label.cjs +0 -2
  1138. package/dist/components/ui/label.cjs.map +0 -1
  1139. package/dist/components/ui/label.js +0 -23
  1140. package/dist/components/ui/label.js.map +0 -1
  1141. package/dist/components/ui/menubar.cjs +0 -2
  1142. package/dist/components/ui/menubar.cjs.map +0 -1
  1143. package/dist/components/ui/menubar.js +0 -256
  1144. package/dist/components/ui/menubar.js.map +0 -1
  1145. package/dist/components/ui/navigation-menu.cjs +0 -2
  1146. package/dist/components/ui/navigation-menu.cjs.map +0 -1
  1147. package/dist/components/ui/navigation-menu.js +0 -164
  1148. package/dist/components/ui/navigation-menu.js.map +0 -1
  1149. package/dist/components/ui/popover.cjs +0 -2
  1150. package/dist/components/ui/popover.cjs.map +0 -1
  1151. package/dist/components/ui/popover.js +0 -45
  1152. package/dist/components/ui/popover.js.map +0 -1
  1153. package/dist/components/ui/radio-group.cjs +0 -2
  1154. package/dist/components/ui/radio-group.cjs.map +0 -1
  1155. package/dist/components/ui/radio-group.js +0 -45
  1156. package/dist/components/ui/radio-group.js.map +0 -1
  1157. package/dist/components/ui/resizable.cjs +0 -2
  1158. package/dist/components/ui/resizable.cjs.map +0 -1
  1159. package/dist/components/ui/resizable.js +0 -58
  1160. package/dist/components/ui/resizable.js.map +0 -1
  1161. package/dist/components/ui/scroll-area.cjs +0 -2
  1162. package/dist/components/ui/scroll-area.cjs.map +0 -1
  1163. package/dist/components/ui/scroll-area.js +0 -60
  1164. package/dist/components/ui/scroll-area.js.map +0 -1
  1165. package/dist/components/ui/select.cjs +0 -2
  1166. package/dist/components/ui/select.cjs.map +0 -1
  1167. package/dist/components/ui/select.js +0 -184
  1168. package/dist/components/ui/select.js.map +0 -1
  1169. package/dist/components/ui/separator.cjs +0 -2
  1170. package/dist/components/ui/separator.cjs.map +0 -1
  1171. package/dist/components/ui/separator.js +0 -27
  1172. package/dist/components/ui/separator.js.map +0 -1
  1173. package/dist/components/ui/sheet.cjs +0 -2
  1174. package/dist/components/ui/sheet.cjs.map +0 -1
  1175. package/dist/components/ui/sheet.js +0 -137
  1176. package/dist/components/ui/sheet.js.map +0 -1
  1177. package/dist/components/ui/sidebar.cjs +0 -2
  1178. package/dist/components/ui/sidebar.cjs.map +0 -1
  1179. package/dist/components/ui/sidebar.js +0 -579
  1180. package/dist/components/ui/sidebar.js.map +0 -1
  1181. package/dist/components/ui/skeleton.cjs +0 -2
  1182. package/dist/components/ui/skeleton.cjs.map +0 -1
  1183. package/dist/components/ui/skeleton.js +0 -24
  1184. package/dist/components/ui/skeleton.js.map +0 -1
  1185. package/dist/components/ui/slider.cjs +0 -2
  1186. package/dist/components/ui/slider.cjs.map +0 -1
  1187. package/dist/components/ui/slider.js +0 -60
  1188. package/dist/components/ui/slider.js.map +0 -1
  1189. package/dist/components/ui/sonner.cjs +0 -2
  1190. package/dist/components/ui/sonner.cjs.map +0 -1
  1191. package/dist/components/ui/sonner.js +0 -37
  1192. package/dist/components/ui/sonner.js.map +0 -1
  1193. package/dist/components/ui/spinner.cjs +0 -2
  1194. package/dist/components/ui/spinner.cjs.map +0 -1
  1195. package/dist/components/ui/spinner.js +0 -39
  1196. package/dist/components/ui/spinner.js.map +0 -1
  1197. package/dist/components/ui/switch.cjs +0 -2
  1198. package/dist/components/ui/switch.cjs.map +0 -1
  1199. package/dist/components/ui/switch.js +0 -32
  1200. package/dist/components/ui/switch.js.map +0 -1
  1201. package/dist/components/ui/table.cjs +0 -2
  1202. package/dist/components/ui/table.cjs.map +0 -1
  1203. package/dist/components/ui/table.js +0 -152
  1204. package/dist/components/ui/table.js.map +0 -1
  1205. package/dist/components/ui/tabs.cjs +0 -2
  1206. package/dist/components/ui/tabs.cjs.map +0 -1
  1207. package/dist/components/ui/tabs.js +0 -92
  1208. package/dist/components/ui/tabs.js.map +0 -1
  1209. package/dist/components/ui/tetrascience-icon.cjs +0 -2
  1210. package/dist/components/ui/tetrascience-icon.cjs.map +0 -1
  1211. package/dist/components/ui/tetrascience-icon.js +0 -46
  1212. package/dist/components/ui/tetrascience-icon.js.map +0 -1
  1213. package/dist/components/ui/textarea.cjs +0 -2
  1214. package/dist/components/ui/textarea.cjs.map +0 -1
  1215. package/dist/components/ui/textarea.js +0 -19
  1216. package/dist/components/ui/textarea.js.map +0 -1
  1217. package/dist/components/ui/toggle-group.cjs +0 -2
  1218. package/dist/components/ui/toggle-group.cjs.map +0 -1
  1219. package/dist/components/ui/toggle-group.js +0 -77
  1220. package/dist/components/ui/toggle-group.js.map +0 -1
  1221. package/dist/components/ui/toggle.cjs +0 -2
  1222. package/dist/components/ui/toggle.cjs.map +0 -1
  1223. package/dist/components/ui/toggle.js +0 -44
  1224. package/dist/components/ui/toggle.js.map +0 -1
  1225. package/dist/components/ui/tooltip.cjs +0 -2
  1226. package/dist/components/ui/tooltip.cjs.map +0 -1
  1227. package/dist/components/ui/tooltip.js +0 -56
  1228. package/dist/components/ui/tooltip.js.map +0 -1
  1229. package/dist/databricks.d.ts +0 -129
  1230. package/dist/providers/athena.d.ts +0 -9
  1231. package/dist/providers/databricks.d.ts +0 -9
  1232. package/dist/providers/snowflake.d.ts +0 -9
  1233. package/dist/snowflake.d.ts +0 -125
  1234. /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.cjs +0 -0
  1235. /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.js +0 -0
  1236. /package/dist/{components/composed → composed}/tdp-url.cjs +0 -0
  1237. /package/dist/{components/composed → composed}/tdp-url.js +0 -0
  1238. /package/dist/{components/ui → ui}/aspect-ratio.cjs +0 -0
  1239. /package/dist/{components/ui → ui}/aspect-ratio.js +0 -0
  1240. /package/dist/{components/ui → ui}/collapsible.cjs +0 -0
  1241. /package/dist/{components/ui → ui}/collapsible.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","sources":["../../../../src/components/ui/data-table/data-table.tsx"],"sourcesContent":["\"use client\"\n\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n DragOverlay,\n type DragStartEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\"\nimport { restrictToHorizontalAxis } from \"@dnd-kit/modifiers\"\nimport {\n arrayMove,\n horizontalListSortingStrategy,\n SortableContext,\n sortableKeyboardCoordinates,\n useSortable,\n} from \"@dnd-kit/sortable\"\nimport { CSS } from \"@dnd-kit/utilities\"\nimport {\n type ColumnDef,\n type ColumnOrderState,\n type Header,\n type PaginationState,\n type RowData,\n type SortingState,\n type Table as TanStackTable,\n type VisibilityState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\"\nimport { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon, ChevronDownIcon, ChevronRightIcon, GripVerticalIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { DataTablePagination } from \"./data-table-pagination\"\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\"\nimport { cn } from \"@/lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Module augmentation — column meta\n// ---------------------------------------------------------------------------\n\ndeclare module \"@tanstack/react-table\" {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface ColumnMeta<TData extends RowData, TValue> {\n truncate?: boolean\n }\n}\n\n// ---------------------------------------------------------------------------\n// Filter types\n// ---------------------------------------------------------------------------\n\ntype FilterOperator =\n | \"contains\"\n | \"equals\"\n | \"not_equals\"\n | \"starts_with\"\n | \"ends_with\"\n | \"is_empty\"\n | \"is_not_empty\"\n\ninterface FilterCondition {\n /** Stable unique key for React reconciliation. */\n id: string\n columnId: string\n operator: FilterOperator\n value: string\n}\n\ninterface FilterColumnConfig {\n columnId: string\n label?: string\n operators?: FilterOperator[]\n}\n\n// ---------------------------------------------------------------------------\n// Grouping types\n// ---------------------------------------------------------------------------\n\ninterface GroupColumnConfig {\n columnId: string\n label?: string\n}\n\nexport function applyFilterCondition(\n cellValue: string,\n operator: FilterOperator,\n filterValue: string,\n): boolean {\n const cell = cellValue.toLowerCase().trim()\n const filter = filterValue.toLowerCase().trim()\n switch (operator) {\n case \"contains\": return cell.includes(filter)\n case \"equals\": return cell === filter\n case \"not_equals\": return cell !== filter\n case \"starts_with\": return cell.startsWith(filter)\n case \"ends_with\": return cell.endsWith(filter)\n case \"is_empty\": return cell === \"\"\n case \"is_not_empty\": return cell !== \"\"\n default: {\n const _exhaustive: never = operator\n void _exhaustive\n return true\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface TableContextValue<TData> {\n table: TanStackTable<TData>\n columnLabels: Record<string, string>\n setColumnLabel: (columnId: string, label: string) => void\n filters: FilterCondition[]\n setFilters: (filters: FilterCondition[]) => void\n filterConfig: FilterColumnConfig[]\n enableFiltering: boolean\n grouping: string | null\n setGrouping: (columnId: string | null) => void\n groupConfig: GroupColumnConfig[]\n enableGrouping: boolean\n}\n\nconst TableContext = React.createContext<TableContextValue<unknown> | null>(null)\n\nfunction useDataTable<TData = unknown>() {\n const ctx = React.useContext(TableContext) as TableContextValue<TData> | null\n if (!ctx) {\n throw new Error(\"useDataTable must be used within a <DataTable>\")\n }\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// DraggableHeader\n// ---------------------------------------------------------------------------\n\nfunction DraggableHeader<TData>({\n header,\n children,\n position,\n numeric,\n truncate,\n}: {\n header: Header<TData, unknown>\n children: React.ReactNode\n position?: \"first\" | \"last\" | \"middle\"\n numeric?: boolean\n truncate?: boolean\n}) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id: header.column.id })\n\n const style: React.CSSProperties = {\n transform: CSS.Transform.toString(\n transform ? { ...transform, scaleX: 1, scaleY: 1 } : null,\n ),\n transition,\n position: \"relative\",\n }\n\n return (\n <TableHead\n ref={setNodeRef}\n style={style}\n variant={numeric ? \"numeric\" : undefined}\n truncate={truncate}\n className={cn(\n \"group/header transition-shadow duration-150\",\n !isDragging && position === \"first\" && \"hover:shadow-[inset_-1px_0_0_0_var(--color-border)]\",\n !isDragging && position === \"last\" && \"hover:shadow-[inset_1px_0_0_0_var(--color-border)]\",\n !isDragging && position === \"middle\" && \"hover:shadow-[inset_1px_0_0_0_var(--color-border),inset_-1px_0_0_0_var(--color-border)]\",\n isDragging && \"opacity-40\",\n )}\n >\n <div className={cn(\"flex items-center gap-1 min-w-0\", numeric && \"flex-row-reverse\")}>\n <div className=\"flex-1 min-w-0\">{children}</div>\n <button\n type=\"button\"\n data-drag-handle=\"\"\n className=\"cursor-grab touch-none text-muted-foreground hover:text-foreground active:cursor-grabbing opacity-0 group-hover/header:opacity-100 transition-opacity\"\n {...attributes}\n {...listeners}\n >\n <GripVerticalIcon className=\"size-3.5\" />\n </button>\n </div>\n </TableHead>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Shared header / body renderers (extracted to reduce cognitive complexity)\n// ---------------------------------------------------------------------------\n\ninterface SortableHeaderContentProps {\n header: Header<unknown, unknown>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate?: boolean\n}\n\nfunction SortableHeaderContent({\n header,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: SortableHeaderContentProps) {\n if (header.isPlaceholder) return null\n const canSort = enableSorting && header.column.getCanSort()\n const sorted = header.column.getIsSorted()\n const isNumeric = numericColumns.has(header.column.id)\n\n return (\n <div\n className={cn(\n \"flex items-center gap-1 min-w-0\",\n canSort && \"group/sort cursor-pointer select-none\",\n isNumeric && \"flex-row-reverse\",\n )}\n onClick={canSort ? header.column.getToggleSortingHandler() : undefined}\n onKeyDown={(e) => {\n if ((e.key === \"Enter\" || e.key === \" \") && canSort) {\n header.column.getToggleSortingHandler()\n }\n }}\n >\n <span className={cn(\"min-w-0\", truncate && \"truncate\")}>\n {columnLabels[header.column.id] ??\n flexRender(header.column.columnDef.header, header.getContext())}\n </span>\n {canSort && (\n <span\n className={cn(\n !sorted && \"opacity-0 group-hover/sort:opacity-100 transition-opacity\",\n )}\n >\n {sorted === \"asc\" ? (\n <ArrowUpIcon className=\"size-3.5 text-foreground\" />\n ) : sorted === \"desc\" ? (\n <ArrowDownIcon className=\"size-3.5 text-foreground\" />\n ) : (\n <ArrowUpDownIcon className=\"size-3.5 text-muted-foreground\" />\n )}\n </span>\n )}\n </div>\n )\n}\n\ntype RowOf<TData> = ReturnType<TanStackTable<TData>[\"getRowModel\"]>[\"rows\"][number]\n\nconst EMPTY_GROUP_KEY = \"—\"\n\nfunction bucketRowsByGroup<TData>(rows: RowOf<TData>[], grouping: string) {\n const buckets = new Map<string, RowOf<TData>[]>()\n const rawByKey = new Map<string, unknown>()\n for (const row of rows) {\n const raw = row.getValue(grouping)\n const isEmpty = raw == null || raw === \"\"\n const key = isEmpty ? EMPTY_GROUP_KEY : String(raw)\n const bucket = buckets.get(key)\n if (bucket) {\n bucket.push(row)\n } else {\n buckets.set(key, [row])\n rawByKey.set(key, isEmpty ? null : raw)\n }\n }\n\n const keys = [...buckets.keys()]\n const allNumeric = keys.every((k) => k === EMPTY_GROUP_KEY || typeof rawByKey.get(k) === \"number\")\n keys.sort((a, b) => {\n if (a === EMPTY_GROUP_KEY) return 1\n if (b === EMPTY_GROUP_KEY) return -1\n if (allNumeric) return (rawByKey.get(a) as number) - (rawByKey.get(b) as number)\n return a.localeCompare(b, undefined, { sensitivity: \"base\", numeric: true })\n })\n\n return { order: keys, buckets }\n}\n\nfunction resolveGroupLabel<TData>(\n table: TanStackTable<TData>,\n grouping: string,\n groupConfig: GroupColumnConfig[],\n columnLabels: Record<string, string>,\n): string {\n const groupColumn = table.getColumn(grouping)\n return (\n groupConfig.find((g) => g.columnId === grouping)?.label ??\n columnLabels[grouping] ??\n (typeof groupColumn?.columnDef.header === \"string\"\n ? groupColumn.columnDef.header\n : grouping)\n )\n}\n\ninterface DataRowProps<TData> {\n row: RowOf<TData>\n numericColumns: Set<string>\n truncate?: boolean\n}\n\nfunction DataRow<TData>({ row, numericColumns, truncate }: DataRowProps<TData>) {\n return (\n <TableRow data-state={row.getIsSelected() ? \"selected\" : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n variant={numericColumns.has(cell.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (cell.column.columnDef.meta?.truncate ?? true)}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n )\n}\n\ninterface GroupHeaderRowProps {\n groupKey: string\n groupLabel: string\n isExpanded: boolean\n colSpan: number\n onToggle: () => void\n}\n\nfunction GroupHeaderRow({\n groupKey,\n groupLabel,\n isExpanded,\n colSpan,\n onToggle,\n}: GroupHeaderRowProps) {\n return (\n <TableRow data-slot=\"data-table-group-header\">\n <TableCell colSpan={colSpan} className=\"p-0 font-medium\">\n <button\n type=\"button\"\n onClick={onToggle}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} group ${groupKey}`}\n className=\"flex w-full items-center gap-2 text-left p-4 in-data-[density=compact]:py-2 in-data-[density=relaxed]:py-5 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset\"\n >\n {isExpanded ? (\n <ChevronDownIcon className=\"size-3.5 shrink-0 text-muted-foreground\" />\n ) : (\n <ChevronRightIcon className=\"size-3.5 shrink-0 text-muted-foreground\" />\n )}\n <span className=\"text-xs uppercase tracking-wide text-muted-foreground\">\n {groupLabel}\n </span>\n <span className=\"truncate\">{groupKey}</span>\n </button>\n </TableCell>\n </TableRow>\n )\n}\n\ninterface GroupedRowsProps<TData> {\n table: TanStackTable<TData>\n numericColumns: Set<string>\n truncate?: boolean\n grouping: string\n groupConfig: GroupColumnConfig[]\n columnLabels: Record<string, string>\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n}\n\nfunction GroupedRows<TData>({\n table,\n numericColumns,\n truncate,\n grouping,\n groupConfig,\n columnLabels,\n collapsedGroups,\n onToggleGroup,\n}: GroupedRowsProps<TData>) {\n const visibleColumnCount = table.getVisibleLeafColumns().length\n const rows = table.getSortedRowModel().rows\n if (rows.length === 0) {\n return (\n <TableRow>\n <TableCell colSpan={visibleColumnCount} className=\"h-24 text-center text-muted-foreground\">\n No results.\n </TableCell>\n </TableRow>\n )\n }\n\n const { order, buckets } = bucketRowsByGroup(rows, grouping)\n const groupLabel = resolveGroupLabel(table, grouping, groupConfig, columnLabels)\n\n return (\n <>\n {order.map((key) => {\n const groupRows = buckets.get(key) ?? []\n const isExpanded = !collapsedGroups.has(key)\n return (\n <React.Fragment key={`group-${key}`}>\n <GroupHeaderRow\n groupKey={key}\n groupLabel={groupLabel}\n isExpanded={isExpanded}\n colSpan={visibleColumnCount}\n onToggle={() => onToggleGroup(key)}\n />\n {isExpanded &&\n groupRows.map((row) => (\n <DataRow\n key={row.id}\n row={row}\n numericColumns={numericColumns}\n truncate={truncate}\n />\n ))}\n </React.Fragment>\n )\n })}\n </>\n )\n}\n\nfunction deriveNumericColumns<TData>(\n data: TData[],\n columns: ColumnDef<TData, unknown>[],\n): Set<string> {\n if (data.length === 0) return new Set<string>()\n const first = data[0] as Record<string, unknown>\n const ids = new Set<string>()\n for (const col of columns) {\n const key = \"accessorKey\" in col ? String(col.accessorKey) : \"\"\n if (key && typeof first[key] === \"number\") ids.add(key)\n }\n return ids\n}\n\nfunction deriveAccessorConfig<TData>(\n columns: ColumnDef<TData, unknown>[],\n): { columnId: string }[] {\n return columns\n .filter((col) => \"accessorKey\" in col)\n .map((col) => ({ columnId: String((col as { accessorKey: unknown }).accessorKey) }))\n}\n\nfunction applyClientFilters<TData>(data: TData[], filters: FilterCondition[]): TData[] {\n const active = filters.filter(\n (f) =>\n f.columnId &&\n f.operator &&\n (f.value.trim() !== \"\" || f.operator === \"is_empty\" || f.operator === \"is_not_empty\"),\n )\n if (active.length === 0) return data\n return data.filter((row) =>\n active.every((condition) => {\n const cellValue = String((row as Record<string, unknown>)[condition.columnId] ?? \"\")\n return applyFilterCondition(cellValue, condition.operator, condition.value)\n }),\n )\n}\n\nfunction useColumnReorder<TData>(\n table: TanStackTable<TData>,\n columnOrder: ColumnOrderState,\n) {\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 5 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n )\n\n const [draggingColumnId, setDraggingColumnId] = React.useState<string | null>(null)\n\n const handleDragStart = React.useCallback((event: DragStartEvent) => {\n setDraggingColumnId(String(event.active.id))\n }, [])\n\n const handleDragEnd = React.useCallback(\n (event: DragEndEvent) => {\n setDraggingColumnId(null)\n const { active, over } = event\n if (!over || active.id === over.id) return\n const currentOrder =\n columnOrder.length > 0 ? columnOrder : table.getAllLeafColumns().map((column) => column.id)\n const oldIdx = currentOrder.indexOf(String(active.id))\n const newIdx = currentOrder.indexOf(String(over.id))\n if (oldIdx === -1 || newIdx === -1) return\n const newOrder = arrayMove(currentOrder, oldIdx, newIdx)\n table.setColumnOrder(newOrder)\n },\n [columnOrder, table],\n )\n\n const draggingHeader = draggingColumnId\n ? table.getFlatHeaders().find((h) => h.column.id === draggingColumnId)\n : null\n\n return { sensors, draggingHeader, handleDragStart, handleDragEnd }\n}\n\nfunction useGroupingState(\n controlledGrouping: string | null | undefined,\n onGroupingChange: ((grouping: string | null) => void) | undefined,\n) {\n const [internalGrouping, setInternalGrouping] = React.useState<string | null>(null)\n const [collapsedGroups, setCollapsedGroups] = React.useState<Set<string>>(() => new Set())\n\n const grouping = controlledGrouping === undefined ? internalGrouping : controlledGrouping\n\n const handleGroupingChange = React.useCallback(\n (next: string | null) => {\n setCollapsedGroups(new Set())\n ;(onGroupingChange ?? setInternalGrouping)(next)\n },\n [onGroupingChange],\n )\n\n const toggleGroup = React.useCallback((key: string) => {\n setCollapsedGroups((prev) => {\n const next = new Set(prev)\n if (next.has(key)) next.delete(key)\n else next.add(key)\n return next\n })\n }, [])\n\n return { grouping, collapsedGroups, handleGroupingChange, toggleGroup }\n}\n\ninterface TableSurfaceProps<TData> {\n table: TanStackTable<TData>\n columns: ColumnDef<TData, unknown>[]\n variant: React.ComponentProps<typeof Table>[\"variant\"]\n containerClassName?: React.ComponentProps<typeof Table>[\"containerClassName\"]\n density: \"compact\" | \"default\" | \"relaxed\"\n hasExplicitSize: boolean\n enableSorting: boolean\n enableColumnReorder: boolean\n enableGrouping: boolean\n grouping: string | null\n groupConfig: GroupColumnConfig[]\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n reorderSensors: ReturnType<typeof useSensors>\n draggingHeader: ReturnType<TanStackTable<TData>[\"getFlatHeaders\"]>[number] | null | undefined\n onDragStart: (event: DragStartEvent) => void\n onDragEnd: (event: DragEndEvent) => void\n}\n\nfunction HeaderCells<TData>({\n table,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: {\n table: TanStackTable<TData>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n}) {\n return (\n <>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n variant={numericColumns.has(header.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n >\n <SortableHeaderContent\n header={header as Header<unknown, unknown>}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n />\n </TableHead>\n ))}\n </TableRow>\n ))}\n </>\n )\n}\n\nfunction DraggableHeaderCells<TData>({\n table,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: {\n table: TanStackTable<TData>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n}) {\n return (\n <>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header, headerIdx) => {\n const position =\n headerIdx === 0\n ? \"first\"\n : headerIdx === headerGroup.headers.length - 1\n ? \"last\"\n : \"middle\"\n return (\n <DraggableHeader\n key={header.id}\n header={header}\n position={position}\n numeric={numericColumns.has(header.column.id)}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n >\n <SortableHeaderContent\n header={header as Header<unknown, unknown>}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n />\n </DraggableHeader>\n )\n })}\n </TableRow>\n ))}\n </>\n )\n}\n\nfunction ColGroup<TData>({\n table,\n useFlexSize,\n}: {\n table: TanStackTable<TData>\n useFlexSize: boolean\n}) {\n return (\n <colgroup>\n {table.getHeaderGroups()[0]?.headers.map((header) =>\n useFlexSize ? (\n <col key={header.id} style={{ width: header.column.getSize() }} />\n ) : (\n <col\n key={header.id}\n style={\n header.column.columnDef.size == null\n ? undefined\n : { width: header.column.columnDef.size }\n }\n />\n ),\n )}\n </colgroup>\n )\n}\n\nfunction TableSurface<TData>(props: TableSurfaceProps<TData>) {\n const {\n table,\n columns,\n variant,\n containerClassName,\n density,\n hasExplicitSize,\n enableSorting,\n enableColumnReorder,\n enableGrouping,\n grouping,\n groupConfig,\n collapsedGroups,\n onToggleGroup,\n numericColumns,\n columnLabels,\n truncate,\n reorderSensors,\n draggingHeader,\n onDragStart,\n onDragEnd,\n } = props\n\n const body = (\n <DataTableRows\n table={table}\n columns={columns}\n numericColumns={numericColumns}\n truncate={truncate}\n grouping={enableGrouping ? grouping : null}\n groupConfig={groupConfig}\n columnLabels={columnLabels}\n collapsedGroups={collapsedGroups}\n onToggleGroup={onToggleGroup}\n />\n )\n\n if (enableColumnReorder) {\n return (\n <DndContext\n sensors={reorderSensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToHorizontalAxis]}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n >\n <SortableContext\n items={table.getFlatHeaders().map((h) => h.column.id)}\n strategy={horizontalListSortingStrategy}\n >\n <Table\n data-density={density}\n variant={variant}\n containerClassName={containerClassName}\n layout={hasExplicitSize ? \"fixed\" : undefined}\n >\n {hasExplicitSize && <ColGroup table={table} useFlexSize />}\n <TableHeader>\n <DraggableHeaderCells\n table={table}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n />\n </TableHeader>\n <TableBody>{body}</TableBody>\n </Table>\n </SortableContext>\n <DragOverlay dropAnimation={null}>\n {draggingHeader && (\n <div className=\"rounded-md border bg-background px-4 py-3 text-sm font-medium shadow-lg\">\n {columnLabels[draggingHeader.column.id] ??\n (typeof draggingHeader.column.columnDef.header === \"string\"\n ? draggingHeader.column.columnDef.header\n : draggingHeader.column.id)}\n </div>\n )}\n </DragOverlay>\n </DndContext>\n )\n }\n\n return (\n <Table\n data-density={density}\n variant={variant}\n containerClassName={containerClassName}\n layout={hasExplicitSize ? \"fixed\" : undefined}\n >\n {hasExplicitSize && <ColGroup table={table} useFlexSize={false} />}\n <TableHeader>\n <HeaderCells\n table={table}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n />\n </TableHeader>\n <TableBody>{body}</TableBody>\n </Table>\n )\n}\n\nfunction DataTableRows<TData>({\n table,\n columns,\n numericColumns,\n truncate,\n grouping,\n groupConfig,\n columnLabels,\n collapsedGroups,\n onToggleGroup,\n}: {\n table: TanStackTable<TData>\n columns: ColumnDef<TData, unknown>[]\n numericColumns: Set<string>\n truncate?: boolean\n grouping: string | null\n groupConfig: GroupColumnConfig[]\n columnLabels: Record<string, string>\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n}) {\n if (grouping) {\n return (\n <GroupedRows\n table={table}\n numericColumns={numericColumns}\n truncate={truncate}\n grouping={grouping}\n groupConfig={groupConfig}\n columnLabels={columnLabels}\n collapsedGroups={collapsedGroups}\n onToggleGroup={onToggleGroup}\n />\n )\n }\n\n if (table.getRowModel().rows.length === 0) {\n return (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-foreground\">\n No results.\n </TableCell>\n </TableRow>\n )\n }\n\n return table.getRowModel().rows.map((row) => (\n <TableRow key={row.id} data-state={row.getIsSelected() ? \"selected\" : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n variant={numericColumns.has(cell.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (cell.column.columnDef.meta?.truncate ?? true)}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n}\n\n// ---------------------------------------------------------------------------\n// Slot categorization\n// ---------------------------------------------------------------------------\n\nfunction categorizeSlots(children: React.ReactNode) {\n const toolbarSlots: React.ReactNode[] = []\n const filterSlots: React.ReactNode[] = []\n const groupSlots: React.ReactNode[] = []\n const paginationSlots: React.ReactNode[] = []\n const restSlots: React.ReactNode[] = []\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child) && child.type === TableToolbar) {\n toolbarSlots.push(child)\n } else if (\n React.isValidElement(child) &&\n (child.type as React.ComponentType).displayName === \"DataTableFilter\"\n ) {\n filterSlots.push(child)\n } else if (\n React.isValidElement(child) &&\n (child.type as React.ComponentType).displayName === \"DataTableGroup\"\n ) {\n groupSlots.push(child)\n } else if (React.isValidElement(child) && child.type === DataTablePagination) {\n paginationSlots.push(child)\n } else {\n restSlots.push(child)\n }\n })\n return { toolbarSlots, filterSlots, groupSlots, paginationSlots, restSlots }\n}\n\n// ---------------------------------------------------------------------------\n// DataTable\n// ---------------------------------------------------------------------------\n\ninterface DataTableProps<TData, TValue> {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n /** @deprecated Use `<TableToolbar>` as a child instead */\n toolbar?: React.ReactNode\n enableSorting?: boolean\n enableColumnVisibility?: boolean\n columnOrder?: ColumnOrderState\n onColumnOrderChange?: (order: ColumnOrderState) => void\n columnVisibility?: VisibilityState\n onColumnVisibilityChange?: (vis: VisibilityState) => void\n columnLabels?: Record<string, string>\n onColumnLabelChange?: (columnId: string, label: string) => void\n enablePagination?: boolean\n defaultPageSize?: number\n pagination?: PaginationState\n onPaginationChange?: (pagination: PaginationState) => void\n enableColumnReorder?: boolean\n enableFiltering?: boolean\n filters?: FilterCondition[]\n onFiltersChange?: (filters: FilterCondition[]) => void\n filterConfig?: FilterColumnConfig[]\n /** When true, filtering is handled externally — onFiltersChange fires but rows are not filtered client-side. */\n manualFiltering?: boolean\n enableGrouping?: boolean\n /** ID of the column currently grouped by, or null for no grouping. */\n grouping?: string | null\n onGroupingChange?: (grouping: string | null) => void\n groupConfig?: GroupColumnConfig[]\n density?: \"compact\" | \"default\" | \"relaxed\"\n children?: React.ReactNode\n className?: string\n /** Variant passed to the base Table component */\n variant?: React.ComponentProps<typeof Table>[\"variant\"]\n /** className passed to the base Table's container div */\n containerClassName?: React.ComponentProps<typeof Table>[\"containerClassName\"]\n truncate?: boolean\n}\n\nfunction DataTable<TData, TValue>({\n columns,\n data,\n toolbar,\n enableSorting = false,\n enableColumnVisibility = false,\n children,\n columnOrder: controlledColumnOrder,\n onColumnOrderChange,\n columnVisibility: controlledColumnVisibility,\n onColumnVisibilityChange,\n columnLabels: controlledColumnLabels,\n onColumnLabelChange,\n enablePagination = false,\n defaultPageSize = 10,\n pagination: controlledPagination,\n onPaginationChange,\n enableColumnReorder = false,\n enableFiltering = false,\n filters: controlledFilters,\n onFiltersChange,\n filterConfig,\n manualFiltering = false,\n enableGrouping = false,\n grouping: controlledGrouping,\n onGroupingChange,\n groupConfig,\n density = \"default\",\n className,\n variant = \"card\",\n containerClassName,\n truncate = true,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [internalColumnVisibility, setInternalColumnVisibility] =\n React.useState<VisibilityState>({})\n const [internalColumnOrder, setInternalColumnOrder] =\n React.useState<ColumnOrderState>([])\n const [internalColumnLabels, setInternalColumnLabels] = React.useState<\n Record<string, string>\n >({})\n const [internalPagination, setInternalPagination] =\n React.useState<PaginationState>({\n pageIndex: 0,\n pageSize: defaultPageSize,\n })\n const [internalFilters, setInternalFilters] = React.useState<FilterCondition[]>([])\n const { grouping, collapsedGroups, handleGroupingChange, toggleGroup } =\n useGroupingState(controlledGrouping, onGroupingChange)\n\n const pagination = controlledPagination ?? internalPagination\n const filters = controlledFilters ?? internalFilters\n\n const columnVisibility =\n controlledColumnVisibility ?? internalColumnVisibility\n const columnOrder = controlledColumnOrder ?? internalColumnOrder\n const columnLabels = controlledColumnLabels ?? internalColumnLabels\n\n const handlePaginationChange = React.useMemo(() => {\n if (!enablePagination) return\n if (onPaginationChange) {\n return (updater: PaginationState | ((prev: PaginationState) => PaginationState)) => {\n const next = typeof updater === \"function\" ? updater(controlledPagination!) : updater\n onPaginationChange(next)\n }\n }\n return setInternalPagination\n }, [enablePagination, onPaginationChange, controlledPagination])\n\n const handleVisibilityChange = React.useMemo(() => {\n if (!enableColumnVisibility) return\n return (updater: VisibilityState | ((prev: VisibilityState) => VisibilityState)) => {\n const next = typeof updater === \"function\" ? updater(columnVisibility) : updater\n ;(onColumnVisibilityChange ?? setInternalColumnVisibility)(next)\n }\n }, [enableColumnVisibility, columnVisibility, onColumnVisibilityChange])\n\n const handleFiltersChange = React.useCallback(\n (newFilters: FilterCondition[]) => {\n ;(onFiltersChange ?? setInternalFilters)(newFilters)\n },\n [onFiltersChange],\n )\n\n const resolvedFilterConfig: FilterColumnConfig[] = React.useMemo(\n () => filterConfig ?? deriveAccessorConfig(columns),\n [filterConfig, columns],\n )\n\n const resolvedGroupConfig: GroupColumnConfig[] = React.useMemo(\n () => groupConfig ?? deriveAccessorConfig(columns),\n [groupConfig, columns],\n )\n\n const filteredData = React.useMemo(\n (): TData[] => (!enableFiltering || manualFiltering ? data : applyClientFilters(data, filters)),\n [data, filters, enableFiltering, manualFiltering],\n )\n\n const handleColumnOrderChange = React.useCallback(\n (updater: ColumnOrderState | ((prev: ColumnOrderState) => ColumnOrderState)) => {\n const next = typeof updater === \"function\" ? updater(columnOrder) : updater\n ;(onColumnOrderChange ?? setInternalColumnOrder)(next)\n },\n [columnOrder, onColumnOrderChange],\n )\n\n const table = useReactTable({\n data: filteredData,\n columns,\n state: {\n sorting: enableSorting ? sorting : undefined,\n columnVisibility: enableColumnVisibility ? columnVisibility : undefined,\n columnOrder: columnOrder.length > 0 ? columnOrder : undefined,\n ...(enablePagination ? { pagination } : {}),\n },\n onSortingChange: enableSorting ? setSorting : undefined,\n onPaginationChange: handlePaginationChange,\n onColumnVisibilityChange: handleVisibilityChange,\n onColumnOrderChange: handleColumnOrderChange,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: enableSorting || enableGrouping ? getSortedRowModel() : undefined,\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n })\n\n const setColumnLabel = React.useCallback(\n (columnId: string, label: string) => {\n ;(onColumnLabelChange ?? ((id: string, l: string) => setInternalColumnLabels((prev) => ({ ...prev, [id]: l }))))(columnId, label)\n },\n [onColumnLabelChange],\n )\n\n const {\n sensors: reorderSensors,\n draggingHeader,\n handleDragStart: handleColumnDragStart,\n handleDragEnd: handleColumnDragEnd,\n } = useColumnReorder(table, columnOrder)\n\n const numericColumns = React.useMemo(\n () => deriveNumericColumns(data, columns),\n [data, columns],\n )\n\n const hasExplicitSize = columns.some((c) => c.size != null)\n\n // Not memoized: TanStack's table instance is a stable reference that mutates\n // internally, so children reading table.getState() need fresh context on each render.\n const ctx = {\n table,\n columnLabels,\n setColumnLabel,\n filters,\n setFilters: handleFiltersChange,\n filterConfig: resolvedFilterConfig,\n enableFiltering,\n grouping,\n setGrouping: handleGroupingChange,\n groupConfig: resolvedGroupConfig,\n enableGrouping,\n } as TableContextValue<unknown>\n\n const { toolbarSlots, filterSlots, groupSlots, paginationSlots, restSlots } = categorizeSlots(children)\n\n return (\n <TableContext.Provider value={ctx}>\n <div data-slot=\"data-table\" className={cn(\"w-full space-y-2\", className)}>\n {toolbar}\n {toolbarSlots}\n {filterSlots}\n {groupSlots}\n <TableSurface\n table={table}\n columns={columns}\n variant={variant}\n containerClassName={containerClassName}\n density={density}\n hasExplicitSize={hasExplicitSize}\n enableSorting={enableSorting}\n enableColumnReorder={enableColumnReorder}\n enableGrouping={enableGrouping}\n grouping={grouping}\n groupConfig={resolvedGroupConfig}\n collapsedGroups={collapsedGroups}\n onToggleGroup={toggleGroup}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n reorderSensors={reorderSensors}\n draggingHeader={draggingHeader}\n onDragStart={handleColumnDragStart}\n onDragEnd={handleColumnDragEnd}\n />\n {paginationSlots}\n {restSlots}\n </div>\n </TableContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// TableToolbar\n// ---------------------------------------------------------------------------\n\nfunction TableToolbar({\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"table-toolbar\"\n className={cn(\"flex items-center justify-end gap-2\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport { DataTable, TableToolbar, useDataTable }\nexport type { DataTableProps, FilterCondition, FilterOperator, FilterColumnConfig, GroupColumnConfig }\n"],"names":["applyFilterCondition","cellValue","operator","filterValue","cell","filter","TableContext","React","useDataTable","ctx","DraggableHeader","header","children","position","numeric","truncate","attributes","listeners","setNodeRef","transform","transition","isDragging","useSortable","style","CSS","jsx","TableHead","cn","GripVerticalIcon","SortableHeaderContent","enableSorting","numericColumns","columnLabels","canSort","sorted","isNumeric","jsxs","e","flexRender","ArrowUpIcon","ArrowDownIcon","ArrowUpDownIcon","EMPTY_GROUP_KEY","bucketRowsByGroup","rows","grouping","buckets","rawByKey","row","raw","isEmpty","key","bucket","keys","allNumeric","k","a","b","resolveGroupLabel","table","groupConfig","groupColumn","g","DataRow","TableRow","TableCell","GroupHeaderRow","groupKey","groupLabel","isExpanded","colSpan","onToggle","ChevronDownIcon","ChevronRightIcon","GroupedRows","collapsedGroups","onToggleGroup","visibleColumnCount","order","Fragment","groupRows","deriveNumericColumns","data","columns","first","ids","col","deriveAccessorConfig","applyClientFilters","filters","active","f","condition","useColumnReorder","columnOrder","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","draggingColumnId","setDraggingColumnId","handleDragStart","event","handleDragEnd","over","currentOrder","column","oldIdx","newIdx","newOrder","arrayMove","draggingHeader","h","useGroupingState","controlledGrouping","onGroupingChange","internalGrouping","setInternalGrouping","setCollapsedGroups","handleGroupingChange","next","toggleGroup","prev","HeaderCells","headerGroup","DraggableHeaderCells","headerIdx","ColGroup","useFlexSize","TableSurface","props","variant","containerClassName","density","hasExplicitSize","enableColumnReorder","enableGrouping","reorderSensors","onDragStart","onDragEnd","body","DataTableRows","DndContext","closestCenter","restrictToHorizontalAxis","SortableContext","horizontalListSortingStrategy","Table","TableHeader","TableBody","DragOverlay","categorizeSlots","toolbarSlots","filterSlots","groupSlots","paginationSlots","restSlots","child","TableToolbar","DataTablePagination","DataTable","toolbar","enableColumnVisibility","controlledColumnOrder","onColumnOrderChange","controlledColumnVisibility","onColumnVisibilityChange","controlledColumnLabels","onColumnLabelChange","enablePagination","defaultPageSize","controlledPagination","onPaginationChange","enableFiltering","controlledFilters","onFiltersChange","filterConfig","manualFiltering","className","sorting","setSorting","internalColumnVisibility","setInternalColumnVisibility","internalColumnOrder","setInternalColumnOrder","internalColumnLabels","setInternalColumnLabels","internalPagination","setInternalPagination","internalFilters","setInternalFilters","pagination","columnVisibility","handlePaginationChange","updater","handleVisibilityChange","handleFiltersChange","newFilters","resolvedFilterConfig","resolvedGroupConfig","filteredData","handleColumnOrderChange","useReactTable","getCoreRowModel","getSortedRowModel","getPaginationRowModel","setColumnLabel","columnId","label","id","l","handleColumnDragStart","handleColumnDragEnd","c"],"mappings":"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"}
1
+ {"version":3,"file":"data-table.js","sources":["../../../../src/components/ui/data-table/data-table.tsx"],"sourcesContent":["\"use client\"\n\nimport {\n closestCenter,\n DndContext,\n type DragEndEvent,\n DragOverlay,\n type DragStartEvent,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\"\nimport { restrictToHorizontalAxis } from \"@dnd-kit/modifiers\"\nimport {\n arrayMove,\n horizontalListSortingStrategy,\n SortableContext,\n sortableKeyboardCoordinates,\n useSortable,\n} from \"@dnd-kit/sortable\"\nimport { CSS } from \"@dnd-kit/utilities\"\nimport {\n type ColumnDef,\n type ColumnOrderState,\n type Header,\n type PaginationState,\n type RowData,\n type SortingState,\n type Table as TanStackTable,\n type VisibilityState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\"\nimport { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon, ChevronDownIcon, ChevronRightIcon, GripVerticalIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { DataTablePagination } from \"./data-table-pagination\"\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\"\nimport { cn } from \"@/lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Module augmentation — column meta\n// ---------------------------------------------------------------------------\n\ndeclare module \"@tanstack/react-table\" {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface ColumnMeta<TData extends RowData, TValue> {\n truncate?: boolean\n }\n}\n\n// ---------------------------------------------------------------------------\n// Filter types\n// ---------------------------------------------------------------------------\n\ntype FilterOperator =\n | \"contains\"\n | \"equals\"\n | \"not_equals\"\n | \"starts_with\"\n | \"ends_with\"\n | \"is_empty\"\n | \"is_not_empty\"\n\ninterface FilterCondition {\n /** Stable unique key for React reconciliation. */\n id: string\n columnId: string\n operator: FilterOperator\n value: string\n}\n\ninterface FilterColumnConfig {\n columnId: string\n label?: string\n operators?: FilterOperator[]\n}\n\n// ---------------------------------------------------------------------------\n// Grouping types\n// ---------------------------------------------------------------------------\n\ninterface GroupColumnConfig {\n columnId: string\n label?: string\n}\n\nexport function applyFilterCondition(\n cellValue: string,\n operator: FilterOperator,\n filterValue: string,\n): boolean {\n const cell = cellValue.toLowerCase().trim()\n const filter = filterValue.toLowerCase().trim()\n switch (operator) {\n case \"contains\": return cell.includes(filter)\n case \"equals\": return cell === filter\n case \"not_equals\": return cell !== filter\n case \"starts_with\": return cell.startsWith(filter)\n case \"ends_with\": return cell.endsWith(filter)\n case \"is_empty\": return cell === \"\"\n case \"is_not_empty\": return cell !== \"\"\n default: {\n const _exhaustive: never = operator\n void _exhaustive\n return true\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface TableContextValue<TData> {\n table: TanStackTable<TData>\n columnLabels: Record<string, string>\n setColumnLabel: (columnId: string, label: string) => void\n filters: FilterCondition[]\n setFilters: (filters: FilterCondition[]) => void\n filterConfig: FilterColumnConfig[]\n enableFiltering: boolean\n grouping: string | null\n setGrouping: (columnId: string | null) => void\n groupConfig: GroupColumnConfig[]\n enableGrouping: boolean\n}\n\nconst TableContext = React.createContext<TableContextValue<unknown> | null>(null)\n\nfunction useDataTable<TData = unknown>() {\n const ctx = React.useContext(TableContext) as TableContextValue<TData> | null\n if (!ctx) {\n throw new Error(\"useDataTable must be used within a <DataTable>\")\n }\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// DraggableHeader\n// ---------------------------------------------------------------------------\n\nfunction DraggableHeader<TData>({\n header,\n children,\n position,\n numeric,\n truncate,\n}: {\n header: Header<TData, unknown>\n children: React.ReactNode\n position?: \"first\" | \"last\" | \"middle\"\n numeric?: boolean\n truncate?: boolean\n}) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id: header.column.id })\n\n const { columnLabels } = useDataTable()\n const columnLabel =\n columnLabels[header.column.id] ??\n (header.column.columnDef.meta as { label?: string } | undefined)?.label ??\n (typeof header.column.columnDef.header === \"string\"\n ? header.column.columnDef.header\n : header.column.id)\n\n const style: React.CSSProperties = {\n transform: CSS.Transform.toString(\n transform ? { ...transform, scaleX: 1, scaleY: 1 } : null,\n ),\n transition,\n position: \"relative\",\n }\n\n return (\n <TableHead\n ref={setNodeRef}\n style={style}\n variant={numeric ? \"numeric\" : undefined}\n truncate={truncate}\n className={cn(\n \"group/header transition-shadow duration-150\",\n !isDragging && position === \"first\" && \"hover:shadow-[inset_-1px_0_0_0_var(--color-border)]\",\n !isDragging && position === \"last\" && \"hover:shadow-[inset_1px_0_0_0_var(--color-border)]\",\n !isDragging && position === \"middle\" && \"hover:shadow-[inset_1px_0_0_0_var(--color-border),inset_-1px_0_0_0_var(--color-border)]\",\n isDragging && \"opacity-40\",\n )}\n >\n <div className={cn(\"flex items-center gap-1 min-w-0\", numeric && \"flex-row-reverse\")}>\n <div className=\"flex-1 min-w-0\">{children}</div>\n <button\n type=\"button\"\n data-drag-handle=\"\"\n aria-label={`Drag to reorder ${columnLabel} column`}\n className=\"cursor-grab touch-none text-muted-foreground hover:text-foreground active:cursor-grabbing opacity-0 group-hover/header:opacity-100 transition-opacity\"\n {...attributes}\n {...listeners}\n >\n <GripVerticalIcon className=\"size-3.5\" />\n </button>\n </div>\n </TableHead>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Shared header / body renderers (extracted to reduce cognitive complexity)\n// ---------------------------------------------------------------------------\n\ninterface SortableHeaderContentProps {\n header: Header<unknown, unknown>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate?: boolean\n}\n\nfunction SortableHeaderContent({\n header,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: SortableHeaderContentProps) {\n if (header.isPlaceholder) return null\n const canSort = enableSorting && header.column.getCanSort()\n const sorted = header.column.getIsSorted()\n const isNumeric = numericColumns.has(header.column.id)\n\n return (\n <div\n className={cn(\n \"flex items-center gap-1 min-w-0\",\n canSort && \"group/sort cursor-pointer select-none\",\n isNumeric && \"flex-row-reverse\",\n )}\n onClick={canSort ? header.column.getToggleSortingHandler() : undefined}\n onKeyDown={(e) => {\n if ((e.key === \"Enter\" || e.key === \" \") && canSort) {\n header.column.getToggleSortingHandler()\n }\n }}\n >\n <span className={cn(\"min-w-0\", truncate && \"truncate\")}>\n {columnLabels[header.column.id] ??\n flexRender(header.column.columnDef.header, header.getContext())}\n </span>\n {canSort && (\n <span\n className={cn(\n !sorted && \"opacity-0 group-hover/sort:opacity-100 transition-opacity\",\n )}\n >\n {sorted === \"asc\" ? (\n <ArrowUpIcon className=\"size-3.5 text-foreground\" />\n ) : sorted === \"desc\" ? (\n <ArrowDownIcon className=\"size-3.5 text-foreground\" />\n ) : (\n <ArrowUpDownIcon className=\"size-3.5 text-muted-foreground\" />\n )}\n </span>\n )}\n </div>\n )\n}\n\ntype RowOf<TData> = ReturnType<TanStackTable<TData>[\"getRowModel\"]>[\"rows\"][number]\n\nconst EMPTY_GROUP_KEY = \"—\"\n\nfunction bucketRowsByGroup<TData>(rows: RowOf<TData>[], grouping: string) {\n const buckets = new Map<string, RowOf<TData>[]>()\n const rawByKey = new Map<string, unknown>()\n for (const row of rows) {\n const raw = row.getValue(grouping)\n const isEmpty = raw == null || raw === \"\"\n const key = isEmpty ? EMPTY_GROUP_KEY : String(raw)\n const bucket = buckets.get(key)\n if (bucket) {\n bucket.push(row)\n } else {\n buckets.set(key, [row])\n rawByKey.set(key, isEmpty ? null : raw)\n }\n }\n\n const keys = [...buckets.keys()]\n const allNumeric = keys.every((k) => k === EMPTY_GROUP_KEY || typeof rawByKey.get(k) === \"number\")\n keys.sort((a, b) => {\n if (a === EMPTY_GROUP_KEY) return 1\n if (b === EMPTY_GROUP_KEY) return -1\n if (allNumeric) return (rawByKey.get(a) as number) - (rawByKey.get(b) as number)\n return a.localeCompare(b, undefined, { sensitivity: \"base\", numeric: true })\n })\n\n return { order: keys, buckets }\n}\n\nfunction resolveGroupLabel<TData>(\n table: TanStackTable<TData>,\n grouping: string,\n groupConfig: GroupColumnConfig[],\n columnLabels: Record<string, string>,\n): string {\n const groupColumn = table.getColumn(grouping)\n return (\n groupConfig.find((g) => g.columnId === grouping)?.label ??\n columnLabels[grouping] ??\n (typeof groupColumn?.columnDef.header === \"string\"\n ? groupColumn.columnDef.header\n : grouping)\n )\n}\n\ninterface DataRowProps<TData> {\n row: RowOf<TData>\n numericColumns: Set<string>\n truncate?: boolean\n}\n\nfunction DataRow<TData>({ row, numericColumns, truncate }: DataRowProps<TData>) {\n return (\n <TableRow data-state={row.getIsSelected() ? \"selected\" : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n variant={numericColumns.has(cell.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (cell.column.columnDef.meta?.truncate ?? true)}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n )\n}\n\ninterface GroupHeaderRowProps {\n groupKey: string\n groupLabel: string\n isExpanded: boolean\n colSpan: number\n onToggle: () => void\n}\n\nfunction GroupHeaderRow({\n groupKey,\n groupLabel,\n isExpanded,\n colSpan,\n onToggle,\n}: GroupHeaderRowProps) {\n return (\n <TableRow data-slot=\"data-table-group-header\">\n <TableCell colSpan={colSpan} className=\"p-0 font-medium\">\n <button\n type=\"button\"\n onClick={onToggle}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} group ${groupKey}`}\n className=\"flex w-full items-center gap-2 text-left p-4 in-data-[density=compact]:py-2 in-data-[density=relaxed]:py-5 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset\"\n >\n {isExpanded ? (\n <ChevronDownIcon className=\"size-3.5 shrink-0 text-muted-foreground\" />\n ) : (\n <ChevronRightIcon className=\"size-3.5 shrink-0 text-muted-foreground\" />\n )}\n <span className=\"text-xs uppercase tracking-wide text-muted-foreground\">\n {groupLabel}\n </span>\n <span className=\"truncate\">{groupKey}</span>\n </button>\n </TableCell>\n </TableRow>\n )\n}\n\ninterface GroupedRowsProps<TData> {\n table: TanStackTable<TData>\n numericColumns: Set<string>\n truncate?: boolean\n grouping: string\n groupConfig: GroupColumnConfig[]\n columnLabels: Record<string, string>\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n}\n\nfunction GroupedRows<TData>({\n table,\n numericColumns,\n truncate,\n grouping,\n groupConfig,\n columnLabels,\n collapsedGroups,\n onToggleGroup,\n}: GroupedRowsProps<TData>) {\n const visibleColumnCount = table.getVisibleLeafColumns().length\n const rows = table.getSortedRowModel().rows\n if (rows.length === 0) {\n return (\n <TableRow>\n <TableCell colSpan={visibleColumnCount} className=\"h-24 text-center text-muted-foreground\">\n No results.\n </TableCell>\n </TableRow>\n )\n }\n\n const { order, buckets } = bucketRowsByGroup(rows, grouping)\n const groupLabel = resolveGroupLabel(table, grouping, groupConfig, columnLabels)\n\n return (\n <>\n {order.map((key) => {\n const groupRows = buckets.get(key) ?? []\n const isExpanded = !collapsedGroups.has(key)\n return (\n <React.Fragment key={`group-${key}`}>\n <GroupHeaderRow\n groupKey={key}\n groupLabel={groupLabel}\n isExpanded={isExpanded}\n colSpan={visibleColumnCount}\n onToggle={() => onToggleGroup(key)}\n />\n {isExpanded &&\n groupRows.map((row) => (\n <DataRow\n key={row.id}\n row={row}\n numericColumns={numericColumns}\n truncate={truncate}\n />\n ))}\n </React.Fragment>\n )\n })}\n </>\n )\n}\n\nfunction deriveNumericColumns<TData>(\n data: TData[],\n columns: ColumnDef<TData, unknown>[],\n): Set<string> {\n if (data.length === 0) return new Set<string>()\n const first = data[0] as Record<string, unknown>\n const ids = new Set<string>()\n for (const col of columns) {\n const key = \"accessorKey\" in col ? String(col.accessorKey) : \"\"\n if (key && typeof first[key] === \"number\") ids.add(key)\n }\n return ids\n}\n\nfunction deriveAccessorConfig<TData>(\n columns: ColumnDef<TData, unknown>[],\n): { columnId: string }[] {\n return columns\n .filter((col) => \"accessorKey\" in col)\n .map((col) => ({ columnId: String((col as { accessorKey: unknown }).accessorKey) }))\n}\n\nfunction applyClientFilters<TData>(data: TData[], filters: FilterCondition[]): TData[] {\n const active = filters.filter(\n (f) =>\n f.columnId &&\n f.operator &&\n (f.value.trim() !== \"\" || f.operator === \"is_empty\" || f.operator === \"is_not_empty\"),\n )\n if (active.length === 0) return data\n return data.filter((row) =>\n active.every((condition) => {\n const cellValue = String((row as Record<string, unknown>)[condition.columnId] ?? \"\")\n return applyFilterCondition(cellValue, condition.operator, condition.value)\n }),\n )\n}\n\nfunction useColumnReorder<TData>(\n table: TanStackTable<TData>,\n columnOrder: ColumnOrderState,\n) {\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 5 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n )\n\n const [draggingColumnId, setDraggingColumnId] = React.useState<string | null>(null)\n\n const handleDragStart = React.useCallback((event: DragStartEvent) => {\n setDraggingColumnId(String(event.active.id))\n }, [])\n\n const handleDragEnd = React.useCallback(\n (event: DragEndEvent) => {\n setDraggingColumnId(null)\n const { active, over } = event\n if (!over || active.id === over.id) return\n const currentOrder =\n columnOrder.length > 0 ? columnOrder : table.getAllLeafColumns().map((column) => column.id)\n const oldIdx = currentOrder.indexOf(String(active.id))\n const newIdx = currentOrder.indexOf(String(over.id))\n if (oldIdx === -1 || newIdx === -1) return\n const newOrder = arrayMove(currentOrder, oldIdx, newIdx)\n table.setColumnOrder(newOrder)\n },\n [columnOrder, table],\n )\n\n const draggingHeader = draggingColumnId\n ? table.getFlatHeaders().find((h) => h.column.id === draggingColumnId)\n : null\n\n return { sensors, draggingHeader, handleDragStart, handleDragEnd }\n}\n\nfunction useGroupingState(\n controlledGrouping: string | null | undefined,\n onGroupingChange: ((grouping: string | null) => void) | undefined,\n) {\n const [internalGrouping, setInternalGrouping] = React.useState<string | null>(null)\n const [collapsedGroups, setCollapsedGroups] = React.useState<Set<string>>(() => new Set())\n\n const grouping = controlledGrouping === undefined ? internalGrouping : controlledGrouping\n\n const handleGroupingChange = React.useCallback(\n (next: string | null) => {\n setCollapsedGroups(new Set())\n ;(onGroupingChange ?? setInternalGrouping)(next)\n },\n [onGroupingChange],\n )\n\n const toggleGroup = React.useCallback((key: string) => {\n setCollapsedGroups((prev) => {\n const next = new Set(prev)\n if (next.has(key)) next.delete(key)\n else next.add(key)\n return next\n })\n }, [])\n\n return { grouping, collapsedGroups, handleGroupingChange, toggleGroup }\n}\n\ninterface TableSurfaceProps<TData> {\n table: TanStackTable<TData>\n columns: ColumnDef<TData, unknown>[]\n variant: React.ComponentProps<typeof Table>[\"variant\"]\n containerClassName?: React.ComponentProps<typeof Table>[\"containerClassName\"]\n density: \"compact\" | \"default\" | \"relaxed\"\n hasExplicitSize: boolean\n enableSorting: boolean\n enableColumnReorder: boolean\n enableGrouping: boolean\n grouping: string | null\n groupConfig: GroupColumnConfig[]\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n reorderSensors: ReturnType<typeof useSensors>\n draggingHeader: ReturnType<TanStackTable<TData>[\"getFlatHeaders\"]>[number] | null | undefined\n onDragStart: (event: DragStartEvent) => void\n onDragEnd: (event: DragEndEvent) => void\n}\n\nfunction HeaderCells<TData>({\n table,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: {\n table: TanStackTable<TData>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n}) {\n return (\n <>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n variant={numericColumns.has(header.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n >\n <SortableHeaderContent\n header={header as Header<unknown, unknown>}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n />\n </TableHead>\n ))}\n </TableRow>\n ))}\n </>\n )\n}\n\nfunction DraggableHeaderCells<TData>({\n table,\n enableSorting,\n numericColumns,\n columnLabels,\n truncate,\n}: {\n table: TanStackTable<TData>\n enableSorting: boolean\n numericColumns: Set<string>\n columnLabels: Record<string, string>\n truncate: boolean\n}) {\n return (\n <>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header, headerIdx) => {\n const position =\n headerIdx === 0\n ? \"first\"\n : headerIdx === headerGroup.headers.length - 1\n ? \"last\"\n : \"middle\"\n return (\n <DraggableHeader\n key={header.id}\n header={header}\n position={position}\n numeric={numericColumns.has(header.column.id)}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n >\n <SortableHeaderContent\n header={header as Header<unknown, unknown>}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate && (header.column.columnDef.meta?.truncate ?? true)}\n />\n </DraggableHeader>\n )\n })}\n </TableRow>\n ))}\n </>\n )\n}\n\nfunction ColGroup<TData>({\n table,\n useFlexSize,\n}: {\n table: TanStackTable<TData>\n useFlexSize: boolean\n}) {\n return (\n <colgroup>\n {table.getHeaderGroups()[0]?.headers.map((header) =>\n useFlexSize ? (\n <col key={header.id} style={{ width: header.column.getSize() }} />\n ) : (\n <col\n key={header.id}\n style={\n header.column.columnDef.size == null\n ? undefined\n : { width: header.column.columnDef.size }\n }\n />\n ),\n )}\n </colgroup>\n )\n}\n\nfunction TableSurface<TData>(props: TableSurfaceProps<TData>) {\n const {\n table,\n columns,\n variant,\n containerClassName,\n density,\n hasExplicitSize,\n enableSorting,\n enableColumnReorder,\n enableGrouping,\n grouping,\n groupConfig,\n collapsedGroups,\n onToggleGroup,\n numericColumns,\n columnLabels,\n truncate,\n reorderSensors,\n draggingHeader,\n onDragStart,\n onDragEnd,\n } = props\n\n const body = (\n <DataTableRows\n table={table}\n columns={columns}\n numericColumns={numericColumns}\n truncate={truncate}\n grouping={enableGrouping ? grouping : null}\n groupConfig={groupConfig}\n columnLabels={columnLabels}\n collapsedGroups={collapsedGroups}\n onToggleGroup={onToggleGroup}\n />\n )\n\n if (enableColumnReorder) {\n return (\n <DndContext\n sensors={reorderSensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToHorizontalAxis]}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n >\n <SortableContext\n items={table.getFlatHeaders().map((h) => h.column.id)}\n strategy={horizontalListSortingStrategy}\n >\n <Table\n data-density={density}\n variant={variant}\n containerClassName={containerClassName}\n layout={hasExplicitSize ? \"fixed\" : undefined}\n >\n {hasExplicitSize && <ColGroup table={table} useFlexSize />}\n <TableHeader>\n <DraggableHeaderCells\n table={table}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n />\n </TableHeader>\n <TableBody>{body}</TableBody>\n </Table>\n </SortableContext>\n <DragOverlay dropAnimation={null}>\n {draggingHeader && (\n <div className=\"rounded-md border bg-background px-4 py-3 text-sm font-medium shadow-elevation-5\">\n {columnLabels[draggingHeader.column.id] ??\n (typeof draggingHeader.column.columnDef.header === \"string\"\n ? draggingHeader.column.columnDef.header\n : draggingHeader.column.id)}\n </div>\n )}\n </DragOverlay>\n </DndContext>\n )\n }\n\n return (\n <Table\n data-density={density}\n variant={variant}\n containerClassName={containerClassName}\n layout={hasExplicitSize ? \"fixed\" : undefined}\n >\n {hasExplicitSize && <ColGroup table={table} useFlexSize={false} />}\n <TableHeader>\n <HeaderCells\n table={table}\n enableSorting={enableSorting}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n />\n </TableHeader>\n <TableBody>{body}</TableBody>\n </Table>\n )\n}\n\nfunction DataTableRows<TData>({\n table,\n columns,\n numericColumns,\n truncate,\n grouping,\n groupConfig,\n columnLabels,\n collapsedGroups,\n onToggleGroup,\n}: {\n table: TanStackTable<TData>\n columns: ColumnDef<TData, unknown>[]\n numericColumns: Set<string>\n truncate?: boolean\n grouping: string | null\n groupConfig: GroupColumnConfig[]\n columnLabels: Record<string, string>\n collapsedGroups: Set<string>\n onToggleGroup: (key: string) => void\n}) {\n if (grouping) {\n return (\n <GroupedRows\n table={table}\n numericColumns={numericColumns}\n truncate={truncate}\n grouping={grouping}\n groupConfig={groupConfig}\n columnLabels={columnLabels}\n collapsedGroups={collapsedGroups}\n onToggleGroup={onToggleGroup}\n />\n )\n }\n\n if (table.getRowModel().rows.length === 0) {\n return (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-foreground\">\n No results.\n </TableCell>\n </TableRow>\n )\n }\n\n return table.getRowModel().rows.map((row) => (\n <TableRow key={row.id} data-state={row.getIsSelected() ? \"selected\" : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell\n key={cell.id}\n variant={numericColumns.has(cell.column.id) ? \"numeric\" : undefined}\n truncate={truncate && (cell.column.columnDef.meta?.truncate ?? true)}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n}\n\n// ---------------------------------------------------------------------------\n// Slot categorization\n// ---------------------------------------------------------------------------\n\nfunction categorizeSlots(children: React.ReactNode) {\n const toolbarSlots: React.ReactNode[] = []\n const filterSlots: React.ReactNode[] = []\n const groupSlots: React.ReactNode[] = []\n const paginationSlots: React.ReactNode[] = []\n const restSlots: React.ReactNode[] = []\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child) && child.type === TableToolbar) {\n toolbarSlots.push(child)\n } else if (\n React.isValidElement(child) &&\n (child.type as React.ComponentType).displayName === \"DataTableFilter\"\n ) {\n filterSlots.push(child)\n } else if (\n React.isValidElement(child) &&\n (child.type as React.ComponentType).displayName === \"DataTableGroup\"\n ) {\n groupSlots.push(child)\n } else if (React.isValidElement(child) && child.type === DataTablePagination) {\n paginationSlots.push(child)\n } else {\n restSlots.push(child)\n }\n })\n return { toolbarSlots, filterSlots, groupSlots, paginationSlots, restSlots }\n}\n\n// ---------------------------------------------------------------------------\n// DataTable\n// ---------------------------------------------------------------------------\n\ninterface DataTableProps<TData, TValue> {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n /** @deprecated Use `<TableToolbar>` as a child instead */\n toolbar?: React.ReactNode\n enableSorting?: boolean\n enableColumnVisibility?: boolean\n columnOrder?: ColumnOrderState\n onColumnOrderChange?: (order: ColumnOrderState) => void\n columnVisibility?: VisibilityState\n onColumnVisibilityChange?: (vis: VisibilityState) => void\n columnLabels?: Record<string, string>\n onColumnLabelChange?: (columnId: string, label: string) => void\n enablePagination?: boolean\n defaultPageSize?: number\n pagination?: PaginationState\n onPaginationChange?: (pagination: PaginationState) => void\n enableColumnReorder?: boolean\n enableFiltering?: boolean\n filters?: FilterCondition[]\n onFiltersChange?: (filters: FilterCondition[]) => void\n filterConfig?: FilterColumnConfig[]\n /** When true, filtering is handled externally — onFiltersChange fires but rows are not filtered client-side. */\n manualFiltering?: boolean\n enableGrouping?: boolean\n /** ID of the column currently grouped by, or null for no grouping. */\n grouping?: string | null\n onGroupingChange?: (grouping: string | null) => void\n groupConfig?: GroupColumnConfig[]\n density?: \"compact\" | \"default\" | \"relaxed\"\n children?: React.ReactNode\n className?: string\n /** Variant passed to the base Table component */\n variant?: React.ComponentProps<typeof Table>[\"variant\"]\n /** className passed to the base Table's container div */\n containerClassName?: React.ComponentProps<typeof Table>[\"containerClassName\"]\n truncate?: boolean\n}\n\nfunction DataTable<TData, TValue>({\n columns,\n data,\n toolbar,\n enableSorting = false,\n enableColumnVisibility = false,\n children,\n columnOrder: controlledColumnOrder,\n onColumnOrderChange,\n columnVisibility: controlledColumnVisibility,\n onColumnVisibilityChange,\n columnLabels: controlledColumnLabels,\n onColumnLabelChange,\n enablePagination = false,\n defaultPageSize = 10,\n pagination: controlledPagination,\n onPaginationChange,\n enableColumnReorder = false,\n enableFiltering = false,\n filters: controlledFilters,\n onFiltersChange,\n filterConfig,\n manualFiltering = false,\n enableGrouping = false,\n grouping: controlledGrouping,\n onGroupingChange,\n groupConfig,\n density = \"default\",\n className,\n variant = \"card\",\n containerClassName,\n truncate = true,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [internalColumnVisibility, setInternalColumnVisibility] =\n React.useState<VisibilityState>({})\n const [internalColumnOrder, setInternalColumnOrder] =\n React.useState<ColumnOrderState>([])\n const [internalColumnLabels, setInternalColumnLabels] = React.useState<\n Record<string, string>\n >({})\n const [internalPagination, setInternalPagination] =\n React.useState<PaginationState>({\n pageIndex: 0,\n pageSize: defaultPageSize,\n })\n const [internalFilters, setInternalFilters] = React.useState<FilterCondition[]>([])\n const { grouping, collapsedGroups, handleGroupingChange, toggleGroup } =\n useGroupingState(controlledGrouping, onGroupingChange)\n\n const pagination = controlledPagination ?? internalPagination\n const filters = controlledFilters ?? internalFilters\n\n const columnVisibility =\n controlledColumnVisibility ?? internalColumnVisibility\n const columnOrder = controlledColumnOrder ?? internalColumnOrder\n const columnLabels = controlledColumnLabels ?? internalColumnLabels\n\n const handlePaginationChange = React.useMemo(() => {\n if (!enablePagination) return\n if (onPaginationChange) {\n return (updater: PaginationState | ((prev: PaginationState) => PaginationState)) => {\n const next = typeof updater === \"function\" ? updater(controlledPagination!) : updater\n onPaginationChange(next)\n }\n }\n return setInternalPagination\n }, [enablePagination, onPaginationChange, controlledPagination])\n\n const handleVisibilityChange = React.useMemo(() => {\n if (!enableColumnVisibility) return\n return (updater: VisibilityState | ((prev: VisibilityState) => VisibilityState)) => {\n const next = typeof updater === \"function\" ? updater(columnVisibility) : updater\n ;(onColumnVisibilityChange ?? setInternalColumnVisibility)(next)\n }\n }, [enableColumnVisibility, columnVisibility, onColumnVisibilityChange])\n\n const handleFiltersChange = React.useCallback(\n (newFilters: FilterCondition[]) => {\n ;(onFiltersChange ?? setInternalFilters)(newFilters)\n },\n [onFiltersChange],\n )\n\n const resolvedFilterConfig: FilterColumnConfig[] = React.useMemo(\n () => filterConfig ?? deriveAccessorConfig(columns),\n [filterConfig, columns],\n )\n\n const resolvedGroupConfig: GroupColumnConfig[] = React.useMemo(\n () => groupConfig ?? deriveAccessorConfig(columns),\n [groupConfig, columns],\n )\n\n const filteredData = React.useMemo(\n (): TData[] => (!enableFiltering || manualFiltering ? data : applyClientFilters(data, filters)),\n [data, filters, enableFiltering, manualFiltering],\n )\n\n const handleColumnOrderChange = React.useCallback(\n (updater: ColumnOrderState | ((prev: ColumnOrderState) => ColumnOrderState)) => {\n const next = typeof updater === \"function\" ? updater(columnOrder) : updater\n ;(onColumnOrderChange ?? setInternalColumnOrder)(next)\n },\n [columnOrder, onColumnOrderChange],\n )\n\n const table = useReactTable({\n data: filteredData,\n columns,\n state: {\n sorting: enableSorting ? sorting : undefined,\n columnVisibility: enableColumnVisibility ? columnVisibility : undefined,\n columnOrder: columnOrder.length > 0 ? columnOrder : undefined,\n ...(enablePagination ? { pagination } : {}),\n },\n onSortingChange: enableSorting ? setSorting : undefined,\n onPaginationChange: handlePaginationChange,\n onColumnVisibilityChange: handleVisibilityChange,\n onColumnOrderChange: handleColumnOrderChange,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: enableSorting || enableGrouping ? getSortedRowModel() : undefined,\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n })\n\n const setColumnLabel = React.useCallback(\n (columnId: string, label: string) => {\n ;(onColumnLabelChange ?? ((id: string, l: string) => setInternalColumnLabels((prev) => ({ ...prev, [id]: l }))))(columnId, label)\n },\n [onColumnLabelChange],\n )\n\n const {\n sensors: reorderSensors,\n draggingHeader,\n handleDragStart: handleColumnDragStart,\n handleDragEnd: handleColumnDragEnd,\n } = useColumnReorder(table, columnOrder)\n\n const numericColumns = React.useMemo(\n () => deriveNumericColumns(data, columns),\n [data, columns],\n )\n\n const hasExplicitSize = columns.some((c) => c.size != null)\n\n // Not memoized: TanStack's table instance is a stable reference that mutates\n // internally, so children reading table.getState() need fresh context on each render.\n const ctx = {\n table,\n columnLabels,\n setColumnLabel,\n filters,\n setFilters: handleFiltersChange,\n filterConfig: resolvedFilterConfig,\n enableFiltering,\n grouping,\n setGrouping: handleGroupingChange,\n groupConfig: resolvedGroupConfig,\n enableGrouping,\n } as TableContextValue<unknown>\n\n const { toolbarSlots, filterSlots, groupSlots, paginationSlots, restSlots } = categorizeSlots(children)\n\n return (\n <TableContext.Provider value={ctx}>\n <div data-slot=\"data-table\" className={cn(\"w-full space-y-2\", className)}>\n {toolbar}\n {toolbarSlots}\n {filterSlots}\n {groupSlots}\n <TableSurface\n table={table}\n columns={columns}\n variant={variant}\n containerClassName={containerClassName}\n density={density}\n hasExplicitSize={hasExplicitSize}\n enableSorting={enableSorting}\n enableColumnReorder={enableColumnReorder}\n enableGrouping={enableGrouping}\n grouping={grouping}\n groupConfig={resolvedGroupConfig}\n collapsedGroups={collapsedGroups}\n onToggleGroup={toggleGroup}\n numericColumns={numericColumns}\n columnLabels={columnLabels}\n truncate={truncate}\n reorderSensors={reorderSensors}\n draggingHeader={draggingHeader}\n onDragStart={handleColumnDragStart}\n onDragEnd={handleColumnDragEnd}\n />\n {paginationSlots}\n {restSlots}\n </div>\n </TableContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// TableToolbar\n// ---------------------------------------------------------------------------\n\nfunction TableToolbar({\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"table-toolbar\"\n className={cn(\"flex items-center justify-end gap-2\", className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport { DataTable, TableToolbar, useDataTable }\nexport type { DataTableProps, FilterCondition, FilterOperator, FilterColumnConfig, GroupColumnConfig }\n"],"names":["applyFilterCondition","cellValue","operator","filterValue","cell","filter","TableContext","React","useDataTable","ctx","DraggableHeader","header","children","position","numeric","truncate","attributes","listeners","setNodeRef","transform","transition","isDragging","useSortable","columnLabels","columnLabel","style","CSS","jsx","TableHead","cn","GripVerticalIcon","SortableHeaderContent","enableSorting","numericColumns","canSort","sorted","isNumeric","jsxs","e","flexRender","ArrowUpIcon","ArrowDownIcon","ArrowUpDownIcon","EMPTY_GROUP_KEY","bucketRowsByGroup","rows","grouping","buckets","rawByKey","row","raw","isEmpty","key","bucket","keys","allNumeric","k","a","b","resolveGroupLabel","table","groupConfig","groupColumn","g","DataRow","TableRow","TableCell","GroupHeaderRow","groupKey","groupLabel","isExpanded","colSpan","onToggle","ChevronDownIcon","ChevronRightIcon","GroupedRows","collapsedGroups","onToggleGroup","visibleColumnCount","order","Fragment","groupRows","deriveNumericColumns","data","columns","first","ids","col","deriveAccessorConfig","applyClientFilters","filters","active","f","condition","useColumnReorder","columnOrder","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","draggingColumnId","setDraggingColumnId","handleDragStart","event","handleDragEnd","over","currentOrder","column","oldIdx","newIdx","newOrder","arrayMove","draggingHeader","h","useGroupingState","controlledGrouping","onGroupingChange","internalGrouping","setInternalGrouping","setCollapsedGroups","handleGroupingChange","next","toggleGroup","prev","HeaderCells","headerGroup","DraggableHeaderCells","headerIdx","ColGroup","useFlexSize","TableSurface","props","variant","containerClassName","density","hasExplicitSize","enableColumnReorder","enableGrouping","reorderSensors","onDragStart","onDragEnd","body","DataTableRows","DndContext","closestCenter","restrictToHorizontalAxis","SortableContext","horizontalListSortingStrategy","Table","TableHeader","TableBody","DragOverlay","categorizeSlots","toolbarSlots","filterSlots","groupSlots","paginationSlots","restSlots","child","TableToolbar","DataTablePagination","DataTable","toolbar","enableColumnVisibility","controlledColumnOrder","onColumnOrderChange","controlledColumnVisibility","onColumnVisibilityChange","controlledColumnLabels","onColumnLabelChange","enablePagination","defaultPageSize","controlledPagination","onPaginationChange","enableFiltering","controlledFilters","onFiltersChange","filterConfig","manualFiltering","className","sorting","setSorting","internalColumnVisibility","setInternalColumnVisibility","internalColumnOrder","setInternalColumnOrder","internalColumnLabels","setInternalColumnLabels","internalPagination","setInternalPagination","internalFilters","setInternalFilters","pagination","columnVisibility","handlePaginationChange","updater","handleVisibilityChange","handleFiltersChange","newFilters","resolvedFilterConfig","resolvedGroupConfig","filteredData","handleColumnOrderChange","useReactTable","getCoreRowModel","getSortedRowModel","getPaginationRowModel","setColumnLabel","columnId","label","id","l","handleColumnDragStart","handleColumnDragEnd","c"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './data-table';
2
+ export * from './data-table-column-toggle';
3
+ export * from './data-table-filter';
4
+ export * from './data-table-group';
5
+ export * from './data-table-pagination';
@@ -0,0 +1,18 @@
1
+ import { Dialog as DialogPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
+ showCloseButton?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
+ declare function DialogBody({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<"div"> & {
14
+ showCloseButton?: boolean;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
17
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
18
+ export { Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -0,0 +1,29 @@
1
+ import { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function DropdownMenu({ modal, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
9
+ inset?: boolean;
10
+ variant?: "default" | "destructive";
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {
13
+ inset?: boolean;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
16
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {
17
+ inset?: boolean;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
20
+ inset?: boolean;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
23
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
24
+ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
25
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
26
+ inset?: boolean;
27
+ }): import("react/jsx-runtime").JSX.Element;
28
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
29
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
@@ -0,0 +1,24 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { Label } from './label';
3
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("react/jsx-runtime").JSX.Element;
4
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
5
+ variant?: "legend" | "label";
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare const fieldVariants: (props?: ({
9
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
10
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
12
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
14
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
15
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
16
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
17
+ children?: React.ReactNode;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
20
+ errors?: Array<{
21
+ message?: string;
22
+ } | undefined>;
23
+ }): import("react/jsx-runtime").JSX.Element | null;
24
+ export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
@@ -0,0 +1,6 @@
1
+ import { HoverCard as HoverCardPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function HoverCardContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
6
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -0,0 +1,16 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { Button } from './button';
3
+ import * as React from "react";
4
+ declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare const inputGroupAddonVariants: (props?: ({
6
+ align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
9
+ declare const inputGroupButtonVariants: (props?: ({
10
+ size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
12
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): import("react/jsx-runtime").JSX.Element;
13
+ declare function InputGroupText({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
14
+ declare function InputGroupInput({ className, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
15
+ declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
16
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare function Input({ className, type, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
3
+ export { Input };
@@ -0,0 +1,23 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { Separator } from './separator';
3
+ import * as React from "react";
4
+ declare function ItemGroup({ className, children, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
6
+ declare const itemVariants: (props?: ({
7
+ variant?: "default" | "outline" | "muted" | null | undefined;
8
+ size?: "default" | "sm" | "xs" | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
+ declare function Item({ className, variant, size, asChild, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
11
+ asChild?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ declare const itemMediaVariants: (props?: ({
14
+ variant?: "image" | "default" | "icon" | null | undefined;
15
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
16
+ declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): import("react/jsx-runtime").JSX.Element;
17
+ declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
18
+ declare function ItemTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
19
+ declare function ItemDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
20
+ declare function ItemActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
21
+ declare function ItemHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
22
+ declare function ItemFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
23
+ export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter, };
@@ -0,0 +1,3 @@
1
+ declare function Kbd({ className, ...props }: React.ComponentProps<"kbd">): import("react/jsx-runtime").JSX.Element;
2
+ declare function KbdGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
+ export { Kbd, KbdGroup };
@@ -0,0 +1,4 @@
1
+ import { Label as LabelPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Label };
@@ -0,0 +1,30 @@
1
+ import { Menubar as MenubarPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>): import("react/jsx-runtime").JSX.Element;
5
+ declare function MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
6
+ declare function MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
7
+ declare function MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
8
+ declare function MenubarTrigger({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
9
+ declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function MenubarItem({ className, inset, variant, ...props }: React.ComponentProps<typeof MenubarPrimitive.Item> & {
11
+ inset?: boolean;
12
+ variant?: "default" | "destructive";
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ declare function MenubarCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {
15
+ inset?: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ declare function MenubarRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {
18
+ inset?: boolean;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ declare function MenubarLabel({ className, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Label> & {
21
+ inset?: boolean;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ declare function MenubarSeparator({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
24
+ declare function MenubarShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
25
+ declare function MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
26
+ declare function MenubarSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
27
+ inset?: boolean;
28
+ }): import("react/jsx-runtime").JSX.Element;
29
+ declare function MenubarSubContent({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
30
+ export { Menubar, MenubarPortal, MenubarMenu, MenubarTrigger, MenubarContent, MenubarGroup, MenubarSeparator, MenubarLabel, MenubarItem, MenubarShortcut, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, };
@@ -0,0 +1,14 @@
1
+ import { NavigationMenu as NavigationMenuPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function NavigationMenu({ className, children, viewport, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
4
+ viewport?: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ declare function NavigationMenuList({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.List>): import("react/jsx-runtime").JSX.Element;
7
+ declare function NavigationMenuItem({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
8
+ declare const navigationMenuTriggerStyle: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
9
+ declare function NavigationMenuTrigger({ className, children, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
10
+ declare function NavigationMenuContent({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
11
+ declare function NavigationMenuViewport({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
12
+ declare function NavigationMenuLink({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
13
+ declare function NavigationMenuIndicator({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
14
+ export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, navigationMenuTriggerStyle, };
@@ -0,0 +1,7 @@
1
+ import { Popover as PopoverPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): import("react/jsx-runtime").JSX.Element;
6
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent };
@@ -0,0 +1,4 @@
1
+ import { Progress as ProgressPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Progress };
@@ -0,0 +1,5 @@
1
+ import { RadioGroup as RadioGroupPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,25 @@
1
+ import * as ResizablePrimitive from "react-resizable-panels";
2
+ declare function ResizablePanelGroup({ className, ...props }: ResizablePrimitive.GroupProps): import("react/jsx-runtime").JSX.Element;
3
+ declare function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps): import("react/jsx-runtime").JSX.Element;
4
+ /**
5
+ * Resize handle between two panels.
6
+ *
7
+ * The handle's layout footprint is a **1px divider that sits exactly on the
8
+ * panel boundary**, so the divider, the grip, and the seam between the panels
9
+ * all line up — regardless of the panels' backgrounds. A wide, transparent
10
+ * **grab area** is layered on top via `::after` (it overlaps both panels by 6px
11
+ * without taking layout space) so the handle can be grabbed anywhere in the gap,
12
+ * not just on the hairline.
13
+ *
14
+ * The 1px divider — and the optional grip (`withHandle`) — stay hidden at rest
15
+ * and **reveal on hover, keyboard focus, or while dragging** (the handle tracks
16
+ * the pointer, so it stays hovered). Keyboard focus reveals them in the `ring`
17
+ * color for a clear focus indicator. Works in both orientations.
18
+ *
19
+ * Has a default `aria-label` so the separator always has an accessible name;
20
+ * pass `aria-label` to override it with something context-specific.
21
+ */
22
+ declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
23
+ withHandle?: boolean;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -0,0 +1,5 @@
1
+ import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): import("react/jsx-runtime").JSX.Element;
5
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,15 @@
1
+ import { Select as SelectPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SelectGroup({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,4 @@
1
+ import { Separator as SeparatorPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Separator };