react-cheminfo 0.9.0 → 0.10.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 (1131) hide show
  1. package/README.md +251 -20
  2. package/lib/chart/core/chartAxisScale.d.ts +88 -0
  3. package/lib/chart/core/chartAxisScale.d.ts.map +1 -0
  4. package/lib/chart/core/chartAxisScale.js +205 -0
  5. package/lib/chart/core/chartAxisScale.js.map +1 -0
  6. package/lib/chart/core/chartBand.d.ts +47 -0
  7. package/lib/chart/core/chartBand.d.ts.map +1 -0
  8. package/lib/chart/core/chartBand.js +55 -0
  9. package/lib/chart/core/chartBand.js.map +1 -0
  10. package/lib/chart/core/chartBins.d.ts +32 -0
  11. package/lib/chart/core/chartBins.d.ts.map +1 -0
  12. package/lib/chart/core/chartBins.js +64 -0
  13. package/lib/chart/core/chartBins.js.map +1 -0
  14. package/lib/chart/core/chartExtent.d.ts +105 -0
  15. package/lib/chart/core/chartExtent.d.ts.map +1 -0
  16. package/lib/chart/core/chartExtent.js +134 -0
  17. package/lib/chart/core/chartExtent.js.map +1 -0
  18. package/lib/chart/core/chartLabels.d.ts +49 -0
  19. package/lib/chart/core/chartLabels.d.ts.map +1 -0
  20. package/lib/chart/core/chartLabels.js +44 -0
  21. package/lib/chart/core/chartLabels.js.map +1 -0
  22. package/lib/chart/core/chartPalette.d.ts +33 -0
  23. package/lib/chart/core/chartPalette.d.ts.map +1 -0
  24. package/lib/chart/core/chartPalette.js +51 -0
  25. package/lib/chart/core/chartPalette.js.map +1 -0
  26. package/lib/chart/core/chartScale.d.ts +49 -0
  27. package/lib/chart/core/chartScale.d.ts.map +1 -0
  28. package/lib/chart/core/chartScale.js +53 -0
  29. package/lib/chart/core/chartScale.js.map +1 -0
  30. package/lib/chart/core/chartViewport.d.ts +88 -0
  31. package/lib/chart/core/chartViewport.d.ts.map +1 -0
  32. package/lib/chart/core/chartViewport.js +164 -0
  33. package/lib/chart/core/chartViewport.js.map +1 -0
  34. package/lib/chart/core/index.d.ts +29 -0
  35. package/lib/chart/core/index.d.ts.map +1 -0
  36. package/lib/chart/core/index.js +20 -0
  37. package/lib/chart/core/index.js.map +1 -0
  38. package/lib/chart/core/matrix.d.ts +56 -0
  39. package/lib/chart/core/matrix.d.ts.map +1 -0
  40. package/lib/chart/core/matrix.js +75 -0
  41. package/lib/chart/core/matrix.js.map +1 -0
  42. package/lib/chart/ui/ChartAxis.d.ts +50 -0
  43. package/lib/chart/ui/ChartAxis.d.ts.map +1 -0
  44. package/lib/chart/ui/ChartAxis.js +89 -0
  45. package/lib/chart/ui/ChartAxis.js.map +1 -0
  46. package/lib/chart/ui/ChartFrame.d.ts +136 -0
  47. package/lib/chart/ui/ChartFrame.d.ts.map +1 -0
  48. package/lib/chart/ui/ChartFrame.js +61 -0
  49. package/lib/chart/ui/ChartFrame.js.map +1 -0
  50. package/lib/chart/ui/ChartSeriesMarks.d.ts +44 -0
  51. package/lib/chart/ui/ChartSeriesMarks.d.ts.map +1 -0
  52. package/lib/chart/ui/ChartSeriesMarks.js +48 -0
  53. package/lib/chart/ui/ChartSeriesMarks.js.map +1 -0
  54. package/lib/chart/ui/ChartTrackingLayer.d.ts +54 -0
  55. package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -0
  56. package/lib/chart/ui/ChartTrackingLayer.js +98 -0
  57. package/lib/chart/ui/ChartTrackingLayer.js.map +1 -0
  58. package/lib/chart/ui/TrackedLineChart.d.ts +136 -0
  59. package/lib/chart/ui/TrackedLineChart.d.ts.map +1 -0
  60. package/lib/chart/ui/TrackedLineChart.js +90 -0
  61. package/lib/chart/ui/TrackedLineChart.js.map +1 -0
  62. package/lib/chart/ui/TrackedStickChart.d.ts +88 -0
  63. package/lib/chart/ui/TrackedStickChart.d.ts.map +1 -0
  64. package/lib/chart/ui/TrackedStickChart.js +58 -0
  65. package/lib/chart/ui/TrackedStickChart.js.map +1 -0
  66. package/lib/chart/ui/chartStyles.d.ts +141 -0
  67. package/lib/chart/ui/chartStyles.d.ts.map +1 -0
  68. package/lib/chart/ui/chartStyles.js +154 -0
  69. package/lib/chart/ui/chartStyles.js.map +1 -0
  70. package/lib/chart/ui/index.d.ts +20 -0
  71. package/lib/chart/ui/index.d.ts.map +1 -0
  72. package/lib/chart/ui/index.js +13 -0
  73. package/lib/chart/ui/index.js.map +1 -0
  74. package/lib/chart/ui/stickChartModel.d.ts +99 -0
  75. package/lib/chart/ui/stickChartModel.d.ts.map +1 -0
  76. package/lib/chart/ui/stickChartModel.js +140 -0
  77. package/lib/chart/ui/stickChartModel.js.map +1 -0
  78. package/lib/chart/ui/useWheelZoom.d.ts +69 -0
  79. package/lib/chart/ui/useWheelZoom.d.ts.map +1 -0
  80. package/lib/chart/ui/useWheelZoom.js +122 -0
  81. package/lib/chart/ui/useWheelZoom.js.map +1 -0
  82. package/lib/color/core/gradient.d.ts +15 -0
  83. package/lib/color/core/gradient.d.ts.map +1 -0
  84. package/lib/color/core/gradient.js +28 -0
  85. package/lib/color/core/gradient.js.map +1 -0
  86. package/lib/color/core/hsv.d.ts +38 -0
  87. package/lib/color/core/hsv.d.ts.map +1 -0
  88. package/lib/color/core/hsv.js +92 -0
  89. package/lib/color/core/hsv.js.map +1 -0
  90. package/lib/color/core/index.d.ts +12 -1
  91. package/lib/color/core/index.d.ts.map +1 -1
  92. package/lib/color/core/index.js +6 -0
  93. package/lib/color/core/index.js.map +1 -1
  94. package/lib/color/core/interpolate.d.ts +67 -0
  95. package/lib/color/core/interpolate.d.ts.map +1 -0
  96. package/lib/color/core/interpolate.js +121 -0
  97. package/lib/color/core/interpolate.js.map +1 -0
  98. package/lib/color/core/scale.d.ts +11 -15
  99. package/lib/color/core/scale.d.ts.map +1 -1
  100. package/lib/color/core/scale.js +14 -41
  101. package/lib/color/core/scale.js.map +1 -1
  102. package/lib/color/core/scaleData.d.ts +19 -0
  103. package/lib/color/core/scaleData.d.ts.map +1 -0
  104. package/lib/color/core/scaleData.js +120 -0
  105. package/lib/color/core/scaleData.js.map +1 -0
  106. package/lib/color/core/scaleText.d.ts +43 -0
  107. package/lib/color/core/scaleText.d.ts.map +1 -0
  108. package/lib/color/core/scaleText.js +109 -0
  109. package/lib/color/core/scaleText.js.map +1 -0
  110. package/lib/color/core/scales.d.ts +42 -0
  111. package/lib/color/core/scales.d.ts.map +1 -0
  112. package/lib/color/core/scales.js +110 -0
  113. package/lib/color/core/scales.js.map +1 -0
  114. package/lib/color/ui/ColorScaleBar.d.ts +39 -0
  115. package/lib/color/ui/ColorScaleBar.d.ts.map +1 -0
  116. package/lib/color/ui/ColorScaleBar.js +27 -0
  117. package/lib/color/ui/ColorScaleBar.js.map +1 -0
  118. package/lib/color/ui/ColorScaleEditor.d.ts +21 -0
  119. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -0
  120. package/lib/color/ui/ColorScaleEditor.js +141 -0
  121. package/lib/color/ui/ColorScaleEditor.js.map +1 -0
  122. package/lib/color/ui/ColorScaleSelect.d.ts +38 -0
  123. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -0
  124. package/lib/color/ui/ColorScaleSelect.js +109 -0
  125. package/lib/color/ui/ColorScaleSelect.js.map +1 -0
  126. package/lib/color/ui/index.d.ts +6 -0
  127. package/lib/color/ui/index.d.ts.map +1 -1
  128. package/lib/color/ui/index.js +3 -0
  129. package/lib/color/ui/index.js.map +1 -1
  130. package/lib/core.d.ts +5 -0
  131. package/lib/core.d.ts.map +1 -1
  132. package/lib/core.js +5 -0
  133. package/lib/core.js.map +1 -1
  134. package/lib/credits/core/credits.d.ts +17 -0
  135. package/lib/credits/core/credits.d.ts.map +1 -1
  136. package/lib/credits/core/credits.js +20 -0
  137. package/lib/credits/core/credits.js.map +1 -1
  138. package/lib/download/core/cssTokens.d.ts +33 -0
  139. package/lib/download/core/cssTokens.d.ts.map +1 -0
  140. package/lib/download/core/cssTokens.js +82 -0
  141. package/lib/download/core/cssTokens.js.map +1 -0
  142. package/lib/download/core/downloadFigure.d.ts +39 -0
  143. package/lib/download/core/downloadFigure.d.ts.map +1 -0
  144. package/lib/download/core/downloadFigure.js +35 -0
  145. package/lib/download/core/downloadFigure.js.map +1 -0
  146. package/lib/download/core/figurePng.d.ts +21 -0
  147. package/lib/download/core/figurePng.d.ts.map +1 -0
  148. package/lib/download/core/figurePng.js +76 -0
  149. package/lib/download/core/figurePng.js.map +1 -0
  150. package/lib/download/core/figureScale.d.ts +61 -0
  151. package/lib/download/core/figureScale.d.ts.map +1 -0
  152. package/lib/download/core/figureScale.js +67 -0
  153. package/lib/download/core/figureScale.js.map +1 -0
  154. package/lib/download/core/figureSvg.d.ts +37 -0
  155. package/lib/download/core/figureSvg.d.ts.map +1 -0
  156. package/lib/download/core/figureSvg.js +94 -0
  157. package/lib/download/core/figureSvg.js.map +1 -0
  158. package/lib/download/core/figureSvgDocument.d.ts +55 -0
  159. package/lib/download/core/figureSvgDocument.d.ts.map +1 -0
  160. package/lib/download/core/figureSvgDocument.js +79 -0
  161. package/lib/download/core/figureSvgDocument.js.map +1 -0
  162. package/lib/download/core/figureTarget.d.ts +56 -0
  163. package/lib/download/core/figureTarget.d.ts.map +1 -0
  164. package/lib/download/core/figureTarget.js +119 -0
  165. package/lib/download/core/figureTarget.js.map +1 -0
  166. package/lib/download/core/index.d.ts +12 -0
  167. package/lib/download/core/index.d.ts.map +1 -1
  168. package/lib/download/core/index.js +7 -0
  169. package/lib/download/core/index.js.map +1 -1
  170. package/lib/download/ui/FigureDownload.d.ts +81 -0
  171. package/lib/download/ui/FigureDownload.d.ts.map +1 -0
  172. package/lib/download/ui/FigureDownload.js +65 -0
  173. package/lib/download/ui/FigureDownload.js.map +1 -0
  174. package/lib/download/ui/FigureDownloadPanel.d.ts +45 -0
  175. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -0
  176. package/lib/download/ui/FigureDownloadPanel.js +86 -0
  177. package/lib/download/ui/FigureDownloadPanel.js.map +1 -0
  178. package/lib/download/ui/index.d.ts +13 -0
  179. package/lib/download/ui/index.d.ts.map +1 -0
  180. package/lib/download/ui/index.js +11 -0
  181. package/lib/download/ui/index.js.map +1 -0
  182. package/lib/ecosystem/core/sites.d.ts +1 -1
  183. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  184. package/lib/ecosystem/core/sites.js +10 -0
  185. package/lib/ecosystem/core/sites.js.map +1 -1
  186. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
  187. package/lib/ecosystem/ui/glyphs.js +4 -0
  188. package/lib/ecosystem/ui/glyphs.js.map +1 -1
  189. package/lib/overlay/core/emptiestCorner.d.ts +47 -0
  190. package/lib/overlay/core/emptiestCorner.d.ts.map +1 -0
  191. package/lib/overlay/core/emptiestCorner.js +84 -0
  192. package/lib/overlay/core/emptiestCorner.js.map +1 -0
  193. package/lib/overlay/core/index.d.ts +23 -0
  194. package/lib/overlay/core/index.d.ts.map +1 -0
  195. package/lib/overlay/core/index.js +16 -0
  196. package/lib/overlay/core/index.js.map +1 -0
  197. package/lib/overlay/core/overlayCollapse.d.ts +14 -0
  198. package/lib/overlay/core/overlayCollapse.d.ts.map +1 -0
  199. package/lib/overlay/core/overlayCollapse.js +20 -0
  200. package/lib/overlay/core/overlayCollapse.js.map +1 -0
  201. package/lib/overlay/core/overlayMarks.d.ts +31 -0
  202. package/lib/overlay/core/overlayMarks.d.ts.map +1 -0
  203. package/lib/overlay/core/overlayMarks.js +38 -0
  204. package/lib/overlay/core/overlayMarks.js.map +1 -0
  205. package/lib/overlay/core/overlayMetrics.d.ts +41 -0
  206. package/lib/overlay/core/overlayMetrics.d.ts.map +1 -0
  207. package/lib/overlay/core/overlayMetrics.js +73 -0
  208. package/lib/overlay/core/overlayMetrics.js.map +1 -0
  209. package/lib/overlay/core/overlayPlacement.d.ts +60 -0
  210. package/lib/overlay/core/overlayPlacement.d.ts.map +1 -0
  211. package/lib/overlay/core/overlayPlacement.js +24 -0
  212. package/lib/overlay/core/overlayPlacement.js.map +1 -0
  213. package/lib/overlay/core/overlayTierRoom.d.ts +89 -0
  214. package/lib/overlay/core/overlayTierRoom.d.ts.map +1 -0
  215. package/lib/overlay/core/overlayTierRoom.js +135 -0
  216. package/lib/overlay/core/overlayTierRoom.js.map +1 -0
  217. package/lib/overlay/core/overlayTiers.d.ts +71 -0
  218. package/lib/overlay/core/overlayTiers.d.ts.map +1 -0
  219. package/lib/overlay/core/overlayTiers.js +89 -0
  220. package/lib/overlay/core/overlayTiers.js.map +1 -0
  221. package/lib/overlay/core/placeOverlayCard.d.ts +47 -0
  222. package/lib/overlay/core/placeOverlayCard.d.ts.map +1 -0
  223. package/lib/overlay/core/placeOverlayCard.js +42 -0
  224. package/lib/overlay/core/placeOverlayCard.js.map +1 -0
  225. package/lib/overlay/ui/OverlayAction.d.ts +32 -0
  226. package/lib/overlay/ui/OverlayAction.d.ts.map +1 -0
  227. package/lib/overlay/ui/OverlayAction.js +19 -0
  228. package/lib/overlay/ui/OverlayAction.js.map +1 -0
  229. package/lib/overlay/ui/OverlayBar.d.ts +122 -0
  230. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -0
  231. package/lib/overlay/ui/OverlayBar.js +42 -0
  232. package/lib/overlay/ui/OverlayBar.js.map +1 -0
  233. package/lib/overlay/ui/OverlayBarButton.d.ts +38 -0
  234. package/lib/overlay/ui/OverlayBarButton.d.ts.map +1 -0
  235. package/lib/overlay/ui/OverlayBarButton.js +40 -0
  236. package/lib/overlay/ui/OverlayBarButton.js.map +1 -0
  237. package/lib/overlay/ui/OverlayBarCard.d.ts +25 -0
  238. package/lib/overlay/ui/OverlayBarCard.d.ts.map +1 -0
  239. package/lib/overlay/ui/OverlayBarCard.js +28 -0
  240. package/lib/overlay/ui/OverlayBarCard.js.map +1 -0
  241. package/lib/overlay/ui/OverlayBarStrip.d.ts +18 -0
  242. package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -0
  243. package/lib/overlay/ui/OverlayBarStrip.js +26 -0
  244. package/lib/overlay/ui/OverlayBarStrip.js.map +1 -0
  245. package/lib/overlay/ui/OverlayCaption.d.ts +52 -0
  246. package/lib/overlay/ui/OverlayCaption.d.ts.map +1 -0
  247. package/lib/overlay/ui/OverlayCaption.js +62 -0
  248. package/lib/overlay/ui/OverlayCaption.js.map +1 -0
  249. package/lib/overlay/ui/OverlayChip.d.ts +60 -0
  250. package/lib/overlay/ui/OverlayChip.d.ts.map +1 -0
  251. package/lib/overlay/ui/OverlayChip.js +73 -0
  252. package/lib/overlay/ui/OverlayChip.js.map +1 -0
  253. package/lib/overlay/ui/OverlayDivider.d.ts +11 -0
  254. package/lib/overlay/ui/OverlayDivider.d.ts.map +1 -0
  255. package/lib/overlay/ui/OverlayDivider.js +16 -0
  256. package/lib/overlay/ui/OverlayDivider.js.map +1 -0
  257. package/lib/overlay/ui/OverlayGroup.d.ts +53 -0
  258. package/lib/overlay/ui/OverlayGroup.d.ts.map +1 -0
  259. package/lib/overlay/ui/OverlayGroup.js +63 -0
  260. package/lib/overlay/ui/OverlayGroup.js.map +1 -0
  261. package/lib/overlay/ui/OverlayIconButton.d.ts +75 -0
  262. package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -0
  263. package/lib/overlay/ui/OverlayIconButton.js +43 -0
  264. package/lib/overlay/ui/OverlayIconButton.js.map +1 -0
  265. package/lib/overlay/ui/OverlayInfo.d.ts +43 -0
  266. package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -0
  267. package/lib/overlay/ui/OverlayInfo.js +47 -0
  268. package/lib/overlay/ui/OverlayInfo.js.map +1 -0
  269. package/lib/overlay/ui/OverlayLayer.d.ts +54 -0
  270. package/lib/overlay/ui/OverlayLayer.d.ts.map +1 -0
  271. package/lib/overlay/ui/OverlayLayer.js +50 -0
  272. package/lib/overlay/ui/OverlayLayer.js.map +1 -0
  273. package/lib/overlay/ui/OverlayLegend.d.ts +75 -0
  274. package/lib/overlay/ui/OverlayLegend.d.ts.map +1 -0
  275. package/lib/overlay/ui/OverlayLegend.js +81 -0
  276. package/lib/overlay/ui/OverlayLegend.js.map +1 -0
  277. package/lib/overlay/ui/OverlayLegendMark.d.ts +36 -0
  278. package/lib/overlay/ui/OverlayLegendMark.d.ts.map +1 -0
  279. package/lib/overlay/ui/OverlayLegendMark.js +43 -0
  280. package/lib/overlay/ui/OverlayLegendMark.js.map +1 -0
  281. package/lib/overlay/ui/OverlayNumber.d.ts +43 -0
  282. package/lib/overlay/ui/OverlayNumber.d.ts.map +1 -0
  283. package/lib/overlay/ui/OverlayNumber.js +74 -0
  284. package/lib/overlay/ui/OverlayNumber.js.map +1 -0
  285. package/lib/overlay/ui/OverlayPanel.d.ts +81 -0
  286. package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -0
  287. package/lib/overlay/ui/OverlayPanel.js +42 -0
  288. package/lib/overlay/ui/OverlayPanel.js.map +1 -0
  289. package/lib/overlay/ui/OverlayPills.d.ts +73 -0
  290. package/lib/overlay/ui/OverlayPills.d.ts.map +1 -0
  291. package/lib/overlay/ui/OverlayPills.js +55 -0
  292. package/lib/overlay/ui/OverlayPills.js.map +1 -0
  293. package/lib/overlay/ui/OverlayReadout.d.ts +63 -0
  294. package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -0
  295. package/lib/overlay/ui/OverlayReadout.js +129 -0
  296. package/lib/overlay/ui/OverlayReadout.js.map +1 -0
  297. package/lib/overlay/ui/OverlayRow.d.ts +111 -0
  298. package/lib/overlay/ui/OverlayRow.d.ts.map +1 -0
  299. package/lib/overlay/ui/OverlayRow.js +50 -0
  300. package/lib/overlay/ui/OverlayRow.js.map +1 -0
  301. package/lib/overlay/ui/OverlaySegmented.d.ts +28 -0
  302. package/lib/overlay/ui/OverlaySegmented.d.ts.map +1 -0
  303. package/lib/overlay/ui/OverlaySegmented.js +23 -0
  304. package/lib/overlay/ui/OverlaySegmented.js.map +1 -0
  305. package/lib/overlay/ui/OverlaySelect.d.ts +35 -0
  306. package/lib/overlay/ui/OverlaySelect.d.ts.map +1 -0
  307. package/lib/overlay/ui/OverlaySelect.js +30 -0
  308. package/lib/overlay/ui/OverlaySelect.js.map +1 -0
  309. package/lib/overlay/ui/OverlaySwatchIcon.d.ts +26 -0
  310. package/lib/overlay/ui/OverlaySwatchIcon.d.ts.map +1 -0
  311. package/lib/overlay/ui/OverlaySwatchIcon.js +94 -0
  312. package/lib/overlay/ui/OverlaySwatchIcon.js.map +1 -0
  313. package/lib/overlay/ui/OverlayToggle.d.ts +56 -0
  314. package/lib/overlay/ui/OverlayToggle.d.ts.map +1 -0
  315. package/lib/overlay/ui/OverlayToggle.js +42 -0
  316. package/lib/overlay/ui/OverlayToggle.js.map +1 -0
  317. package/lib/overlay/ui/OverlayValueButton.d.ts +80 -0
  318. package/lib/overlay/ui/OverlayValueButton.d.ts.map +1 -0
  319. package/lib/overlay/ui/OverlayValueButton.js +46 -0
  320. package/lib/overlay/ui/OverlayValueButton.js.map +1 -0
  321. package/lib/overlay/ui/OverlayValueMenu.d.ts +68 -0
  322. package/lib/overlay/ui/OverlayValueMenu.d.ts.map +1 -0
  323. package/lib/overlay/ui/OverlayValueMenu.js +40 -0
  324. package/lib/overlay/ui/OverlayValueMenu.js.map +1 -0
  325. package/lib/overlay/ui/index.d.ts +55 -0
  326. package/lib/overlay/ui/index.d.ts.map +1 -0
  327. package/lib/overlay/ui/index.js +33 -0
  328. package/lib/overlay/ui/index.js.map +1 -0
  329. package/lib/overlay/ui/overlayBarShape.d.ts +85 -0
  330. package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -0
  331. package/lib/overlay/ui/overlayBarShape.js +48 -0
  332. package/lib/overlay/ui/overlayBarShape.js.map +1 -0
  333. package/lib/overlay/ui/overlayControlStyles.d.ts +82 -0
  334. package/lib/overlay/ui/overlayControlStyles.d.ts.map +1 -0
  335. package/lib/overlay/ui/overlayControlStyles.js +142 -0
  336. package/lib/overlay/ui/overlayControlStyles.js.map +1 -0
  337. package/lib/overlay/ui/overlayFigureStyles.d.ts +52 -0
  338. package/lib/overlay/ui/overlayFigureStyles.d.ts.map +1 -0
  339. package/lib/overlay/ui/overlayFigureStyles.js +98 -0
  340. package/lib/overlay/ui/overlayFigureStyles.js.map +1 -0
  341. package/lib/overlay/ui/overlayPanelContext.d.ts +34 -0
  342. package/lib/overlay/ui/overlayPanelContext.d.ts.map +1 -0
  343. package/lib/overlay/ui/overlayPanelContext.js +29 -0
  344. package/lib/overlay/ui/overlayPanelContext.js.map +1 -0
  345. package/lib/overlay/ui/overlayPanelStyles.d.ts +112 -0
  346. package/lib/overlay/ui/overlayPanelStyles.d.ts.map +1 -0
  347. package/lib/overlay/ui/overlayPanelStyles.js +193 -0
  348. package/lib/overlay/ui/overlayPanelStyles.js.map +1 -0
  349. package/lib/overlay/ui/overlayPillKeys.d.ts +19 -0
  350. package/lib/overlay/ui/overlayPillKeys.d.ts.map +1 -0
  351. package/lib/overlay/ui/overlayPillKeys.js +33 -0
  352. package/lib/overlay/ui/overlayPillKeys.js.map +1 -0
  353. package/lib/overlay/ui/overlayPillStyles.d.ts +78 -0
  354. package/lib/overlay/ui/overlayPillStyles.d.ts.map +1 -0
  355. package/lib/overlay/ui/overlayPillStyles.js +140 -0
  356. package/lib/overlay/ui/overlayPillStyles.js.map +1 -0
  357. package/lib/overlay/ui/overlayRowStyles.d.ts +113 -0
  358. package/lib/overlay/ui/overlayRowStyles.d.ts.map +1 -0
  359. package/lib/overlay/ui/overlayRowStyles.js +135 -0
  360. package/lib/overlay/ui/overlayRowStyles.js.map +1 -0
  361. package/lib/overlay/ui/overlayStepperStyles.d.ts +51 -0
  362. package/lib/overlay/ui/overlayStepperStyles.d.ts.map +1 -0
  363. package/lib/overlay/ui/overlayStepperStyles.js +96 -0
  364. package/lib/overlay/ui/overlayStepperStyles.js.map +1 -0
  365. package/lib/overlay/ui/overlayStyles.d.ts +123 -0
  366. package/lib/overlay/ui/overlayStyles.d.ts.map +1 -0
  367. package/lib/overlay/ui/overlayStyles.js +203 -0
  368. package/lib/overlay/ui/overlayStyles.js.map +1 -0
  369. package/lib/overlay/ui/overlaySurface.d.ts +54 -0
  370. package/lib/overlay/ui/overlaySurface.d.ts.map +1 -0
  371. package/lib/overlay/ui/overlaySurface.js +85 -0
  372. package/lib/overlay/ui/overlaySurface.js.map +1 -0
  373. package/lib/overlay/ui/overlaySwitchStyles.d.ts +70 -0
  374. package/lib/overlay/ui/overlaySwitchStyles.d.ts.map +1 -0
  375. package/lib/overlay/ui/overlaySwitchStyles.js +102 -0
  376. package/lib/overlay/ui/overlaySwitchStyles.js.map +1 -0
  377. package/lib/overlay/ui/overlayValueStyles.d.ts +101 -0
  378. package/lib/overlay/ui/overlayValueStyles.d.ts.map +1 -0
  379. package/lib/overlay/ui/overlayValueStyles.js +166 -0
  380. package/lib/overlay/ui/overlayValueStyles.js.map +1 -0
  381. package/lib/projection/core/embeddingResult.d.ts +60 -0
  382. package/lib/projection/core/embeddingResult.d.ts.map +1 -0
  383. package/lib/projection/core/embeddingResult.js +52 -0
  384. package/lib/projection/core/embeddingResult.js.map +1 -0
  385. package/lib/projection/core/explainedShares.d.ts +51 -0
  386. package/lib/projection/core/explainedShares.d.ts.map +1 -0
  387. package/lib/projection/core/explainedShares.js +55 -0
  388. package/lib/projection/core/explainedShares.js.map +1 -0
  389. package/lib/projection/core/index.d.ts +38 -0
  390. package/lib/projection/core/index.d.ts.map +1 -0
  391. package/lib/projection/core/index.js +25 -0
  392. package/lib/projection/core/index.js.map +1 -0
  393. package/lib/projection/core/loadingProfiles.d.ts +87 -0
  394. package/lib/projection/core/loadingProfiles.d.ts.map +1 -0
  395. package/lib/projection/core/loadingProfiles.js +125 -0
  396. package/lib/projection/core/loadingProfiles.js.map +1 -0
  397. package/lib/projection/core/pcaLike.d.ts +32 -0
  398. package/lib/projection/core/pcaLike.d.ts.map +1 -0
  399. package/lib/projection/core/pcaLike.js +2 -0
  400. package/lib/projection/core/pcaLike.js.map +1 -0
  401. package/lib/projection/core/pcaResult.d.ts +86 -0
  402. package/lib/projection/core/pcaResult.d.ts.map +1 -0
  403. package/lib/projection/core/pcaResult.js +122 -0
  404. package/lib/projection/core/pcaResult.js.map +1 -0
  405. package/lib/projection/core/projectionCopy.d.ts +130 -0
  406. package/lib/projection/core/projectionCopy.d.ts.map +1 -0
  407. package/lib/projection/core/projectionCopy.js +111 -0
  408. package/lib/projection/core/projectionCopy.js.map +1 -0
  409. package/lib/projection/core/projectionCopyPatch.d.ts +13 -0
  410. package/lib/projection/core/projectionCopyPatch.d.ts.map +1 -0
  411. package/lib/projection/core/projectionCopyPatch.js +2 -0
  412. package/lib/projection/core/projectionCopyPatch.js.map +1 -0
  413. package/lib/projection/core/projectionOptions.d.ts +131 -0
  414. package/lib/projection/core/projectionOptions.d.ts.map +1 -0
  415. package/lib/projection/core/projectionOptions.js +85 -0
  416. package/lib/projection/core/projectionOptions.js.map +1 -0
  417. package/lib/projection/core/projectionResult.d.ts +119 -0
  418. package/lib/projection/core/projectionResult.d.ts.map +1 -0
  419. package/lib/projection/core/projectionResult.js +2 -0
  420. package/lib/projection/core/projectionResult.js.map +1 -0
  421. package/lib/projection/core/projectionSamples.d.ts +77 -0
  422. package/lib/projection/core/projectionSamples.d.ts.map +1 -0
  423. package/lib/projection/core/projectionSamples.js +81 -0
  424. package/lib/projection/core/projectionSamples.js.map +1 -0
  425. package/lib/projection/core/projectionStrings.d.ts +134 -0
  426. package/lib/projection/core/projectionStrings.d.ts.map +1 -0
  427. package/lib/projection/core/projectionStrings.js +168 -0
  428. package/lib/projection/core/projectionStrings.js.map +1 -0
  429. package/lib/projection/core/projectionTabDefaults.d.ts +18 -0
  430. package/lib/projection/core/projectionTabDefaults.d.ts.map +1 -0
  431. package/lib/projection/core/projectionTabDefaults.js +46 -0
  432. package/lib/projection/core/projectionTabDefaults.js.map +1 -0
  433. package/lib/projection/core/projectionTabs.d.ts +25 -0
  434. package/lib/projection/core/projectionTabs.d.ts.map +1 -0
  435. package/lib/projection/core/projectionTabs.js +51 -0
  436. package/lib/projection/core/projectionTabs.js.map +1 -0
  437. package/lib/projection/core/variableAxis.d.ts +106 -0
  438. package/lib/projection/core/variableAxis.d.ts.map +1 -0
  439. package/lib/projection/core/variableAxis.js +84 -0
  440. package/lib/projection/core/variableAxis.js.map +1 -0
  441. package/lib/projection/core/variablesView.d.ts +33 -0
  442. package/lib/projection/core/variablesView.d.ts.map +1 -0
  443. package/lib/projection/core/variablesView.js +49 -0
  444. package/lib/projection/core/variablesView.js.map +1 -0
  445. package/lib/projection/ui/PcaViewer.d.ts +31 -0
  446. package/lib/projection/ui/PcaViewer.d.ts.map +1 -0
  447. package/lib/projection/ui/PcaViewer.js +46 -0
  448. package/lib/projection/ui/PcaViewer.js.map +1 -0
  449. package/lib/projection/ui/ProjectionBar.d.ts +55 -0
  450. package/lib/projection/ui/ProjectionBar.d.ts.map +1 -0
  451. package/lib/projection/ui/ProjectionBar.js +112 -0
  452. package/lib/projection/ui/ProjectionBar.js.map +1 -0
  453. package/lib/projection/ui/ProjectionMapCaption.d.ts +46 -0
  454. package/lib/projection/ui/ProjectionMapCaption.d.ts.map +1 -0
  455. package/lib/projection/ui/ProjectionMapCaption.js +54 -0
  456. package/lib/projection/ui/ProjectionMapCaption.js.map +1 -0
  457. package/lib/projection/ui/ProjectionMapControls.d.ts +67 -0
  458. package/lib/projection/ui/ProjectionMapControls.d.ts.map +1 -0
  459. package/lib/projection/ui/ProjectionMapControls.js +108 -0
  460. package/lib/projection/ui/ProjectionMapControls.js.map +1 -0
  461. package/lib/projection/ui/ProjectionMapLegend.d.ts +39 -0
  462. package/lib/projection/ui/ProjectionMapLegend.d.ts.map +1 -0
  463. package/lib/projection/ui/ProjectionMapLegend.js +29 -0
  464. package/lib/projection/ui/ProjectionMapLegend.js.map +1 -0
  465. package/lib/projection/ui/ProjectionMapMore.d.ts +42 -0
  466. package/lib/projection/ui/ProjectionMapMore.d.ts.map +1 -0
  467. package/lib/projection/ui/ProjectionMapMore.js +74 -0
  468. package/lib/projection/ui/ProjectionMapMore.js.map +1 -0
  469. package/lib/projection/ui/ProjectionMapTab.d.ts +101 -0
  470. package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -0
  471. package/lib/projection/ui/ProjectionMapTab.js +42 -0
  472. package/lib/projection/ui/ProjectionMapTab.js.map +1 -0
  473. package/lib/projection/ui/ProjectionPairsControls.d.ts +37 -0
  474. package/lib/projection/ui/ProjectionPairsControls.d.ts.map +1 -0
  475. package/lib/projection/ui/ProjectionPairsControls.js +20 -0
  476. package/lib/projection/ui/ProjectionPairsControls.js.map +1 -0
  477. package/lib/projection/ui/ProjectionPairsMore.d.ts +40 -0
  478. package/lib/projection/ui/ProjectionPairsMore.d.ts.map +1 -0
  479. package/lib/projection/ui/ProjectionPairsMore.js +31 -0
  480. package/lib/projection/ui/ProjectionPairsMore.js.map +1 -0
  481. package/lib/projection/ui/ProjectionPairsTab.d.ts +66 -0
  482. package/lib/projection/ui/ProjectionPairsTab.d.ts.map +1 -0
  483. package/lib/projection/ui/ProjectionPairsTab.js +64 -0
  484. package/lib/projection/ui/ProjectionPairsTab.js.map +1 -0
  485. package/lib/projection/ui/ProjectionPanel.d.ts +73 -0
  486. package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -0
  487. package/lib/projection/ui/ProjectionPanel.js +58 -0
  488. package/lib/projection/ui/ProjectionPanel.js.map +1 -0
  489. package/lib/projection/ui/ProjectionReadout.d.ts +65 -0
  490. package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -0
  491. package/lib/projection/ui/ProjectionReadout.js +46 -0
  492. package/lib/projection/ui/ProjectionReadout.js.map +1 -0
  493. package/lib/projection/ui/ProjectionSharesControls.d.ts +34 -0
  494. package/lib/projection/ui/ProjectionSharesControls.d.ts.map +1 -0
  495. package/lib/projection/ui/ProjectionSharesControls.js +20 -0
  496. package/lib/projection/ui/ProjectionSharesControls.js.map +1 -0
  497. package/lib/projection/ui/ProjectionSharesMarks.d.ts +49 -0
  498. package/lib/projection/ui/ProjectionSharesMarks.d.ts.map +1 -0
  499. package/lib/projection/ui/ProjectionSharesMarks.js +110 -0
  500. package/lib/projection/ui/ProjectionSharesMarks.js.map +1 -0
  501. package/lib/projection/ui/ProjectionSharesMore.d.ts +19 -0
  502. package/lib/projection/ui/ProjectionSharesMore.d.ts.map +1 -0
  503. package/lib/projection/ui/ProjectionSharesMore.js +25 -0
  504. package/lib/projection/ui/ProjectionSharesMore.js.map +1 -0
  505. package/lib/projection/ui/ProjectionSharesTab.d.ts +50 -0
  506. package/lib/projection/ui/ProjectionSharesTab.d.ts.map +1 -0
  507. package/lib/projection/ui/ProjectionSharesTab.js +48 -0
  508. package/lib/projection/ui/ProjectionSharesTab.js.map +1 -0
  509. package/lib/projection/ui/ProjectionSurface.d.ts +33 -0
  510. package/lib/projection/ui/ProjectionSurface.d.ts.map +1 -0
  511. package/lib/projection/ui/ProjectionSurface.js +35 -0
  512. package/lib/projection/ui/ProjectionSurface.js.map +1 -0
  513. package/lib/projection/ui/ProjectionTabStrip.d.ts +74 -0
  514. package/lib/projection/ui/ProjectionTabStrip.d.ts.map +1 -0
  515. package/lib/projection/ui/ProjectionTabStrip.js +64 -0
  516. package/lib/projection/ui/ProjectionTabStrip.js.map +1 -0
  517. package/lib/projection/ui/ProjectionVariablesControls.d.ts +33 -0
  518. package/lib/projection/ui/ProjectionVariablesControls.d.ts.map +1 -0
  519. package/lib/projection/ui/ProjectionVariablesControls.js +26 -0
  520. package/lib/projection/ui/ProjectionVariablesControls.js.map +1 -0
  521. package/lib/projection/ui/ProjectionVariablesMore.d.ts +33 -0
  522. package/lib/projection/ui/ProjectionVariablesMore.d.ts.map +1 -0
  523. package/lib/projection/ui/ProjectionVariablesMore.js +55 -0
  524. package/lib/projection/ui/ProjectionVariablesMore.js.map +1 -0
  525. package/lib/projection/ui/ProjectionVariablesTab.d.ts +78 -0
  526. package/lib/projection/ui/ProjectionVariablesTab.d.ts.map +1 -0
  527. package/lib/projection/ui/ProjectionVariablesTab.js +93 -0
  528. package/lib/projection/ui/ProjectionVariablesTab.js.map +1 -0
  529. package/lib/projection/ui/ProjectionViewer.d.ts +32 -0
  530. package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -0
  531. package/lib/projection/ui/ProjectionViewer.js +90 -0
  532. package/lib/projection/ui/ProjectionViewer.js.map +1 -0
  533. package/lib/projection/ui/index.d.ts +19 -0
  534. package/lib/projection/ui/index.d.ts.map +1 -0
  535. package/lib/projection/ui/index.js +15 -0
  536. package/lib/projection/ui/index.js.map +1 -0
  537. package/lib/projection/ui/projectionBarModel.d.ts +92 -0
  538. package/lib/projection/ui/projectionBarModel.d.ts.map +1 -0
  539. package/lib/projection/ui/projectionBarModel.js +140 -0
  540. package/lib/projection/ui/projectionBarModel.js.map +1 -0
  541. package/lib/projection/ui/projectionBarReadings.d.ts +65 -0
  542. package/lib/projection/ui/projectionBarReadings.d.ts.map +1 -0
  543. package/lib/projection/ui/projectionBarReadings.js +121 -0
  544. package/lib/projection/ui/projectionBarReadings.js.map +1 -0
  545. package/lib/projection/ui/projectionBarSlots.d.ts +59 -0
  546. package/lib/projection/ui/projectionBarSlots.d.ts.map +1 -0
  547. package/lib/projection/ui/projectionBarSlots.js +81 -0
  548. package/lib/projection/ui/projectionBarSlots.js.map +1 -0
  549. package/lib/projection/ui/projectionBarStyles.d.ts +102 -0
  550. package/lib/projection/ui/projectionBarStyles.d.ts.map +1 -0
  551. package/lib/projection/ui/projectionBarStyles.js +154 -0
  552. package/lib/projection/ui/projectionBarStyles.js.map +1 -0
  553. package/lib/projection/ui/projectionEllipse.d.ts +50 -0
  554. package/lib/projection/ui/projectionEllipse.d.ts.map +1 -0
  555. package/lib/projection/ui/projectionEllipse.js +101 -0
  556. package/lib/projection/ui/projectionEllipse.js.map +1 -0
  557. package/lib/projection/ui/projectionFormat.d.ts +13 -0
  558. package/lib/projection/ui/projectionFormat.d.ts.map +1 -0
  559. package/lib/projection/ui/projectionFormat.js +19 -0
  560. package/lib/projection/ui/projectionFormat.js.map +1 -0
  561. package/lib/projection/ui/projectionMapChoices.d.ts +31 -0
  562. package/lib/projection/ui/projectionMapChoices.d.ts.map +1 -0
  563. package/lib/projection/ui/projectionMapChoices.js +46 -0
  564. package/lib/projection/ui/projectionMapChoices.js.map +1 -0
  565. package/lib/projection/ui/projectionMapChrome.d.ts +73 -0
  566. package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -0
  567. package/lib/projection/ui/projectionMapChrome.js +135 -0
  568. package/lib/projection/ui/projectionMapChrome.js.map +1 -0
  569. package/lib/projection/ui/projectionMapModel.d.ts +114 -0
  570. package/lib/projection/ui/projectionMapModel.d.ts.map +1 -0
  571. package/lib/projection/ui/projectionMapModel.js +177 -0
  572. package/lib/projection/ui/projectionMapModel.js.map +1 -0
  573. package/lib/projection/ui/projectionMapView.d.ts +59 -0
  574. package/lib/projection/ui/projectionMapView.d.ts.map +1 -0
  575. package/lib/projection/ui/projectionMapView.js +90 -0
  576. package/lib/projection/ui/projectionMapView.js.map +1 -0
  577. package/lib/projection/ui/projectionPairsCeiling.d.ts +29 -0
  578. package/lib/projection/ui/projectionPairsCeiling.d.ts.map +1 -0
  579. package/lib/projection/ui/projectionPairsCeiling.js +29 -0
  580. package/lib/projection/ui/projectionPairsCeiling.js.map +1 -0
  581. package/lib/projection/ui/projectionSelection.d.ts +51 -0
  582. package/lib/projection/ui/projectionSelection.d.ts.map +1 -0
  583. package/lib/projection/ui/projectionSelection.js +66 -0
  584. package/lib/projection/ui/projectionSelection.js.map +1 -0
  585. package/lib/projection/ui/projectionTabInfo.d.ts +59 -0
  586. package/lib/projection/ui/projectionTabInfo.d.ts.map +1 -0
  587. package/lib/projection/ui/projectionTabInfo.js +108 -0
  588. package/lib/projection/ui/projectionTabInfo.js.map +1 -0
  589. package/lib/projection/ui/projectionTabModels.d.ts +49 -0
  590. package/lib/projection/ui/projectionTabModels.d.ts.map +1 -0
  591. package/lib/projection/ui/projectionTabModels.js +59 -0
  592. package/lib/projection/ui/projectionTabModels.js.map +1 -0
  593. package/lib/projection/ui/projectionTabStyles.d.ts +131 -0
  594. package/lib/projection/ui/projectionTabStyles.d.ts.map +1 -0
  595. package/lib/projection/ui/projectionTabStyles.js +134 -0
  596. package/lib/projection/ui/projectionTabStyles.js.map +1 -0
  597. package/lib/projection/ui/projectionVariablesModel.d.ts +104 -0
  598. package/lib/projection/ui/projectionVariablesModel.d.ts.map +1 -0
  599. package/lib/projection/ui/projectionVariablesModel.js +165 -0
  600. package/lib/projection/ui/projectionVariablesModel.js.map +1 -0
  601. package/lib/projection/ui/projectionVariablesWords.d.ts +50 -0
  602. package/lib/projection/ui/projectionVariablesWords.d.ts.map +1 -0
  603. package/lib/projection/ui/projectionVariablesWords.js +91 -0
  604. package/lib/projection/ui/projectionVariablesWords.js.map +1 -0
  605. package/lib/projection/ui/projectionViewChoices.d.ts +31 -0
  606. package/lib/projection/ui/projectionViewChoices.d.ts.map +1 -0
  607. package/lib/projection/ui/projectionViewChoices.js +53 -0
  608. package/lib/projection/ui/projectionViewChoices.js.map +1 -0
  609. package/lib/projection/ui/projectionViewerProps.d.ts +153 -0
  610. package/lib/projection/ui/projectionViewerProps.d.ts.map +1 -0
  611. package/lib/projection/ui/projectionViewerProps.js +9 -0
  612. package/lib/projection/ui/projectionViewerProps.js.map +1 -0
  613. package/lib/projection/ui/useProjectionState.d.ts +63 -0
  614. package/lib/projection/ui/useProjectionState.d.ts.map +1 -0
  615. package/lib/projection/ui/useProjectionState.js +107 -0
  616. package/lib/projection/ui/useProjectionState.js.map +1 -0
  617. package/lib/scatter/core/confidenceEllipse.d.ts +117 -0
  618. package/lib/scatter/core/confidenceEllipse.d.ts.map +1 -0
  619. package/lib/scatter/core/confidenceEllipse.js +132 -0
  620. package/lib/scatter/core/confidenceEllipse.js.map +1 -0
  621. package/lib/scatter/core/ellipseCoverage.d.ts +33 -0
  622. package/lib/scatter/core/ellipseCoverage.d.ts.map +1 -0
  623. package/lib/scatter/core/ellipseCoverage.js +46 -0
  624. package/lib/scatter/core/ellipseCoverage.js.map +1 -0
  625. package/lib/scatter/core/ellipseProjection.d.ts +53 -0
  626. package/lib/scatter/core/ellipseProjection.d.ts.map +1 -0
  627. package/lib/scatter/core/ellipseProjection.js +94 -0
  628. package/lib/scatter/core/ellipseProjection.js.map +1 -0
  629. package/lib/scatter/core/index.d.ts +24 -0
  630. package/lib/scatter/core/index.d.ts.map +1 -0
  631. package/lib/scatter/core/index.js +19 -0
  632. package/lib/scatter/core/index.js.map +1 -0
  633. package/lib/scatter/core/lassoPath.d.ts +60 -0
  634. package/lib/scatter/core/lassoPath.d.ts.map +1 -0
  635. package/lib/scatter/core/lassoPath.js +101 -0
  636. package/lib/scatter/core/lassoPath.js.map +1 -0
  637. package/lib/scatter/core/polygon.d.ts +58 -0
  638. package/lib/scatter/core/polygon.d.ts.map +1 -0
  639. package/lib/scatter/core/polygon.js +140 -0
  640. package/lib/scatter/core/polygon.js.map +1 -0
  641. package/lib/scatter/core/scatterSelection.d.ts +44 -0
  642. package/lib/scatter/core/scatterSelection.d.ts.map +1 -0
  643. package/lib/scatter/core/scatterSelection.js +81 -0
  644. package/lib/scatter/core/scatterSelection.js.map +1 -0
  645. package/lib/scatter/core/screenPoints.d.ts +58 -0
  646. package/lib/scatter/core/screenPoints.d.ts.map +1 -0
  647. package/lib/scatter/core/screenPoints.js +78 -0
  648. package/lib/scatter/core/screenPoints.js.map +1 -0
  649. package/lib/scatter/ui/ScatterEllipseLayer.d.ts +69 -0
  650. package/lib/scatter/ui/ScatterEllipseLayer.d.ts.map +1 -0
  651. package/lib/scatter/ui/ScatterEllipseLayer.js +77 -0
  652. package/lib/scatter/ui/ScatterEllipseLayer.js.map +1 -0
  653. package/lib/scatter/ui/ScatterLabelLayer.d.ts +40 -0
  654. package/lib/scatter/ui/ScatterLabelLayer.d.ts.map +1 -0
  655. package/lib/scatter/ui/ScatterLabelLayer.js +77 -0
  656. package/lib/scatter/ui/ScatterLabelLayer.js.map +1 -0
  657. package/lib/scatter/ui/ScatterMarkLayer.d.ts +68 -0
  658. package/lib/scatter/ui/ScatterMarkLayer.d.ts.map +1 -0
  659. package/lib/scatter/ui/ScatterMarkLayer.js +134 -0
  660. package/lib/scatter/ui/ScatterMarkLayer.js.map +1 -0
  661. package/lib/scatter/ui/ScatterMatrix.d.ts +19 -0
  662. package/lib/scatter/ui/ScatterMatrix.d.ts.map +1 -0
  663. package/lib/scatter/ui/ScatterMatrix.js +125 -0
  664. package/lib/scatter/ui/ScatterMatrix.js.map +1 -0
  665. package/lib/scatter/ui/ScatterMatrixCell.d.ts +24 -0
  666. package/lib/scatter/ui/ScatterMatrixCell.d.ts.map +1 -0
  667. package/lib/scatter/ui/ScatterMatrixCell.js +90 -0
  668. package/lib/scatter/ui/ScatterMatrixCell.js.map +1 -0
  669. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts +78 -0
  670. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts.map +1 -0
  671. package/lib/scatter/ui/ScatterMatrixDiagonal.js +83 -0
  672. package/lib/scatter/ui/ScatterMatrixDiagonal.js.map +1 -0
  673. package/lib/scatter/ui/ScatterPlot.d.ts +17 -0
  674. package/lib/scatter/ui/ScatterPlot.d.ts.map +1 -0
  675. package/lib/scatter/ui/ScatterPlot.js +91 -0
  676. package/lib/scatter/ui/ScatterPlot.js.map +1 -0
  677. package/lib/scatter/ui/ScatterPointLayer.d.ts +67 -0
  678. package/lib/scatter/ui/ScatterPointLayer.d.ts.map +1 -0
  679. package/lib/scatter/ui/ScatterPointLayer.js +87 -0
  680. package/lib/scatter/ui/ScatterPointLayer.js.map +1 -0
  681. package/lib/scatter/ui/index.d.ts +53 -0
  682. package/lib/scatter/ui/index.d.ts.map +1 -0
  683. package/lib/scatter/ui/index.js +34 -0
  684. package/lib/scatter/ui/index.js.map +1 -0
  685. package/lib/scatter/ui/lassoGesture.d.ts +185 -0
  686. package/lib/scatter/ui/lassoGesture.d.ts.map +1 -0
  687. package/lib/scatter/ui/lassoGesture.js +100 -0
  688. package/lib/scatter/ui/lassoGesture.js.map +1 -0
  689. package/lib/scatter/ui/scatterGroupSpread.d.ts +81 -0
  690. package/lib/scatter/ui/scatterGroupSpread.d.ts.map +1 -0
  691. package/lib/scatter/ui/scatterGroupSpread.js +147 -0
  692. package/lib/scatter/ui/scatterGroupSpread.js.map +1 -0
  693. package/lib/scatter/ui/scatterLabelBoxes.d.ts +94 -0
  694. package/lib/scatter/ui/scatterLabelBoxes.d.ts.map +1 -0
  695. package/lib/scatter/ui/scatterLabelBoxes.js +140 -0
  696. package/lib/scatter/ui/scatterLabelBoxes.js.map +1 -0
  697. package/lib/scatter/ui/scatterLabelPlacement.d.ts +96 -0
  698. package/lib/scatter/ui/scatterLabelPlacement.d.ts.map +1 -0
  699. package/lib/scatter/ui/scatterLabelPlacement.js +210 -0
  700. package/lib/scatter/ui/scatterLabelPlacement.js.map +1 -0
  701. package/lib/scatter/ui/scatterLabels.d.ts +81 -0
  702. package/lib/scatter/ui/scatterLabels.d.ts.map +1 -0
  703. package/lib/scatter/ui/scatterLabels.js +101 -0
  704. package/lib/scatter/ui/scatterLabels.js.map +1 -0
  705. package/lib/scatter/ui/scatterMarkGlyph.d.ts +37 -0
  706. package/lib/scatter/ui/scatterMarkGlyph.d.ts.map +1 -0
  707. package/lib/scatter/ui/scatterMarkGlyph.js +33 -0
  708. package/lib/scatter/ui/scatterMarkGlyph.js.map +1 -0
  709. package/lib/scatter/ui/scatterMatrixDots.d.ts +24 -0
  710. package/lib/scatter/ui/scatterMatrixDots.d.ts.map +1 -0
  711. package/lib/scatter/ui/scatterMatrixDots.js +84 -0
  712. package/lib/scatter/ui/scatterMatrixDots.js.map +1 -0
  713. package/lib/scatter/ui/scatterMatrixLayout.d.ts +93 -0
  714. package/lib/scatter/ui/scatterMatrixLayout.d.ts.map +1 -0
  715. package/lib/scatter/ui/scatterMatrixLayout.js +117 -0
  716. package/lib/scatter/ui/scatterMatrixLayout.js.map +1 -0
  717. package/lib/scatter/ui/scatterMatrixOutlines.d.ts +27 -0
  718. package/lib/scatter/ui/scatterMatrixOutlines.d.ts.map +1 -0
  719. package/lib/scatter/ui/scatterMatrixOutlines.js +34 -0
  720. package/lib/scatter/ui/scatterMatrixOutlines.js.map +1 -0
  721. package/lib/scatter/ui/scatterMatrixProps.d.ts +99 -0
  722. package/lib/scatter/ui/scatterMatrixProps.d.ts.map +1 -0
  723. package/lib/scatter/ui/scatterMatrixProps.js +10 -0
  724. package/lib/scatter/ui/scatterMatrixProps.js.map +1 -0
  725. package/lib/scatter/ui/scatterOutlineShape.d.ts +63 -0
  726. package/lib/scatter/ui/scatterOutlineShape.d.ts.map +1 -0
  727. package/lib/scatter/ui/scatterOutlineShape.js +82 -0
  728. package/lib/scatter/ui/scatterOutlineShape.js.map +1 -0
  729. package/lib/scatter/ui/scatterPlotModel.d.ts +107 -0
  730. package/lib/scatter/ui/scatterPlotModel.d.ts.map +1 -0
  731. package/lib/scatter/ui/scatterPlotModel.js +139 -0
  732. package/lib/scatter/ui/scatterPlotModel.js.map +1 -0
  733. package/lib/scatter/ui/scatterPlotProps.d.ts +235 -0
  734. package/lib/scatter/ui/scatterPlotProps.d.ts.map +1 -0
  735. package/lib/scatter/ui/scatterPlotProps.js +10 -0
  736. package/lib/scatter/ui/scatterPlotProps.js.map +1 -0
  737. package/lib/scatter/ui/useLassoGesture.d.ts +18 -0
  738. package/lib/scatter/ui/useLassoGesture.d.ts.map +1 -0
  739. package/lib/scatter/ui/useLassoGesture.js +140 -0
  740. package/lib/scatter/ui/useLassoGesture.js.map +1 -0
  741. package/lib/scatter/ui/usePointHover.d.ts +88 -0
  742. package/lib/scatter/ui/usePointHover.d.ts.map +1 -0
  743. package/lib/scatter/ui/usePointHover.js +88 -0
  744. package/lib/scatter/ui/usePointHover.js.map +1 -0
  745. package/lib/scatter/ui/useScatterFrame.d.ts +80 -0
  746. package/lib/scatter/ui/useScatterFrame.d.ts.map +1 -0
  747. package/lib/scatter/ui/useScatterFrame.js +101 -0
  748. package/lib/scatter/ui/useScatterFrame.js.map +1 -0
  749. package/lib/scatter/ui/useScatterInteraction.d.ts +103 -0
  750. package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -0
  751. package/lib/scatter/ui/useScatterInteraction.js +93 -0
  752. package/lib/scatter/ui/useScatterInteraction.js.map +1 -0
  753. package/lib/scatter/ui/useScatterKeyboard.d.ts +60 -0
  754. package/lib/scatter/ui/useScatterKeyboard.d.ts.map +1 -0
  755. package/lib/scatter/ui/useScatterKeyboard.js +56 -0
  756. package/lib/scatter/ui/useScatterKeyboard.js.map +1 -0
  757. package/lib/scatter/ui/useScatterSelection.d.ts +78 -0
  758. package/lib/scatter/ui/useScatterSelection.d.ts.map +1 -0
  759. package/lib/scatter/ui/useScatterSelection.js +72 -0
  760. package/lib/scatter/ui/useScatterSelection.js.map +1 -0
  761. package/lib/share/core/query.d.ts +10 -4
  762. package/lib/share/core/query.d.ts.map +1 -1
  763. package/lib/share/core/query.js +11 -7
  764. package/lib/share/core/query.js.map +1 -1
  765. package/lib/spectra/core/axisEntries.d.ts +50 -0
  766. package/lib/spectra/core/axisEntries.d.ts.map +1 -0
  767. package/lib/spectra/core/axisEntries.js +78 -0
  768. package/lib/spectra/core/axisEntries.js.map +1 -0
  769. package/lib/spectra/core/chainProblems.d.ts +14 -0
  770. package/lib/spectra/core/chainProblems.d.ts.map +1 -0
  771. package/lib/spectra/core/chainProblems.js +100 -0
  772. package/lib/spectra/core/chainProblems.js.map +1 -0
  773. package/lib/spectra/core/filterCatalog.d.ts +57 -0
  774. package/lib/spectra/core/filterCatalog.d.ts.map +1 -0
  775. package/lib/spectra/core/filterCatalog.js +81 -0
  776. package/lib/spectra/core/filterCatalog.js.map +1 -0
  777. package/lib/spectra/core/filterChain.d.ts +69 -0
  778. package/lib/spectra/core/filterChain.d.ts.map +1 -0
  779. package/lib/spectra/core/filterChain.js +163 -0
  780. package/lib/spectra/core/filterChain.js.map +1 -0
  781. package/lib/spectra/core/filterEntries.d.ts +136 -0
  782. package/lib/spectra/core/filterEntries.d.ts.map +1 -0
  783. package/lib/spectra/core/filterEntries.js +139 -0
  784. package/lib/spectra/core/filterEntries.js.map +1 -0
  785. package/lib/spectra/core/filterFields.d.ts +94 -0
  786. package/lib/spectra/core/filterFields.d.ts.map +1 -0
  787. package/lib/spectra/core/filterFields.js +82 -0
  788. package/lib/spectra/core/filterFields.js.map +1 -0
  789. package/lib/spectra/core/index.d.ts +14 -0
  790. package/lib/spectra/core/index.d.ts.map +1 -0
  791. package/lib/spectra/core/index.js +9 -0
  792. package/lib/spectra/core/index.js.map +1 -0
  793. package/lib/spectra/core/principalComponents.d.ts +70 -0
  794. package/lib/spectra/core/principalComponents.d.ts.map +1 -0
  795. package/lib/spectra/core/principalComponents.js +90 -0
  796. package/lib/spectra/core/principalComponents.js.map +1 -0
  797. package/lib/spectra/core/problems.d.ts +57 -0
  798. package/lib/spectra/core/problems.d.ts.map +1 -0
  799. package/lib/spectra/core/problems.js +121 -0
  800. package/lib/spectra/core/problems.js.map +1 -0
  801. package/lib/spectra/core/settings.d.ts +67 -0
  802. package/lib/spectra/core/settings.d.ts.map +1 -0
  803. package/lib/spectra/core/settings.js +35 -0
  804. package/lib/spectra/core/settings.js.map +1 -0
  805. package/lib/spectra/core/settingsProblems.d.ts +18 -0
  806. package/lib/spectra/core/settingsProblems.d.ts.map +1 -0
  807. package/lib/spectra/core/settingsProblems.js +148 -0
  808. package/lib/spectra/core/settingsProblems.js.map +1 -0
  809. package/lib/spectra/core/stepProblems.d.ts +13 -0
  810. package/lib/spectra/core/stepProblems.d.ts.map +1 -0
  811. package/lib/spectra/core/stepProblems.js +133 -0
  812. package/lib/spectra/core/stepProblems.js.map +1 -0
  813. package/lib/spectra/ui/CalculationRows.d.ts +21 -0
  814. package/lib/spectra/ui/CalculationRows.d.ts.map +1 -0
  815. package/lib/spectra/ui/CalculationRows.js +77 -0
  816. package/lib/spectra/ui/CalculationRows.js.map +1 -0
  817. package/lib/spectra/ui/FilterChainEditor.d.ts +34 -0
  818. package/lib/spectra/ui/FilterChainEditor.d.ts.map +1 -0
  819. package/lib/spectra/ui/FilterChainEditor.js +111 -0
  820. package/lib/spectra/ui/FilterChainEditor.js.map +1 -0
  821. package/lib/spectra/ui/FilterChoiceControl.d.ts +23 -0
  822. package/lib/spectra/ui/FilterChoiceControl.d.ts.map +1 -0
  823. package/lib/spectra/ui/FilterChoiceControl.js +65 -0
  824. package/lib/spectra/ui/FilterChoiceControl.js.map +1 -0
  825. package/lib/spectra/ui/FilterFieldControl.d.ts +25 -0
  826. package/lib/spectra/ui/FilterFieldControl.d.ts.map +1 -0
  827. package/lib/spectra/ui/FilterFieldControl.js +68 -0
  828. package/lib/spectra/ui/FilterFieldControl.js.map +1 -0
  829. package/lib/spectra/ui/FilterRow.d.ts +33 -0
  830. package/lib/spectra/ui/FilterRow.d.ts.map +1 -0
  831. package/lib/spectra/ui/FilterRow.js +76 -0
  832. package/lib/spectra/ui/FilterRow.js.map +1 -0
  833. package/lib/spectra/ui/MatrixFilterRows.d.ts +22 -0
  834. package/lib/spectra/ui/MatrixFilterRows.d.ts.map +1 -0
  835. package/lib/spectra/ui/MatrixFilterRows.js +92 -0
  836. package/lib/spectra/ui/MatrixFilterRows.js.map +1 -0
  837. package/lib/spectra/ui/NormalizationEditor.d.ts +24 -0
  838. package/lib/spectra/ui/NormalizationEditor.d.ts.map +1 -0
  839. package/lib/spectra/ui/NormalizationEditor.js +108 -0
  840. package/lib/spectra/ui/NormalizationEditor.js.map +1 -0
  841. package/lib/spectra/ui/NumberField.d.ts +41 -0
  842. package/lib/spectra/ui/NumberField.d.ts.map +1 -0
  843. package/lib/spectra/ui/NumberField.js +81 -0
  844. package/lib/spectra/ui/NumberField.js.map +1 -0
  845. package/lib/spectra/ui/PostProcessingEditor.d.ts +29 -0
  846. package/lib/spectra/ui/PostProcessingEditor.d.ts.map +1 -0
  847. package/lib/spectra/ui/PostProcessingEditor.js +53 -0
  848. package/lib/spectra/ui/PostProcessingEditor.js.map +1 -0
  849. package/lib/spectra/ui/PrincipalComponentSelect.d.ts +40 -0
  850. package/lib/spectra/ui/PrincipalComponentSelect.d.ts.map +1 -0
  851. package/lib/spectra/ui/PrincipalComponentSelect.js +97 -0
  852. package/lib/spectra/ui/PrincipalComponentSelect.js.map +1 -0
  853. package/lib/spectra/ui/ProblemList.d.ts +24 -0
  854. package/lib/spectra/ui/ProblemList.d.ts.map +1 -0
  855. package/lib/spectra/ui/ProblemList.js +40 -0
  856. package/lib/spectra/ui/ProblemList.js.map +1 -0
  857. package/lib/spectra/ui/RangeRows.d.ts +23 -0
  858. package/lib/spectra/ui/RangeRows.d.ts.map +1 -0
  859. package/lib/spectra/ui/RangeRows.js +76 -0
  860. package/lib/spectra/ui/RangeRows.js.map +1 -0
  861. package/lib/spectra/ui/ScaleFields.d.ts +28 -0
  862. package/lib/spectra/ui/ScaleFields.d.ts.map +1 -0
  863. package/lib/spectra/ui/ScaleFields.js +67 -0
  864. package/lib/spectra/ui/ScaleFields.js.map +1 -0
  865. package/lib/spectra/ui/SettingsPart.d.ts +25 -0
  866. package/lib/spectra/ui/SettingsPart.d.ts.map +1 -0
  867. package/lib/spectra/ui/SettingsPart.js +35 -0
  868. package/lib/spectra/ui/SettingsPart.js.map +1 -0
  869. package/lib/spectra/ui/SpectraSettingsEditor.d.ts +62 -0
  870. package/lib/spectra/ui/SpectraSettingsEditor.d.ts.map +1 -0
  871. package/lib/spectra/ui/SpectraSettingsEditor.js +39 -0
  872. package/lib/spectra/ui/SpectraSettingsEditor.js.map +1 -0
  873. package/lib/spectra/ui/SpectrumSelection.d.ts +30 -0
  874. package/lib/spectra/ui/SpectrumSelection.d.ts.map +1 -0
  875. package/lib/spectra/ui/SpectrumSelection.js +116 -0
  876. package/lib/spectra/ui/SpectrumSelection.js.map +1 -0
  877. package/lib/spectra/ui/ZoneRows.d.ts +41 -0
  878. package/lib/spectra/ui/ZoneRows.d.ts.map +1 -0
  879. package/lib/spectra/ui/ZoneRows.js +70 -0
  880. package/lib/spectra/ui/ZoneRows.js.map +1 -0
  881. package/lib/spectra/ui/index.d.ts +7 -0
  882. package/lib/spectra/ui/index.d.ts.map +1 -0
  883. package/lib/spectra/ui/index.js +4 -0
  884. package/lib/spectra/ui/index.js.map +1 -0
  885. package/lib/spectra/ui/matrixSteps.d.ts +61 -0
  886. package/lib/spectra/ui/matrixSteps.d.ts.map +1 -0
  887. package/lib/spectra/ui/matrixSteps.js +92 -0
  888. package/lib/spectra/ui/matrixSteps.js.map +1 -0
  889. package/lib/spectra/ui/problemsAbout.d.ts +14 -0
  890. package/lib/spectra/ui/problemsAbout.d.ts.map +1 -0
  891. package/lib/spectra/ui/problemsAbout.js +15 -0
  892. package/lib/spectra/ui/problemsAbout.js.map +1 -0
  893. package/lib/spectra/ui/rowKeys.d.ts +27 -0
  894. package/lib/spectra/ui/rowKeys.d.ts.map +1 -0
  895. package/lib/spectra/ui/rowKeys.js +45 -0
  896. package/lib/spectra/ui/rowKeys.js.map +1 -0
  897. package/lib/spectra/ui/scaleOptions.d.ts +50 -0
  898. package/lib/spectra/ui/scaleOptions.d.ts.map +1 -0
  899. package/lib/spectra/ui/scaleOptions.js +103 -0
  900. package/lib/spectra/ui/scaleOptions.js.map +1 -0
  901. package/lib/ui.d.ts +6 -0
  902. package/lib/ui.d.ts.map +1 -1
  903. package/lib/ui.js +6 -0
  904. package/lib/ui.js.map +1 -1
  905. package/package.json +17 -1
  906. package/src/chart/core/chartAxisScale.ts +249 -0
  907. package/src/chart/core/chartBand.ts +82 -0
  908. package/src/chart/core/chartBins.ts +96 -0
  909. package/src/chart/core/chartExtent.ts +203 -0
  910. package/src/chart/core/chartLabels.ts +68 -0
  911. package/src/chart/core/chartPalette.ts +71 -0
  912. package/src/chart/core/chartScale.ts +72 -0
  913. package/src/chart/core/chartViewport.ts +211 -0
  914. package/src/chart/core/index.ts +58 -0
  915. package/src/chart/core/matrix.ts +100 -0
  916. package/src/chart/ui/ChartAxis.tsx +232 -0
  917. package/src/chart/ui/ChartFrame.tsx +246 -0
  918. package/src/chart/ui/ChartSeriesMarks.tsx +98 -0
  919. package/src/chart/ui/ChartTrackingLayer.tsx +192 -0
  920. package/src/chart/ui/TrackedLineChart.tsx +267 -0
  921. package/src/chart/ui/TrackedStickChart.tsx +197 -0
  922. package/src/chart/ui/chartStyles.ts +194 -0
  923. package/src/chart/ui/index.ts +34 -0
  924. package/src/chart/ui/stickChartModel.ts +201 -0
  925. package/src/chart/ui/useWheelZoom.ts +177 -0
  926. package/src/color/core/gradient.ts +29 -0
  927. package/src/color/core/hsv.ts +112 -0
  928. package/src/color/core/index.ts +27 -1
  929. package/src/color/core/interpolate.ts +179 -0
  930. package/src/color/core/scale.ts +17 -49
  931. package/src/color/core/scaleData.ts +128 -0
  932. package/src/color/core/scaleText.ts +134 -0
  933. package/src/color/core/scales.ts +148 -0
  934. package/src/color/ui/ColorScaleBar.tsx +73 -0
  935. package/src/color/ui/ColorScaleEditor.tsx +243 -0
  936. package/src/color/ui/ColorScaleSelect.tsx +252 -0
  937. package/src/color/ui/index.ts +6 -0
  938. package/src/core.ts +5 -0
  939. package/src/credits/core/credits.ts +20 -0
  940. package/src/download/core/cssTokens.ts +90 -0
  941. package/src/download/core/downloadFigure.ts +66 -0
  942. package/src/download/core/figurePng.ts +87 -0
  943. package/src/download/core/figureScale.ts +83 -0
  944. package/src/download/core/figureSvg.ts +130 -0
  945. package/src/download/core/figureSvgDocument.ts +129 -0
  946. package/src/download/core/figureTarget.ts +130 -0
  947. package/src/download/core/index.ts +28 -0
  948. package/src/download/ui/FigureDownload.tsx +158 -0
  949. package/src/download/ui/FigureDownloadPanel.tsx +165 -0
  950. package/src/download/ui/index.ts +13 -0
  951. package/src/ecosystem/core/sites.ts +12 -1
  952. package/src/ecosystem/ui/glyphs.tsx +16 -0
  953. package/src/overlay/core/emptiestCorner.ts +122 -0
  954. package/src/overlay/core/index.ts +34 -0
  955. package/src/overlay/core/overlayCollapse.ts +20 -0
  956. package/src/overlay/core/overlayMarks.ts +43 -0
  957. package/src/overlay/core/overlayMetrics.ts +112 -0
  958. package/src/overlay/core/overlayPlacement.ts +80 -0
  959. package/src/overlay/core/overlayTierRoom.ts +199 -0
  960. package/src/overlay/core/overlayTiers.ts +130 -0
  961. package/src/overlay/core/placeOverlayCard.ts +93 -0
  962. package/src/overlay/ui/OverlayAction.tsx +66 -0
  963. package/src/overlay/ui/OverlayBar.tsx +188 -0
  964. package/src/overlay/ui/OverlayBarButton.tsx +83 -0
  965. package/src/overlay/ui/OverlayBarCard.tsx +78 -0
  966. package/src/overlay/ui/OverlayBarStrip.tsx +62 -0
  967. package/src/overlay/ui/OverlayCaption.tsx +124 -0
  968. package/src/overlay/ui/OverlayChip.tsx +181 -0
  969. package/src/overlay/ui/OverlayDivider.tsx +24 -0
  970. package/src/overlay/ui/OverlayGroup.tsx +157 -0
  971. package/src/overlay/ui/OverlayIconButton.tsx +131 -0
  972. package/src/overlay/ui/OverlayInfo.tsx +92 -0
  973. package/src/overlay/ui/OverlayLayer.tsx +118 -0
  974. package/src/overlay/ui/OverlayLegend.tsx +222 -0
  975. package/src/overlay/ui/OverlayLegendMark.tsx +95 -0
  976. package/src/overlay/ui/OverlayNumber.tsx +160 -0
  977. package/src/overlay/ui/OverlayPanel.tsx +162 -0
  978. package/src/overlay/ui/OverlayPills.tsx +157 -0
  979. package/src/overlay/ui/OverlayReadout.tsx +247 -0
  980. package/src/overlay/ui/OverlayRow.tsx +200 -0
  981. package/src/overlay/ui/OverlaySegmented.tsx +67 -0
  982. package/src/overlay/ui/OverlaySelect.tsx +114 -0
  983. package/src/overlay/ui/OverlaySwatchIcon.tsx +126 -0
  984. package/src/overlay/ui/OverlayToggle.tsx +136 -0
  985. package/src/overlay/ui/OverlayValueButton.tsx +149 -0
  986. package/src/overlay/ui/OverlayValueMenu.tsx +141 -0
  987. package/src/overlay/ui/index.ts +72 -0
  988. package/src/overlay/ui/overlayBarShape.ts +113 -0
  989. package/src/overlay/ui/overlayControlStyles.ts +176 -0
  990. package/src/overlay/ui/overlayFigureStyles.ts +111 -0
  991. package/src/overlay/ui/overlayPanelContext.ts +42 -0
  992. package/src/overlay/ui/overlayPanelStyles.ts +235 -0
  993. package/src/overlay/ui/overlayPillKeys.ts +45 -0
  994. package/src/overlay/ui/overlayPillStyles.ts +190 -0
  995. package/src/overlay/ui/overlayRowStyles.ts +166 -0
  996. package/src/overlay/ui/overlayStepperStyles.ts +112 -0
  997. package/src/overlay/ui/overlayStyles.ts +222 -0
  998. package/src/overlay/ui/overlaySurface.ts +120 -0
  999. package/src/overlay/ui/overlaySwitchStyles.ts +136 -0
  1000. package/src/overlay/ui/overlayValueStyles.ts +210 -0
  1001. package/src/projection/core/embeddingResult.ts +119 -0
  1002. package/src/projection/core/explainedShares.ts +105 -0
  1003. package/src/projection/core/index.ts +81 -0
  1004. package/src/projection/core/loadingProfiles.ts +226 -0
  1005. package/src/projection/core/pcaLike.ts +33 -0
  1006. package/src/projection/core/pcaResult.ts +238 -0
  1007. package/src/projection/core/projectionCopy.ts +252 -0
  1008. package/src/projection/core/projectionCopyPatch.ts +12 -0
  1009. package/src/projection/core/projectionOptions.ts +238 -0
  1010. package/src/projection/core/projectionResult.ts +123 -0
  1011. package/src/projection/core/projectionSamples.ts +170 -0
  1012. package/src/projection/core/projectionStrings.ts +265 -0
  1013. package/src/projection/core/projectionTabDefaults.ts +51 -0
  1014. package/src/projection/core/projectionTabs.ts +56 -0
  1015. package/src/projection/core/variableAxis.ts +161 -0
  1016. package/src/projection/core/variablesView.ts +53 -0
  1017. package/src/projection/ui/PcaViewer.tsx +80 -0
  1018. package/src/projection/ui/ProjectionBar.tsx +222 -0
  1019. package/src/projection/ui/ProjectionMapCaption.tsx +96 -0
  1020. package/src/projection/ui/ProjectionMapControls.tsx +271 -0
  1021. package/src/projection/ui/ProjectionMapLegend.tsx +70 -0
  1022. package/src/projection/ui/ProjectionMapMore.tsx +178 -0
  1023. package/src/projection/ui/ProjectionMapTab.tsx +205 -0
  1024. package/src/projection/ui/ProjectionPairsControls.tsx +58 -0
  1025. package/src/projection/ui/ProjectionPairsMore.tsx +95 -0
  1026. package/src/projection/ui/ProjectionPairsTab.tsx +159 -0
  1027. package/src/projection/ui/ProjectionPanel.tsx +199 -0
  1028. package/src/projection/ui/ProjectionReadout.tsx +149 -0
  1029. package/src/projection/ui/ProjectionSharesControls.tsx +56 -0
  1030. package/src/projection/ui/ProjectionSharesMarks.tsx +241 -0
  1031. package/src/projection/ui/ProjectionSharesMore.tsx +53 -0
  1032. package/src/projection/ui/ProjectionSharesTab.tsx +118 -0
  1033. package/src/projection/ui/ProjectionSurface.tsx +63 -0
  1034. package/src/projection/ui/ProjectionTabStrip.tsx +144 -0
  1035. package/src/projection/ui/ProjectionVariablesControls.tsx +62 -0
  1036. package/src/projection/ui/ProjectionVariablesMore.tsx +144 -0
  1037. package/src/projection/ui/ProjectionVariablesTab.tsx +216 -0
  1038. package/src/projection/ui/ProjectionViewer.tsx +143 -0
  1039. package/src/projection/ui/index.ts +19 -0
  1040. package/src/projection/ui/projectionBarModel.ts +193 -0
  1041. package/src/projection/ui/projectionBarReadings.ts +177 -0
  1042. package/src/projection/ui/projectionBarSlots.tsx +139 -0
  1043. package/src/projection/ui/projectionBarStyles.ts +174 -0
  1044. package/src/projection/ui/projectionEllipse.ts +104 -0
  1045. package/src/projection/ui/projectionFormat.ts +18 -0
  1046. package/src/projection/ui/projectionMapChoices.ts +64 -0
  1047. package/src/projection/ui/projectionMapChrome.ts +207 -0
  1048. package/src/projection/ui/projectionMapModel.ts +253 -0
  1049. package/src/projection/ui/projectionMapView.ts +188 -0
  1050. package/src/projection/ui/projectionPairsCeiling.ts +45 -0
  1051. package/src/projection/ui/projectionSelection.ts +87 -0
  1052. package/src/projection/ui/projectionTabInfo.ts +126 -0
  1053. package/src/projection/ui/projectionTabModels.ts +106 -0
  1054. package/src/projection/ui/projectionTabStyles.ts +161 -0
  1055. package/src/projection/ui/projectionVariablesModel.ts +231 -0
  1056. package/src/projection/ui/projectionVariablesWords.ts +105 -0
  1057. package/src/projection/ui/projectionViewChoices.ts +77 -0
  1058. package/src/projection/ui/projectionViewerProps.ts +155 -0
  1059. package/src/projection/ui/useProjectionState.ts +224 -0
  1060. package/src/scatter/core/confidenceEllipse.ts +230 -0
  1061. package/src/scatter/core/ellipseCoverage.ts +46 -0
  1062. package/src/scatter/core/ellipseProjection.ts +126 -0
  1063. package/src/scatter/core/index.ts +48 -0
  1064. package/src/scatter/core/lassoPath.ts +127 -0
  1065. package/src/scatter/core/polygon.ts +155 -0
  1066. package/src/scatter/core/scatterSelection.ts +88 -0
  1067. package/src/scatter/core/screenPoints.ts +110 -0
  1068. package/src/scatter/ui/ScatterEllipseLayer.tsx +153 -0
  1069. package/src/scatter/ui/ScatterLabelLayer.tsx +135 -0
  1070. package/src/scatter/ui/ScatterMarkLayer.tsx +245 -0
  1071. package/src/scatter/ui/ScatterMatrix.tsx +177 -0
  1072. package/src/scatter/ui/ScatterMatrixCell.tsx +140 -0
  1073. package/src/scatter/ui/ScatterMatrixDiagonal.tsx +182 -0
  1074. package/src/scatter/ui/ScatterPlot.tsx +234 -0
  1075. package/src/scatter/ui/ScatterPointLayer.tsx +168 -0
  1076. package/src/scatter/ui/index.ts +123 -0
  1077. package/src/scatter/ui/lassoGesture.ts +237 -0
  1078. package/src/scatter/ui/scatterGroupSpread.ts +206 -0
  1079. package/src/scatter/ui/scatterLabelBoxes.ts +177 -0
  1080. package/src/scatter/ui/scatterLabelPlacement.ts +325 -0
  1081. package/src/scatter/ui/scatterLabels.ts +147 -0
  1082. package/src/scatter/ui/scatterMarkGlyph.tsx +94 -0
  1083. package/src/scatter/ui/scatterMatrixDots.tsx +134 -0
  1084. package/src/scatter/ui/scatterMatrixLayout.ts +133 -0
  1085. package/src/scatter/ui/scatterMatrixOutlines.tsx +53 -0
  1086. package/src/scatter/ui/scatterMatrixProps.ts +103 -0
  1087. package/src/scatter/ui/scatterOutlineShape.tsx +169 -0
  1088. package/src/scatter/ui/scatterPlotModel.ts +200 -0
  1089. package/src/scatter/ui/scatterPlotProps.ts +240 -0
  1090. package/src/scatter/ui/useLassoGesture.ts +214 -0
  1091. package/src/scatter/ui/usePointHover.ts +187 -0
  1092. package/src/scatter/ui/useScatterFrame.ts +191 -0
  1093. package/src/scatter/ui/useScatterInteraction.ts +237 -0
  1094. package/src/scatter/ui/useScatterKeyboard.ts +120 -0
  1095. package/src/scatter/ui/useScatterSelection.ts +189 -0
  1096. package/src/share/core/query.ts +11 -7
  1097. package/src/spectra/core/axisEntries.ts +107 -0
  1098. package/src/spectra/core/chainProblems.ts +165 -0
  1099. package/src/spectra/core/filterCatalog.ts +100 -0
  1100. package/src/spectra/core/filterChain.ts +194 -0
  1101. package/src/spectra/core/filterEntries.ts +214 -0
  1102. package/src/spectra/core/filterFields.ts +159 -0
  1103. package/src/spectra/core/index.ts +67 -0
  1104. package/src/spectra/core/principalComponents.ts +130 -0
  1105. package/src/spectra/core/problems.ts +143 -0
  1106. package/src/spectra/core/settings.ts +119 -0
  1107. package/src/spectra/core/settingsProblems.ts +222 -0
  1108. package/src/spectra/core/stepProblems.ts +228 -0
  1109. package/src/spectra/ui/CalculationRows.tsx +161 -0
  1110. package/src/spectra/ui/FilterChainEditor.tsx +199 -0
  1111. package/src/spectra/ui/FilterChoiceControl.tsx +153 -0
  1112. package/src/spectra/ui/FilterFieldControl.tsx +105 -0
  1113. package/src/spectra/ui/FilterRow.tsx +190 -0
  1114. package/src/spectra/ui/MatrixFilterRows.tsx +184 -0
  1115. package/src/spectra/ui/NormalizationEditor.tsx +235 -0
  1116. package/src/spectra/ui/NumberField.tsx +126 -0
  1117. package/src/spectra/ui/PostProcessingEditor.tsx +136 -0
  1118. package/src/spectra/ui/PrincipalComponentSelect.tsx +245 -0
  1119. package/src/spectra/ui/ProblemList.tsx +77 -0
  1120. package/src/spectra/ui/RangeRows.tsx +175 -0
  1121. package/src/spectra/ui/ScaleFields.tsx +183 -0
  1122. package/src/spectra/ui/SettingsPart.tsx +60 -0
  1123. package/src/spectra/ui/SpectraSettingsEditor.tsx +143 -0
  1124. package/src/spectra/ui/SpectrumSelection.tsx +193 -0
  1125. package/src/spectra/ui/ZoneRows.tsx +159 -0
  1126. package/src/spectra/ui/index.ts +9 -0
  1127. package/src/spectra/ui/matrixSteps.ts +128 -0
  1128. package/src/spectra/ui/problemsAbout.ts +21 -0
  1129. package/src/spectra/ui/rowKeys.ts +47 -0
  1130. package/src/spectra/ui/scaleOptions.ts +116 -0
  1131. package/src/ui.ts +6 -0
@@ -0,0 +1,125 @@
1
+ import { chartPadExtent } from "../../chart/core/chartExtent.js";
2
+ import { chartSeriesColor } from "../../chart/core/chartPalette.js";
3
+ import { variableCount } from "./variableAxis.js";
4
+ import { drawableVariablesView } from "./variablesView.js";
5
+ /**
6
+ * The panels of the "what differs" tab.
7
+ *
8
+ * A view whose data is not there falls back to `weights` rather than throwing
9
+ * or drawing nothing: `effect` needs the average and the spread, `rescaled`
10
+ * needs the scaling the model applied, and `sample` needs exactly one selected
11
+ * sample.
12
+ * @param options - See {@link LoadingProfilesOptions}.
13
+ * @returns Everything the tab draws.
14
+ */
15
+ export function loadingProfiles(options) {
16
+ const { loadings, axes, count, spread, sharedScale, order, view: wanted, sampleScores, } = options;
17
+ const { weights, variables, mean, scales, spread: axisSpread, valueLabel = '', } = loadings;
18
+ const width = variableCount(variables);
19
+ const panels = Number.isFinite(count) ? Math.floor(count) : axes.length;
20
+ const drawn = Math.max(0, Math.min(panels, weights.rows, axes.length));
21
+ // An empty selection rather than an unknown one: the panels always know
22
+ // what is selected, and nothing selected is nothing to rebuild.
23
+ const view = drawableVariablesView(wanted, loadings, sampleScores ?? []);
24
+ // A number line cannot be reordered: a peak stands at its own position, so
25
+ // sorting the slots by strength would move every stick to a mass it was not
26
+ // measured at. The choice is only meaningful where the slots are a list.
27
+ const sortable = variables.kind === 'named' ? order : 'original';
28
+ const slots = slotOrder(sortable, weights, width, drawn);
29
+ // A panel in the measurements' own units starts from the average sample and
30
+ // walks away from it; one drawing weights starts from nothing at all.
31
+ const inUnits = view === 'effect' || view === 'sample';
32
+ const running = view === 'sample' ? new Float64Array(width) : null;
33
+ const profiles = [];
34
+ let low = Number.POSITIVE_INFINITY;
35
+ let high = Number.NEGATIVE_INFINITY;
36
+ for (let index = 0; index < drawn; index++) {
37
+ const values = new Array(width);
38
+ const second = view === 'effect' ? new Array(width) : null;
39
+ const reach = spread * (axisSpread?.[index] ?? 0);
40
+ const score = sampleScores?.[index] ?? 0;
41
+ for (let slot = 0; slot < width; slot++) {
42
+ const measurement = slots[slot] ?? slot;
43
+ const weight = weights.get(index, measurement);
44
+ const scale = scales?.[measurement] ?? 1;
45
+ const base = mean?.[measurement] ?? 0;
46
+ let value = weight;
47
+ if (view === 'rescaled') {
48
+ value = weight * scale;
49
+ }
50
+ else if (second !== null) {
51
+ const step = reach * weight * scale;
52
+ value = base + step;
53
+ second[slot] = base - step;
54
+ if (base - step < low)
55
+ low = base - step;
56
+ if (base - step > high)
57
+ high = base - step;
58
+ }
59
+ else if (running !== null) {
60
+ const total = (running[slot] ?? 0) + score * weight * scale;
61
+ running[slot] = total;
62
+ value = base + total;
63
+ }
64
+ values[slot] = value;
65
+ if (value < low)
66
+ low = value;
67
+ if (value > high)
68
+ high = value;
69
+ }
70
+ const axis = axes[index];
71
+ profiles.push({
72
+ index,
73
+ label: axis?.name ?? `Component ${index + 1}`,
74
+ color: chartSeriesColor(index, 'component'),
75
+ share: axis?.share,
76
+ values,
77
+ secondValues: second ?? undefined,
78
+ });
79
+ }
80
+ let reference;
81
+ if (inUnits && mean !== undefined) {
82
+ reference = new Array(width);
83
+ for (let slot = 0; slot < width; slot++) {
84
+ const value = mean[slots[slot] ?? slot] ?? 0;
85
+ reference[slot] = value;
86
+ if (value < low)
87
+ low = value;
88
+ if (value > high)
89
+ high = value;
90
+ }
91
+ }
92
+ const padded = chartPadExtent({ min: low, max: high });
93
+ return {
94
+ axis: variables,
95
+ order: slots,
96
+ mean: reference,
97
+ profiles,
98
+ // Weights are a share of a direction, not a quantity anybody measured.
99
+ valueLabel: view === 'weights' ? 'Weight' : valueLabel,
100
+ sharedScale,
101
+ // Bars are read from the zero line, so the line has to be on the panel; a
102
+ // spectrum sitting on a baseline would be squashed into its top third by
103
+ // the same rule, so it is only applied where a value means a weight.
104
+ domain: inUnits
105
+ ? padded
106
+ : { min: Math.min(padded.min, 0), max: Math.max(padded.max, 0) },
107
+ view,
108
+ };
109
+ }
110
+ function slotOrder(order, weights, width, drawn) {
111
+ const slots = new Int32Array(width);
112
+ for (let index = 0; index < width; index++)
113
+ slots[index] = index;
114
+ if (order === 'original' || drawn === 0)
115
+ return slots;
116
+ // Every panel takes the order the strongest component puts the measurements
117
+ // in. Sorting each panel to its own component would move a measurement from
118
+ // slot to slot down the stack, and the stack is read down a column.
119
+ const strength = new Float64Array(width);
120
+ for (let index = 0; index < width; index++) {
121
+ strength[index] = Math.abs(weights.get(0, index));
122
+ }
123
+ return slots.toSorted((left, right) => (strength[right] ?? 0) - (strength[left] ?? 0));
124
+ }
125
+ //# sourceMappingURL=loadingProfiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadingProfiles.js","sourceRoot":"","sources":["../../../src/projection/core/loadingProfiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { MatrixLike } from '../../chart/core/matrix.ts';
2
+ /**
3
+ * A fitted principal component analysis, described structurally so that
4
+ * nothing in this package imports `ml-pca`.
5
+ *
6
+ * `ml-pca`'s `PCA` satisfies it as it stands, with no adapter and no cast.
7
+ * `getEigenvectors`, `getStandardDeviations`, `invert` and `toJSON` are
8
+ * deliberately absent: nothing here needs them, and `getEigenvectors` hands
9
+ * out the model's live internal matrix, which a component library must never
10
+ * be given.
11
+ */
12
+ export interface PcaLike {
13
+ /**
14
+ * Place samples in the model's space.
15
+ * @param samples - One array per sample, one value per original measurement.
16
+ * @param options - `nComponents` keeps only the first few columns.
17
+ * @param options.nComponents - How many of them to keep.
18
+ * @returns One row per sample, one column per kept component.
19
+ */
20
+ predict: (samples: number[][], options?: {
21
+ nComponents?: number;
22
+ }) => MatrixLike;
23
+ /** The share of the variance each component carries, as fractions summing to 1 — never percentages. */
24
+ getExplainedVariance: () => number[];
25
+ /** The running total of the above; the last value is 1 to within float error, so never compare it to 1. */
26
+ getCumulativeVariance: () => number[];
27
+ /** The variance of each component's own scores. */
28
+ getEigenvalues: () => number[];
29
+ /** Row `i` is component `i`, column `j` is original measurement `j`. */
30
+ getLoadings: () => MatrixLike;
31
+ }
32
+ //# sourceMappingURL=pcaLike.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcaLike.d.ts","sourceRoot":"","sources":["../../../src/projection/core/pcaLike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAC/B,UAAU,CAAC;IAChB,uGAAuG;IACvG,oBAAoB,EAAE,MAAM,MAAM,EAAE,CAAC;IACrC,2GAA2G;IAC3G,qBAAqB,EAAE,MAAM,MAAM,EAAE,CAAC;IACtC,mDAAmD;IACnD,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,UAAU,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pcaLike.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcaLike.js","sourceRoot":"","sources":["../../../src/projection/core/pcaLike.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ import type { MatrixLike } from '../../chart/core/matrix.ts';
2
+ import type { PcaLike } from './pcaLike.ts';
3
+ import type { ProjectionResult } from './projectionResult.ts';
4
+ import type { VariableAxis } from './variableAxis.ts';
5
+ /** How a {@link ProjectionResult} is built from a fitted model. */
6
+ export interface PcaResultOptions {
7
+ /**
8
+ * The measurements the model was fitted on, one array per sample. They are
9
+ * read in place: the average and the spread of each measurement are
10
+ * accumulated in one centred pass and nothing is copied.
11
+ */
12
+ rows: readonly number[][];
13
+ /**
14
+ * Further samples to place into the finished model, one array per sample,
15
+ * each as wide as a row of `rows`.
16
+ *
17
+ * These took no part in fitting: the axes were already chosen when they
18
+ * arrived. They are appended after the fitted samples and drawn hollow, so a
19
+ * reader can see at a glance which points the model has already accounted
20
+ * for and which it is being asked about — a new batch, a suspected outlier,
21
+ * next year's measurements against last year's model.
22
+ *
23
+ * They are placed by one further `predict` call, and the two sets of scores
24
+ * are read as one table without either being copied.
25
+ * @default undefined — every sample built the model
26
+ */
27
+ projected?: readonly number[][];
28
+ /**
29
+ * How the original measurements are laid out.
30
+ * @default the columns numbered `1` to `n`, drawn as bars
31
+ */
32
+ variables?: VariableAxis;
33
+ /**
34
+ * Where the samples landed. Left out, they are placed by projecting `rows`
35
+ * through the model, which is one call.
36
+ * @default the model's own projection of `rows`
37
+ */
38
+ scores?: MatrixLike;
39
+ /**
40
+ * Whether the model divided each measurement by its spread — the `scale`
41
+ * given to `new PCA(...)`. It cannot be read back from the model's public
42
+ * surface, and getting it wrong offers a view that is the same drawing
43
+ * twice.
44
+ * @default false
45
+ */
46
+ scaled?: boolean;
47
+ /**
48
+ * How many components to keep.
49
+ * @default every component the model holds
50
+ */
51
+ count?: number;
52
+ /**
53
+ * What the measured values are, e.g. `Absorbance`.
54
+ * @default ''
55
+ */
56
+ valueLabel?: string;
57
+ /**
58
+ * Whether each component is flipped so that its strongest measurement comes
59
+ * out positive. The direction of a component is arbitrary and flips when the
60
+ * model is refitted — on iris, refitting on fifty of the hundred and fifty
61
+ * flowers turned the first component's weights right around — so without
62
+ * this a map mirrors itself when one sample is added, which reads as a fault
63
+ * to everyone who is not a statistician. The scores are flipped with the
64
+ * weights, through a mapped view rather than a copy.
65
+ * @default 'largest-positive'
66
+ */
67
+ signConvention?: 'largest-positive' | 'none';
68
+ /**
69
+ * What the method is called in the headings.
70
+ * @default 'Principal components'
71
+ */
72
+ method?: string;
73
+ }
74
+ /**
75
+ * A fitted principal component model as the viewer reads it.
76
+ * @param pca - The fitted model.
77
+ * @param options - See {@link PcaResultOptions}.
78
+ * @returns The result, with every tab's data filled in.
79
+ * @throws {Error} When `rows` is empty, when a row's length differs from the
80
+ * first row's, when a measurement is not a finite number, or when the model's
81
+ * loadings are not as wide as a row — which is what happens when the model was
82
+ * fitted with `ignoreZeroVariance` and silently dropped a column, and which
83
+ * would otherwise label every loadings panel one measurement out.
84
+ */
85
+ export declare function pcaResult(pca: PcaLike, options: PcaResultOptions): ProjectionResult;
86
+ //# sourceMappingURL=pcaResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcaResult.d.ts","sourceRoot":"","sources":["../../../src/projection/core/pcaResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC;IAC1B;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAC7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,GACxB,gBAAgB,CA8DlB"}
@@ -0,0 +1,122 @@
1
+ import { mappedMatrix, stackedMatrix } from "../../chart/core/matrix.js";
2
+ /**
3
+ * A fitted principal component model as the viewer reads it.
4
+ * @param pca - The fitted model.
5
+ * @param options - See {@link PcaResultOptions}.
6
+ * @returns The result, with every tab's data filled in.
7
+ * @throws {Error} When `rows` is empty, when a row's length differs from the
8
+ * first row's, when a measurement is not a finite number, or when the model's
9
+ * loadings are not as wide as a row — which is what happens when the model was
10
+ * fitted with `ignoreZeroVariance` and silently dropped a column, and which
11
+ * would otherwise label every loadings panel one measurement out.
12
+ */
13
+ export function pcaResult(pca, options) {
14
+ const { rows, projected, variables, scores, scaled = false, count, valueLabel = '', signConvention = 'largest-positive', method = 'Principal components', } = options;
15
+ const first = rows[0];
16
+ if (first === undefined) {
17
+ throw new Error('pcaResult was given no rows, so nothing can be read.');
18
+ }
19
+ const width = first.length;
20
+ const { mean, deviation } = columnStats(rows, width);
21
+ const weights = pca.getLoadings();
22
+ if (weights.columns < width) {
23
+ throw new Error(`pcaResult was given rows ${width} measurements wide but a model holding ${weights.columns} weights, which is what \`ignoreZeroVariance\` leaves behind when it drops a column that never moves. Every panel after the dropped one would carry its neighbour's name.`);
24
+ }
25
+ const wanted = Number.isFinite(count) ? Math.floor(count ?? 0) : weights.rows;
26
+ const kept = Math.min(weights.rows, Math.max(1, wanted));
27
+ const signs = signsOf(weights, signConvention === 'largest-positive');
28
+ const explained = pca.getExplainedVariance();
29
+ const eigenvalues = pca.getEigenvalues();
30
+ const axes = [];
31
+ const spread = [];
32
+ for (let index = 0; index < kept; index++) {
33
+ const eigenvalue = eigenvalues[index];
34
+ axes.push({ name: `PC${index + 1}`, share: explained[index], eigenvalue });
35
+ spread.push(Math.sqrt(Math.max(0, eigenvalue ?? 0)));
36
+ }
37
+ const fitted = scores ?? pca.predict(rows, { nComponents: kept });
38
+ const extra = projected === undefined || projected.length === 0
39
+ ? undefined
40
+ : pca.predict(projected, { nComponents: kept });
41
+ const placed = extra === undefined ? fitted : stackedMatrix(fitted, extra);
42
+ return {
43
+ method,
44
+ axes,
45
+ scores: signedView(placed, placed.rows, kept, signs, false),
46
+ fittedCount: extra === undefined ? undefined : fitted.rows,
47
+ loadings: {
48
+ weights: signedView(weights, kept, width, signs, true),
49
+ variables: variables ?? numberedVariables(width),
50
+ mean,
51
+ spread,
52
+ scales: scaled ? deviation : undefined,
53
+ valueLabel,
54
+ },
55
+ };
56
+ }
57
+ function columnStats(rows, width) {
58
+ // Centred on the average so far, in one pass: a running total of the raw
59
+ // values squared loses the low bits of a spectrum sitting on a baseline.
60
+ // `deviation` carries the squared spread until the last loop roots it.
61
+ const mean = new Array(width).fill(0);
62
+ const deviation = new Array(width).fill(0);
63
+ for (let index = 0; index < rows.length; index++) {
64
+ const row = rows[index];
65
+ if (row?.length !== width) {
66
+ throw new Error(`pcaResult was given a row ${row?.length ?? 0} measurements wide at index ${index}, where the first row is ${width} wide.`);
67
+ }
68
+ const seen = index + 1;
69
+ for (let column = 0; column < width; column++) {
70
+ const value = row[column];
71
+ if (value === undefined || !Number.isFinite(value)) {
72
+ throw new Error(`pcaResult was given ${String(value)} at row ${index}, measurement ${column}. A model carries it on into a map of nothing at all.`);
73
+ }
74
+ const before = mean[column] ?? 0;
75
+ const step = value - before;
76
+ const after = before + step / seen;
77
+ mean[column] = after;
78
+ deviation[column] = (deviation[column] ?? 0) + step * (value - after);
79
+ }
80
+ }
81
+ const divisor = Math.max(1, rows.length - 1);
82
+ for (let column = 0; column < width; column++) {
83
+ deviation[column] = Math.sqrt((deviation[column] ?? 0) / divisor);
84
+ }
85
+ return { mean, deviation };
86
+ }
87
+ function signsOf(weights, flip) {
88
+ const signs = new Float64Array(weights.rows).fill(1);
89
+ if (!flip)
90
+ return signs;
91
+ for (let row = 0; row < weights.rows; row++) {
92
+ let strongest = 0;
93
+ let reach = 0;
94
+ for (let column = 0; column < weights.columns; column++) {
95
+ const value = weights.get(row, column);
96
+ const size = Math.abs(value);
97
+ if (size > reach) {
98
+ reach = size;
99
+ strongest = value;
100
+ }
101
+ }
102
+ if (strongest < 0)
103
+ signs[row] = -1;
104
+ }
105
+ return signs;
106
+ }
107
+ function signedView(source, rowCount, columnCount, signs, byRow) {
108
+ return mappedMatrix({
109
+ rows: rowCount,
110
+ columns: columnCount,
111
+ get: (row, column) => row >= 0 && row < rowCount && column >= 0 && column < columnCount
112
+ ? source.get(row, column)
113
+ : Number.NaN,
114
+ }, (value, row, column) => value * (signs[byRow ? row : column] ?? 1));
115
+ }
116
+ function numberedVariables(width) {
117
+ const names = new Array(width);
118
+ for (let index = 0; index < width; index++)
119
+ names[index] = String(index + 1);
120
+ return { kind: 'named', names };
121
+ }
122
+ //# sourceMappingURL=pcaResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcaResult.js","sourceRoot":"","sources":["../../../src/projection/core/pcaResult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import type { ProjectionCopyPatch } from './projectionCopyPatch.ts';
2
+ import type { ProjectionOptionId } from './projectionOptions.ts';
3
+ import type { ProjectionBarWords, ProjectionHelp } from './projectionStrings.ts';
4
+ import type { ProjectionTab } from './projectionTabs.ts';
5
+ export type { ProjectionBarWords, ProjectionHelp, ProjectionHelpExample, } from './projectionStrings.ts';
6
+ /** Every word a projection viewer writes. */
7
+ export interface ProjectionCopy {
8
+ /** What each tab is called. */
9
+ tab: Record<ProjectionTab, string>;
10
+ /** What each tab is called on a bar with no room for the long name. */
11
+ shortTab: Record<ProjectionTab, string>;
12
+ /** The words the settings bar writes on itself. */
13
+ bar: ProjectionBarWords;
14
+ /** The sentence under each tab and above its figure. */
15
+ intro: {
16
+ /** The map. */
17
+ map: string;
18
+ /** The pair grid. */
19
+ pairs: string;
20
+ /**
21
+ * The "what differs" tab showing weights over a number line. Carries
22
+ * `{axis}`.
23
+ */
24
+ variablesContinuous: string;
25
+ /** The same, over named measurements, which are drawn as bars. */
26
+ variablesNamed: string;
27
+ /** The same tab in its "effect on a sample" view, whatever the axis is. */
28
+ variablesEffect: string;
29
+ /** The same tab in its "selected sample" view. */
30
+ variablesSample: string;
31
+ /** The shares tab. */
32
+ shares: string;
33
+ };
34
+ /** The sentence naming what colour and shape mean, one per tab and per view. */
35
+ legend: {
36
+ /** The map. Carries `{groups}` and `{coverage}`. */
37
+ map: string;
38
+ /** The map with no outlines. Carries `{groups}`. */
39
+ mapNoEllipse: string;
40
+ /** The pair grid. Carries `{groups}`. */
41
+ pairs: string;
42
+ /** The "effect on a sample" view. */
43
+ variablesEffect: string;
44
+ /** The "weights" view. */
45
+ variablesWeights: string;
46
+ /** The "weights in your units" view. */
47
+ variablesRescaled: string;
48
+ /** The "selected sample" view. Carries `{sample}`. */
49
+ variablesSample: string;
50
+ /** The shares tab. */
51
+ shares: string;
52
+ };
53
+ /** The sentences the viewer builds from the data. */
54
+ sentence: {
55
+ /** Carries `{percent}`. */
56
+ sharesFirst: string;
57
+ /** Carries `{count}` and `{percent}`. */
58
+ sharesTarget: string;
59
+ /** Carries `{count}` and `{percent}`. */
60
+ sharesNoTarget: string;
61
+ /** Carries `{count}` and `{total}`. */
62
+ selection: string;
63
+ /** What is said when nothing is selected. */
64
+ selectionNone: string;
65
+ /** What is said while a plain drag is under way. */
66
+ lassoReplace: string;
67
+ /** While a shift-drag is under way. */
68
+ lassoAdd: string;
69
+ /** While an alt-drag is under way. */
70
+ lassoRemove: string;
71
+ /** Carries `{names}`. */
72
+ skippedGroups: string;
73
+ };
74
+ /** What the buttons read. */
75
+ action: {
76
+ /** Frames the selected samples. */
77
+ zoomToSelection: string;
78
+ /** Puts the axes back. */
79
+ resetView: string;
80
+ /** Empties the selection. */
81
+ clearSelection: string;
82
+ /** Takes the figure off the page as a file. */
83
+ download: string;
84
+ /** What the floating bar is called. */
85
+ options: string;
86
+ };
87
+ /** The help behind every option's glyph. */
88
+ help: Record<ProjectionOptionId, ProjectionHelp>;
89
+ /** The nouns the viewer builds its sentences from. */
90
+ words: {
91
+ /** What one row is called. */
92
+ sample: string;
93
+ /** What many rows are called. */
94
+ samples: string;
95
+ /** What one axis is called. */
96
+ component: string;
97
+ /** What many are called. */
98
+ components: string;
99
+ };
100
+ }
101
+ /**
102
+ * The words the viewer writes when a site overrides nothing.
103
+ *
104
+ * Two words are kept out of it deliberately. Nothing is ever "reconstructed",
105
+ * because the reader is being shown their own samples and the word suggests a
106
+ * repair. Nothing is ever a "variance" either: the quantity every component
107
+ * carries a share of is written as the differences between your samples, which
108
+ * is what it is, and the one place a spread has to be named it is named in
109
+ * standard deviations.
110
+ */
111
+ export declare const PROJECTION_COPY: ProjectionCopy;
112
+ /**
113
+ * The words the viewer will write, with a site's overrides merged in one key
114
+ * at a time, so a site fixing a single sentence keeps every other default.
115
+ * @param overrides - What the site wants said differently.
116
+ * @returns Every word, complete.
117
+ */
118
+ export declare function mergeProjectionCopy(overrides?: ProjectionCopyPatch<ProjectionCopy>): ProjectionCopy;
119
+ /**
120
+ * A sentence with its placeholders filled in.
121
+ *
122
+ * The placeholders are `{name}`, and one with no value is left in place rather
123
+ * than replaced by an empty string, so a site that mistypes a key sees the
124
+ * mistake in the figure instead of a sentence that quietly loses a number.
125
+ * @param template - The sentence, from {@link ProjectionCopy}.
126
+ * @param values - What each placeholder stands for.
127
+ * @returns The filled sentence.
128
+ */
129
+ export declare function fillCopy(template: string, values: Readonly<Record<string, string>>): string;
130
+ //# sourceMappingURL=projectionCopy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectionCopy.d.ts","sourceRoot":"","sources":["../../../src/projection/core/projectionCopy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { PROJECTION_BAR_WORDS, PROJECTION_HELP, PROJECTION_SHORT_TAB, } from "./projectionStrings.js";
2
+ /**
3
+ * The words the viewer writes when a site overrides nothing.
4
+ *
5
+ * Two words are kept out of it deliberately. Nothing is ever "reconstructed",
6
+ * because the reader is being shown their own samples and the word suggests a
7
+ * repair. Nothing is ever a "variance" either: the quantity every component
8
+ * carries a share of is written as the differences between your samples, which
9
+ * is what it is, and the one place a spread has to be named it is named in
10
+ * standard deviations.
11
+ */
12
+ export const PROJECTION_COPY = {
13
+ tab: {
14
+ map: 'Map',
15
+ pairs: 'Every pair',
16
+ variables: 'What differs',
17
+ shares: 'How much each explains',
18
+ },
19
+ shortTab: PROJECTION_SHORT_TAB,
20
+ bar: PROJECTION_BAR_WORDS,
21
+ intro: {
22
+ map: 'Each dot is one sample. Dots that sit together are alike; dots far apart are the ones that differ most. The two axes are the strongest patterns of difference, called components.',
23
+ pairs: 'The same map drawn for every pair of components. A grouping the first two miss often shows up in another pair.',
24
+ variablesContinuous: 'Each panel is one pattern of difference, drawn back over your {axis}: what pushes a sample to one end of the map.',
25
+ variablesNamed: 'Each panel is one pattern of difference, one bar per measurement: the measurements that push a sample to one end of the map.',
26
+ variablesEffect: 'Each panel is one pattern of difference, drawn as your average sample pushed to each end of it: what a sample at each end of the map actually looks like.',
27
+ variablesSample: 'Each panel adds one more component to your average sample, rebuilding the selected sample a step at a time.',
28
+ shares: 'Every component accounts for a share of the differences between your samples, largest first. The first few usually account for most of them.',
29
+ },
30
+ legend: {
31
+ map: 'Colour = {groups}. Each outline covers about {coverage} of that group, assuming the group is roughly bell-shaped.',
32
+ mapNoEllipse: 'Colour = {groups}.',
33
+ pairs: 'Colour = {groups}. The strip along the diagonal shows how the samples spread out along that component on its own.',
34
+ variablesEffect: 'Grey is the average sample; the coloured lines are that sample pushed to each end of this component.',
35
+ variablesWeights: 'Above and below the zero line are the two opposite ends of this component; which end is which is arbitrary.',
36
+ variablesRescaled: 'The same weights undone through the scaling, so tall peaks read as tall again. Which end is which is still arbitrary.',
37
+ variablesSample: 'Grey is the average sample; the coloured line is {sample} rebuilt from the components shown.',
38
+ shares: 'Each bar carries the colour its component has on the other tabs; the grey line is the running total.',
39
+ },
40
+ sentence: {
41
+ sharesFirst: 'Component 1 accounts for {percent} of the differences between your samples.',
42
+ sharesTarget: 'The first {count} components together account for {percent} — the rest is mostly small, scattered differences.',
43
+ sharesNoTarget: 'Even all {count} components only account for {percent}, so your samples differ in many small ways at once.',
44
+ selection: '{count} of {total} samples selected.',
45
+ selectionNone: 'Nothing selected — drag a loop around some dots.',
46
+ lassoReplace: 'Selecting',
47
+ lassoAdd: 'Adding to selection',
48
+ lassoRemove: 'Removing from selection',
49
+ skippedGroups: '{names} not outlined: too few samples.',
50
+ },
51
+ action: {
52
+ zoomToSelection: 'Zoom to selection',
53
+ resetView: 'Reset view',
54
+ clearSelection: 'Clear selection',
55
+ download: 'Save this figure',
56
+ options: 'Options',
57
+ },
58
+ help: PROJECTION_HELP,
59
+ words: {
60
+ sample: 'sample',
61
+ samples: 'samples',
62
+ component: 'component',
63
+ components: 'components',
64
+ },
65
+ };
66
+ /**
67
+ * The words the viewer will write, with a site's overrides merged in one key
68
+ * at a time, so a site fixing a single sentence keeps every other default.
69
+ * @param overrides - What the site wants said differently.
70
+ * @returns Every word, complete.
71
+ */
72
+ export function mergeProjectionCopy(overrides) {
73
+ if (overrides === undefined)
74
+ return { ...PROJECTION_COPY };
75
+ return mergeBranch(PROJECTION_COPY, overrides);
76
+ }
77
+ /**
78
+ * A sentence with its placeholders filled in.
79
+ *
80
+ * The placeholders are `{name}`, and one with no value is left in place rather
81
+ * than replaced by an empty string, so a site that mistypes a key sees the
82
+ * mistake in the figure instead of a sentence that quietly loses a number.
83
+ * @param template - The sentence, from {@link ProjectionCopy}.
84
+ * @param values - What each placeholder stands for.
85
+ * @returns The filled sentence.
86
+ */
87
+ export function fillCopy(template, values) {
88
+ return template.replaceAll(PLACEHOLDER, (match, name) => {
89
+ const value = values[name];
90
+ return value === undefined ? match : value;
91
+ });
92
+ }
93
+ const PLACEHOLDER = /\{(?<name>[^{}]+)\}/gu;
94
+ function mergeBranch(base, overrides) {
95
+ const merged = { ...base };
96
+ for (const key of Object.keys(overrides)) {
97
+ const value = overrides[key];
98
+ if (value === undefined)
99
+ continue;
100
+ const current = merged[key];
101
+ merged[key] =
102
+ isBranch(current) && isBranch(value)
103
+ ? mergeBranch(current, value)
104
+ : value;
105
+ }
106
+ return merged;
107
+ }
108
+ function isBranch(value) {
109
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
110
+ }
111
+ //# sourceMappingURL=projectionCopy.js.map