@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
@@ -0,0 +1,215 @@
1
+ import { jsxs as ve, jsx as Re } from "react/jsx-runtime";
2
+ import { useRef as S, useState as Se, useMemo as o, useEffect as de } from "react";
3
+ /* empty css */
4
+ import { useChartTooltip as Te } from "../ChartTooltip/ChartTooltip.js";
5
+ import { loadPlotly as ue, getLoadedPlotly as ge } from "../plotly-loader.js";
6
+ import { PLOT_CONSTANTS as ae, DEFAULT_COLOR_SCALE as _e, COLORS as he } from "./constants.js";
7
+ import { downsampleData as Ce, mapColors as Pe, mapShapes as we, mapSizes as Ee, calculateAxisRange as fe, generateTooltipContent as Oe, calculateRange as Ne, getPlotlyLayoutConfig as ke, getSelectionMode as Le, applySelection as Be } from "./utils.js";
8
+ import { usePlotlyTheme as De } from "../../../hooks/use-plotly-theme.js";
9
+ const me = {}, Fe = { enabled: !0 }, Xe = ({
10
+ data: p,
11
+ title: x,
12
+ xAxis: l = me,
13
+ yAxis: i = me,
14
+ colorMapping: n,
15
+ shapeMapping: A,
16
+ sizeMapping: V,
17
+ tooltip: d = Fe,
18
+ enableClickSelection: X = !0,
19
+ enableBoxSelection: T = !0,
20
+ enableLassoSelection: g = !0,
21
+ selectedIds: $,
22
+ onSelectionChange: q,
23
+ onPointClick: H,
24
+ downsampling: E,
25
+ width: O = 800,
26
+ height: N = 600,
27
+ showColorBar: J = !0,
28
+ className: K
29
+ }) => {
30
+ const y = S(null), Q = De(), _ = S(q), W = S(H), Y = S(/* @__PURE__ */ new Set()), h = S(!1);
31
+ _.current = q, W.current = H;
32
+ const [pe, k] = Se(/* @__PURE__ */ new Set()), Z = $ !== void 0, L = Z ? $ : pe;
33
+ Y.current = L, h.current = Z;
34
+ const M = o(() => new Set([...L].map(String)), [L]), ee = o(() => new Map(p.map((e) => [String(e.id), e.id])), [p]), t = o(() => E ? Ce(p, E) : p, [p, E]), C = o(() => Pe(t, n), [t, n]), te = o(() => we(t, A), [t, A]), ne = o(() => Ee(t, V), [t, V]), re = o(() => {
35
+ if (l.range) return l.range;
36
+ if (l.autoRange !== !1)
37
+ return fe(t, "x", l.autoRangePadding ?? ae.AUTO_RANGE_PADDING, l.scale);
38
+ }, [t, l]), oe = o(() => {
39
+ if (i.range) return i.range;
40
+ if (i.autoRange !== !1)
41
+ return fe(t, "y", i.autoRangePadding ?? ae.AUTO_RANGE_PADDING, i.scale);
42
+ }, [t, i]), a = d.enabled !== !1, P = d.native === !0, B = o(() => a ? t.map(
43
+ (e) => d.content ? d.content(e) : Oe(e, d.fields)
44
+ ) : [], [t, d, a]), { bindTooltip: se, tooltipElement: ye } = Te({
45
+ getLines: (e) => {
46
+ const r = e[0]?.pointIndex;
47
+ return r === void 0 ? [] : (B[r] ?? "").split("<br>").filter(Boolean);
48
+ }
49
+ }), ce = o(() => n?.type === "continuous" && n.field && t.length > 0 ? t.map((e) => {
50
+ const r = e.metadata?.[n.field];
51
+ return typeof r == "number" && Number.isFinite(r) ? r : 0;
52
+ }) : C, [t, n, C]), D = o(() => {
53
+ if (n?.type === "continuous") {
54
+ const e = n.colorScale || _e;
55
+ return e;
56
+ }
57
+ }, [n]), le = o(() => {
58
+ const e = {
59
+ size: ne,
60
+ symbol: te,
61
+ // Points carry no outline; depth comes from a CSS drop-shadow
62
+ // (see ScatterPlotInteractive.scss). Selected points re-add a line below.
63
+ line: {
64
+ width: 0
65
+ }
66
+ };
67
+ if (n?.type === "continuous" && D) {
68
+ if (e.color = ce, e.colorscale = D, e.showscale = J, n.field) {
69
+ const r = n.min !== void 0 && n.max !== void 0 ? { min: n.min, max: n.max } : Ne(t, n.field);
70
+ e.cmin = r.min, e.cmax = r.max, e.colorbar = {
71
+ title: { text: n.field, side: "right" },
72
+ thickness: 20,
73
+ len: 0.7
74
+ };
75
+ }
76
+ } else
77
+ e.color = C;
78
+ return e;
79
+ }, [ne, te, n, D, ce, J, t, C]);
80
+ de(() => {
81
+ const e = y.current;
82
+ if (!e || t.length === 0) return;
83
+ const r = t.map((u) => u.x), I = t.map((u) => u.y), w = t.map((u) => String(u.id)), v = [{
84
+ x: r,
85
+ y: I,
86
+ ids: w,
87
+ mode: "markers",
88
+ type: "scatter",
89
+ marker: le,
90
+ // "none" keeps hover events firing for the HTML tooltip without
91
+ // showing Plotly's hover label; "skip" disables hover entirely
92
+ hoverinfo: a ? P ? "text" : "none" : "skip",
93
+ text: B,
94
+ hovertemplate: a && P ? "%{text}<extra></extra>" : void 0,
95
+ showlegend: !1,
96
+ unselected: {
97
+ marker: {
98
+ opacity: 0.3
99
+ }
100
+ },
101
+ selected: {
102
+ marker: {
103
+ opacity: 1,
104
+ line: {
105
+ color: he.selected,
106
+ width: 2
107
+ }
108
+ }
109
+ }
110
+ }], G = ke({
111
+ title: x,
112
+ xAxis: l,
113
+ yAxis: i,
114
+ width: O,
115
+ height: N,
116
+ xRange: re,
117
+ yRange: oe,
118
+ enableLassoSelection: g,
119
+ enableBoxSelection: T,
120
+ theme: Q
121
+ }), U = {
122
+ responsive: !0,
123
+ displayModeBar: !0,
124
+ displaylogo: !1,
125
+ modeBarButtonsToAdd: [],
126
+ modeBarButtonsToRemove: ["toImage"]
127
+ };
128
+ T && U.modeBarButtonsToAdd?.push("select2d"), g && U.modeBarButtonsToAdd?.push("lasso2d");
129
+ let ie = !1, z = null;
130
+ return ue().then((u) => {
131
+ if (ie || !y.current) return;
132
+ u.newPlot(e, v, G, U);
133
+ const b = e;
134
+ X && b.on("plotly_click", (c) => {
135
+ const f = c.points[0];
136
+ if (f && f.data.ids) {
137
+ const j = f.data.ids[f.pointIndex], m = t.find((s) => String(s.id) === j);
138
+ if (m) {
139
+ W.current?.(m, c.event);
140
+ const s = Le(c.event), R = Be(Y.current, /* @__PURE__ */ new Set([m.id]), s);
141
+ h.current || k(R), _.current?.(R, s);
142
+ }
143
+ }
144
+ }), (T || g) && (b.on("plotly_selected", (c) => {
145
+ if (c && c.points) {
146
+ const f = c.points.map((s) => {
147
+ if (s.data.ids && s.pointIndex !== void 0) {
148
+ const R = s.data.ids[s.pointIndex];
149
+ return ee.get(R) ?? R;
150
+ }
151
+ return null;
152
+ }).filter((s) => s !== null), j = "replace", m = new Set(f);
153
+ h.current || k(m), _.current?.(m, j);
154
+ }
155
+ }), b.on("plotly_deselect", () => {
156
+ const c = /* @__PURE__ */ new Set();
157
+ h.current || k(c), _.current?.(c, "replace");
158
+ })), a && !P && se(e), z = e;
159
+ }), () => {
160
+ ie = !0, z && ge().purge(z);
161
+ };
162
+ }, [
163
+ t,
164
+ le,
165
+ l,
166
+ i,
167
+ re,
168
+ oe,
169
+ x,
170
+ O,
171
+ N,
172
+ d,
173
+ B,
174
+ X,
175
+ T,
176
+ g,
177
+ ee,
178
+ a,
179
+ P,
180
+ se,
181
+ Q
182
+ ]), de(() => {
183
+ if (!y.current || t.length === 0) return;
184
+ let e = !1;
185
+ return ue().then((r) => {
186
+ const I = y.current;
187
+ if (e || !I || !I._fullLayout) return;
188
+ const w = I, F = t.map((v, G) => M.has(String(v.id)) ? G : null).filter((v) => v !== null);
189
+ F.length > 0 ? r.restyle(
190
+ w,
191
+ {
192
+ selectedpoints: [F]
193
+ },
194
+ [0]
195
+ ) : r.restyle(
196
+ w,
197
+ {
198
+ selectedpoints: [null]
199
+ },
200
+ [0]
201
+ );
202
+ }), () => {
203
+ e = !0;
204
+ };
205
+ }, [M, t]);
206
+ const Ie = K ? `scatter-plot-interactive relative ${K}` : "scatter-plot-interactive relative";
207
+ return /* @__PURE__ */ ve("div", { className: Ie, children: [
208
+ /* @__PURE__ */ Re("div", { ref: y, className: "scatter-plot-interactive__plot", style: { width: O, height: N } }),
209
+ ye
210
+ ] });
211
+ };
212
+ export {
213
+ Xe as ScatterPlotInteractive
214
+ };
215
+ //# sourceMappingURL=ScatterPlotInteractive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScatterPlotInteractive.js","sources":["../../../../src/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport \"./ScatterPlotInteractive.scss\";\nimport { useChartTooltip } from \"../ChartTooltip\";\nimport { getLoadedPlotly, loadPlotly } from \"../plotly-loader\";\n\nimport { COLORS, DEFAULT_COLOR_SCALE, PLOT_CONSTANTS } from \"./constants\";\nimport {\n applySelection,\n calculateAxisRange,\n calculateRange,\n downsampleData,\n generateTooltipContent,\n getPlotlyLayoutConfig,\n getSelectionMode,\n mapColors,\n mapShapes,\n mapSizes,\n} from \"./utils\";\n\nimport type { AxisConfig, ScatterPlotInteractiveProps, SelectionMode, TooltipConfig } from \"./types\";\nimport type Plotly from \"plotly.js-dist\";\n\nimport { usePlotlyTheme } from \"@/hooks/use-plotly-theme\";\n\n// Stable default prop objects — inline defaults would create a new identity\n// on every render, retriggering the plot effect (and tearing down the\n// tooltip) whenever internal state changes\nconst DEFAULT_AXIS_CONFIG: AxisConfig = {};\nconst DEFAULT_TOOLTIP_CONFIG: TooltipConfig = { enabled: true };\n\n/**\n * ScatterPlotInteractive component for visualizing scatter plot data with advanced interactions.\n *\n * **Features:**\n * - Data-driven and static styling (color, shape, size)\n * - Interactive selection (click, box, lasso)\n * - Keyboard modifiers for click-selection modes (Shift/Ctrl)\n * - Customizable tooltips with rich content support\n * - Axis customization (ranges, log/linear scales)\n * - Performance optimizations for large datasets\n * - Selection propagation via callbacks\n *\n * **Selection Modes (click selection only):**\n * - Default click: Replace selection\n * - Shift + click: Add to selection\n * - Ctrl/Cmd + click: Remove from selection\n * - Shift + Ctrl + click: Toggle selection\n *\n * Box/lasso selection always replaces the current selection because\n * Plotly does not expose the original keyboard event for drag operations.\n */\nconst ScatterPlotInteractive: React.FC<ScatterPlotInteractiveProps> = ({\n data,\n title,\n xAxis = DEFAULT_AXIS_CONFIG,\n yAxis = DEFAULT_AXIS_CONFIG,\n colorMapping,\n shapeMapping,\n sizeMapping,\n tooltip = DEFAULT_TOOLTIP_CONFIG,\n enableClickSelection = true,\n enableBoxSelection = true,\n enableLassoSelection = true,\n selectedIds: controlledSelectedIds,\n onSelectionChange,\n onPointClick,\n downsampling,\n width = 800,\n height = 600,\n showColorBar = true,\n className,\n}) => {\n const plotRef = useRef<HTMLDivElement>(null);\n const theme = usePlotlyTheme();\n const onSelectionChangeRef = useRef(onSelectionChange);\n const onPointClickRef = useRef(onPointClick);\n const selectedIdsRef = useRef<Set<string | number>>(new Set());\n const isControlledRef = useRef(false);\n\n // Keep refs updated\n onSelectionChangeRef.current = onSelectionChange;\n onPointClickRef.current = onPointClick;\n\n // Internal selection state (only used in uncontrolled mode)\n const [internalSelectedIds, setInternalSelectedIds] = useState<Set<string | number>>(new Set());\n\n // Use controlled or uncontrolled selection\n const isControlled = controlledSelectedIds !== undefined;\n const selectedIds = isControlled ? controlledSelectedIds : internalSelectedIds;\n selectedIdsRef.current = selectedIds;\n isControlledRef.current = isControlled;\n\n // Normalize to strings so numeric IDs passed by consumers always match the\n // string IDs that Plotly stores (we always do String(p.id) when building the trace).\n const normalizedSelectedIds = useMemo(() => new Set([...selectedIds].map(String)), [selectedIds]);\n\n // Reverse-lookup: Plotly string ID → original (possibly numeric) ScatterPoint ID.\n // Used to restore original ID types when echoing selections back to consumers.\n const originalIdLookup = useMemo(() => new Map(data.map((p) => [String(p.id), p.id])), [data]);\n\n // Apply downsampling if configured\n const processedData = useMemo(() => {\n if (!downsampling) {\n return data;\n }\n return downsampleData(data, downsampling);\n }, [data, downsampling]);\n\n // Map colors, shapes, and sizes based on configuration\n const colors = useMemo(() => mapColors(processedData, colorMapping), [processedData, colorMapping]);\n\n const shapes = useMemo(() => mapShapes(processedData, shapeMapping), [processedData, shapeMapping]);\n\n const sizes = useMemo(() => mapSizes(processedData, sizeMapping), [processedData, sizeMapping]);\n\n // Calculate axis ranges\n const xRange = useMemo(() => {\n if (xAxis.range) return xAxis.range;\n if (xAxis.autoRange === false) return;\n return calculateAxisRange(processedData, \"x\", xAxis.autoRangePadding ?? PLOT_CONSTANTS.AUTO_RANGE_PADDING, xAxis.scale);\n }, [processedData, xAxis]);\n\n const yRange = useMemo(() => {\n if (yAxis.range) return yAxis.range;\n if (yAxis.autoRange === false) return;\n return calculateAxisRange(processedData, \"y\", yAxis.autoRangePadding ?? PLOT_CONSTANTS.AUTO_RANGE_PADDING, yAxis.scale);\n }, [processedData, yAxis]);\n\n const tooltipEnabled = tooltip.enabled !== false;\n const nativeTooltip = tooltip.native === true;\n\n // Build tooltip text\n const tooltipText = useMemo(() => {\n if (!tooltipEnabled) return [];\n\n return processedData.map((point) =>\n tooltip.content ? tooltip.content(point) : generateTooltipContent(point, tooltip.fields),\n );\n }, [processedData, tooltip, tooltipEnabled]);\n\n // Design-system tooltip driven by Plotly hover events\n const { bindTooltip, tooltipElement } = useChartTooltip({\n getLines: (points) => {\n const index = points[0]?.pointIndex;\n if (index === undefined) return [];\n return (tooltipText[index] ?? \"\").split(\"<br>\").filter(Boolean);\n },\n });\n\n // Prepare Plotly-compatible color data\n const plotlyColors = useMemo(() => {\n if (colorMapping?.type === \"continuous\" && colorMapping.field && processedData.length > 0) {\n // For continuous mapping, extract the numeric values\n return processedData.map((point) => {\n const value = point.metadata?.[colorMapping.field!];\n return typeof value === \"number\" && Number.isFinite(value) ? value : 0;\n });\n }\n return colors;\n }, [processedData, colorMapping, colors]);\n\n // Build colorscale for continuous mapping\n const plotlyColorscale = useMemo(() => {\n if (colorMapping?.type === \"continuous\") {\n const scale = colorMapping.colorScale || DEFAULT_COLOR_SCALE;\n return typeof scale === \"string\" ? scale : scale;\n }\n }, [colorMapping]);\n\n // Build marker configuration for Plotly\n const markerConfig = useMemo((): Partial<Plotly.PlotMarker> => {\n const config: Partial<Plotly.PlotMarker> = {\n size: sizes,\n symbol: shapes,\n // Points carry no outline; depth comes from a CSS drop-shadow\n // (see ScatterPlotInteractive.scss). Selected points re-add a line below.\n line: {\n width: 0,\n },\n };\n\n // Configure color mapping\n if (colorMapping?.type === \"continuous\" && plotlyColorscale) {\n config.color = plotlyColors as number[];\n config.colorscale = plotlyColorscale;\n config.showscale = showColorBar;\n\n if (colorMapping.field) {\n const range =\n colorMapping.min !== undefined && colorMapping.max !== undefined\n ? { min: colorMapping.min, max: colorMapping.max }\n : calculateRange(processedData, colorMapping.field);\n config.cmin = range.min;\n config.cmax = range.max;\n config.colorbar = {\n title: { text: colorMapping.field, side: \"right\" },\n thickness: 20,\n len: 0.7,\n };\n }\n } else {\n config.color = colors;\n }\n\n return config;\n }, [sizes, shapes, colorMapping, plotlyColorscale, plotlyColors, showColorBar, processedData, colors]);\n\n // Create Plotly plot\n useEffect(() => {\n const currentRef = plotRef.current;\n if (!currentRef || processedData.length === 0) return;\n\n const xValues = processedData.map((p) => p.x);\n const yValues = processedData.map((p) => p.y);\n const ids = processedData.map((p) => String(p.id));\n\n // Create base trace\n const trace: Partial<Plotly.PlotData> & {\n unselected?: { marker?: { opacity?: number } };\n selected?: { marker?: { opacity?: number; line?: { color?: string; width?: number } } };\n } = {\n x: xValues,\n y: yValues,\n ids,\n mode: \"markers\",\n type: \"scatter\",\n marker: markerConfig,\n // \"none\" keeps hover events firing for the HTML tooltip without\n // showing Plotly's hover label; \"skip\" disables hover entirely\n hoverinfo: tooltipEnabled ? (nativeTooltip ? \"text\" : \"none\") : \"skip\",\n text: tooltipText,\n hovertemplate: tooltipEnabled && nativeTooltip ? \"%{text}<extra></extra>\" : undefined,\n showlegend: false,\n unselected: {\n marker: {\n opacity: 0.3,\n },\n },\n selected: {\n marker: {\n opacity: 1,\n line: {\n color: COLORS.selected,\n width: 2,\n },\n },\n },\n };\n\n const plotData: Plotly.Data[] = [trace as Plotly.Data];\n\n // Configure layout\n const layout: Partial<Plotly.Layout> = getPlotlyLayoutConfig({\n title,\n xAxis,\n yAxis,\n width,\n height,\n xRange,\n yRange,\n enableLassoSelection,\n enableBoxSelection,\n theme,\n });\n\n const config: Partial<Plotly.Config> = {\n responsive: true,\n displayModeBar: true,\n displaylogo: false,\n modeBarButtonsToAdd: [],\n modeBarButtonsToRemove: [\"toImage\"],\n };\n\n // Add selection mode buttons if enabled\n if (enableBoxSelection) {\n config.modeBarButtonsToAdd?.push(\"select2d\" as never);\n }\n if (enableLassoSelection) {\n config.modeBarButtonsToAdd?.push(\"lasso2d\" as never);\n }\n\n // Plotly is loaded lazily so it stays out of the consumer's main chunk\n // (SW-2007); the draw is skipped if the effect re-runs or unmounts first.\n let cancelled = false;\n let drawnElement: HTMLDivElement | null = null;\n void loadPlotly().then((plotly) => {\n if (cancelled || !plotRef.current) return;\n plotly.newPlot(currentRef, plotData, layout, config);\n\n // Attach event handlers\n const plotElement = currentRef as unknown as Plotly.PlotlyHTMLElement;\n\n // Handle point click\n if (enableClickSelection) {\n plotElement.on(\"plotly_click\", (eventData: Plotly.PlotMouseEvent) => {\n const point = eventData.points[0];\n if (point && point.data.ids) {\n const clickedId = point.data.ids[point.pointIndex];\n const clickedPoint = processedData.find((p) => String(p.id) === clickedId);\n\n if (clickedPoint) {\n // Call point click handler if provided\n onPointClickRef.current?.(clickedPoint, eventData.event as MouseEvent);\n\n // Handle selection. Use the original-typed ID from the matched point so\n // numeric IDs (e.g., 123) are preserved instead of being coerced to \"123\".\n const mode = getSelectionMode(eventData.event as MouseEvent);\n const newSelection = applySelection(selectedIdsRef.current, new Set([clickedPoint.id]), mode);\n\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, mode);\n }\n }\n });\n }\n\n // Handle box/lasso selection\n if (enableBoxSelection || enableLassoSelection) {\n plotElement.on(\"plotly_selected\", (eventData: Plotly.PlotSelectionEvent) => {\n if (eventData && eventData.points) {\n const selectedPointIds = eventData.points\n .map((p): string | number | null => {\n if (p.data.ids && p.pointIndex !== undefined) {\n const strId = p.data.ids[p.pointIndex] as string;\n // Restore the original ID type (string or number) via the lookup.\n return originalIdLookup.get(strId) ?? strId;\n }\n return null;\n })\n .filter((id: string | number | null): id is string | number => id !== null);\n\n // Get selection mode from keyboard state\n // Note: Plotly doesn't pass the original event, so we can't detect modifiers\n // For now, box/lasso selection always replaces\n const mode: SelectionMode = \"replace\";\n const newSelection = new Set<string | number>(selectedPointIds);\n\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, mode);\n }\n });\n\n // Handle deselect (clicking on background)\n plotElement.on(\"plotly_deselect\", () => {\n const newSelection = new Set<string | number>();\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, \"replace\");\n });\n }\n\n // Design-system tooltip driven by Plotly hover events\n if (tooltipEnabled && !nativeTooltip) {\n bindTooltip(currentRef);\n }\n\n // Capture ref value for cleanup\n drawnElement = currentRef;\n });\n\n return () => {\n cancelled = true;\n if (drawnElement) {\n getLoadedPlotly().purge(drawnElement);\n }\n };\n }, [\n processedData,\n markerConfig,\n xAxis,\n yAxis,\n xRange,\n yRange,\n title,\n width,\n height,\n tooltip,\n tooltipText,\n enableClickSelection,\n enableBoxSelection,\n enableLassoSelection,\n originalIdLookup,\n tooltipEnabled,\n nativeTooltip,\n bindTooltip,\n theme,\n ]);\n\n // Apply selection state to Plotly\n useEffect(() => {\n if (!plotRef.current || processedData.length === 0) return;\n\n // Wait for the lazily-loaded Plotly module: the draw effect registers its\n // loadPlotly().then first, so by the time this callback runs the plot has\n // been drawn — preserving the original \"restyle right after newPlot\"\n // ordering on initial mount.\n let cancelled = false;\n void loadPlotly().then((plotly) => {\n const currentRef = plotRef.current;\n if (cancelled || !currentRef) return;\n // Guard: skip if the chart hasn't been drawn (e.g. the draw was cancelled).\n if (!(currentRef as { _fullLayout?: unknown })._fullLayout) return;\n\n const plotElement = currentRef as unknown as Plotly.PlotlyHTMLElement;\n\n // Find indices of selected points. Use the string-normalized set to match the string IDs Plotly stores\n const selectedIndices = processedData\n .map((point, index) => (normalizedSelectedIds.has(String(point.id)) ? index : null))\n .filter((index): index is number => index !== null);\n\n // Update Plotly selection\n if (selectedIndices.length > 0) {\n plotly.restyle(\n plotElement,\n {\n selectedpoints: [selectedIndices],\n },\n [0],\n );\n } else {\n plotly.restyle(\n plotElement,\n {\n selectedpoints: [null],\n },\n [0],\n );\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [normalizedSelectedIds, processedData]);\n\n const containerClassName = className\n ? `scatter-plot-interactive relative ${className}`\n : \"scatter-plot-interactive relative\";\n\n return (\n <div className={containerClassName}>\n <div ref={plotRef} className=\"scatter-plot-interactive__plot\" style={{ width, height }} />\n {tooltipElement}\n </div>\n );\n};\n\nexport { ScatterPlotInteractive };\n"],"names":["DEFAULT_AXIS_CONFIG","DEFAULT_TOOLTIP_CONFIG","ScatterPlotInteractive","data","title","xAxis","yAxis","colorMapping","shapeMapping","sizeMapping","tooltip","enableClickSelection","enableBoxSelection","enableLassoSelection","controlledSelectedIds","onSelectionChange","onPointClick","downsampling","width","height","showColorBar","className","plotRef","useRef","theme","usePlotlyTheme","onSelectionChangeRef","onPointClickRef","selectedIdsRef","isControlledRef","internalSelectedIds","setInternalSelectedIds","useState","isControlled","selectedIds","normalizedSelectedIds","useMemo","originalIdLookup","p","processedData","downsampleData","colors","mapColors","shapes","mapShapes","sizes","mapSizes","xRange","calculateAxisRange","PLOT_CONSTANTS","yRange","tooltipEnabled","nativeTooltip","tooltipText","point","generateTooltipContent","bindTooltip","tooltipElement","useChartTooltip","points","index","plotlyColors","value","plotlyColorscale","scale","DEFAULT_COLOR_SCALE","markerConfig","config","range","calculateRange","useEffect","currentRef","xValues","yValues","ids","plotData","COLORS","layout","getPlotlyLayoutConfig","cancelled","drawnElement","loadPlotly","plotly","plotElement","eventData","clickedId","clickedPoint","mode","getSelectionMode","newSelection","applySelection","selectedPointIds","strId","id","getLoadedPlotly","selectedIndices","containerClassName","jsxs","jsx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../../hooks/use-plotly-theme.cjs"),_=require("../../../utils/colors.cjs"),O={primary:_.CHART_COLORS[0],selected:_.CHART_COLORS[3]},E=_.toPlotlyColorscale(_.CHART_DIVERGING.blueOrange),A=_.CHART_COLORS,I=8,L=[4,20],R=5e3,S={MARGIN_LEFT:80,MARGIN_RIGHT:30,MARGIN_TOP:80,MARGIN_BOTTOM:80,TITLE_FONT_SIZE:20,AXIS_TITLE_FONT_SIZE:16,AXIS_TICK_FONT_SIZE:12,LEGEND_FONT_SIZE:12,FONT_FAMILY:T.CHART_FONT_FAMILY,GRID_WIDTH:1,AXIS_LINE_WIDTH:1,AUTO_RANGE_PADDING:.1},N={ADD:"shiftKey",REMOVE:"ctrlKey",TOGGLE:"both"};exports.COLORS=O;exports.DEFAULT_CATEGORY_COLORS=A;exports.DEFAULT_COLOR_SCALE=E;exports.DEFAULT_MARKER_SIZE=I;exports.DEFAULT_MAX_POINTS=R;exports.DEFAULT_SIZE_RANGE=L;exports.PLOT_CONSTANTS=S;exports.SELECTION_MODIFIERS=N;
2
+ //# sourceMappingURL=constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs","sources":["../../../../src/components/charts/ScatterPlotInteractive/constants.ts"],"sourcesContent":["import { CHART_FONT_FAMILY } from \"@/hooks/use-plotly-theme\";\nimport {\n CHART_COLORS,\n CHART_DIVERGING,\n toPlotlyColorscale,\n} from \"@/utils/colors\";\n\n/**\n * Default colors for the scatter plot. Background, grid, and axis colors\n * come from the active theme via `usePlotlyTheme`.\n */\nexport const COLORS = {\n primary: CHART_COLORS[0],\n selected: CHART_COLORS[3],\n};\n\n/**\n * Default color scale for continuous color mapping (CVD-friendly diverging ramp)\n */\nexport const DEFAULT_COLOR_SCALE: Array<[number, string]> =\n toPlotlyColorscale(CHART_DIVERGING.blueOrange);\n\n/**\n * Default category colors (cycle through these)\n */\nexport const DEFAULT_CATEGORY_COLORS = CHART_COLORS;\n\n/**\n * Default sizes\n */\nexport const DEFAULT_MARKER_SIZE = 8;\nexport const DEFAULT_SIZE_RANGE: [number, number] = [4, 20];\n\n/**\n * Default downsampling configuration\n */\nexport const DEFAULT_MAX_POINTS = 5000;\n\n/**\n * Constants for plot layout\n */\nexport const PLOT_CONSTANTS = {\n MARGIN_LEFT: 80,\n MARGIN_RIGHT: 30,\n MARGIN_TOP: 80,\n MARGIN_BOTTOM: 80,\n TITLE_FONT_SIZE: 20,\n AXIS_TITLE_FONT_SIZE: 16,\n AXIS_TICK_FONT_SIZE: 12,\n LEGEND_FONT_SIZE: 12,\n FONT_FAMILY: CHART_FONT_FAMILY,\n GRID_WIDTH: 1,\n AXIS_LINE_WIDTH: 1,\n AUTO_RANGE_PADDING: 0.1, // 10% padding\n};\n\n/**\n * Selection mode keyboard modifiers\n */\nexport const SELECTION_MODIFIERS = {\n ADD: \"shiftKey\", // Shift\n REMOVE: \"ctrlKey\", // Ctrl/Cmd\n TOGGLE: \"both\", // Shift + Ctrl/Cmd\n} as const;\n"],"names":["COLORS","CHART_COLORS","DEFAULT_COLOR_SCALE","toPlotlyColorscale","CHART_DIVERGING","DEFAULT_CATEGORY_COLORS","DEFAULT_MARKER_SIZE","DEFAULT_SIZE_RANGE","DEFAULT_MAX_POINTS","PLOT_CONSTANTS","CHART_FONT_FAMILY","SELECTION_MODIFIERS"],"mappings":"8KAWaA,EAAS,CACpB,QAASC,EAAAA,aAAa,CAAC,EACvB,SAAUA,EAAAA,aAAa,CAAC,CAC1B,EAKaC,EACXC,EAAAA,mBAAmBC,EAAAA,gBAAgB,UAAU,EAKlCC,EAA0BJ,EAAAA,aAK1BK,EAAsB,EACtBC,EAAuC,CAAC,EAAG,EAAE,EAK7CC,EAAqB,IAKrBC,EAAiB,CAC5B,YAAa,GACb,aAAc,GACd,WAAY,GACZ,cAAe,GACf,gBAAiB,GACjB,qBAAsB,GACtB,oBAAqB,GACrB,iBAAkB,GAClB,YAAaC,EAAAA,kBACb,WAAY,EACZ,gBAAiB,EACjB,mBAAoB,EACtB,EAKaC,EAAsB,CACjC,IAAK,WACL,OAAQ,UACR,OAAQ,MACV"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Default colors for the scatter plot. Background, grid, and axis colors
3
+ * come from the active theme via `usePlotlyTheme`.
4
+ */
5
+ export declare const COLORS: {
6
+ primary: string;
7
+ selected: string;
8
+ };
9
+ /**
10
+ * Default color scale for continuous color mapping (CVD-friendly diverging ramp)
11
+ */
12
+ export declare const DEFAULT_COLOR_SCALE: Array<[number, string]>;
13
+ /**
14
+ * Default category colors (cycle through these)
15
+ */
16
+ export declare const DEFAULT_CATEGORY_COLORS: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
17
+ /**
18
+ * Default sizes
19
+ */
20
+ export declare const DEFAULT_MARKER_SIZE = 8;
21
+ export declare const DEFAULT_SIZE_RANGE: [number, number];
22
+ /**
23
+ * Default downsampling configuration
24
+ */
25
+ export declare const DEFAULT_MAX_POINTS = 5000;
26
+ /**
27
+ * Constants for plot layout
28
+ */
29
+ export declare const PLOT_CONSTANTS: {
30
+ MARGIN_LEFT: number;
31
+ MARGIN_RIGHT: number;
32
+ MARGIN_TOP: number;
33
+ MARGIN_BOTTOM: number;
34
+ TITLE_FONT_SIZE: number;
35
+ AXIS_TITLE_FONT_SIZE: number;
36
+ AXIS_TICK_FONT_SIZE: number;
37
+ LEGEND_FONT_SIZE: number;
38
+ FONT_FAMILY: string;
39
+ GRID_WIDTH: number;
40
+ AXIS_LINE_WIDTH: number;
41
+ AUTO_RANGE_PADDING: number;
42
+ };
43
+ /**
44
+ * Selection mode keyboard modifiers
45
+ */
46
+ export declare const SELECTION_MODIFIERS: {
47
+ readonly ADD: "shiftKey";
48
+ readonly REMOVE: "ctrlKey";
49
+ readonly TOGGLE: "both";
50
+ };
@@ -0,0 +1,38 @@
1
+ import { CHART_FONT_FAMILY as T } from "../../../hooks/use-plotly-theme.js";
2
+ import { CHART_COLORS as _, toPlotlyColorscale as I, CHART_DIVERGING as E } from "../../../utils/colors.js";
3
+ const R = {
4
+ primary: _[0],
5
+ selected: _[3]
6
+ }, L = I(E.blueOrange), N = _, o = 8, S = [4, 20], t = 5e3, D = {
7
+ MARGIN_LEFT: 80,
8
+ MARGIN_RIGHT: 30,
9
+ MARGIN_TOP: 80,
10
+ MARGIN_BOTTOM: 80,
11
+ TITLE_FONT_SIZE: 20,
12
+ AXIS_TITLE_FONT_SIZE: 16,
13
+ AXIS_TICK_FONT_SIZE: 12,
14
+ LEGEND_FONT_SIZE: 12,
15
+ FONT_FAMILY: T,
16
+ GRID_WIDTH: 1,
17
+ AXIS_LINE_WIDTH: 1,
18
+ AUTO_RANGE_PADDING: 0.1
19
+ // 10% padding
20
+ }, F = {
21
+ ADD: "shiftKey",
22
+ // Shift
23
+ REMOVE: "ctrlKey",
24
+ // Ctrl/Cmd
25
+ TOGGLE: "both"
26
+ // Shift + Ctrl/Cmd
27
+ };
28
+ export {
29
+ R as COLORS,
30
+ N as DEFAULT_CATEGORY_COLORS,
31
+ L as DEFAULT_COLOR_SCALE,
32
+ o as DEFAULT_MARKER_SIZE,
33
+ t as DEFAULT_MAX_POINTS,
34
+ S as DEFAULT_SIZE_RANGE,
35
+ D as PLOT_CONSTANTS,
36
+ F as SELECTION_MODIFIERS
37
+ };
38
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/charts/ScatterPlotInteractive/constants.ts"],"sourcesContent":["import { CHART_FONT_FAMILY } from \"@/hooks/use-plotly-theme\";\nimport {\n CHART_COLORS,\n CHART_DIVERGING,\n toPlotlyColorscale,\n} from \"@/utils/colors\";\n\n/**\n * Default colors for the scatter plot. Background, grid, and axis colors\n * come from the active theme via `usePlotlyTheme`.\n */\nexport const COLORS = {\n primary: CHART_COLORS[0],\n selected: CHART_COLORS[3],\n};\n\n/**\n * Default color scale for continuous color mapping (CVD-friendly diverging ramp)\n */\nexport const DEFAULT_COLOR_SCALE: Array<[number, string]> =\n toPlotlyColorscale(CHART_DIVERGING.blueOrange);\n\n/**\n * Default category colors (cycle through these)\n */\nexport const DEFAULT_CATEGORY_COLORS = CHART_COLORS;\n\n/**\n * Default sizes\n */\nexport const DEFAULT_MARKER_SIZE = 8;\nexport const DEFAULT_SIZE_RANGE: [number, number] = [4, 20];\n\n/**\n * Default downsampling configuration\n */\nexport const DEFAULT_MAX_POINTS = 5000;\n\n/**\n * Constants for plot layout\n */\nexport const PLOT_CONSTANTS = {\n MARGIN_LEFT: 80,\n MARGIN_RIGHT: 30,\n MARGIN_TOP: 80,\n MARGIN_BOTTOM: 80,\n TITLE_FONT_SIZE: 20,\n AXIS_TITLE_FONT_SIZE: 16,\n AXIS_TICK_FONT_SIZE: 12,\n LEGEND_FONT_SIZE: 12,\n FONT_FAMILY: CHART_FONT_FAMILY,\n GRID_WIDTH: 1,\n AXIS_LINE_WIDTH: 1,\n AUTO_RANGE_PADDING: 0.1, // 10% padding\n};\n\n/**\n * Selection mode keyboard modifiers\n */\nexport const SELECTION_MODIFIERS = {\n ADD: \"shiftKey\", // Shift\n REMOVE: \"ctrlKey\", // Ctrl/Cmd\n TOGGLE: \"both\", // Shift + Ctrl/Cmd\n} as const;\n"],"names":["COLORS","CHART_COLORS","DEFAULT_COLOR_SCALE","toPlotlyColorscale","CHART_DIVERGING","DEFAULT_CATEGORY_COLORS","DEFAULT_MARKER_SIZE","DEFAULT_SIZE_RANGE","DEFAULT_MAX_POINTS","PLOT_CONSTANTS","CHART_FONT_FAMILY","SELECTION_MODIFIERS"],"mappings":";;AAWO,MAAMA,IAAS;AAAA,EACpB,SAASC,EAAa,CAAC;AAAA,EACvB,UAAUA,EAAa,CAAC;AAC1B,GAKaC,IACXC,EAAmBC,EAAgB,UAAU,GAKlCC,IAA0BJ,GAK1BK,IAAsB,GACtBC,IAAuC,CAAC,GAAG,EAAE,GAK7CC,IAAqB,KAKrBC,IAAiB;AAAA,EAC5B,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,aAAaC;AAAA,EACb,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AACtB,GAKaC,IAAsB;AAAA,EACjC,KAAK;AAAA;AAAA,EACL,QAAQ;AAAA;AAAA,EACR,QAAQ;AAAA;AACV;"}
@@ -0,0 +1,3 @@
1
+ export { ScatterPlotInteractive } from './ScatterPlotInteractive';
2
+ export * from './types';
3
+ export * from './constants';
@@ -0,0 +1,226 @@
1
+ /**
2
+ * A single data point in the scatter plot
3
+ */
4
+ export interface ScatterPoint {
5
+ /** Unique identifier for the point */
6
+ id: string | number;
7
+ /** X-axis value */
8
+ x: number;
9
+ /** Y-axis value */
10
+ y: number;
11
+ /** Optional label for the point */
12
+ label?: string;
13
+ /** Additional metadata for tooltips and styling */
14
+ metadata?: Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Scale type for axes
18
+ */
19
+ export type ScaleType = "linear" | "log";
20
+ /**
21
+ * Marker shape for scatter points
22
+ */
23
+ export type MarkerShape = "circle" | "square" | "diamond" | "cross" | "x" | "triangle-up" | "triangle-down" | "star";
24
+ /**
25
+ * Selection mode for interactive selection
26
+ */
27
+ export type SelectionMode = "replace" | "add" | "remove" | "toggle";
28
+ /**
29
+ * Color mapping configuration
30
+ */
31
+ export interface ColorMapping {
32
+ /** Type of mapping: data-driven or static */
33
+ type: "static" | "continuous" | "categorical";
34
+ /** Static color value (for type: "static") */
35
+ value?: string;
36
+ /** Data field to map (for type: "continuous" | "categorical") */
37
+ field?: string;
38
+ /** Color scale for continuous mapping */
39
+ colorScale?: string | Array<[number, string]>;
40
+ /** Discrete colors for categorical mapping */
41
+ categoryColors?: Record<string, string>;
42
+ /** Min/max values for continuous mapping (auto-calculated if not provided) */
43
+ min?: number;
44
+ max?: number;
45
+ }
46
+ /**
47
+ * Shape mapping configuration
48
+ */
49
+ export interface ShapeMapping {
50
+ /** Type of mapping: data-driven or static */
51
+ type: "static" | "categorical";
52
+ /** Static shape value (for type: "static") */
53
+ value?: MarkerShape;
54
+ /** Data field to map (for type: "categorical") */
55
+ field?: string;
56
+ /** Shape mapping for categorical values */
57
+ categoryShapes?: Record<string, MarkerShape>;
58
+ }
59
+ /**
60
+ * Size mapping configuration
61
+ */
62
+ export interface SizeMapping {
63
+ /** Type of mapping: data-driven or static */
64
+ type: "static" | "continuous" | "categorical";
65
+ /** Static size value (for type: "static") */
66
+ value?: number;
67
+ /** Data field to map (for type: "continuous" | "categorical") */
68
+ field?: string;
69
+ /** Size range for continuous mapping */
70
+ sizeRange?: [number, number];
71
+ /** Discrete sizes for categorical mapping */
72
+ categorySizes?: Record<string, number>;
73
+ /** Min/max values for continuous mapping (auto-calculated if not provided) */
74
+ min?: number;
75
+ max?: number;
76
+ }
77
+ /**
78
+ * Axis configuration
79
+ */
80
+ export interface AxisConfig {
81
+ /** Axis label */
82
+ title?: string;
83
+ /** Scale type (linear or log) */
84
+ scale?: ScaleType;
85
+ /** Fixed axis range [min, max] */
86
+ range?: [number, number];
87
+ /** Auto-range with optional padding percentage (0-1) */
88
+ autoRange?: boolean;
89
+ /** Padding percentage for auto-range (default: 0.1 = 10%) */
90
+ autoRangePadding?: number;
91
+ }
92
+ /**
93
+ * Tooltip configuration
94
+ */
95
+ export interface TooltipConfig {
96
+ /** Enable/disable tooltips */
97
+ enabled?: boolean;
98
+ /** Custom tooltip content function. Lines are separated with `<br>`. */
99
+ content?: (point: ScatterPoint) => string;
100
+ /** Fields to display in default tooltip */
101
+ fields?: string[];
102
+ /**
103
+ * Use Plotly's built-in hover labels instead of the theme-styled
104
+ * HTML tooltip rendered by the component.
105
+ * @default false
106
+ */
107
+ native?: boolean;
108
+ }
109
+ /**
110
+ * Selection state
111
+ */
112
+ export interface SelectionState {
113
+ /** Array of selected point IDs */
114
+ selectedIds: Set<string | number>;
115
+ }
116
+ /**
117
+ * Downsampling configuration for performance optimization
118
+ */
119
+ export interface DownsamplingConfig {
120
+ /** Enable downsampling */
121
+ enabled: boolean;
122
+ /** Target number of points to display */
123
+ maxPoints?: number;
124
+ /** Downsampling strategy */
125
+ strategy?: "lttb";
126
+ }
127
+ /**
128
+ * Props for ScatterPlotInteractive component
129
+ */
130
+ export interface ScatterPlotInteractiveProps {
131
+ /**
132
+ * Array of data points to plot
133
+ */
134
+ data: ScatterPoint[];
135
+ /**
136
+ * Chart title
137
+ */
138
+ title?: string;
139
+ /**
140
+ * X-axis configuration
141
+ */
142
+ xAxis?: AxisConfig;
143
+ /**
144
+ * Y-axis configuration
145
+ */
146
+ yAxis?: AxisConfig;
147
+ /**
148
+ * Color mapping configuration
149
+ */
150
+ colorMapping?: ColorMapping;
151
+ /**
152
+ * Shape mapping configuration
153
+ */
154
+ shapeMapping?: ShapeMapping;
155
+ /**
156
+ * Size mapping configuration
157
+ */
158
+ sizeMapping?: SizeMapping;
159
+ /**
160
+ * Tooltip configuration
161
+ */
162
+ tooltip?: TooltipConfig;
163
+ /**
164
+ * Enable click selection
165
+ * @default true
166
+ */
167
+ enableClickSelection?: boolean;
168
+ /**
169
+ * Enable box selection (drag to select rectangular region)
170
+ * @default true
171
+ */
172
+ enableBoxSelection?: boolean;
173
+ /**
174
+ * Enable lasso selection (freeform selection)
175
+ * @default true
176
+ */
177
+ enableLassoSelection?: boolean;
178
+ /**
179
+ * Controlled selection state.
180
+ * If provided, component operates in controlled mode.
181
+ */
182
+ selectedIds?: Set<string | number>;
183
+ /**
184
+ * Callback when selection changes
185
+ */
186
+ onSelectionChange?: (selectedIds: Set<string | number>, mode: SelectionMode) => void;
187
+ /**
188
+ * Callback when a point is clicked
189
+ */
190
+ onPointClick?: (point: ScatterPoint, event: MouseEvent) => void;
191
+ /**
192
+ * Downsampling configuration for large datasets
193
+ */
194
+ downsampling?: DownsamplingConfig;
195
+ /**
196
+ * Chart width in pixels
197
+ * @default 800
198
+ */
199
+ width?: number;
200
+ /**
201
+ * Chart height in pixels
202
+ * @default 600
203
+ */
204
+ height?: number;
205
+ /**
206
+ * Show the continuous color-scale bar when using a continuous `colorMapping`.
207
+ * Has no effect for categorical or static mappings.
208
+ * @default true
209
+ */
210
+ showColorBar?: boolean;
211
+ /**
212
+ * Custom CSS class name
213
+ */
214
+ className?: string;
215
+ }
216
+ /**
217
+ * Data format for selection propagation between components
218
+ */
219
+ export interface SelectionEvent {
220
+ /** Array of selected point IDs */
221
+ selectedIds: Set<string | number>;
222
+ /** Selection mode used */
223
+ mode: SelectionMode;
224
+ /** Source component identifier (optional) */
225
+ source?: string;
226
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./constants.cjs");function I(t,e){let r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(const o of t){const l=o.metadata?.[e];typeof l=="number"&&Number.isFinite(l)&&(r=Math.min(r,l),n=Math.max(n,l))}return!Number.isFinite(r)||!Number.isFinite(n)?{min:0,max:1}:r===n?{min:r-1,max:n+1}:{min:r,max:n}}function S(t,e){const r=t.map(n=>n.metadata?.[e]).filter(n=>typeof n=="string");return[...new Set(r)].sort()}function d(t,e){if(!e||e.type==="static"){const r=e?.value||c.COLORS.primary;return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categoryColors||{},o={};return r.forEach((l,i)=>{o[l]=n[l]||c.DEFAULT_CATEGORY_COLORS[i%c.DEFAULT_CATEGORY_COLORS.length]}),t.map(l=>{const i=l.metadata?.[e.field];return o[String(i)]||c.DEFAULT_CATEGORY_COLORS[0]})}return new Array(t.length).fill(c.COLORS.primary)}function P(t,e){if(!e||e.type==="static"){const r=e?.value||"circle";return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categoryShapes||{},o=["circle","square","diamond","cross","x","triangle-up","triangle-down","star"],l={};return r.forEach((i,s)=>{l[i]=n[i]||o[s%o.length]}),t.map(i=>{const s=i.metadata?.[e.field];return l[String(s)]||"circle"})}return new Array(t.length).fill("circle")}function R(t,e){if(!e||e.type==="static"){const r=e?.value||c.DEFAULT_MARKER_SIZE;return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categorySizes||{},o={};return r.forEach((l,i)=>{o[l]=n[l]||c.DEFAULT_MARKER_SIZE+i*2}),t.map(l=>{const i=l.metadata?.[e.field];return o[String(i)]||c.DEFAULT_MARKER_SIZE})}if(e.type==="continuous"&&e.field){const r=e.min!==void 0&&e.max!==void 0?{min:e.min,max:e.max}:I(t,e.field),n=e.sizeRange||c.DEFAULT_SIZE_RANGE,[o,l]=n;return t.map(i=>{const s=i.metadata?.[e.field];if(typeof s=="number"&&Number.isFinite(s)){const f=(s-r.min)/(r.max-r.min);return o+f*(l-o)}return c.DEFAULT_MARKER_SIZE})}return new Array(t.length).fill(c.DEFAULT_MARKER_SIZE)}function b(t,e){if(!e.enabled||t.length<=(e.maxPoints||c.DEFAULT_MAX_POINTS))return t;const r=e.maxPoints||c.DEFAULT_MAX_POINTS;return(e.strategy||"lttb")==="lttb"?g(t,r):t}function v(t,e,r,n){const o=r-e;if(o>0){let i=0,s=0;for(let f=e;f<r;f++)i+=t[f].x,s+=t[f].y;return{x:i/o,y:s/o}}const l=Math.max(0,Math.min(e,n-1));return{x:t[l].x,y:t[l].y}}function g(t,e){const r=t.length;if(e<=0||r===0)return[];if(e>=r)return t;if(e===1)return[t[0]];if(e===2)return[t[0],t[r-1]];const n=(r-2)/(e-2),{floor:o,abs:l,min:i}=Math,s=[t[0]];let f=0;for(let a=0;a<e-2;a++){const u=i(o((a+1)*n)+1,r-1),C=i(o((a+2)*n)+1,r),{x:E,y:x}=v(t,u,C,r),m=i(o(a*n)+1,r-1),F=i(o((a+1)*n)+1,r-1),_=t[f].x,N=t[f].y;let O=-1,A=t[m],y=m;for(let T=m;T<F;T++){const L=l((_-E)*(t[T].y-N)-(_-t[T].x)*(x-N))*.5;L>O&&(O=L,A=t[T],y=T)}s.push(A),f=y}return s.push(t[r-1]),s}function D(t,e){const r=[];if(r.push(`X: ${t.x.toFixed(2)}`),r.push(`Y: ${t.y.toFixed(2)}`),t.label&&r.push(`Label: ${t.label}`),e&&t.metadata){for(const n of e)if(n in t.metadata){const o=t.metadata[n];r.push(`${n}: ${o}`)}}else if(t.metadata&&!e)for(const[n,o]of Object.entries(t.metadata))r.push(`${n}: ${o}`);return r.join("<br>")}function h(t){const e=t.ctrlKey||t.metaKey;return t.shiftKey&&e?"toggle":t.shiftKey?"add":e?"remove":"replace"}function Y(t,e,r=.1,n="linear"){const o=n==="log";let l=1/0,i=-1/0;for(const f of t){const a=f[e];if(!Number.isFinite(a)||o&&a<=0)continue;const u=o?Math.log10(a):a;u<l&&(l=u),u>i&&(i=u)}if(!Number.isFinite(l))return[0,1];if(l===i)return[l-1,i+1];const s=i-l;return[l-s*r,i+s*r]}function w(t,e,r){const n=new Set(t);switch(r){case"replace":return new Set(e);case"add":for(const o of e)n.add(o);return n;case"remove":for(const o of e)n.delete(o);return n;case"toggle":for(const o of e)n.has(o)?n.delete(o):n.add(o);return n;default:return n}}const U=({title:t,xAxis:e,yAxis:r,width:n,height:o,xRange:l,yRange:i,enableLassoSelection:s,enableBoxSelection:f,theme:a})=>({autosize:!1,width:n,height:o,title:t?{text:t,font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.TITLE_FONT_SIZE,color:a.textColor},x:.5,xanchor:"center"}:void 0,margin:{l:c.PLOT_CONSTANTS.MARGIN_LEFT,r:c.PLOT_CONSTANTS.MARGIN_RIGHT,t:t?c.PLOT_CONSTANTS.MARGIN_TOP:c.PLOT_CONSTANTS.MARGIN_TOP-c.PLOT_CONSTANTS.TITLE_FONT_SIZE,b:c.PLOT_CONSTANTS.MARGIN_BOTTOM},xaxis:{title:{text:e.title||"",font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TITLE_FONT_SIZE,color:a.textSecondary}},type:e.scale==="log"?"log":"linear",range:l,autorange:!l,gridcolor:a.gridColor,linecolor:a.lineColor,linewidth:c.PLOT_CONSTANTS.AXIS_LINE_WIDTH,tickfont:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TICK_FONT_SIZE,color:a.textColor},zeroline:!1},yaxis:{title:{text:r.title||"",font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TITLE_FONT_SIZE,color:a.textSecondary}},type:r.scale==="log"?"log":"linear",range:i,autorange:!i,gridcolor:a.gridColor,linecolor:a.lineColor,linewidth:c.PLOT_CONSTANTS.AXIS_LINE_WIDTH,tickfont:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TICK_FONT_SIZE,color:a.textColor},zeroline:!1},paper_bgcolor:a.paperBg,plot_bgcolor:a.plotBg,font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,color:a.textColor},hovermode:"closest",dragmode:s?"lasso":f?"select":!1});exports.applySelection=w;exports.calculateAxisRange=Y;exports.calculateRange=I;exports.downsampleData=b;exports.generateTooltipContent=D;exports.getPlotlyLayoutConfig=U;exports.getSelectionMode=h;exports.getUniqueCategories=S;exports.lttbDownsample=g;exports.mapColors=d;exports.mapShapes=P;exports.mapSizes=R;
2
+ //# sourceMappingURL=utils.cjs.map