@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":"WellMetadataForm.cjs","sources":["../../../../src/components/composed/PlateMapEditor/WellMetadataForm.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport type { WellField, WellRecord, WellSelectOption } from \"./types\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxItem,\n ComboboxList,\n ComboboxValue,\n useComboboxAnchor,\n} from \"@/components/ui/combobox\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { cn } from \"@/lib/utils\";\n\nfunction MultiSelectControl({\n id,\n value,\n options,\n placeholder,\n onChange,\n}: {\n id: string;\n value: string[];\n options: WellSelectOption[];\n placeholder?: string;\n onChange: (next: string[]) => void;\n}) {\n const anchorRef = useComboboxAnchor();\n const labelByValue = React.useMemo(() => {\n const m = new Map<string, string>();\n options.forEach((o) => m.set(o.value, o.label));\n return m;\n }, [options]);\n\n return (\n <Combobox multiple items={options.map((o) => o.value)} value={value} onValueChange={onChange}>\n <ComboboxChips ref={anchorRef} className=\"min-h-9 w-full\">\n <ComboboxValue>\n {(items: string[]) =>\n items.map((item) => <ComboboxChip key={item}>{labelByValue.get(item) ?? item}</ComboboxChip>)\n }\n </ComboboxValue>\n <ComboboxChipsInput id={id} placeholder={placeholder ?? \"Select…\"} />\n </ComboboxChips>\n <ComboboxContent anchor={anchorRef}>\n <ComboboxEmpty>No options.</ComboboxEmpty>\n <ComboboxList>\n {(item: string) => (\n <ComboboxItem key={item} value={item}>\n <span className=\"inline-flex items-center gap-2\">\n {(() => {\n const opt = options.find((o) => o.value === item);\n return opt?.swatch ? (\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-sm border border-foreground/20\"\n style={{ backgroundColor: opt.swatch }}\n aria-hidden\n />\n ) : null;\n })()}\n {labelByValue.get(item) ?? item}\n </span>\n </ComboboxItem>\n )}\n </ComboboxList>\n </ComboboxContent>\n </Combobox>\n );\n}\n\nexport interface WellMetadataFormProps<T extends WellRecord = WellRecord> {\n fields: WellField<T>[];\n /** Staged values used to apply across the selection. */\n value: Partial<T>;\n onChange: (next: Partial<T>) => void;\n selectionSize: number;\n onApply: () => void;\n onClear: () => void;\n applyLabel?: string;\n clearLabel?: string;\n /** Optional extra slot rendered between fields and action row. */\n extras?: React.ReactNode;\n className?: string;\n}\n\nconst INPUT_TYPE_BY_KIND: Record<string, string> = {\n number: \"number\",\n integer: \"number\",\n date: \"date\",\n datetime: \"datetime-local\",\n time: \"time\",\n};\n\nfunction resolveInputType(kind: string): string {\n return INPUT_TYPE_BY_KIND[kind] ?? \"text\";\n}\n\nfunction parseInputValue(kind: string, raw: string): unknown {\n if (raw === \"\") return undefined;\n if (kind === \"number\") {\n const num = parseFloat(raw);\n return Number.isFinite(num) ? num : raw;\n }\n if (kind === \"integer\") {\n const num = parseInt(raw, 10);\n return Number.isFinite(num) ? num : raw;\n }\n return raw;\n}\n\nexport function WellMetadataForm<T extends WellRecord = WellRecord>({\n fields,\n value,\n onChange,\n selectionSize,\n onApply,\n onClear,\n applyLabel = \"Apply\",\n clearLabel = \"Clear wells\",\n extras,\n className,\n}: WellMetadataFormProps<T>) {\n const setField = (key: keyof T & string, next: unknown) => {\n onChange({ ...value, [key]: next } as Partial<T>);\n };\n\n const renderLabel = (field: WellField<T>) => (\n <Label htmlFor={`field-${field.key}`} className=\"gap-1.5\">\n {field.icon ? <span className=\"inline-flex text-muted-foreground [&_svg]:size-3.5\">{field.icon}</span> : null}\n {field.label}\n </Label>\n );\n\n const renderCustom = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n {field.render!({\n value: fieldValue,\n onChange: (next) => setField(field.key, next),\n selectionSize,\n })}\n </div>\n );\n\n const renderSelect = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <Select value={(fieldValue as string | undefined) ?? \"\"} onValueChange={(v) => setField(field.key, v)}>\n <SelectTrigger id={`field-${field.key}`} size=\"sm\" className=\"w-full\">\n <SelectValue placeholder={field.placeholder ?? \"Select…\"} />\n </SelectTrigger>\n <SelectContent>\n {(field.options ?? []).map((opt) => (\n <SelectItem key={opt.value} value={opt.value}>\n <span className=\"inline-flex items-center gap-2\">\n {opt.swatch ? (\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-sm border border-foreground/20\"\n style={{ backgroundColor: opt.swatch }}\n aria-hidden\n />\n ) : null}\n {opt.label}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n\n const renderMultiSelect = (field: WellField<T>, fieldValue: unknown) => {\n const current = Array.isArray(fieldValue) ? (fieldValue as string[]) : [];\n return (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <MultiSelectControl\n id={`field-${field.key}`}\n value={current}\n options={field.options ?? []}\n placeholder={field.placeholder}\n onChange={(next) => setField(field.key, next.length === 0 ? undefined : next)}\n />\n </div>\n );\n };\n\n const renderBoolean = (field: WellField<T>, fieldValue: unknown) => {\n const checked = !!fieldValue;\n if (field.boolStyle === \"switch\") {\n return (\n <div key={field.key} className=\"flex items-center justify-between gap-2\">\n {renderLabel(field)}\n <Switch\n id={`field-${field.key}`}\n checked={checked}\n onCheckedChange={(c) => setField(field.key, c)}\n />\n </div>\n );\n }\n return (\n <div key={field.key} className=\"flex items-center gap-2\">\n <Checkbox\n id={`field-${field.key}`}\n checked={checked}\n onCheckedChange={(c) => setField(field.key, c === true)}\n />\n {renderLabel(field)}\n </div>\n );\n };\n\n const renderInput = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <Input\n id={`field-${field.key}`}\n type={resolveInputType(field.kind)}\n step={field.kind === \"integer\" ? 1 : undefined}\n placeholder={field.placeholder}\n value={(fieldValue as string | number | undefined) ?? \"\"}\n onChange={(e) => setField(field.key, parseInputValue(field.kind, e.target.value))}\n />\n </div>\n );\n\n const renderField = (field: WellField<T>) => {\n const fieldValue = value[field.key];\n if (field.render) return renderCustom(field, fieldValue);\n if (field.kind === \"select\") return renderSelect(field, fieldValue);\n if (field.kind === \"multiselect\") return renderMultiSelect(field, fieldValue);\n if (field.kind === \"boolean\") return renderBoolean(field, fieldValue);\n return renderInput(field, fieldValue);\n };\n\n return (\n <div data-slot=\"well-metadata-form\" className={cn(\"flex flex-col gap-3\", className)}>\n <div className=\"text-sm font-medium\">\n {selectionSize > 0 ? `Apply to ${selectionSize} well${selectionSize === 1 ? \"\" : \"s\"}` : \"Select wells to edit\"}\n </div>\n\n {fields.map(renderField)}\n\n {extras}\n\n <div className=\"mt-auto flex gap-2 pt-1\">\n <Button variant=\"default\" size=\"sm\" disabled={selectionSize === 0} onClick={onApply}>\n {applyLabel}\n </Button>\n <Button variant=\"outline\" size=\"sm\" disabled={selectionSize === 0} onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n </div>\n );\n}\n"],"names":["MultiSelectControl","id","value","options","placeholder","onChange","anchorRef","useComboboxAnchor","labelByValue","React","m","o","jsxs","Combobox","ComboboxChips","jsx","ComboboxValue","items","item","ComboboxChip","ComboboxChipsInput","ComboboxContent","ComboboxEmpty","ComboboxList","ComboboxItem","opt","INPUT_TYPE_BY_KIND","resolveInputType","kind","parseInputValue","raw","num","WellMetadataForm","fields","selectionSize","onApply","onClear","applyLabel","clearLabel","extras","className","setField","key","next","renderLabel","field","Label","renderCustom","fieldValue","renderSelect","Select","v","SelectTrigger","SelectValue","SelectContent","SelectItem","renderMultiSelect","current","renderBoolean","checked","Switch","c","Checkbox","renderInput","Input","e","renderField","cn","Button"],"mappings":"+qBAwBA,SAASA,EAAmB,CAC1B,GAAAC,EACA,MAAAC,EACA,QAAAC,EACA,YAAAC,EACA,SAAAC,CACF,EAMG,CACD,MAAMC,EAAYC,EAAAA,kBAAA,EACZC,EAAeC,EAAM,QAAQ,IAAM,CACvC,MAAMC,MAAQ,IACd,OAAAP,EAAQ,QAASQ,GAAMD,EAAE,IAAIC,EAAE,MAAOA,EAAE,KAAK,CAAC,EACvCD,CACT,EAAG,CAACP,CAAO,CAAC,EAEZ,OACES,EAAAA,KAACC,EAAAA,SAAA,CAAS,SAAQ,GAAC,MAAOV,EAAQ,IAAKQ,GAAMA,EAAE,KAAK,EAAG,MAAAT,EAAc,cAAeG,EAClF,SAAA,CAAAO,EAAAA,KAACE,EAAAA,cAAA,CAAc,IAAKR,EAAW,UAAU,iBACvC,SAAA,CAAAS,MAACC,EAAAA,eACE,SAACC,GACAA,EAAM,IAAKC,GAASH,EAAAA,IAACI,EAAAA,aAAA,CAAyB,SAAAX,EAAa,IAAIU,CAAI,GAAKA,CAAA,EAAjCA,CAAsC,CAAe,EAEhG,EACAH,EAAAA,IAACK,EAAAA,mBAAA,CAAmB,GAAAnB,EAAQ,YAAaG,GAAe,SAAA,CAAW,CAAA,EACrE,EACAQ,EAAAA,KAACS,EAAAA,gBAAA,CAAgB,OAAQf,EACvB,SAAA,CAAAS,EAAAA,IAACO,EAAAA,eAAc,SAAA,aAAA,CAAW,EAC1BP,EAAAA,IAACQ,EAAAA,aAAA,CACE,SAACL,GACAH,EAAAA,IAACS,eAAA,CAAwB,MAAON,EAC9B,SAAAN,OAAC,OAAA,CAAK,UAAU,iCACZ,SAAA,EAAA,IAAM,CACN,MAAMa,EAAMtB,EAAQ,KAAMQ,GAAMA,EAAE,QAAUO,CAAI,EAChD,OAAOO,GAAK,OACVV,EAAAA,IAAC,OAAA,CACC,UAAU,kEACV,MAAO,CAAE,gBAAiBU,EAAI,MAAA,EAC9B,cAAW,EAAA,CAAA,EAEX,IACN,GAAA,EACCjB,EAAa,IAAIU,CAAI,GAAKA,CAAA,EAC7B,CAAA,EAbiBA,CAcnB,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,EACF,CAEJ,CAiBA,MAAMQ,EAA6C,CACjD,OAAQ,SACR,QAAS,SACT,KAAM,OACN,SAAU,iBACV,KAAM,MACR,EAEA,SAASC,EAAiBC,EAAsB,CAC9C,OAAOF,EAAmBE,CAAI,GAAK,MACrC,CAEA,SAASC,EAAgBD,EAAcE,EAAsB,CAC3D,GAAIA,IAAQ,GACZ,IAAIF,IAAS,SAAU,CACrB,MAAMG,EAAM,WAAWD,CAAG,EAC1B,OAAO,OAAO,SAASC,CAAG,EAAIA,EAAMD,CACtC,CACA,GAAIF,IAAS,UAAW,CACtB,MAAMG,EAAM,SAASD,EAAK,EAAE,EAC5B,OAAO,OAAO,SAASC,CAAG,EAAIA,EAAMD,CACtC,CACA,OAAOA,EACT,CAEO,SAASE,EAAoD,CAClE,OAAAC,EACA,MAAA/B,EACA,SAAAG,EACA,cAAA6B,EACA,QAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,QACb,WAAAC,EAAa,cACb,OAAAC,EACA,UAAAC,CACF,EAA6B,CAC3B,MAAMC,EAAW,CAACC,EAAuBC,IAAkB,CACzDtC,EAAS,CAAE,GAAGH,EAAO,CAACwC,CAAG,EAAGC,EAAoB,CAClD,EAEMC,EAAeC,GACnBjC,EAAAA,KAACkC,EAAAA,MAAA,CAAM,QAAS,SAASD,EAAM,GAAG,GAAI,UAAU,UAC7C,SAAA,CAAAA,EAAM,KAAO9B,MAAC,OAAA,CAAK,UAAU,qDAAsD,SAAA8B,EAAM,KAAK,EAAU,KACxGA,EAAM,KAAA,EACT,EAGIE,EAAe,CAACF,EAAqBG,IACzCpC,EAAAA,KAAC,MAAA,CAAoB,UAAU,wBAC5B,SAAA,CAAAgC,EAAYC,CAAK,EACjBA,EAAM,OAAQ,CACb,MAAOG,EACP,SAAWL,GAASF,EAASI,EAAM,IAAKF,CAAI,EAC5C,cAAAT,CAAA,CACD,CAAA,CAAA,EANOW,EAAM,GAOhB,EAGII,EAAe,CAACJ,EAAqBG,IACzCpC,EAAAA,KAAC,MAAA,CAAoB,UAAU,wBAC5B,SAAA,CAAAgC,EAAYC,CAAK,EAClBjC,EAAAA,KAACsC,EAAAA,OAAA,CAAO,MAAQF,GAAqC,GAAI,cAAgBG,GAAMV,EAASI,EAAM,IAAKM,CAAC,EAClG,SAAA,CAAApC,MAACqC,EAAAA,eAAc,GAAI,SAASP,EAAM,GAAG,GAAI,KAAK,KAAK,UAAU,SAC3D,eAACQ,cAAA,CAAY,YAAaR,EAAM,aAAe,UAAW,EAC5D,QACCS,EAAAA,cAAA,CACG,UAAAT,EAAM,SAAW,IAAI,IAAKpB,GAC1BV,EAAAA,IAACwC,EAAAA,YAA2B,MAAO9B,EAAI,MACrC,SAAAb,OAAC,OAAA,CAAK,UAAU,iCACb,SAAA,CAAAa,EAAI,OACHV,EAAAA,IAAC,OAAA,CACC,UAAU,kEACV,MAAO,CAAE,gBAAiBU,EAAI,MAAA,EAC9B,cAAW,EAAA,CAAA,EAEX,KACHA,EAAI,KAAA,CAAA,CACP,CAAA,EAVeA,EAAI,KAWrB,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CAAA,EAtBQoB,EAAM,GAuBhB,EAGIW,EAAoB,CAACX,EAAqBG,IAAwB,CACtE,MAAMS,EAAU,MAAM,QAAQT,CAAU,EAAKA,EAA0B,CAAA,EACvE,OACEpC,EAAAA,KAAC,MAAA,CAAoB,UAAU,wBAC5B,SAAA,CAAAgC,EAAYC,CAAK,EAClB9B,EAAAA,IAACf,EAAA,CACC,GAAI,SAAS6C,EAAM,GAAG,GACtB,MAAOY,EACP,QAASZ,EAAM,SAAW,CAAA,EAC1B,YAAaA,EAAM,YACnB,SAAWF,GAASF,EAASI,EAAM,IAAKF,EAAK,SAAW,EAAI,OAAYA,CAAI,CAAA,CAAA,CAC9E,CAAA,EARQE,EAAM,GAShB,CAEJ,EAEMa,EAAgB,CAACb,EAAqBG,IAAwB,CAClE,MAAMW,EAAU,CAAC,CAACX,EAClB,OAAIH,EAAM,YAAc,SAEpBjC,EAAAA,KAAC,MAAA,CAAoB,UAAU,0CAC5B,SAAA,CAAAgC,EAAYC,CAAK,EAClB9B,EAAAA,IAAC6C,EAAAA,OAAA,CACC,GAAI,SAASf,EAAM,GAAG,GACtB,QAAAc,EACA,gBAAkBE,GAAMpB,EAASI,EAAM,IAAKgB,CAAC,CAAA,CAAA,CAC/C,CAAA,EANQhB,EAAM,GAOhB,EAIFjC,EAAAA,KAAC,MAAA,CAAoB,UAAU,0BAC7B,SAAA,CAAAG,EAAAA,IAAC+C,EAAAA,SAAA,CACC,GAAI,SAASjB,EAAM,GAAG,GACtB,QAAAc,EACA,gBAAkBE,GAAMpB,EAASI,EAAM,IAAKgB,IAAM,EAAI,CAAA,CAAA,EAEvDjB,EAAYC,CAAK,CAAA,CAAA,EANVA,EAAM,GAOhB,CAEJ,EAEMkB,EAAc,CAAClB,EAAqBG,IACxCpC,EAAAA,KAAC,MAAA,CAAoB,UAAU,wBAC5B,SAAA,CAAAgC,EAAYC,CAAK,EAClB9B,EAAAA,IAACiD,EAAAA,MAAA,CACC,GAAI,SAASnB,EAAM,GAAG,GACtB,KAAMlB,EAAiBkB,EAAM,IAAI,EACjC,KAAMA,EAAM,OAAS,UAAY,EAAI,OACrC,YAAaA,EAAM,YACnB,MAAQG,GAA8C,GACtD,SAAWiB,GAAMxB,EAASI,EAAM,IAAKhB,EAAgBgB,EAAM,KAAMoB,EAAE,OAAO,KAAK,CAAC,CAAA,CAAA,CAClF,CAAA,EATQpB,EAAM,GAUhB,EAGIqB,EAAerB,GAAwB,CAC3C,MAAMG,EAAa9C,EAAM2C,EAAM,GAAG,EAClC,OAAIA,EAAM,OAAeE,EAAaF,EAAOG,CAAU,EACnDH,EAAM,OAAS,SAAiBI,EAAaJ,EAAOG,CAAU,EAC9DH,EAAM,OAAS,cAAsBW,EAAkBX,EAAOG,CAAU,EACxEH,EAAM,OAAS,UAAkBa,EAAcb,EAAOG,CAAU,EAC7De,EAAYlB,EAAOG,CAAU,CACtC,EAEA,OACEpC,OAAC,OAAI,YAAU,qBAAqB,UAAWuD,EAAAA,GAAG,sBAAuB3B,CAAS,EAChF,SAAA,CAAAzB,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACZ,SAAAmB,EAAgB,EAAI,YAAYA,CAAa,QAAQA,IAAkB,EAAI,GAAK,GAAG,GAAK,uBAC3F,EAECD,EAAO,IAAIiC,CAAW,EAEtB3B,EAED3B,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAG,EAAAA,IAACqD,EAAAA,OAAA,CAAO,QAAQ,UAAU,KAAK,KAAK,SAAUlC,IAAkB,EAAG,QAASC,EACzE,SAAAE,CAAA,CACH,EACAtB,EAAAA,IAACqD,EAAAA,OAAA,CAAO,QAAQ,UAAU,KAAK,KAAK,SAAUlC,IAAkB,EAAG,QAASE,EACzE,SAAAE,CAAA,CACH,CAAA,CAAA,CACF,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"WellMetadataForm.cjs","sources":["../../../../src/components/composed/PlateMapEditor/WellMetadataForm.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport type { WellField, WellRecord, WellSelectOption } from \"./types\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxItem,\n ComboboxList,\n ComboboxValue,\n useComboboxAnchor,\n} from \"@/components/ui/combobox\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { cn } from \"@/lib/utils\";\n\nfunction MultiSelectControl({\n id,\n value,\n options,\n placeholder,\n onChange,\n}: {\n id: string;\n value: string[];\n options: WellSelectOption[];\n placeholder?: string;\n onChange: (next: string[]) => void;\n}) {\n const anchorRef = useComboboxAnchor();\n const labelByValue = React.useMemo(() => {\n const m = new Map<string, string>();\n options.forEach((o) => m.set(o.value, o.label));\n return m;\n }, [options]);\n\n return (\n <Combobox multiple items={options.map((o) => o.value)} value={value} onValueChange={onChange}>\n <ComboboxChips ref={anchorRef} className=\"min-h-9 w-full\">\n <ComboboxValue>\n {(items: string[]) =>\n items.map((item) => <ComboboxChip key={item}>{labelByValue.get(item) ?? item}</ComboboxChip>)\n }\n </ComboboxValue>\n <ComboboxChipsInput id={id} placeholder={placeholder ?? \"Select…\"} />\n </ComboboxChips>\n <ComboboxContent anchor={anchorRef}>\n <ComboboxEmpty>No options.</ComboboxEmpty>\n <ComboboxList>\n {(item: string) => (\n <ComboboxItem key={item} value={item}>\n <span className=\"inline-flex items-center gap-2\">\n {(() => {\n const opt = options.find((o) => o.value === item);\n return opt?.swatch ? (\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-sm border border-foreground/20\"\n style={{ backgroundColor: opt.swatch }}\n aria-hidden\n />\n ) : null;\n })()}\n {labelByValue.get(item) ?? item}\n </span>\n </ComboboxItem>\n )}\n </ComboboxList>\n </ComboboxContent>\n </Combobox>\n );\n}\n\nexport interface WellMetadataFormProps<T extends WellRecord = WellRecord> {\n fields: WellField<T>[];\n /** Staged values used to apply across the selection. */\n value: Partial<T>;\n onChange: (next: Partial<T>) => void;\n selectionSize: number;\n onApply: () => void;\n onClear: () => void;\n applyLabel?: string;\n clearLabel?: string;\n /** Optional extra slot rendered between fields and action row. */\n extras?: React.ReactNode;\n className?: string;\n}\n\nconst INPUT_TYPE_BY_KIND: Record<string, string> = {\n number: \"number\",\n integer: \"number\",\n date: \"date\",\n datetime: \"datetime-local\",\n time: \"time\",\n};\n\nfunction resolveInputType(kind: string): string {\n return INPUT_TYPE_BY_KIND[kind] ?? \"text\";\n}\n\nfunction parseInputValue(kind: string, raw: string): unknown {\n if (raw === \"\") return undefined;\n if (kind === \"number\") {\n const num = parseFloat(raw);\n return Number.isFinite(num) ? num : raw;\n }\n if (kind === \"integer\") {\n const num = parseInt(raw, 10);\n return Number.isFinite(num) ? num : raw;\n }\n return raw;\n}\n\nexport function WellMetadataForm<T extends WellRecord = WellRecord>({\n fields,\n value,\n onChange,\n selectionSize,\n onApply,\n onClear,\n applyLabel = \"Apply\",\n clearLabel = \"Clear wells\",\n extras,\n className,\n}: WellMetadataFormProps<T>) {\n const setField = (key: keyof T & string, next: unknown) => {\n onChange({ ...value, [key]: next } as Partial<T>);\n };\n\n const renderLabel = (field: WellField<T>) => (\n <Label htmlFor={`field-${field.key}`} className=\"gap-1.5\">\n {field.icon ? <span className=\"inline-flex text-muted-foreground [&_svg]:size-3.5\">{field.icon}</span> : null}\n {field.label}\n </Label>\n );\n\n const renderCustom = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n {field.render!({\n value: fieldValue,\n onChange: (next) => setField(field.key, next),\n selectionSize,\n })}\n </div>\n );\n\n const renderSelect = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <Select value={(fieldValue as string | undefined) ?? \"\"} onValueChange={(v) => setField(field.key, v)}>\n <SelectTrigger id={`field-${field.key}`} size=\"sm\" className=\"w-full\">\n <SelectValue placeholder={field.placeholder ?? \"Select…\"} />\n </SelectTrigger>\n <SelectContent>\n {(field.options ?? []).map((opt) => (\n <SelectItem key={opt.value} value={opt.value}>\n <span className=\"inline-flex items-center gap-2\">\n {opt.swatch ? (\n <span\n className=\"inline-block h-2.5 w-2.5 rounded-sm border border-foreground/20\"\n style={{ backgroundColor: opt.swatch }}\n aria-hidden\n />\n ) : null}\n {opt.label}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n\n const renderMultiSelect = (field: WellField<T>, fieldValue: unknown) => {\n const current = Array.isArray(fieldValue) ? (fieldValue as string[]) : [];\n return (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <MultiSelectControl\n id={`field-${field.key}`}\n value={current}\n options={field.options ?? []}\n placeholder={field.placeholder}\n onChange={(next) => setField(field.key, next.length === 0 ? undefined : next)}\n />\n </div>\n );\n };\n\n const renderBoolean = (field: WellField<T>, fieldValue: unknown) => {\n const checked = !!fieldValue;\n if (field.boolStyle === \"switch\") {\n return (\n <div key={field.key} className=\"flex items-center justify-between gap-2\">\n {renderLabel(field)}\n <Switch\n id={`field-${field.key}`}\n checked={checked}\n onCheckedChange={(c) => setField(field.key, c)}\n />\n </div>\n );\n }\n return (\n <div key={field.key} className=\"flex items-center gap-2\">\n <Checkbox\n id={`field-${field.key}`}\n checked={checked}\n onCheckedChange={(c) => setField(field.key, c === true)}\n />\n {renderLabel(field)}\n </div>\n );\n };\n\n const renderInput = (field: WellField<T>, fieldValue: unknown) => (\n <div key={field.key} className=\"flex flex-col gap-1.5\">\n {renderLabel(field)}\n <Input\n id={`field-${field.key}`}\n type={resolveInputType(field.kind)}\n step={field.kind === \"integer\" ? 1 : undefined}\n placeholder={field.placeholder}\n value={(fieldValue as string | number | undefined) ?? \"\"}\n onChange={(e) => setField(field.key, parseInputValue(field.kind, e.target.value))}\n />\n </div>\n );\n\n const renderField = (field: WellField<T>) => {\n const fieldValue = value[field.key];\n if (field.render) return renderCustom(field, fieldValue);\n if (field.kind === \"select\") return renderSelect(field, fieldValue);\n if (field.kind === \"multiselect\") return renderMultiSelect(field, fieldValue);\n if (field.kind === \"boolean\") return renderBoolean(field, fieldValue);\n return renderInput(field, fieldValue);\n };\n\n return (\n <div data-slot=\"well-metadata-form\" className={cn(\"flex flex-col gap-3\", className)}>\n <div className=\"text-sm font-medium\">\n {selectionSize > 0 ? `Apply to ${selectionSize} well${selectionSize === 1 ? \"\" : \"s\"}` : \"Select wells to edit\"}\n </div>\n\n {fields.map(renderField)}\n\n {extras}\n\n <div className=\"mt-auto flex gap-2 pt-1\">\n <Button variant=\"default\" size=\"sm\" disabled={selectionSize === 0} onClick={onApply}>\n {applyLabel}\n </Button>\n <Button variant=\"outline\" size=\"sm\" disabled={selectionSize === 0} onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n </div>\n );\n}\n"],"names":["MultiSelectControl","id","value","options","placeholder","onChange","anchorRef","useComboboxAnchor","labelByValue","React","m","o","jsxs","Combobox","ComboboxChips","jsx","ComboboxValue","items","item","ComboboxChip","ComboboxChipsInput","ComboboxContent","ComboboxEmpty","ComboboxList","ComboboxItem","opt","INPUT_TYPE_BY_KIND","resolveInputType","kind","parseInputValue","raw","num","WellMetadataForm","fields","selectionSize","onApply","onClear","applyLabel","clearLabel","extras","className","setField","key","next","renderLabel","field","Label","renderCustom","fieldValue","renderSelect","Select","v","SelectTrigger","SelectValue","SelectContent","SelectItem","renderMultiSelect","current","renderBoolean","checked","Switch","c","Checkbox","renderInput","Input","e","renderField","cn","Button"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { WellField, WellRecord } from './types';
2
+ import * as React from "react";
3
+ export interface WellMetadataFormProps<T extends WellRecord = WellRecord> {
4
+ fields: WellField<T>[];
5
+ /** Staged values used to apply across the selection. */
6
+ value: Partial<T>;
7
+ onChange: (next: Partial<T>) => void;
8
+ selectionSize: number;
9
+ onApply: () => void;
10
+ onClear: () => void;
11
+ applyLabel?: string;
12
+ clearLabel?: string;
13
+ /** Optional extra slot rendered between fields and action row. */
14
+ extras?: React.ReactNode;
15
+ className?: string;
16
+ }
17
+ export declare function WellMetadataForm<T extends WellRecord = WellRecord>({ fields, value, onChange, selectionSize, onApply, onClear, applyLabel, clearLabel, extras, className, }: WellMetadataFormProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import { jsxs as o, jsx as n } from "react/jsx-runtime";
2
2
  import * as I from "react";
3
- import { Button as x } from "../../ui/button.js";
4
- import { Checkbox as S } from "../../ui/checkbox.js";
5
- import { useComboboxAnchor as $, Combobox as F, ComboboxChips as V, ComboboxValue as A, ComboboxChip as M, ComboboxChipsInput as B, ComboboxContent as T, ComboboxEmpty as _, ComboboxList as j, ComboboxItem as E } from "../../ui/combobox.js";
6
- import { Input as L } from "../../ui/input.js";
7
- import { Label as P } from "../../ui/label.js";
8
- import { Select as R, SelectTrigger as Y, SelectValue as D, SelectContent as K, SelectItem as U } from "../../ui/select.js";
9
- import { Switch as W } from "../../ui/switch.js";
3
+ import { Button as x } from "../../../ui/button.js";
4
+ import { Checkbox as S } from "../../../ui/checkbox.js";
5
+ import { useComboboxAnchor as $, Combobox as F, ComboboxChips as V, ComboboxValue as A, ComboboxChip as M, ComboboxChipsInput as B, ComboboxContent as T, ComboboxEmpty as _, ComboboxList as j, ComboboxItem as E } from "../../../ui/combobox.js";
6
+ import { Input as L } from "../../../ui/input.js";
7
+ import { Label as P } from "../../../ui/label.js";
8
+ import { Select as R, SelectTrigger as Y, SelectValue as D, SelectContent as K, SelectItem as U } from "../../../ui/select.js";
9
+ import { Switch as W } from "../../../ui/switch.js";
10
10
  import { cn as q } from "../../../lib/utils.js";
11
11
  function G({
12
12
  id: i,
@@ -0,0 +1,26 @@
1
+ import { PlateDimensions, WellId } from './types';
2
+ export type FillStrategy = "row-major" | "column-major" | "row-snake" | "column-snake";
3
+ export interface AutoFillOptions {
4
+ dims: PlateDimensions;
5
+ /** Number of distinct items to place. Each is repeated `replicates` times. */
6
+ count: number;
7
+ /** First well in fill order. Defaults to position (0,0). */
8
+ startWellId?: WellId;
9
+ /** Traversal strategy. Defaults to `"row-major"`. */
10
+ strategy?: FillStrategy;
11
+ /** Consecutive cells assigned per item. Defaults to 1. */
12
+ replicates?: number;
13
+ }
14
+ /**
15
+ * Compute the ordered list of well ids to assign to `count` items (each
16
+ * repeated `replicates` times) starting from `startWellId`. Returns at most
17
+ * `dims.rows * dims.columns` ids — overflow is silently truncated so callers
18
+ * can paginate onto multiple plates themselves.
19
+ */
20
+ export declare function autoFillPositions(options: AutoFillOptions): WellId[];
21
+ /**
22
+ * Convenience wrapper: assigns each input item to `replicates` consecutive
23
+ * wells, returning a `Map<WellId, T>`. The mapper builds the record stored at
24
+ * each well (e.g. stamp item-specific fields onto a base record).
25
+ */
26
+ export declare function autoFillRecords<T>(items: T[], buildRecord: (item: T, index: number, wellId: WellId) => T, options: Omit<AutoFillOptions, "count">): Map<WellId, T>;
@@ -0,0 +1,4 @@
1
+ import { PlateMapCsvTriage, PlateMapCsvTriageOptions, PlateMapPlateOption } from './types';
2
+ export declare function triagePlateMapCsvByBarcode(text: string, options?: PlateMapCsvTriageOptions): PlateMapCsvTriage;
3
+ export declare function plateOptionsFromCsvTriage(triage: PlateMapCsvTriage): PlateMapPlateOption[];
4
+ export declare function triagePlateMapCsvFile(file: File, options?: PlateMapCsvTriageOptions): Promise<PlateMapCsvTriage | undefined>;
@@ -0,0 +1,2 @@
1
+ import { TemplateOption } from './types';
2
+ export declare function groupTemplateOptions(templates: TemplateOption[] | undefined): [string, TemplateOption[]][];
@@ -0,0 +1,31 @@
1
+ export { PlateMapEditor, getPlateMapScopedWellId } from './PlateMapEditor';
2
+ export type { PlateMapEditorProps } from './PlateMapEditor';
3
+ export { PlateMapForm } from './PlateMapForm';
4
+ export type { PlateMapFormProps } from './PlateMapForm';
5
+ export { PlateMapGrid } from './PlateMapGrid';
6
+ export type { PlateMapGridProps } from './PlateMapGrid';
7
+ export { PlateMapManifest } from './PlateMapManifest';
8
+ export type { PlateMapManifestProps } from './PlateMapManifest';
9
+ export { PlateMapActionsMenu } from './PlateMapActionsMenu';
10
+ export type { PlateMapActionsMenuProps } from './PlateMapActionsMenu';
11
+ export { PlateMapPlateSelector } from './PlateMapPlateSelector';
12
+ export type { PlateMapPlateSelectorProps, PlateMapPlateSelectorVariant } from './PlateMapPlateSelector';
13
+ export { PlatePaintGrid } from './PlatePaintGrid';
14
+ export type { PlatePaintGridProps, WellShape } from './PlatePaintGrid';
15
+ export { WellMetadataForm } from './WellMetadataForm';
16
+ export type { WellMetadataFormProps } from './WellMetadataForm';
17
+ export { WellManifestTable } from './WellManifestTable';
18
+ export type { WellManifestTableProps, WellManifestTableRowContext } from './WellManifestTable';
19
+ export { TemplateIOPanel } from './TemplateIOPanel';
20
+ export type { TemplateIOPanelProps } from './TemplateIOPanel';
21
+ export { plateOptionsFromCsvTriage, triagePlateMapCsvByBarcode, triagePlateMapCsvFile } from './csvPlateTriage';
22
+ export { ManifestFilterPopover } from './ManifestFilterPopover';
23
+ export type { ManifestFilterPopoverProps } from './ManifestFilterPopover';
24
+ export { WellLegend } from './WellLegend';
25
+ export type { WellLegendItem, WellLegendProps } from './WellLegend';
26
+ export { PlateZoomControl } from './PlateZoomControl';
27
+ export type { PlateZoomControlProps } from './PlateZoomControl';
28
+ export { autoFillPositions, autoFillRecords } from './autoFill';
29
+ export type { AutoFillOptions, FillStrategy } from './autoFill';
30
+ export type { PlateDimensions, PlateMapCsvPlate, PlateMapCsvRow, PlateMapCsvTriage, PlateMapCsvTriageOptions, WellId, WellRecord, WellField, WellFieldKind, WellSelectOption, WellColumn, TemplateOption, ImportExportHandlers, PlateMapGroupOption, PlateMapPlateOption, } from './types';
31
+ export { resolveDimensions, rowLabel, parseRowLabel, pos, parsePos, rectPositions, allPositions } from './wellGrid';
@@ -0,0 +1,137 @@
1
+ import { PlateFormat } from '../../charts/PlateMap';
2
+ import type * as React from "react";
3
+ export type { PlateFormat };
4
+ export type WellId = string;
5
+ /**
6
+ * Generic per-well record. Callers supply concrete shape via the `T` generic
7
+ * on `PlateMapEditor`. Permissive base accepts both interfaces and indexable
8
+ * record types.
9
+ */
10
+ export type WellRecord = NonNullable<unknown>;
11
+ /**
12
+ * Field kinds rendered by `WellMetadataForm` and (when `editableInTable`) by
13
+ * `WellManifestTable`.
14
+ */
15
+ export type WellFieldKind = "text" | "number" | "integer" | "boolean" | "date" | "datetime" | "time" | "select" | "multiselect" | "custom";
16
+ export interface WellSelectOption {
17
+ value: string;
18
+ label: string;
19
+ /** Optional swatch color shown next to the label. */
20
+ swatch?: string;
21
+ }
22
+ export interface WellField<T extends WellRecord = WellRecord> {
23
+ /** Key in the well record this field reads/writes. */
24
+ key: keyof T & string;
25
+ label: string;
26
+ /** Optional leading icon shown in form labels and matching table headers. */
27
+ icon?: React.ReactNode;
28
+ kind: WellFieldKind;
29
+ placeholder?: string;
30
+ /** Required for `kind: "select"` and `kind: "multiselect"`. */
31
+ options?: WellSelectOption[];
32
+ /** Visual style for `kind: "boolean"`. Defaults to `"checkbox"`. */
33
+ boolStyle?: "checkbox" | "switch";
34
+ /**
35
+ * When true, matching `WellManifestTable` cells render an inline editor of
36
+ * this field's `kind` (mirroring the form). Defaults to false — cells stay
37
+ * read-only unless the developer opts in or supplies `WellColumn.render`.
38
+ */
39
+ editableInTable?: boolean;
40
+ /**
41
+ * Custom renderer for the form input. Receives current value and a setter
42
+ * that patches the field on the staged form record.
43
+ */
44
+ render?: (ctx: {
45
+ value: unknown;
46
+ onChange: (next: unknown) => void;
47
+ selectionSize: number;
48
+ }) => React.ReactNode;
49
+ }
50
+ export interface WellColumn<T extends WellRecord = WellRecord> {
51
+ /** Stable id; falls back to `field` if omitted. */
52
+ id?: string;
53
+ header: string;
54
+ /** Optional leading icon in the table header. */
55
+ icon?: React.ReactNode;
56
+ /** Read direct property when `field` is set. */
57
+ field?: keyof T & string;
58
+ /** Min width in px (applied via inline style). */
59
+ minWidth?: number;
60
+ /**
61
+ * Cell renderer. If omitted, the cell renders a display value. `select`
62
+ * fields render as badge-style custom cells using the matching option label.
63
+ */
64
+ render?: (ctx: {
65
+ row: T;
66
+ wellId: WellId;
67
+ update: (patch: Partial<T>) => void;
68
+ }) => React.ReactNode;
69
+ }
70
+ export interface TemplateOption {
71
+ id: string;
72
+ label: string;
73
+ /** Optional group header in the dropdown (e.g. "Built-in", "User"). */
74
+ group?: string;
75
+ /** Optional supporting text for richer chooser menus. */
76
+ description?: string;
77
+ disabled?: boolean;
78
+ }
79
+ export interface PlateMapPlateOption {
80
+ /** Stable plate id. For imported CSVs this should be the user-provided barcode. */
81
+ id: string;
82
+ /** User-provided plate barcode. Barcodes are never generated by the editor. */
83
+ barcode: string;
84
+ /** Optional display label when it differs from the barcode. */
85
+ label?: string;
86
+ /** Optional count shown beside the plate pill, usually imported row/well count. */
87
+ count?: number;
88
+ disabled?: boolean;
89
+ }
90
+ export interface PlateMapCsvRow {
91
+ /** 1-based CSV line number, including the header line. */
92
+ line: number;
93
+ values: Record<string, string>;
94
+ }
95
+ export interface PlateMapCsvPlate {
96
+ /** User-provided plate barcode used as the selectable plate id. */
97
+ id: string;
98
+ barcode: string;
99
+ rows: PlateMapCsvRow[];
100
+ rowCount: number;
101
+ }
102
+ export interface PlateMapCsvTriage {
103
+ headers: string[];
104
+ /** Resolved header name for the plate barcode column, when present. */
105
+ plateBarcodeColumn?: string;
106
+ rows: PlateMapCsvRow[];
107
+ plates: PlateMapCsvPlate[];
108
+ /** Rows missing a barcode. The editor does not create fallback barcodes. */
109
+ missingBarcodeRows: PlateMapCsvRow[];
110
+ }
111
+ export interface PlateMapCsvTriageOptions {
112
+ /** Exact column name to use before trying aliases. */
113
+ plateBarcodeColumn?: string;
114
+ /** Additional accepted names for the plate barcode column. */
115
+ plateBarcodeColumnAliases?: readonly string[];
116
+ }
117
+ export interface ImportExportHandlers {
118
+ onImportCsv?: (file: File, triage?: PlateMapCsvTriage) => void | Promise<void>;
119
+ onExportCsv?: () => void;
120
+ onImportTemplate?: (file: File) => void | Promise<void>;
121
+ onExportTemplate?: () => void;
122
+ }
123
+ export interface PlateDimensions {
124
+ rows: number;
125
+ columns: number;
126
+ }
127
+ export interface PlateMapGroupOption {
128
+ id: string;
129
+ label: string;
130
+ /** Well ids in the group; callers can use this to select the group. */
131
+ wellIds?: WellId[];
132
+ /** Optional explicit count; defaults to `wellIds.length` when present. */
133
+ count?: number;
134
+ color?: string;
135
+ borderColor?: string;
136
+ disabled?: boolean;
137
+ }
@@ -0,0 +1,12 @@
1
+ import { PlateDimensions, PlateFormat, WellId } from './types';
2
+ export declare function resolveDimensions(format: PlateFormat, rows?: number, columns?: number): PlateDimensions;
3
+ /** Letter for a row index. Supports A-Z then AA-ZZ for 1536-format plates. */
4
+ export declare function rowLabel(row: number): string;
5
+ export declare function parseRowLabel(label: string): number;
6
+ export declare function pos(row: number, col: number, columns: number): WellId;
7
+ export declare function parsePos(id: WellId, dims: PlateDimensions): {
8
+ row: number;
9
+ col: number;
10
+ } | null;
11
+ export declare function rectPositions(r0: number, c0: number, r1: number, c1: number, columns: number): WellId[];
12
+ export declare function allPositions(dims: PlateDimensions): WellId[];
@@ -0,0 +1,32 @@
1
+ import { ProcessFlowConnection, ProcessFlowOrientation, ProcessFlowSize, ProcessFlowStep, ProcessFlowStepStatus } from './ProcessFlow.utils';
2
+ import { ComponentPropsWithoutRef, MouseEvent } from 'react';
3
+ export { PROCESS_FLOW_STEP_STATUSES } from './ProcessFlow.utils';
4
+ export type { ProcessFlowConnection, ProcessFlowOrientation, ProcessFlowSize, ProcessFlowStep, ProcessFlowStepConfig, ProcessFlowStepPosition, ProcessFlowStepStatus, ProcessStep, ProcessStepStatus, } from './ProcessFlow.utils';
5
+ export interface ProcessFlowStepSelectDetails {
6
+ /** Zero-based index of the selected step in the steps prop. */
7
+ stepIndex: number;
8
+ /** Current visual status of the selected step. */
9
+ status: ProcessFlowStepStatus;
10
+ nativeEvent: MouseEvent<HTMLButtonElement>;
11
+ }
12
+ /**
13
+ * Presentational process flow.
14
+ *
15
+ * ProcessFlow is fully controlled by props. It visualizes parent-owned workflow state and emits user selection through
16
+ * onStepSelect. It intentionally does not own status transitions or fire completion/error side effects.
17
+ */
18
+ export interface ProcessFlowProps extends Omit<ComponentPropsWithoutRef<"nav">, "onSelect"> {
19
+ /** Ordered list of steps to render. Each step controls its own visual status. */
20
+ steps: ProcessFlowStep[];
21
+ /** Optional explicit connections for branching/configurable flows. */
22
+ connections?: ProcessFlowConnection[];
23
+ /** Selected/viewed step id. This is separate from the active workflow status. */
24
+ selectedStepId?: string;
25
+ /** Called when a selectable step is clicked. Disabled and non-selectable steps do not call this. */
26
+ onStepSelect?: (step: ProcessFlowStep, details: ProcessFlowStepSelectDetails) => void;
27
+ orientation?: ProcessFlowOrientation;
28
+ size?: ProcessFlowSize;
29
+ /** Defaults to true. Set to false to hide step descriptions. */
30
+ showDescriptions?: boolean;
31
+ }
32
+ export declare function ProcessFlow({ steps, connections, selectedStepId, onStepSelect, orientation, size, showDescriptions, className, style, "aria-label": ariaLabel, ...props }: ProcessFlowProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,86 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Runtime list of the visual states supported by ProcessFlow steps.
4
+ * Use this for controls, schemas, and forms that need to present the same status values the component understands.
5
+ */
6
+ export declare const PROCESS_FLOW_STEP_STATUSES: readonly ["pending", "active", "completed", "error", "disabled"];
7
+ /**
8
+ * Visual state for a ProcessFlow step.
9
+ *
10
+ * The parent application owns this state. ProcessFlow renders the provided status and does not run workflow side effects.
11
+ */
12
+ export type ProcessFlowStepStatus = (typeof PROCESS_FLOW_STEP_STATUSES)[number];
13
+ export type ProcessStepStatus = ProcessFlowStepStatus;
14
+ /** Direction for linear process flows. Branching flows are configured with step positions and connections. */
15
+ export type ProcessFlowOrientation = "horizontal" | "vertical";
16
+ /** Visual density of the process flow. */
17
+ export type ProcessFlowSize = "default" | "compact";
18
+ export type ProcessFlowDescriptionVisibility = "auto" | "hidden" | "visible";
19
+ export interface ProcessFlowStepPosition {
20
+ /** Zero-based row used when rendering a simple branching/configurable flow. */
21
+ row?: number;
22
+ /** Zero-based column used when rendering a simple branching/configurable flow. */
23
+ column?: number;
24
+ }
25
+ /**
26
+ * Configurable step rendered by ProcessFlow.
27
+ *
28
+ * Keep workflow-specific behavior in the parent. A step config should describe what to render, not what to do when a
29
+ * workflow completes or errors.
30
+ */
31
+ export interface ProcessFlowStep {
32
+ /** Stable identifier used for selection and connections. */
33
+ id: string;
34
+ /** Visible step label. */
35
+ label: ReactNode;
36
+ /** Optional secondary text shown under or beside the label. */
37
+ description?: ReactNode;
38
+ /** Parent-controlled visual state. Defaults to "pending". */
39
+ status?: ProcessFlowStepStatus;
40
+ /** Accessible label for selectable steps. */
41
+ ariaLabel?: string;
42
+ /** Forces the step into the disabled visual/non-interactive state. */
43
+ disabled?: boolean;
44
+ /** Set to false when the step should render as non-navigable even when onStepSelect is provided. */
45
+ selectable?: boolean;
46
+ /** Optional grid position for simple branching/configurable layouts. */
47
+ position?: ProcessFlowStepPosition;
48
+ }
49
+ export type ProcessFlowStepConfig = ProcessFlowStep;
50
+ export type ProcessStep = ProcessFlowStep;
51
+ /** Connection between two steps in a branching/configurable flow. Linear flows derive connections automatically. */
52
+ export interface ProcessFlowConnection {
53
+ id?: string;
54
+ from: string;
55
+ to: string;
56
+ status?: ProcessFlowStepStatus;
57
+ ariaLabel?: string;
58
+ }
59
+ export interface PositionedStep {
60
+ step: ProcessFlowStep;
61
+ stepIndex: number;
62
+ status: ProcessFlowStepStatus;
63
+ row: number;
64
+ column: number;
65
+ }
66
+ export interface ResolvedConnection extends ProcessFlowConnection {
67
+ id: string;
68
+ fromStep: PositionedStep;
69
+ toStep: PositionedStep;
70
+ status: ProcessFlowStepStatus;
71
+ }
72
+ export interface Point {
73
+ x: number;
74
+ y: number;
75
+ }
76
+ export declare const STATUS_LABELS: Record<ProcessFlowStepStatus, string>;
77
+ export declare function getDescriptionVisibility(showDescriptions?: boolean): ProcessFlowDescriptionVisibility;
78
+ export declare function normalizeGridIndex(value: number | undefined, fallback: number): number;
79
+ export declare function getStepStatus(step: ProcessFlowStep): ProcessFlowStepStatus;
80
+ export declare function getStepAccessibleLabel(step: ProcessFlowStep, status: ProcessFlowStepStatus, stepNumber: number): string;
81
+ export declare function positionStep(step: ProcessFlowStep, index: number, orientation: ProcessFlowOrientation): PositionedStep;
82
+ export declare function deriveConnectionStatus(fromStatus: ProcessFlowStepStatus, toStatus: ProcessFlowStepStatus): ProcessFlowStepStatus;
83
+ export declare function resolveConnections(steps: PositionedStep[], connections?: ProcessFlowConnection[]): ResolvedConnection[];
84
+ export declare function getPoint(step: PositionedStep, rowCount: number, columnCount: number): Point;
85
+ export declare function getConnectionPath(connection: ResolvedConnection, rowCount: number, columnCount: number): string;
86
+ export declare function hasCustomStepLayout(steps: ProcessFlowStep[]): boolean;
@@ -0,0 +1 @@
1
+ export * from './ProcessFlow';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../ui/avatar.cjs"),c=require("../../ui/item.cjs"),i=require("../../../lib/utils.cjs"),h="grid-cols-[minmax(0,1fr)_auto_auto]",p="grid-cols-[minmax(0,1fr)_auto]",g="grid-cols-[minmax(0,1fr)]";function j(t,n){return t&&n?h:t||n?p:g}function C({leading:t,primary:n,secondary:s,trailing:r,actions:a,className:m,variant:d="default",size:u="default",...x}){const N=!!s,f=j(!!r,!!a),l=N?"row-span-2":"row-span-1";return e.jsxs(c.Item,{"data-slot":"rich-list-item",variant:d,size:u,className:i.cn("flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50",m),...x,children:[t&&e.jsx(c.ItemMedia,{className:"self-center",children:t}),e.jsx(c.ItemContent,{className:"min-w-0",children:e.jsxs("div",{className:i.cn("grid min-w-0 items-center gap-x-3 gap-y-1",f),children:[e.jsx(c.ItemTitle,{className:"min-w-0 max-w-full truncate",children:n}),r&&e.jsx("div",{className:i.cn("flex flex-col items-end gap-1 whitespace-nowrap text-right",l),children:r}),a&&e.jsx(c.ItemActions,{className:i.cn("shrink-0 self-center",l),children:a}),s&&e.jsx("div",{"data-slot":"rich-list-item-secondary",className:"min-w-0 truncate text-xs leading-tight text-muted-foreground",children:s})]})})]})}function v({initials:t,className:n,fallbackClassName:s,size:r="default",...a}){return e.jsx(o.Avatar,{className:n,size:r,...a,children:e.jsx(o.AvatarFallback,{className:i.cn("bg-primary/10 text-xs font-semibold text-primary",s),children:t})})}exports.RichListItem=C;exports.RichListItemAvatar=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../../ui/avatar.cjs"),i=require("../../../ui/item.cjs"),c=require("../../../lib/utils.cjs"),h="grid-cols-[minmax(0,1fr)_auto_auto]",p="grid-cols-[minmax(0,1fr)_auto]",g="grid-cols-[minmax(0,1fr)]";function j(t,n){return t&&n?h:t||n?p:g}function C({leading:t,primary:n,secondary:s,trailing:r,actions:a,className:m,variant:u="default",size:d="default",...x}){const N=!!s,f=j(!!r,!!a),l=N?"row-span-2":"row-span-1";return e.jsxs(i.Item,{"data-slot":"rich-list-item",variant:u,size:d,className:c.cn("flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50",m),...x,children:[t&&e.jsx(i.ItemMedia,{className:"self-center",children:t}),e.jsx(i.ItemContent,{className:"min-w-0",children:e.jsxs("div",{className:c.cn("grid min-w-0 items-center gap-x-3 gap-y-1",f),children:[e.jsx(i.ItemTitle,{className:"min-w-0 max-w-full truncate",children:n}),r&&e.jsx("div",{className:c.cn("flex flex-col items-end gap-1 whitespace-nowrap text-right",l),children:r}),a&&e.jsx(i.ItemActions,{className:c.cn("shrink-0 self-center",l),children:a}),s&&e.jsx("div",{"data-slot":"rich-list-item-secondary",className:"min-w-0 truncate text-xs leading-tight text-muted-foreground",children:s})]})})]})}function _({initials:t,className:n,fallbackClassName:s,size:r="default",...a}){return e.jsx(o.Avatar,{className:n,size:r,...a,children:e.jsx(o.AvatarFallback,{className:c.cn("bg-primary/10 text-xs font-semibold text-primary",s),children:t})})}exports.RichListItem=C;exports.RichListItemAvatar=_;
2
2
  //# sourceMappingURL=RichListItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichListItem.cjs","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50\",\n className,\n )}\n {...props}\n >\n {leading && <ItemMedia className=\"self-center\">{leading}</ItemMedia>}\n <ItemContent className=\"min-w-0\">\n <div className={cn(\"grid min-w-0 items-center gap-x-3 gap-y-1\", contentColumns)}>\n <ItemTitle className=\"min-w-0 max-w-full truncate\">{primary}</ItemTitle>\n {trailing && (\n <div className={cn(\"flex flex-col items-end gap-1 whitespace-nowrap text-right\", supplementalSpanClass)}>\n {trailing}\n </div>\n )}\n {actions && (\n <ItemActions className={cn(\"shrink-0 self-center\", supplementalSpanClass)}>{actions}</ItemActions>\n )}\n {secondary && (\n <div\n data-slot=\"rich-list-item-secondary\"\n className=\"min-w-0 truncate text-xs leading-tight text-muted-foreground\"\n >\n {secondary}\n </div>\n )}\n </div>\n </ItemContent>\n </Item>\n );\n}\n\nexport interface RichListItemAvatarProps extends Omit<React.ComponentProps<typeof Avatar>, \"children\"> {\n initials: string;\n fallbackClassName?: string;\n}\n\nfunction RichListItemAvatar({\n initials,\n className,\n fallbackClassName,\n size = \"default\",\n ...props\n}: RichListItemAvatarProps) {\n return (\n <Avatar className={className} size={size} {...props}>\n <AvatarFallback className={cn(\"bg-primary/10 text-xs font-semibold text-primary\", fallbackClassName)}>\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n}\n\nexport { RichListItem, RichListItemAvatar };\n"],"names":["CONTENT_COLUMNS_BOTH","CONTENT_COLUMNS_ONE","CONTENT_COLUMNS_NONE","getContentColumns","hasTrailing","hasActions","RichListItem","leading","primary","secondary","trailing","actions","className","variant","size","props","hasSecondary","contentColumns","supplementalSpanClass","jsxs","Item","cn","jsx","ItemMedia","ItemContent","ItemTitle","ItemActions","RichListItemAvatar","initials","fallbackClassName","Avatar","AvatarFallback"],"mappings":"yNAmBMA,EAAuB,sCACvBC,EAAsB,iCACtBC,EAAuB,4BAE7B,SAASC,EAAkBC,EAAsBC,EAAqB,CACpE,OAAID,GAAeC,EAAmBL,EAClCI,GAAeC,EAAmBJ,EAC/BC,CACT,CAEA,SAASI,EAAa,CACpB,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,GAAGC,CACL,EAAsB,CACpB,MAAMC,EAAe,EAAQP,EACvBQ,EAAiBd,EAAkB,EAAQO,EAAW,EAAQC,CAAQ,EACtEO,EAAwBF,EAAe,aAAe,aAE5D,OACEG,EAAAA,KAACC,EAAAA,KAAA,CACC,YAAU,iBACV,QAAAP,EACA,KAAAC,EACA,UAAWO,EAAAA,GACT,8FACAT,CAAA,EAED,GAAGG,EAEH,SAAA,CAAAR,GAAWe,EAAAA,IAACC,YAAA,CAAU,UAAU,cAAe,SAAAhB,EAAQ,EACxDe,EAAAA,IAACE,EAAAA,YAAA,CAAY,UAAU,UACrB,SAAAL,EAAAA,KAAC,OAAI,UAAWE,EAAAA,GAAG,4CAA6CJ,CAAc,EAC5E,SAAA,CAAAK,EAAAA,IAACG,EAAAA,UAAA,CAAU,UAAU,8BAA+B,SAAAjB,EAAQ,EAC3DE,SACE,MAAA,CAAI,UAAWW,EAAAA,GAAG,6DAA8DH,CAAqB,EACnG,SAAAR,EACH,EAEDC,SACEe,cAAA,CAAY,UAAWL,EAAAA,GAAG,uBAAwBH,CAAqB,EAAI,SAAAP,EAAQ,EAErFF,GACCa,EAAAA,IAAC,MAAA,CACC,YAAU,2BACV,UAAU,+DAET,SAAAb,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CAOA,SAASkB,EAAmB,CAC1B,SAAAC,EACA,UAAAhB,EACA,kBAAAiB,EACA,KAAAf,EAAO,UACP,GAAGC,CACL,EAA4B,CAC1B,OACEO,EAAAA,IAACQ,EAAAA,OAAA,CAAO,UAAAlB,EAAsB,KAAAE,EAAa,GAAGC,EAC5C,SAAAO,EAAAA,IAACS,EAAAA,eAAA,CAAe,UAAWV,EAAAA,GAAG,mDAAoDQ,CAAiB,EAChG,WACH,EACF,CAEJ"}
1
+ {"version":3,"file":"RichListItem.cjs","sources":["../../../../src/components/composed/RichListItem/RichListItem.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\";\nimport { Item, ItemActions, ItemContent, ItemMedia, ItemTitle } from \"@/components/ui/item\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, \"asChild\" | \"children\"> {\n /** Slot before the text content — typically an avatar or icon. */\n leading?: React.ReactNode;\n /** Primary line of text. Truncates to a single line. */\n primary: React.ReactNode;\n /** Secondary line of text shown beneath `primary`. Truncates to a single line. */\n secondary?: React.ReactNode;\n /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */\n trailing?: React.ReactNode;\n /** Right-aligned interactive controls (buttons, menus). */\n actions?: React.ReactNode;\n}\n\nconst CONTENT_COLUMNS_BOTH = \"grid-cols-[minmax(0,1fr)_auto_auto]\";\nconst CONTENT_COLUMNS_ONE = \"grid-cols-[minmax(0,1fr)_auto]\";\nconst CONTENT_COLUMNS_NONE = \"grid-cols-[minmax(0,1fr)]\";\n\nfunction getContentColumns(hasTrailing: boolean, hasActions: boolean) {\n if (hasTrailing && hasActions) return CONTENT_COLUMNS_BOTH;\n if (hasTrailing || hasActions) return CONTENT_COLUMNS_ONE;\n return CONTENT_COLUMNS_NONE;\n}\n\nfunction RichListItem({\n leading,\n primary,\n secondary,\n trailing,\n actions,\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: RichListItemProps) {\n const hasSecondary = Boolean(secondary);\n const contentColumns = getContentColumns(Boolean(trailing), Boolean(actions));\n const supplementalSpanClass = hasSecondary ? \"row-span-2\" : \"row-span-1\";\n\n return (\n <Item\n data-slot=\"rich-list-item\"\n variant={variant}\n size={size}\n className={cn(\n \"flex-nowrap items-center gap-3 rounded-none border-transparent px-4 py-3 hover:bg-accent/50\",\n className,\n )}\n {...props}\n >\n {leading && <ItemMedia className=\"self-center\">{leading}</ItemMedia>}\n <ItemContent className=\"min-w-0\">\n <div className={cn(\"grid min-w-0 items-center gap-x-3 gap-y-1\", contentColumns)}>\n <ItemTitle className=\"min-w-0 max-w-full truncate\">{primary}</ItemTitle>\n {trailing && (\n <div className={cn(\"flex flex-col items-end gap-1 whitespace-nowrap text-right\", supplementalSpanClass)}>\n {trailing}\n </div>\n )}\n {actions && (\n <ItemActions className={cn(\"shrink-0 self-center\", supplementalSpanClass)}>{actions}</ItemActions>\n )}\n {secondary && (\n <div\n data-slot=\"rich-list-item-secondary\"\n className=\"min-w-0 truncate text-xs leading-tight text-muted-foreground\"\n >\n {secondary}\n </div>\n )}\n </div>\n </ItemContent>\n </Item>\n );\n}\n\nexport interface RichListItemAvatarProps extends Omit<React.ComponentProps<typeof Avatar>, \"children\"> {\n initials: string;\n fallbackClassName?: string;\n}\n\nfunction RichListItemAvatar({\n initials,\n className,\n fallbackClassName,\n size = \"default\",\n ...props\n}: RichListItemAvatarProps) {\n return (\n <Avatar className={className} size={size} {...props}>\n <AvatarFallback className={cn(\"bg-primary/10 text-xs font-semibold text-primary\", fallbackClassName)}>\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n}\n\nexport { RichListItem, RichListItemAvatar };\n"],"names":["CONTENT_COLUMNS_BOTH","CONTENT_COLUMNS_ONE","CONTENT_COLUMNS_NONE","getContentColumns","hasTrailing","hasActions","RichListItem","leading","primary","secondary","trailing","actions","className","variant","size","props","hasSecondary","contentColumns","supplementalSpanClass","jsxs","Item","cn","jsx","ItemMedia","ItemContent","ItemTitle","ItemActions","RichListItemAvatar","initials","fallbackClassName","Avatar","AvatarFallback"],"mappings":"+NAmBMA,EAAuB,sCACvBC,EAAsB,iCACtBC,EAAuB,4BAE7B,SAASC,EAAkBC,EAAsBC,EAAqB,CACpE,OAAID,GAAeC,EAAmBL,EAClCI,GAAeC,EAAmBJ,EAC/BC,CACT,CAEA,SAASI,EAAa,CACpB,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,GAAGC,CACL,EAAsB,CACpB,MAAMC,EAAe,EAAQP,EACvBQ,EAAiBd,EAAkB,EAAQO,EAAW,EAAQC,CAAQ,EACtEO,EAAwBF,EAAe,aAAe,aAE5D,OACEG,EAAAA,KAACC,EAAAA,KAAA,CACC,YAAU,iBACV,QAAAP,EACA,KAAAC,EACA,UAAWO,EAAAA,GACT,8FACAT,CAAA,EAED,GAAGG,EAEH,SAAA,CAAAR,GAAWe,EAAAA,IAACC,YAAA,CAAU,UAAU,cAAe,SAAAhB,EAAQ,EACxDe,EAAAA,IAACE,EAAAA,YAAA,CAAY,UAAU,UACrB,SAAAL,EAAAA,KAAC,OAAI,UAAWE,EAAAA,GAAG,4CAA6CJ,CAAc,EAC5E,SAAA,CAAAK,EAAAA,IAACG,EAAAA,UAAA,CAAU,UAAU,8BAA+B,SAAAjB,EAAQ,EAC3DE,SACE,MAAA,CAAI,UAAWW,EAAAA,GAAG,6DAA8DH,CAAqB,EACnG,SAAAR,EACH,EAEDC,SACEe,cAAA,CAAY,UAAWL,EAAAA,GAAG,uBAAwBH,CAAqB,EAAI,SAAAP,EAAQ,EAErFF,GACCa,EAAAA,IAAC,MAAA,CACC,YAAU,2BACV,UAAU,+DAET,SAAAb,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CAOA,SAASkB,EAAmB,CAC1B,SAAAC,EACA,UAAAhB,EACA,kBAAAiB,EACA,KAAAf,EAAO,UACP,GAAGC,CACL,EAA4B,CAC1B,OACEO,EAAAA,IAACQ,EAAAA,OAAA,CAAO,UAAAlB,EAAsB,KAAAE,EAAa,GAAGC,EAC5C,SAAAO,EAAAA,IAACS,EAAAA,eAAA,CAAe,UAAWV,EAAAA,GAAG,mDAAoDQ,CAAiB,EAChG,WACH,EACF,CAEJ"}
@@ -0,0 +1,22 @@
1
+ import { Avatar } from '../../ui/avatar';
2
+ import { Item } from '../../ui/item';
3
+ import * as React from "react";
4
+ export interface RichListItemProps extends Omit<React.ComponentProps<typeof Item>, "asChild" | "children"> {
5
+ /** Slot before the text content — typically an avatar or icon. */
6
+ leading?: React.ReactNode;
7
+ /** Primary line of text. Truncates to a single line. */
8
+ primary: React.ReactNode;
9
+ /** Secondary line of text shown beneath `primary`. Truncates to a single line. */
10
+ secondary?: React.ReactNode;
11
+ /** Right-aligned supplemental content (badges, timestamps) shown above `actions`. */
12
+ trailing?: React.ReactNode;
13
+ /** Right-aligned interactive controls (buttons, menus). */
14
+ actions?: React.ReactNode;
15
+ }
16
+ declare function RichListItem({ leading, primary, secondary, trailing, actions, className, variant, size, ...props }: RichListItemProps): import("react/jsx-runtime").JSX.Element;
17
+ export interface RichListItemAvatarProps extends Omit<React.ComponentProps<typeof Avatar>, "children"> {
18
+ initials: string;
19
+ fallbackClassName?: string;
20
+ }
21
+ declare function RichListItemAvatar({ initials, className, fallbackClassName, size, ...props }: RichListItemAvatarProps): import("react/jsx-runtime").JSX.Element;
22
+ export { RichListItem, RichListItemAvatar };
@@ -1,6 +1,6 @@
1
1
  import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
- import { Avatar as N, AvatarFallback as x } from "../../ui/avatar.js";
3
- import { Item as h, ItemMedia as g, ItemContent as C, ItemTitle as w, ItemActions as O } from "../../ui/item.js";
2
+ import { Avatar as N, AvatarFallback as x } from "../../../ui/avatar.js";
3
+ import { Item as h, ItemMedia as g, ItemContent as C, ItemTitle as w, ItemActions as O } from "../../../ui/item.js";
4
4
  import { cn as o } from "../../../lib/utils.js";
5
5
  const _ = "grid-cols-[minmax(0,1fr)_auto_auto]", v = "grid-cols-[minmax(0,1fr)_auto]", I = "grid-cols-[minmax(0,1fr)]";
6
6
  function T(t, n) {
@@ -0,0 +1,2 @@
1
+ export { RichListItem, RichListItemAvatar } from './RichListItem';
2
+ export type { RichListItemProps, RichListItemAvatarProps } from './RichListItem';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("lucide-react"),t=require("../../ui/card.cjs"),d=require("../../../lib/utils.cjs"),f={up:s.TrendingUpIcon,down:s.TrendingDownIcon,neutral:s.MinusIcon},j={up:"text-positive",down:"text-destructive",neutral:"text-muted-foreground"};function h({label:l,value:o,delta:n,deltaLabel:r,trend:a="neutral",description:c,className:i,...u}){const x=f[a],m=j[a];return e.jsx("div",{"data-slot":"stat-card",className:d.cn("w-full",i),...u,children:e.jsxs(t.Card,{children:[e.jsx(t.CardHeader,{children:e.jsx(t.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:l})}),e.jsxs(t.CardContent,{className:"flex flex-col gap-2",children:[e.jsx("p",{className:"text-3xl font-semibold tabular-nums",children:o}),c&&e.jsx("p",{className:"text-sm text-muted-foreground",children:c}),n!==void 0&&e.jsxs("div",{className:d.cn("flex items-center gap-1 text-sm",m),children:[e.jsx(x,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"font-medium",children:n}),r&&e.jsx("span",{className:"text-muted-foreground",children:r})]})]})]})})}exports.StatCard=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("lucide-react"),t=require("../../../ui/card.cjs"),d=require("../../../lib/utils.cjs"),f={up:s.TrendingUpIcon,down:s.TrendingDownIcon,neutral:s.MinusIcon},j={up:"text-positive",down:"text-destructive",neutral:"text-muted-foreground"};function h({label:l,value:o,delta:n,deltaLabel:r,trend:a="neutral",description:c,className:i,...u}){const x=f[a],m=j[a];return e.jsx("div",{"data-slot":"stat-card",className:d.cn("w-full",i),...u,children:e.jsxs(t.Card,{children:[e.jsx(t.CardHeader,{children:e.jsx(t.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:l})}),e.jsxs(t.CardContent,{className:"flex flex-col gap-2",children:[e.jsx("p",{className:"text-3xl font-semibold tabular-nums",children:o}),c&&e.jsx("p",{className:"text-sm text-muted-foreground",children:c}),n!==void 0&&e.jsxs("div",{className:d.cn("flex items-center gap-1 text-sm",m),children:[e.jsx(x,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"font-medium",children:n}),r&&e.jsx("span",{className:"text-muted-foreground",children:r})]})]})]})})}exports.StatCard=h;
2
2
  //# sourceMappingURL=StatCard.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatCard.cjs","sources":["../../../../src/components/composed/StatCard/StatCard.tsx"],"sourcesContent":["import { MinusIcon, TrendingDownIcon, TrendingUpIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { cn } from \"@/lib/utils\"\n\nexport type StatCardTrend = \"up\" | \"down\" | \"neutral\"\n\nexport interface StatCardProps extends React.ComponentProps<\"div\"> {\n label: string\n value: string | number\n delta?: string | number\n deltaLabel?: string\n trend?: StatCardTrend\n description?: string\n}\n\nconst TREND_ICON: Record<StatCardTrend, React.ElementType> = {\n up: TrendingUpIcon,\n down: TrendingDownIcon,\n neutral: MinusIcon,\n}\n\nconst TREND_CLASS: Record<StatCardTrend, string> = {\n up: \"text-positive\",\n down: \"text-destructive\",\n neutral: \"text-muted-foreground\",\n}\n\nexport function StatCard({\n label,\n value,\n delta,\n deltaLabel,\n trend = \"neutral\",\n description,\n className,\n ...props\n}: StatCardProps) {\n const TrendIcon = TREND_ICON[trend]\n const trendClass = TREND_CLASS[trend]\n\n return (\n <div data-slot=\"stat-card\" className={cn(\"w-full\", className)} {...props}>\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm font-medium text-muted-foreground\">\n {label}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"flex flex-col gap-2\">\n <p className=\"text-3xl font-semibold tabular-nums\">{value}</p>\n {description && (\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n )}\n {delta !== undefined && (\n <div className={cn(\"flex items-center gap-1 text-sm\", trendClass)}>\n <TrendIcon className=\"h-4 w-4 shrink-0\" />\n <span className=\"font-medium\">{delta}</span>\n {deltaLabel && (\n <span className=\"text-muted-foreground\">{deltaLabel}</span>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}\n"],"names":["TREND_ICON","TrendingUpIcon","TrendingDownIcon","MinusIcon","TREND_CLASS","StatCard","label","value","delta","deltaLabel","trend","description","className","props","TrendIcon","trendClass","jsx","cn","jsxs","Card","CardHeader","CardTitle","CardContent"],"mappings":"kNAiBMA,EAAuD,CAC3D,GAAIC,EAAAA,eACJ,KAAMC,EAAAA,iBACN,QAASC,EAAAA,SACX,EAEMC,EAA6C,CACjD,GAAI,gBACJ,KAAM,mBACN,QAAS,uBACX,EAEO,SAASC,EAAS,CACvB,MAAAC,EACA,MAAAC,EACA,MAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,UACR,YAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAkB,CAChB,MAAMC,EAAYd,EAAWU,CAAK,EAC5BK,EAAaX,EAAYM,CAAK,EAEpC,OACEM,EAAAA,IAAC,MAAA,CAAI,YAAU,YAAY,UAAWC,KAAG,SAAUL,CAAS,EAAI,GAAGC,EACjE,SAAAK,EAAAA,KAACC,EAAAA,KAAA,CACC,SAAA,CAAAH,EAAAA,IAACI,EAAAA,YACC,SAAAJ,EAAAA,IAACK,EAAAA,UAAA,CAAU,UAAU,4CAClB,WACH,CAAA,CACF,EACAH,EAAAA,KAACI,EAAAA,YAAA,CAAY,UAAU,sBACrB,SAAA,CAAAN,EAAAA,IAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAT,EAAM,EACzDI,GACCK,EAAAA,IAAC,IAAA,CAAE,UAAU,gCAAiC,SAAAL,EAAY,EAE3DH,IAAU,QACTU,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,GAAG,kCAAmCF,CAAU,EAC9D,SAAA,CAAAC,EAAAA,IAACF,EAAA,CAAU,UAAU,kBAAA,CAAmB,EACxCE,EAAAA,IAAC,OAAA,CAAK,UAAU,cAAe,SAAAR,EAAM,EACpCC,GACCO,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAyB,SAAAP,CAAA,CAAW,CAAA,CAAA,CAExD,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"StatCard.cjs","sources":["../../../../src/components/composed/StatCard/StatCard.tsx"],"sourcesContent":["import { MinusIcon, TrendingDownIcon, TrendingUpIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { cn } from \"@/lib/utils\"\n\nexport type StatCardTrend = \"up\" | \"down\" | \"neutral\"\n\nexport interface StatCardProps extends React.ComponentProps<\"div\"> {\n label: string\n value: string | number\n delta?: string | number\n deltaLabel?: string\n trend?: StatCardTrend\n description?: string\n}\n\nconst TREND_ICON: Record<StatCardTrend, React.ElementType> = {\n up: TrendingUpIcon,\n down: TrendingDownIcon,\n neutral: MinusIcon,\n}\n\nconst TREND_CLASS: Record<StatCardTrend, string> = {\n up: \"text-positive\",\n down: \"text-destructive\",\n neutral: \"text-muted-foreground\",\n}\n\nexport function StatCard({\n label,\n value,\n delta,\n deltaLabel,\n trend = \"neutral\",\n description,\n className,\n ...props\n}: StatCardProps) {\n const TrendIcon = TREND_ICON[trend]\n const trendClass = TREND_CLASS[trend]\n\n return (\n <div data-slot=\"stat-card\" className={cn(\"w-full\", className)} {...props}>\n <Card>\n <CardHeader>\n <CardTitle className=\"text-sm font-medium text-muted-foreground\">\n {label}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"flex flex-col gap-2\">\n <p className=\"text-3xl font-semibold tabular-nums\">{value}</p>\n {description && (\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n )}\n {delta !== undefined && (\n <div className={cn(\"flex items-center gap-1 text-sm\", trendClass)}>\n <TrendIcon className=\"h-4 w-4 shrink-0\" />\n <span className=\"font-medium\">{delta}</span>\n {deltaLabel && (\n <span className=\"text-muted-foreground\">{deltaLabel}</span>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}\n"],"names":["TREND_ICON","TrendingUpIcon","TrendingDownIcon","MinusIcon","TREND_CLASS","StatCard","label","value","delta","deltaLabel","trend","description","className","props","TrendIcon","trendClass","jsx","cn","jsxs","Card","CardHeader","CardTitle","CardContent"],"mappings":"qNAiBMA,EAAuD,CAC3D,GAAIC,EAAAA,eACJ,KAAMC,EAAAA,iBACN,QAASC,EAAAA,SACX,EAEMC,EAA6C,CACjD,GAAI,gBACJ,KAAM,mBACN,QAAS,uBACX,EAEO,SAASC,EAAS,CACvB,MAAAC,EACA,MAAAC,EACA,MAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,UACR,YAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAkB,CAChB,MAAMC,EAAYd,EAAWU,CAAK,EAC5BK,EAAaX,EAAYM,CAAK,EAEpC,OACEM,EAAAA,IAAC,MAAA,CAAI,YAAU,YAAY,UAAWC,KAAG,SAAUL,CAAS,EAAI,GAAGC,EACjE,SAAAK,EAAAA,KAACC,EAAAA,KAAA,CACC,SAAA,CAAAH,EAAAA,IAACI,EAAAA,YACC,SAAAJ,EAAAA,IAACK,EAAAA,UAAA,CAAU,UAAU,4CAClB,WACH,CAAA,CACF,EACAH,EAAAA,KAACI,EAAAA,YAAA,CAAY,UAAU,sBACrB,SAAA,CAAAN,EAAAA,IAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAT,EAAM,EACzDI,GACCK,EAAAA,IAAC,IAAA,CAAE,UAAU,gCAAiC,SAAAL,EAAY,EAE3DH,IAAU,QACTU,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,GAAG,kCAAmCF,CAAU,EAC9D,SAAA,CAAAC,EAAAA,IAACF,EAAA,CAAU,UAAU,kBAAA,CAAmB,EACxCE,EAAAA,IAAC,OAAA,CAAK,UAAU,cAAe,SAAAR,EAAM,EACpCC,GACCO,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAyB,SAAAP,CAAA,CAAW,CAAA,CAAA,CAExD,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAEJ"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ export type StatCardTrend = "up" | "down" | "neutral";
3
+ export interface StatCardProps extends React.ComponentProps<"div"> {
4
+ label: string;
5
+ value: string | number;
6
+ delta?: string | number;
7
+ deltaLabel?: string;
8
+ trend?: StatCardTrend;
9
+ description?: string;
10
+ }
11
+ export declare function StatCard({ label, value, delta, deltaLabel, trend, description, className, ...props }: StatCardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
2
  import { MinusIcon as x, TrendingDownIcon as f, TrendingUpIcon as p } from "lucide-react";
3
- import { Card as h, CardHeader as N, CardTitle as C, CardContent as g } from "../../ui/card.js";
3
+ import { Card as h, CardHeader as N, CardTitle as C, CardContent as g } from "../../../ui/card.js";
4
4
  import { cn as a } from "../../../lib/utils.js";
5
5
  const T = {
6
6
  up: p,
@@ -0,0 +1 @@
1
+ export * from './StatCard';