@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.20.1 → 0.5.0-beta.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/dist/components/charts/AreaGraph/AreaGraph.cjs +2 -0
  2. package/dist/components/charts/AreaGraph/AreaGraph.cjs.map +1 -0
  3. package/dist/components/charts/AreaGraph/AreaGraph.js +209 -0
  4. package/dist/components/charts/AreaGraph/AreaGraph.js.map +1 -0
  5. package/dist/components/charts/BarGraph/BarGraph.cjs +2 -0
  6. package/dist/components/charts/BarGraph/BarGraph.cjs.map +1 -0
  7. package/dist/components/charts/BarGraph/BarGraph.js +175 -0
  8. package/dist/components/charts/BarGraph/BarGraph.js.map +1 -0
  9. package/dist/components/charts/Boxplot/Boxplot.cjs +2 -0
  10. package/dist/components/charts/Boxplot/Boxplot.cjs.map +1 -0
  11. package/dist/components/charts/Boxplot/Boxplot.js +171 -0
  12. package/dist/components/charts/Boxplot/Boxplot.js.map +1 -0
  13. package/dist/components/charts/Chromatogram/Chromatogram.cjs +2 -0
  14. package/dist/components/charts/Chromatogram/Chromatogram.cjs.map +1 -0
  15. package/dist/components/charts/Chromatogram/Chromatogram.js +164 -0
  16. package/dist/components/charts/Chromatogram/Chromatogram.js.map +1 -0
  17. package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs +2 -0
  18. package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs.map +1 -0
  19. package/dist/components/charts/ChromatogramChart/ChromatogramChart.js +219 -0
  20. package/dist/components/charts/ChromatogramChart/ChromatogramChart.js.map +1 -0
  21. package/dist/components/charts/ChromatogramChart/annotations.cjs +2 -0
  22. package/dist/components/charts/ChromatogramChart/annotations.cjs.map +1 -0
  23. package/dist/components/charts/ChromatogramChart/annotations.js +73 -0
  24. package/dist/components/charts/ChromatogramChart/annotations.js.map +1 -0
  25. package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs +2 -0
  26. package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs.map +1 -0
  27. package/dist/components/charts/ChromatogramChart/boundaryMarkers.js +34 -0
  28. package/dist/components/charts/ChromatogramChart/boundaryMarkers.js.map +1 -0
  29. package/dist/components/charts/ChromatogramChart/constants.cjs +2 -0
  30. package/dist/components/charts/ChromatogramChart/constants.cjs.map +1 -0
  31. package/dist/components/charts/ChromatogramChart/constants.js +24 -0
  32. package/dist/components/charts/ChromatogramChart/constants.js.map +1 -0
  33. package/dist/components/charts/ChromatogramChart/dataProcessing.cjs +2 -0
  34. package/dist/components/charts/ChromatogramChart/dataProcessing.cjs.map +1 -0
  35. package/dist/components/charts/ChromatogramChart/dataProcessing.js +90 -0
  36. package/dist/components/charts/ChromatogramChart/dataProcessing.js.map +1 -0
  37. package/dist/components/charts/ChromatogramChart/peakDetection.cjs +2 -0
  38. package/dist/components/charts/ChromatogramChart/peakDetection.cjs.map +1 -0
  39. package/dist/components/charts/ChromatogramChart/peakDetection.js +89 -0
  40. package/dist/components/charts/ChromatogramChart/peakDetection.js.map +1 -0
  41. package/dist/components/charts/DotPlot/DotPlot.cjs +2 -0
  42. package/dist/components/charts/DotPlot/DotPlot.cjs.map +1 -0
  43. package/dist/components/charts/DotPlot/DotPlot.js +184 -0
  44. package/dist/components/charts/DotPlot/DotPlot.js.map +1 -0
  45. package/dist/components/charts/Heatmap/Heatmap.cjs +2 -0
  46. package/dist/components/charts/Heatmap/Heatmap.cjs.map +1 -0
  47. package/dist/components/charts/Heatmap/Heatmap.js +67 -0
  48. package/dist/components/charts/Heatmap/Heatmap.js.map +1 -0
  49. package/dist/components/charts/Histogram/Histogram.cjs +2 -0
  50. package/dist/components/charts/Histogram/Histogram.cjs.map +1 -0
  51. package/dist/components/charts/Histogram/Histogram.js +209 -0
  52. package/dist/components/charts/Histogram/Histogram.js.map +1 -0
  53. package/dist/components/charts/LineGraph/LineGraph.cjs +2 -0
  54. package/dist/components/charts/LineGraph/LineGraph.cjs.map +1 -0
  55. package/dist/components/charts/LineGraph/LineGraph.js +185 -0
  56. package/dist/components/charts/LineGraph/LineGraph.js.map +1 -0
  57. package/dist/components/charts/PieChart/PieChart.cjs +2 -0
  58. package/dist/components/charts/PieChart/PieChart.cjs.map +1 -0
  59. package/dist/components/charts/PieChart/PieChart.js +106 -0
  60. package/dist/components/charts/PieChart/PieChart.js.map +1 -0
  61. package/dist/components/charts/PlateMap/PlateMap.cjs +2 -0
  62. package/dist/components/charts/PlateMap/PlateMap.cjs.map +1 -0
  63. package/dist/components/charts/PlateMap/PlateMap.js +450 -0
  64. package/dist/components/charts/PlateMap/PlateMap.js.map +1 -0
  65. package/dist/components/charts/PlateMap/constants.cjs +2 -0
  66. package/dist/components/charts/PlateMap/constants.cjs.map +1 -0
  67. package/dist/components/charts/PlateMap/constants.js +137 -0
  68. package/dist/components/charts/PlateMap/constants.js.map +1 -0
  69. package/dist/components/charts/PlateMap/types.cjs +2 -0
  70. package/dist/components/charts/PlateMap/types.cjs.map +1 -0
  71. package/dist/components/charts/PlateMap/types.js +8 -0
  72. package/dist/components/charts/PlateMap/types.js.map +1 -0
  73. package/dist/components/charts/PlateMap/utils.cjs +2 -0
  74. package/dist/components/charts/PlateMap/utils.cjs.map +1 -0
  75. package/dist/components/charts/PlateMap/utils.js +235 -0
  76. package/dist/components/charts/PlateMap/utils.js.map +1 -0
  77. package/dist/components/charts/ScatterGraph/ScatterGraph.cjs +2 -0
  78. package/dist/components/charts/ScatterGraph/ScatterGraph.cjs.map +1 -0
  79. package/dist/components/charts/ScatterGraph/ScatterGraph.js +186 -0
  80. package/dist/components/charts/ScatterGraph/ScatterGraph.js.map +1 -0
  81. package/dist/components/composed/AppHeader/AppHeader.cjs +2 -0
  82. package/dist/components/composed/AppHeader/AppHeader.cjs.map +1 -0
  83. package/dist/components/composed/AppHeader/AppHeader.js +35 -0
  84. package/dist/components/composed/AppHeader/AppHeader.js.map +1 -0
  85. package/dist/components/composed/AppLayout/AppLayout.cjs +2 -0
  86. package/dist/components/composed/AppLayout/AppLayout.cjs.map +1 -0
  87. package/dist/components/composed/AppLayout/AppLayout.js +65 -0
  88. package/dist/components/composed/AppLayout/AppLayout.js.map +1 -0
  89. package/dist/components/composed/AssistantModal/AssistantModal.cjs +2 -0
  90. package/dist/components/composed/AssistantModal/AssistantModal.cjs.map +1 -0
  91. package/dist/components/composed/AssistantModal/AssistantModal.js +75 -0
  92. package/dist/components/composed/AssistantModal/AssistantModal.js.map +1 -0
  93. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs +3 -0
  94. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.cjs.map +1 -0
  95. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js +74 -0
  96. package/dist/components/composed/CodeScriptEditorButton/CodeScriptEditorButton.js.map +1 -0
  97. package/dist/components/composed/LaunchContent/LaunchContent.cjs +6 -0
  98. package/dist/components/composed/LaunchContent/LaunchContent.cjs.map +1 -0
  99. package/dist/components/composed/LaunchContent/LaunchContent.js +66 -0
  100. package/dist/components/composed/LaunchContent/LaunchContent.js.map +1 -0
  101. package/dist/components/composed/Main/LaunchContentPanel.cjs +6 -0
  102. package/dist/components/composed/Main/LaunchContentPanel.cjs.map +1 -0
  103. package/dist/components/composed/Main/LaunchContentPanel.js +63 -0
  104. package/dist/components/composed/Main/LaunchContentPanel.js.map +1 -0
  105. package/dist/components/composed/Main/Main.cjs +2 -0
  106. package/dist/components/composed/Main/Main.cjs.map +1 -0
  107. package/dist/components/composed/Main/Main.js +276 -0
  108. package/dist/components/composed/Main/Main.js.map +1 -0
  109. package/dist/components/composed/Main/MainHeader.cjs +2 -0
  110. package/dist/components/composed/Main/MainHeader.cjs.map +1 -0
  111. package/dist/components/composed/Main/MainHeader.js +36 -0
  112. package/dist/components/composed/Main/MainHeader.js.map +1 -0
  113. package/dist/components/composed/Main/MainNavbar.cjs +2 -0
  114. package/dist/components/composed/Main/MainNavbar.cjs.map +1 -0
  115. package/dist/components/composed/Main/MainNavbar.js +25 -0
  116. package/dist/components/composed/Main/MainNavbar.js.map +1 -0
  117. package/dist/components/composed/Main/MainSidebar.cjs +2 -0
  118. package/dist/components/composed/Main/MainSidebar.cjs.map +1 -0
  119. package/dist/components/composed/Main/MainSidebar.js +12 -0
  120. package/dist/components/composed/Main/MainSidebar.js.map +1 -0
  121. package/dist/components/composed/Main/MainTabBar.cjs +2 -0
  122. package/dist/components/composed/Main/MainTabBar.cjs.map +1 -0
  123. package/dist/components/composed/Main/MainTabBar.js +7 -0
  124. package/dist/components/composed/Main/MainTabBar.js.map +1 -0
  125. package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs +2 -0
  126. package/dist/components/composed/Main/ProtocolConfigurationPanel.cjs.map +1 -0
  127. package/dist/components/composed/Main/ProtocolConfigurationPanel.js +30 -0
  128. package/dist/components/composed/Main/ProtocolConfigurationPanel.js.map +1 -0
  129. package/dist/components/composed/Main/TemplateSidebarCard.cjs +2 -0
  130. package/dist/components/composed/Main/TemplateSidebarCard.cjs.map +1 -0
  131. package/dist/components/composed/Main/TemplateSidebarCard.js +71 -0
  132. package/dist/components/composed/Main/TemplateSidebarCard.js.map +1 -0
  133. package/dist/components/composed/Navbar/Navbar.cjs +2 -0
  134. package/dist/components/composed/Navbar/Navbar.cjs.map +1 -0
  135. package/dist/components/composed/Navbar/Navbar.js +25 -0
  136. package/dist/components/composed/Navbar/Navbar.js.map +1 -0
  137. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs +2 -0
  138. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.cjs.map +1 -0
  139. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js +44 -0
  140. package/dist/components/composed/ProtocolConfiguration/ProtocolConfiguration.js.map +1 -0
  141. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs +2 -0
  142. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.cjs.map +1 -0
  143. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js +53 -0
  144. package/dist/components/composed/ProtocolYamlCard/ProtocolYamlCard.js.map +1 -0
  145. package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs +2 -0
  146. package/dist/components/composed/PythonEditorModal/PythonEditorModal.cjs.map +1 -0
  147. package/dist/components/composed/PythonEditorModal/PythonEditorModal.js +51 -0
  148. package/dist/components/composed/PythonEditorModal/PythonEditorModal.js.map +1 -0
  149. package/dist/components/composed/Sidebar/Sidebar.cjs +2 -0
  150. package/dist/components/composed/Sidebar/Sidebar.cjs.map +1 -0
  151. package/dist/components/composed/Sidebar/Sidebar.js +46 -0
  152. package/dist/components/composed/Sidebar/Sidebar.js.map +1 -0
  153. package/dist/components/composed/TdpSearch/TdpSearch.cjs +2 -0
  154. package/dist/components/composed/TdpSearch/TdpSearch.cjs.map +1 -0
  155. package/dist/components/composed/TdpSearch/TdpSearch.js +97 -0
  156. package/dist/components/composed/TdpSearch/TdpSearch.js.map +1 -0
  157. package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs +2 -0
  158. package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs.map +1 -0
  159. package/dist/components/composed/TdpSearch/components/DefaultFilters.js +31 -0
  160. package/dist/components/composed/TdpSearch/components/DefaultFilters.js.map +1 -0
  161. package/dist/components/composed/TdpSearch/components/DefaultResults.cjs +2 -0
  162. package/dist/components/composed/TdpSearch/components/DefaultResults.cjs.map +1 -0
  163. package/dist/components/composed/TdpSearch/components/DefaultResults.js +107 -0
  164. package/dist/components/composed/TdpSearch/components/DefaultResults.js.map +1 -0
  165. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs +2 -0
  166. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs.map +1 -0
  167. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js +32 -0
  168. package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js.map +1 -0
  169. package/dist/components/composed/TdpSearch/constants.cjs +2 -0
  170. package/dist/components/composed/TdpSearch/constants.cjs.map +1 -0
  171. package/dist/components/composed/TdpSearch/constants.js +7 -0
  172. package/dist/components/composed/TdpSearch/constants.js.map +1 -0
  173. package/dist/components/composed/TdpSearch/hooks/useSearch.cjs +2 -0
  174. package/dist/components/composed/TdpSearch/hooks/useSearch.cjs.map +1 -0
  175. package/dist/components/composed/TdpSearch/hooks/useSearch.js +52 -0
  176. package/dist/components/composed/TdpSearch/hooks/useSearch.js.map +1 -0
  177. package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.cjs +2 -0
  178. package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.cjs.map +1 -0
  179. package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.js +29 -0
  180. package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.js.map +1 -0
  181. package/dist/components/composed/TdpSearch/utils.cjs +2 -0
  182. package/dist/components/composed/TdpSearch/utils.cjs.map +1 -0
  183. package/dist/components/composed/TdpSearch/utils.js +15 -0
  184. package/dist/components/composed/TdpSearch/utils.js.map +1 -0
  185. package/dist/components/composed/tdp-link.cjs +2 -0
  186. package/dist/components/composed/tdp-link.cjs.map +1 -0
  187. package/dist/components/composed/tdp-link.js +84 -0
  188. package/dist/components/composed/tdp-link.js.map +1 -0
  189. package/dist/components/composed/tdp-url.cjs +2 -0
  190. package/dist/components/composed/tdp-url.cjs.map +1 -0
  191. package/dist/components/composed/tdp-url.js +76 -0
  192. package/dist/components/composed/tdp-url.js.map +1 -0
  193. package/dist/components/ui/accordion.cjs +2 -0
  194. package/dist/components/ui/accordion.cjs.map +1 -0
  195. package/dist/components/ui/accordion.js +83 -0
  196. package/dist/components/ui/accordion.js.map +1 -0
  197. package/dist/components/ui/alert-dialog.cjs +2 -0
  198. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  199. package/dist/components/ui/alert-dialog.js +181 -0
  200. package/dist/components/ui/alert-dialog.js.map +1 -0
  201. package/dist/components/ui/alert.cjs +2 -0
  202. package/dist/components/ui/alert.cjs.map +1 -0
  203. package/dist/components/ui/alert.js +78 -0
  204. package/dist/components/ui/alert.js.map +1 -0
  205. package/dist/components/ui/aspect-ratio.cjs +2 -0
  206. package/dist/components/ui/aspect-ratio.cjs.map +1 -0
  207. package/dist/components/ui/aspect-ratio.js +11 -0
  208. package/dist/components/ui/aspect-ratio.js.map +1 -0
  209. package/dist/components/ui/avatar.cjs +2 -0
  210. package/dist/components/ui/avatar.cjs.map +1 -0
  211. package/dist/components/ui/avatar.js +107 -0
  212. package/dist/components/ui/avatar.js.map +1 -0
  213. package/dist/components/ui/badge.cjs +2 -0
  214. package/dist/components/ui/badge.cjs.map +1 -0
  215. package/dist/components/ui/badge.js +44 -0
  216. package/dist/components/ui/badge.js.map +1 -0
  217. package/dist/components/ui/breadcrumb.cjs +2 -0
  218. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  219. package/dist/components/ui/breadcrumb.js +118 -0
  220. package/dist/components/ui/breadcrumb.js.map +1 -0
  221. package/dist/components/ui/button-group.cjs +2 -0
  222. package/dist/components/ui/button-group.cjs.map +1 -0
  223. package/dist/components/ui/button-group.js +77 -0
  224. package/dist/components/ui/button-group.js.map +1 -0
  225. package/dist/components/ui/button.cjs +2 -0
  226. package/dist/components/ui/button.cjs.map +1 -0
  227. package/dist/components/ui/button.js +57 -0
  228. package/dist/components/ui/button.js.map +1 -0
  229. package/dist/components/ui/calendar.cjs +2 -0
  230. package/dist/components/ui/calendar.cjs.map +1 -0
  231. package/dist/components/ui/calendar.js +174 -0
  232. package/dist/components/ui/calendar.js.map +1 -0
  233. package/dist/components/ui/card.cjs +2 -0
  234. package/dist/components/ui/card.cjs.map +1 -0
  235. package/dist/components/ui/card.js +102 -0
  236. package/dist/components/ui/card.js.map +1 -0
  237. package/dist/components/ui/carousel.cjs +2 -0
  238. package/dist/components/ui/carousel.cjs.map +1 -0
  239. package/dist/components/ui/carousel.js +179 -0
  240. package/dist/components/ui/carousel.js.map +1 -0
  241. package/dist/components/ui/checkbox.cjs +2 -0
  242. package/dist/components/ui/checkbox.cjs.map +1 -0
  243. package/dist/components/ui/checkbox.js +35 -0
  244. package/dist/components/ui/checkbox.js.map +1 -0
  245. package/dist/components/ui/code-editor.cjs +2 -0
  246. package/dist/components/ui/code-editor.cjs.map +1 -0
  247. package/dist/components/ui/code-editor.js +103 -0
  248. package/dist/components/ui/code-editor.js.map +1 -0
  249. package/dist/components/ui/collapsible.cjs +2 -0
  250. package/dist/components/ui/collapsible.cjs.map +1 -0
  251. package/dist/components/ui/collapsible.js +35 -0
  252. package/dist/components/ui/collapsible.js.map +1 -0
  253. package/dist/components/ui/combobox.cjs +2 -0
  254. package/dist/components/ui/combobox.cjs.map +1 -0
  255. package/dist/components/ui/combobox.js +278 -0
  256. package/dist/components/ui/combobox.js.map +1 -0
  257. package/dist/components/ui/command.cjs +2 -0
  258. package/dist/components/ui/command.cjs.map +1 -0
  259. package/dist/components/ui/command.js +174 -0
  260. package/dist/components/ui/command.js.map +1 -0
  261. package/dist/components/ui/context-menu.cjs +2 -0
  262. package/dist/components/ui/context-menu.cjs.map +1 -0
  263. package/dist/components/ui/context-menu.js +236 -0
  264. package/dist/components/ui/context-menu.js.map +1 -0
  265. package/dist/components/ui/dialog.cjs +2 -0
  266. package/dist/components/ui/dialog.cjs.map +1 -0
  267. package/dist/components/ui/dialog.js +154 -0
  268. package/dist/components/ui/dialog.js.map +1 -0
  269. package/dist/components/ui/drawer.cjs +2 -0
  270. package/dist/components/ui/drawer.cjs.map +1 -0
  271. package/dist/components/ui/drawer.js +125 -0
  272. package/dist/components/ui/drawer.js.map +1 -0
  273. package/dist/components/ui/dropdown-menu.cjs +2 -0
  274. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  275. package/dist/components/ui/dropdown-menu.js +252 -0
  276. package/dist/components/ui/dropdown-menu.js.map +1 -0
  277. package/dist/components/ui/field.cjs +2 -0
  278. package/dist/components/ui/field.cjs.map +1 -0
  279. package/dist/components/ui/field.js +210 -0
  280. package/dist/components/ui/field.js.map +1 -0
  281. package/dist/components/ui/hover-card.cjs +2 -0
  282. package/dist/components/ui/hover-card.cjs.map +1 -0
  283. package/dist/components/ui/hover-card.js +39 -0
  284. package/dist/components/ui/hover-card.js.map +1 -0
  285. package/dist/components/ui/input-group.cjs +2 -0
  286. package/dist/components/ui/input-group.cjs.map +1 -0
  287. package/dist/components/ui/input-group.js +145 -0
  288. package/dist/components/ui/input-group.js.map +1 -0
  289. package/dist/components/ui/input-otp.cjs +2 -0
  290. package/dist/components/ui/input-otp.cjs.map +1 -0
  291. package/dist/components/ui/input-otp.js +82 -0
  292. package/dist/components/ui/input-otp.js.map +1 -0
  293. package/dist/components/ui/input.cjs +2 -0
  294. package/dist/components/ui/input.cjs.map +1 -0
  295. package/dist/components/ui/input.js +20 -0
  296. package/dist/components/ui/input.js.map +1 -0
  297. package/dist/components/ui/item.cjs +2 -0
  298. package/dist/components/ui/item.cjs.map +1 -0
  299. package/dist/components/ui/item.js +191 -0
  300. package/dist/components/ui/item.js.map +1 -0
  301. package/dist/components/ui/kbd.cjs +2 -0
  302. package/dist/components/ui/kbd.cjs.map +1 -0
  303. package/dist/components/ui/kbd.js +30 -0
  304. package/dist/components/ui/kbd.js.map +1 -0
  305. package/dist/components/ui/label.cjs +2 -0
  306. package/dist/components/ui/label.cjs.map +1 -0
  307. package/dist/components/ui/label.js +23 -0
  308. package/dist/components/ui/label.js.map +1 -0
  309. package/dist/components/ui/menubar.cjs +2 -0
  310. package/dist/components/ui/menubar.cjs.map +1 -0
  311. package/dist/components/ui/menubar.js +256 -0
  312. package/dist/components/ui/menubar.js.map +1 -0
  313. package/dist/components/ui/navigation-menu.cjs +2 -0
  314. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  315. package/dist/components/ui/navigation-menu.js +164 -0
  316. package/dist/components/ui/navigation-menu.js.map +1 -0
  317. package/dist/components/ui/radio-group.cjs +2 -0
  318. package/dist/components/ui/radio-group.cjs.map +1 -0
  319. package/dist/components/ui/radio-group.js +45 -0
  320. package/dist/components/ui/radio-group.js.map +1 -0
  321. package/dist/components/ui/resizable.cjs +2 -0
  322. package/dist/components/ui/resizable.cjs.map +1 -0
  323. package/dist/components/ui/resizable.js +46 -0
  324. package/dist/components/ui/resizable.js.map +1 -0
  325. package/dist/components/ui/scroll-area.cjs +2 -0
  326. package/dist/components/ui/scroll-area.cjs.map +1 -0
  327. package/dist/components/ui/scroll-area.js +60 -0
  328. package/dist/components/ui/scroll-area.js.map +1 -0
  329. package/dist/components/ui/select.cjs +2 -0
  330. package/dist/components/ui/select.cjs.map +1 -0
  331. package/dist/components/ui/select.js +184 -0
  332. package/dist/components/ui/select.js.map +1 -0
  333. package/dist/components/ui/separator.cjs +2 -0
  334. package/dist/components/ui/separator.cjs.map +1 -0
  335. package/dist/components/ui/separator.js +27 -0
  336. package/dist/components/ui/separator.js.map +1 -0
  337. package/dist/components/ui/sheet.cjs +2 -0
  338. package/dist/components/ui/sheet.cjs.map +1 -0
  339. package/dist/components/ui/sheet.js +137 -0
  340. package/dist/components/ui/sheet.js.map +1 -0
  341. package/dist/components/ui/sidebar.cjs +2 -0
  342. package/dist/components/ui/sidebar.cjs.map +1 -0
  343. package/dist/components/ui/sidebar.js +579 -0
  344. package/dist/components/ui/sidebar.js.map +1 -0
  345. package/dist/components/ui/skeleton.cjs +2 -0
  346. package/dist/components/ui/skeleton.cjs.map +1 -0
  347. package/dist/components/ui/skeleton.js +16 -0
  348. package/dist/components/ui/skeleton.js.map +1 -0
  349. package/dist/components/ui/slider.cjs +2 -0
  350. package/dist/components/ui/slider.cjs.map +1 -0
  351. package/dist/components/ui/slider.js +60 -0
  352. package/dist/components/ui/slider.js.map +1 -0
  353. package/dist/components/ui/sonner.cjs +2 -0
  354. package/dist/components/ui/sonner.cjs.map +1 -0
  355. package/dist/components/ui/sonner.js +37 -0
  356. package/dist/components/ui/sonner.js.map +1 -0
  357. package/dist/components/ui/spinner.cjs +2 -0
  358. package/dist/components/ui/spinner.cjs.map +1 -0
  359. package/dist/components/ui/spinner.js +10 -0
  360. package/dist/components/ui/spinner.js.map +1 -0
  361. package/dist/components/ui/switch.cjs +2 -0
  362. package/dist/components/ui/switch.cjs.map +1 -0
  363. package/dist/components/ui/switch.js +32 -0
  364. package/dist/components/ui/switch.js.map +1 -0
  365. package/dist/components/ui/table.cjs +2 -0
  366. package/dist/components/ui/table.cjs.map +1 -0
  367. package/dist/components/ui/table.js +115 -0
  368. package/dist/components/ui/table.js.map +1 -0
  369. package/dist/components/ui/tabs.cjs +2 -0
  370. package/dist/components/ui/tabs.cjs.map +1 -0
  371. package/dist/components/ui/tabs.js +91 -0
  372. package/dist/components/ui/tabs.js.map +1 -0
  373. package/dist/components/ui/tetrascience-icon.cjs +2 -0
  374. package/dist/components/ui/tetrascience-icon.cjs.map +1 -0
  375. package/dist/components/ui/tetrascience-icon.js +46 -0
  376. package/dist/components/ui/tetrascience-icon.js.map +1 -0
  377. package/dist/components/ui/textarea.cjs +2 -0
  378. package/dist/components/ui/textarea.cjs.map +1 -0
  379. package/dist/components/ui/textarea.js +19 -0
  380. package/dist/components/ui/textarea.js.map +1 -0
  381. package/dist/components/ui/toggle-group.cjs +2 -0
  382. package/dist/components/ui/toggle-group.cjs.map +1 -0
  383. package/dist/components/ui/toggle-group.js +77 -0
  384. package/dist/components/ui/toggle-group.js.map +1 -0
  385. package/dist/components/ui/toggle.cjs +2 -0
  386. package/dist/components/ui/toggle.cjs.map +1 -0
  387. package/dist/components/ui/toggle.js +44 -0
  388. package/dist/components/ui/toggle.js.map +1 -0
  389. package/dist/components/ui/tooltip.cjs +2 -0
  390. package/dist/components/ui/tooltip.cjs.map +1 -0
  391. package/dist/components/ui/tooltip.js +56 -0
  392. package/dist/components/ui/tooltip.js.map +1 -0
  393. package/dist/hooks/use-code-editor-theme.cjs +2 -0
  394. package/dist/hooks/use-code-editor-theme.cjs.map +1 -0
  395. package/dist/hooks/use-code-editor-theme.js +31 -0
  396. package/dist/hooks/use-code-editor-theme.js.map +1 -0
  397. package/dist/hooks/use-is-dark.cjs +2 -0
  398. package/dist/hooks/use-is-dark.cjs.map +1 -0
  399. package/dist/hooks/use-is-dark.js +18 -0
  400. package/dist/hooks/use-is-dark.js.map +1 -0
  401. package/dist/hooks/use-mobile.cjs +2 -0
  402. package/dist/hooks/use-mobile.cjs.map +1 -0
  403. package/dist/hooks/use-mobile.js +15 -0
  404. package/dist/hooks/use-mobile.js.map +1 -0
  405. package/dist/hooks/use-plotly-theme.cjs +2 -0
  406. package/dist/hooks/use-plotly-theme.cjs.map +1 -0
  407. package/dist/hooks/use-plotly-theme.js +33 -0
  408. package/dist/hooks/use-plotly-theme.js.map +1 -0
  409. package/dist/index.cjs +1 -10
  410. package/dist/index.cjs.map +1 -1
  411. package/dist/index.js +389 -9435
  412. package/dist/index.js.map +1 -1
  413. package/dist/lib/utils.cjs +2 -0
  414. package/dist/lib/utils.cjs.map +1 -0
  415. package/dist/lib/utils.js +9 -0
  416. package/dist/lib/utils.js.map +1 -0
  417. package/dist/providers/athena.cjs +1 -1
  418. package/dist/providers/athena.cjs.map +1 -1
  419. package/dist/providers/athena.js +9 -157
  420. package/dist/providers/athena.js.map +1 -1
  421. package/dist/providers/databricks.cjs +1 -1
  422. package/dist/providers/databricks.cjs.map +1 -1
  423. package/dist/providers/databricks.js +9 -82
  424. package/dist/providers/databricks.js.map +1 -1
  425. package/dist/providers/snowflake.cjs +1 -1
  426. package/dist/providers/snowflake.cjs.map +1 -1
  427. package/dist/providers/snowflake.js +8 -118
  428. package/dist/providers/snowflake.js.map +1 -1
  429. package/dist/server/auth/JwtTokenManager.cjs +2 -0
  430. package/dist/server/auth/JwtTokenManager.cjs.map +1 -0
  431. package/dist/server/auth/JwtTokenManager.js +134 -0
  432. package/dist/server/auth/JwtTokenManager.js.map +1 -0
  433. package/dist/server/providers/AthenaProvider.cjs +2 -0
  434. package/dist/server/providers/AthenaProvider.cjs.map +1 -0
  435. package/dist/server/providers/AthenaProvider.js +154 -0
  436. package/dist/server/providers/AthenaProvider.js.map +1 -0
  437. package/dist/server/providers/DatabricksProvider.cjs +2 -0
  438. package/dist/server/providers/DatabricksProvider.cjs.map +1 -0
  439. package/dist/server/providers/DatabricksProvider.js +79 -0
  440. package/dist/server/providers/DatabricksProvider.js.map +1 -0
  441. package/dist/server/providers/SnowflakeProvider.cjs +2 -0
  442. package/dist/server/providers/SnowflakeProvider.cjs.map +1 -0
  443. package/dist/server/providers/SnowflakeProvider.js +116 -0
  444. package/dist/server/providers/SnowflakeProvider.js.map +1 -0
  445. package/dist/server/providers/buildProvider.cjs +2 -0
  446. package/dist/server/providers/buildProvider.cjs.map +1 -0
  447. package/dist/server/providers/buildProvider.js +22 -0
  448. package/dist/server/providers/buildProvider.js.map +1 -0
  449. package/dist/server/providers/exceptions.cjs +2 -0
  450. package/dist/server/providers/exceptions.cjs.map +1 -0
  451. package/dist/{exceptions-jCQ6h5C8.js → server/providers/exceptions.js} +11 -11
  452. package/dist/server/providers/exceptions.js.map +1 -0
  453. package/dist/server/providers/getProviderConfigurations.cjs +2 -0
  454. package/dist/server/providers/getProviderConfigurations.cjs.map +1 -0
  455. package/dist/server/providers/getProviderConfigurations.js +78 -0
  456. package/dist/server/providers/getProviderConfigurations.js.map +1 -0
  457. package/dist/server/providers/providerDiscovery.cjs +2 -0
  458. package/dist/server/providers/providerDiscovery.cjs.map +1 -0
  459. package/dist/server/providers/providerDiscovery.js +28 -0
  460. package/dist/server/providers/providerDiscovery.js.map +1 -0
  461. package/dist/server.cjs +1 -1
  462. package/dist/server.cjs.map +1 -1
  463. package/dist/server.js +27 -262
  464. package/dist/server.js.map +1 -1
  465. package/dist/utils/colors.cjs +2 -0
  466. package/dist/utils/colors.cjs.map +1 -0
  467. package/dist/utils/colors.js +98 -0
  468. package/dist/utils/colors.js.map +1 -0
  469. package/package.json +4 -1
  470. package/dist/exceptions-DN25pCDi.cjs +0 -2
  471. package/dist/exceptions-DN25pCDi.cjs.map +0 -1
  472. package/dist/exceptions-jCQ6h5C8.js.map +0 -1
package/dist/server.js CHANGED
@@ -1,266 +1,31 @@
1
- import { TDPClient as T } from "@tetrascience-npm/ts-connectors-sdk";
2
- import { I as i } from "./exceptions-jCQ6h5C8.js";
3
- import { M as $, P as z, a as G, Q as L } from "./exceptions-jCQ6h5C8.js";
4
- import { buildSnowflakeProvider as m } from "./providers/snowflake.js";
5
- import { SnowflakeProvider as H } from "./providers/snowflake.js";
6
- import { buildDatabricksProvider as y } from "./providers/databricks.js";
7
- import { DatabricksProvider as K } from "./providers/databricks.js";
8
- import { getTdpAthenaProvider as P } from "./providers/athena.js";
9
- import { AthenaProvider as X } from "./providers/athena.js";
10
- const C = 60, p = 1e3, k = 5 * C * p;
11
- class E {
12
- baseUrlOverride;
13
- connectorId;
14
- orgSlug;
15
- tokenCache;
16
- tokenRefreshThresholdMs;
17
- tdpClient;
18
- constructor(e = {}) {
19
- this.baseUrlOverride = e.baseUrl, this.connectorId = process.env.CONNECTOR_ID, this.orgSlug = process.env.ORG_SLUG, this.tokenCache = /* @__PURE__ */ new Map(), this.tokenRefreshThresholdMs = e.tokenRefreshThresholdMs || k, this.tdpClient = null;
20
- }
21
- /**
22
- * Get the base URL for TDP API calls.
23
- * Throws an error if not configured (either via config.baseUrl or TDP_ENDPOINT env var).
24
- */
25
- getBaseUrl() {
26
- const e = this.baseUrlOverride || process.env.TDP_ENDPOINT;
27
- if (!e)
28
- throw new Error("TDP base URL not configured. Set TDP_ENDPOINT environment variable or pass baseUrl in config.");
29
- return e;
30
- }
31
- /**
32
- * Decode JWT payload without verifying signature.
33
- * Used only for reading expiration times for cache invalidation.
34
- * Signature verification is NOT performed here.
35
- */
36
- decodeJwtPayload(e) {
37
- try {
38
- const r = e.split(".");
39
- if (r.length !== 3)
40
- return console.warn("Invalid JWT token format"), null;
41
- const o = r[1].replace(/-/g, "+").replace(/_/g, "/"), a = o.padEnd(o.length + (4 - o.length % 4) % 4, "=");
42
- return JSON.parse(Buffer.from(a, "base64").toString("utf-8"));
43
- } catch (r) {
44
- return console.warn("Error decoding JWT token:", r), null;
45
- }
46
- }
47
- /** Check if payload is expiring within the refresh threshold */
48
- isPayloadExpiringSoon(e) {
49
- if (!e.exp)
50
- return console.warn("JWT token has no expiration claim"), !0;
51
- const r = e.exp * p, n = Date.now() + this.tokenRefreshThresholdMs;
52
- return r <= n;
53
- }
54
- /** Get valid cached token if not expiring */
55
- getValidUserJwt(e) {
56
- const r = this.tokenCache.get(e);
57
- return r && !this.isPayloadExpiringSoon(r.payload) ? r.token : (r && this.tokenCache.delete(e), null);
58
- }
59
- /** Initialize or get TDP client */
60
- async getTdpClient() {
61
- if (this.tdpClient !== null)
62
- return this.tdpClient;
63
- if (!this.connectorId || !this.orgSlug)
64
- throw new Error("Missing required configuration: CONNECTOR_ID or ORG_SLUG");
65
- const e = this.getBaseUrl();
66
- try {
67
- const r = new T({
68
- tdpEndpoint: e,
69
- connectorId: this.connectorId,
70
- orgSlug: this.orgSlug,
71
- artifactType: "data-app"
72
- });
73
- return await r.init(), this.tdpClient = r, this.tdpClient;
74
- } catch (r) {
75
- throw console.error("Failed to initialize TDP client:", r), r;
76
- }
77
- }
78
- /** Retrieve JWT from connector K/V store using getValues (calls getConnectorData internally) */
79
- async getJwtFromTokenRefInternal(e) {
80
- const r = await this.getTdpClient();
81
- try {
82
- const n = await r.getValues([e]);
83
- if (n && n.length > 0 && n[0]?.jwt) {
84
- const o = n[0].jwt, a = this.decodeJwtPayload(o);
85
- return a && this.tokenCache.set(e, { token: o, payload: a }), o;
86
- }
87
- console.error(`No JWT found for key '${e}' in connector store`);
88
- } catch (n) {
89
- console.error("Error retrieving JWT token:", n);
90
- }
91
- return null;
92
- }
93
- /** Resolve ts-token-ref to full JWT token (with caching) */
94
- async getJwtFromTokenRef(e) {
95
- if (!e || !this.orgSlug)
96
- return console.warn("Missing required parameters for JWT token retrieval"), null;
97
- const r = this.getValidUserJwt(e);
98
- return r || this.getJwtFromTokenRefInternal(e);
99
- }
100
- /** Get token from cookies (ts-auth-token or resolved ts-token-ref) */
101
- async getUserToken(e) {
102
- const r = e["ts-auth-token"] || process.env.TS_AUTH_TOKEN;
103
- if (r)
104
- return r;
105
- const n = e["ts-token-ref"];
106
- if (n && this.connectorId) {
107
- const o = await this.getJwtFromTokenRef(n);
108
- if (o)
109
- return o;
110
- console.warn("Failed to resolve ts-token-ref to JWT token");
111
- } else n && console.error("Connector ID not configured");
112
- return console.warn("No valid authentication token found"), null;
113
- }
114
- /**
115
- * Get user token from an Express request object.
116
- * This is the primary method for Express middleware integration.
117
- *
118
- * @example
119
- * ```typescript
120
- * import { jwtManager } from '@tetrascience-npm/tetrascience-react-ui/server';
121
- *
122
- * app.use(async (req, res, next) => {
123
- * const token = await jwtManager.getTokenFromExpressRequest(req);
124
- * req.tdpAuth = { token, orgSlug: process.env.ORG_SLUG };
125
- * next();
126
- * });
127
- * ```
128
- */
129
- async getTokenFromExpressRequest(e) {
130
- return this.getUserToken(e.cookies || {});
131
- }
132
- /** Clear the token cache */
133
- clearCache() {
134
- this.tokenCache.clear();
135
- }
136
- }
137
- const _ = new E();
138
- function I(t, e) {
139
- if (typeof t != "object" || t === null)
140
- throw new i(
141
- `Invalid provider configuration at index ${e}: expected an object`
142
- );
143
- const r = t;
144
- if (typeof r.name != "string")
145
- throw new i(
146
- `Invalid provider configuration at index ${e}: 'name' must be a string`
147
- );
148
- if (typeof r.type != "string")
149
- throw new i(
150
- `Invalid provider configuration at index ${e}: 'type' must be a string`
151
- );
152
- if (typeof r.fields != "object" || r.fields === null)
153
- throw new i(
154
- `Invalid provider configuration at index ${e}: 'fields' must be an object`
155
- );
156
- return {
157
- name: r.name,
158
- type: r.type,
159
- iconUrl: typeof r.iconUrl == "string" ? r.iconUrl : void 0,
160
- fields: r.fields
161
- };
162
- }
163
- function b(t) {
164
- try {
165
- const e = JSON.parse(t);
166
- if (!Array.isArray(e))
167
- throw new i(
168
- "Invalid provider configuration: expected an array of provider configurations"
169
- );
170
- return e.map(I);
171
- } catch (e) {
172
- throw e instanceof i ? e : new i(
173
- `Invalid provider configuration JSON in DATA_APP_PROVIDER_CONFIG: ${e instanceof Error ? e.message : String(e)}`
174
- );
175
- }
176
- }
177
- async function R(t, e = {}) {
178
- const r = e.providerConfigOverride || process.env.DATA_APP_PROVIDER_CONFIG;
179
- if (r)
180
- return b(r);
181
- if (!t.isInitialized)
182
- throw new Error(
183
- "TDPClient is not initialized. Call await client.init() before using getProviderConfigurations."
184
- );
185
- const n = e.connectorId || process.env.CONNECTOR_ID;
186
- if (!n)
187
- return console.warn(
188
- "Environment variable CONNECTOR_ID is not set. Unable to fetch providers."
189
- ), [];
190
- const o = t.config.orgSlug, f = (await t.api.dataApps.getOrganizationBySlug(o)).id, u = await t.api.dataApps.getContainerDataApp(n), c = [];
191
- for (const g of u.providers) {
192
- const s = await t.api.dataApps.getProviderById(
193
- g.id,
194
- f
195
- ), l = {};
196
- for (const d of s.secrets) {
197
- const v = d.name, w = process.env[d.envName];
198
- l[v] = w;
199
- }
200
- const h = {
201
- name: s.name,
202
- type: s.type,
203
- iconUrl: s.iconUrl,
204
- fields: l
205
- };
206
- c.push(h);
207
- }
208
- return c;
209
- }
210
- function J(t) {
211
- return t.map((e) => ({
212
- name: e.name,
213
- type: e.type,
214
- iconUrl: e.iconUrl ?? null,
215
- availableFields: Object.keys(e.fields)
216
- }));
217
- }
218
- function A(t, e) {
219
- return t.find((r) => r.name === e);
220
- }
221
- function M(t, e) {
222
- return t.filter((r) => r.type === e);
223
- }
224
- function x(t) {
225
- return t.map((e) => e.name);
226
- }
227
- function F(t) {
228
- return [...new Set(t.map((e) => e.type))];
229
- }
230
- async function j(t) {
231
- switch (t.type) {
232
- case "snowflake":
233
- return m(t);
234
- case "databricks":
235
- return y(t);
236
- case "athena":
237
- return P();
238
- default:
239
- throw new i(
240
- `Unsupported provider type: ${t.type}`
241
- );
242
- }
243
- }
1
+ import { AthenaProvider as e, getTdpAthenaProvider as i } from "./server/providers/AthenaProvider.js";
2
+ import { DatabricksProvider as d, buildDatabricksProvider as a } from "./server/providers/DatabricksProvider.js";
3
+ import { InvalidProviderConfigurationError as v, MissingTableError as P, ProviderConnectionError as f, ProviderError as g, QueryError as p } from "./server/providers/exceptions.js";
4
+ import { JwtTokenManager as s, jwtManager as x } from "./server/auth/JwtTokenManager.js";
5
+ import { SnowflakeProvider as b, buildSnowflakeProvider as u } from "./server/providers/SnowflakeProvider.js";
6
+ import { buildProvider as y } from "./server/providers/buildProvider.js";
7
+ import { getProviderByName as T, getProviderInfoList as w, getProviderNames as c, getProviderTypes as C, getProvidersByType as M } from "./server/providers/providerDiscovery.js";
8
+ import { getProviderConfigurations as A } from "./server/providers/getProviderConfigurations.js";
244
9
  export {
245
- X as AthenaProvider,
246
- K as DatabricksProvider,
247
- i as InvalidProviderConfigurationError,
248
- E as JwtTokenManager,
249
- $ as MissingTableError,
250
- z as ProviderConnectionError,
251
- G as ProviderError,
252
- L as QueryError,
253
- H as SnowflakeProvider,
254
- y as buildDatabricksProvider,
255
- j as buildProvider,
256
- m as buildSnowflakeProvider,
257
- A as getProviderByName,
258
- R as getProviderConfigurations,
259
- J as getProviderInfoList,
260
- x as getProviderNames,
261
- F as getProviderTypes,
10
+ e as AthenaProvider,
11
+ d as DatabricksProvider,
12
+ v as InvalidProviderConfigurationError,
13
+ s as JwtTokenManager,
14
+ P as MissingTableError,
15
+ f as ProviderConnectionError,
16
+ g as ProviderError,
17
+ p as QueryError,
18
+ b as SnowflakeProvider,
19
+ a as buildDatabricksProvider,
20
+ y as buildProvider,
21
+ u as buildSnowflakeProvider,
22
+ T as getProviderByName,
23
+ A as getProviderConfigurations,
24
+ w as getProviderInfoList,
25
+ c as getProviderNames,
26
+ C as getProviderTypes,
262
27
  M as getProvidersByType,
263
- P as getTdpAthenaProvider,
264
- _ as jwtManager
28
+ i as getTdpAthenaProvider,
29
+ x as jwtManager
265
30
  };
266
31
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":["../src/server/auth/JwtTokenManager.ts","../src/server/providers/getProviderConfigurations.ts","../src/server/providers/providerDiscovery.ts","../src/server/providers/buildProvider.ts"],"sourcesContent":["/**\n * JWT Token Manager for TetraScience Data Apps\n *\n * Handles authentication token retrieval from Express request cookies,\n * supporting both direct JWT tokens (ts-auth-token) and token references\n * (ts-token-ref) that are resolved via the connector K/V store.\n *\n * Note: This manager does not perform cryptographic verification of JWT signatures.\n * Signature verification is the responsibility of the consuming application or\n * the upstream authentication layer. The JWT payload is decoded only to read\n * expiration times for cache invalidation.\n */\n\nimport { TDPClient } from \"@tetrascience-npm/ts-connectors-sdk\";\n\n/** Configuration options for JwtTokenManager */\nexport interface JwtTokenManagerConfig {\n baseUrl?: string;\n tokenRefreshThresholdMs?: number;\n}\n\n/** Cookie dictionary type - matches Express req.cookies */\nexport interface CookieDict {\n [key: string]: string;\n}\n\n/** Express-like request interface (works with Express, Koa, etc.) */\nexport interface ExpressRequestLike {\n cookies?: CookieDict;\n}\n\n/** JWT payload structure */\ninterface JwtPayload {\n exp?: number;\n iat?: number;\n [key: string]: unknown;\n}\n\n/** Cached token entry storing both raw token and parsed payload */\ninterface CachedTokenEntry {\n token: string;\n payload: JwtPayload;\n}\n\n/** Number of seconds in a minute */\nconst SECONDS_PER_MINUTE = 60;\n/** Milliseconds per second */\nconst MS_PER_SECOND = 1000;\nconst DEFAULT_TOKEN_REFRESH_THRESHOLD_MS = 5 * SECONDS_PER_MINUTE * MS_PER_SECOND; // 5 minutes\n\n/**\n * Manages JWT token retrieval from request cookies.\n * Supports both ts-auth-token (direct JWT) and ts-token-ref (resolved via connector store).\n */\nexport class JwtTokenManager {\n private baseUrlOverride: string | undefined;\n private connectorId: string | undefined;\n private orgSlug: string | undefined;\n private tokenCache: Map<string, CachedTokenEntry>;\n private tokenRefreshThresholdMs: number;\n private tdpClient: TDPClient | null;\n\n constructor(config: JwtTokenManagerConfig = {}) {\n this.baseUrlOverride = config.baseUrl;\n this.connectorId = process.env.CONNECTOR_ID;\n this.orgSlug = process.env.ORG_SLUG;\n this.tokenCache = new Map();\n this.tokenRefreshThresholdMs = config.tokenRefreshThresholdMs || DEFAULT_TOKEN_REFRESH_THRESHOLD_MS;\n this.tdpClient = null;\n }\n\n /**\n * Get the base URL for TDP API calls.\n * Throws an error if not configured (either via config.baseUrl or TDP_ENDPOINT env var).\n */\n private getBaseUrl(): string {\n const baseUrl = this.baseUrlOverride || process.env.TDP_ENDPOINT;\n if (!baseUrl) {\n throw new Error(\"TDP base URL not configured. Set TDP_ENDPOINT environment variable or pass baseUrl in config.\");\n }\n return baseUrl;\n }\n\n /**\n * Decode JWT payload without verifying signature.\n * Used only for reading expiration times for cache invalidation.\n * Signature verification is NOT performed here.\n */\n private decodeJwtPayload(token: string): JwtPayload | null {\n try {\n const parts = token.split(\".\");\n if (parts.length !== 3) {\n console.warn(\"Invalid JWT token format\");\n return null;\n }\n\n const payload = parts[1];\n const base64 = payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const paddedBase64 = base64.padEnd(base64.length + ((4 - (base64.length % 4)) % 4), \"=\");\n\n // Use Buffer.from for Node.js compatibility (atob not available in all runtimes)\n return JSON.parse(Buffer.from(paddedBase64, \"base64\").toString(\"utf-8\"));\n } catch (error) {\n console.warn(\"Error decoding JWT token:\", error);\n return null;\n }\n }\n\n /** Check if payload is expiring within the refresh threshold */\n private isPayloadExpiringSoon(payload: JwtPayload): boolean {\n if (!payload.exp) {\n console.warn(\"JWT token has no expiration claim\");\n return true;\n }\n\n const expiryTimeMs = payload.exp * MS_PER_SECOND;\n const refreshTimeMs = Date.now() + this.tokenRefreshThresholdMs;\n return expiryTimeMs <= refreshTimeMs;\n }\n\n /** Get valid cached token if not expiring */\n private getValidUserJwt(tokenRef: string): string | null {\n const cached = this.tokenCache.get(tokenRef);\n if (cached && !this.isPayloadExpiringSoon(cached.payload)) {\n return cached.token;\n }\n // Clean up expired entry to prevent unbounded cache growth\n if (cached) {\n // TODO: If data apps become high-traffic, consider enhancing with\n // an LRU cache (e.g., lru-cache package) to purge stale entries automatically\n this.tokenCache.delete(tokenRef);\n }\n return null;\n }\n\n /** Initialize or get TDP client */\n private async getTdpClient(): Promise<TDPClient> {\n if (this.tdpClient !== null) {\n return this.tdpClient;\n }\n\n if (!this.connectorId || !this.orgSlug) {\n throw new Error(\"Missing required configuration: CONNECTOR_ID or ORG_SLUG\");\n }\n\n // getBaseUrl() throws if TDP_ENDPOINT not configured - let it propagate\n const baseUrl = this.getBaseUrl();\n\n try {\n const client = new TDPClient({\n tdpEndpoint: baseUrl,\n connectorId: this.connectorId,\n orgSlug: this.orgSlug,\n artifactType: \"data-app\",\n });\n\n await client.init();\n // Only assign after successful initialization to allow retry on failure\n this.tdpClient = client;\n return this.tdpClient;\n } catch (error) {\n // Log init errors but rethrow so callers know something went wrong\n console.error(\"Failed to initialize TDP client:\", error);\n throw error;\n }\n }\n\n /** Retrieve JWT from connector K/V store using getValues (calls getConnectorData internally) */\n private async getJwtFromTokenRefInternal(tokenRef: string): Promise<string | null> {\n // getTdpClient() throws on config errors - let those propagate\n const tdpClient = await this.getTdpClient();\n\n try {\n // getValues returns array of values for the given keys\n // Each value is expected to have a jwt property: { jwt: \"...\" }\n const values = await tdpClient.getValues([tokenRef]);\n\n if (values && values.length > 0 && values[0]?.jwt) {\n const jwtToken = values[0].jwt;\n // Parse and cache both the raw token and its payload to avoid repeated decoding\n const payload = this.decodeJwtPayload(jwtToken);\n if (payload) {\n this.tokenCache.set(tokenRef, { token: jwtToken, payload });\n }\n return jwtToken;\n }\n\n console.error(`No JWT found for key '${tokenRef}' in connector store`);\n } catch (error) {\n console.error(\"Error retrieving JWT token:\", error);\n }\n\n return null;\n }\n\n /** Resolve ts-token-ref to full JWT token (with caching) */\n async getJwtFromTokenRef(tokenRef: string): Promise<string | null> {\n if (!tokenRef || !this.orgSlug) {\n console.warn(\"Missing required parameters for JWT token retrieval\");\n return null;\n }\n\n const cachedUserToken = this.getValidUserJwt(tokenRef);\n if (cachedUserToken) {\n return cachedUserToken;\n }\n\n return this.getJwtFromTokenRefInternal(tokenRef);\n }\n\n /** Get token from cookies (ts-auth-token or resolved ts-token-ref) */\n async getUserToken(cookies: CookieDict): Promise<string | null> {\n // Prefer ts-auth-token or TS_AUTH_TOKEN env var (latter is for local dev testing)\n const authToken = cookies[\"ts-auth-token\"] || process.env.TS_AUTH_TOKEN;\n if (authToken) {\n return authToken;\n }\n\n // Try to resolve ts-token-ref\n const tokenRef = cookies[\"ts-token-ref\"];\n if (tokenRef && this.connectorId) {\n const jwtToken = await this.getJwtFromTokenRef(tokenRef);\n if (jwtToken) {\n return jwtToken;\n }\n console.warn(\"Failed to resolve ts-token-ref to JWT token\");\n } else if (tokenRef) {\n console.error(\"Connector ID not configured\");\n }\n\n console.warn(\"No valid authentication token found\");\n return null;\n }\n\n /**\n * Get user token from an Express request object.\n * This is the primary method for Express middleware integration.\n *\n * @example\n * ```typescript\n * import { jwtManager } from '@tetrascience-npm/tetrascience-react-ui/server';\n *\n * app.use(async (req, res, next) => {\n * const token = await jwtManager.getTokenFromExpressRequest(req);\n * req.tdpAuth = { token, orgSlug: process.env.ORG_SLUG };\n * next();\n * });\n * ```\n */\n async getTokenFromExpressRequest(req: ExpressRequestLike): Promise<string | null> {\n // Handle missing cookies gracefully (e.g., if cookie-parser middleware not installed)\n return this.getUserToken(req.cookies || {});\n }\n\n /** Clear the token cache */\n clearCache(): void {\n this.tokenCache.clear();\n }\n}\n\n/**\n * Global singleton instance.\n *\n * Note: This instance is created when the module is imported. Configuration\n * that depends on environment variables (CONNECTOR_ID, ORG_SLUG, TDP_ENDPOINT)\n * is read at module load time. Ensure these environment\n * variables are set before importing this module.\n *\n * If you need different configuration at runtime, create a new JwtTokenManager\n * instance instead of using this singleton.\n */\nexport const jwtManager = new JwtTokenManager();\n","/**\n * Get Provider Configurations\n *\n * TypeScript equivalent of get_provider_configurations from\n * ts-lib-ui-kit-streamlit/tetrascience/data_app_providers/provider.py\n *\n * Retrieves data app provider configurations either from environment variable\n * override or by fetching from the TDP API.\n */\n\nimport { InvalidProviderConfigurationError } from \"./exceptions\";\n\nimport type {\n GetProviderConfigurationsOptions,\n ProviderConfiguration,\n} from \"./types\";\nimport type { TDPClient } from \"@tetrascience-npm/ts-connectors-sdk\";\n\n// Re-export for backwards compatibility\nexport { InvalidProviderConfigurationError };\n\n/**\n * Validates and parses a single provider configuration object.\n * @internal\n */\nfunction validateProviderConfigItem(\n item: unknown,\n index: number,\n): ProviderConfiguration {\n if (typeof item !== \"object\" || item === null) {\n throw new InvalidProviderConfigurationError(\n `Invalid provider configuration at index ${index}: expected an object`,\n );\n }\n\n const obj = item as Record<string, unknown>;\n\n if (typeof obj.name !== \"string\") {\n throw new InvalidProviderConfigurationError(\n `Invalid provider configuration at index ${index}: 'name' must be a string`,\n );\n }\n if (typeof obj.type !== \"string\") {\n throw new InvalidProviderConfigurationError(\n `Invalid provider configuration at index ${index}: 'type' must be a string`,\n );\n }\n if (typeof obj.fields !== \"object\" || obj.fields === null) {\n throw new InvalidProviderConfigurationError(\n `Invalid provider configuration at index ${index}: 'fields' must be an object`,\n );\n }\n\n return {\n name: obj.name,\n type: obj.type,\n iconUrl: typeof obj.iconUrl === \"string\" ? obj.iconUrl : undefined,\n fields: obj.fields as Record<string, string | undefined>,\n } satisfies ProviderConfiguration;\n}\n\n/**\n * Parses provider configurations from a JSON config string.\n * @internal\n */\nfunction parseProviderConfigOverride(\n configStr: string,\n): ProviderConfiguration[] {\n try {\n const parsed = JSON.parse(configStr);\n\n // Validate it's an array\n if (!Array.isArray(parsed)) {\n throw new InvalidProviderConfigurationError(\n \"Invalid provider configuration: expected an array of provider configurations\",\n );\n }\n\n // Validate each entry has required fields\n return parsed.map(validateProviderConfigItem);\n } catch (e) {\n if (e instanceof InvalidProviderConfigurationError) {\n throw e;\n }\n throw new InvalidProviderConfigurationError(\n `Invalid provider configuration JSON in DATA_APP_PROVIDER_CONFIG: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n}\n\n/**\n * Get the provider configurations.\n *\n * There are two ways to get the provider configurations:\n * 1. If the environment variable `DATA_APP_PROVIDER_CONFIG` is set or\n * providerConfigOverride is provided, the provider configurations are read from it.\n * 2. If the environment variable `CONNECTOR_ID` is set or connectorId is provided,\n * the provider configurations are fetched from TDP. The secrets are read from\n * environment variables.\n * 3. If neither of the above is set, an empty array is returned.\n *\n * Option 1 is used for local development to specify the provider configurations directly.\n * Option 2 is used in production to fetch the provider configurations from TDP.\n *\n * @param client - Initialized TDPClient instance (call client.init() first)\n * @param options - Optional configuration overrides\n * @returns Array of provider configurations\n * @throws {InvalidProviderConfigurationError} If provider config JSON is invalid\n * @throws {Error} If TDPClient is not initialized\n *\n * @example\n * ```typescript\n * import { TDPClient } from '@tetrascience-npm/ts-connectors-sdk';\n * import { getProviderConfigurations } from '@tetrascience-npm/tetrascience-react-ui/server';\n *\n * // Initialize TDPClient with user's JWT token\n * // Other fields (tdpEndpoint, connectorId, orgSlug) are read from environment variables\n * const client = new TDPClient({\n * authToken: userJwtToken, // from jwtManager.getTokenFromExpressRequest(req)\n * artifactType: \"data-app\",\n * });\n * await client.init();\n *\n * const providers = await getProviderConfigurations(client);\n *\n * for (const provider of providers) {\n * console.log(`Provider: ${provider.name} (${provider.type})`);\n * }\n * ```\n */\nexport async function getProviderConfigurations(\n client: TDPClient,\n options: GetProviderConfigurationsOptions = {},\n): Promise<ProviderConfiguration[]> {\n // Check for override from options or environment variable\n const configStr =\n options.providerConfigOverride || process.env.DATA_APP_PROVIDER_CONFIG;\n\n if (configStr) {\n return parseProviderConfigOverride(configStr);\n }\n\n // Ensure TDPClient is initialized\n if (!client.isInitialized) {\n throw new Error(\n \"TDPClient is not initialized. Call await client.init() before using getProviderConfigurations.\",\n );\n }\n\n // Get connector ID from options or environment variable\n const connectorId = options.connectorId || process.env.CONNECTOR_ID;\n\n if (!connectorId) {\n console.warn(\n \"Environment variable CONNECTOR_ID is not set. Unable to fetch providers.\",\n );\n return [];\n }\n\n // Get orgId from organization lookup (needed for getProviderById)\n const orgSlug = client.config.orgSlug;\n const organization = await client.api!.dataApps.getOrganizationBySlug(orgSlug);\n const orgId = organization.id;\n\n // Fetch container data app from TDP\n const containerApp = await client.api!.dataApps.getContainerDataApp(connectorId);\n\n // Get provider configurations with secrets from environment variables\n const providerConfigurations: ProviderConfiguration[] = [];\n\n for (const minimalProvider of containerApp.providers) {\n // Get full provider with secret names\n const provider = await client.api!.dataApps.getProviderById(\n minimalProvider.id,\n orgId,\n );\n\n // Build fields from environment variables\n // Use secret.name as the key (canonical field name like \"user\", \"password\", \"server_hostname\")\n // and read the value from the environment variable specified by secret.envName\n const fields: Record<string, string | undefined> = {};\n for (const secret of provider.secrets) {\n const fieldName = secret.name;\n const secretValue = process.env[secret.envName];\n fields[fieldName] = secretValue;\n }\n\n const config: ProviderConfiguration = {\n name: provider.name,\n type: provider.type,\n iconUrl: provider.iconUrl,\n fields,\n };\n\n providerConfigurations.push(config);\n }\n\n return providerConfigurations;\n}\n\n","/**\n * Provider Discovery Helpers\n *\n * Convenience functions for common provider discovery patterns in data apps.\n * These operate on the ProviderConfiguration[] returned by getProviderConfigurations()\n * and make it easy to populate dropdowns, find providers by name/type, and\n * list available providers without exposing secrets.\n */\n\nimport type { ProviderConfiguration, ProviderInfo } from \"./types\";\n\n/**\n * Extract display-friendly provider information from full configurations.\n *\n * Returns a list of {@link ProviderInfo} objects containing name, type,\n * iconUrl, and the names of available connection fields — suitable for\n * populating UI dropdowns and selection lists without exposing secret values.\n *\n * @param configs - Array of provider configurations from getProviderConfigurations()\n * @returns Array of display-friendly provider info objects\n *\n * @example\n * ```typescript\n * const configs = await getProviderConfigurations(client);\n * const providerList = getProviderInfoList(configs);\n * // [{ name: \"my-snowflake\", type: \"snowflake\", iconUrl: \"...\", availableFields: [\"user\", \"password\", \"account\"] }, ...]\n * ```\n */\nexport function getProviderInfoList(\n configs: ProviderConfiguration[],\n): ProviderInfo[] {\n return configs.map((config) => ({\n name: config.name,\n type: config.type,\n iconUrl: config.iconUrl ?? null,\n availableFields: Object.keys(config.fields),\n }));\n}\n\n/**\n * Find a provider configuration by name.\n *\n * @param configs - Array of provider configurations from getProviderConfigurations()\n * @param name - The provider name to search for (case-sensitive)\n * @returns The matching provider configuration, or undefined if not found\n *\n * @example\n * ```typescript\n * const configs = await getProviderConfigurations(client);\n * const snowflake = getProviderByName(configs, \"my-snowflake-provider\");\n * if (snowflake) {\n * const provider = await buildProvider(snowflake);\n * }\n * ```\n */\nexport function getProviderByName(\n configs: ProviderConfiguration[],\n name: string,\n): ProviderConfiguration | undefined {\n return configs.find((config) => config.name === name);\n}\n\n/**\n * Find all provider configurations of a given type.\n *\n * @param configs - Array of provider configurations from getProviderConfigurations()\n * @param type - The provider type to filter by (e.g., \"snowflake\", \"databricks\", \"athena\")\n * @returns Array of matching provider configurations (may be empty)\n *\n * @example\n * ```typescript\n * const configs = await getProviderConfigurations(client);\n * const snowflakeProviders = getProvidersByType(configs, \"snowflake\");\n * for (const config of snowflakeProviders) {\n * console.log(`Found Snowflake provider: ${config.name}`);\n * }\n * ```\n */\nexport function getProvidersByType(\n configs: ProviderConfiguration[],\n type: string,\n): ProviderConfiguration[] {\n return configs.filter((config) => config.type === type);\n}\n\n/**\n * Get the names of all attached providers.\n *\n * @param configs - Array of provider configurations from getProviderConfigurations()\n * @returns Array of provider names\n *\n * @example\n * ```typescript\n * const configs = await getProviderConfigurations(client);\n * const names = getProviderNames(configs);\n * // [\"my-snowflake\", \"my-databricks\", \"my-athena\"]\n * ```\n */\nexport function getProviderNames(configs: ProviderConfiguration[]): string[] {\n return configs.map((config) => config.name);\n}\n\n/**\n * Get the unique provider types available.\n *\n * @param configs - Array of provider configurations from getProviderConfigurations()\n * @returns Array of unique provider type strings\n *\n * @example\n * ```typescript\n * const configs = await getProviderConfigurations(client);\n * const types = getProviderTypes(configs);\n * // [\"snowflake\", \"databricks\"]\n * ```\n */\nexport function getProviderTypes(configs: ProviderConfiguration[]): string[] {\n return [...new Set(configs.map((config) => config.type))];\n}\n\n","/**\n * Build Provider Factory\n *\n * TypeScript equivalent of build_provider from\n * ts-lib-ui-kit-streamlit/tetrascience/data_app_providers/provider.py\n */\n\nimport { getTdpAthenaProvider } from \"./AthenaProvider\";\nimport {\n buildDatabricksProvider,\n} from \"./DatabricksProvider\";\nimport { InvalidProviderConfigurationError } from \"./getProviderConfigurations\";\nimport {\n buildSnowflakeProvider,\n} from \"./SnowflakeProvider\";\n\nimport type { AthenaProvider} from \"./AthenaProvider\";\nimport type {\n DatabricksProvider} from \"./DatabricksProvider\";\nimport type {\n SnowflakeProvider} from \"./SnowflakeProvider\";\nimport type { ProviderConfiguration } from \"./types\";\n\n/**\n * Union type of all supported data providers\n */\nexport type DataProvider =\n | SnowflakeProvider\n | DatabricksProvider\n | AthenaProvider;\n\n/**\n * Build a data provider from the configuration\n *\n * The return type is a union of specific provider types. More provider types\n * may be added in the future.\n *\n * @param config - Provider configuration\n * @returns Promise resolving to the appropriate data provider\n * @throws {InvalidProviderConfigurationError} If the provider type is not supported\n *\n * @example\n * ```typescript\n * import { TDPClient } from '@tetrascience-npm/ts-connectors-sdk';\n * import { buildProvider, getProviderConfigurations } from '@tetrascience-npm/tetrascience-react-ui/server';\n *\n * // Other fields (tdpEndpoint, connectorId, orgSlug) are read from environment variables\n * const client = new TDPClient({\n * authToken: userJwt,\n * artifactType: \"data-app\",\n * });\n * await client.init();\n * const configs = await getProviderConfigurations(client);\n *\n * const snowflakeConfig = configs.find(c => c.type === 'snowflake');\n * if (snowflakeConfig) {\n * const provider = await buildProvider(snowflakeConfig);\n * const results = await provider.query('SELECT * FROM my_table');\n * }\n * ```\n */\nexport async function buildProvider(\n config: ProviderConfiguration,\n): Promise<DataProvider> {\n switch (config.type) {\n case \"snowflake\":\n return buildSnowflakeProvider(config);\n case \"databricks\":\n return buildDatabricksProvider(config);\n case \"athena\":\n // For Athena, we typically use the TDP Athena provider\n return getTdpAthenaProvider();\n default:\n throw new InvalidProviderConfigurationError(\n `Unsupported provider type: ${config.type}`,\n );\n }\n}\n\n"],"names":["SECONDS_PER_MINUTE","MS_PER_SECOND","DEFAULT_TOKEN_REFRESH_THRESHOLD_MS","JwtTokenManager","config","baseUrl","token","parts","base64","paddedBase64","error","payload","expiryTimeMs","refreshTimeMs","tokenRef","cached","client","TDPClient","tdpClient","values","jwtToken","cachedUserToken","cookies","authToken","req","jwtManager","validateProviderConfigItem","item","index","InvalidProviderConfigurationError","obj","parseProviderConfigOverride","configStr","parsed","getProviderConfigurations","options","connectorId","orgSlug","orgId","containerApp","providerConfigurations","minimalProvider","provider","fields","secret","fieldName","secretValue","getProviderInfoList","configs","getProviderByName","name","getProvidersByType","type","getProviderNames","getProviderTypes","buildProvider","buildSnowflakeProvider","buildDatabricksProvider","getTdpAthenaProvider"],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(e,g)=>{if(typeof window<"u")return getComputedStyle(document.documentElement).getPropertyValue("--"+e).trim()||g||"";const E=g?", "+g:"";return"var(--"+e+E+")"},a={BLACK_50:r("black-50","rgba(26, 26, 26, 0.05)"),BLACK_100:r("black-100","rgba(26, 26, 26, 0.1)"),BLACK_200:r("black-200","rgba(26, 26, 26, 0.2)"),BLACK_300:r("black-300","rgba(26, 26, 26, 0.3)"),BLACK_400:r("black-400","rgba(26, 26, 26, 0.4)"),BLACK_500:r("black-500","rgba(26, 26, 26, 0.5)"),BLACK_600:r("black-600","rgba(26, 26, 26, 0.6)"),BLACK_700:r("black-700","rgba(26, 26, 26, 0.7)"),BLACK_800:r("black-800","rgba(26, 26, 26, 0.8)"),BLACK_900:r("black-900","rgba(26, 26, 26, 1)"),BLACK:r("black-900","#1a1a1a"),WHITE_50:r("white-50","rgba(255, 255, 255, 0.05)"),WHITE_100:r("white-100","rgba(255, 255, 255, 0.1)"),WHITE_200:r("white-200","rgba(255, 255, 255, 0.2)"),WHITE_300:r("white-300","rgba(255, 255, 255, 0.3)"),WHITE_400:r("white-400","rgba(255, 255, 255, 0.4)"),WHITE_500:r("white-500","rgba(255, 255, 255, 0.5)"),WHITE_600:r("white-600","rgba(255, 255, 255, 0.6)"),WHITE_700:r("white-700","rgba(255, 255, 255, 0.7)"),WHITE_800:r("white-800","rgba(255, 255, 255, 0.8)"),WHITE_900:r("white-900","rgba(255, 255, 255, 1)"),WHITE:r("white-900","#ffffff"),BLUE_50:r("blue-50","rgba(240, 249, 255, 1)"),BLUE_100:r("blue-100","rgba(225, 243, 254, 1)"),BLUE_200:r("blue-200","rgba(185, 229, 252, 1)"),BLUE_300:r("blue-300","rgba(125, 211, 251, 1)"),BLUE_400:r("blue-400","rgba(58, 190, 247, 1)"),BLUE_500:r("blue-500","rgba(27, 173, 240, 1)"),BLUE_600:r("blue-600","rgba(64, 114, 210, 1)"),BLUE_700:r("blue-700","rgba(3, 105, 159, 1)"),BLUE_800:r("blue-800","rgba(5, 69, 103, 1)"),BLUE_900:r("blue-900","rgba(4, 38, 63, 1)"),BLUE:r("graph-primary-blue","#2D9CDB"),GREY_50:r("grey-50","rgba(248, 250, 252, 1)"),GREY_100:r("grey-100","rgba(241, 245, 249, 1)"),GREY_200:r("grey-200","rgba(225, 231, 239, 1)"),GREY_300:r("grey-300","rgba(200, 214, 229, 1)"),GREY_400:r("grey-400","rgba(158, 172, 192, 1)"),GREY_500:r("grey-500","rgba(100, 116, 139, 1)"),GREY_600:r("grey-600","rgba(72, 86, 106, 1)"),GREY_700:r("grey-700","rgba(51, 65, 86, 1)"),GREY_800:r("grey-800","rgba(29, 40, 57, 1)"),GREY_900:r("grey-900","rgba(20, 30, 53, 1)"),GREY:r("grey-400","#CCCCCC"),ORANGE:r("graph-primary-orange","#FFA62E"),RED:r("graph-primary-red","#FF5C64"),GREEN:r("graph-primary-green","#A5C34E"),YELLOW:r("graph-primary-yellow","#FBED53"),PURPLE:r("graph-primary-purple","#7A51AB"),GREEN_BG:r("green-bg","rgba(234, 254, 229, 1)"),GREEN_SUCCESS:r("green-success","rgba(8, 173, 55, 1)"),ORANGE_BG:r("orange-bg","rgba(254, 250, 229, 1)"),ORANGE_CAUTION:r("orange-caution","rgba(249, 173, 20, 1)"),RED_BG:r("red-bg","rgba(254, 234, 229, 1)"),RED_ERROR:r("red-error","rgba(216, 35, 44, 1)"),GRAPH_SECONDARY_BROWN:r("graph-secondary-brown","#AD7942"),GRAPH_SECONDARY_PINK:r("graph-secondary-pink","#FB90B4"),GRAPH_SECONDARY_TEAL:r("graph-secondary-teal","#3CCABA"),GRAPH_SECONDARY_DARK_BLUE:r("graph-secondary-dark-blue","#4072D2"),GRAPH_SECONDARY_BLACK:r("graph-secondary-black","#424E62"),GRAPH_SECONDARY_GREY:r("graph-secondary-grey","#B4B4B4")},b=[a.ORANGE,a.RED,a.GREEN,a.BLUE,a.YELLOW,a.PURPLE,a.GRAPH_SECONDARY_BROWN,a.GRAPH_SECONDARY_PINK,a.GRAPH_SECONDARY_TEAL,a.GRAPH_SECONDARY_DARK_BLUE,a.GRAPH_SECONDARY_BLACK,a.GRAPH_SECONDARY_GREY];exports.CHART_COLORS=b;exports.COLORS=a;
2
+ //# sourceMappingURL=colors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.cjs","sources":["../../src/utils/colors.ts"],"sourcesContent":["/**\n * Centralized color system for TetraScience UI\n * This utility provides access to CSS variables defined in colors.css\n * while maintaining TypeScript support and IntelliSense\n */\n\n/**\n * Get a CSS variable value with optional fallback\n * @param cssVar - The CSS variable name (without --)\n * @param fallback - Optional fallback value\n * @returns The CSS variable value or fallback\n */\nconst getCSSVar = (cssVar: string, fallback?: string): string => {\n if (typeof window !== \"undefined\") {\n const value = getComputedStyle(document.documentElement)\n .getPropertyValue(\"--\" + cssVar)\n .trim();\n return value || fallback || \"\";\n }\n const fallbackSuffix = fallback ? \", \" + fallback : \"\";\n return \"var(--\" + cssVar + fallbackSuffix + \")\";\n};\n\n/**\n * Centralized color tokens that map to CSS variables\n * This provides TypeScript support while leveraging CSS custom properties\n */\nexport const COLORS = {\n // Black scale\n BLACK_50: getCSSVar(\"black-50\", \"rgba(26, 26, 26, 0.05)\"),\n BLACK_100: getCSSVar(\"black-100\", \"rgba(26, 26, 26, 0.1)\"),\n BLACK_200: getCSSVar(\"black-200\", \"rgba(26, 26, 26, 0.2)\"),\n BLACK_300: getCSSVar(\"black-300\", \"rgba(26, 26, 26, 0.3)\"),\n BLACK_400: getCSSVar(\"black-400\", \"rgba(26, 26, 26, 0.4)\"),\n BLACK_500: getCSSVar(\"black-500\", \"rgba(26, 26, 26, 0.5)\"),\n BLACK_600: getCSSVar(\"black-600\", \"rgba(26, 26, 26, 0.6)\"),\n BLACK_700: getCSSVar(\"black-700\", \"rgba(26, 26, 26, 0.7)\"),\n BLACK_800: getCSSVar(\"black-800\", \"rgba(26, 26, 26, 0.8)\"),\n BLACK_900: getCSSVar(\"black-900\", \"rgba(26, 26, 26, 1)\"),\n\n // Legacy aliases for backwards compatibility\n BLACK: getCSSVar(\"black-900\", \"#1a1a1a\"),\n BLACK_OPACITY_20: \"rgba(26, 26, 26, 0.2)\", // Custom opacity not in CSS vars\n\n // White scale\n WHITE_50: getCSSVar(\"white-50\", \"rgba(255, 255, 255, 0.05)\"),\n WHITE_100: getCSSVar(\"white-100\", \"rgba(255, 255, 255, 0.1)\"),\n WHITE_200: getCSSVar(\"white-200\", \"rgba(255, 255, 255, 0.2)\"),\n WHITE_300: getCSSVar(\"white-300\", \"rgba(255, 255, 255, 0.3)\"),\n WHITE_400: getCSSVar(\"white-400\", \"rgba(255, 255, 255, 0.4)\"),\n WHITE_500: getCSSVar(\"white-500\", \"rgba(255, 255, 255, 0.5)\"),\n WHITE_600: getCSSVar(\"white-600\", \"rgba(255, 255, 255, 0.6)\"),\n WHITE_700: getCSSVar(\"white-700\", \"rgba(255, 255, 255, 0.7)\"),\n WHITE_800: getCSSVar(\"white-800\", \"rgba(255, 255, 255, 0.8)\"),\n WHITE_900: getCSSVar(\"white-900\", \"rgba(255, 255, 255, 1)\"),\n\n // Legacy alias\n WHITE: getCSSVar(\"white-900\", \"#ffffff\"),\n\n // Blue scale\n BLUE_50: getCSSVar(\"blue-50\", \"rgba(240, 249, 255, 1)\"),\n BLUE_100: getCSSVar(\"blue-100\", \"rgba(225, 243, 254, 1)\"),\n BLUE_200: getCSSVar(\"blue-200\", \"rgba(185, 229, 252, 1)\"),\n BLUE_300: getCSSVar(\"blue-300\", \"rgba(125, 211, 251, 1)\"),\n BLUE_400: getCSSVar(\"blue-400\", \"rgba(58, 190, 247, 1)\"),\n BLUE_500: getCSSVar(\"blue-500\", \"rgba(27, 173, 240, 1)\"),\n BLUE_600: getCSSVar(\"blue-600\", \"rgba(64, 114, 210, 1)\"),\n BLUE_700: getCSSVar(\"blue-700\", \"rgba(3, 105, 159, 1)\"),\n BLUE_800: getCSSVar(\"blue-800\", \"rgba(5, 69, 103, 1)\"),\n BLUE_900: getCSSVar(\"blue-900\", \"rgba(4, 38, 63, 1)\"),\n\n // Legacy alias\n BLUE: getCSSVar(\"graph-primary-blue\", \"#2D9CDB\"),\n\n // Grey scale\n GREY_50: getCSSVar(\"grey-50\", \"rgba(248, 250, 252, 1)\"),\n GREY_100: getCSSVar(\"grey-100\", \"rgba(241, 245, 249, 1)\"),\n GREY_200: getCSSVar(\"grey-200\", \"rgba(225, 231, 239, 1)\"),\n GREY_300: getCSSVar(\"grey-300\", \"rgba(200, 214, 229, 1)\"),\n GREY_400: getCSSVar(\"grey-400\", \"rgba(158, 172, 192, 1)\"),\n GREY_500: getCSSVar(\"grey-500\", \"rgba(100, 116, 139, 1)\"),\n GREY_600: getCSSVar(\"grey-600\", \"rgba(72, 86, 106, 1)\"),\n GREY_700: getCSSVar(\"grey-700\", \"rgba(51, 65, 86, 1)\"),\n GREY_800: getCSSVar(\"grey-800\", \"rgba(29, 40, 57, 1)\"),\n GREY_900: getCSSVar(\"grey-900\", \"rgba(20, 30, 53, 1)\"),\n\n // Legacy alias\n GREY: getCSSVar(\"grey-400\", \"#CCCCCC\"),\n\n // Graph primary colors\n ORANGE: getCSSVar(\"graph-primary-orange\", \"#FFA62E\"),\n RED: getCSSVar(\"graph-primary-red\", \"#FF5C64\"),\n GREEN: getCSSVar(\"graph-primary-green\", \"#A5C34E\"),\n YELLOW: getCSSVar(\"graph-primary-yellow\", \"#FBED53\"),\n PURPLE: getCSSVar(\"graph-primary-purple\", \"#7A51AB\"),\n\n // Semantic colors\n GREEN_BG: getCSSVar(\"green-bg\", \"rgba(234, 254, 229, 1)\"),\n GREEN_SUCCESS: getCSSVar(\"green-success\", \"rgba(8, 173, 55, 1)\"),\n ORANGE_BG: getCSSVar(\"orange-bg\", \"rgba(254, 250, 229, 1)\"),\n ORANGE_CAUTION: getCSSVar(\"orange-caution\", \"rgba(249, 173, 20, 1)\"),\n RED_BG: getCSSVar(\"red-bg\", \"rgba(254, 234, 229, 1)\"),\n RED_ERROR: getCSSVar(\"red-error\", \"rgba(216, 35, 44, 1)\"),\n\n // Graph secondary colors\n GRAPH_SECONDARY_BROWN: getCSSVar(\"graph-secondary-brown\", \"#AD7942\"),\n GRAPH_SECONDARY_PINK: getCSSVar(\"graph-secondary-pink\", \"#FB90B4\"),\n GRAPH_SECONDARY_TEAL: getCSSVar(\"graph-secondary-teal\", \"#3CCABA\"),\n GRAPH_SECONDARY_DARK_BLUE: getCSSVar(\"graph-secondary-dark-blue\", \"#4072D2\"),\n GRAPH_SECONDARY_BLACK: getCSSVar(\"graph-secondary-black\", \"#424E62\"),\n GRAPH_SECONDARY_GREY: getCSSVar(\"graph-secondary-grey\", \"#B4B4B4\"),\n} as const;\n\n/**\n * Chart color palette for consistent graph styling\n * Uses the primary graph colors from the design system\n */\nexport const CHART_COLORS = [\n COLORS.ORANGE,\n COLORS.RED,\n COLORS.GREEN,\n COLORS.BLUE,\n COLORS.YELLOW,\n COLORS.PURPLE,\n COLORS.GRAPH_SECONDARY_BROWN,\n COLORS.GRAPH_SECONDARY_PINK,\n COLORS.GRAPH_SECONDARY_TEAL,\n COLORS.GRAPH_SECONDARY_DARK_BLUE,\n COLORS.GRAPH_SECONDARY_BLACK,\n COLORS.GRAPH_SECONDARY_GREY,\n] as const;\n\nexport type ColorToken = keyof typeof COLORS;\n"],"names":["getCSSVar","cssVar","fallback","fallbackSuffix","COLORS","CHART_COLORS"],"mappings":"gFAYA,MAAMA,EAAY,CAACC,EAAgBC,IAA8B,CAC/D,GAAI,OAAO,OAAW,IAIpB,OAHc,iBAAiB,SAAS,eAAe,EACpD,iBAAiB,KAAOD,CAAM,EAC9B,KAAA,GACaC,GAAY,GAE9B,MAAMC,EAAiBD,EAAW,KAAOA,EAAW,GACpD,MAAO,SAAWD,EAASE,EAAiB,GAC9C,EAMaC,EAAS,CAEpB,SAAUJ,EAAU,WAAY,wBAAwB,EACxD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,uBAAuB,EACzD,UAAWA,EAAU,YAAa,qBAAqB,EAGvD,MAAOA,EAAU,YAAa,SAAS,EAIvC,SAAUA,EAAU,WAAY,2BAA2B,EAC3D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,0BAA0B,EAC5D,UAAWA,EAAU,YAAa,wBAAwB,EAG1D,MAAOA,EAAU,YAAa,SAAS,EAGvC,QAASA,EAAU,UAAW,wBAAwB,EACtD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,uBAAuB,EACvD,SAAUA,EAAU,WAAY,uBAAuB,EACvD,SAAUA,EAAU,WAAY,uBAAuB,EACvD,SAAUA,EAAU,WAAY,sBAAsB,EACtD,SAAUA,EAAU,WAAY,qBAAqB,EACrD,SAAUA,EAAU,WAAY,oBAAoB,EAGpD,KAAMA,EAAU,qBAAsB,SAAS,EAG/C,QAASA,EAAU,UAAW,wBAAwB,EACtD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,SAAUA,EAAU,WAAY,sBAAsB,EACtD,SAAUA,EAAU,WAAY,qBAAqB,EACrD,SAAUA,EAAU,WAAY,qBAAqB,EACrD,SAAUA,EAAU,WAAY,qBAAqB,EAGrD,KAAMA,EAAU,WAAY,SAAS,EAGrC,OAAQA,EAAU,uBAAwB,SAAS,EACnD,IAAKA,EAAU,oBAAqB,SAAS,EAC7C,MAAOA,EAAU,sBAAuB,SAAS,EACjD,OAAQA,EAAU,uBAAwB,SAAS,EACnD,OAAQA,EAAU,uBAAwB,SAAS,EAGnD,SAAUA,EAAU,WAAY,wBAAwB,EACxD,cAAeA,EAAU,gBAAiB,qBAAqB,EAC/D,UAAWA,EAAU,YAAa,wBAAwB,EAC1D,eAAgBA,EAAU,iBAAkB,uBAAuB,EACnE,OAAQA,EAAU,SAAU,wBAAwB,EACpD,UAAWA,EAAU,YAAa,sBAAsB,EAGxD,sBAAuBA,EAAU,wBAAyB,SAAS,EACnE,qBAAsBA,EAAU,uBAAwB,SAAS,EACjE,qBAAsBA,EAAU,uBAAwB,SAAS,EACjE,0BAA2BA,EAAU,4BAA6B,SAAS,EAC3E,sBAAuBA,EAAU,wBAAyB,SAAS,EACnE,qBAAsBA,EAAU,uBAAwB,SAAS,CACnE,EAMaK,EAAe,CAC1BD,EAAO,OACPA,EAAO,IACPA,EAAO,MACPA,EAAO,KACPA,EAAO,OACPA,EAAO,OACPA,EAAO,sBACPA,EAAO,qBACPA,EAAO,qBACPA,EAAO,0BACPA,EAAO,sBACPA,EAAO,oBACT"}
@@ -0,0 +1,98 @@
1
+ const r = (E, g) => {
2
+ if (typeof window < "u")
3
+ return getComputedStyle(document.documentElement).getPropertyValue("--" + E).trim() || g || "";
4
+ const e = g ? ", " + g : "";
5
+ return "var(--" + E + e + ")";
6
+ }, a = {
7
+ // Black scale
8
+ BLACK_50: r("black-50", "rgba(26, 26, 26, 0.05)"),
9
+ BLACK_100: r("black-100", "rgba(26, 26, 26, 0.1)"),
10
+ BLACK_200: r("black-200", "rgba(26, 26, 26, 0.2)"),
11
+ BLACK_300: r("black-300", "rgba(26, 26, 26, 0.3)"),
12
+ BLACK_400: r("black-400", "rgba(26, 26, 26, 0.4)"),
13
+ BLACK_500: r("black-500", "rgba(26, 26, 26, 0.5)"),
14
+ BLACK_600: r("black-600", "rgba(26, 26, 26, 0.6)"),
15
+ BLACK_700: r("black-700", "rgba(26, 26, 26, 0.7)"),
16
+ BLACK_800: r("black-800", "rgba(26, 26, 26, 0.8)"),
17
+ BLACK_900: r("black-900", "rgba(26, 26, 26, 1)"),
18
+ // Legacy aliases for backwards compatibility
19
+ BLACK: r("black-900", "#1a1a1a"),
20
+ // Custom opacity not in CSS vars
21
+ // White scale
22
+ WHITE_50: r("white-50", "rgba(255, 255, 255, 0.05)"),
23
+ WHITE_100: r("white-100", "rgba(255, 255, 255, 0.1)"),
24
+ WHITE_200: r("white-200", "rgba(255, 255, 255, 0.2)"),
25
+ WHITE_300: r("white-300", "rgba(255, 255, 255, 0.3)"),
26
+ WHITE_400: r("white-400", "rgba(255, 255, 255, 0.4)"),
27
+ WHITE_500: r("white-500", "rgba(255, 255, 255, 0.5)"),
28
+ WHITE_600: r("white-600", "rgba(255, 255, 255, 0.6)"),
29
+ WHITE_700: r("white-700", "rgba(255, 255, 255, 0.7)"),
30
+ WHITE_800: r("white-800", "rgba(255, 255, 255, 0.8)"),
31
+ WHITE_900: r("white-900", "rgba(255, 255, 255, 1)"),
32
+ // Legacy alias
33
+ WHITE: r("white-900", "#ffffff"),
34
+ // Blue scale
35
+ BLUE_50: r("blue-50", "rgba(240, 249, 255, 1)"),
36
+ BLUE_100: r("blue-100", "rgba(225, 243, 254, 1)"),
37
+ BLUE_200: r("blue-200", "rgba(185, 229, 252, 1)"),
38
+ BLUE_300: r("blue-300", "rgba(125, 211, 251, 1)"),
39
+ BLUE_400: r("blue-400", "rgba(58, 190, 247, 1)"),
40
+ BLUE_500: r("blue-500", "rgba(27, 173, 240, 1)"),
41
+ BLUE_600: r("blue-600", "rgba(64, 114, 210, 1)"),
42
+ BLUE_700: r("blue-700", "rgba(3, 105, 159, 1)"),
43
+ BLUE_800: r("blue-800", "rgba(5, 69, 103, 1)"),
44
+ BLUE_900: r("blue-900", "rgba(4, 38, 63, 1)"),
45
+ // Legacy alias
46
+ BLUE: r("graph-primary-blue", "#2D9CDB"),
47
+ // Grey scale
48
+ GREY_50: r("grey-50", "rgba(248, 250, 252, 1)"),
49
+ GREY_100: r("grey-100", "rgba(241, 245, 249, 1)"),
50
+ GREY_200: r("grey-200", "rgba(225, 231, 239, 1)"),
51
+ GREY_300: r("grey-300", "rgba(200, 214, 229, 1)"),
52
+ GREY_400: r("grey-400", "rgba(158, 172, 192, 1)"),
53
+ GREY_500: r("grey-500", "rgba(100, 116, 139, 1)"),
54
+ GREY_600: r("grey-600", "rgba(72, 86, 106, 1)"),
55
+ GREY_700: r("grey-700", "rgba(51, 65, 86, 1)"),
56
+ GREY_800: r("grey-800", "rgba(29, 40, 57, 1)"),
57
+ GREY_900: r("grey-900", "rgba(20, 30, 53, 1)"),
58
+ // Legacy alias
59
+ GREY: r("grey-400", "#CCCCCC"),
60
+ // Graph primary colors
61
+ ORANGE: r("graph-primary-orange", "#FFA62E"),
62
+ RED: r("graph-primary-red", "#FF5C64"),
63
+ GREEN: r("graph-primary-green", "#A5C34E"),
64
+ YELLOW: r("graph-primary-yellow", "#FBED53"),
65
+ PURPLE: r("graph-primary-purple", "#7A51AB"),
66
+ // Semantic colors
67
+ GREEN_BG: r("green-bg", "rgba(234, 254, 229, 1)"),
68
+ GREEN_SUCCESS: r("green-success", "rgba(8, 173, 55, 1)"),
69
+ ORANGE_BG: r("orange-bg", "rgba(254, 250, 229, 1)"),
70
+ ORANGE_CAUTION: r("orange-caution", "rgba(249, 173, 20, 1)"),
71
+ RED_BG: r("red-bg", "rgba(254, 234, 229, 1)"),
72
+ RED_ERROR: r("red-error", "rgba(216, 35, 44, 1)"),
73
+ // Graph secondary colors
74
+ GRAPH_SECONDARY_BROWN: r("graph-secondary-brown", "#AD7942"),
75
+ GRAPH_SECONDARY_PINK: r("graph-secondary-pink", "#FB90B4"),
76
+ GRAPH_SECONDARY_TEAL: r("graph-secondary-teal", "#3CCABA"),
77
+ GRAPH_SECONDARY_DARK_BLUE: r("graph-secondary-dark-blue", "#4072D2"),
78
+ GRAPH_SECONDARY_BLACK: r("graph-secondary-black", "#424E62"),
79
+ GRAPH_SECONDARY_GREY: r("graph-secondary-grey", "#B4B4B4")
80
+ }, _ = [
81
+ a.ORANGE,
82
+ a.RED,
83
+ a.GREEN,
84
+ a.BLUE,
85
+ a.YELLOW,
86
+ a.PURPLE,
87
+ a.GRAPH_SECONDARY_BROWN,
88
+ a.GRAPH_SECONDARY_PINK,
89
+ a.GRAPH_SECONDARY_TEAL,
90
+ a.GRAPH_SECONDARY_DARK_BLUE,
91
+ a.GRAPH_SECONDARY_BLACK,
92
+ a.GRAPH_SECONDARY_GREY
93
+ ];
94
+ export {
95
+ _ as CHART_COLORS,
96
+ a as COLORS
97
+ };
98
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sources":["../../src/utils/colors.ts"],"sourcesContent":["/**\n * Centralized color system for TetraScience UI\n * This utility provides access to CSS variables defined in colors.css\n * while maintaining TypeScript support and IntelliSense\n */\n\n/**\n * Get a CSS variable value with optional fallback\n * @param cssVar - The CSS variable name (without --)\n * @param fallback - Optional fallback value\n * @returns The CSS variable value or fallback\n */\nconst getCSSVar = (cssVar: string, fallback?: string): string => {\n if (typeof window !== \"undefined\") {\n const value = getComputedStyle(document.documentElement)\n .getPropertyValue(\"--\" + cssVar)\n .trim();\n return value || fallback || \"\";\n }\n const fallbackSuffix = fallback ? \", \" + fallback : \"\";\n return \"var(--\" + cssVar + fallbackSuffix + \")\";\n};\n\n/**\n * Centralized color tokens that map to CSS variables\n * This provides TypeScript support while leveraging CSS custom properties\n */\nexport const COLORS = {\n // Black scale\n BLACK_50: getCSSVar(\"black-50\", \"rgba(26, 26, 26, 0.05)\"),\n BLACK_100: getCSSVar(\"black-100\", \"rgba(26, 26, 26, 0.1)\"),\n BLACK_200: getCSSVar(\"black-200\", \"rgba(26, 26, 26, 0.2)\"),\n BLACK_300: getCSSVar(\"black-300\", \"rgba(26, 26, 26, 0.3)\"),\n BLACK_400: getCSSVar(\"black-400\", \"rgba(26, 26, 26, 0.4)\"),\n BLACK_500: getCSSVar(\"black-500\", \"rgba(26, 26, 26, 0.5)\"),\n BLACK_600: getCSSVar(\"black-600\", \"rgba(26, 26, 26, 0.6)\"),\n BLACK_700: getCSSVar(\"black-700\", \"rgba(26, 26, 26, 0.7)\"),\n BLACK_800: getCSSVar(\"black-800\", \"rgba(26, 26, 26, 0.8)\"),\n BLACK_900: getCSSVar(\"black-900\", \"rgba(26, 26, 26, 1)\"),\n\n // Legacy aliases for backwards compatibility\n BLACK: getCSSVar(\"black-900\", \"#1a1a1a\"),\n BLACK_OPACITY_20: \"rgba(26, 26, 26, 0.2)\", // Custom opacity not in CSS vars\n\n // White scale\n WHITE_50: getCSSVar(\"white-50\", \"rgba(255, 255, 255, 0.05)\"),\n WHITE_100: getCSSVar(\"white-100\", \"rgba(255, 255, 255, 0.1)\"),\n WHITE_200: getCSSVar(\"white-200\", \"rgba(255, 255, 255, 0.2)\"),\n WHITE_300: getCSSVar(\"white-300\", \"rgba(255, 255, 255, 0.3)\"),\n WHITE_400: getCSSVar(\"white-400\", \"rgba(255, 255, 255, 0.4)\"),\n WHITE_500: getCSSVar(\"white-500\", \"rgba(255, 255, 255, 0.5)\"),\n WHITE_600: getCSSVar(\"white-600\", \"rgba(255, 255, 255, 0.6)\"),\n WHITE_700: getCSSVar(\"white-700\", \"rgba(255, 255, 255, 0.7)\"),\n WHITE_800: getCSSVar(\"white-800\", \"rgba(255, 255, 255, 0.8)\"),\n WHITE_900: getCSSVar(\"white-900\", \"rgba(255, 255, 255, 1)\"),\n\n // Legacy alias\n WHITE: getCSSVar(\"white-900\", \"#ffffff\"),\n\n // Blue scale\n BLUE_50: getCSSVar(\"blue-50\", \"rgba(240, 249, 255, 1)\"),\n BLUE_100: getCSSVar(\"blue-100\", \"rgba(225, 243, 254, 1)\"),\n BLUE_200: getCSSVar(\"blue-200\", \"rgba(185, 229, 252, 1)\"),\n BLUE_300: getCSSVar(\"blue-300\", \"rgba(125, 211, 251, 1)\"),\n BLUE_400: getCSSVar(\"blue-400\", \"rgba(58, 190, 247, 1)\"),\n BLUE_500: getCSSVar(\"blue-500\", \"rgba(27, 173, 240, 1)\"),\n BLUE_600: getCSSVar(\"blue-600\", \"rgba(64, 114, 210, 1)\"),\n BLUE_700: getCSSVar(\"blue-700\", \"rgba(3, 105, 159, 1)\"),\n BLUE_800: getCSSVar(\"blue-800\", \"rgba(5, 69, 103, 1)\"),\n BLUE_900: getCSSVar(\"blue-900\", \"rgba(4, 38, 63, 1)\"),\n\n // Legacy alias\n BLUE: getCSSVar(\"graph-primary-blue\", \"#2D9CDB\"),\n\n // Grey scale\n GREY_50: getCSSVar(\"grey-50\", \"rgba(248, 250, 252, 1)\"),\n GREY_100: getCSSVar(\"grey-100\", \"rgba(241, 245, 249, 1)\"),\n GREY_200: getCSSVar(\"grey-200\", \"rgba(225, 231, 239, 1)\"),\n GREY_300: getCSSVar(\"grey-300\", \"rgba(200, 214, 229, 1)\"),\n GREY_400: getCSSVar(\"grey-400\", \"rgba(158, 172, 192, 1)\"),\n GREY_500: getCSSVar(\"grey-500\", \"rgba(100, 116, 139, 1)\"),\n GREY_600: getCSSVar(\"grey-600\", \"rgba(72, 86, 106, 1)\"),\n GREY_700: getCSSVar(\"grey-700\", \"rgba(51, 65, 86, 1)\"),\n GREY_800: getCSSVar(\"grey-800\", \"rgba(29, 40, 57, 1)\"),\n GREY_900: getCSSVar(\"grey-900\", \"rgba(20, 30, 53, 1)\"),\n\n // Legacy alias\n GREY: getCSSVar(\"grey-400\", \"#CCCCCC\"),\n\n // Graph primary colors\n ORANGE: getCSSVar(\"graph-primary-orange\", \"#FFA62E\"),\n RED: getCSSVar(\"graph-primary-red\", \"#FF5C64\"),\n GREEN: getCSSVar(\"graph-primary-green\", \"#A5C34E\"),\n YELLOW: getCSSVar(\"graph-primary-yellow\", \"#FBED53\"),\n PURPLE: getCSSVar(\"graph-primary-purple\", \"#7A51AB\"),\n\n // Semantic colors\n GREEN_BG: getCSSVar(\"green-bg\", \"rgba(234, 254, 229, 1)\"),\n GREEN_SUCCESS: getCSSVar(\"green-success\", \"rgba(8, 173, 55, 1)\"),\n ORANGE_BG: getCSSVar(\"orange-bg\", \"rgba(254, 250, 229, 1)\"),\n ORANGE_CAUTION: getCSSVar(\"orange-caution\", \"rgba(249, 173, 20, 1)\"),\n RED_BG: getCSSVar(\"red-bg\", \"rgba(254, 234, 229, 1)\"),\n RED_ERROR: getCSSVar(\"red-error\", \"rgba(216, 35, 44, 1)\"),\n\n // Graph secondary colors\n GRAPH_SECONDARY_BROWN: getCSSVar(\"graph-secondary-brown\", \"#AD7942\"),\n GRAPH_SECONDARY_PINK: getCSSVar(\"graph-secondary-pink\", \"#FB90B4\"),\n GRAPH_SECONDARY_TEAL: getCSSVar(\"graph-secondary-teal\", \"#3CCABA\"),\n GRAPH_SECONDARY_DARK_BLUE: getCSSVar(\"graph-secondary-dark-blue\", \"#4072D2\"),\n GRAPH_SECONDARY_BLACK: getCSSVar(\"graph-secondary-black\", \"#424E62\"),\n GRAPH_SECONDARY_GREY: getCSSVar(\"graph-secondary-grey\", \"#B4B4B4\"),\n} as const;\n\n/**\n * Chart color palette for consistent graph styling\n * Uses the primary graph colors from the design system\n */\nexport const CHART_COLORS = [\n COLORS.ORANGE,\n COLORS.RED,\n COLORS.GREEN,\n COLORS.BLUE,\n COLORS.YELLOW,\n COLORS.PURPLE,\n COLORS.GRAPH_SECONDARY_BROWN,\n COLORS.GRAPH_SECONDARY_PINK,\n COLORS.GRAPH_SECONDARY_TEAL,\n COLORS.GRAPH_SECONDARY_DARK_BLUE,\n COLORS.GRAPH_SECONDARY_BLACK,\n COLORS.GRAPH_SECONDARY_GREY,\n] as const;\n\nexport type ColorToken = keyof typeof COLORS;\n"],"names":["getCSSVar","cssVar","fallback","fallbackSuffix","COLORS","CHART_COLORS"],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@tetrascience-npm/tetrascience-react-ui",
3
- "version": "0.5.0-beta.20.1",
3
+ "version": "0.5.0-beta.22.1",
4
4
  "description": "TetraScience React UI",
5
5
  "type": "module",
6
6
  "author": "TetraScience",
7
7
  "license": "Apache-2.0",
8
+ "sideEffects": [
9
+ "./dist/index.css"
10
+ ],
8
11
  "main": "./dist/index.cjs",
9
12
  "module": "./dist/index.js",
10
13
  "types": "./dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- "use strict";class o extends Error{constructor(r){super(r),this.name="ProviderError"}}class s extends o{constructor(r){super(r),this.name="MissingTableError"}}class n extends o{constructor(r){super(r),this.name="QueryError"}}class i extends o{constructor(r){super(r),this.name="ProviderConnectionError"}}class t extends o{constructor(r){super(r),this.name="InvalidProviderConfigurationError"}}exports.InvalidProviderConfigurationError=t;exports.MissingTableError=s;exports.ProviderConnectionError=i;exports.ProviderError=o;exports.QueryError=n;
2
- //# sourceMappingURL=exceptions-DN25pCDi.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exceptions-DN25pCDi.cjs","sources":["../src/server/providers/exceptions.ts"],"sourcesContent":["/**\n * Provider Exceptions\n *\n * TypeScript equivalents of the Python exceptions from\n * ts-lib-ui-kit-streamlit/tetrascience/data_app_providers/exceptions.py\n */\n\n/**\n * Base class for provider errors\n */\nexport class ProviderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ProviderError\";\n }\n}\n\n/**\n * Raised when a table is missing in the database\n */\nexport class MissingTableError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"MissingTableError\";\n }\n}\n\n/**\n * Raised when a query fails\n */\nexport class QueryError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"QueryError\";\n }\n}\n\n/**\n * Raised when connecting to a provider fails\n */\nexport class ProviderConnectionError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"ProviderConnectionError\";\n }\n}\n\n/**\n * Raised when the provider configuration is invalid\n */\nexport class InvalidProviderConfigurationError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidProviderConfigurationError\";\n }\n}\n\n"],"names":["ProviderError","message","MissingTableError","QueryError","ProviderConnectionError","InvalidProviderConfigurationError"],"mappings":"aAUO,MAAMA,UAAsB,KAAM,CACvC,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,KAAO,eACd,CACF,CAKO,MAAMC,UAA0BF,CAAc,CACnD,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,KAAO,mBACd,CACF,CAKO,MAAME,UAAmBH,CAAc,CAC5C,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,KAAO,YACd,CACF,CAKO,MAAMG,UAAgCJ,CAAc,CACzD,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,KAAO,yBACd,CACF,CAKO,MAAMI,UAA0CL,CAAc,CACnE,YAAYC,EAAiB,CAC3B,MAAMA,CAAO,EACb,KAAK,KAAO,mCACd,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exceptions-jCQ6h5C8.js","sources":["../src/server/providers/exceptions.ts"],"sourcesContent":["/**\n * Provider Exceptions\n *\n * TypeScript equivalents of the Python exceptions from\n * ts-lib-ui-kit-streamlit/tetrascience/data_app_providers/exceptions.py\n */\n\n/**\n * Base class for provider errors\n */\nexport class ProviderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ProviderError\";\n }\n}\n\n/**\n * Raised when a table is missing in the database\n */\nexport class MissingTableError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"MissingTableError\";\n }\n}\n\n/**\n * Raised when a query fails\n */\nexport class QueryError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"QueryError\";\n }\n}\n\n/**\n * Raised when connecting to a provider fails\n */\nexport class ProviderConnectionError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"ProviderConnectionError\";\n }\n}\n\n/**\n * Raised when the provider configuration is invalid\n */\nexport class InvalidProviderConfigurationError extends ProviderError {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidProviderConfigurationError\";\n }\n}\n\n"],"names":["ProviderError","message","MissingTableError","QueryError","ProviderConnectionError","InvalidProviderConfigurationError"],"mappings":"AAUO,MAAMA,UAAsB,MAAM;AAAA,EACvC,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EACd;AACF;AAKO,MAAMC,UAA0BF,EAAc;AAAA,EACnD,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EACd;AACF;AAKO,MAAME,UAAmBH,EAAc;AAAA,EAC5C,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EACd;AACF;AAKO,MAAMG,UAAgCJ,EAAc;AAAA,EACzD,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EACd;AACF;AAKO,MAAMI,UAA0CL,EAAc;AAAA,EACnE,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EACd;AACF;"}