react-cheminfo 0.9.0 → 0.11.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 (1285) 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/chrome/ui/NavLink.d.ts.map +1 -1
  83. package/lib/chrome/ui/NavLink.js +4 -3
  84. package/lib/chrome/ui/NavLink.js.map +1 -1
  85. package/lib/chrome/ui/SiteFooter.d.ts +8 -0
  86. package/lib/chrome/ui/SiteFooter.d.ts.map +1 -1
  87. package/lib/chrome/ui/SiteFooter.js +7 -2
  88. package/lib/chrome/ui/SiteFooter.js.map +1 -1
  89. package/lib/chrome/ui/SiteHeader.d.ts +11 -0
  90. package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
  91. package/lib/chrome/ui/SiteHeader.js +7 -2
  92. package/lib/chrome/ui/SiteHeader.js.map +1 -1
  93. package/lib/chrome/ui/navItem.d.ts +12 -0
  94. package/lib/chrome/ui/navItem.d.ts.map +1 -1
  95. package/lib/chrome/ui/navItem.js.map +1 -1
  96. package/lib/color/core/gradient.d.ts +15 -0
  97. package/lib/color/core/gradient.d.ts.map +1 -0
  98. package/lib/color/core/gradient.js +28 -0
  99. package/lib/color/core/gradient.js.map +1 -0
  100. package/lib/color/core/hsv.d.ts +38 -0
  101. package/lib/color/core/hsv.d.ts.map +1 -0
  102. package/lib/color/core/hsv.js +92 -0
  103. package/lib/color/core/hsv.js.map +1 -0
  104. package/lib/color/core/index.d.ts +12 -1
  105. package/lib/color/core/index.d.ts.map +1 -1
  106. package/lib/color/core/index.js +6 -0
  107. package/lib/color/core/index.js.map +1 -1
  108. package/lib/color/core/interpolate.d.ts +67 -0
  109. package/lib/color/core/interpolate.d.ts.map +1 -0
  110. package/lib/color/core/interpolate.js +121 -0
  111. package/lib/color/core/interpolate.js.map +1 -0
  112. package/lib/color/core/scale.d.ts +11 -15
  113. package/lib/color/core/scale.d.ts.map +1 -1
  114. package/lib/color/core/scale.js +14 -41
  115. package/lib/color/core/scale.js.map +1 -1
  116. package/lib/color/core/scaleData.d.ts +19 -0
  117. package/lib/color/core/scaleData.d.ts.map +1 -0
  118. package/lib/color/core/scaleData.js +120 -0
  119. package/lib/color/core/scaleData.js.map +1 -0
  120. package/lib/color/core/scaleText.d.ts +43 -0
  121. package/lib/color/core/scaleText.d.ts.map +1 -0
  122. package/lib/color/core/scaleText.js +109 -0
  123. package/lib/color/core/scaleText.js.map +1 -0
  124. package/lib/color/core/scales.d.ts +42 -0
  125. package/lib/color/core/scales.d.ts.map +1 -0
  126. package/lib/color/core/scales.js +110 -0
  127. package/lib/color/core/scales.js.map +1 -0
  128. package/lib/color/ui/ColorScaleBar.d.ts +39 -0
  129. package/lib/color/ui/ColorScaleBar.d.ts.map +1 -0
  130. package/lib/color/ui/ColorScaleBar.js +27 -0
  131. package/lib/color/ui/ColorScaleBar.js.map +1 -0
  132. package/lib/color/ui/ColorScaleEditor.d.ts +21 -0
  133. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -0
  134. package/lib/color/ui/ColorScaleEditor.js +141 -0
  135. package/lib/color/ui/ColorScaleEditor.js.map +1 -0
  136. package/lib/color/ui/ColorScaleSelect.d.ts +38 -0
  137. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -0
  138. package/lib/color/ui/ColorScaleSelect.js +109 -0
  139. package/lib/color/ui/ColorScaleSelect.js.map +1 -0
  140. package/lib/color/ui/index.d.ts +6 -0
  141. package/lib/color/ui/index.d.ts.map +1 -1
  142. package/lib/color/ui/index.js +3 -0
  143. package/lib/color/ui/index.js.map +1 -1
  144. package/lib/core.d.ts +6 -0
  145. package/lib/core.d.ts.map +1 -1
  146. package/lib/core.js +6 -0
  147. package/lib/core.js.map +1 -1
  148. package/lib/credits/core/credits.d.ts +17 -0
  149. package/lib/credits/core/credits.d.ts.map +1 -1
  150. package/lib/credits/core/credits.js +20 -0
  151. package/lib/credits/core/credits.js.map +1 -1
  152. package/lib/download/core/cssTokens.d.ts +33 -0
  153. package/lib/download/core/cssTokens.d.ts.map +1 -0
  154. package/lib/download/core/cssTokens.js +82 -0
  155. package/lib/download/core/cssTokens.js.map +1 -0
  156. package/lib/download/core/downloadFigure.d.ts +39 -0
  157. package/lib/download/core/downloadFigure.d.ts.map +1 -0
  158. package/lib/download/core/downloadFigure.js +35 -0
  159. package/lib/download/core/downloadFigure.js.map +1 -0
  160. package/lib/download/core/figureLegend.d.ts +90 -0
  161. package/lib/download/core/figureLegend.d.ts.map +1 -0
  162. package/lib/download/core/figureLegend.js +77 -0
  163. package/lib/download/core/figureLegend.js.map +1 -0
  164. package/lib/download/core/figurePng.d.ts +21 -0
  165. package/lib/download/core/figurePng.d.ts.map +1 -0
  166. package/lib/download/core/figurePng.js +76 -0
  167. package/lib/download/core/figurePng.js.map +1 -0
  168. package/lib/download/core/figureScale.d.ts +61 -0
  169. package/lib/download/core/figureScale.d.ts.map +1 -0
  170. package/lib/download/core/figureScale.js +67 -0
  171. package/lib/download/core/figureScale.js.map +1 -0
  172. package/lib/download/core/figureSvg.d.ts +37 -0
  173. package/lib/download/core/figureSvg.d.ts.map +1 -0
  174. package/lib/download/core/figureSvg.js +164 -0
  175. package/lib/download/core/figureSvg.js.map +1 -0
  176. package/lib/download/core/figureSvgDocument.d.ts +62 -0
  177. package/lib/download/core/figureSvgDocument.d.ts.map +1 -0
  178. package/lib/download/core/figureSvgDocument.js +82 -0
  179. package/lib/download/core/figureSvgDocument.js.map +1 -0
  180. package/lib/download/core/figureTarget.d.ts +67 -0
  181. package/lib/download/core/figureTarget.d.ts.map +1 -0
  182. package/lib/download/core/figureTarget.js +138 -0
  183. package/lib/download/core/figureTarget.js.map +1 -0
  184. package/lib/download/core/index.d.ts +14 -0
  185. package/lib/download/core/index.d.ts.map +1 -1
  186. package/lib/download/core/index.js +8 -0
  187. package/lib/download/core/index.js.map +1 -1
  188. package/lib/download/ui/FigureDownload.d.ts +81 -0
  189. package/lib/download/ui/FigureDownload.d.ts.map +1 -0
  190. package/lib/download/ui/FigureDownload.js +65 -0
  191. package/lib/download/ui/FigureDownload.js.map +1 -0
  192. package/lib/download/ui/FigureDownloadPanel.d.ts +45 -0
  193. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -0
  194. package/lib/download/ui/FigureDownloadPanel.js +86 -0
  195. package/lib/download/ui/FigureDownloadPanel.js.map +1 -0
  196. package/lib/download/ui/index.d.ts +13 -0
  197. package/lib/download/ui/index.d.ts.map +1 -0
  198. package/lib/download/ui/index.js +11 -0
  199. package/lib/download/ui/index.js.map +1 -0
  200. package/lib/ecosystem/core/sites.d.ts +1 -1
  201. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  202. package/lib/ecosystem/core/sites.js +23 -0
  203. package/lib/ecosystem/core/sites.js.map +1 -1
  204. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
  205. package/lib/ecosystem/ui/glyphs.js +9 -0
  206. package/lib/ecosystem/ui/glyphs.js.map +1 -1
  207. package/lib/overlay/core/emptiestCorner.d.ts +47 -0
  208. package/lib/overlay/core/emptiestCorner.d.ts.map +1 -0
  209. package/lib/overlay/core/emptiestCorner.js +84 -0
  210. package/lib/overlay/core/emptiestCorner.js.map +1 -0
  211. package/lib/overlay/core/index.d.ts +23 -0
  212. package/lib/overlay/core/index.d.ts.map +1 -0
  213. package/lib/overlay/core/index.js +16 -0
  214. package/lib/overlay/core/index.js.map +1 -0
  215. package/lib/overlay/core/overlayCollapse.d.ts +14 -0
  216. package/lib/overlay/core/overlayCollapse.d.ts.map +1 -0
  217. package/lib/overlay/core/overlayCollapse.js +20 -0
  218. package/lib/overlay/core/overlayCollapse.js.map +1 -0
  219. package/lib/overlay/core/overlayMarks.d.ts +31 -0
  220. package/lib/overlay/core/overlayMarks.d.ts.map +1 -0
  221. package/lib/overlay/core/overlayMarks.js +38 -0
  222. package/lib/overlay/core/overlayMarks.js.map +1 -0
  223. package/lib/overlay/core/overlayMetrics.d.ts +41 -0
  224. package/lib/overlay/core/overlayMetrics.d.ts.map +1 -0
  225. package/lib/overlay/core/overlayMetrics.js +73 -0
  226. package/lib/overlay/core/overlayMetrics.js.map +1 -0
  227. package/lib/overlay/core/overlayPlacement.d.ts +60 -0
  228. package/lib/overlay/core/overlayPlacement.d.ts.map +1 -0
  229. package/lib/overlay/core/overlayPlacement.js +24 -0
  230. package/lib/overlay/core/overlayPlacement.js.map +1 -0
  231. package/lib/overlay/core/overlayTierRoom.d.ts +89 -0
  232. package/lib/overlay/core/overlayTierRoom.d.ts.map +1 -0
  233. package/lib/overlay/core/overlayTierRoom.js +135 -0
  234. package/lib/overlay/core/overlayTierRoom.js.map +1 -0
  235. package/lib/overlay/core/overlayTiers.d.ts +71 -0
  236. package/lib/overlay/core/overlayTiers.d.ts.map +1 -0
  237. package/lib/overlay/core/overlayTiers.js +89 -0
  238. package/lib/overlay/core/overlayTiers.js.map +1 -0
  239. package/lib/overlay/core/placeOverlayCard.d.ts +47 -0
  240. package/lib/overlay/core/placeOverlayCard.d.ts.map +1 -0
  241. package/lib/overlay/core/placeOverlayCard.js +42 -0
  242. package/lib/overlay/core/placeOverlayCard.js.map +1 -0
  243. package/lib/overlay/ui/OverlayAction.d.ts +32 -0
  244. package/lib/overlay/ui/OverlayAction.d.ts.map +1 -0
  245. package/lib/overlay/ui/OverlayAction.js +19 -0
  246. package/lib/overlay/ui/OverlayAction.js.map +1 -0
  247. package/lib/overlay/ui/OverlayBar.d.ts +122 -0
  248. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -0
  249. package/lib/overlay/ui/OverlayBar.js +42 -0
  250. package/lib/overlay/ui/OverlayBar.js.map +1 -0
  251. package/lib/overlay/ui/OverlayBarButton.d.ts +38 -0
  252. package/lib/overlay/ui/OverlayBarButton.d.ts.map +1 -0
  253. package/lib/overlay/ui/OverlayBarButton.js +40 -0
  254. package/lib/overlay/ui/OverlayBarButton.js.map +1 -0
  255. package/lib/overlay/ui/OverlayBarCard.d.ts +25 -0
  256. package/lib/overlay/ui/OverlayBarCard.d.ts.map +1 -0
  257. package/lib/overlay/ui/OverlayBarCard.js +28 -0
  258. package/lib/overlay/ui/OverlayBarCard.js.map +1 -0
  259. package/lib/overlay/ui/OverlayBarStrip.d.ts +18 -0
  260. package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -0
  261. package/lib/overlay/ui/OverlayBarStrip.js +26 -0
  262. package/lib/overlay/ui/OverlayBarStrip.js.map +1 -0
  263. package/lib/overlay/ui/OverlayCaption.d.ts +52 -0
  264. package/lib/overlay/ui/OverlayCaption.d.ts.map +1 -0
  265. package/lib/overlay/ui/OverlayCaption.js +62 -0
  266. package/lib/overlay/ui/OverlayCaption.js.map +1 -0
  267. package/lib/overlay/ui/OverlayChip.d.ts +60 -0
  268. package/lib/overlay/ui/OverlayChip.d.ts.map +1 -0
  269. package/lib/overlay/ui/OverlayChip.js +73 -0
  270. package/lib/overlay/ui/OverlayChip.js.map +1 -0
  271. package/lib/overlay/ui/OverlayDivider.d.ts +11 -0
  272. package/lib/overlay/ui/OverlayDivider.d.ts.map +1 -0
  273. package/lib/overlay/ui/OverlayDivider.js +16 -0
  274. package/lib/overlay/ui/OverlayDivider.js.map +1 -0
  275. package/lib/overlay/ui/OverlayGroup.d.ts +53 -0
  276. package/lib/overlay/ui/OverlayGroup.d.ts.map +1 -0
  277. package/lib/overlay/ui/OverlayGroup.js +63 -0
  278. package/lib/overlay/ui/OverlayGroup.js.map +1 -0
  279. package/lib/overlay/ui/OverlayIconButton.d.ts +75 -0
  280. package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -0
  281. package/lib/overlay/ui/OverlayIconButton.js +43 -0
  282. package/lib/overlay/ui/OverlayIconButton.js.map +1 -0
  283. package/lib/overlay/ui/OverlayInfo.d.ts +43 -0
  284. package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -0
  285. package/lib/overlay/ui/OverlayInfo.js +47 -0
  286. package/lib/overlay/ui/OverlayInfo.js.map +1 -0
  287. package/lib/overlay/ui/OverlayLayer.d.ts +54 -0
  288. package/lib/overlay/ui/OverlayLayer.d.ts.map +1 -0
  289. package/lib/overlay/ui/OverlayLayer.js +50 -0
  290. package/lib/overlay/ui/OverlayLayer.js.map +1 -0
  291. package/lib/overlay/ui/OverlayLegend.d.ts +75 -0
  292. package/lib/overlay/ui/OverlayLegend.d.ts.map +1 -0
  293. package/lib/overlay/ui/OverlayLegend.js +81 -0
  294. package/lib/overlay/ui/OverlayLegend.js.map +1 -0
  295. package/lib/overlay/ui/OverlayLegendMark.d.ts +36 -0
  296. package/lib/overlay/ui/OverlayLegendMark.d.ts.map +1 -0
  297. package/lib/overlay/ui/OverlayLegendMark.js +43 -0
  298. package/lib/overlay/ui/OverlayLegendMark.js.map +1 -0
  299. package/lib/overlay/ui/OverlayNumber.d.ts +43 -0
  300. package/lib/overlay/ui/OverlayNumber.d.ts.map +1 -0
  301. package/lib/overlay/ui/OverlayNumber.js +74 -0
  302. package/lib/overlay/ui/OverlayNumber.js.map +1 -0
  303. package/lib/overlay/ui/OverlayPanel.d.ts +81 -0
  304. package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -0
  305. package/lib/overlay/ui/OverlayPanel.js +42 -0
  306. package/lib/overlay/ui/OverlayPanel.js.map +1 -0
  307. package/lib/overlay/ui/OverlayPills.d.ts +73 -0
  308. package/lib/overlay/ui/OverlayPills.d.ts.map +1 -0
  309. package/lib/overlay/ui/OverlayPills.js +55 -0
  310. package/lib/overlay/ui/OverlayPills.js.map +1 -0
  311. package/lib/overlay/ui/OverlayReadout.d.ts +63 -0
  312. package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -0
  313. package/lib/overlay/ui/OverlayReadout.js +129 -0
  314. package/lib/overlay/ui/OverlayReadout.js.map +1 -0
  315. package/lib/overlay/ui/OverlayRow.d.ts +111 -0
  316. package/lib/overlay/ui/OverlayRow.d.ts.map +1 -0
  317. package/lib/overlay/ui/OverlayRow.js +50 -0
  318. package/lib/overlay/ui/OverlayRow.js.map +1 -0
  319. package/lib/overlay/ui/OverlaySegmented.d.ts +28 -0
  320. package/lib/overlay/ui/OverlaySegmented.d.ts.map +1 -0
  321. package/lib/overlay/ui/OverlaySegmented.js +23 -0
  322. package/lib/overlay/ui/OverlaySegmented.js.map +1 -0
  323. package/lib/overlay/ui/OverlaySelect.d.ts +35 -0
  324. package/lib/overlay/ui/OverlaySelect.d.ts.map +1 -0
  325. package/lib/overlay/ui/OverlaySelect.js +30 -0
  326. package/lib/overlay/ui/OverlaySelect.js.map +1 -0
  327. package/lib/overlay/ui/OverlaySwatchIcon.d.ts +26 -0
  328. package/lib/overlay/ui/OverlaySwatchIcon.d.ts.map +1 -0
  329. package/lib/overlay/ui/OverlaySwatchIcon.js +94 -0
  330. package/lib/overlay/ui/OverlaySwatchIcon.js.map +1 -0
  331. package/lib/overlay/ui/OverlayToggle.d.ts +56 -0
  332. package/lib/overlay/ui/OverlayToggle.d.ts.map +1 -0
  333. package/lib/overlay/ui/OverlayToggle.js +42 -0
  334. package/lib/overlay/ui/OverlayToggle.js.map +1 -0
  335. package/lib/overlay/ui/OverlayValueButton.d.ts +80 -0
  336. package/lib/overlay/ui/OverlayValueButton.d.ts.map +1 -0
  337. package/lib/overlay/ui/OverlayValueButton.js +46 -0
  338. package/lib/overlay/ui/OverlayValueButton.js.map +1 -0
  339. package/lib/overlay/ui/OverlayValueMenu.d.ts +68 -0
  340. package/lib/overlay/ui/OverlayValueMenu.d.ts.map +1 -0
  341. package/lib/overlay/ui/OverlayValueMenu.js +40 -0
  342. package/lib/overlay/ui/OverlayValueMenu.js.map +1 -0
  343. package/lib/overlay/ui/index.d.ts +55 -0
  344. package/lib/overlay/ui/index.d.ts.map +1 -0
  345. package/lib/overlay/ui/index.js +33 -0
  346. package/lib/overlay/ui/index.js.map +1 -0
  347. package/lib/overlay/ui/overlayBarShape.d.ts +85 -0
  348. package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -0
  349. package/lib/overlay/ui/overlayBarShape.js +48 -0
  350. package/lib/overlay/ui/overlayBarShape.js.map +1 -0
  351. package/lib/overlay/ui/overlayControlStyles.d.ts +82 -0
  352. package/lib/overlay/ui/overlayControlStyles.d.ts.map +1 -0
  353. package/lib/overlay/ui/overlayControlStyles.js +142 -0
  354. package/lib/overlay/ui/overlayControlStyles.js.map +1 -0
  355. package/lib/overlay/ui/overlayFigureStyles.d.ts +52 -0
  356. package/lib/overlay/ui/overlayFigureStyles.d.ts.map +1 -0
  357. package/lib/overlay/ui/overlayFigureStyles.js +98 -0
  358. package/lib/overlay/ui/overlayFigureStyles.js.map +1 -0
  359. package/lib/overlay/ui/overlayPanelContext.d.ts +34 -0
  360. package/lib/overlay/ui/overlayPanelContext.d.ts.map +1 -0
  361. package/lib/overlay/ui/overlayPanelContext.js +29 -0
  362. package/lib/overlay/ui/overlayPanelContext.js.map +1 -0
  363. package/lib/overlay/ui/overlayPanelStyles.d.ts +112 -0
  364. package/lib/overlay/ui/overlayPanelStyles.d.ts.map +1 -0
  365. package/lib/overlay/ui/overlayPanelStyles.js +193 -0
  366. package/lib/overlay/ui/overlayPanelStyles.js.map +1 -0
  367. package/lib/overlay/ui/overlayPillKeys.d.ts +19 -0
  368. package/lib/overlay/ui/overlayPillKeys.d.ts.map +1 -0
  369. package/lib/overlay/ui/overlayPillKeys.js +33 -0
  370. package/lib/overlay/ui/overlayPillKeys.js.map +1 -0
  371. package/lib/overlay/ui/overlayPillStyles.d.ts +78 -0
  372. package/lib/overlay/ui/overlayPillStyles.d.ts.map +1 -0
  373. package/lib/overlay/ui/overlayPillStyles.js +140 -0
  374. package/lib/overlay/ui/overlayPillStyles.js.map +1 -0
  375. package/lib/overlay/ui/overlayRowStyles.d.ts +113 -0
  376. package/lib/overlay/ui/overlayRowStyles.d.ts.map +1 -0
  377. package/lib/overlay/ui/overlayRowStyles.js +135 -0
  378. package/lib/overlay/ui/overlayRowStyles.js.map +1 -0
  379. package/lib/overlay/ui/overlayStepperStyles.d.ts +51 -0
  380. package/lib/overlay/ui/overlayStepperStyles.d.ts.map +1 -0
  381. package/lib/overlay/ui/overlayStepperStyles.js +96 -0
  382. package/lib/overlay/ui/overlayStepperStyles.js.map +1 -0
  383. package/lib/overlay/ui/overlayStyles.d.ts +123 -0
  384. package/lib/overlay/ui/overlayStyles.d.ts.map +1 -0
  385. package/lib/overlay/ui/overlayStyles.js +203 -0
  386. package/lib/overlay/ui/overlayStyles.js.map +1 -0
  387. package/lib/overlay/ui/overlaySurface.d.ts +54 -0
  388. package/lib/overlay/ui/overlaySurface.d.ts.map +1 -0
  389. package/lib/overlay/ui/overlaySurface.js +85 -0
  390. package/lib/overlay/ui/overlaySurface.js.map +1 -0
  391. package/lib/overlay/ui/overlaySwitchStyles.d.ts +70 -0
  392. package/lib/overlay/ui/overlaySwitchStyles.d.ts.map +1 -0
  393. package/lib/overlay/ui/overlaySwitchStyles.js +102 -0
  394. package/lib/overlay/ui/overlaySwitchStyles.js.map +1 -0
  395. package/lib/overlay/ui/overlayValueStyles.d.ts +101 -0
  396. package/lib/overlay/ui/overlayValueStyles.d.ts.map +1 -0
  397. package/lib/overlay/ui/overlayValueStyles.js +166 -0
  398. package/lib/overlay/ui/overlayValueStyles.js.map +1 -0
  399. package/lib/projection/core/embeddingResult.d.ts +60 -0
  400. package/lib/projection/core/embeddingResult.d.ts.map +1 -0
  401. package/lib/projection/core/embeddingResult.js +52 -0
  402. package/lib/projection/core/embeddingResult.js.map +1 -0
  403. package/lib/projection/core/explainedShares.d.ts +51 -0
  404. package/lib/projection/core/explainedShares.d.ts.map +1 -0
  405. package/lib/projection/core/explainedShares.js +55 -0
  406. package/lib/projection/core/explainedShares.js.map +1 -0
  407. package/lib/projection/core/index.d.ts +38 -0
  408. package/lib/projection/core/index.d.ts.map +1 -0
  409. package/lib/projection/core/index.js +25 -0
  410. package/lib/projection/core/index.js.map +1 -0
  411. package/lib/projection/core/loadingProfiles.d.ts +87 -0
  412. package/lib/projection/core/loadingProfiles.d.ts.map +1 -0
  413. package/lib/projection/core/loadingProfiles.js +125 -0
  414. package/lib/projection/core/loadingProfiles.js.map +1 -0
  415. package/lib/projection/core/pcaLike.d.ts +32 -0
  416. package/lib/projection/core/pcaLike.d.ts.map +1 -0
  417. package/lib/projection/core/pcaLike.js +2 -0
  418. package/lib/projection/core/pcaLike.js.map +1 -0
  419. package/lib/projection/core/pcaResult.d.ts +86 -0
  420. package/lib/projection/core/pcaResult.d.ts.map +1 -0
  421. package/lib/projection/core/pcaResult.js +122 -0
  422. package/lib/projection/core/pcaResult.js.map +1 -0
  423. package/lib/projection/core/projectionCopy.d.ts +134 -0
  424. package/lib/projection/core/projectionCopy.d.ts.map +1 -0
  425. package/lib/projection/core/projectionCopy.js +114 -0
  426. package/lib/projection/core/projectionCopy.js.map +1 -0
  427. package/lib/projection/core/projectionCopyPatch.d.ts +13 -0
  428. package/lib/projection/core/projectionCopyPatch.d.ts.map +1 -0
  429. package/lib/projection/core/projectionCopyPatch.js +2 -0
  430. package/lib/projection/core/projectionCopyPatch.js.map +1 -0
  431. package/lib/projection/core/projectionOptions.d.ts +143 -0
  432. package/lib/projection/core/projectionOptions.d.ts.map +1 -0
  433. package/lib/projection/core/projectionOptions.js +111 -0
  434. package/lib/projection/core/projectionOptions.js.map +1 -0
  435. package/lib/projection/core/projectionResult.d.ts +119 -0
  436. package/lib/projection/core/projectionResult.d.ts.map +1 -0
  437. package/lib/projection/core/projectionResult.js +2 -0
  438. package/lib/projection/core/projectionResult.js.map +1 -0
  439. package/lib/projection/core/projectionSamples.d.ts +77 -0
  440. package/lib/projection/core/projectionSamples.d.ts.map +1 -0
  441. package/lib/projection/core/projectionSamples.js +81 -0
  442. package/lib/projection/core/projectionSamples.js.map +1 -0
  443. package/lib/projection/core/projectionStrings.d.ts +138 -0
  444. package/lib/projection/core/projectionStrings.d.ts.map +1 -0
  445. package/lib/projection/core/projectionStrings.js +182 -0
  446. package/lib/projection/core/projectionStrings.js.map +1 -0
  447. package/lib/projection/core/projectionTabDefaults.d.ts +18 -0
  448. package/lib/projection/core/projectionTabDefaults.d.ts.map +1 -0
  449. package/lib/projection/core/projectionTabDefaults.js +58 -0
  450. package/lib/projection/core/projectionTabDefaults.js.map +1 -0
  451. package/lib/projection/core/projectionTabs.d.ts +25 -0
  452. package/lib/projection/core/projectionTabs.d.ts.map +1 -0
  453. package/lib/projection/core/projectionTabs.js +60 -0
  454. package/lib/projection/core/projectionTabs.js.map +1 -0
  455. package/lib/projection/core/variableAxis.d.ts +106 -0
  456. package/lib/projection/core/variableAxis.d.ts.map +1 -0
  457. package/lib/projection/core/variableAxis.js +84 -0
  458. package/lib/projection/core/variableAxis.js.map +1 -0
  459. package/lib/projection/core/variablesView.d.ts +33 -0
  460. package/lib/projection/core/variablesView.d.ts.map +1 -0
  461. package/lib/projection/core/variablesView.js +49 -0
  462. package/lib/projection/core/variablesView.js.map +1 -0
  463. package/lib/projection/ui/PcaViewer.d.ts +31 -0
  464. package/lib/projection/ui/PcaViewer.d.ts.map +1 -0
  465. package/lib/projection/ui/PcaViewer.js +46 -0
  466. package/lib/projection/ui/PcaViewer.js.map +1 -0
  467. package/lib/projection/ui/ProjectionBar.d.ts +55 -0
  468. package/lib/projection/ui/ProjectionBar.d.ts.map +1 -0
  469. package/lib/projection/ui/ProjectionBar.js +112 -0
  470. package/lib/projection/ui/ProjectionBar.js.map +1 -0
  471. package/lib/projection/ui/ProjectionMapCaption.d.ts +46 -0
  472. package/lib/projection/ui/ProjectionMapCaption.d.ts.map +1 -0
  473. package/lib/projection/ui/ProjectionMapCaption.js +54 -0
  474. package/lib/projection/ui/ProjectionMapCaption.js.map +1 -0
  475. package/lib/projection/ui/ProjectionMapControls.d.ts +67 -0
  476. package/lib/projection/ui/ProjectionMapControls.d.ts.map +1 -0
  477. package/lib/projection/ui/ProjectionMapControls.js +108 -0
  478. package/lib/projection/ui/ProjectionMapControls.js.map +1 -0
  479. package/lib/projection/ui/ProjectionMapLegend.d.ts +39 -0
  480. package/lib/projection/ui/ProjectionMapLegend.d.ts.map +1 -0
  481. package/lib/projection/ui/ProjectionMapLegend.js +29 -0
  482. package/lib/projection/ui/ProjectionMapLegend.js.map +1 -0
  483. package/lib/projection/ui/ProjectionMapMore.d.ts +42 -0
  484. package/lib/projection/ui/ProjectionMapMore.d.ts.map +1 -0
  485. package/lib/projection/ui/ProjectionMapMore.js +74 -0
  486. package/lib/projection/ui/ProjectionMapMore.js.map +1 -0
  487. package/lib/projection/ui/ProjectionMapTab.d.ts +107 -0
  488. package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -0
  489. package/lib/projection/ui/ProjectionMapTab.js +43 -0
  490. package/lib/projection/ui/ProjectionMapTab.js.map +1 -0
  491. package/lib/projection/ui/ProjectionPairsControls.d.ts +37 -0
  492. package/lib/projection/ui/ProjectionPairsControls.d.ts.map +1 -0
  493. package/lib/projection/ui/ProjectionPairsControls.js +20 -0
  494. package/lib/projection/ui/ProjectionPairsControls.js.map +1 -0
  495. package/lib/projection/ui/ProjectionPairsMore.d.ts +40 -0
  496. package/lib/projection/ui/ProjectionPairsMore.d.ts.map +1 -0
  497. package/lib/projection/ui/ProjectionPairsMore.js +31 -0
  498. package/lib/projection/ui/ProjectionPairsMore.js.map +1 -0
  499. package/lib/projection/ui/ProjectionPairsTab.d.ts +66 -0
  500. package/lib/projection/ui/ProjectionPairsTab.d.ts.map +1 -0
  501. package/lib/projection/ui/ProjectionPairsTab.js +64 -0
  502. package/lib/projection/ui/ProjectionPairsTab.js.map +1 -0
  503. package/lib/projection/ui/ProjectionPanel.d.ts +79 -0
  504. package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -0
  505. package/lib/projection/ui/ProjectionPanel.js +72 -0
  506. package/lib/projection/ui/ProjectionPanel.js.map +1 -0
  507. package/lib/projection/ui/ProjectionReadout.d.ts +72 -0
  508. package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -0
  509. package/lib/projection/ui/ProjectionReadout.js +47 -0
  510. package/lib/projection/ui/ProjectionReadout.js.map +1 -0
  511. package/lib/projection/ui/ProjectionSharesControls.d.ts +34 -0
  512. package/lib/projection/ui/ProjectionSharesControls.d.ts.map +1 -0
  513. package/lib/projection/ui/ProjectionSharesControls.js +20 -0
  514. package/lib/projection/ui/ProjectionSharesControls.js.map +1 -0
  515. package/lib/projection/ui/ProjectionSharesMarks.d.ts +49 -0
  516. package/lib/projection/ui/ProjectionSharesMarks.d.ts.map +1 -0
  517. package/lib/projection/ui/ProjectionSharesMarks.js +110 -0
  518. package/lib/projection/ui/ProjectionSharesMarks.js.map +1 -0
  519. package/lib/projection/ui/ProjectionSharesMore.d.ts +19 -0
  520. package/lib/projection/ui/ProjectionSharesMore.d.ts.map +1 -0
  521. package/lib/projection/ui/ProjectionSharesMore.js +25 -0
  522. package/lib/projection/ui/ProjectionSharesMore.js.map +1 -0
  523. package/lib/projection/ui/ProjectionSharesTab.d.ts +50 -0
  524. package/lib/projection/ui/ProjectionSharesTab.d.ts.map +1 -0
  525. package/lib/projection/ui/ProjectionSharesTab.js +48 -0
  526. package/lib/projection/ui/ProjectionSharesTab.js.map +1 -0
  527. package/lib/projection/ui/ProjectionSpaceControls.d.ts +51 -0
  528. package/lib/projection/ui/ProjectionSpaceControls.d.ts.map +1 -0
  529. package/lib/projection/ui/ProjectionSpaceControls.js +71 -0
  530. package/lib/projection/ui/ProjectionSpaceControls.js.map +1 -0
  531. package/lib/projection/ui/ProjectionSpaceMore.d.ts +32 -0
  532. package/lib/projection/ui/ProjectionSpaceMore.d.ts.map +1 -0
  533. package/lib/projection/ui/ProjectionSpaceMore.js +57 -0
  534. package/lib/projection/ui/ProjectionSpaceMore.js.map +1 -0
  535. package/lib/projection/ui/ProjectionSpaceTab.d.ts +98 -0
  536. package/lib/projection/ui/ProjectionSpaceTab.d.ts.map +1 -0
  537. package/lib/projection/ui/ProjectionSpaceTab.js +66 -0
  538. package/lib/projection/ui/ProjectionSpaceTab.js.map +1 -0
  539. package/lib/projection/ui/ProjectionSurface.d.ts +33 -0
  540. package/lib/projection/ui/ProjectionSurface.d.ts.map +1 -0
  541. package/lib/projection/ui/ProjectionSurface.js +35 -0
  542. package/lib/projection/ui/ProjectionSurface.js.map +1 -0
  543. package/lib/projection/ui/ProjectionTabStrip.d.ts +74 -0
  544. package/lib/projection/ui/ProjectionTabStrip.d.ts.map +1 -0
  545. package/lib/projection/ui/ProjectionTabStrip.js +64 -0
  546. package/lib/projection/ui/ProjectionTabStrip.js.map +1 -0
  547. package/lib/projection/ui/ProjectionVariablesControls.d.ts +33 -0
  548. package/lib/projection/ui/ProjectionVariablesControls.d.ts.map +1 -0
  549. package/lib/projection/ui/ProjectionVariablesControls.js +26 -0
  550. package/lib/projection/ui/ProjectionVariablesControls.js.map +1 -0
  551. package/lib/projection/ui/ProjectionVariablesMore.d.ts +33 -0
  552. package/lib/projection/ui/ProjectionVariablesMore.d.ts.map +1 -0
  553. package/lib/projection/ui/ProjectionVariablesMore.js +55 -0
  554. package/lib/projection/ui/ProjectionVariablesMore.js.map +1 -0
  555. package/lib/projection/ui/ProjectionVariablesTab.d.ts +78 -0
  556. package/lib/projection/ui/ProjectionVariablesTab.d.ts.map +1 -0
  557. package/lib/projection/ui/ProjectionVariablesTab.js +93 -0
  558. package/lib/projection/ui/ProjectionVariablesTab.js.map +1 -0
  559. package/lib/projection/ui/ProjectionViewer.d.ts +33 -0
  560. package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -0
  561. package/lib/projection/ui/ProjectionViewer.js +91 -0
  562. package/lib/projection/ui/ProjectionViewer.js.map +1 -0
  563. package/lib/projection/ui/index.d.ts +20 -0
  564. package/lib/projection/ui/index.d.ts.map +1 -0
  565. package/lib/projection/ui/index.js +15 -0
  566. package/lib/projection/ui/index.js.map +1 -0
  567. package/lib/projection/ui/projectionBarModel.d.ts +92 -0
  568. package/lib/projection/ui/projectionBarModel.d.ts.map +1 -0
  569. package/lib/projection/ui/projectionBarModel.js +141 -0
  570. package/lib/projection/ui/projectionBarModel.js.map +1 -0
  571. package/lib/projection/ui/projectionBarReadings.d.ts +65 -0
  572. package/lib/projection/ui/projectionBarReadings.d.ts.map +1 -0
  573. package/lib/projection/ui/projectionBarReadings.js +138 -0
  574. package/lib/projection/ui/projectionBarReadings.js.map +1 -0
  575. package/lib/projection/ui/projectionBarSlots.d.ts +59 -0
  576. package/lib/projection/ui/projectionBarSlots.d.ts.map +1 -0
  577. package/lib/projection/ui/projectionBarSlots.js +98 -0
  578. package/lib/projection/ui/projectionBarSlots.js.map +1 -0
  579. package/lib/projection/ui/projectionBarStyles.d.ts +102 -0
  580. package/lib/projection/ui/projectionBarStyles.d.ts.map +1 -0
  581. package/lib/projection/ui/projectionBarStyles.js +154 -0
  582. package/lib/projection/ui/projectionBarStyles.js.map +1 -0
  583. package/lib/projection/ui/projectionCloudChoices.d.ts +18 -0
  584. package/lib/projection/ui/projectionCloudChoices.d.ts.map +1 -0
  585. package/lib/projection/ui/projectionCloudChoices.js +19 -0
  586. package/lib/projection/ui/projectionCloudChoices.js.map +1 -0
  587. package/lib/projection/ui/projectionEllipse.d.ts +50 -0
  588. package/lib/projection/ui/projectionEllipse.d.ts.map +1 -0
  589. package/lib/projection/ui/projectionEllipse.js +101 -0
  590. package/lib/projection/ui/projectionEllipse.js.map +1 -0
  591. package/lib/projection/ui/projectionEllipsoid.d.ts +38 -0
  592. package/lib/projection/ui/projectionEllipsoid.d.ts.map +1 -0
  593. package/lib/projection/ui/projectionEllipsoid.js +71 -0
  594. package/lib/projection/ui/projectionEllipsoid.js.map +1 -0
  595. package/lib/projection/ui/projectionFormat.d.ts +13 -0
  596. package/lib/projection/ui/projectionFormat.d.ts.map +1 -0
  597. package/lib/projection/ui/projectionFormat.js +19 -0
  598. package/lib/projection/ui/projectionFormat.js.map +1 -0
  599. package/lib/projection/ui/projectionMapChoices.d.ts +31 -0
  600. package/lib/projection/ui/projectionMapChoices.d.ts.map +1 -0
  601. package/lib/projection/ui/projectionMapChoices.js +46 -0
  602. package/lib/projection/ui/projectionMapChoices.js.map +1 -0
  603. package/lib/projection/ui/projectionMapChrome.d.ts +81 -0
  604. package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -0
  605. package/lib/projection/ui/projectionMapChrome.js +139 -0
  606. package/lib/projection/ui/projectionMapChrome.js.map +1 -0
  607. package/lib/projection/ui/projectionMapModel.d.ts +114 -0
  608. package/lib/projection/ui/projectionMapModel.d.ts.map +1 -0
  609. package/lib/projection/ui/projectionMapModel.js +177 -0
  610. package/lib/projection/ui/projectionMapModel.js.map +1 -0
  611. package/lib/projection/ui/projectionMapView.d.ts +72 -0
  612. package/lib/projection/ui/projectionMapView.d.ts.map +1 -0
  613. package/lib/projection/ui/projectionMapView.js +116 -0
  614. package/lib/projection/ui/projectionMapView.js.map +1 -0
  615. package/lib/projection/ui/projectionPairsCeiling.d.ts +29 -0
  616. package/lib/projection/ui/projectionPairsCeiling.d.ts.map +1 -0
  617. package/lib/projection/ui/projectionPairsCeiling.js +29 -0
  618. package/lib/projection/ui/projectionPairsCeiling.js.map +1 -0
  619. package/lib/projection/ui/projectionSelection.d.ts +51 -0
  620. package/lib/projection/ui/projectionSelection.d.ts.map +1 -0
  621. package/lib/projection/ui/projectionSelection.js +66 -0
  622. package/lib/projection/ui/projectionSelection.js.map +1 -0
  623. package/lib/projection/ui/projectionSpaceModel.d.ts +14 -0
  624. package/lib/projection/ui/projectionSpaceModel.d.ts.map +1 -0
  625. package/lib/projection/ui/projectionSpaceModel.js +14 -0
  626. package/lib/projection/ui/projectionSpaceModel.js.map +1 -0
  627. package/lib/projection/ui/projectionTabInfo.d.ts +59 -0
  628. package/lib/projection/ui/projectionTabInfo.d.ts.map +1 -0
  629. package/lib/projection/ui/projectionTabInfo.js +108 -0
  630. package/lib/projection/ui/projectionTabInfo.js.map +1 -0
  631. package/lib/projection/ui/projectionTabModels.d.ts +49 -0
  632. package/lib/projection/ui/projectionTabModels.d.ts.map +1 -0
  633. package/lib/projection/ui/projectionTabModels.js +59 -0
  634. package/lib/projection/ui/projectionTabModels.js.map +1 -0
  635. package/lib/projection/ui/projectionTabStyles.d.ts +131 -0
  636. package/lib/projection/ui/projectionTabStyles.d.ts.map +1 -0
  637. package/lib/projection/ui/projectionTabStyles.js +134 -0
  638. package/lib/projection/ui/projectionTabStyles.js.map +1 -0
  639. package/lib/projection/ui/projectionVariablesModel.d.ts +104 -0
  640. package/lib/projection/ui/projectionVariablesModel.d.ts.map +1 -0
  641. package/lib/projection/ui/projectionVariablesModel.js +165 -0
  642. package/lib/projection/ui/projectionVariablesModel.js.map +1 -0
  643. package/lib/projection/ui/projectionVariablesWords.d.ts +50 -0
  644. package/lib/projection/ui/projectionVariablesWords.d.ts.map +1 -0
  645. package/lib/projection/ui/projectionVariablesWords.js +91 -0
  646. package/lib/projection/ui/projectionVariablesWords.js.map +1 -0
  647. package/lib/projection/ui/projectionViewChoices.d.ts +31 -0
  648. package/lib/projection/ui/projectionViewChoices.d.ts.map +1 -0
  649. package/lib/projection/ui/projectionViewChoices.js +53 -0
  650. package/lib/projection/ui/projectionViewChoices.js.map +1 -0
  651. package/lib/projection/ui/projectionViewerProps.d.ts +187 -0
  652. package/lib/projection/ui/projectionViewerProps.d.ts.map +1 -0
  653. package/lib/projection/ui/projectionViewerProps.js +9 -0
  654. package/lib/projection/ui/projectionViewerProps.js.map +1 -0
  655. package/lib/projection/ui/useProjectionState.d.ts +63 -0
  656. package/lib/projection/ui/useProjectionState.d.ts.map +1 -0
  657. package/lib/projection/ui/useProjectionState.js +107 -0
  658. package/lib/projection/ui/useProjectionState.js.map +1 -0
  659. package/lib/scatter/core/confidenceEllipse.d.ts +117 -0
  660. package/lib/scatter/core/confidenceEllipse.d.ts.map +1 -0
  661. package/lib/scatter/core/confidenceEllipse.js +132 -0
  662. package/lib/scatter/core/confidenceEllipse.js.map +1 -0
  663. package/lib/scatter/core/ellipseCoverage.d.ts +33 -0
  664. package/lib/scatter/core/ellipseCoverage.d.ts.map +1 -0
  665. package/lib/scatter/core/ellipseCoverage.js +46 -0
  666. package/lib/scatter/core/ellipseCoverage.js.map +1 -0
  667. package/lib/scatter/core/ellipseProjection.d.ts +53 -0
  668. package/lib/scatter/core/ellipseProjection.d.ts.map +1 -0
  669. package/lib/scatter/core/ellipseProjection.js +94 -0
  670. package/lib/scatter/core/ellipseProjection.js.map +1 -0
  671. package/lib/scatter/core/index.d.ts +24 -0
  672. package/lib/scatter/core/index.d.ts.map +1 -0
  673. package/lib/scatter/core/index.js +19 -0
  674. package/lib/scatter/core/index.js.map +1 -0
  675. package/lib/scatter/core/lassoPath.d.ts +60 -0
  676. package/lib/scatter/core/lassoPath.d.ts.map +1 -0
  677. package/lib/scatter/core/lassoPath.js +101 -0
  678. package/lib/scatter/core/lassoPath.js.map +1 -0
  679. package/lib/scatter/core/polygon.d.ts +58 -0
  680. package/lib/scatter/core/polygon.d.ts.map +1 -0
  681. package/lib/scatter/core/polygon.js +140 -0
  682. package/lib/scatter/core/polygon.js.map +1 -0
  683. package/lib/scatter/core/scatterSelection.d.ts +44 -0
  684. package/lib/scatter/core/scatterSelection.d.ts.map +1 -0
  685. package/lib/scatter/core/scatterSelection.js +81 -0
  686. package/lib/scatter/core/scatterSelection.js.map +1 -0
  687. package/lib/scatter/core/screenPoints.d.ts +58 -0
  688. package/lib/scatter/core/screenPoints.d.ts.map +1 -0
  689. package/lib/scatter/core/screenPoints.js +78 -0
  690. package/lib/scatter/core/screenPoints.js.map +1 -0
  691. package/lib/scatter/ui/ScatterEllipseLayer.d.ts +69 -0
  692. package/lib/scatter/ui/ScatterEllipseLayer.d.ts.map +1 -0
  693. package/lib/scatter/ui/ScatterEllipseLayer.js +77 -0
  694. package/lib/scatter/ui/ScatterEllipseLayer.js.map +1 -0
  695. package/lib/scatter/ui/ScatterLabelLayer.d.ts +40 -0
  696. package/lib/scatter/ui/ScatterLabelLayer.d.ts.map +1 -0
  697. package/lib/scatter/ui/ScatterLabelLayer.js +77 -0
  698. package/lib/scatter/ui/ScatterLabelLayer.js.map +1 -0
  699. package/lib/scatter/ui/ScatterMarkLayer.d.ts +68 -0
  700. package/lib/scatter/ui/ScatterMarkLayer.d.ts.map +1 -0
  701. package/lib/scatter/ui/ScatterMarkLayer.js +134 -0
  702. package/lib/scatter/ui/ScatterMarkLayer.js.map +1 -0
  703. package/lib/scatter/ui/ScatterMatrix.d.ts +19 -0
  704. package/lib/scatter/ui/ScatterMatrix.d.ts.map +1 -0
  705. package/lib/scatter/ui/ScatterMatrix.js +125 -0
  706. package/lib/scatter/ui/ScatterMatrix.js.map +1 -0
  707. package/lib/scatter/ui/ScatterMatrixCell.d.ts +24 -0
  708. package/lib/scatter/ui/ScatterMatrixCell.d.ts.map +1 -0
  709. package/lib/scatter/ui/ScatterMatrixCell.js +90 -0
  710. package/lib/scatter/ui/ScatterMatrixCell.js.map +1 -0
  711. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts +78 -0
  712. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts.map +1 -0
  713. package/lib/scatter/ui/ScatterMatrixDiagonal.js +83 -0
  714. package/lib/scatter/ui/ScatterMatrixDiagonal.js.map +1 -0
  715. package/lib/scatter/ui/ScatterPlot.d.ts +17 -0
  716. package/lib/scatter/ui/ScatterPlot.d.ts.map +1 -0
  717. package/lib/scatter/ui/ScatterPlot.js +107 -0
  718. package/lib/scatter/ui/ScatterPlot.js.map +1 -0
  719. package/lib/scatter/ui/ScatterPointLayer.d.ts +67 -0
  720. package/lib/scatter/ui/ScatterPointLayer.d.ts.map +1 -0
  721. package/lib/scatter/ui/ScatterPointLayer.js +87 -0
  722. package/lib/scatter/ui/ScatterPointLayer.js.map +1 -0
  723. package/lib/scatter/ui/index.d.ts +53 -0
  724. package/lib/scatter/ui/index.d.ts.map +1 -0
  725. package/lib/scatter/ui/index.js +34 -0
  726. package/lib/scatter/ui/index.js.map +1 -0
  727. package/lib/scatter/ui/lassoGesture.d.ts +197 -0
  728. package/lib/scatter/ui/lassoGesture.d.ts.map +1 -0
  729. package/lib/scatter/ui/lassoGesture.js +103 -0
  730. package/lib/scatter/ui/lassoGesture.js.map +1 -0
  731. package/lib/scatter/ui/scatterGroupSpread.d.ts +81 -0
  732. package/lib/scatter/ui/scatterGroupSpread.d.ts.map +1 -0
  733. package/lib/scatter/ui/scatterGroupSpread.js +147 -0
  734. package/lib/scatter/ui/scatterGroupSpread.js.map +1 -0
  735. package/lib/scatter/ui/scatterLabelBoxes.d.ts +94 -0
  736. package/lib/scatter/ui/scatterLabelBoxes.d.ts.map +1 -0
  737. package/lib/scatter/ui/scatterLabelBoxes.js +140 -0
  738. package/lib/scatter/ui/scatterLabelBoxes.js.map +1 -0
  739. package/lib/scatter/ui/scatterLabelPlacement.d.ts +96 -0
  740. package/lib/scatter/ui/scatterLabelPlacement.d.ts.map +1 -0
  741. package/lib/scatter/ui/scatterLabelPlacement.js +210 -0
  742. package/lib/scatter/ui/scatterLabelPlacement.js.map +1 -0
  743. package/lib/scatter/ui/scatterLabels.d.ts +81 -0
  744. package/lib/scatter/ui/scatterLabels.d.ts.map +1 -0
  745. package/lib/scatter/ui/scatterLabels.js +101 -0
  746. package/lib/scatter/ui/scatterLabels.js.map +1 -0
  747. package/lib/scatter/ui/scatterMarkGlyph.d.ts +37 -0
  748. package/lib/scatter/ui/scatterMarkGlyph.d.ts.map +1 -0
  749. package/lib/scatter/ui/scatterMarkGlyph.js +33 -0
  750. package/lib/scatter/ui/scatterMarkGlyph.js.map +1 -0
  751. package/lib/scatter/ui/scatterMatrixDots.d.ts +24 -0
  752. package/lib/scatter/ui/scatterMatrixDots.d.ts.map +1 -0
  753. package/lib/scatter/ui/scatterMatrixDots.js +84 -0
  754. package/lib/scatter/ui/scatterMatrixDots.js.map +1 -0
  755. package/lib/scatter/ui/scatterMatrixLayout.d.ts +93 -0
  756. package/lib/scatter/ui/scatterMatrixLayout.d.ts.map +1 -0
  757. package/lib/scatter/ui/scatterMatrixLayout.js +117 -0
  758. package/lib/scatter/ui/scatterMatrixLayout.js.map +1 -0
  759. package/lib/scatter/ui/scatterMatrixOutlines.d.ts +27 -0
  760. package/lib/scatter/ui/scatterMatrixOutlines.d.ts.map +1 -0
  761. package/lib/scatter/ui/scatterMatrixOutlines.js +34 -0
  762. package/lib/scatter/ui/scatterMatrixOutlines.js.map +1 -0
  763. package/lib/scatter/ui/scatterMatrixProps.d.ts +99 -0
  764. package/lib/scatter/ui/scatterMatrixProps.d.ts.map +1 -0
  765. package/lib/scatter/ui/scatterMatrixProps.js +10 -0
  766. package/lib/scatter/ui/scatterMatrixProps.js.map +1 -0
  767. package/lib/scatter/ui/scatterOutlineShape.d.ts +63 -0
  768. package/lib/scatter/ui/scatterOutlineShape.d.ts.map +1 -0
  769. package/lib/scatter/ui/scatterOutlineShape.js +82 -0
  770. package/lib/scatter/ui/scatterOutlineShape.js.map +1 -0
  771. package/lib/scatter/ui/scatterPlotModel.d.ts +107 -0
  772. package/lib/scatter/ui/scatterPlotModel.d.ts.map +1 -0
  773. package/lib/scatter/ui/scatterPlotModel.js +139 -0
  774. package/lib/scatter/ui/scatterPlotModel.js.map +1 -0
  775. package/lib/scatter/ui/scatterPlotProps.d.ts +269 -0
  776. package/lib/scatter/ui/scatterPlotProps.d.ts.map +1 -0
  777. package/lib/scatter/ui/scatterPlotProps.js +10 -0
  778. package/lib/scatter/ui/scatterPlotProps.js.map +1 -0
  779. package/lib/scatter/ui/useLassoGesture.d.ts +18 -0
  780. package/lib/scatter/ui/useLassoGesture.d.ts.map +1 -0
  781. package/lib/scatter/ui/useLassoGesture.js +140 -0
  782. package/lib/scatter/ui/useLassoGesture.js.map +1 -0
  783. package/lib/scatter/ui/usePointHover.d.ts +88 -0
  784. package/lib/scatter/ui/usePointHover.d.ts.map +1 -0
  785. package/lib/scatter/ui/usePointHover.js +88 -0
  786. package/lib/scatter/ui/usePointHover.js.map +1 -0
  787. package/lib/scatter/ui/useScatterFrame.d.ts +80 -0
  788. package/lib/scatter/ui/useScatterFrame.d.ts.map +1 -0
  789. package/lib/scatter/ui/useScatterFrame.js +101 -0
  790. package/lib/scatter/ui/useScatterFrame.js.map +1 -0
  791. package/lib/scatter/ui/useScatterInteraction.d.ts +112 -0
  792. package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -0
  793. package/lib/scatter/ui/useScatterInteraction.js +101 -0
  794. package/lib/scatter/ui/useScatterInteraction.js.map +1 -0
  795. package/lib/scatter/ui/useScatterKeyboard.d.ts +60 -0
  796. package/lib/scatter/ui/useScatterKeyboard.d.ts.map +1 -0
  797. package/lib/scatter/ui/useScatterKeyboard.js +56 -0
  798. package/lib/scatter/ui/useScatterKeyboard.js.map +1 -0
  799. package/lib/scatter/ui/useScatterSelection.d.ts +78 -0
  800. package/lib/scatter/ui/useScatterSelection.d.ts.map +1 -0
  801. package/lib/scatter/ui/useScatterSelection.js +72 -0
  802. package/lib/scatter/ui/useScatterSelection.js.map +1 -0
  803. package/lib/scatter3d/core/cloudGesture.d.ts +17 -0
  804. package/lib/scatter3d/core/cloudGesture.d.ts.map +1 -0
  805. package/lib/scatter3d/core/cloudGesture.js +2 -0
  806. package/lib/scatter3d/core/cloudGesture.js.map +1 -0
  807. package/lib/scatter3d/core/confidenceEllipsoid.d.ts +63 -0
  808. package/lib/scatter3d/core/confidenceEllipsoid.d.ts.map +1 -0
  809. package/lib/scatter3d/core/confidenceEllipsoid.js +128 -0
  810. package/lib/scatter3d/core/confidenceEllipsoid.js.map +1 -0
  811. package/lib/scatter3d/core/cubeFrame.d.ts +40 -0
  812. package/lib/scatter3d/core/cubeFrame.d.ts.map +1 -0
  813. package/lib/scatter3d/core/cubeFrame.js +58 -0
  814. package/lib/scatter3d/core/cubeFrame.js.map +1 -0
  815. package/lib/scatter3d/core/cubePoints.d.ts +35 -0
  816. package/lib/scatter3d/core/cubePoints.d.ts.map +1 -0
  817. package/lib/scatter3d/core/cubePoints.js +50 -0
  818. package/lib/scatter3d/core/cubePoints.js.map +1 -0
  819. package/lib/scatter3d/core/ellipsoidCoverage.d.ts +32 -0
  820. package/lib/scatter3d/core/ellipsoidCoverage.d.ts.map +1 -0
  821. package/lib/scatter3d/core/ellipsoidCoverage.js +83 -0
  822. package/lib/scatter3d/core/ellipsoidCoverage.js.map +1 -0
  823. package/lib/scatter3d/core/ellipsoidSilhouette.d.ts +42 -0
  824. package/lib/scatter3d/core/ellipsoidSilhouette.d.ts.map +1 -0
  825. package/lib/scatter3d/core/ellipsoidSilhouette.js +52 -0
  826. package/lib/scatter3d/core/ellipsoidSilhouette.js.map +1 -0
  827. package/lib/scatter3d/core/index.d.ts +29 -0
  828. package/lib/scatter3d/core/index.d.ts.map +1 -0
  829. package/lib/scatter3d/core/index.js +22 -0
  830. package/lib/scatter3d/core/index.js.map +1 -0
  831. package/lib/scatter3d/core/orbitCamera.d.ts +113 -0
  832. package/lib/scatter3d/core/orbitCamera.d.ts.map +1 -0
  833. package/lib/scatter3d/core/orbitCamera.js +104 -0
  834. package/lib/scatter3d/core/orbitCamera.js.map +1 -0
  835. package/lib/scatter3d/core/symmetricEigen.d.ts +47 -0
  836. package/lib/scatter3d/core/symmetricEigen.d.ts.map +1 -0
  837. package/lib/scatter3d/core/symmetricEigen.js +219 -0
  838. package/lib/scatter3d/core/symmetricEigen.js.map +1 -0
  839. package/lib/scatter3d/ui/CloudFrameLayer.d.ts +33 -0
  840. package/lib/scatter3d/ui/CloudFrameLayer.d.ts.map +1 -0
  841. package/lib/scatter3d/ui/CloudFrameLayer.js +37 -0
  842. package/lib/scatter3d/ui/CloudFrameLayer.js.map +1 -0
  843. package/lib/scatter3d/ui/CloudPointLayer.d.ts +62 -0
  844. package/lib/scatter3d/ui/CloudPointLayer.d.ts.map +1 -0
  845. package/lib/scatter3d/ui/CloudPointLayer.js +67 -0
  846. package/lib/scatter3d/ui/CloudPointLayer.js.map +1 -0
  847. package/lib/scatter3d/ui/CloudShellLayer.d.ts +52 -0
  848. package/lib/scatter3d/ui/CloudShellLayer.d.ts.map +1 -0
  849. package/lib/scatter3d/ui/CloudShellLayer.js +40 -0
  850. package/lib/scatter3d/ui/CloudShellLayer.js.map +1 -0
  851. package/lib/scatter3d/ui/ScatterCloud.d.ts +24 -0
  852. package/lib/scatter3d/ui/ScatterCloud.d.ts.map +1 -0
  853. package/lib/scatter3d/ui/ScatterCloud.js +189 -0
  854. package/lib/scatter3d/ui/ScatterCloud.js.map +1 -0
  855. package/lib/scatter3d/ui/cloudGeometry.d.ts +108 -0
  856. package/lib/scatter3d/ui/cloudGeometry.d.ts.map +1 -0
  857. package/lib/scatter3d/ui/cloudGeometry.js +122 -0
  858. package/lib/scatter3d/ui/cloudGeometry.js.map +1 -0
  859. package/lib/scatter3d/ui/cloudShellStyles.d.ts +36 -0
  860. package/lib/scatter3d/ui/cloudShellStyles.d.ts.map +1 -0
  861. package/lib/scatter3d/ui/cloudShellStyles.js +62 -0
  862. package/lib/scatter3d/ui/cloudShellStyles.js.map +1 -0
  863. package/lib/scatter3d/ui/cloudZoom.d.ts +21 -0
  864. package/lib/scatter3d/ui/cloudZoom.d.ts.map +1 -0
  865. package/lib/scatter3d/ui/cloudZoom.js +22 -0
  866. package/lib/scatter3d/ui/cloudZoom.js.map +1 -0
  867. package/lib/scatter3d/ui/index.d.ts +29 -0
  868. package/lib/scatter3d/ui/index.d.ts.map +1 -0
  869. package/lib/scatter3d/ui/index.js +21 -0
  870. package/lib/scatter3d/ui/index.js.map +1 -0
  871. package/lib/scatter3d/ui/scatterCloudModel.d.ts +60 -0
  872. package/lib/scatter3d/ui/scatterCloudModel.d.ts.map +1 -0
  873. package/lib/scatter3d/ui/scatterCloudModel.js +66 -0
  874. package/lib/scatter3d/ui/scatterCloudModel.js.map +1 -0
  875. package/lib/scatter3d/ui/scatterCloudProps.d.ts +185 -0
  876. package/lib/scatter3d/ui/scatterCloudProps.d.ts.map +1 -0
  877. package/lib/scatter3d/ui/scatterCloudProps.js +9 -0
  878. package/lib/scatter3d/ui/scatterCloudProps.js.map +1 -0
  879. package/lib/scatter3d/ui/useOrbitDrag.d.ts +60 -0
  880. package/lib/scatter3d/ui/useOrbitDrag.d.ts.map +1 -0
  881. package/lib/scatter3d/ui/useOrbitDrag.js +129 -0
  882. package/lib/scatter3d/ui/useOrbitDrag.js.map +1 -0
  883. package/lib/share/core/query.d.ts +10 -4
  884. package/lib/share/core/query.d.ts.map +1 -1
  885. package/lib/share/core/query.js +11 -7
  886. package/lib/share/core/query.js.map +1 -1
  887. package/lib/spectra/core/axisEntries.d.ts +50 -0
  888. package/lib/spectra/core/axisEntries.d.ts.map +1 -0
  889. package/lib/spectra/core/axisEntries.js +78 -0
  890. package/lib/spectra/core/axisEntries.js.map +1 -0
  891. package/lib/spectra/core/chainProblems.d.ts +14 -0
  892. package/lib/spectra/core/chainProblems.d.ts.map +1 -0
  893. package/lib/spectra/core/chainProblems.js +100 -0
  894. package/lib/spectra/core/chainProblems.js.map +1 -0
  895. package/lib/spectra/core/filterCatalog.d.ts +57 -0
  896. package/lib/spectra/core/filterCatalog.d.ts.map +1 -0
  897. package/lib/spectra/core/filterCatalog.js +81 -0
  898. package/lib/spectra/core/filterCatalog.js.map +1 -0
  899. package/lib/spectra/core/filterChain.d.ts +69 -0
  900. package/lib/spectra/core/filterChain.d.ts.map +1 -0
  901. package/lib/spectra/core/filterChain.js +163 -0
  902. package/lib/spectra/core/filterChain.js.map +1 -0
  903. package/lib/spectra/core/filterEntries.d.ts +136 -0
  904. package/lib/spectra/core/filterEntries.d.ts.map +1 -0
  905. package/lib/spectra/core/filterEntries.js +139 -0
  906. package/lib/spectra/core/filterEntries.js.map +1 -0
  907. package/lib/spectra/core/filterFields.d.ts +94 -0
  908. package/lib/spectra/core/filterFields.d.ts.map +1 -0
  909. package/lib/spectra/core/filterFields.js +82 -0
  910. package/lib/spectra/core/filterFields.js.map +1 -0
  911. package/lib/spectra/core/index.d.ts +14 -0
  912. package/lib/spectra/core/index.d.ts.map +1 -0
  913. package/lib/spectra/core/index.js +9 -0
  914. package/lib/spectra/core/index.js.map +1 -0
  915. package/lib/spectra/core/principalComponents.d.ts +70 -0
  916. package/lib/spectra/core/principalComponents.d.ts.map +1 -0
  917. package/lib/spectra/core/principalComponents.js +90 -0
  918. package/lib/spectra/core/principalComponents.js.map +1 -0
  919. package/lib/spectra/core/problems.d.ts +57 -0
  920. package/lib/spectra/core/problems.d.ts.map +1 -0
  921. package/lib/spectra/core/problems.js +121 -0
  922. package/lib/spectra/core/problems.js.map +1 -0
  923. package/lib/spectra/core/settings.d.ts +67 -0
  924. package/lib/spectra/core/settings.d.ts.map +1 -0
  925. package/lib/spectra/core/settings.js +35 -0
  926. package/lib/spectra/core/settings.js.map +1 -0
  927. package/lib/spectra/core/settingsProblems.d.ts +18 -0
  928. package/lib/spectra/core/settingsProblems.d.ts.map +1 -0
  929. package/lib/spectra/core/settingsProblems.js +148 -0
  930. package/lib/spectra/core/settingsProblems.js.map +1 -0
  931. package/lib/spectra/core/stepProblems.d.ts +13 -0
  932. package/lib/spectra/core/stepProblems.d.ts.map +1 -0
  933. package/lib/spectra/core/stepProblems.js +133 -0
  934. package/lib/spectra/core/stepProblems.js.map +1 -0
  935. package/lib/spectra/ui/CalculationRows.d.ts +21 -0
  936. package/lib/spectra/ui/CalculationRows.d.ts.map +1 -0
  937. package/lib/spectra/ui/CalculationRows.js +77 -0
  938. package/lib/spectra/ui/CalculationRows.js.map +1 -0
  939. package/lib/spectra/ui/FilterChainEditor.d.ts +34 -0
  940. package/lib/spectra/ui/FilterChainEditor.d.ts.map +1 -0
  941. package/lib/spectra/ui/FilterChainEditor.js +111 -0
  942. package/lib/spectra/ui/FilterChainEditor.js.map +1 -0
  943. package/lib/spectra/ui/FilterChoiceControl.d.ts +23 -0
  944. package/lib/spectra/ui/FilterChoiceControl.d.ts.map +1 -0
  945. package/lib/spectra/ui/FilterChoiceControl.js +65 -0
  946. package/lib/spectra/ui/FilterChoiceControl.js.map +1 -0
  947. package/lib/spectra/ui/FilterFieldControl.d.ts +25 -0
  948. package/lib/spectra/ui/FilterFieldControl.d.ts.map +1 -0
  949. package/lib/spectra/ui/FilterFieldControl.js +68 -0
  950. package/lib/spectra/ui/FilterFieldControl.js.map +1 -0
  951. package/lib/spectra/ui/FilterRow.d.ts +33 -0
  952. package/lib/spectra/ui/FilterRow.d.ts.map +1 -0
  953. package/lib/spectra/ui/FilterRow.js +76 -0
  954. package/lib/spectra/ui/FilterRow.js.map +1 -0
  955. package/lib/spectra/ui/MatrixFilterRows.d.ts +22 -0
  956. package/lib/spectra/ui/MatrixFilterRows.d.ts.map +1 -0
  957. package/lib/spectra/ui/MatrixFilterRows.js +92 -0
  958. package/lib/spectra/ui/MatrixFilterRows.js.map +1 -0
  959. package/lib/spectra/ui/NormalizationEditor.d.ts +24 -0
  960. package/lib/spectra/ui/NormalizationEditor.d.ts.map +1 -0
  961. package/lib/spectra/ui/NormalizationEditor.js +108 -0
  962. package/lib/spectra/ui/NormalizationEditor.js.map +1 -0
  963. package/lib/spectra/ui/NumberField.d.ts +41 -0
  964. package/lib/spectra/ui/NumberField.d.ts.map +1 -0
  965. package/lib/spectra/ui/NumberField.js +81 -0
  966. package/lib/spectra/ui/NumberField.js.map +1 -0
  967. package/lib/spectra/ui/PostProcessingEditor.d.ts +29 -0
  968. package/lib/spectra/ui/PostProcessingEditor.d.ts.map +1 -0
  969. package/lib/spectra/ui/PostProcessingEditor.js +53 -0
  970. package/lib/spectra/ui/PostProcessingEditor.js.map +1 -0
  971. package/lib/spectra/ui/PrincipalComponentSelect.d.ts +40 -0
  972. package/lib/spectra/ui/PrincipalComponentSelect.d.ts.map +1 -0
  973. package/lib/spectra/ui/PrincipalComponentSelect.js +97 -0
  974. package/lib/spectra/ui/PrincipalComponentSelect.js.map +1 -0
  975. package/lib/spectra/ui/ProblemList.d.ts +24 -0
  976. package/lib/spectra/ui/ProblemList.d.ts.map +1 -0
  977. package/lib/spectra/ui/ProblemList.js +40 -0
  978. package/lib/spectra/ui/ProblemList.js.map +1 -0
  979. package/lib/spectra/ui/RangeRows.d.ts +23 -0
  980. package/lib/spectra/ui/RangeRows.d.ts.map +1 -0
  981. package/lib/spectra/ui/RangeRows.js +76 -0
  982. package/lib/spectra/ui/RangeRows.js.map +1 -0
  983. package/lib/spectra/ui/ScaleFields.d.ts +28 -0
  984. package/lib/spectra/ui/ScaleFields.d.ts.map +1 -0
  985. package/lib/spectra/ui/ScaleFields.js +67 -0
  986. package/lib/spectra/ui/ScaleFields.js.map +1 -0
  987. package/lib/spectra/ui/SettingsPart.d.ts +25 -0
  988. package/lib/spectra/ui/SettingsPart.d.ts.map +1 -0
  989. package/lib/spectra/ui/SettingsPart.js +35 -0
  990. package/lib/spectra/ui/SettingsPart.js.map +1 -0
  991. package/lib/spectra/ui/SpectraSettingsEditor.d.ts +62 -0
  992. package/lib/spectra/ui/SpectraSettingsEditor.d.ts.map +1 -0
  993. package/lib/spectra/ui/SpectraSettingsEditor.js +39 -0
  994. package/lib/spectra/ui/SpectraSettingsEditor.js.map +1 -0
  995. package/lib/spectra/ui/SpectrumSelection.d.ts +30 -0
  996. package/lib/spectra/ui/SpectrumSelection.d.ts.map +1 -0
  997. package/lib/spectra/ui/SpectrumSelection.js +116 -0
  998. package/lib/spectra/ui/SpectrumSelection.js.map +1 -0
  999. package/lib/spectra/ui/ZoneRows.d.ts +41 -0
  1000. package/lib/spectra/ui/ZoneRows.d.ts.map +1 -0
  1001. package/lib/spectra/ui/ZoneRows.js +70 -0
  1002. package/lib/spectra/ui/ZoneRows.js.map +1 -0
  1003. package/lib/spectra/ui/index.d.ts +7 -0
  1004. package/lib/spectra/ui/index.d.ts.map +1 -0
  1005. package/lib/spectra/ui/index.js +4 -0
  1006. package/lib/spectra/ui/index.js.map +1 -0
  1007. package/lib/spectra/ui/matrixSteps.d.ts +61 -0
  1008. package/lib/spectra/ui/matrixSteps.d.ts.map +1 -0
  1009. package/lib/spectra/ui/matrixSteps.js +92 -0
  1010. package/lib/spectra/ui/matrixSteps.js.map +1 -0
  1011. package/lib/spectra/ui/problemsAbout.d.ts +14 -0
  1012. package/lib/spectra/ui/problemsAbout.d.ts.map +1 -0
  1013. package/lib/spectra/ui/problemsAbout.js +15 -0
  1014. package/lib/spectra/ui/problemsAbout.js.map +1 -0
  1015. package/lib/spectra/ui/rowKeys.d.ts +27 -0
  1016. package/lib/spectra/ui/rowKeys.d.ts.map +1 -0
  1017. package/lib/spectra/ui/rowKeys.js +45 -0
  1018. package/lib/spectra/ui/rowKeys.js.map +1 -0
  1019. package/lib/spectra/ui/scaleOptions.d.ts +50 -0
  1020. package/lib/spectra/ui/scaleOptions.d.ts.map +1 -0
  1021. package/lib/spectra/ui/scaleOptions.js +103 -0
  1022. package/lib/spectra/ui/scaleOptions.js.map +1 -0
  1023. package/lib/ui.d.ts +7 -0
  1024. package/lib/ui.d.ts.map +1 -1
  1025. package/lib/ui.js +7 -0
  1026. package/lib/ui.js.map +1 -1
  1027. package/package.json +17 -1
  1028. package/src/chart/core/chartAxisScale.ts +249 -0
  1029. package/src/chart/core/chartBand.ts +82 -0
  1030. package/src/chart/core/chartBins.ts +96 -0
  1031. package/src/chart/core/chartExtent.ts +203 -0
  1032. package/src/chart/core/chartLabels.ts +68 -0
  1033. package/src/chart/core/chartPalette.ts +71 -0
  1034. package/src/chart/core/chartScale.ts +72 -0
  1035. package/src/chart/core/chartViewport.ts +211 -0
  1036. package/src/chart/core/index.ts +58 -0
  1037. package/src/chart/core/matrix.ts +100 -0
  1038. package/src/chart/ui/ChartAxis.tsx +232 -0
  1039. package/src/chart/ui/ChartFrame.tsx +246 -0
  1040. package/src/chart/ui/ChartSeriesMarks.tsx +98 -0
  1041. package/src/chart/ui/ChartTrackingLayer.tsx +192 -0
  1042. package/src/chart/ui/TrackedLineChart.tsx +267 -0
  1043. package/src/chart/ui/TrackedStickChart.tsx +197 -0
  1044. package/src/chart/ui/chartStyles.ts +194 -0
  1045. package/src/chart/ui/index.ts +34 -0
  1046. package/src/chart/ui/stickChartModel.ts +201 -0
  1047. package/src/chart/ui/useWheelZoom.ts +177 -0
  1048. package/src/chrome/ui/NavLink.tsx +5 -3
  1049. package/src/chrome/ui/SiteFooter.tsx +16 -1
  1050. package/src/chrome/ui/SiteHeader.tsx +19 -1
  1051. package/src/chrome/ui/navItem.ts +12 -0
  1052. package/src/color/core/gradient.ts +29 -0
  1053. package/src/color/core/hsv.ts +112 -0
  1054. package/src/color/core/index.ts +27 -1
  1055. package/src/color/core/interpolate.ts +179 -0
  1056. package/src/color/core/scale.ts +17 -49
  1057. package/src/color/core/scaleData.ts +128 -0
  1058. package/src/color/core/scaleText.ts +134 -0
  1059. package/src/color/core/scales.ts +148 -0
  1060. package/src/color/ui/ColorScaleBar.tsx +73 -0
  1061. package/src/color/ui/ColorScaleEditor.tsx +243 -0
  1062. package/src/color/ui/ColorScaleSelect.tsx +252 -0
  1063. package/src/color/ui/index.ts +6 -0
  1064. package/src/core.ts +6 -0
  1065. package/src/credits/core/credits.ts +20 -0
  1066. package/src/download/core/cssTokens.ts +90 -0
  1067. package/src/download/core/downloadFigure.ts +66 -0
  1068. package/src/download/core/figureLegend.ts +167 -0
  1069. package/src/download/core/figurePng.ts +87 -0
  1070. package/src/download/core/figureScale.ts +83 -0
  1071. package/src/download/core/figureSvg.ts +210 -0
  1072. package/src/download/core/figureSvgDocument.ts +139 -0
  1073. package/src/download/core/figureTarget.ts +151 -0
  1074. package/src/download/core/index.ts +36 -0
  1075. package/src/download/ui/FigureDownload.tsx +158 -0
  1076. package/src/download/ui/FigureDownloadPanel.tsx +165 -0
  1077. package/src/download/ui/index.ts +13 -0
  1078. package/src/ecosystem/core/sites.ts +26 -1
  1079. package/src/ecosystem/ui/glyphs.tsx +42 -0
  1080. package/src/overlay/core/emptiestCorner.ts +122 -0
  1081. package/src/overlay/core/index.ts +34 -0
  1082. package/src/overlay/core/overlayCollapse.ts +20 -0
  1083. package/src/overlay/core/overlayMarks.ts +43 -0
  1084. package/src/overlay/core/overlayMetrics.ts +112 -0
  1085. package/src/overlay/core/overlayPlacement.ts +80 -0
  1086. package/src/overlay/core/overlayTierRoom.ts +199 -0
  1087. package/src/overlay/core/overlayTiers.ts +130 -0
  1088. package/src/overlay/core/placeOverlayCard.ts +93 -0
  1089. package/src/overlay/ui/OverlayAction.tsx +66 -0
  1090. package/src/overlay/ui/OverlayBar.tsx +188 -0
  1091. package/src/overlay/ui/OverlayBarButton.tsx +83 -0
  1092. package/src/overlay/ui/OverlayBarCard.tsx +78 -0
  1093. package/src/overlay/ui/OverlayBarStrip.tsx +62 -0
  1094. package/src/overlay/ui/OverlayCaption.tsx +124 -0
  1095. package/src/overlay/ui/OverlayChip.tsx +181 -0
  1096. package/src/overlay/ui/OverlayDivider.tsx +24 -0
  1097. package/src/overlay/ui/OverlayGroup.tsx +157 -0
  1098. package/src/overlay/ui/OverlayIconButton.tsx +131 -0
  1099. package/src/overlay/ui/OverlayInfo.tsx +92 -0
  1100. package/src/overlay/ui/OverlayLayer.tsx +118 -0
  1101. package/src/overlay/ui/OverlayLegend.tsx +228 -0
  1102. package/src/overlay/ui/OverlayLegendMark.tsx +95 -0
  1103. package/src/overlay/ui/OverlayNumber.tsx +160 -0
  1104. package/src/overlay/ui/OverlayPanel.tsx +162 -0
  1105. package/src/overlay/ui/OverlayPills.tsx +157 -0
  1106. package/src/overlay/ui/OverlayReadout.tsx +247 -0
  1107. package/src/overlay/ui/OverlayRow.tsx +200 -0
  1108. package/src/overlay/ui/OverlaySegmented.tsx +67 -0
  1109. package/src/overlay/ui/OverlaySelect.tsx +114 -0
  1110. package/src/overlay/ui/OverlaySwatchIcon.tsx +126 -0
  1111. package/src/overlay/ui/OverlayToggle.tsx +136 -0
  1112. package/src/overlay/ui/OverlayValueButton.tsx +149 -0
  1113. package/src/overlay/ui/OverlayValueMenu.tsx +141 -0
  1114. package/src/overlay/ui/index.ts +72 -0
  1115. package/src/overlay/ui/overlayBarShape.ts +113 -0
  1116. package/src/overlay/ui/overlayControlStyles.ts +176 -0
  1117. package/src/overlay/ui/overlayFigureStyles.ts +111 -0
  1118. package/src/overlay/ui/overlayPanelContext.ts +42 -0
  1119. package/src/overlay/ui/overlayPanelStyles.ts +235 -0
  1120. package/src/overlay/ui/overlayPillKeys.ts +45 -0
  1121. package/src/overlay/ui/overlayPillStyles.ts +190 -0
  1122. package/src/overlay/ui/overlayRowStyles.ts +166 -0
  1123. package/src/overlay/ui/overlayStepperStyles.ts +112 -0
  1124. package/src/overlay/ui/overlayStyles.ts +222 -0
  1125. package/src/overlay/ui/overlaySurface.ts +120 -0
  1126. package/src/overlay/ui/overlaySwitchStyles.ts +136 -0
  1127. package/src/overlay/ui/overlayValueStyles.ts +210 -0
  1128. package/src/projection/core/embeddingResult.ts +119 -0
  1129. package/src/projection/core/explainedShares.ts +105 -0
  1130. package/src/projection/core/index.ts +81 -0
  1131. package/src/projection/core/loadingProfiles.ts +226 -0
  1132. package/src/projection/core/pcaLike.ts +33 -0
  1133. package/src/projection/core/pcaResult.ts +238 -0
  1134. package/src/projection/core/projectionCopy.ts +261 -0
  1135. package/src/projection/core/projectionCopyPatch.ts +12 -0
  1136. package/src/projection/core/projectionOptions.ts +283 -0
  1137. package/src/projection/core/projectionResult.ts +123 -0
  1138. package/src/projection/core/projectionSamples.ts +170 -0
  1139. package/src/projection/core/projectionStrings.ts +281 -0
  1140. package/src/projection/core/projectionTabDefaults.ts +63 -0
  1141. package/src/projection/core/projectionTabs.ts +65 -0
  1142. package/src/projection/core/variableAxis.ts +161 -0
  1143. package/src/projection/core/variablesView.ts +53 -0
  1144. package/src/projection/ui/PcaViewer.tsx +80 -0
  1145. package/src/projection/ui/ProjectionBar.tsx +222 -0
  1146. package/src/projection/ui/ProjectionMapCaption.tsx +96 -0
  1147. package/src/projection/ui/ProjectionMapControls.tsx +271 -0
  1148. package/src/projection/ui/ProjectionMapLegend.tsx +70 -0
  1149. package/src/projection/ui/ProjectionMapMore.tsx +178 -0
  1150. package/src/projection/ui/ProjectionMapTab.tsx +213 -0
  1151. package/src/projection/ui/ProjectionPairsControls.tsx +58 -0
  1152. package/src/projection/ui/ProjectionPairsMore.tsx +95 -0
  1153. package/src/projection/ui/ProjectionPairsTab.tsx +159 -0
  1154. package/src/projection/ui/ProjectionPanel.tsx +262 -0
  1155. package/src/projection/ui/ProjectionReadout.tsx +159 -0
  1156. package/src/projection/ui/ProjectionSharesControls.tsx +56 -0
  1157. package/src/projection/ui/ProjectionSharesMarks.tsx +241 -0
  1158. package/src/projection/ui/ProjectionSharesMore.tsx +53 -0
  1159. package/src/projection/ui/ProjectionSharesTab.tsx +118 -0
  1160. package/src/projection/ui/ProjectionSpaceControls.tsx +219 -0
  1161. package/src/projection/ui/ProjectionSpaceMore.tsx +169 -0
  1162. package/src/projection/ui/ProjectionSpaceTab.tsx +217 -0
  1163. package/src/projection/ui/ProjectionSurface.tsx +63 -0
  1164. package/src/projection/ui/ProjectionTabStrip.tsx +144 -0
  1165. package/src/projection/ui/ProjectionVariablesControls.tsx +62 -0
  1166. package/src/projection/ui/ProjectionVariablesMore.tsx +144 -0
  1167. package/src/projection/ui/ProjectionVariablesTab.tsx +216 -0
  1168. package/src/projection/ui/ProjectionViewer.tsx +146 -0
  1169. package/src/projection/ui/index.ts +20 -0
  1170. package/src/projection/ui/projectionBarModel.ts +194 -0
  1171. package/src/projection/ui/projectionBarReadings.ts +195 -0
  1172. package/src/projection/ui/projectionBarSlots.tsx +158 -0
  1173. package/src/projection/ui/projectionBarStyles.ts +174 -0
  1174. package/src/projection/ui/projectionCloudChoices.ts +23 -0
  1175. package/src/projection/ui/projectionEllipse.ts +104 -0
  1176. package/src/projection/ui/projectionEllipsoid.ts +78 -0
  1177. package/src/projection/ui/projectionFormat.ts +18 -0
  1178. package/src/projection/ui/projectionMapChoices.ts +64 -0
  1179. package/src/projection/ui/projectionMapChrome.ts +228 -0
  1180. package/src/projection/ui/projectionMapModel.ts +253 -0
  1181. package/src/projection/ui/projectionMapView.ts +233 -0
  1182. package/src/projection/ui/projectionPairsCeiling.ts +45 -0
  1183. package/src/projection/ui/projectionSelection.ts +87 -0
  1184. package/src/projection/ui/projectionSpaceModel.ts +14 -0
  1185. package/src/projection/ui/projectionTabInfo.ts +126 -0
  1186. package/src/projection/ui/projectionTabModels.ts +106 -0
  1187. package/src/projection/ui/projectionTabStyles.ts +161 -0
  1188. package/src/projection/ui/projectionVariablesModel.ts +231 -0
  1189. package/src/projection/ui/projectionVariablesWords.ts +105 -0
  1190. package/src/projection/ui/projectionViewChoices.ts +77 -0
  1191. package/src/projection/ui/projectionViewerProps.ts +190 -0
  1192. package/src/projection/ui/useProjectionState.ts +224 -0
  1193. package/src/scatter/core/confidenceEllipse.ts +230 -0
  1194. package/src/scatter/core/ellipseCoverage.ts +46 -0
  1195. package/src/scatter/core/ellipseProjection.ts +126 -0
  1196. package/src/scatter/core/index.ts +48 -0
  1197. package/src/scatter/core/lassoPath.ts +127 -0
  1198. package/src/scatter/core/polygon.ts +155 -0
  1199. package/src/scatter/core/scatterSelection.ts +88 -0
  1200. package/src/scatter/core/screenPoints.ts +110 -0
  1201. package/src/scatter/ui/ScatterEllipseLayer.tsx +153 -0
  1202. package/src/scatter/ui/ScatterLabelLayer.tsx +135 -0
  1203. package/src/scatter/ui/ScatterMarkLayer.tsx +245 -0
  1204. package/src/scatter/ui/ScatterMatrix.tsx +177 -0
  1205. package/src/scatter/ui/ScatterMatrixCell.tsx +140 -0
  1206. package/src/scatter/ui/ScatterMatrixDiagonal.tsx +182 -0
  1207. package/src/scatter/ui/ScatterPlot.tsx +253 -0
  1208. package/src/scatter/ui/ScatterPointLayer.tsx +168 -0
  1209. package/src/scatter/ui/index.ts +123 -0
  1210. package/src/scatter/ui/lassoGesture.ts +250 -0
  1211. package/src/scatter/ui/scatterGroupSpread.ts +206 -0
  1212. package/src/scatter/ui/scatterLabelBoxes.ts +177 -0
  1213. package/src/scatter/ui/scatterLabelPlacement.ts +325 -0
  1214. package/src/scatter/ui/scatterLabels.ts +147 -0
  1215. package/src/scatter/ui/scatterMarkGlyph.tsx +94 -0
  1216. package/src/scatter/ui/scatterMatrixDots.tsx +134 -0
  1217. package/src/scatter/ui/scatterMatrixLayout.ts +133 -0
  1218. package/src/scatter/ui/scatterMatrixOutlines.tsx +53 -0
  1219. package/src/scatter/ui/scatterMatrixProps.ts +103 -0
  1220. package/src/scatter/ui/scatterOutlineShape.tsx +169 -0
  1221. package/src/scatter/ui/scatterPlotModel.ts +200 -0
  1222. package/src/scatter/ui/scatterPlotProps.ts +275 -0
  1223. package/src/scatter/ui/useLassoGesture.ts +214 -0
  1224. package/src/scatter/ui/usePointHover.ts +187 -0
  1225. package/src/scatter/ui/useScatterFrame.ts +191 -0
  1226. package/src/scatter/ui/useScatterInteraction.ts +258 -0
  1227. package/src/scatter/ui/useScatterKeyboard.ts +120 -0
  1228. package/src/scatter/ui/useScatterSelection.ts +189 -0
  1229. package/src/scatter3d/core/cloudGesture.ts +16 -0
  1230. package/src/scatter3d/core/confidenceEllipsoid.ts +177 -0
  1231. package/src/scatter3d/core/cubeFrame.ts +72 -0
  1232. package/src/scatter3d/core/cubePoints.ts +75 -0
  1233. package/src/scatter3d/core/ellipsoidCoverage.ts +86 -0
  1234. package/src/scatter3d/core/ellipsoidSilhouette.ts +76 -0
  1235. package/src/scatter3d/core/index.ts +52 -0
  1236. package/src/scatter3d/core/orbitCamera.ts +159 -0
  1237. package/src/scatter3d/core/symmetricEigen.ts +273 -0
  1238. package/src/scatter3d/ui/CloudFrameLayer.tsx +97 -0
  1239. package/src/scatter3d/ui/CloudPointLayer.tsx +132 -0
  1240. package/src/scatter3d/ui/CloudShellLayer.tsx +107 -0
  1241. package/src/scatter3d/ui/ScatterCloud.tsx +312 -0
  1242. package/src/scatter3d/ui/cloudGeometry.ts +200 -0
  1243. package/src/scatter3d/ui/cloudShellStyles.ts +74 -0
  1244. package/src/scatter3d/ui/cloudZoom.ts +22 -0
  1245. package/src/scatter3d/ui/index.ts +41 -0
  1246. package/src/scatter3d/ui/scatterCloudModel.ts +98 -0
  1247. package/src/scatter3d/ui/scatterCloudProps.ts +191 -0
  1248. package/src/scatter3d/ui/useOrbitDrag.ts +220 -0
  1249. package/src/share/core/query.ts +11 -7
  1250. package/src/spectra/core/axisEntries.ts +107 -0
  1251. package/src/spectra/core/chainProblems.ts +165 -0
  1252. package/src/spectra/core/filterCatalog.ts +100 -0
  1253. package/src/spectra/core/filterChain.ts +194 -0
  1254. package/src/spectra/core/filterEntries.ts +214 -0
  1255. package/src/spectra/core/filterFields.ts +159 -0
  1256. package/src/spectra/core/index.ts +67 -0
  1257. package/src/spectra/core/principalComponents.ts +130 -0
  1258. package/src/spectra/core/problems.ts +143 -0
  1259. package/src/spectra/core/settings.ts +119 -0
  1260. package/src/spectra/core/settingsProblems.ts +222 -0
  1261. package/src/spectra/core/stepProblems.ts +228 -0
  1262. package/src/spectra/ui/CalculationRows.tsx +161 -0
  1263. package/src/spectra/ui/FilterChainEditor.tsx +199 -0
  1264. package/src/spectra/ui/FilterChoiceControl.tsx +153 -0
  1265. package/src/spectra/ui/FilterFieldControl.tsx +105 -0
  1266. package/src/spectra/ui/FilterRow.tsx +190 -0
  1267. package/src/spectra/ui/MatrixFilterRows.tsx +184 -0
  1268. package/src/spectra/ui/NormalizationEditor.tsx +235 -0
  1269. package/src/spectra/ui/NumberField.tsx +126 -0
  1270. package/src/spectra/ui/PostProcessingEditor.tsx +136 -0
  1271. package/src/spectra/ui/PrincipalComponentSelect.tsx +245 -0
  1272. package/src/spectra/ui/ProblemList.tsx +77 -0
  1273. package/src/spectra/ui/RangeRows.tsx +175 -0
  1274. package/src/spectra/ui/ScaleFields.tsx +183 -0
  1275. package/src/spectra/ui/SettingsPart.tsx +60 -0
  1276. package/src/spectra/ui/SpectraSettingsEditor.tsx +143 -0
  1277. package/src/spectra/ui/SpectrumSelection.tsx +193 -0
  1278. package/src/spectra/ui/ZoneRows.tsx +159 -0
  1279. package/src/spectra/ui/index.ts +9 -0
  1280. package/src/spectra/ui/matrixSteps.ts +128 -0
  1281. package/src/spectra/ui/problemsAbout.ts +21 -0
  1282. package/src/spectra/ui/rowKeys.ts +47 -0
  1283. package/src/spectra/ui/scaleOptions.ts +116 -0
  1284. package/src/ui.ts +7 -0
  1285. package/styles/chrome.css +29 -4
@@ -0,0 +1,80 @@
1
+ import type { RefObject } from 'react';
2
+ import type { ChartViewport } from '../../chart/core/chartViewport.ts';
3
+ import type { ChartAxisSpec } from '../../chart/ui/ChartFrame.tsx';
4
+ import type { ScatterPlotView } from './scatterPlotModel.ts';
5
+ /** What {@link useScatterFrame} needs. */
6
+ export interface ScatterFrameOptions {
7
+ /** Horizontal coordinate of every point, in data units. */
8
+ x: ArrayLike<number>;
9
+ /** Vertical coordinate, in the same order. */
10
+ y: ArrayLike<number>;
11
+ /** Total width of the figure, in pixels. */
12
+ width: number;
13
+ /** Total height. */
14
+ height: number;
15
+ /** The horizontal axis, covering everything there is to show. */
16
+ xAxis: ChartAxisSpec;
17
+ /** The vertical axis. */
18
+ yAxis: ChartAxisSpec;
19
+ /**
20
+ * The frame showing, when the caller owns it; `null` shows the whole of both
21
+ * axes. Present, it wins on every render, the same way `selected` does.
22
+ * @default undefined — the hook keeps the frame itself
23
+ */
24
+ viewport?: ChartViewport | null;
25
+ /**
26
+ * Called with the frame a gesture asks for, and with `null` when it has
27
+ * reached back out to the whole of the data.
28
+ * @default undefined
29
+ */
30
+ onViewportChange?: (viewport: ChartViewport | null) => void;
31
+ /**
32
+ * Whether the wheel zooms, once the pointer has rested over the plot.
33
+ * @default false
34
+ */
35
+ wheelZoom?: boolean;
36
+ /**
37
+ * How long it has to rest first, in milliseconds.
38
+ * @default CHART_WHEEL_DWELL
39
+ */
40
+ wheelZoomDelay?: number;
41
+ }
42
+ /** Where a scatter's data lands, and the frame it landed in. */
43
+ export interface ScatterFrame extends ScatterPlotView {
44
+ /** The horizontal axis as it should be drawn, zoom included. */
45
+ xAxis: ChartAxisSpec;
46
+ /** The vertical one. */
47
+ yAxis: ChartAxisSpec;
48
+ /** The frame showing, or `null` when the whole of both axes is. */
49
+ viewport: ChartViewport | null;
50
+ /**
51
+ * One entry per point, a zero for a point outside the frame, or `undefined`
52
+ * when every point is inside it — which is what an unzoomed plot hands the
53
+ * hit tests, so that the common case allocates nothing.
54
+ */
55
+ inside: Uint8Array | undefined;
56
+ /** Goes on the surface the gestures land on, which is what the wheel is caught over. */
57
+ ref: RefObject<SVGRectElement | null>;
58
+ /** Put the frame back around everything — what a double click does. */
59
+ reset: () => void;
60
+ }
61
+ /**
62
+ * The rectangle a scatter draws in, the mapping into it, and the zoom that
63
+ * chose it.
64
+ *
65
+ * A zoom is a domain and never a transform: the frame is handed a narrower
66
+ * range and the points, the outlines, the ticks and the hit tests are computed
67
+ * from it exactly as they are computed unzoomed. Nothing downstream is told a
68
+ * zoom happened, and nothing has to be.
69
+ *
70
+ * Two details are what make it feel right rather than merely work. The niced
71
+ * domain is what a zoom starts from and returns to, so a wheel turned back out
72
+ * lands on the chart the reader began with rather than a frame three percent
73
+ * inside it. And a zoomed axis stops being niced: rounding a frame outward to
74
+ * whole ticks would move the value the pointer is anchored on, and the reader
75
+ * would feel the picture slip away from where they aimed it.
76
+ * @param options - See {@link ScatterFrameOptions}.
77
+ * @returns The frame. See {@link ScatterFrame}.
78
+ */
79
+ export declare function useScatterFrame(options: ScatterFrameOptions): ScatterFrame;
80
+ //# sourceMappingURL=useScatterFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterFrame.d.ts","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterFrame.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACrB,8CAA8C;IAC9C,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACrB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,aAAa,CAAC;IACrB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,gEAAgE;IAChE,KAAK,EAAE,aAAa,CAAC;IACrB,wBAAwB;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,wFAAwF;IACxF,GAAG,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACtC,uEAAuE;IACvE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA8E1E"}
@@ -0,0 +1,101 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { chartAxisScale } from "../../chart/core/chartAxisScale.js";
3
+ import { chartZoomViewport } from "../../chart/core/chartViewport.js";
4
+ import { useWheelZoom } from "../../chart/ui/useWheelZoom.js";
5
+ import { pointsWithinBounds } from "../core/screenPoints.js";
6
+ import { scatterPlotGeometry } from "./scatterPlotModel.js";
7
+ /**
8
+ * The rectangle a scatter draws in, the mapping into it, and the zoom that
9
+ * chose it.
10
+ *
11
+ * A zoom is a domain and never a transform: the frame is handed a narrower
12
+ * range and the points, the outlines, the ticks and the hit tests are computed
13
+ * from it exactly as they are computed unzoomed. Nothing downstream is told a
14
+ * zoom happened, and nothing has to be.
15
+ *
16
+ * Two details are what make it feel right rather than merely work. The niced
17
+ * domain is what a zoom starts from and returns to, so a wheel turned back out
18
+ * lands on the chart the reader began with rather than a frame three percent
19
+ * inside it. And a zoomed axis stops being niced: rounding a frame outward to
20
+ * whole ticks would move the value the pointer is anchored on, and the reader
21
+ * would feel the picture slip away from where they aimed it.
22
+ * @param options - See {@link ScatterFrameOptions}.
23
+ * @returns The frame. See {@link ScatterFrame}.
24
+ */
25
+ export function useScatterFrame(options) {
26
+ const { x, y, width, height, xAxis, yAxis } = options;
27
+ const { viewport, onViewportChange, wheelZoom = false } = options;
28
+ const { wheelZoomDelay } = options;
29
+ const [own, setOwn] = useState(null);
30
+ const shown = viewport === undefined ? own : viewport;
31
+ const full = useMemo(() => ({ x: nicedDomain(xAxis), y: nicedDomain(yAxis) }), [xAxis, yAxis]);
32
+ const axes = useMemo(() => shown === null
33
+ ? { x: xAxis, y: yAxis }
34
+ : {
35
+ x: { ...xAxis, domain: shown.x, nice: false },
36
+ y: { ...yAxis, domain: shown.y, nice: false },
37
+ }, [shown, xAxis, yAxis]);
38
+ const view = useMemo(() => scatterPlotGeometry(x, y, width, height, axes.x, axes.y), [x, y, width, height, axes]);
39
+ const change = useCallback((next) => {
40
+ if (viewport === undefined)
41
+ setOwn(next);
42
+ onViewportChange?.(next);
43
+ }, [onViewportChange, viewport]);
44
+ const reset = useCallback(() => {
45
+ if (shown !== null)
46
+ change(null);
47
+ }, [change, shown]);
48
+ const zoom = useWheelZoom({
49
+ enabled: wheelZoom,
50
+ delay: wheelZoomDelay,
51
+ onZoom: (alongX, alongY, factor) => {
52
+ const frame = shown ?? full;
53
+ change(chartZoomViewport(full, shown, along(frame.x, alongX),
54
+ // The vertical axis grows upward while the pointer's share grows
55
+ // downward, so the share is read from the top of the frame.
56
+ along(frame.y, 1 - alongY), factor));
57
+ },
58
+ });
59
+ const inside = useMemo(() => {
60
+ if (shown === null)
61
+ return undefined;
62
+ const { points, rect } = view;
63
+ return pointsWithinBounds(points, {
64
+ minX: rect.x,
65
+ minY: rect.y,
66
+ maxX: rect.x + rect.width,
67
+ maxY: rect.y + rect.height,
68
+ });
69
+ }, [shown, view]);
70
+ return {
71
+ ...view,
72
+ xAxis: axes.x,
73
+ yAxis: axes.y,
74
+ viewport: shown,
75
+ inside,
76
+ ref: zoom.ref,
77
+ reset,
78
+ };
79
+ }
80
+ /**
81
+ * The range an axis actually covers once it has been niced, which is the range
82
+ * a zoom has to measure itself against.
83
+ * @param axis - The axis as the caller asked for it.
84
+ * @returns The domain the frame will draw.
85
+ */
86
+ function nicedDomain(axis) {
87
+ return chartAxisScale(axis.domain[0], axis.domain[1], {
88
+ count: axis.tickCount,
89
+ nice: axis.nice,
90
+ }).domain;
91
+ }
92
+ /**
93
+ * The value a share of the way along a range stands for.
94
+ * @param domain - The range.
95
+ * @param share - How far along, from 0 to 1.
96
+ * @returns The value.
97
+ */
98
+ function along(domain, share) {
99
+ return domain[0] + share * (domain[1] - domain[0]);
100
+ }
101
+ //# sourceMappingURL=useScatterFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterFrame.js","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterFrame.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import type { ScatterSelectionMode } from '../core/scatterSelection.ts';
2
+ import type { ScreenPoints } from '../core/screenPoints.ts';
3
+ import type { LassoGesture, ScatterSurfaceProps } from './lassoGesture.ts';
4
+ import type { PointHoverApi } from './usePointHover.ts';
5
+ import type { ScatterKeyboardApi } from './useScatterKeyboard.ts';
6
+ import type { ScatterSelectionApi, SelectionChange } from './useScatterSelection.ts';
7
+ /** What {@link useScatterInteraction} needs. */
8
+ export interface ScatterInteractionOptions {
9
+ /** Where every point sits on screen; how many there are is read from it. */
10
+ points: ScreenPoints;
11
+ /**
12
+ * Where the plot's left edge is, so a gesture lands in the same space the
13
+ * points were measured in.
14
+ * @default 0
15
+ */
16
+ originX?: number;
17
+ /**
18
+ * Where its top edge is.
19
+ * @default 0
20
+ */
21
+ originY?: number;
22
+ /**
23
+ * The selected rows when the caller owns them.
24
+ * @default undefined — the hook keeps them
25
+ */
26
+ selected?: readonly number[];
27
+ /**
28
+ * The rows selected before the reader touches anything.
29
+ * @default undefined
30
+ */
31
+ defaultSelected?: readonly number[];
32
+ /**
33
+ * Called once per settled gesture, never during a drag.
34
+ * @default undefined
35
+ */
36
+ onSelectionChange?: (change: SelectionChange) => void;
37
+ /**
38
+ * What a gesture with no modifier held does to the selection.
39
+ * @default 'replace'
40
+ */
41
+ selectMode?: ScatterSelectionMode;
42
+ /**
43
+ * Whether a drag draws a lasso at all. The hover card works either way.
44
+ * @default true
45
+ */
46
+ enabled?: boolean;
47
+ /**
48
+ * Whether a finger draws one rather than scrolling the page.
49
+ * @default false
50
+ */
51
+ touchLasso?: boolean;
52
+ /**
53
+ * How near the pointer a point must be to be hovered or clicked, in pixels.
54
+ * @default 12
55
+ */
56
+ hoverRadius?: number;
57
+ /**
58
+ * One entry per point, a zero meaning it cannot be hovered or clicked.
59
+ * @default undefined — every point can be
60
+ */
61
+ included?: Uint8Array;
62
+ /**
63
+ * Called with the row under the pointer, or `-1`.
64
+ * @default undefined
65
+ */
66
+ onHoverChange?: (index: number) => void;
67
+ /**
68
+ * Called with the row whose card is pinned, or `-1`.
69
+ * @default undefined
70
+ */
71
+ onPinChange?: (index: number) => void;
72
+ }
73
+ /** Everything a scatter needs to be touched, in five pieces. */
74
+ export interface ScatterInteractionApi {
75
+ /** Spread onto the transparent rectangle over the plot. */
76
+ surface: ScatterSurfaceProps;
77
+ /** What is picked, including what a half-drawn lasso would pick. */
78
+ selection: ScatterSelectionApi;
79
+ /** The point a card is about, and where to put it. */
80
+ hover: PointHoverApi;
81
+ /** The roving cursor, whose `onKeyDown` goes on the focusable wrapper. */
82
+ keyboard: ScatterKeyboardApi;
83
+ /** The outline being drawn, for the plot to stroke. */
84
+ lasso: LassoGesture;
85
+ /**
86
+ * Which point is near a position, or `-1`.
87
+ *
88
+ * The same search a click runs, offered on its own so that a gesture the
89
+ * hook does not own — a double click, which the plot answers because only
90
+ * the plot knows what a double click on empty ground means — asks it in the
91
+ * same words and with the same radius.
92
+ */
93
+ pointAt: (x: number, y: number) => number;
94
+ }
95
+ /**
96
+ * Every way a reader touches a scatter, wired together.
97
+ *
98
+ * The four hooks underneath are separately usable and separately tested; this
99
+ * is the one a plot calls, and it holds the decisions that only make sense
100
+ * between them — that a click on empty ground clears rather than selecting
101
+ * nothing, that hovering stops while a lasso is drawn, and that `Escape`
102
+ * abandons the drag and lets the card go.
103
+ *
104
+ * The buffer the polygon test writes into is kept across frames: a drag runs
105
+ * that test once a frame over every point, and a fresh mask per frame is an
106
+ * allocation the collector answers for during the one interaction where a
107
+ * dropped frame shows as a kink in the line being drawn.
108
+ * @param options - See {@link ScatterInteractionOptions}.
109
+ * @returns The interaction. See {@link ScatterInteractionApi}.
110
+ */
111
+ export declare function useScatterInteraction(options: ScatterInteractionOptions): ScatterInteractionApi;
112
+ //# sourceMappingURL=useScatterInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterInteraction.d.ts","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterInteraction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAGlC,gDAAgD;AAChD,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,MAAM,EAAE,YAAY,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,OAAO,EAAE,mBAAmB,CAAC;IAC7B,oEAAoE;IACpE,SAAS,EAAE,mBAAmB,CAAC;IAC/B,sDAAsD;IACtD,KAAK,EAAE,aAAa,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,uDAAuD;IACvD,KAAK,EAAE,YAAY,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,yBAAyB,GACjC,qBAAqB,CAiIvB"}
@@ -0,0 +1,101 @@
1
+ import { useCallback, useRef } from 'react';
2
+ import { pointsInPolygon } from "../core/polygon.js";
3
+ import { nearestPointIndex } from "../core/screenPoints.js";
4
+ import { useLassoGesture } from "./useLassoGesture.js";
5
+ import { DEFAULT_HOVER_RADIUS, usePointHover } from "./usePointHover.js";
6
+ import { useScatterKeyboard } from "./useScatterKeyboard.js";
7
+ import { useScatterSelection } from "./useScatterSelection.js";
8
+ /**
9
+ * Every way a reader touches a scatter, wired together.
10
+ *
11
+ * The four hooks underneath are separately usable and separately tested; this
12
+ * is the one a plot calls, and it holds the decisions that only make sense
13
+ * between them — that a click on empty ground clears rather than selecting
14
+ * nothing, that hovering stops while a lasso is drawn, and that `Escape`
15
+ * abandons the drag and lets the card go.
16
+ *
17
+ * The buffer the polygon test writes into is kept across frames: a drag runs
18
+ * that test once a frame over every point, and a fresh mask per frame is an
19
+ * allocation the collector answers for during the one interaction where a
20
+ * dropped frame shows as a kink in the line being drawn.
21
+ * @param options - See {@link ScatterInteractionOptions}.
22
+ * @returns The interaction. See {@link ScatterInteractionApi}.
23
+ */
24
+ export function useScatterInteraction(options) {
25
+ const { points, originX = 0, originY = 0, selected, defaultSelected, onSelectionChange, selectMode = 'replace', enabled = true, touchLasso = false, hoverRadius, included, onHoverChange, onPinChange, } = options;
26
+ const radius = hoverRadius ?? DEFAULT_HOVER_RADIUS;
27
+ const count = Math.min(points.x.length, points.y.length);
28
+ const hitsRef = useRef(null);
29
+ const selection = useScatterSelection({
30
+ count,
31
+ selected,
32
+ defaultSelected,
33
+ onSelectionChange,
34
+ });
35
+ const hover = usePointHover({
36
+ points,
37
+ radius,
38
+ included,
39
+ onHoverChange,
40
+ onPinChange,
41
+ });
42
+ const { clear, preview, select, selectMask } = selection;
43
+ const { leave, moveTo, pin, unpin } = hover;
44
+ const caught = useCallback((path) => {
45
+ const hits = pointsInPolygon(points, path.xs, path.ys, path.length, hitsRef.current ?? undefined);
46
+ hitsRef.current = hits;
47
+ return hits;
48
+ }, [points]);
49
+ const onDraw = useCallback((path, mode) => {
50
+ preview(path === null ? null : caught(path), mode);
51
+ }, [caught, preview]);
52
+ const onComplete = useCallback((path, mode) => {
53
+ selectMask(caught(path), mode, 'lasso');
54
+ }, [caught, selectMask]);
55
+ const onClick = useCallback((x, y, mode) => {
56
+ const index = nearestPointIndex(points, x, y, radius, included);
57
+ if (index === -1) {
58
+ unpin();
59
+ if (mode === 'replace')
60
+ clear();
61
+ return;
62
+ }
63
+ select([index], mode, 'point');
64
+ pin(index);
65
+ }, [clear, included, pin, points, radius, select, unpin]);
66
+ const onMove = useCallback((x, y, drawing) => {
67
+ if (!drawing)
68
+ moveTo(x, y);
69
+ }, [moveTo]);
70
+ const lasso = useLassoGesture({
71
+ enabled,
72
+ touch: touchLasso,
73
+ originX,
74
+ originY,
75
+ mode: selectMode,
76
+ onDraw,
77
+ onComplete,
78
+ onClick,
79
+ onMove,
80
+ onLeave: leave,
81
+ });
82
+ const onCommit = useCallback((index, mode) => {
83
+ select([index], mode, 'keyboard');
84
+ pin(index);
85
+ }, [pin, select]);
86
+ const onCancel = useCallback(() => {
87
+ lasso.cancel();
88
+ unpin();
89
+ }, [lasso, unpin]);
90
+ const keyboard = useScatterKeyboard({ count, onCommit, onCancel });
91
+ const pointAt = useCallback((x, y) => nearestPointIndex(points, x, y, radius, included), [included, points, radius]);
92
+ return {
93
+ surface: lasso.surface,
94
+ selection,
95
+ hover,
96
+ keyboard,
97
+ lasso,
98
+ pointAt,
99
+ };
100
+ }
101
+ //# sourceMappingURL=useScatterInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterInteraction.js","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterInteraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { KeyboardEvent as ReactKeyboardEvent } from 'react';
2
+ import type { ScatterSelectionMode } from '../core/scatterSelection.ts';
3
+ /** What {@link useScatterKeyboard} needs. */
4
+ export interface ScatterKeyboardOptions {
5
+ /** How many points the cloud holds. */
6
+ count: number;
7
+ /**
8
+ * Whether the keys are read. Off, the plot still takes the focus but every
9
+ * key falls through to the page.
10
+ * @default true
11
+ */
12
+ enabled?: boolean;
13
+ /**
14
+ * How many points `PageUp` and `PageDown` move by.
15
+ * @default 10
16
+ */
17
+ pageStep?: number;
18
+ /**
19
+ * Called whenever the cursor lands somewhere new, including `-1`.
20
+ * @default undefined
21
+ */
22
+ onCursorChange?: (index: number) => void;
23
+ /**
24
+ * Called when the reader commits the cursor with `Enter` or the space bar,
25
+ * with the mode the held modifiers ask for.
26
+ * @default undefined
27
+ */
28
+ onCommit?: (index: number, mode: ScatterSelectionMode) => void;
29
+ /**
30
+ * Called on `Escape` — what a half-drawn lasso and a pinned card listen for.
31
+ * @default undefined
32
+ */
33
+ onCancel?: () => void;
34
+ }
35
+ /** A roving cursor over the points, for a reader with no pointer. */
36
+ export interface ScatterKeyboardApi {
37
+ /** The point the cursor is on, or `-1` before any key. */
38
+ cursor: number;
39
+ /** Move it from outside, so a click and the cursor agree on where they are. */
40
+ setCursor: (index: number) => void;
41
+ /** Put on the focusable element around the plot. */
42
+ onKeyDown: (event: ReactKeyboardEvent<Element>) => void;
43
+ }
44
+ /**
45
+ * Reaching every point of a scatter without a pointer.
46
+ *
47
+ * The same roving cursor the periodic table and every list in this family use,
48
+ * over the same `handleListNavigationKey`, so the arrows, the page keys and
49
+ * `Home` and `End` behave identically wherever a reader meets them. Without
50
+ * it a lasso is the only way to pick anything, and a lasso needs a hand.
51
+ *
52
+ * The cursor is not the selection. It says where the reader is; `Enter` or the
53
+ * space bar is what settles it, with Shift and Alt meaning what they mean
54
+ * during a drag — otherwise arrowing across a cloud would replace the
55
+ * selection on every step and the reader could never build one up.
56
+ * @param options - See {@link ScatterKeyboardOptions}.
57
+ * @returns The cursor. See {@link ScatterKeyboardApi}.
58
+ */
59
+ export declare function useScatterKeyboard(options: ScatterKeyboardOptions): ScatterKeyboardApi;
60
+ //# sourceMappingURL=useScatterKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterKeyboard.d.ts","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAIjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAIxE,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,oDAAoD;IACpD,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,sBAAsB,GAC9B,kBAAkB,CAmDpB"}
@@ -0,0 +1,56 @@
1
+ import { useCallback, useRef, useState } from 'react';
2
+ import { handleListNavigationKey } from "../../hooks/ui/listNavigation.js";
3
+ import { modifierMode } from "./lassoGesture.js";
4
+ /**
5
+ * Reaching every point of a scatter without a pointer.
6
+ *
7
+ * The same roving cursor the periodic table and every list in this family use,
8
+ * over the same `handleListNavigationKey`, so the arrows, the page keys and
9
+ * `Home` and `End` behave identically wherever a reader meets them. Without
10
+ * it a lasso is the only way to pick anything, and a lasso needs a hand.
11
+ *
12
+ * The cursor is not the selection. It says where the reader is; `Enter` or the
13
+ * space bar is what settles it, with Shift and Alt meaning what they mean
14
+ * during a drag — otherwise arrowing across a cloud would replace the
15
+ * selection on every step and the reader could never build one up.
16
+ * @param options - See {@link ScatterKeyboardOptions}.
17
+ * @returns The cursor. See {@link ScatterKeyboardApi}.
18
+ */
19
+ export function useScatterKeyboard(options) {
20
+ const { count, enabled = true, pageStep, onCursorChange, onCommit, onCancel, } = options;
21
+ const [cursor, setCursorState] = useState(-1);
22
+ const cursorRef = useRef(-1);
23
+ const setCursor = useCallback((index) => {
24
+ const next = Number.isInteger(index) && index >= 0 && index < count ? index : -1;
25
+ if (next === cursorRef.current)
26
+ return;
27
+ cursorRef.current = next;
28
+ setCursorState(next);
29
+ onCursorChange?.(next);
30
+ }, [count, onCursorChange]);
31
+ const onKeyDown = useCallback((event) => {
32
+ if (!enabled || count <= 0)
33
+ return;
34
+ if (event.key === 'Escape') {
35
+ event.preventDefault();
36
+ onCancel?.();
37
+ return;
38
+ }
39
+ if (event.key === 'Enter' || event.key === ' ') {
40
+ const index = cursorRef.current;
41
+ if (index === -1)
42
+ return;
43
+ event.preventDefault();
44
+ onCommit?.(index, modifierMode(event, 'replace'));
45
+ return;
46
+ }
47
+ handleListNavigationKey(event, {
48
+ length: count,
49
+ selectedIndex: cursorRef.current,
50
+ pageStep,
51
+ onSelect: setCursor,
52
+ });
53
+ }, [count, enabled, onCancel, onCommit, pageStep, setCursor]);
54
+ return { cursor, setCursor, onKeyDown };
55
+ }
56
+ //# sourceMappingURL=useScatterKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterKeyboard.js","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterKeyboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6CjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA+B;IAE/B,MAAM,EACJ,KAAK,EACL,OAAO,GAAG,IAAI,EACd,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAAa,EAAE,EAAE;QAChB,MAAM,IAAI,GACR,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO;YAAE,OAAO;QACvC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EACD,CAAC,KAAK,EAAE,cAAc,CAAC,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAAkC,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,QAAQ,EAAE,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO;YACzB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE;YAC7B,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,SAAS,CAAC,OAAO;YAChC,QAAQ;YACR,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAC1D,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,78 @@
1
+ import type { ScatterSelectionMode } from '../core/scatterSelection.ts';
2
+ /** What a gesture did to a scatter's selection. */
3
+ export interface SelectionChange {
4
+ /** The selected rows, ascending, as indices into the arrays the caller passed. */
5
+ indices: readonly number[];
6
+ /** Whether the gesture replaced the previous selection, added to it, or cut from it. */
7
+ mode: ScatterSelectionMode;
8
+ /** Which gesture produced it. */
9
+ source: 'lasso' | 'point' | 'keyboard' | 'clear' | 'all';
10
+ }
11
+ /** What {@link useScatterSelection} needs. */
12
+ export interface ScatterSelectionOptions {
13
+ /** How many points the cloud holds. */
14
+ count: number;
15
+ /**
16
+ * The selected rows when the caller owns them. Present, it wins over
17
+ * anything the reader has done here — see {@link useScatterSelection} for
18
+ * what that means for a caller that stops passing it.
19
+ * @default undefined — the hook keeps the selection itself
20
+ */
21
+ selected?: readonly number[];
22
+ /**
23
+ * The rows selected before the reader touches anything, for the uncontrolled
24
+ * case. It is read once; changing it later moves nothing.
25
+ * @default undefined — nothing is selected
26
+ */
27
+ defaultSelected?: readonly number[];
28
+ /**
29
+ * Called once per settled gesture, never while a lasso is being drawn.
30
+ * @default undefined
31
+ */
32
+ onSelectionChange?: (change: SelectionChange) => void;
33
+ }
34
+ /** A scatter's selection, and the four ways a gesture changes it. */
35
+ export interface ScatterSelectionApi {
36
+ /**
37
+ * One entry per point, `1` for selected. It includes whatever a lasso is
38
+ * currently previewing, so the dots under a half-drawn ring already look
39
+ * picked.
40
+ */
41
+ mask: Uint8Array;
42
+ /** The same, as ascending indices. */
43
+ indices: number[];
44
+ /** How many points that is, without walking the list again. */
45
+ selectedCount: number;
46
+ /** Whether a lasso is showing what it would do rather than having done it. */
47
+ previewing: boolean;
48
+ /** Settle a new selection from a list of rows. */
49
+ select: (rows: Iterable<number>, mode?: ScatterSelectionMode, source?: SelectionChange['source']) => void;
50
+ /** Settle one from a mask, which is the shape a lasso hands back. */
51
+ selectMask: (hits: Uint8Array, mode?: ScatterSelectionMode, source?: SelectionChange['source']) => void;
52
+ /** Show what a gesture would do without settling it; `null` clears it. */
53
+ preview: (hits: Uint8Array | null, mode?: ScatterSelectionMode) => void;
54
+ /** Empty the selection. */
55
+ clear: () => void;
56
+ /** Select every point. */
57
+ selectAll: () => void;
58
+ }
59
+ /**
60
+ * The set of points a scatter has picked out, controlled or not.
61
+ *
62
+ * A caller may own the selection and pass it back through `selected`, or leave
63
+ * it here and only listen. Both work through one hook, and the controlled
64
+ * value wins on every render: a parent that answers a change by passing
65
+ * something else — a filter that keeps only the rows still on screen — sees
66
+ * what it asked for and not what the gesture asked for. The hook keeps its own
67
+ * copy up to date all the same, so a caller that stops passing `selected`
68
+ * carries on from where the reader left off rather than from nothing.
69
+ *
70
+ * A preview is deliberately not a change. What a half-drawn lasso would catch
71
+ * is merged in for the render and never reported, which is what lets a
72
+ * controlled parent stay out of a drag it would otherwise be re-rendered by
73
+ * sixty times a second.
74
+ * @param options - See {@link ScatterSelectionOptions}.
75
+ * @returns The selection. See {@link ScatterSelectionApi}.
76
+ */
77
+ export declare function useScatterSelection(options: ScatterSelectionOptions): ScatterSelectionApi;
78
+ //# sourceMappingURL=useScatterSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScatterSelection.d.ts","sourceRoot":"","sources":["../../../src/scatter/ui/useScatterSelection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOxE,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,wFAAwF;IACxF,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iCAAiC;IACjC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;CAC1D;AAED,8CAA8C;AAC9C,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACvD;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,IAAI,EAAE,UAAU,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,UAAU,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,MAAM,EAAE,CACN,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,IAAI,CAAC,EAAE,oBAAoB,EAC3B,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAC/B,IAAI,CAAC;IACV,qEAAqE;IACrE,UAAU,EAAE,CACV,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,oBAAoB,EAC3B,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAC/B,IAAI,CAAC;IACV,0EAA0E;IAC1E,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,uBAAuB,GAC/B,mBAAmB,CAgFrB"}