react-cheminfo 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1131) hide show
  1. package/README.md +251 -20
  2. package/lib/chart/core/chartAxisScale.d.ts +88 -0
  3. package/lib/chart/core/chartAxisScale.d.ts.map +1 -0
  4. package/lib/chart/core/chartAxisScale.js +205 -0
  5. package/lib/chart/core/chartAxisScale.js.map +1 -0
  6. package/lib/chart/core/chartBand.d.ts +47 -0
  7. package/lib/chart/core/chartBand.d.ts.map +1 -0
  8. package/lib/chart/core/chartBand.js +55 -0
  9. package/lib/chart/core/chartBand.js.map +1 -0
  10. package/lib/chart/core/chartBins.d.ts +32 -0
  11. package/lib/chart/core/chartBins.d.ts.map +1 -0
  12. package/lib/chart/core/chartBins.js +64 -0
  13. package/lib/chart/core/chartBins.js.map +1 -0
  14. package/lib/chart/core/chartExtent.d.ts +105 -0
  15. package/lib/chart/core/chartExtent.d.ts.map +1 -0
  16. package/lib/chart/core/chartExtent.js +134 -0
  17. package/lib/chart/core/chartExtent.js.map +1 -0
  18. package/lib/chart/core/chartLabels.d.ts +49 -0
  19. package/lib/chart/core/chartLabels.d.ts.map +1 -0
  20. package/lib/chart/core/chartLabels.js +44 -0
  21. package/lib/chart/core/chartLabels.js.map +1 -0
  22. package/lib/chart/core/chartPalette.d.ts +33 -0
  23. package/lib/chart/core/chartPalette.d.ts.map +1 -0
  24. package/lib/chart/core/chartPalette.js +51 -0
  25. package/lib/chart/core/chartPalette.js.map +1 -0
  26. package/lib/chart/core/chartScale.d.ts +49 -0
  27. package/lib/chart/core/chartScale.d.ts.map +1 -0
  28. package/lib/chart/core/chartScale.js +53 -0
  29. package/lib/chart/core/chartScale.js.map +1 -0
  30. package/lib/chart/core/chartViewport.d.ts +88 -0
  31. package/lib/chart/core/chartViewport.d.ts.map +1 -0
  32. package/lib/chart/core/chartViewport.js +164 -0
  33. package/lib/chart/core/chartViewport.js.map +1 -0
  34. package/lib/chart/core/index.d.ts +29 -0
  35. package/lib/chart/core/index.d.ts.map +1 -0
  36. package/lib/chart/core/index.js +20 -0
  37. package/lib/chart/core/index.js.map +1 -0
  38. package/lib/chart/core/matrix.d.ts +56 -0
  39. package/lib/chart/core/matrix.d.ts.map +1 -0
  40. package/lib/chart/core/matrix.js +75 -0
  41. package/lib/chart/core/matrix.js.map +1 -0
  42. package/lib/chart/ui/ChartAxis.d.ts +50 -0
  43. package/lib/chart/ui/ChartAxis.d.ts.map +1 -0
  44. package/lib/chart/ui/ChartAxis.js +89 -0
  45. package/lib/chart/ui/ChartAxis.js.map +1 -0
  46. package/lib/chart/ui/ChartFrame.d.ts +136 -0
  47. package/lib/chart/ui/ChartFrame.d.ts.map +1 -0
  48. package/lib/chart/ui/ChartFrame.js +61 -0
  49. package/lib/chart/ui/ChartFrame.js.map +1 -0
  50. package/lib/chart/ui/ChartSeriesMarks.d.ts +44 -0
  51. package/lib/chart/ui/ChartSeriesMarks.d.ts.map +1 -0
  52. package/lib/chart/ui/ChartSeriesMarks.js +48 -0
  53. package/lib/chart/ui/ChartSeriesMarks.js.map +1 -0
  54. package/lib/chart/ui/ChartTrackingLayer.d.ts +54 -0
  55. package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -0
  56. package/lib/chart/ui/ChartTrackingLayer.js +98 -0
  57. package/lib/chart/ui/ChartTrackingLayer.js.map +1 -0
  58. package/lib/chart/ui/TrackedLineChart.d.ts +136 -0
  59. package/lib/chart/ui/TrackedLineChart.d.ts.map +1 -0
  60. package/lib/chart/ui/TrackedLineChart.js +90 -0
  61. package/lib/chart/ui/TrackedLineChart.js.map +1 -0
  62. package/lib/chart/ui/TrackedStickChart.d.ts +88 -0
  63. package/lib/chart/ui/TrackedStickChart.d.ts.map +1 -0
  64. package/lib/chart/ui/TrackedStickChart.js +58 -0
  65. package/lib/chart/ui/TrackedStickChart.js.map +1 -0
  66. package/lib/chart/ui/chartStyles.d.ts +141 -0
  67. package/lib/chart/ui/chartStyles.d.ts.map +1 -0
  68. package/lib/chart/ui/chartStyles.js +154 -0
  69. package/lib/chart/ui/chartStyles.js.map +1 -0
  70. package/lib/chart/ui/index.d.ts +20 -0
  71. package/lib/chart/ui/index.d.ts.map +1 -0
  72. package/lib/chart/ui/index.js +13 -0
  73. package/lib/chart/ui/index.js.map +1 -0
  74. package/lib/chart/ui/stickChartModel.d.ts +99 -0
  75. package/lib/chart/ui/stickChartModel.d.ts.map +1 -0
  76. package/lib/chart/ui/stickChartModel.js +140 -0
  77. package/lib/chart/ui/stickChartModel.js.map +1 -0
  78. package/lib/chart/ui/useWheelZoom.d.ts +69 -0
  79. package/lib/chart/ui/useWheelZoom.d.ts.map +1 -0
  80. package/lib/chart/ui/useWheelZoom.js +122 -0
  81. package/lib/chart/ui/useWheelZoom.js.map +1 -0
  82. package/lib/color/core/gradient.d.ts +15 -0
  83. package/lib/color/core/gradient.d.ts.map +1 -0
  84. package/lib/color/core/gradient.js +28 -0
  85. package/lib/color/core/gradient.js.map +1 -0
  86. package/lib/color/core/hsv.d.ts +38 -0
  87. package/lib/color/core/hsv.d.ts.map +1 -0
  88. package/lib/color/core/hsv.js +92 -0
  89. package/lib/color/core/hsv.js.map +1 -0
  90. package/lib/color/core/index.d.ts +12 -1
  91. package/lib/color/core/index.d.ts.map +1 -1
  92. package/lib/color/core/index.js +6 -0
  93. package/lib/color/core/index.js.map +1 -1
  94. package/lib/color/core/interpolate.d.ts +67 -0
  95. package/lib/color/core/interpolate.d.ts.map +1 -0
  96. package/lib/color/core/interpolate.js +121 -0
  97. package/lib/color/core/interpolate.js.map +1 -0
  98. package/lib/color/core/scale.d.ts +11 -15
  99. package/lib/color/core/scale.d.ts.map +1 -1
  100. package/lib/color/core/scale.js +14 -41
  101. package/lib/color/core/scale.js.map +1 -1
  102. package/lib/color/core/scaleData.d.ts +19 -0
  103. package/lib/color/core/scaleData.d.ts.map +1 -0
  104. package/lib/color/core/scaleData.js +120 -0
  105. package/lib/color/core/scaleData.js.map +1 -0
  106. package/lib/color/core/scaleText.d.ts +43 -0
  107. package/lib/color/core/scaleText.d.ts.map +1 -0
  108. package/lib/color/core/scaleText.js +109 -0
  109. package/lib/color/core/scaleText.js.map +1 -0
  110. package/lib/color/core/scales.d.ts +42 -0
  111. package/lib/color/core/scales.d.ts.map +1 -0
  112. package/lib/color/core/scales.js +110 -0
  113. package/lib/color/core/scales.js.map +1 -0
  114. package/lib/color/ui/ColorScaleBar.d.ts +39 -0
  115. package/lib/color/ui/ColorScaleBar.d.ts.map +1 -0
  116. package/lib/color/ui/ColorScaleBar.js +27 -0
  117. package/lib/color/ui/ColorScaleBar.js.map +1 -0
  118. package/lib/color/ui/ColorScaleEditor.d.ts +21 -0
  119. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -0
  120. package/lib/color/ui/ColorScaleEditor.js +141 -0
  121. package/lib/color/ui/ColorScaleEditor.js.map +1 -0
  122. package/lib/color/ui/ColorScaleSelect.d.ts +38 -0
  123. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -0
  124. package/lib/color/ui/ColorScaleSelect.js +109 -0
  125. package/lib/color/ui/ColorScaleSelect.js.map +1 -0
  126. package/lib/color/ui/index.d.ts +6 -0
  127. package/lib/color/ui/index.d.ts.map +1 -1
  128. package/lib/color/ui/index.js +3 -0
  129. package/lib/color/ui/index.js.map +1 -1
  130. package/lib/core.d.ts +5 -0
  131. package/lib/core.d.ts.map +1 -1
  132. package/lib/core.js +5 -0
  133. package/lib/core.js.map +1 -1
  134. package/lib/credits/core/credits.d.ts +17 -0
  135. package/lib/credits/core/credits.d.ts.map +1 -1
  136. package/lib/credits/core/credits.js +20 -0
  137. package/lib/credits/core/credits.js.map +1 -1
  138. package/lib/download/core/cssTokens.d.ts +33 -0
  139. package/lib/download/core/cssTokens.d.ts.map +1 -0
  140. package/lib/download/core/cssTokens.js +82 -0
  141. package/lib/download/core/cssTokens.js.map +1 -0
  142. package/lib/download/core/downloadFigure.d.ts +39 -0
  143. package/lib/download/core/downloadFigure.d.ts.map +1 -0
  144. package/lib/download/core/downloadFigure.js +35 -0
  145. package/lib/download/core/downloadFigure.js.map +1 -0
  146. package/lib/download/core/figurePng.d.ts +21 -0
  147. package/lib/download/core/figurePng.d.ts.map +1 -0
  148. package/lib/download/core/figurePng.js +76 -0
  149. package/lib/download/core/figurePng.js.map +1 -0
  150. package/lib/download/core/figureScale.d.ts +61 -0
  151. package/lib/download/core/figureScale.d.ts.map +1 -0
  152. package/lib/download/core/figureScale.js +67 -0
  153. package/lib/download/core/figureScale.js.map +1 -0
  154. package/lib/download/core/figureSvg.d.ts +37 -0
  155. package/lib/download/core/figureSvg.d.ts.map +1 -0
  156. package/lib/download/core/figureSvg.js +94 -0
  157. package/lib/download/core/figureSvg.js.map +1 -0
  158. package/lib/download/core/figureSvgDocument.d.ts +55 -0
  159. package/lib/download/core/figureSvgDocument.d.ts.map +1 -0
  160. package/lib/download/core/figureSvgDocument.js +79 -0
  161. package/lib/download/core/figureSvgDocument.js.map +1 -0
  162. package/lib/download/core/figureTarget.d.ts +56 -0
  163. package/lib/download/core/figureTarget.d.ts.map +1 -0
  164. package/lib/download/core/figureTarget.js +119 -0
  165. package/lib/download/core/figureTarget.js.map +1 -0
  166. package/lib/download/core/index.d.ts +12 -0
  167. package/lib/download/core/index.d.ts.map +1 -1
  168. package/lib/download/core/index.js +7 -0
  169. package/lib/download/core/index.js.map +1 -1
  170. package/lib/download/ui/FigureDownload.d.ts +81 -0
  171. package/lib/download/ui/FigureDownload.d.ts.map +1 -0
  172. package/lib/download/ui/FigureDownload.js +65 -0
  173. package/lib/download/ui/FigureDownload.js.map +1 -0
  174. package/lib/download/ui/FigureDownloadPanel.d.ts +45 -0
  175. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -0
  176. package/lib/download/ui/FigureDownloadPanel.js +86 -0
  177. package/lib/download/ui/FigureDownloadPanel.js.map +1 -0
  178. package/lib/download/ui/index.d.ts +13 -0
  179. package/lib/download/ui/index.d.ts.map +1 -0
  180. package/lib/download/ui/index.js +11 -0
  181. package/lib/download/ui/index.js.map +1 -0
  182. package/lib/ecosystem/core/sites.d.ts +1 -1
  183. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  184. package/lib/ecosystem/core/sites.js +10 -0
  185. package/lib/ecosystem/core/sites.js.map +1 -1
  186. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
  187. package/lib/ecosystem/ui/glyphs.js +4 -0
  188. package/lib/ecosystem/ui/glyphs.js.map +1 -1
  189. package/lib/overlay/core/emptiestCorner.d.ts +47 -0
  190. package/lib/overlay/core/emptiestCorner.d.ts.map +1 -0
  191. package/lib/overlay/core/emptiestCorner.js +84 -0
  192. package/lib/overlay/core/emptiestCorner.js.map +1 -0
  193. package/lib/overlay/core/index.d.ts +23 -0
  194. package/lib/overlay/core/index.d.ts.map +1 -0
  195. package/lib/overlay/core/index.js +16 -0
  196. package/lib/overlay/core/index.js.map +1 -0
  197. package/lib/overlay/core/overlayCollapse.d.ts +14 -0
  198. package/lib/overlay/core/overlayCollapse.d.ts.map +1 -0
  199. package/lib/overlay/core/overlayCollapse.js +20 -0
  200. package/lib/overlay/core/overlayCollapse.js.map +1 -0
  201. package/lib/overlay/core/overlayMarks.d.ts +31 -0
  202. package/lib/overlay/core/overlayMarks.d.ts.map +1 -0
  203. package/lib/overlay/core/overlayMarks.js +38 -0
  204. package/lib/overlay/core/overlayMarks.js.map +1 -0
  205. package/lib/overlay/core/overlayMetrics.d.ts +41 -0
  206. package/lib/overlay/core/overlayMetrics.d.ts.map +1 -0
  207. package/lib/overlay/core/overlayMetrics.js +73 -0
  208. package/lib/overlay/core/overlayMetrics.js.map +1 -0
  209. package/lib/overlay/core/overlayPlacement.d.ts +60 -0
  210. package/lib/overlay/core/overlayPlacement.d.ts.map +1 -0
  211. package/lib/overlay/core/overlayPlacement.js +24 -0
  212. package/lib/overlay/core/overlayPlacement.js.map +1 -0
  213. package/lib/overlay/core/overlayTierRoom.d.ts +89 -0
  214. package/lib/overlay/core/overlayTierRoom.d.ts.map +1 -0
  215. package/lib/overlay/core/overlayTierRoom.js +135 -0
  216. package/lib/overlay/core/overlayTierRoom.js.map +1 -0
  217. package/lib/overlay/core/overlayTiers.d.ts +71 -0
  218. package/lib/overlay/core/overlayTiers.d.ts.map +1 -0
  219. package/lib/overlay/core/overlayTiers.js +89 -0
  220. package/lib/overlay/core/overlayTiers.js.map +1 -0
  221. package/lib/overlay/core/placeOverlayCard.d.ts +47 -0
  222. package/lib/overlay/core/placeOverlayCard.d.ts.map +1 -0
  223. package/lib/overlay/core/placeOverlayCard.js +42 -0
  224. package/lib/overlay/core/placeOverlayCard.js.map +1 -0
  225. package/lib/overlay/ui/OverlayAction.d.ts +32 -0
  226. package/lib/overlay/ui/OverlayAction.d.ts.map +1 -0
  227. package/lib/overlay/ui/OverlayAction.js +19 -0
  228. package/lib/overlay/ui/OverlayAction.js.map +1 -0
  229. package/lib/overlay/ui/OverlayBar.d.ts +122 -0
  230. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -0
  231. package/lib/overlay/ui/OverlayBar.js +42 -0
  232. package/lib/overlay/ui/OverlayBar.js.map +1 -0
  233. package/lib/overlay/ui/OverlayBarButton.d.ts +38 -0
  234. package/lib/overlay/ui/OverlayBarButton.d.ts.map +1 -0
  235. package/lib/overlay/ui/OverlayBarButton.js +40 -0
  236. package/lib/overlay/ui/OverlayBarButton.js.map +1 -0
  237. package/lib/overlay/ui/OverlayBarCard.d.ts +25 -0
  238. package/lib/overlay/ui/OverlayBarCard.d.ts.map +1 -0
  239. package/lib/overlay/ui/OverlayBarCard.js +28 -0
  240. package/lib/overlay/ui/OverlayBarCard.js.map +1 -0
  241. package/lib/overlay/ui/OverlayBarStrip.d.ts +18 -0
  242. package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -0
  243. package/lib/overlay/ui/OverlayBarStrip.js +26 -0
  244. package/lib/overlay/ui/OverlayBarStrip.js.map +1 -0
  245. package/lib/overlay/ui/OverlayCaption.d.ts +52 -0
  246. package/lib/overlay/ui/OverlayCaption.d.ts.map +1 -0
  247. package/lib/overlay/ui/OverlayCaption.js +62 -0
  248. package/lib/overlay/ui/OverlayCaption.js.map +1 -0
  249. package/lib/overlay/ui/OverlayChip.d.ts +60 -0
  250. package/lib/overlay/ui/OverlayChip.d.ts.map +1 -0
  251. package/lib/overlay/ui/OverlayChip.js +73 -0
  252. package/lib/overlay/ui/OverlayChip.js.map +1 -0
  253. package/lib/overlay/ui/OverlayDivider.d.ts +11 -0
  254. package/lib/overlay/ui/OverlayDivider.d.ts.map +1 -0
  255. package/lib/overlay/ui/OverlayDivider.js +16 -0
  256. package/lib/overlay/ui/OverlayDivider.js.map +1 -0
  257. package/lib/overlay/ui/OverlayGroup.d.ts +53 -0
  258. package/lib/overlay/ui/OverlayGroup.d.ts.map +1 -0
  259. package/lib/overlay/ui/OverlayGroup.js +63 -0
  260. package/lib/overlay/ui/OverlayGroup.js.map +1 -0
  261. package/lib/overlay/ui/OverlayIconButton.d.ts +75 -0
  262. package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -0
  263. package/lib/overlay/ui/OverlayIconButton.js +43 -0
  264. package/lib/overlay/ui/OverlayIconButton.js.map +1 -0
  265. package/lib/overlay/ui/OverlayInfo.d.ts +43 -0
  266. package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -0
  267. package/lib/overlay/ui/OverlayInfo.js +47 -0
  268. package/lib/overlay/ui/OverlayInfo.js.map +1 -0
  269. package/lib/overlay/ui/OverlayLayer.d.ts +54 -0
  270. package/lib/overlay/ui/OverlayLayer.d.ts.map +1 -0
  271. package/lib/overlay/ui/OverlayLayer.js +50 -0
  272. package/lib/overlay/ui/OverlayLayer.js.map +1 -0
  273. package/lib/overlay/ui/OverlayLegend.d.ts +75 -0
  274. package/lib/overlay/ui/OverlayLegend.d.ts.map +1 -0
  275. package/lib/overlay/ui/OverlayLegend.js +81 -0
  276. package/lib/overlay/ui/OverlayLegend.js.map +1 -0
  277. package/lib/overlay/ui/OverlayLegendMark.d.ts +36 -0
  278. package/lib/overlay/ui/OverlayLegendMark.d.ts.map +1 -0
  279. package/lib/overlay/ui/OverlayLegendMark.js +43 -0
  280. package/lib/overlay/ui/OverlayLegendMark.js.map +1 -0
  281. package/lib/overlay/ui/OverlayNumber.d.ts +43 -0
  282. package/lib/overlay/ui/OverlayNumber.d.ts.map +1 -0
  283. package/lib/overlay/ui/OverlayNumber.js +74 -0
  284. package/lib/overlay/ui/OverlayNumber.js.map +1 -0
  285. package/lib/overlay/ui/OverlayPanel.d.ts +81 -0
  286. package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -0
  287. package/lib/overlay/ui/OverlayPanel.js +42 -0
  288. package/lib/overlay/ui/OverlayPanel.js.map +1 -0
  289. package/lib/overlay/ui/OverlayPills.d.ts +73 -0
  290. package/lib/overlay/ui/OverlayPills.d.ts.map +1 -0
  291. package/lib/overlay/ui/OverlayPills.js +55 -0
  292. package/lib/overlay/ui/OverlayPills.js.map +1 -0
  293. package/lib/overlay/ui/OverlayReadout.d.ts +63 -0
  294. package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -0
  295. package/lib/overlay/ui/OverlayReadout.js +129 -0
  296. package/lib/overlay/ui/OverlayReadout.js.map +1 -0
  297. package/lib/overlay/ui/OverlayRow.d.ts +111 -0
  298. package/lib/overlay/ui/OverlayRow.d.ts.map +1 -0
  299. package/lib/overlay/ui/OverlayRow.js +50 -0
  300. package/lib/overlay/ui/OverlayRow.js.map +1 -0
  301. package/lib/overlay/ui/OverlaySegmented.d.ts +28 -0
  302. package/lib/overlay/ui/OverlaySegmented.d.ts.map +1 -0
  303. package/lib/overlay/ui/OverlaySegmented.js +23 -0
  304. package/lib/overlay/ui/OverlaySegmented.js.map +1 -0
  305. package/lib/overlay/ui/OverlaySelect.d.ts +35 -0
  306. package/lib/overlay/ui/OverlaySelect.d.ts.map +1 -0
  307. package/lib/overlay/ui/OverlaySelect.js +30 -0
  308. package/lib/overlay/ui/OverlaySelect.js.map +1 -0
  309. package/lib/overlay/ui/OverlaySwatchIcon.d.ts +26 -0
  310. package/lib/overlay/ui/OverlaySwatchIcon.d.ts.map +1 -0
  311. package/lib/overlay/ui/OverlaySwatchIcon.js +94 -0
  312. package/lib/overlay/ui/OverlaySwatchIcon.js.map +1 -0
  313. package/lib/overlay/ui/OverlayToggle.d.ts +56 -0
  314. package/lib/overlay/ui/OverlayToggle.d.ts.map +1 -0
  315. package/lib/overlay/ui/OverlayToggle.js +42 -0
  316. package/lib/overlay/ui/OverlayToggle.js.map +1 -0
  317. package/lib/overlay/ui/OverlayValueButton.d.ts +80 -0
  318. package/lib/overlay/ui/OverlayValueButton.d.ts.map +1 -0
  319. package/lib/overlay/ui/OverlayValueButton.js +46 -0
  320. package/lib/overlay/ui/OverlayValueButton.js.map +1 -0
  321. package/lib/overlay/ui/OverlayValueMenu.d.ts +68 -0
  322. package/lib/overlay/ui/OverlayValueMenu.d.ts.map +1 -0
  323. package/lib/overlay/ui/OverlayValueMenu.js +40 -0
  324. package/lib/overlay/ui/OverlayValueMenu.js.map +1 -0
  325. package/lib/overlay/ui/index.d.ts +55 -0
  326. package/lib/overlay/ui/index.d.ts.map +1 -0
  327. package/lib/overlay/ui/index.js +33 -0
  328. package/lib/overlay/ui/index.js.map +1 -0
  329. package/lib/overlay/ui/overlayBarShape.d.ts +85 -0
  330. package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -0
  331. package/lib/overlay/ui/overlayBarShape.js +48 -0
  332. package/lib/overlay/ui/overlayBarShape.js.map +1 -0
  333. package/lib/overlay/ui/overlayControlStyles.d.ts +82 -0
  334. package/lib/overlay/ui/overlayControlStyles.d.ts.map +1 -0
  335. package/lib/overlay/ui/overlayControlStyles.js +142 -0
  336. package/lib/overlay/ui/overlayControlStyles.js.map +1 -0
  337. package/lib/overlay/ui/overlayFigureStyles.d.ts +52 -0
  338. package/lib/overlay/ui/overlayFigureStyles.d.ts.map +1 -0
  339. package/lib/overlay/ui/overlayFigureStyles.js +98 -0
  340. package/lib/overlay/ui/overlayFigureStyles.js.map +1 -0
  341. package/lib/overlay/ui/overlayPanelContext.d.ts +34 -0
  342. package/lib/overlay/ui/overlayPanelContext.d.ts.map +1 -0
  343. package/lib/overlay/ui/overlayPanelContext.js +29 -0
  344. package/lib/overlay/ui/overlayPanelContext.js.map +1 -0
  345. package/lib/overlay/ui/overlayPanelStyles.d.ts +112 -0
  346. package/lib/overlay/ui/overlayPanelStyles.d.ts.map +1 -0
  347. package/lib/overlay/ui/overlayPanelStyles.js +193 -0
  348. package/lib/overlay/ui/overlayPanelStyles.js.map +1 -0
  349. package/lib/overlay/ui/overlayPillKeys.d.ts +19 -0
  350. package/lib/overlay/ui/overlayPillKeys.d.ts.map +1 -0
  351. package/lib/overlay/ui/overlayPillKeys.js +33 -0
  352. package/lib/overlay/ui/overlayPillKeys.js.map +1 -0
  353. package/lib/overlay/ui/overlayPillStyles.d.ts +78 -0
  354. package/lib/overlay/ui/overlayPillStyles.d.ts.map +1 -0
  355. package/lib/overlay/ui/overlayPillStyles.js +140 -0
  356. package/lib/overlay/ui/overlayPillStyles.js.map +1 -0
  357. package/lib/overlay/ui/overlayRowStyles.d.ts +113 -0
  358. package/lib/overlay/ui/overlayRowStyles.d.ts.map +1 -0
  359. package/lib/overlay/ui/overlayRowStyles.js +135 -0
  360. package/lib/overlay/ui/overlayRowStyles.js.map +1 -0
  361. package/lib/overlay/ui/overlayStepperStyles.d.ts +51 -0
  362. package/lib/overlay/ui/overlayStepperStyles.d.ts.map +1 -0
  363. package/lib/overlay/ui/overlayStepperStyles.js +96 -0
  364. package/lib/overlay/ui/overlayStepperStyles.js.map +1 -0
  365. package/lib/overlay/ui/overlayStyles.d.ts +123 -0
  366. package/lib/overlay/ui/overlayStyles.d.ts.map +1 -0
  367. package/lib/overlay/ui/overlayStyles.js +203 -0
  368. package/lib/overlay/ui/overlayStyles.js.map +1 -0
  369. package/lib/overlay/ui/overlaySurface.d.ts +54 -0
  370. package/lib/overlay/ui/overlaySurface.d.ts.map +1 -0
  371. package/lib/overlay/ui/overlaySurface.js +85 -0
  372. package/lib/overlay/ui/overlaySurface.js.map +1 -0
  373. package/lib/overlay/ui/overlaySwitchStyles.d.ts +70 -0
  374. package/lib/overlay/ui/overlaySwitchStyles.d.ts.map +1 -0
  375. package/lib/overlay/ui/overlaySwitchStyles.js +102 -0
  376. package/lib/overlay/ui/overlaySwitchStyles.js.map +1 -0
  377. package/lib/overlay/ui/overlayValueStyles.d.ts +101 -0
  378. package/lib/overlay/ui/overlayValueStyles.d.ts.map +1 -0
  379. package/lib/overlay/ui/overlayValueStyles.js +166 -0
  380. package/lib/overlay/ui/overlayValueStyles.js.map +1 -0
  381. package/lib/projection/core/embeddingResult.d.ts +60 -0
  382. package/lib/projection/core/embeddingResult.d.ts.map +1 -0
  383. package/lib/projection/core/embeddingResult.js +52 -0
  384. package/lib/projection/core/embeddingResult.js.map +1 -0
  385. package/lib/projection/core/explainedShares.d.ts +51 -0
  386. package/lib/projection/core/explainedShares.d.ts.map +1 -0
  387. package/lib/projection/core/explainedShares.js +55 -0
  388. package/lib/projection/core/explainedShares.js.map +1 -0
  389. package/lib/projection/core/index.d.ts +38 -0
  390. package/lib/projection/core/index.d.ts.map +1 -0
  391. package/lib/projection/core/index.js +25 -0
  392. package/lib/projection/core/index.js.map +1 -0
  393. package/lib/projection/core/loadingProfiles.d.ts +87 -0
  394. package/lib/projection/core/loadingProfiles.d.ts.map +1 -0
  395. package/lib/projection/core/loadingProfiles.js +125 -0
  396. package/lib/projection/core/loadingProfiles.js.map +1 -0
  397. package/lib/projection/core/pcaLike.d.ts +32 -0
  398. package/lib/projection/core/pcaLike.d.ts.map +1 -0
  399. package/lib/projection/core/pcaLike.js +2 -0
  400. package/lib/projection/core/pcaLike.js.map +1 -0
  401. package/lib/projection/core/pcaResult.d.ts +86 -0
  402. package/lib/projection/core/pcaResult.d.ts.map +1 -0
  403. package/lib/projection/core/pcaResult.js +122 -0
  404. package/lib/projection/core/pcaResult.js.map +1 -0
  405. package/lib/projection/core/projectionCopy.d.ts +130 -0
  406. package/lib/projection/core/projectionCopy.d.ts.map +1 -0
  407. package/lib/projection/core/projectionCopy.js +111 -0
  408. package/lib/projection/core/projectionCopy.js.map +1 -0
  409. package/lib/projection/core/projectionCopyPatch.d.ts +13 -0
  410. package/lib/projection/core/projectionCopyPatch.d.ts.map +1 -0
  411. package/lib/projection/core/projectionCopyPatch.js +2 -0
  412. package/lib/projection/core/projectionCopyPatch.js.map +1 -0
  413. package/lib/projection/core/projectionOptions.d.ts +131 -0
  414. package/lib/projection/core/projectionOptions.d.ts.map +1 -0
  415. package/lib/projection/core/projectionOptions.js +85 -0
  416. package/lib/projection/core/projectionOptions.js.map +1 -0
  417. package/lib/projection/core/projectionResult.d.ts +119 -0
  418. package/lib/projection/core/projectionResult.d.ts.map +1 -0
  419. package/lib/projection/core/projectionResult.js +2 -0
  420. package/lib/projection/core/projectionResult.js.map +1 -0
  421. package/lib/projection/core/projectionSamples.d.ts +77 -0
  422. package/lib/projection/core/projectionSamples.d.ts.map +1 -0
  423. package/lib/projection/core/projectionSamples.js +81 -0
  424. package/lib/projection/core/projectionSamples.js.map +1 -0
  425. package/lib/projection/core/projectionStrings.d.ts +134 -0
  426. package/lib/projection/core/projectionStrings.d.ts.map +1 -0
  427. package/lib/projection/core/projectionStrings.js +168 -0
  428. package/lib/projection/core/projectionStrings.js.map +1 -0
  429. package/lib/projection/core/projectionTabDefaults.d.ts +18 -0
  430. package/lib/projection/core/projectionTabDefaults.d.ts.map +1 -0
  431. package/lib/projection/core/projectionTabDefaults.js +46 -0
  432. package/lib/projection/core/projectionTabDefaults.js.map +1 -0
  433. package/lib/projection/core/projectionTabs.d.ts +25 -0
  434. package/lib/projection/core/projectionTabs.d.ts.map +1 -0
  435. package/lib/projection/core/projectionTabs.js +51 -0
  436. package/lib/projection/core/projectionTabs.js.map +1 -0
  437. package/lib/projection/core/variableAxis.d.ts +106 -0
  438. package/lib/projection/core/variableAxis.d.ts.map +1 -0
  439. package/lib/projection/core/variableAxis.js +84 -0
  440. package/lib/projection/core/variableAxis.js.map +1 -0
  441. package/lib/projection/core/variablesView.d.ts +33 -0
  442. package/lib/projection/core/variablesView.d.ts.map +1 -0
  443. package/lib/projection/core/variablesView.js +49 -0
  444. package/lib/projection/core/variablesView.js.map +1 -0
  445. package/lib/projection/ui/PcaViewer.d.ts +31 -0
  446. package/lib/projection/ui/PcaViewer.d.ts.map +1 -0
  447. package/lib/projection/ui/PcaViewer.js +46 -0
  448. package/lib/projection/ui/PcaViewer.js.map +1 -0
  449. package/lib/projection/ui/ProjectionBar.d.ts +55 -0
  450. package/lib/projection/ui/ProjectionBar.d.ts.map +1 -0
  451. package/lib/projection/ui/ProjectionBar.js +112 -0
  452. package/lib/projection/ui/ProjectionBar.js.map +1 -0
  453. package/lib/projection/ui/ProjectionMapCaption.d.ts +46 -0
  454. package/lib/projection/ui/ProjectionMapCaption.d.ts.map +1 -0
  455. package/lib/projection/ui/ProjectionMapCaption.js +54 -0
  456. package/lib/projection/ui/ProjectionMapCaption.js.map +1 -0
  457. package/lib/projection/ui/ProjectionMapControls.d.ts +67 -0
  458. package/lib/projection/ui/ProjectionMapControls.d.ts.map +1 -0
  459. package/lib/projection/ui/ProjectionMapControls.js +108 -0
  460. package/lib/projection/ui/ProjectionMapControls.js.map +1 -0
  461. package/lib/projection/ui/ProjectionMapLegend.d.ts +39 -0
  462. package/lib/projection/ui/ProjectionMapLegend.d.ts.map +1 -0
  463. package/lib/projection/ui/ProjectionMapLegend.js +29 -0
  464. package/lib/projection/ui/ProjectionMapLegend.js.map +1 -0
  465. package/lib/projection/ui/ProjectionMapMore.d.ts +42 -0
  466. package/lib/projection/ui/ProjectionMapMore.d.ts.map +1 -0
  467. package/lib/projection/ui/ProjectionMapMore.js +74 -0
  468. package/lib/projection/ui/ProjectionMapMore.js.map +1 -0
  469. package/lib/projection/ui/ProjectionMapTab.d.ts +101 -0
  470. package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -0
  471. package/lib/projection/ui/ProjectionMapTab.js +42 -0
  472. package/lib/projection/ui/ProjectionMapTab.js.map +1 -0
  473. package/lib/projection/ui/ProjectionPairsControls.d.ts +37 -0
  474. package/lib/projection/ui/ProjectionPairsControls.d.ts.map +1 -0
  475. package/lib/projection/ui/ProjectionPairsControls.js +20 -0
  476. package/lib/projection/ui/ProjectionPairsControls.js.map +1 -0
  477. package/lib/projection/ui/ProjectionPairsMore.d.ts +40 -0
  478. package/lib/projection/ui/ProjectionPairsMore.d.ts.map +1 -0
  479. package/lib/projection/ui/ProjectionPairsMore.js +31 -0
  480. package/lib/projection/ui/ProjectionPairsMore.js.map +1 -0
  481. package/lib/projection/ui/ProjectionPairsTab.d.ts +66 -0
  482. package/lib/projection/ui/ProjectionPairsTab.d.ts.map +1 -0
  483. package/lib/projection/ui/ProjectionPairsTab.js +64 -0
  484. package/lib/projection/ui/ProjectionPairsTab.js.map +1 -0
  485. package/lib/projection/ui/ProjectionPanel.d.ts +73 -0
  486. package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -0
  487. package/lib/projection/ui/ProjectionPanel.js +58 -0
  488. package/lib/projection/ui/ProjectionPanel.js.map +1 -0
  489. package/lib/projection/ui/ProjectionReadout.d.ts +65 -0
  490. package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -0
  491. package/lib/projection/ui/ProjectionReadout.js +46 -0
  492. package/lib/projection/ui/ProjectionReadout.js.map +1 -0
  493. package/lib/projection/ui/ProjectionSharesControls.d.ts +34 -0
  494. package/lib/projection/ui/ProjectionSharesControls.d.ts.map +1 -0
  495. package/lib/projection/ui/ProjectionSharesControls.js +20 -0
  496. package/lib/projection/ui/ProjectionSharesControls.js.map +1 -0
  497. package/lib/projection/ui/ProjectionSharesMarks.d.ts +49 -0
  498. package/lib/projection/ui/ProjectionSharesMarks.d.ts.map +1 -0
  499. package/lib/projection/ui/ProjectionSharesMarks.js +110 -0
  500. package/lib/projection/ui/ProjectionSharesMarks.js.map +1 -0
  501. package/lib/projection/ui/ProjectionSharesMore.d.ts +19 -0
  502. package/lib/projection/ui/ProjectionSharesMore.d.ts.map +1 -0
  503. package/lib/projection/ui/ProjectionSharesMore.js +25 -0
  504. package/lib/projection/ui/ProjectionSharesMore.js.map +1 -0
  505. package/lib/projection/ui/ProjectionSharesTab.d.ts +50 -0
  506. package/lib/projection/ui/ProjectionSharesTab.d.ts.map +1 -0
  507. package/lib/projection/ui/ProjectionSharesTab.js +48 -0
  508. package/lib/projection/ui/ProjectionSharesTab.js.map +1 -0
  509. package/lib/projection/ui/ProjectionSurface.d.ts +33 -0
  510. package/lib/projection/ui/ProjectionSurface.d.ts.map +1 -0
  511. package/lib/projection/ui/ProjectionSurface.js +35 -0
  512. package/lib/projection/ui/ProjectionSurface.js.map +1 -0
  513. package/lib/projection/ui/ProjectionTabStrip.d.ts +74 -0
  514. package/lib/projection/ui/ProjectionTabStrip.d.ts.map +1 -0
  515. package/lib/projection/ui/ProjectionTabStrip.js +64 -0
  516. package/lib/projection/ui/ProjectionTabStrip.js.map +1 -0
  517. package/lib/projection/ui/ProjectionVariablesControls.d.ts +33 -0
  518. package/lib/projection/ui/ProjectionVariablesControls.d.ts.map +1 -0
  519. package/lib/projection/ui/ProjectionVariablesControls.js +26 -0
  520. package/lib/projection/ui/ProjectionVariablesControls.js.map +1 -0
  521. package/lib/projection/ui/ProjectionVariablesMore.d.ts +33 -0
  522. package/lib/projection/ui/ProjectionVariablesMore.d.ts.map +1 -0
  523. package/lib/projection/ui/ProjectionVariablesMore.js +55 -0
  524. package/lib/projection/ui/ProjectionVariablesMore.js.map +1 -0
  525. package/lib/projection/ui/ProjectionVariablesTab.d.ts +78 -0
  526. package/lib/projection/ui/ProjectionVariablesTab.d.ts.map +1 -0
  527. package/lib/projection/ui/ProjectionVariablesTab.js +93 -0
  528. package/lib/projection/ui/ProjectionVariablesTab.js.map +1 -0
  529. package/lib/projection/ui/ProjectionViewer.d.ts +32 -0
  530. package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -0
  531. package/lib/projection/ui/ProjectionViewer.js +90 -0
  532. package/lib/projection/ui/ProjectionViewer.js.map +1 -0
  533. package/lib/projection/ui/index.d.ts +19 -0
  534. package/lib/projection/ui/index.d.ts.map +1 -0
  535. package/lib/projection/ui/index.js +15 -0
  536. package/lib/projection/ui/index.js.map +1 -0
  537. package/lib/projection/ui/projectionBarModel.d.ts +92 -0
  538. package/lib/projection/ui/projectionBarModel.d.ts.map +1 -0
  539. package/lib/projection/ui/projectionBarModel.js +140 -0
  540. package/lib/projection/ui/projectionBarModel.js.map +1 -0
  541. package/lib/projection/ui/projectionBarReadings.d.ts +65 -0
  542. package/lib/projection/ui/projectionBarReadings.d.ts.map +1 -0
  543. package/lib/projection/ui/projectionBarReadings.js +121 -0
  544. package/lib/projection/ui/projectionBarReadings.js.map +1 -0
  545. package/lib/projection/ui/projectionBarSlots.d.ts +59 -0
  546. package/lib/projection/ui/projectionBarSlots.d.ts.map +1 -0
  547. package/lib/projection/ui/projectionBarSlots.js +81 -0
  548. package/lib/projection/ui/projectionBarSlots.js.map +1 -0
  549. package/lib/projection/ui/projectionBarStyles.d.ts +102 -0
  550. package/lib/projection/ui/projectionBarStyles.d.ts.map +1 -0
  551. package/lib/projection/ui/projectionBarStyles.js +154 -0
  552. package/lib/projection/ui/projectionBarStyles.js.map +1 -0
  553. package/lib/projection/ui/projectionEllipse.d.ts +50 -0
  554. package/lib/projection/ui/projectionEllipse.d.ts.map +1 -0
  555. package/lib/projection/ui/projectionEllipse.js +101 -0
  556. package/lib/projection/ui/projectionEllipse.js.map +1 -0
  557. package/lib/projection/ui/projectionFormat.d.ts +13 -0
  558. package/lib/projection/ui/projectionFormat.d.ts.map +1 -0
  559. package/lib/projection/ui/projectionFormat.js +19 -0
  560. package/lib/projection/ui/projectionFormat.js.map +1 -0
  561. package/lib/projection/ui/projectionMapChoices.d.ts +31 -0
  562. package/lib/projection/ui/projectionMapChoices.d.ts.map +1 -0
  563. package/lib/projection/ui/projectionMapChoices.js +46 -0
  564. package/lib/projection/ui/projectionMapChoices.js.map +1 -0
  565. package/lib/projection/ui/projectionMapChrome.d.ts +73 -0
  566. package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -0
  567. package/lib/projection/ui/projectionMapChrome.js +135 -0
  568. package/lib/projection/ui/projectionMapChrome.js.map +1 -0
  569. package/lib/projection/ui/projectionMapModel.d.ts +114 -0
  570. package/lib/projection/ui/projectionMapModel.d.ts.map +1 -0
  571. package/lib/projection/ui/projectionMapModel.js +177 -0
  572. package/lib/projection/ui/projectionMapModel.js.map +1 -0
  573. package/lib/projection/ui/projectionMapView.d.ts +59 -0
  574. package/lib/projection/ui/projectionMapView.d.ts.map +1 -0
  575. package/lib/projection/ui/projectionMapView.js +90 -0
  576. package/lib/projection/ui/projectionMapView.js.map +1 -0
  577. package/lib/projection/ui/projectionPairsCeiling.d.ts +29 -0
  578. package/lib/projection/ui/projectionPairsCeiling.d.ts.map +1 -0
  579. package/lib/projection/ui/projectionPairsCeiling.js +29 -0
  580. package/lib/projection/ui/projectionPairsCeiling.js.map +1 -0
  581. package/lib/projection/ui/projectionSelection.d.ts +51 -0
  582. package/lib/projection/ui/projectionSelection.d.ts.map +1 -0
  583. package/lib/projection/ui/projectionSelection.js +66 -0
  584. package/lib/projection/ui/projectionSelection.js.map +1 -0
  585. package/lib/projection/ui/projectionTabInfo.d.ts +59 -0
  586. package/lib/projection/ui/projectionTabInfo.d.ts.map +1 -0
  587. package/lib/projection/ui/projectionTabInfo.js +108 -0
  588. package/lib/projection/ui/projectionTabInfo.js.map +1 -0
  589. package/lib/projection/ui/projectionTabModels.d.ts +49 -0
  590. package/lib/projection/ui/projectionTabModels.d.ts.map +1 -0
  591. package/lib/projection/ui/projectionTabModels.js +59 -0
  592. package/lib/projection/ui/projectionTabModels.js.map +1 -0
  593. package/lib/projection/ui/projectionTabStyles.d.ts +131 -0
  594. package/lib/projection/ui/projectionTabStyles.d.ts.map +1 -0
  595. package/lib/projection/ui/projectionTabStyles.js +134 -0
  596. package/lib/projection/ui/projectionTabStyles.js.map +1 -0
  597. package/lib/projection/ui/projectionVariablesModel.d.ts +104 -0
  598. package/lib/projection/ui/projectionVariablesModel.d.ts.map +1 -0
  599. package/lib/projection/ui/projectionVariablesModel.js +165 -0
  600. package/lib/projection/ui/projectionVariablesModel.js.map +1 -0
  601. package/lib/projection/ui/projectionVariablesWords.d.ts +50 -0
  602. package/lib/projection/ui/projectionVariablesWords.d.ts.map +1 -0
  603. package/lib/projection/ui/projectionVariablesWords.js +91 -0
  604. package/lib/projection/ui/projectionVariablesWords.js.map +1 -0
  605. package/lib/projection/ui/projectionViewChoices.d.ts +31 -0
  606. package/lib/projection/ui/projectionViewChoices.d.ts.map +1 -0
  607. package/lib/projection/ui/projectionViewChoices.js +53 -0
  608. package/lib/projection/ui/projectionViewChoices.js.map +1 -0
  609. package/lib/projection/ui/projectionViewerProps.d.ts +153 -0
  610. package/lib/projection/ui/projectionViewerProps.d.ts.map +1 -0
  611. package/lib/projection/ui/projectionViewerProps.js +9 -0
  612. package/lib/projection/ui/projectionViewerProps.js.map +1 -0
  613. package/lib/projection/ui/useProjectionState.d.ts +63 -0
  614. package/lib/projection/ui/useProjectionState.d.ts.map +1 -0
  615. package/lib/projection/ui/useProjectionState.js +107 -0
  616. package/lib/projection/ui/useProjectionState.js.map +1 -0
  617. package/lib/scatter/core/confidenceEllipse.d.ts +117 -0
  618. package/lib/scatter/core/confidenceEllipse.d.ts.map +1 -0
  619. package/lib/scatter/core/confidenceEllipse.js +132 -0
  620. package/lib/scatter/core/confidenceEllipse.js.map +1 -0
  621. package/lib/scatter/core/ellipseCoverage.d.ts +33 -0
  622. package/lib/scatter/core/ellipseCoverage.d.ts.map +1 -0
  623. package/lib/scatter/core/ellipseCoverage.js +46 -0
  624. package/lib/scatter/core/ellipseCoverage.js.map +1 -0
  625. package/lib/scatter/core/ellipseProjection.d.ts +53 -0
  626. package/lib/scatter/core/ellipseProjection.d.ts.map +1 -0
  627. package/lib/scatter/core/ellipseProjection.js +94 -0
  628. package/lib/scatter/core/ellipseProjection.js.map +1 -0
  629. package/lib/scatter/core/index.d.ts +24 -0
  630. package/lib/scatter/core/index.d.ts.map +1 -0
  631. package/lib/scatter/core/index.js +19 -0
  632. package/lib/scatter/core/index.js.map +1 -0
  633. package/lib/scatter/core/lassoPath.d.ts +60 -0
  634. package/lib/scatter/core/lassoPath.d.ts.map +1 -0
  635. package/lib/scatter/core/lassoPath.js +101 -0
  636. package/lib/scatter/core/lassoPath.js.map +1 -0
  637. package/lib/scatter/core/polygon.d.ts +58 -0
  638. package/lib/scatter/core/polygon.d.ts.map +1 -0
  639. package/lib/scatter/core/polygon.js +140 -0
  640. package/lib/scatter/core/polygon.js.map +1 -0
  641. package/lib/scatter/core/scatterSelection.d.ts +44 -0
  642. package/lib/scatter/core/scatterSelection.d.ts.map +1 -0
  643. package/lib/scatter/core/scatterSelection.js +81 -0
  644. package/lib/scatter/core/scatterSelection.js.map +1 -0
  645. package/lib/scatter/core/screenPoints.d.ts +58 -0
  646. package/lib/scatter/core/screenPoints.d.ts.map +1 -0
  647. package/lib/scatter/core/screenPoints.js +78 -0
  648. package/lib/scatter/core/screenPoints.js.map +1 -0
  649. package/lib/scatter/ui/ScatterEllipseLayer.d.ts +69 -0
  650. package/lib/scatter/ui/ScatterEllipseLayer.d.ts.map +1 -0
  651. package/lib/scatter/ui/ScatterEllipseLayer.js +77 -0
  652. package/lib/scatter/ui/ScatterEllipseLayer.js.map +1 -0
  653. package/lib/scatter/ui/ScatterLabelLayer.d.ts +40 -0
  654. package/lib/scatter/ui/ScatterLabelLayer.d.ts.map +1 -0
  655. package/lib/scatter/ui/ScatterLabelLayer.js +77 -0
  656. package/lib/scatter/ui/ScatterLabelLayer.js.map +1 -0
  657. package/lib/scatter/ui/ScatterMarkLayer.d.ts +68 -0
  658. package/lib/scatter/ui/ScatterMarkLayer.d.ts.map +1 -0
  659. package/lib/scatter/ui/ScatterMarkLayer.js +134 -0
  660. package/lib/scatter/ui/ScatterMarkLayer.js.map +1 -0
  661. package/lib/scatter/ui/ScatterMatrix.d.ts +19 -0
  662. package/lib/scatter/ui/ScatterMatrix.d.ts.map +1 -0
  663. package/lib/scatter/ui/ScatterMatrix.js +125 -0
  664. package/lib/scatter/ui/ScatterMatrix.js.map +1 -0
  665. package/lib/scatter/ui/ScatterMatrixCell.d.ts +24 -0
  666. package/lib/scatter/ui/ScatterMatrixCell.d.ts.map +1 -0
  667. package/lib/scatter/ui/ScatterMatrixCell.js +90 -0
  668. package/lib/scatter/ui/ScatterMatrixCell.js.map +1 -0
  669. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts +78 -0
  670. package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts.map +1 -0
  671. package/lib/scatter/ui/ScatterMatrixDiagonal.js +83 -0
  672. package/lib/scatter/ui/ScatterMatrixDiagonal.js.map +1 -0
  673. package/lib/scatter/ui/ScatterPlot.d.ts +17 -0
  674. package/lib/scatter/ui/ScatterPlot.d.ts.map +1 -0
  675. package/lib/scatter/ui/ScatterPlot.js +91 -0
  676. package/lib/scatter/ui/ScatterPlot.js.map +1 -0
  677. package/lib/scatter/ui/ScatterPointLayer.d.ts +67 -0
  678. package/lib/scatter/ui/ScatterPointLayer.d.ts.map +1 -0
  679. package/lib/scatter/ui/ScatterPointLayer.js +87 -0
  680. package/lib/scatter/ui/ScatterPointLayer.js.map +1 -0
  681. package/lib/scatter/ui/index.d.ts +53 -0
  682. package/lib/scatter/ui/index.d.ts.map +1 -0
  683. package/lib/scatter/ui/index.js +34 -0
  684. package/lib/scatter/ui/index.js.map +1 -0
  685. package/lib/scatter/ui/lassoGesture.d.ts +185 -0
  686. package/lib/scatter/ui/lassoGesture.d.ts.map +1 -0
  687. package/lib/scatter/ui/lassoGesture.js +100 -0
  688. package/lib/scatter/ui/lassoGesture.js.map +1 -0
  689. package/lib/scatter/ui/scatterGroupSpread.d.ts +81 -0
  690. package/lib/scatter/ui/scatterGroupSpread.d.ts.map +1 -0
  691. package/lib/scatter/ui/scatterGroupSpread.js +147 -0
  692. package/lib/scatter/ui/scatterGroupSpread.js.map +1 -0
  693. package/lib/scatter/ui/scatterLabelBoxes.d.ts +94 -0
  694. package/lib/scatter/ui/scatterLabelBoxes.d.ts.map +1 -0
  695. package/lib/scatter/ui/scatterLabelBoxes.js +140 -0
  696. package/lib/scatter/ui/scatterLabelBoxes.js.map +1 -0
  697. package/lib/scatter/ui/scatterLabelPlacement.d.ts +96 -0
  698. package/lib/scatter/ui/scatterLabelPlacement.d.ts.map +1 -0
  699. package/lib/scatter/ui/scatterLabelPlacement.js +210 -0
  700. package/lib/scatter/ui/scatterLabelPlacement.js.map +1 -0
  701. package/lib/scatter/ui/scatterLabels.d.ts +81 -0
  702. package/lib/scatter/ui/scatterLabels.d.ts.map +1 -0
  703. package/lib/scatter/ui/scatterLabels.js +101 -0
  704. package/lib/scatter/ui/scatterLabels.js.map +1 -0
  705. package/lib/scatter/ui/scatterMarkGlyph.d.ts +37 -0
  706. package/lib/scatter/ui/scatterMarkGlyph.d.ts.map +1 -0
  707. package/lib/scatter/ui/scatterMarkGlyph.js +33 -0
  708. package/lib/scatter/ui/scatterMarkGlyph.js.map +1 -0
  709. package/lib/scatter/ui/scatterMatrixDots.d.ts +24 -0
  710. package/lib/scatter/ui/scatterMatrixDots.d.ts.map +1 -0
  711. package/lib/scatter/ui/scatterMatrixDots.js +84 -0
  712. package/lib/scatter/ui/scatterMatrixDots.js.map +1 -0
  713. package/lib/scatter/ui/scatterMatrixLayout.d.ts +93 -0
  714. package/lib/scatter/ui/scatterMatrixLayout.d.ts.map +1 -0
  715. package/lib/scatter/ui/scatterMatrixLayout.js +117 -0
  716. package/lib/scatter/ui/scatterMatrixLayout.js.map +1 -0
  717. package/lib/scatter/ui/scatterMatrixOutlines.d.ts +27 -0
  718. package/lib/scatter/ui/scatterMatrixOutlines.d.ts.map +1 -0
  719. package/lib/scatter/ui/scatterMatrixOutlines.js +34 -0
  720. package/lib/scatter/ui/scatterMatrixOutlines.js.map +1 -0
  721. package/lib/scatter/ui/scatterMatrixProps.d.ts +99 -0
  722. package/lib/scatter/ui/scatterMatrixProps.d.ts.map +1 -0
  723. package/lib/scatter/ui/scatterMatrixProps.js +10 -0
  724. package/lib/scatter/ui/scatterMatrixProps.js.map +1 -0
  725. package/lib/scatter/ui/scatterOutlineShape.d.ts +63 -0
  726. package/lib/scatter/ui/scatterOutlineShape.d.ts.map +1 -0
  727. package/lib/scatter/ui/scatterOutlineShape.js +82 -0
  728. package/lib/scatter/ui/scatterOutlineShape.js.map +1 -0
  729. package/lib/scatter/ui/scatterPlotModel.d.ts +107 -0
  730. package/lib/scatter/ui/scatterPlotModel.d.ts.map +1 -0
  731. package/lib/scatter/ui/scatterPlotModel.js +139 -0
  732. package/lib/scatter/ui/scatterPlotModel.js.map +1 -0
  733. package/lib/scatter/ui/scatterPlotProps.d.ts +235 -0
  734. package/lib/scatter/ui/scatterPlotProps.d.ts.map +1 -0
  735. package/lib/scatter/ui/scatterPlotProps.js +10 -0
  736. package/lib/scatter/ui/scatterPlotProps.js.map +1 -0
  737. package/lib/scatter/ui/useLassoGesture.d.ts +18 -0
  738. package/lib/scatter/ui/useLassoGesture.d.ts.map +1 -0
  739. package/lib/scatter/ui/useLassoGesture.js +140 -0
  740. package/lib/scatter/ui/useLassoGesture.js.map +1 -0
  741. package/lib/scatter/ui/usePointHover.d.ts +88 -0
  742. package/lib/scatter/ui/usePointHover.d.ts.map +1 -0
  743. package/lib/scatter/ui/usePointHover.js +88 -0
  744. package/lib/scatter/ui/usePointHover.js.map +1 -0
  745. package/lib/scatter/ui/useScatterFrame.d.ts +80 -0
  746. package/lib/scatter/ui/useScatterFrame.d.ts.map +1 -0
  747. package/lib/scatter/ui/useScatterFrame.js +101 -0
  748. package/lib/scatter/ui/useScatterFrame.js.map +1 -0
  749. package/lib/scatter/ui/useScatterInteraction.d.ts +103 -0
  750. package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -0
  751. package/lib/scatter/ui/useScatterInteraction.js +93 -0
  752. package/lib/scatter/ui/useScatterInteraction.js.map +1 -0
  753. package/lib/scatter/ui/useScatterKeyboard.d.ts +60 -0
  754. package/lib/scatter/ui/useScatterKeyboard.d.ts.map +1 -0
  755. package/lib/scatter/ui/useScatterKeyboard.js +56 -0
  756. package/lib/scatter/ui/useScatterKeyboard.js.map +1 -0
  757. package/lib/scatter/ui/useScatterSelection.d.ts +78 -0
  758. package/lib/scatter/ui/useScatterSelection.d.ts.map +1 -0
  759. package/lib/scatter/ui/useScatterSelection.js +72 -0
  760. package/lib/scatter/ui/useScatterSelection.js.map +1 -0
  761. package/lib/share/core/query.d.ts +10 -4
  762. package/lib/share/core/query.d.ts.map +1 -1
  763. package/lib/share/core/query.js +11 -7
  764. package/lib/share/core/query.js.map +1 -1
  765. package/lib/spectra/core/axisEntries.d.ts +50 -0
  766. package/lib/spectra/core/axisEntries.d.ts.map +1 -0
  767. package/lib/spectra/core/axisEntries.js +78 -0
  768. package/lib/spectra/core/axisEntries.js.map +1 -0
  769. package/lib/spectra/core/chainProblems.d.ts +14 -0
  770. package/lib/spectra/core/chainProblems.d.ts.map +1 -0
  771. package/lib/spectra/core/chainProblems.js +100 -0
  772. package/lib/spectra/core/chainProblems.js.map +1 -0
  773. package/lib/spectra/core/filterCatalog.d.ts +57 -0
  774. package/lib/spectra/core/filterCatalog.d.ts.map +1 -0
  775. package/lib/spectra/core/filterCatalog.js +81 -0
  776. package/lib/spectra/core/filterCatalog.js.map +1 -0
  777. package/lib/spectra/core/filterChain.d.ts +69 -0
  778. package/lib/spectra/core/filterChain.d.ts.map +1 -0
  779. package/lib/spectra/core/filterChain.js +163 -0
  780. package/lib/spectra/core/filterChain.js.map +1 -0
  781. package/lib/spectra/core/filterEntries.d.ts +136 -0
  782. package/lib/spectra/core/filterEntries.d.ts.map +1 -0
  783. package/lib/spectra/core/filterEntries.js +139 -0
  784. package/lib/spectra/core/filterEntries.js.map +1 -0
  785. package/lib/spectra/core/filterFields.d.ts +94 -0
  786. package/lib/spectra/core/filterFields.d.ts.map +1 -0
  787. package/lib/spectra/core/filterFields.js +82 -0
  788. package/lib/spectra/core/filterFields.js.map +1 -0
  789. package/lib/spectra/core/index.d.ts +14 -0
  790. package/lib/spectra/core/index.d.ts.map +1 -0
  791. package/lib/spectra/core/index.js +9 -0
  792. package/lib/spectra/core/index.js.map +1 -0
  793. package/lib/spectra/core/principalComponents.d.ts +70 -0
  794. package/lib/spectra/core/principalComponents.d.ts.map +1 -0
  795. package/lib/spectra/core/principalComponents.js +90 -0
  796. package/lib/spectra/core/principalComponents.js.map +1 -0
  797. package/lib/spectra/core/problems.d.ts +57 -0
  798. package/lib/spectra/core/problems.d.ts.map +1 -0
  799. package/lib/spectra/core/problems.js +121 -0
  800. package/lib/spectra/core/problems.js.map +1 -0
  801. package/lib/spectra/core/settings.d.ts +67 -0
  802. package/lib/spectra/core/settings.d.ts.map +1 -0
  803. package/lib/spectra/core/settings.js +35 -0
  804. package/lib/spectra/core/settings.js.map +1 -0
  805. package/lib/spectra/core/settingsProblems.d.ts +18 -0
  806. package/lib/spectra/core/settingsProblems.d.ts.map +1 -0
  807. package/lib/spectra/core/settingsProblems.js +148 -0
  808. package/lib/spectra/core/settingsProblems.js.map +1 -0
  809. package/lib/spectra/core/stepProblems.d.ts +13 -0
  810. package/lib/spectra/core/stepProblems.d.ts.map +1 -0
  811. package/lib/spectra/core/stepProblems.js +133 -0
  812. package/lib/spectra/core/stepProblems.js.map +1 -0
  813. package/lib/spectra/ui/CalculationRows.d.ts +21 -0
  814. package/lib/spectra/ui/CalculationRows.d.ts.map +1 -0
  815. package/lib/spectra/ui/CalculationRows.js +77 -0
  816. package/lib/spectra/ui/CalculationRows.js.map +1 -0
  817. package/lib/spectra/ui/FilterChainEditor.d.ts +34 -0
  818. package/lib/spectra/ui/FilterChainEditor.d.ts.map +1 -0
  819. package/lib/spectra/ui/FilterChainEditor.js +111 -0
  820. package/lib/spectra/ui/FilterChainEditor.js.map +1 -0
  821. package/lib/spectra/ui/FilterChoiceControl.d.ts +23 -0
  822. package/lib/spectra/ui/FilterChoiceControl.d.ts.map +1 -0
  823. package/lib/spectra/ui/FilterChoiceControl.js +65 -0
  824. package/lib/spectra/ui/FilterChoiceControl.js.map +1 -0
  825. package/lib/spectra/ui/FilterFieldControl.d.ts +25 -0
  826. package/lib/spectra/ui/FilterFieldControl.d.ts.map +1 -0
  827. package/lib/spectra/ui/FilterFieldControl.js +68 -0
  828. package/lib/spectra/ui/FilterFieldControl.js.map +1 -0
  829. package/lib/spectra/ui/FilterRow.d.ts +33 -0
  830. package/lib/spectra/ui/FilterRow.d.ts.map +1 -0
  831. package/lib/spectra/ui/FilterRow.js +76 -0
  832. package/lib/spectra/ui/FilterRow.js.map +1 -0
  833. package/lib/spectra/ui/MatrixFilterRows.d.ts +22 -0
  834. package/lib/spectra/ui/MatrixFilterRows.d.ts.map +1 -0
  835. package/lib/spectra/ui/MatrixFilterRows.js +92 -0
  836. package/lib/spectra/ui/MatrixFilterRows.js.map +1 -0
  837. package/lib/spectra/ui/NormalizationEditor.d.ts +24 -0
  838. package/lib/spectra/ui/NormalizationEditor.d.ts.map +1 -0
  839. package/lib/spectra/ui/NormalizationEditor.js +108 -0
  840. package/lib/spectra/ui/NormalizationEditor.js.map +1 -0
  841. package/lib/spectra/ui/NumberField.d.ts +41 -0
  842. package/lib/spectra/ui/NumberField.d.ts.map +1 -0
  843. package/lib/spectra/ui/NumberField.js +81 -0
  844. package/lib/spectra/ui/NumberField.js.map +1 -0
  845. package/lib/spectra/ui/PostProcessingEditor.d.ts +29 -0
  846. package/lib/spectra/ui/PostProcessingEditor.d.ts.map +1 -0
  847. package/lib/spectra/ui/PostProcessingEditor.js +53 -0
  848. package/lib/spectra/ui/PostProcessingEditor.js.map +1 -0
  849. package/lib/spectra/ui/PrincipalComponentSelect.d.ts +40 -0
  850. package/lib/spectra/ui/PrincipalComponentSelect.d.ts.map +1 -0
  851. package/lib/spectra/ui/PrincipalComponentSelect.js +97 -0
  852. package/lib/spectra/ui/PrincipalComponentSelect.js.map +1 -0
  853. package/lib/spectra/ui/ProblemList.d.ts +24 -0
  854. package/lib/spectra/ui/ProblemList.d.ts.map +1 -0
  855. package/lib/spectra/ui/ProblemList.js +40 -0
  856. package/lib/spectra/ui/ProblemList.js.map +1 -0
  857. package/lib/spectra/ui/RangeRows.d.ts +23 -0
  858. package/lib/spectra/ui/RangeRows.d.ts.map +1 -0
  859. package/lib/spectra/ui/RangeRows.js +76 -0
  860. package/lib/spectra/ui/RangeRows.js.map +1 -0
  861. package/lib/spectra/ui/ScaleFields.d.ts +28 -0
  862. package/lib/spectra/ui/ScaleFields.d.ts.map +1 -0
  863. package/lib/spectra/ui/ScaleFields.js +67 -0
  864. package/lib/spectra/ui/ScaleFields.js.map +1 -0
  865. package/lib/spectra/ui/SettingsPart.d.ts +25 -0
  866. package/lib/spectra/ui/SettingsPart.d.ts.map +1 -0
  867. package/lib/spectra/ui/SettingsPart.js +35 -0
  868. package/lib/spectra/ui/SettingsPart.js.map +1 -0
  869. package/lib/spectra/ui/SpectraSettingsEditor.d.ts +62 -0
  870. package/lib/spectra/ui/SpectraSettingsEditor.d.ts.map +1 -0
  871. package/lib/spectra/ui/SpectraSettingsEditor.js +39 -0
  872. package/lib/spectra/ui/SpectraSettingsEditor.js.map +1 -0
  873. package/lib/spectra/ui/SpectrumSelection.d.ts +30 -0
  874. package/lib/spectra/ui/SpectrumSelection.d.ts.map +1 -0
  875. package/lib/spectra/ui/SpectrumSelection.js +116 -0
  876. package/lib/spectra/ui/SpectrumSelection.js.map +1 -0
  877. package/lib/spectra/ui/ZoneRows.d.ts +41 -0
  878. package/lib/spectra/ui/ZoneRows.d.ts.map +1 -0
  879. package/lib/spectra/ui/ZoneRows.js +70 -0
  880. package/lib/spectra/ui/ZoneRows.js.map +1 -0
  881. package/lib/spectra/ui/index.d.ts +7 -0
  882. package/lib/spectra/ui/index.d.ts.map +1 -0
  883. package/lib/spectra/ui/index.js +4 -0
  884. package/lib/spectra/ui/index.js.map +1 -0
  885. package/lib/spectra/ui/matrixSteps.d.ts +61 -0
  886. package/lib/spectra/ui/matrixSteps.d.ts.map +1 -0
  887. package/lib/spectra/ui/matrixSteps.js +92 -0
  888. package/lib/spectra/ui/matrixSteps.js.map +1 -0
  889. package/lib/spectra/ui/problemsAbout.d.ts +14 -0
  890. package/lib/spectra/ui/problemsAbout.d.ts.map +1 -0
  891. package/lib/spectra/ui/problemsAbout.js +15 -0
  892. package/lib/spectra/ui/problemsAbout.js.map +1 -0
  893. package/lib/spectra/ui/rowKeys.d.ts +27 -0
  894. package/lib/spectra/ui/rowKeys.d.ts.map +1 -0
  895. package/lib/spectra/ui/rowKeys.js +45 -0
  896. package/lib/spectra/ui/rowKeys.js.map +1 -0
  897. package/lib/spectra/ui/scaleOptions.d.ts +50 -0
  898. package/lib/spectra/ui/scaleOptions.d.ts.map +1 -0
  899. package/lib/spectra/ui/scaleOptions.js +103 -0
  900. package/lib/spectra/ui/scaleOptions.js.map +1 -0
  901. package/lib/ui.d.ts +6 -0
  902. package/lib/ui.d.ts.map +1 -1
  903. package/lib/ui.js +6 -0
  904. package/lib/ui.js.map +1 -1
  905. package/package.json +17 -1
  906. package/src/chart/core/chartAxisScale.ts +249 -0
  907. package/src/chart/core/chartBand.ts +82 -0
  908. package/src/chart/core/chartBins.ts +96 -0
  909. package/src/chart/core/chartExtent.ts +203 -0
  910. package/src/chart/core/chartLabels.ts +68 -0
  911. package/src/chart/core/chartPalette.ts +71 -0
  912. package/src/chart/core/chartScale.ts +72 -0
  913. package/src/chart/core/chartViewport.ts +211 -0
  914. package/src/chart/core/index.ts +58 -0
  915. package/src/chart/core/matrix.ts +100 -0
  916. package/src/chart/ui/ChartAxis.tsx +232 -0
  917. package/src/chart/ui/ChartFrame.tsx +246 -0
  918. package/src/chart/ui/ChartSeriesMarks.tsx +98 -0
  919. package/src/chart/ui/ChartTrackingLayer.tsx +192 -0
  920. package/src/chart/ui/TrackedLineChart.tsx +267 -0
  921. package/src/chart/ui/TrackedStickChart.tsx +197 -0
  922. package/src/chart/ui/chartStyles.ts +194 -0
  923. package/src/chart/ui/index.ts +34 -0
  924. package/src/chart/ui/stickChartModel.ts +201 -0
  925. package/src/chart/ui/useWheelZoom.ts +177 -0
  926. package/src/color/core/gradient.ts +29 -0
  927. package/src/color/core/hsv.ts +112 -0
  928. package/src/color/core/index.ts +27 -1
  929. package/src/color/core/interpolate.ts +179 -0
  930. package/src/color/core/scale.ts +17 -49
  931. package/src/color/core/scaleData.ts +128 -0
  932. package/src/color/core/scaleText.ts +134 -0
  933. package/src/color/core/scales.ts +148 -0
  934. package/src/color/ui/ColorScaleBar.tsx +73 -0
  935. package/src/color/ui/ColorScaleEditor.tsx +243 -0
  936. package/src/color/ui/ColorScaleSelect.tsx +252 -0
  937. package/src/color/ui/index.ts +6 -0
  938. package/src/core.ts +5 -0
  939. package/src/credits/core/credits.ts +20 -0
  940. package/src/download/core/cssTokens.ts +90 -0
  941. package/src/download/core/downloadFigure.ts +66 -0
  942. package/src/download/core/figurePng.ts +87 -0
  943. package/src/download/core/figureScale.ts +83 -0
  944. package/src/download/core/figureSvg.ts +130 -0
  945. package/src/download/core/figureSvgDocument.ts +129 -0
  946. package/src/download/core/figureTarget.ts +130 -0
  947. package/src/download/core/index.ts +28 -0
  948. package/src/download/ui/FigureDownload.tsx +158 -0
  949. package/src/download/ui/FigureDownloadPanel.tsx +165 -0
  950. package/src/download/ui/index.ts +13 -0
  951. package/src/ecosystem/core/sites.ts +12 -1
  952. package/src/ecosystem/ui/glyphs.tsx +16 -0
  953. package/src/overlay/core/emptiestCorner.ts +122 -0
  954. package/src/overlay/core/index.ts +34 -0
  955. package/src/overlay/core/overlayCollapse.ts +20 -0
  956. package/src/overlay/core/overlayMarks.ts +43 -0
  957. package/src/overlay/core/overlayMetrics.ts +112 -0
  958. package/src/overlay/core/overlayPlacement.ts +80 -0
  959. package/src/overlay/core/overlayTierRoom.ts +199 -0
  960. package/src/overlay/core/overlayTiers.ts +130 -0
  961. package/src/overlay/core/placeOverlayCard.ts +93 -0
  962. package/src/overlay/ui/OverlayAction.tsx +66 -0
  963. package/src/overlay/ui/OverlayBar.tsx +188 -0
  964. package/src/overlay/ui/OverlayBarButton.tsx +83 -0
  965. package/src/overlay/ui/OverlayBarCard.tsx +78 -0
  966. package/src/overlay/ui/OverlayBarStrip.tsx +62 -0
  967. package/src/overlay/ui/OverlayCaption.tsx +124 -0
  968. package/src/overlay/ui/OverlayChip.tsx +181 -0
  969. package/src/overlay/ui/OverlayDivider.tsx +24 -0
  970. package/src/overlay/ui/OverlayGroup.tsx +157 -0
  971. package/src/overlay/ui/OverlayIconButton.tsx +131 -0
  972. package/src/overlay/ui/OverlayInfo.tsx +92 -0
  973. package/src/overlay/ui/OverlayLayer.tsx +118 -0
  974. package/src/overlay/ui/OverlayLegend.tsx +222 -0
  975. package/src/overlay/ui/OverlayLegendMark.tsx +95 -0
  976. package/src/overlay/ui/OverlayNumber.tsx +160 -0
  977. package/src/overlay/ui/OverlayPanel.tsx +162 -0
  978. package/src/overlay/ui/OverlayPills.tsx +157 -0
  979. package/src/overlay/ui/OverlayReadout.tsx +247 -0
  980. package/src/overlay/ui/OverlayRow.tsx +200 -0
  981. package/src/overlay/ui/OverlaySegmented.tsx +67 -0
  982. package/src/overlay/ui/OverlaySelect.tsx +114 -0
  983. package/src/overlay/ui/OverlaySwatchIcon.tsx +126 -0
  984. package/src/overlay/ui/OverlayToggle.tsx +136 -0
  985. package/src/overlay/ui/OverlayValueButton.tsx +149 -0
  986. package/src/overlay/ui/OverlayValueMenu.tsx +141 -0
  987. package/src/overlay/ui/index.ts +72 -0
  988. package/src/overlay/ui/overlayBarShape.ts +113 -0
  989. package/src/overlay/ui/overlayControlStyles.ts +176 -0
  990. package/src/overlay/ui/overlayFigureStyles.ts +111 -0
  991. package/src/overlay/ui/overlayPanelContext.ts +42 -0
  992. package/src/overlay/ui/overlayPanelStyles.ts +235 -0
  993. package/src/overlay/ui/overlayPillKeys.ts +45 -0
  994. package/src/overlay/ui/overlayPillStyles.ts +190 -0
  995. package/src/overlay/ui/overlayRowStyles.ts +166 -0
  996. package/src/overlay/ui/overlayStepperStyles.ts +112 -0
  997. package/src/overlay/ui/overlayStyles.ts +222 -0
  998. package/src/overlay/ui/overlaySurface.ts +120 -0
  999. package/src/overlay/ui/overlaySwitchStyles.ts +136 -0
  1000. package/src/overlay/ui/overlayValueStyles.ts +210 -0
  1001. package/src/projection/core/embeddingResult.ts +119 -0
  1002. package/src/projection/core/explainedShares.ts +105 -0
  1003. package/src/projection/core/index.ts +81 -0
  1004. package/src/projection/core/loadingProfiles.ts +226 -0
  1005. package/src/projection/core/pcaLike.ts +33 -0
  1006. package/src/projection/core/pcaResult.ts +238 -0
  1007. package/src/projection/core/projectionCopy.ts +252 -0
  1008. package/src/projection/core/projectionCopyPatch.ts +12 -0
  1009. package/src/projection/core/projectionOptions.ts +238 -0
  1010. package/src/projection/core/projectionResult.ts +123 -0
  1011. package/src/projection/core/projectionSamples.ts +170 -0
  1012. package/src/projection/core/projectionStrings.ts +265 -0
  1013. package/src/projection/core/projectionTabDefaults.ts +51 -0
  1014. package/src/projection/core/projectionTabs.ts +56 -0
  1015. package/src/projection/core/variableAxis.ts +161 -0
  1016. package/src/projection/core/variablesView.ts +53 -0
  1017. package/src/projection/ui/PcaViewer.tsx +80 -0
  1018. package/src/projection/ui/ProjectionBar.tsx +222 -0
  1019. package/src/projection/ui/ProjectionMapCaption.tsx +96 -0
  1020. package/src/projection/ui/ProjectionMapControls.tsx +271 -0
  1021. package/src/projection/ui/ProjectionMapLegend.tsx +70 -0
  1022. package/src/projection/ui/ProjectionMapMore.tsx +178 -0
  1023. package/src/projection/ui/ProjectionMapTab.tsx +205 -0
  1024. package/src/projection/ui/ProjectionPairsControls.tsx +58 -0
  1025. package/src/projection/ui/ProjectionPairsMore.tsx +95 -0
  1026. package/src/projection/ui/ProjectionPairsTab.tsx +159 -0
  1027. package/src/projection/ui/ProjectionPanel.tsx +199 -0
  1028. package/src/projection/ui/ProjectionReadout.tsx +149 -0
  1029. package/src/projection/ui/ProjectionSharesControls.tsx +56 -0
  1030. package/src/projection/ui/ProjectionSharesMarks.tsx +241 -0
  1031. package/src/projection/ui/ProjectionSharesMore.tsx +53 -0
  1032. package/src/projection/ui/ProjectionSharesTab.tsx +118 -0
  1033. package/src/projection/ui/ProjectionSurface.tsx +63 -0
  1034. package/src/projection/ui/ProjectionTabStrip.tsx +144 -0
  1035. package/src/projection/ui/ProjectionVariablesControls.tsx +62 -0
  1036. package/src/projection/ui/ProjectionVariablesMore.tsx +144 -0
  1037. package/src/projection/ui/ProjectionVariablesTab.tsx +216 -0
  1038. package/src/projection/ui/ProjectionViewer.tsx +143 -0
  1039. package/src/projection/ui/index.ts +19 -0
  1040. package/src/projection/ui/projectionBarModel.ts +193 -0
  1041. package/src/projection/ui/projectionBarReadings.ts +177 -0
  1042. package/src/projection/ui/projectionBarSlots.tsx +139 -0
  1043. package/src/projection/ui/projectionBarStyles.ts +174 -0
  1044. package/src/projection/ui/projectionEllipse.ts +104 -0
  1045. package/src/projection/ui/projectionFormat.ts +18 -0
  1046. package/src/projection/ui/projectionMapChoices.ts +64 -0
  1047. package/src/projection/ui/projectionMapChrome.ts +207 -0
  1048. package/src/projection/ui/projectionMapModel.ts +253 -0
  1049. package/src/projection/ui/projectionMapView.ts +188 -0
  1050. package/src/projection/ui/projectionPairsCeiling.ts +45 -0
  1051. package/src/projection/ui/projectionSelection.ts +87 -0
  1052. package/src/projection/ui/projectionTabInfo.ts +126 -0
  1053. package/src/projection/ui/projectionTabModels.ts +106 -0
  1054. package/src/projection/ui/projectionTabStyles.ts +161 -0
  1055. package/src/projection/ui/projectionVariablesModel.ts +231 -0
  1056. package/src/projection/ui/projectionVariablesWords.ts +105 -0
  1057. package/src/projection/ui/projectionViewChoices.ts +77 -0
  1058. package/src/projection/ui/projectionViewerProps.ts +155 -0
  1059. package/src/projection/ui/useProjectionState.ts +224 -0
  1060. package/src/scatter/core/confidenceEllipse.ts +230 -0
  1061. package/src/scatter/core/ellipseCoverage.ts +46 -0
  1062. package/src/scatter/core/ellipseProjection.ts +126 -0
  1063. package/src/scatter/core/index.ts +48 -0
  1064. package/src/scatter/core/lassoPath.ts +127 -0
  1065. package/src/scatter/core/polygon.ts +155 -0
  1066. package/src/scatter/core/scatterSelection.ts +88 -0
  1067. package/src/scatter/core/screenPoints.ts +110 -0
  1068. package/src/scatter/ui/ScatterEllipseLayer.tsx +153 -0
  1069. package/src/scatter/ui/ScatterLabelLayer.tsx +135 -0
  1070. package/src/scatter/ui/ScatterMarkLayer.tsx +245 -0
  1071. package/src/scatter/ui/ScatterMatrix.tsx +177 -0
  1072. package/src/scatter/ui/ScatterMatrixCell.tsx +140 -0
  1073. package/src/scatter/ui/ScatterMatrixDiagonal.tsx +182 -0
  1074. package/src/scatter/ui/ScatterPlot.tsx +234 -0
  1075. package/src/scatter/ui/ScatterPointLayer.tsx +168 -0
  1076. package/src/scatter/ui/index.ts +123 -0
  1077. package/src/scatter/ui/lassoGesture.ts +237 -0
  1078. package/src/scatter/ui/scatterGroupSpread.ts +206 -0
  1079. package/src/scatter/ui/scatterLabelBoxes.ts +177 -0
  1080. package/src/scatter/ui/scatterLabelPlacement.ts +325 -0
  1081. package/src/scatter/ui/scatterLabels.ts +147 -0
  1082. package/src/scatter/ui/scatterMarkGlyph.tsx +94 -0
  1083. package/src/scatter/ui/scatterMatrixDots.tsx +134 -0
  1084. package/src/scatter/ui/scatterMatrixLayout.ts +133 -0
  1085. package/src/scatter/ui/scatterMatrixOutlines.tsx +53 -0
  1086. package/src/scatter/ui/scatterMatrixProps.ts +103 -0
  1087. package/src/scatter/ui/scatterOutlineShape.tsx +169 -0
  1088. package/src/scatter/ui/scatterPlotModel.ts +200 -0
  1089. package/src/scatter/ui/scatterPlotProps.ts +240 -0
  1090. package/src/scatter/ui/useLassoGesture.ts +214 -0
  1091. package/src/scatter/ui/usePointHover.ts +187 -0
  1092. package/src/scatter/ui/useScatterFrame.ts +191 -0
  1093. package/src/scatter/ui/useScatterInteraction.ts +237 -0
  1094. package/src/scatter/ui/useScatterKeyboard.ts +120 -0
  1095. package/src/scatter/ui/useScatterSelection.ts +189 -0
  1096. package/src/share/core/query.ts +11 -7
  1097. package/src/spectra/core/axisEntries.ts +107 -0
  1098. package/src/spectra/core/chainProblems.ts +165 -0
  1099. package/src/spectra/core/filterCatalog.ts +100 -0
  1100. package/src/spectra/core/filterChain.ts +194 -0
  1101. package/src/spectra/core/filterEntries.ts +214 -0
  1102. package/src/spectra/core/filterFields.ts +159 -0
  1103. package/src/spectra/core/index.ts +67 -0
  1104. package/src/spectra/core/principalComponents.ts +130 -0
  1105. package/src/spectra/core/problems.ts +143 -0
  1106. package/src/spectra/core/settings.ts +119 -0
  1107. package/src/spectra/core/settingsProblems.ts +222 -0
  1108. package/src/spectra/core/stepProblems.ts +228 -0
  1109. package/src/spectra/ui/CalculationRows.tsx +161 -0
  1110. package/src/spectra/ui/FilterChainEditor.tsx +199 -0
  1111. package/src/spectra/ui/FilterChoiceControl.tsx +153 -0
  1112. package/src/spectra/ui/FilterFieldControl.tsx +105 -0
  1113. package/src/spectra/ui/FilterRow.tsx +190 -0
  1114. package/src/spectra/ui/MatrixFilterRows.tsx +184 -0
  1115. package/src/spectra/ui/NormalizationEditor.tsx +235 -0
  1116. package/src/spectra/ui/NumberField.tsx +126 -0
  1117. package/src/spectra/ui/PostProcessingEditor.tsx +136 -0
  1118. package/src/spectra/ui/PrincipalComponentSelect.tsx +245 -0
  1119. package/src/spectra/ui/ProblemList.tsx +77 -0
  1120. package/src/spectra/ui/RangeRows.tsx +175 -0
  1121. package/src/spectra/ui/ScaleFields.tsx +183 -0
  1122. package/src/spectra/ui/SettingsPart.tsx +60 -0
  1123. package/src/spectra/ui/SpectraSettingsEditor.tsx +143 -0
  1124. package/src/spectra/ui/SpectrumSelection.tsx +193 -0
  1125. package/src/spectra/ui/ZoneRows.tsx +159 -0
  1126. package/src/spectra/ui/index.ts +9 -0
  1127. package/src/spectra/ui/matrixSteps.ts +128 -0
  1128. package/src/spectra/ui/problemsAbout.ts +21 -0
  1129. package/src/spectra/ui/rowKeys.ts +47 -0
  1130. package/src/spectra/ui/scaleOptions.ts +116 -0
  1131. package/src/ui.ts +6 -0
@@ -0,0 +1,114 @@
1
+ import { HTMLSelect } from '@blueprintjs/core';
2
+ import type { ReactElement } from 'react';
3
+
4
+ import type { OverlayControlProps, OverlayOption } from './OverlayRow.tsx';
5
+ import { OverlayRow } from './OverlayRow.tsx';
6
+ import { OverlayValueMenu } from './OverlayValueMenu.tsx';
7
+ import { useOverlayPanelShape } from './overlayPanelContext.ts';
8
+ import { useOverlaySurface } from './overlaySurface.ts';
9
+
10
+ /** How a picker is drawn. */
11
+ export type OverlaySelectAppearance = 'field' | 'quiet';
12
+
13
+ /** What {@link OverlaySelect} needs. Use it past four choices. */
14
+ export interface OverlaySelectProps<
15
+ TValue extends string = string,
16
+ > extends OverlayControlProps {
17
+ /** The current choice. */
18
+ value: TValue;
19
+ /** What may be chosen, in the order offered. */
20
+ options: ReadonlyArray<OverlayOption<TValue>>;
21
+ /** Called with the new choice. */
22
+ onChange: (value: TValue) => void;
23
+ /**
24
+ * Whether the picker is drawn as a form field or as a quiet button showing
25
+ * only its value.
26
+ *
27
+ * A settings panel gets `quiet` on its own, because a bordered field beside
28
+ * borderless switches and steppers is the one shape in the panel that draws
29
+ * the eye, and it draws it to whichever setting happens to be a list.
30
+ * @default 'quiet' inside an OverlayPanel, 'field' anywhere else
31
+ */
32
+ appearance?: OverlaySelectAppearance;
33
+ }
34
+
35
+ /**
36
+ * The picker a card reaches for once the choices stop fitting side by side.
37
+ *
38
+ * The options are written out rather than handed to Blueprint's shorthand,
39
+ * because a choice that does not apply has to keep its place in the list and
40
+ * say why the pointer cannot take it — and the shorthand has nowhere to put
41
+ * that sentence.
42
+ * @param props - See {@link OverlaySelectProps}.
43
+ * @returns The caption, its help, and the picker.
44
+ */
45
+ export function OverlaySelect<TValue extends string = string>(
46
+ props: OverlaySelectProps<TValue>,
47
+ ): ReactElement {
48
+ const {
49
+ value,
50
+ options,
51
+ onChange,
52
+ label,
53
+ help,
54
+ hideLabel = false,
55
+ disabled = false,
56
+ testId,
57
+ } = props;
58
+ const { metrics } = useOverlaySurface();
59
+ const panel = useOverlayPanelShape();
60
+ const { appearance = panel === undefined ? 'field' : 'quiet' } = props;
61
+
62
+ if (appearance === 'quiet') {
63
+ // The menu goes INSIDE the row rather than replacing it: the row is what
64
+ // holds the name column and hangs the help off it, and a panel whose rows
65
+ // do not all have that column is not a grid.
66
+ return (
67
+ <OverlayRow
68
+ label={label}
69
+ help={help}
70
+ hideLabel={hideLabel}
71
+ disabled={disabled}
72
+ >
73
+ <OverlayValueMenu
74
+ label={label}
75
+ value={value}
76
+ options={options}
77
+ onChange={onChange}
78
+ showKey={false}
79
+ disabled={disabled}
80
+ testId={testId}
81
+ />
82
+ </OverlayRow>
83
+ );
84
+ }
85
+
86
+ return (
87
+ <OverlayRow
88
+ label={label}
89
+ help={help}
90
+ hideLabel={hideLabel}
91
+ disabled={disabled}
92
+ >
93
+ <HTMLSelect
94
+ value={value}
95
+ disabled={disabled}
96
+ large={metrics.blueprintSize === 'large'}
97
+ aria-label={label}
98
+ data-testid={testId}
99
+ onChange={(event) => onChange(event.currentTarget.value as TValue)}
100
+ >
101
+ {options.map((option) => (
102
+ <option
103
+ key={option.value}
104
+ value={option.value}
105
+ title={option.title}
106
+ disabled={option.disabled}
107
+ >
108
+ {option.label}
109
+ </option>
110
+ ))}
111
+ </HTMLSelect>
112
+ </OverlayRow>
113
+ );
114
+ }
@@ -0,0 +1,126 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+
3
+ import type { OverlayMetrics } from '../core/overlayMetrics.ts';
4
+
5
+ import { useOverlaySurface } from './overlaySurface.ts';
6
+
7
+ /** What {@link OverlaySwatchIcon} draws. */
8
+ export interface OverlaySwatchIconProps {
9
+ /**
10
+ * The colours the figure is drawn in, in the order it draws them. Hand it
11
+ * the very colours on the chart: the whole point of this glyph is that a
12
+ * reader recognises the plot in it without being taught anything.
13
+ */
14
+ colors: readonly string[];
15
+ }
16
+
17
+ /**
18
+ * The colours of a figure, as the glyph of the control that changes them.
19
+ *
20
+ * Every other icon on a bar has to be learned before it means anything. This
21
+ * one does not: a reader who has just looked at four groups of dots knows what
22
+ * a row of those four colours opens, which is why the control that picks what
23
+ * the figure is coloured by wears its palette rather than a paint-pot.
24
+ *
25
+ * Past four colours it becomes three and a count. Eight dots inside a
26
+ * twenty-four pixel button is a smear, and a smear says less about the figure
27
+ * than three honest colours and the news that there are more.
28
+ * @param props - See {@link OverlaySwatchIconProps}.
29
+ * @returns The row of dots.
30
+ */
31
+ export function OverlaySwatchIcon(props: OverlaySwatchIconProps): ReactElement {
32
+ const { colors } = props;
33
+ const { metrics } = useOverlaySurface();
34
+
35
+ const shown =
36
+ colors.length > OVERLAY_SWATCH_DOTS
37
+ ? OVERLAY_SWATCH_DOTS - 1
38
+ : colors.length;
39
+ const rest = colors.length - shown;
40
+ const size = dotSize(metrics);
41
+ const dots: ReactElement[] = [];
42
+ for (let index = 0; index < shown; index++) {
43
+ const color = colors[index];
44
+ if (color === undefined) continue;
45
+ dots.push(
46
+ <span
47
+ key={`${index}:${color}`}
48
+ style={overlaySwatchDotStyle(color, size)}
49
+ />,
50
+ );
51
+ }
52
+
53
+ return (
54
+ <span aria-hidden="true" style={OVERLAY_SWATCH_ROW_STYLE}>
55
+ {dots}
56
+ {rest > 0 ? (
57
+ <span style={overlaySwatchRestStyle(metrics)}>{`+${rest}`}</span>
58
+ ) : null}
59
+ </span>
60
+ );
61
+ }
62
+
63
+ /** How many dots the glyph holds before the last one becomes a count. */
64
+ const OVERLAY_SWATCH_DOTS = 4;
65
+
66
+ /** The dots side by side, with the button's own ink for the count. */
67
+ const OVERLAY_SWATCH_ROW_STYLE = {
68
+ display: 'inline-flex',
69
+ alignItems: 'center',
70
+ gap: 2,
71
+ } as const satisfies CSSProperties;
72
+
73
+ /**
74
+ * One dot.
75
+ *
76
+ * Round rather than square, because these stand for the marks on a scatter
77
+ * rather than for the series of a bar chart.
78
+ *
79
+ * The hairline that keeps a pale group visible against the card is drawn only
80
+ * once the dot is wide enough to carry it: inside a four pixel dot a one pixel
81
+ * ring is half the dot, and the reader is then shown a grey ring with a speck
82
+ * of the group's colour in it — which is the one thing this glyph exists not
83
+ * to do.
84
+ * @param color - The colour of the group it stands for.
85
+ * @param size - How wide the dot is.
86
+ * @returns The dot's rules.
87
+ */
88
+ function overlaySwatchDotStyle(color: string, size: number): CSSProperties {
89
+ return {
90
+ display: 'inline-block',
91
+ width: size,
92
+ height: size,
93
+ borderRadius: '50%',
94
+ background: color,
95
+ boxShadow: size >= 6 ? 'inset 0 0 0 1px var(--border)' : undefined,
96
+ };
97
+ }
98
+
99
+ /**
100
+ * The count standing in for the colours that did not fit.
101
+ *
102
+ * It takes the button's own ink rather than a colour of its own, so it fades
103
+ * and lights with the button instead of reading as a fifth group.
104
+ * @param metrics - The measurements the chrome is drawn from.
105
+ * @returns The count's rules.
106
+ */
107
+ function overlaySwatchRestStyle(metrics: OverlayMetrics): CSSProperties {
108
+ return {
109
+ fontSize: Math.max(9, metrics.labelSize - 1),
110
+ fontVariantNumeric: 'tabular-nums',
111
+ fontWeight: 600,
112
+ lineHeight: 1,
113
+ };
114
+ }
115
+
116
+ /**
117
+ * How wide one dot is.
118
+ *
119
+ * A sixth of the button, so the row of four fills it the way a glyph would
120
+ * rather than sitting in the middle of it as four specks.
121
+ * @param metrics - The measurements the chrome is drawn from.
122
+ * @returns The dot's width in pixels.
123
+ */
124
+ function dotSize(metrics: OverlayMetrics): number {
125
+ return Math.max(4, Math.round(metrics.buttonSize / 6));
126
+ }
@@ -0,0 +1,136 @@
1
+ import type { IconName } from '@blueprintjs/core';
2
+ import type { ReactElement } from 'react';
3
+ import { Button } from 'react-science/ui';
4
+
5
+ import type { OverlayControlProps } from './OverlayRow.tsx';
6
+ import { OverlayRow } from './OverlayRow.tsx';
7
+ import { overlaySwatchStyle } from './overlayControlStyles.ts';
8
+ import { useOverlayPanelShape } from './overlayPanelContext.ts';
9
+ import { useOverlaySurface } from './overlaySurface.ts';
10
+ import {
11
+ overlaySwitchKnobStyle,
12
+ overlaySwitchStyle,
13
+ overlaySwitchTrack,
14
+ overlaySwitchTrackStyle,
15
+ } from './overlaySwitchStyles.ts';
16
+
17
+ /** How a toggle is drawn. */
18
+ export type OverlayToggleAppearance = 'button' | 'switch';
19
+
20
+ /** What {@link OverlayToggle} needs. */
21
+ export interface OverlayToggleProps extends OverlayControlProps {
22
+ /** Whether it is on. */
23
+ checked: boolean;
24
+ /** Called with the new state. */
25
+ onChange: (checked: boolean) => void;
26
+ /**
27
+ * How it is drawn: a pressed button carrying its own words, or a switch
28
+ * beside a name in a panel's control column.
29
+ * @default `'switch'` inside an {@link OverlayPanel}, `'button'` anywhere else
30
+ */
31
+ appearance?: OverlayToggleAppearance;
32
+ /**
33
+ * Colour of the square in front of the caption. Give it the series' own
34
+ * colour and a row of toggles becomes the figure's legend, each entry
35
+ * showing and hiding what it names. Drawn by the button appearance alone.
36
+ * @default undefined — no square is drawn
37
+ */
38
+ swatch?: string;
39
+ /**
40
+ * Blueprint glyph in front of the caption, for a toggle short of room. Drawn
41
+ * by the button appearance alone.
42
+ * @default undefined
43
+ */
44
+ icon?: IconName;
45
+ }
46
+
47
+ /**
48
+ * One thing on the figure turned on and off.
49
+ *
50
+ * On a bar it is a pressed button, because the same control has to work as a
51
+ * legend entry — a swatch and a series name that dim when the series is hidden
52
+ * — and a checkbox beside a colour square reads as two separate claims about
53
+ * one series. In a panel it is a switch, because a row of grey chips is a row
54
+ * whose state cannot be read: `One scale for all` drawn as a chip answers the
55
+ * reader's only question about it — is it on? — with nothing at all, and the
56
+ * reader has to click it to find out.
57
+ *
58
+ * It stays a real `button` reporting `aria-pressed` in both appearances rather
59
+ * than becoming a checkbox in one of them, since a control that reports its
60
+ * state one way on a bar and another in a panel is a control a reader who
61
+ * cannot see it has to learn twice. A native button is also operated by Space
62
+ * and by Enter for nothing, where a checkbox built out of a `div` has to
63
+ * reimplement both and usually gets one of them subtly wrong.
64
+ *
65
+ * A swatch takes the glyph's place when both are given, since the colour is
66
+ * what ties the entry to a mark on the chart.
67
+ * @param props - See {@link OverlayToggleProps}.
68
+ * @returns The toggle.
69
+ */
70
+ export function OverlayToggle(props: OverlayToggleProps): ReactElement {
71
+ const {
72
+ checked,
73
+ onChange,
74
+ label,
75
+ help,
76
+ hideLabel = false,
77
+ disabled = false,
78
+ testId,
79
+ swatch,
80
+ icon,
81
+ } = props;
82
+ const { metrics } = useOverlaySurface();
83
+ const panel = useOverlayPanelShape();
84
+ const appearance =
85
+ props.appearance ?? (panel === undefined ? 'button' : 'switch');
86
+
87
+ if (appearance === 'switch') {
88
+ const track = overlaySwitchTrack(metrics);
89
+ return (
90
+ <OverlayRow
91
+ label={label}
92
+ help={help}
93
+ hideLabel={hideLabel}
94
+ disabled={disabled}
95
+ >
96
+ <button
97
+ type="button"
98
+ aria-pressed={checked}
99
+ aria-label={label}
100
+ disabled={disabled}
101
+ data-testid={testId}
102
+ style={overlaySwitchStyle(metrics, track, disabled)}
103
+ onClick={() => onChange(!checked)}
104
+ >
105
+ <span style={overlaySwitchTrackStyle(track, checked)}>
106
+ <span style={overlaySwitchKnobStyle(track, checked)} />
107
+ </span>
108
+ </button>
109
+ </OverlayRow>
110
+ );
111
+ }
112
+
113
+ return (
114
+ <OverlayRow label={label} help={help} hideLabel disabled={disabled}>
115
+ <Button
116
+ variant="minimal"
117
+ size={metrics.blueprintSize}
118
+ active={checked}
119
+ disabled={disabled}
120
+ aria-pressed={checked}
121
+ aria-label={label}
122
+ title={hideLabel ? label : undefined}
123
+ icon={
124
+ swatch === undefined ? (
125
+ icon
126
+ ) : (
127
+ <span style={overlaySwatchStyle(swatch)} />
128
+ )
129
+ }
130
+ text={hideLabel ? undefined : label}
131
+ data-testid={testId}
132
+ onClick={() => onChange(!checked)}
133
+ />
134
+ </OverlayRow>
135
+ );
136
+ }
@@ -0,0 +1,149 @@
1
+ import { Icon } from '@blueprintjs/core';
2
+ import type { ReactElement } from 'react';
3
+ import { useState } from 'react';
4
+
5
+ import { OverlaySwatchIcon } from './OverlaySwatchIcon.tsx';
6
+ import { useOverlaySurface } from './overlaySurface.ts';
7
+ import {
8
+ overlayCaretStyle,
9
+ overlayValueButtonStyle,
10
+ overlayValueKeyStyle,
11
+ overlayValueTextStyle,
12
+ } from './overlayValueStyles.ts';
13
+
14
+ /** What {@link OverlayValueButton} needs. */
15
+ export interface OverlayValueButtonProps {
16
+ /**
17
+ * What the setting is called, in full and phrased as the question the reader
18
+ * already has: `Colour by`, `Group outlines`. It is never the thing written
19
+ * on the bar — it goes into `title` and `aria-label` with the value after
20
+ * it, so a button showing `Species` still announces `Colour by — Species`.
21
+ */
22
+ label: string;
23
+ /**
24
+ * What the setting is currently on, which is the thing actually written:
25
+ * `Species`, `95%`. Write the answer rather than the jargon.
26
+ */
27
+ value: string;
28
+ /**
29
+ * The one word written in front of the value on a roomy bar.
30
+ * @default the label, which is right wherever the name is already one word
31
+ */
32
+ keyWord?: string;
33
+ /**
34
+ * Whether that key word is written. This is the first thing a narrowing bar
35
+ * turns off: the name of a setting is read once and its value every time.
36
+ * @default true
37
+ */
38
+ showKey?: boolean;
39
+ /**
40
+ * The figure's own colours, drawn as a row of dots in front of the words. A
41
+ * reader who has just looked at four groups of dots recognises them without
42
+ * being taught anything, which is worth more than any paint-pot glyph.
43
+ * @default undefined — no dots are drawn
44
+ */
45
+ swatches?: readonly string[];
46
+ /**
47
+ * Whether the choices behind it are showing.
48
+ * @default false
49
+ */
50
+ active?: boolean;
51
+ /**
52
+ * Whether it cannot be pressed.
53
+ * @default false
54
+ */
55
+ disabled?: boolean;
56
+ /**
57
+ * Why it cannot be pressed, which the pointer is told in place of the name.
58
+ * A greyed control that does not say why is worse than one that is missing.
59
+ * @default undefined — the pointer is still told the name and the value
60
+ */
61
+ disabledReason?: string;
62
+ /**
63
+ * Whether pressing it opens a menu, which is what tells a screen reader
64
+ * there is more behind the words than a press.
65
+ * @default false
66
+ */
67
+ opensMenu?: boolean;
68
+ /**
69
+ * Called when it is pressed. Leave it out inside a popover, which listens on
70
+ * the wrapper it puts around the button and would otherwise be told twice.
71
+ * @default undefined — nothing of its own happens
72
+ */
73
+ onClick?: () => void;
74
+ /**
75
+ * Value of the `data-testid` attribute.
76
+ * @default undefined
77
+ */
78
+ testId?: string;
79
+ }
80
+
81
+ /**
82
+ * A setting written as its own value, with a caret saying it can be changed.
83
+ *
84
+ * It replaces the two idioms a bar used to hold for the same job — a caption
85
+ * beside an outlined segmented control, and a caption beside a native select —
86
+ * with one that costs no box at all. The reader scans the bar and reads
87
+ * `Species` and `95%`, which is how the figure is drawn; the names of the two
88
+ * settings are one press away and in every announcement.
89
+ * @param props - See {@link OverlayValueButtonProps}.
90
+ * @returns The button.
91
+ */
92
+ export function OverlayValueButton(
93
+ props: OverlayValueButtonProps,
94
+ ): ReactElement {
95
+ const { label, value, keyWord = label, showKey = true, swatches } = props;
96
+ const { active = false, disabled = false, disabledReason } = props;
97
+ const { opensMenu = false, onClick, testId } = props;
98
+ const { metrics } = useOverlaySurface();
99
+ const [hovered, setHovered] = useState(false);
100
+ const [focused, setFocused] = useState(false);
101
+
102
+ const name = `${label} — ${value}`;
103
+ const told = disabled && disabledReason !== undefined ? disabledReason : name;
104
+
105
+ return (
106
+ <button
107
+ type="button"
108
+ title={told}
109
+ aria-label={name}
110
+ aria-haspopup={opensMenu ? 'menu' : undefined}
111
+ aria-expanded={opensMenu ? active : undefined}
112
+ disabled={disabled}
113
+ data-testid={testId}
114
+ style={overlayValueButtonStyle(metrics, {
115
+ hovered,
116
+ focused,
117
+ active,
118
+ disabled,
119
+ })}
120
+ onClick={onClick}
121
+ onPointerEnter={() => setHovered(true)}
122
+ onPointerLeave={() => setHovered(false)}
123
+ onFocus={() => setFocused(true)}
124
+ onBlur={() => setFocused(false)}
125
+ >
126
+ {swatches === undefined || swatches.length === 0 ? null : (
127
+ <OverlaySwatchIcon colors={swatches} />
128
+ )}
129
+ {showKey ? <span style={overlayValueKeyStyle()}>{keyWord}</span> : null}
130
+ <span style={overlayValueTextStyle()}>{value}</span>
131
+ <span aria-hidden="true" style={overlayCaretStyle()}>
132
+ <Icon icon="caret-down" size={caretSize(metrics.fontSize)} />
133
+ </span>
134
+ </button>
135
+ );
136
+ }
137
+
138
+ /**
139
+ * How big the caret is drawn.
140
+ *
141
+ * A little larger than the type it follows, because Blueprint's caret is a
142
+ * small triangle inside its box and one drawn at the font size reads as a
143
+ * speck rather than as an invitation to press.
144
+ * @param fontSize - The size of the words it follows.
145
+ * @returns The caret's size in pixels.
146
+ */
147
+ function caretSize(fontSize: number): number {
148
+ return fontSize + 2;
149
+ }
@@ -0,0 +1,141 @@
1
+ import type { PopoverNextPlacement } from '@blueprintjs/core';
2
+ import { Menu, MenuDivider, MenuItem, PopoverNext } from '@blueprintjs/core';
3
+ import type { CSSProperties, ReactElement } from 'react';
4
+ import { useId, useState } from 'react';
5
+
6
+ import type { OverlayOption } from './OverlayRow.tsx';
7
+ import { OverlayValueButton } from './OverlayValueButton.tsx';
8
+ import { useOverlaySurface } from './overlaySurface.ts';
9
+
10
+ /** What {@link OverlayValueMenu} needs. */
11
+ export interface OverlayValueMenuProps<TValue extends string = string> {
12
+ /**
13
+ * What the setting is called, in full: `Colour by`, `Group outlines`. It
14
+ * names the button for the pointer and the screen reader, and it is written
15
+ * over the menu as its heading — so a reader who opened it on a guess is
16
+ * told what they have opened before they choose.
17
+ */
18
+ label: string;
19
+ /** The current choice, whose own label is what the button writes. */
20
+ value: TValue;
21
+ /** What may be chosen, in the order offered. */
22
+ options: ReadonlyArray<OverlayOption<TValue>>;
23
+ /** Called with the new choice. */
24
+ onChange: (value: TValue) => void;
25
+ /**
26
+ * The one word written in front of the value on a roomy bar.
27
+ * @default the label
28
+ */
29
+ keyWord?: string;
30
+ /**
31
+ * Whether that key word is written.
32
+ * @default true
33
+ */
34
+ showKey?: boolean;
35
+ /**
36
+ * The figure's own colours, drawn as a row of dots in front of the words.
37
+ * @default undefined — no dots are drawn
38
+ */
39
+ swatches?: readonly string[];
40
+ /**
41
+ * Whether the setting cannot be reached at all.
42
+ * @default false
43
+ */
44
+ disabled?: boolean;
45
+ /**
46
+ * Why it cannot be reached, which the pointer is told in place of the name.
47
+ * @default undefined — the pointer is still told the name and the value
48
+ */
49
+ disabledReason?: string;
50
+ /**
51
+ * Which way the menu opens. Away from the nearest edge of the figure, so the
52
+ * choices are not the thing that pushes the reader off the picture.
53
+ * @default 'bottom-end'
54
+ */
55
+ placement?: PopoverNextPlacement;
56
+ /**
57
+ * Value of the `data-testid` attribute of the button.
58
+ * @default undefined
59
+ */
60
+ testId?: string;
61
+ }
62
+
63
+ /**
64
+ * A setting written as its value, whose choices are a menu behind it.
65
+ *
66
+ * It is what a picker becomes on a bar with no room for captions: the same
67
+ * choices, in the same order, with the one in force ticked. It takes the very
68
+ * options the picker takes, so a bar swaps one for the other without reshaping
69
+ * anything it holds — and unlike the picker it answers the reader's question
70
+ * before it is opened, because the answer is what is written on it.
71
+ * @param props - See {@link OverlayValueMenuProps}.
72
+ * @returns The button and its menu.
73
+ */
74
+ export function OverlayValueMenu<TValue extends string = string>(
75
+ props: OverlayValueMenuProps<TValue>,
76
+ ): ReactElement {
77
+ const { label, value, options, onChange, keyWord, showKey } = props;
78
+ const { swatches, disabled = false, disabledReason } = props;
79
+ const { placement = 'bottom-end', testId } = props;
80
+ const { metrics } = useOverlaySurface();
81
+ const headingId = useId();
82
+ const [open, setOpen] = useState(false);
83
+
84
+ let written: string = value;
85
+ for (const option of options) {
86
+ if (option.value === value) written = option.label;
87
+ }
88
+
89
+ return (
90
+ <PopoverNext
91
+ isOpen={open}
92
+ disabled={disabled}
93
+ placement={placement}
94
+ onInteraction={(next) => setOpen(next)}
95
+ content={
96
+ <Menu
97
+ role="listbox"
98
+ aria-labelledby={headingId}
99
+ size={metrics.blueprintSize}
100
+ style={OVERLAY_VALUE_MENU_STYLE}
101
+ >
102
+ <MenuDivider title={label} titleId={headingId} />
103
+ {options.map((option) => (
104
+ <MenuItem
105
+ key={option.value}
106
+ roleStructure="listoption"
107
+ selected={option.value === value}
108
+ text={option.label}
109
+ htmlTitle={option.title}
110
+ disabled={option.disabled}
111
+ onClick={() => onChange(option.value)}
112
+ />
113
+ ))}
114
+ </Menu>
115
+ }
116
+ >
117
+ <OverlayValueButton
118
+ label={label}
119
+ value={written}
120
+ keyWord={keyWord}
121
+ showKey={showKey}
122
+ swatches={swatches}
123
+ active={open}
124
+ disabled={disabled}
125
+ disabledReason={disabledReason}
126
+ testId={testId}
127
+ opensMenu
128
+ />
129
+ </PopoverNext>
130
+ );
131
+ }
132
+
133
+ /**
134
+ * The menu the value opens.
135
+ *
136
+ * It has a floor width rather than hugging its longest choice, because a menu
137
+ * of three short words opens as a sliver the reader has to aim at.
138
+ */
139
+ const OVERLAY_VALUE_MENU_STYLE: CSSProperties = {
140
+ minWidth: 168,
141
+ };