react-cheminfo 0.27.0 → 0.29.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 (696) hide show
  1. package/README.md +38 -25
  2. package/lib/chart/core/axisLabels.d.ts +82 -0
  3. package/lib/chart/core/axisLabels.d.ts.map +1 -0
  4. package/lib/chart/core/axisLabels.js +111 -0
  5. package/lib/chart/core/axisLabels.js.map +1 -0
  6. package/lib/chart/core/boxLayout.d.ts +53 -0
  7. package/lib/chart/core/boxLayout.d.ts.map +1 -0
  8. package/lib/chart/core/boxLayout.js +112 -0
  9. package/lib/chart/core/boxLayout.js.map +1 -0
  10. package/lib/chart/core/chartAxisScale.d.ts +23 -2
  11. package/lib/chart/core/chartAxisScale.d.ts.map +1 -1
  12. package/lib/chart/core/chartAxisScale.js +64 -13
  13. package/lib/chart/core/chartAxisScale.js.map +1 -1
  14. package/lib/chart/core/chartDomain.d.ts +160 -0
  15. package/lib/chart/core/chartDomain.d.ts.map +1 -0
  16. package/lib/chart/core/chartDomain.js +46 -0
  17. package/lib/chart/core/chartDomain.js.map +1 -0
  18. package/lib/chart/core/chartGeometry.d.ts +131 -0
  19. package/lib/chart/core/chartGeometry.d.ts.map +1 -0
  20. package/lib/chart/core/chartGeometry.js +101 -0
  21. package/lib/chart/core/chartGeometry.js.map +1 -0
  22. package/lib/chart/core/chartPane.d.ts +11 -0
  23. package/lib/chart/core/chartPane.d.ts.map +1 -0
  24. package/lib/chart/core/chartPane.js +11 -0
  25. package/lib/chart/core/chartPane.js.map +1 -0
  26. package/lib/chart/core/chartScale.d.ts +4 -1
  27. package/lib/chart/core/chartScale.d.ts.map +1 -1
  28. package/lib/chart/core/chartScale.js +8 -4
  29. package/lib/chart/core/chartScale.js.map +1 -1
  30. package/lib/chart/core/chartTheme.d.ts +156 -0
  31. package/lib/chart/core/chartTheme.d.ts.map +1 -0
  32. package/lib/chart/core/chartTheme.js +156 -0
  33. package/lib/chart/core/chartTheme.js.map +1 -0
  34. package/lib/chart/core/chartViewport.d.ts +32 -5
  35. package/lib/chart/core/chartViewport.d.ts.map +1 -1
  36. package/lib/chart/core/chartViewport.js +40 -11
  37. package/lib/chart/core/chartViewport.js.map +1 -1
  38. package/lib/chart/core/guidePlacement.d.ts +52 -0
  39. package/lib/chart/core/guidePlacement.d.ts.map +1 -0
  40. package/lib/chart/core/guidePlacement.js +52 -0
  41. package/lib/chart/core/guidePlacement.js.map +1 -0
  42. package/lib/chart/core/index.d.ts +29 -2
  43. package/lib/chart/core/index.d.ts.map +1 -1
  44. package/lib/chart/core/index.js +19 -2
  45. package/lib/chart/core/index.js.map +1 -1
  46. package/lib/chart/core/labelStack.d.ts +27 -0
  47. package/lib/chart/core/labelStack.d.ts.map +1 -0
  48. package/lib/chart/core/labelStack.js +62 -0
  49. package/lib/chart/core/labelStack.js.map +1 -0
  50. package/lib/chart/core/legendBox.d.ts +152 -0
  51. package/lib/chart/core/legendBox.d.ts.map +1 -0
  52. package/lib/chart/core/legendBox.js +169 -0
  53. package/lib/chart/core/legendBox.js.map +1 -0
  54. package/lib/chart/core/selectionGeometry.d.ts +45 -0
  55. package/lib/chart/core/selectionGeometry.d.ts.map +1 -0
  56. package/lib/chart/core/selectionGeometry.js +49 -0
  57. package/lib/chart/core/selectionGeometry.js.map +1 -0
  58. package/lib/chart/core/spectrumColor.d.ts +80 -0
  59. package/lib/chart/core/spectrumColor.d.ts.map +1 -0
  60. package/lib/chart/core/spectrumColor.js +120 -0
  61. package/lib/chart/core/spectrumColor.js.map +1 -0
  62. package/lib/chart/core/stackCapacity.d.ts +136 -0
  63. package/lib/chart/core/stackCapacity.d.ts.map +1 -0
  64. package/lib/chart/core/stackCapacity.js +153 -0
  65. package/lib/chart/core/stackCapacity.js.map +1 -0
  66. package/lib/chart/core/svgPoint.d.ts +62 -0
  67. package/lib/chart/core/svgPoint.d.ts.map +1 -0
  68. package/lib/chart/core/svgPoint.js +43 -0
  69. package/lib/chart/core/svgPoint.js.map +1 -0
  70. package/lib/chart/core/tracePath.d.ts +94 -0
  71. package/lib/chart/core/tracePath.d.ts.map +1 -0
  72. package/lib/chart/core/tracePath.js +191 -0
  73. package/lib/chart/core/tracePath.js.map +1 -0
  74. package/lib/chart/core/trackerReadout.d.ts +55 -0
  75. package/lib/chart/core/trackerReadout.d.ts.map +1 -0
  76. package/lib/chart/core/trackerReadout.js +53 -0
  77. package/lib/chart/core/trackerReadout.js.map +1 -0
  78. package/lib/chart/core/viewTransform.d.ts +167 -0
  79. package/lib/chart/core/viewTransform.d.ts.map +1 -0
  80. package/lib/chart/core/viewTransform.js +188 -0
  81. package/lib/chart/core/viewTransform.js.map +1 -0
  82. package/lib/chart/core/zoomDomain.d.ts +127 -0
  83. package/lib/chart/core/zoomDomain.d.ts.map +1 -0
  84. package/lib/chart/core/zoomDomain.js +175 -0
  85. package/lib/chart/core/zoomDomain.js.map +1 -0
  86. package/lib/chart/ui/Axes.d.ts +104 -0
  87. package/lib/chart/ui/Axes.d.ts.map +1 -0
  88. package/lib/chart/ui/Axes.js +155 -0
  89. package/lib/chart/ui/Axes.js.map +1 -0
  90. package/lib/chart/ui/AxisGuide.d.ts +60 -0
  91. package/lib/chart/ui/AxisGuide.d.ts.map +1 -0
  92. package/lib/chart/ui/AxisGuide.js +111 -0
  93. package/lib/chart/ui/AxisGuide.js.map +1 -0
  94. package/lib/chart/ui/ChartStack.d.ts +81 -0
  95. package/lib/chart/ui/ChartStack.d.ts.map +1 -0
  96. package/lib/chart/ui/ChartStack.js +42 -0
  97. package/lib/chart/ui/ChartStack.js.map +1 -0
  98. package/lib/chart/ui/ChartTracker.d.ts +36 -0
  99. package/lib/chart/ui/ChartTracker.d.ts.map +1 -0
  100. package/lib/chart/ui/ChartTracker.js +27 -0
  101. package/lib/chart/ui/ChartTracker.js.map +1 -0
  102. package/lib/chart/ui/PlotCaption.d.ts +44 -0
  103. package/lib/chart/ui/PlotCaption.d.ts.map +1 -0
  104. package/lib/chart/ui/PlotCaption.js +68 -0
  105. package/lib/chart/ui/PlotCaption.js.map +1 -0
  106. package/lib/chart/ui/SelectionRect.d.ts +27 -0
  107. package/lib/chart/ui/SelectionRect.d.ts.map +1 -0
  108. package/lib/chart/ui/SelectionRect.js +31 -0
  109. package/lib/chart/ui/SelectionRect.js.map +1 -0
  110. package/lib/chart/ui/TraceLegend.d.ts +99 -0
  111. package/lib/chart/ui/TraceLegend.d.ts.map +1 -0
  112. package/lib/chart/ui/TraceLegend.js +45 -0
  113. package/lib/chart/ui/TraceLegend.js.map +1 -0
  114. package/lib/chart/ui/chartGestures.d.ts +158 -0
  115. package/lib/chart/ui/chartGestures.d.ts.map +1 -0
  116. package/lib/chart/ui/chartGestures.js +145 -0
  117. package/lib/chart/ui/chartGestures.js.map +1 -0
  118. package/lib/chart/ui/chartStackLevel.d.ts +115 -0
  119. package/lib/chart/ui/chartStackLevel.d.ts.map +1 -0
  120. package/lib/chart/ui/chartStackLevel.js +96 -0
  121. package/lib/chart/ui/chartStackLevel.js.map +1 -0
  122. package/lib/chart/ui/chartSurface.d.ts +35 -0
  123. package/lib/chart/ui/chartSurface.d.ts.map +1 -0
  124. package/lib/chart/ui/chartSurface.js +58 -0
  125. package/lib/chart/ui/chartSurface.js.map +1 -0
  126. package/lib/chart/ui/index.d.ts +24 -0
  127. package/lib/chart/ui/index.d.ts.map +1 -1
  128. package/lib/chart/ui/index.js +13 -0
  129. package/lib/chart/ui/index.js.map +1 -1
  130. package/lib/chart/ui/useChartPointer.d.ts +124 -0
  131. package/lib/chart/ui/useChartPointer.d.ts.map +1 -0
  132. package/lib/chart/ui/useChartPointer.js +152 -0
  133. package/lib/chart/ui/useChartPointer.js.map +1 -0
  134. package/lib/chart/ui/useChartSize.d.ts +49 -0
  135. package/lib/chart/ui/useChartSize.d.ts.map +1 -0
  136. package/lib/chart/ui/useChartSize.js +91 -0
  137. package/lib/chart/ui/useChartSize.js.map +1 -0
  138. package/lib/chart/ui/useChartWindow.d.ts +147 -0
  139. package/lib/chart/ui/useChartWindow.d.ts.map +1 -0
  140. package/lib/chart/ui/useChartWindow.js +135 -0
  141. package/lib/chart/ui/useChartWindow.js.map +1 -0
  142. package/lib/chart/ui/useChartZoom.d.ts +88 -0
  143. package/lib/chart/ui/useChartZoom.d.ts.map +1 -0
  144. package/lib/chart/ui/useChartZoom.js +142 -0
  145. package/lib/chart/ui/useChartZoom.js.map +1 -0
  146. package/lib/chart/ui/useWheelListener.d.ts +30 -0
  147. package/lib/chart/ui/useWheelListener.d.ts.map +1 -0
  148. package/lib/chart/ui/useWheelListener.js +57 -0
  149. package/lib/chart/ui/useWheelListener.js.map +1 -0
  150. package/lib/clipboard/core/copyPng.d.ts +13 -0
  151. package/lib/clipboard/core/copyPng.d.ts.map +1 -0
  152. package/lib/clipboard/core/copyPng.js +19 -0
  153. package/lib/clipboard/core/copyPng.js.map +1 -0
  154. package/lib/clipboard/core/index.d.ts +1 -0
  155. package/lib/clipboard/core/index.d.ts.map +1 -1
  156. package/lib/clipboard/core/index.js +1 -0
  157. package/lib/clipboard/core/index.js.map +1 -1
  158. package/lib/clipboard/ui/CopyableValue.d.ts +12 -9
  159. package/lib/clipboard/ui/CopyableValue.d.ts.map +1 -1
  160. package/lib/clipboard/ui/CopyableValue.js +11 -15
  161. package/lib/clipboard/ui/CopyableValue.js.map +1 -1
  162. package/lib/core.d.ts +1 -0
  163. package/lib/core.d.ts.map +1 -1
  164. package/lib/core.js +1 -0
  165. package/lib/core.js.map +1 -1
  166. package/lib/download/core/exportStyles.d.ts +22 -0
  167. package/lib/download/core/exportStyles.d.ts.map +1 -0
  168. package/lib/download/core/exportStyles.js +19 -0
  169. package/lib/download/core/exportStyles.js.map +1 -0
  170. package/lib/download/core/imageResolution.d.ts +88 -0
  171. package/lib/download/core/imageResolution.d.ts.map +1 -0
  172. package/lib/download/core/imageResolution.js +77 -0
  173. package/lib/download/core/imageResolution.js.map +1 -0
  174. package/lib/download/core/index.d.ts +13 -0
  175. package/lib/download/core/index.d.ts.map +1 -1
  176. package/lib/download/core/index.js +8 -0
  177. package/lib/download/core/index.js.map +1 -1
  178. package/lib/download/core/pictureExport.d.ts +93 -0
  179. package/lib/download/core/pictureExport.d.ts.map +1 -0
  180. package/lib/download/core/pictureExport.js +116 -0
  181. package/lib/download/core/pictureExport.js.map +1 -0
  182. package/lib/download/core/stackedDrawing.d.ts +36 -0
  183. package/lib/download/core/stackedDrawing.d.ts.map +1 -0
  184. package/lib/download/core/stackedDrawing.js +98 -0
  185. package/lib/download/core/stackedDrawing.js.map +1 -0
  186. package/lib/download/core/svgBounds.d.ts +44 -0
  187. package/lib/download/core/svgBounds.d.ts.map +1 -0
  188. package/lib/download/core/svgBounds.js +69 -0
  189. package/lib/download/core/svgBounds.js.map +1 -0
  190. package/lib/download/core/svgNamespace.d.ts +9 -0
  191. package/lib/download/core/svgNamespace.d.ts.map +1 -0
  192. package/lib/download/core/svgNamespace.js +10 -0
  193. package/lib/download/core/svgNamespace.js.map +1 -0
  194. package/lib/download/core/svgToPng.d.ts +43 -0
  195. package/lib/download/core/svgToPng.d.ts.map +1 -0
  196. package/lib/download/core/svgToPng.js +79 -0
  197. package/lib/download/core/svgToPng.js.map +1 -0
  198. package/lib/download/core/svgToString.d.ts +45 -0
  199. package/lib/download/core/svgToString.d.ts.map +1 -0
  200. package/lib/download/core/svgToString.js +58 -0
  201. package/lib/download/core/svgToString.js.map +1 -0
  202. package/lib/download/ui/ExportDialogFrame.d.ts +46 -0
  203. package/lib/download/ui/ExportDialogFrame.d.ts.map +1 -0
  204. package/lib/download/ui/ExportDialogFrame.js +24 -0
  205. package/lib/download/ui/ExportDialogFrame.js.map +1 -0
  206. package/lib/download/ui/ExportImageDialog.d.ts +47 -0
  207. package/lib/download/ui/ExportImageDialog.d.ts.map +1 -0
  208. package/lib/download/ui/ExportImageDialog.js +25 -0
  209. package/lib/download/ui/ExportImageDialog.js.map +1 -0
  210. package/lib/download/ui/ExportNameField.d.ts +29 -0
  211. package/lib/download/ui/ExportNameField.d.ts.map +1 -0
  212. package/lib/download/ui/ExportNameField.js +99 -0
  213. package/lib/download/ui/ExportNameField.js.map +1 -0
  214. package/lib/download/ui/ExportPictureSection.d.ts +38 -0
  215. package/lib/download/ui/ExportPictureSection.d.ts.map +1 -0
  216. package/lib/download/ui/ExportPictureSection.js +48 -0
  217. package/lib/download/ui/ExportPictureSection.js.map +1 -0
  218. package/lib/download/ui/index.d.ts +10 -0
  219. package/lib/download/ui/index.d.ts.map +1 -1
  220. package/lib/download/ui/index.js +5 -0
  221. package/lib/download/ui/index.js.map +1 -1
  222. package/lib/download/ui/useDrawingBox.d.ts +23 -0
  223. package/lib/download/ui/useDrawingBox.d.ts.map +1 -0
  224. package/lib/download/ui/useDrawingBox.js +21 -0
  225. package/lib/download/ui/useDrawingBox.js.map +1 -0
  226. package/lib/error/core/describeSource.d.ts +17 -0
  227. package/lib/error/core/describeSource.d.ts.map +1 -0
  228. package/lib/error/core/describeSource.js +19 -0
  229. package/lib/error/core/describeSource.js.map +1 -0
  230. package/lib/error/core/index.d.ts +1 -0
  231. package/lib/error/core/index.d.ts.map +1 -1
  232. package/lib/error/core/index.js +1 -0
  233. package/lib/error/core/index.js.map +1 -1
  234. package/lib/help/ui/HelpBody.d.ts +10 -1
  235. package/lib/help/ui/HelpBody.d.ts.map +1 -1
  236. package/lib/help/ui/HelpBody.js +24 -1
  237. package/lib/help/ui/HelpBody.js.map +1 -1
  238. package/lib/help/ui/index.d.ts +1 -1
  239. package/lib/help/ui/index.d.ts.map +1 -1
  240. package/lib/help/ui/index.js.map +1 -1
  241. package/lib/ir/core/analysisSpectra.d.ts +46 -0
  242. package/lib/ir/core/analysisSpectra.d.ts.map +1 -0
  243. package/lib/ir/core/analysisSpectra.js +187 -0
  244. package/lib/ir/core/analysisSpectra.js.map +1 -0
  245. package/lib/ir/core/assignBands.d.ts +83 -0
  246. package/lib/ir/core/assignBands.d.ts.map +1 -0
  247. package/lib/ir/core/assignBands.js +83 -0
  248. package/lib/ir/core/assignBands.js.map +1 -0
  249. package/lib/ir/core/bandAssignments.d.ts +47 -0
  250. package/lib/ir/core/bandAssignments.d.ts.map +1 -0
  251. package/lib/ir/core/bandAssignments.js +305 -0
  252. package/lib/ir/core/bandAssignments.js.map +1 -0
  253. package/lib/ir/core/bandLabelPlan.d.ts +93 -0
  254. package/lib/ir/core/bandLabelPlan.d.ts.map +1 -0
  255. package/lib/ir/core/bandLabelPlan.js +104 -0
  256. package/lib/ir/core/bandLabelPlan.js.map +1 -0
  257. package/lib/ir/core/detectIrFormat.d.ts +23 -0
  258. package/lib/ir/core/detectIrFormat.d.ts.map +1 -0
  259. package/lib/ir/core/detectIrFormat.js +133 -0
  260. package/lib/ir/core/detectIrFormat.js.map +1 -0
  261. package/lib/ir/core/downloadSpectra.d.ts +26 -0
  262. package/lib/ir/core/downloadSpectra.d.ts.map +1 -0
  263. package/lib/ir/core/downloadSpectra.js +37 -0
  264. package/lib/ir/core/downloadSpectra.js.map +1 -0
  265. package/lib/ir/core/fromJcamp.d.ts +35 -0
  266. package/lib/ir/core/fromJcamp.d.ts.map +1 -0
  267. package/lib/ir/core/fromJcamp.js +48 -0
  268. package/lib/ir/core/fromJcamp.js.map +1 -0
  269. package/lib/ir/core/fromSpc.d.ts +30 -0
  270. package/lib/ir/core/fromSpc.d.ts.map +1 -0
  271. package/lib/ir/core/fromSpc.js +40 -0
  272. package/lib/ir/core/fromSpc.js.map +1 -0
  273. package/lib/ir/core/index.d.ts +51 -0
  274. package/lib/ir/core/index.d.ts.map +1 -0
  275. package/lib/ir/core/index.js +35 -0
  276. package/lib/ir/core/index.js.map +1 -0
  277. package/lib/ir/core/irBand.d.ts +45 -0
  278. package/lib/ir/core/irBand.d.ts.map +1 -0
  279. package/lib/ir/core/irBand.js +30 -0
  280. package/lib/ir/core/irBand.js.map +1 -0
  281. package/lib/ir/core/irCommands.d.ts +168 -0
  282. package/lib/ir/core/irCommands.d.ts.map +1 -0
  283. package/lib/ir/core/irCommands.js +94 -0
  284. package/lib/ir/core/irCommands.js.map +1 -0
  285. package/lib/ir/core/irDomain.d.ts +63 -0
  286. package/lib/ir/core/irDomain.d.ts.map +1 -0
  287. package/lib/ir/core/irDomain.js +136 -0
  288. package/lib/ir/core/irDomain.js.map +1 -0
  289. package/lib/ir/core/irEditorApi.d.ts +42 -0
  290. package/lib/ir/core/irEditorApi.d.ts.map +1 -0
  291. package/lib/ir/core/irEditorApi.js +10 -0
  292. package/lib/ir/core/irEditorApi.js.map +1 -0
  293. package/lib/ir/core/irFormat.d.ts +42 -0
  294. package/lib/ir/core/irFormat.d.ts.map +1 -0
  295. package/lib/ir/core/irFormat.js +51 -0
  296. package/lib/ir/core/irFormat.js.map +1 -0
  297. package/lib/ir/core/irMode.d.ts +160 -0
  298. package/lib/ir/core/irMode.d.ts.map +1 -0
  299. package/lib/ir/core/irMode.js +175 -0
  300. package/lib/ir/core/irMode.js.map +1 -0
  301. package/lib/ir/core/irReducer.d.ts +101 -0
  302. package/lib/ir/core/irReducer.d.ts.map +1 -0
  303. package/lib/ir/core/irReducer.js +207 -0
  304. package/lib/ir/core/irReducer.js.map +1 -0
  305. package/lib/ir/core/irSidePanels.d.ts +22 -0
  306. package/lib/ir/core/irSidePanels.d.ts.map +1 -0
  307. package/lib/ir/core/irSidePanels.js +12 -0
  308. package/lib/ir/core/irSidePanels.js.map +1 -0
  309. package/lib/ir/core/irSpectrum.d.ts +140 -0
  310. package/lib/ir/core/irSpectrum.d.ts.map +1 -0
  311. package/lib/ir/core/irSpectrum.js +34 -0
  312. package/lib/ir/core/irSpectrum.js.map +1 -0
  313. package/lib/ir/core/irState.d.ts +119 -0
  314. package/lib/ir/core/irState.d.ts.map +1 -0
  315. package/lib/ir/core/irState.js +92 -0
  316. package/lib/ir/core/irState.js.map +1 -0
  317. package/lib/ir/core/loadIrSpectra.d.ts +36 -0
  318. package/lib/ir/core/loadIrSpectra.d.ts.map +1 -0
  319. package/lib/ir/core/loadIrSpectra.js +44 -0
  320. package/lib/ir/core/loadIrSpectra.js.map +1 -0
  321. package/lib/ir/core/nearestBand.d.ts +35 -0
  322. package/lib/ir/core/nearestBand.d.ts.map +1 -0
  323. package/lib/ir/core/nearestBand.js +47 -0
  324. package/lib/ir/core/nearestBand.js.map +1 -0
  325. package/lib/ir/core/pickBands.d.ts +70 -0
  326. package/lib/ir/core/pickBands.d.ts.map +1 -0
  327. package/lib/ir/core/pickBands.js +125 -0
  328. package/lib/ir/core/pickBands.js.map +1 -0
  329. package/lib/ir/core/spectrumJcamp.d.ts +58 -0
  330. package/lib/ir/core/spectrumJcamp.d.ts.map +1 -0
  331. package/lib/ir/core/spectrumJcamp.js +156 -0
  332. package/lib/ir/core/spectrumJcamp.js.map +1 -0
  333. package/lib/ir/core/toIrSpectrum.d.ts +59 -0
  334. package/lib/ir/core/toIrSpectrum.d.ts.map +1 -0
  335. package/lib/ir/core/toIrSpectrum.js +56 -0
  336. package/lib/ir/core/toIrSpectrum.js.map +1 -0
  337. package/lib/ir/ui/BandMarks.d.ts +52 -0
  338. package/lib/ir/ui/BandMarks.d.ts.map +1 -0
  339. package/lib/ir/ui/BandMarks.js +71 -0
  340. package/lib/ir/ui/BandMarks.js.map +1 -0
  341. package/lib/ir/ui/BandsPanel.d.ts +31 -0
  342. package/lib/ir/ui/BandsPanel.d.ts.map +1 -0
  343. package/lib/ir/ui/BandsPanel.js +94 -0
  344. package/lib/ir/ui/BandsPanel.js.map +1 -0
  345. package/lib/ir/ui/IrAboutDialog.d.ts +18 -0
  346. package/lib/ir/ui/IrAboutDialog.d.ts.map +1 -0
  347. package/lib/ir/ui/IrAboutDialog.js +32 -0
  348. package/lib/ir/ui/IrAboutDialog.js.map +1 -0
  349. package/lib/ir/ui/IrCanvas.d.ts +38 -0
  350. package/lib/ir/ui/IrCanvas.d.ts.map +1 -0
  351. package/lib/ir/ui/IrCanvas.js +41 -0
  352. package/lib/ir/ui/IrCanvas.js.map +1 -0
  353. package/lib/ir/ui/IrChart.d.ts +28 -0
  354. package/lib/ir/ui/IrChart.d.ts.map +1 -0
  355. package/lib/ir/ui/IrChart.js +114 -0
  356. package/lib/ir/ui/IrChart.js.map +1 -0
  357. package/lib/ir/ui/IrCommandProvider.d.ts +15 -0
  358. package/lib/ir/ui/IrCommandProvider.d.ts.map +1 -0
  359. package/lib/ir/ui/IrCommandProvider.js +14 -0
  360. package/lib/ir/ui/IrCommandProvider.js.map +1 -0
  361. package/lib/ir/ui/IrCommandTooltip.d.ts +16 -0
  362. package/lib/ir/ui/IrCommandTooltip.d.ts.map +1 -0
  363. package/lib/ir/ui/IrCommandTooltip.js +22 -0
  364. package/lib/ir/ui/IrCommandTooltip.js.map +1 -0
  365. package/lib/ir/ui/IrDocumentationDialog.d.ts +18 -0
  366. package/lib/ir/ui/IrDocumentationDialog.d.ts.map +1 -0
  367. package/lib/ir/ui/IrDocumentationDialog.js +68 -0
  368. package/lib/ir/ui/IrDocumentationDialog.js.map +1 -0
  369. package/lib/ir/ui/IrEditor.d.ts +60 -0
  370. package/lib/ir/ui/IrEditor.d.ts.map +1 -0
  371. package/lib/ir/ui/IrEditor.js +42 -0
  372. package/lib/ir/ui/IrEditor.js.map +1 -0
  373. package/lib/ir/ui/IrHeader.d.ts +13 -0
  374. package/lib/ir/ui/IrHeader.d.ts.map +1 -0
  375. package/lib/ir/ui/IrHeader.js +21 -0
  376. package/lib/ir/ui/IrHeader.js.map +1 -0
  377. package/lib/ir/ui/IrLogo.d.ts +20 -0
  378. package/lib/ir/ui/IrLogo.d.ts.map +1 -0
  379. package/lib/ir/ui/IrLogo.js +17 -0
  380. package/lib/ir/ui/IrLogo.js.map +1 -0
  381. package/lib/ir/ui/IrPointerTracker.d.ts +29 -0
  382. package/lib/ir/ui/IrPointerTracker.d.ts.map +1 -0
  383. package/lib/ir/ui/IrPointerTracker.js +47 -0
  384. package/lib/ir/ui/IrPointerTracker.js.map +1 -0
  385. package/lib/ir/ui/IrShell.d.ts +25 -0
  386. package/lib/ir/ui/IrShell.d.ts.map +1 -0
  387. package/lib/ir/ui/IrShell.js +178 -0
  388. package/lib/ir/ui/IrShell.js.map +1 -0
  389. package/lib/ir/ui/IrSidePanel.d.ts +26 -0
  390. package/lib/ir/ui/IrSidePanel.d.ts.map +1 -0
  391. package/lib/ir/ui/IrSidePanel.js +39 -0
  392. package/lib/ir/ui/IrSidePanel.js.map +1 -0
  393. package/lib/ir/ui/IrStateProvider.d.ts +19 -0
  394. package/lib/ir/ui/IrStateProvider.d.ts.map +1 -0
  395. package/lib/ir/ui/IrStateProvider.js +16 -0
  396. package/lib/ir/ui/IrStateProvider.js.map +1 -0
  397. package/lib/ir/ui/IrStatusBar.d.ts +14 -0
  398. package/lib/ir/ui/IrStatusBar.d.ts.map +1 -0
  399. package/lib/ir/ui/IrStatusBar.js +48 -0
  400. package/lib/ir/ui/IrStatusBar.js.map +1 -0
  401. package/lib/ir/ui/IrToolbar.d.ts +18 -0
  402. package/lib/ir/ui/IrToolbar.d.ts.map +1 -0
  403. package/lib/ir/ui/IrToolbar.js +32 -0
  404. package/lib/ir/ui/IrToolbar.js.map +1 -0
  405. package/lib/ir/ui/IrTraces.d.ts +63 -0
  406. package/lib/ir/ui/IrTraces.d.ts.map +1 -0
  407. package/lib/ir/ui/IrTraces.js +72 -0
  408. package/lib/ir/ui/IrTraces.js.map +1 -0
  409. package/lib/ir/ui/MetadataPanel.d.ts +15 -0
  410. package/lib/ir/ui/MetadataPanel.d.ts.map +1 -0
  411. package/lib/ir/ui/MetadataPanel.js +49 -0
  412. package/lib/ir/ui/MetadataPanel.js.map +1 -0
  413. package/lib/ir/ui/SpectraPanel.d.ts +20 -0
  414. package/lib/ir/ui/SpectraPanel.d.ts.map +1 -0
  415. package/lib/ir/ui/SpectraPanel.js +42 -0
  416. package/lib/ir/ui/SpectraPanel.js.map +1 -0
  417. package/lib/ir/ui/SpectrumRow.d.ts +26 -0
  418. package/lib/ir/ui/SpectrumRow.d.ts.map +1 -0
  419. package/lib/ir/ui/SpectrumRow.js +41 -0
  420. package/lib/ir/ui/SpectrumRow.js.map +1 -0
  421. package/lib/ir/ui/index.d.ts +56 -0
  422. package/lib/ir/ui/index.d.ts.map +1 -0
  423. package/lib/ir/ui/index.js +36 -0
  424. package/lib/ir/ui/index.js.map +1 -0
  425. package/lib/ir/ui/irActions.d.ts +52 -0
  426. package/lib/ir/ui/irActions.d.ts.map +1 -0
  427. package/lib/ir/ui/irActions.js +62 -0
  428. package/lib/ir/ui/irActions.js.map +1 -0
  429. package/lib/ir/ui/irChartProps.d.ts +116 -0
  430. package/lib/ir/ui/irChartProps.d.ts.map +1 -0
  431. package/lib/ir/ui/irChartProps.js +14 -0
  432. package/lib/ir/ui/irChartProps.js.map +1 -0
  433. package/lib/ir/ui/irCommandContext.d.ts +35 -0
  434. package/lib/ir/ui/irCommandContext.d.ts.map +1 -0
  435. package/lib/ir/ui/irCommandContext.js +44 -0
  436. package/lib/ir/ui/irCommandContext.js.map +1 -0
  437. package/lib/ir/ui/irStateContext.d.ts +26 -0
  438. package/lib/ir/ui/irStateContext.d.ts.map +1 -0
  439. package/lib/ir/ui/irStateContext.js +37 -0
  440. package/lib/ir/ui/irStateContext.js.map +1 -0
  441. package/lib/ir/ui/useIrEditor.d.ts +51 -0
  442. package/lib/ir/ui/useIrEditor.d.ts.map +1 -0
  443. package/lib/ir/ui/useIrEditor.js +88 -0
  444. package/lib/ir/ui/useIrEditor.js.map +1 -0
  445. package/lib/ir/ui/useIrPointer.d.ts +66 -0
  446. package/lib/ir/ui/useIrPointer.d.ts.map +1 -0
  447. package/lib/ir/ui/useIrPointer.js +53 -0
  448. package/lib/ir/ui/useIrPointer.js.map +1 -0
  449. package/lib/ir/ui/useIrShortcuts.d.ts +24 -0
  450. package/lib/ir/ui/useIrShortcuts.d.ts.map +1 -0
  451. package/lib/ir/ui/useIrShortcuts.js +73 -0
  452. package/lib/ir/ui/useIrShortcuts.js.map +1 -0
  453. package/lib/ir/ui/useIrZoom.d.ts +51 -0
  454. package/lib/ir/ui/useIrZoom.d.ts.map +1 -0
  455. package/lib/ir/ui/useIrZoom.js +46 -0
  456. package/lib/ir/ui/useIrZoom.js.map +1 -0
  457. package/lib/ir.d.ts +13 -0
  458. package/lib/ir.d.ts.map +1 -0
  459. package/lib/ir.js +13 -0
  460. package/lib/ir.js.map +1 -0
  461. package/lib/panel/core/dialogStyles.d.ts +13 -0
  462. package/lib/panel/core/dialogStyles.d.ts.map +1 -0
  463. package/lib/panel/core/dialogStyles.js +11 -0
  464. package/lib/panel/core/dialogStyles.js.map +1 -0
  465. package/lib/panel/core/index.d.ts +19 -0
  466. package/lib/panel/core/index.d.ts.map +1 -0
  467. package/lib/panel/core/index.js +18 -0
  468. package/lib/panel/core/index.js.map +1 -0
  469. package/lib/panel/core/isEditingField.d.ts +17 -0
  470. package/lib/panel/core/isEditingField.d.ts.map +1 -0
  471. package/lib/panel/core/isEditingField.js +25 -0
  472. package/lib/panel/core/isEditingField.js.map +1 -0
  473. package/lib/panel/core/panelStyles.d.ts +242 -0
  474. package/lib/panel/core/panelStyles.d.ts.map +1 -0
  475. package/lib/panel/core/panelStyles.js +228 -0
  476. package/lib/panel/core/panelStyles.js.map +1 -0
  477. package/lib/panel/core/rowSpacers.d.ts +38 -0
  478. package/lib/panel/core/rowSpacers.d.ts.map +1 -0
  479. package/lib/panel/core/rowSpacers.js +31 -0
  480. package/lib/panel/core/rowSpacers.js.map +1 -0
  481. package/lib/panel/core/statusBar.d.ts +44 -0
  482. package/lib/panel/core/statusBar.d.ts.map +1 -0
  483. package/lib/panel/core/statusBar.js +40 -0
  484. package/lib/panel/core/statusBar.js.map +1 -0
  485. package/lib/panel/core/textFilter.d.ts +22 -0
  486. package/lib/panel/core/textFilter.d.ts.map +1 -0
  487. package/lib/panel/core/textFilter.js +32 -0
  488. package/lib/panel/core/textFilter.js.map +1 -0
  489. package/lib/panel/core/yieldToPainting.d.ts +17 -0
  490. package/lib/panel/core/yieldToPainting.d.ts.map +1 -0
  491. package/lib/panel/core/yieldToPainting.js +21 -0
  492. package/lib/panel/core/yieldToPainting.js.map +1 -0
  493. package/lib/panel/ui/AboutDialogFrame.d.ts +36 -0
  494. package/lib/panel/ui/AboutDialogFrame.d.ts.map +1 -0
  495. package/lib/panel/ui/AboutDialogFrame.js +43 -0
  496. package/lib/panel/ui/AboutDialogFrame.js.map +1 -0
  497. package/lib/panel/ui/ClearButton.d.ts +28 -0
  498. package/lib/panel/ui/ClearButton.d.ts.map +1 -0
  499. package/lib/panel/ui/ClearButton.js +23 -0
  500. package/lib/panel/ui/ClearButton.js.map +1 -0
  501. package/lib/panel/ui/DocumentationDialogFrame.d.ts +39 -0
  502. package/lib/panel/ui/DocumentationDialogFrame.d.ts.map +1 -0
  503. package/lib/panel/ui/DocumentationDialogFrame.js +29 -0
  504. package/lib/panel/ui/DocumentationDialogFrame.js.map +1 -0
  505. package/lib/panel/ui/FilterInput.d.ts +31 -0
  506. package/lib/panel/ui/FilterInput.d.ts.map +1 -0
  507. package/lib/panel/ui/FilterInput.js +23 -0
  508. package/lib/panel/ui/FilterInput.js.map +1 -0
  509. package/lib/panel/ui/HelpLabel.d.ts +24 -0
  510. package/lib/panel/ui/HelpLabel.d.ts.map +1 -0
  511. package/lib/panel/ui/HelpLabel.js +23 -0
  512. package/lib/panel/ui/HelpLabel.js.map +1 -0
  513. package/lib/panel/ui/PanelMessage.d.ts +41 -0
  514. package/lib/panel/ui/PanelMessage.d.ts.map +1 -0
  515. package/lib/panel/ui/PanelMessage.js +30 -0
  516. package/lib/panel/ui/PanelMessage.js.map +1 -0
  517. package/lib/panel/ui/PanelRail.d.ts +41 -0
  518. package/lib/panel/ui/PanelRail.d.ts.map +1 -0
  519. package/lib/panel/ui/PanelRail.js +12 -0
  520. package/lib/panel/ui/PanelRail.js.map +1 -0
  521. package/lib/panel/ui/Section.d.ts +25 -0
  522. package/lib/panel/ui/Section.d.ts.map +1 -0
  523. package/lib/panel/ui/Section.js +41 -0
  524. package/lib/panel/ui/Section.js.map +1 -0
  525. package/lib/panel/ui/SidePanelStack.d.ts +62 -0
  526. package/lib/panel/ui/SidePanelStack.d.ts.map +1 -0
  527. package/lib/panel/ui/SidePanelStack.js +40 -0
  528. package/lib/panel/ui/SidePanelStack.js.map +1 -0
  529. package/lib/panel/ui/SpectrumColorSwatch.d.ts +33 -0
  530. package/lib/panel/ui/SpectrumColorSwatch.d.ts.map +1 -0
  531. package/lib/panel/ui/SpectrumColorSwatch.js +76 -0
  532. package/lib/panel/ui/SpectrumColorSwatch.js.map +1 -0
  533. package/lib/panel/ui/index.d.ts +37 -0
  534. package/lib/panel/ui/index.d.ts.map +1 -0
  535. package/lib/panel/ui/index.js +24 -0
  536. package/lib/panel/ui/index.js.map +1 -0
  537. package/lib/panel/ui/useConfirmOnEnter.d.ts +19 -0
  538. package/lib/panel/ui/useConfirmOnEnter.d.ts.map +1 -0
  539. package/lib/panel/ui/useConfirmOnEnter.js +64 -0
  540. package/lib/panel/ui/useConfirmOnEnter.js.map +1 -0
  541. package/lib/panel/ui/useFilterBox.d.ts +23 -0
  542. package/lib/panel/ui/useFilterBox.d.ts.map +1 -0
  543. package/lib/panel/ui/useFilterBox.js +22 -0
  544. package/lib/panel/ui/useFilterBox.js.map +1 -0
  545. package/lib/panel/ui/useVirtualRows.d.ts +46 -0
  546. package/lib/panel/ui/useVirtualRows.d.ts.map +1 -0
  547. package/lib/panel/ui/useVirtualRows.js +56 -0
  548. package/lib/panel/ui/useVirtualRows.js.map +1 -0
  549. package/lib/panel/ui/useVirtualWindowRows.d.ts +40 -0
  550. package/lib/panel/ui/useVirtualWindowRows.d.ts.map +1 -0
  551. package/lib/panel/ui/useVirtualWindowRows.js +65 -0
  552. package/lib/panel/ui/useVirtualWindowRows.js.map +1 -0
  553. package/lib/ui.d.ts +1 -0
  554. package/lib/ui.d.ts.map +1 -1
  555. package/lib/ui.js +1 -0
  556. package/lib/ui.js.map +1 -1
  557. package/package.json +8 -1
  558. package/src/chart/core/axisLabels.ts +117 -0
  559. package/src/chart/core/boxLayout.ts +126 -0
  560. package/src/chart/core/chartAxisScale.ts +92 -10
  561. package/src/chart/core/chartDomain.ts +185 -0
  562. package/src/chart/core/chartGeometry.ts +159 -0
  563. package/src/chart/core/chartPane.ts +10 -0
  564. package/src/chart/core/chartScale.ts +7 -4
  565. package/src/chart/core/chartTheme.ts +161 -0
  566. package/src/chart/core/chartViewport.ts +40 -13
  567. package/src/chart/core/guidePlacement.ts +66 -0
  568. package/src/chart/core/index.ts +121 -2
  569. package/src/chart/core/labelStack.ts +72 -0
  570. package/src/chart/core/legendBox.ts +263 -0
  571. package/src/chart/core/selectionGeometry.ts +68 -0
  572. package/src/chart/core/spectrumColor.ts +129 -0
  573. package/src/chart/core/stackCapacity.ts +162 -0
  574. package/src/chart/core/svgPoint.ts +77 -0
  575. package/src/chart/core/tracePath.ts +228 -0
  576. package/src/chart/core/trackerReadout.ts +78 -0
  577. package/src/chart/core/viewTransform.ts +287 -0
  578. package/src/chart/core/zoomDomain.ts +235 -0
  579. package/src/chart/ui/Axes.tsx +361 -0
  580. package/src/chart/ui/AxisGuide.tsx +187 -0
  581. package/src/chart/ui/ChartStack.tsx +130 -0
  582. package/src/chart/ui/ChartTracker.tsx +101 -0
  583. package/src/chart/ui/PlotCaption.tsx +108 -0
  584. package/src/chart/ui/SelectionRect.tsx +52 -0
  585. package/src/chart/ui/TraceLegend.tsx +193 -0
  586. package/src/chart/ui/chartGestures.ts +270 -0
  587. package/src/chart/ui/chartStackLevel.tsx +210 -0
  588. package/src/chart/ui/chartSurface.ts +66 -0
  589. package/src/chart/ui/index.ts +35 -0
  590. package/src/chart/ui/useChartPointer.ts +223 -0
  591. package/src/chart/ui/useChartSize.ts +115 -0
  592. package/src/chart/ui/useChartWindow.ts +240 -0
  593. package/src/chart/ui/useChartZoom.ts +255 -0
  594. package/src/chart/ui/useWheelListener.ts +62 -0
  595. package/src/clipboard/core/copyPng.ts +20 -0
  596. package/src/clipboard/core/index.ts +1 -0
  597. package/src/clipboard/ui/CopyableValue.tsx +22 -35
  598. package/src/core.ts +1 -0
  599. package/src/download/core/exportStyles.ts +20 -0
  600. package/src/download/core/imageResolution.ts +118 -0
  601. package/src/download/core/index.ts +34 -0
  602. package/src/download/core/pictureExport.ts +207 -0
  603. package/src/download/core/stackedDrawing.ts +108 -0
  604. package/src/download/core/svgBounds.ts +80 -0
  605. package/src/download/core/svgNamespace.ts +9 -0
  606. package/src/download/core/svgToPng.ts +121 -0
  607. package/src/download/core/svgToString.ts +95 -0
  608. package/src/download/ui/ExportDialogFrame.tsx +86 -0
  609. package/src/download/ui/ExportImageDialog.tsx +91 -0
  610. package/src/download/ui/ExportNameField.tsx +148 -0
  611. package/src/download/ui/ExportPictureSection.tsx +142 -0
  612. package/src/download/ui/index.ts +11 -0
  613. package/src/download/ui/useDrawingBox.ts +37 -0
  614. package/src/error/core/describeSource.ts +18 -0
  615. package/src/error/core/index.ts +1 -0
  616. package/src/help/ui/HelpBody.tsx +41 -2
  617. package/src/help/ui/index.ts +6 -1
  618. package/src/ir/core/analysisSpectra.ts +231 -0
  619. package/src/ir/core/assignBands.ts +144 -0
  620. package/src/ir/core/bandAssignments.ts +329 -0
  621. package/src/ir/core/bandLabelPlan.ts +194 -0
  622. package/src/ir/core/detectIrFormat.ts +139 -0
  623. package/src/ir/core/downloadSpectra.ts +57 -0
  624. package/src/ir/core/fromJcamp.ts +70 -0
  625. package/src/ir/core/fromSpc.ts +61 -0
  626. package/src/ir/core/index.ts +113 -0
  627. package/src/ir/core/irBand.ts +57 -0
  628. package/src/ir/core/irCommands.ts +154 -0
  629. package/src/ir/core/irDomain.ts +163 -0
  630. package/src/ir/core/irEditorApi.ts +44 -0
  631. package/src/ir/core/irFormat.ts +57 -0
  632. package/src/ir/core/irMode.ts +203 -0
  633. package/src/ir/core/irReducer.ts +273 -0
  634. package/src/ir/core/irSidePanels.ts +20 -0
  635. package/src/ir/core/irSpectrum.ts +155 -0
  636. package/src/ir/core/irState.ts +173 -0
  637. package/src/ir/core/loadIrSpectra.ts +79 -0
  638. package/src/ir/core/nearestBand.ts +57 -0
  639. package/src/ir/core/pickBands.ts +181 -0
  640. package/src/ir/core/spectrumJcamp.ts +178 -0
  641. package/src/ir/core/toIrSpectrum.ts +102 -0
  642. package/src/ir/ui/BandMarks.tsx +166 -0
  643. package/src/ir/ui/BandsPanel.tsx +271 -0
  644. package/src/ir/ui/IrAboutDialog.tsx +121 -0
  645. package/src/ir/ui/IrCanvas.tsx +91 -0
  646. package/src/ir/ui/IrChart.tsx +215 -0
  647. package/src/ir/ui/IrCommandProvider.tsx +32 -0
  648. package/src/ir/ui/IrCommandTooltip.tsx +36 -0
  649. package/src/ir/ui/IrDocumentationDialog.tsx +174 -0
  650. package/src/ir/ui/IrEditor.tsx +99 -0
  651. package/src/ir/ui/IrHeader.tsx +39 -0
  652. package/src/ir/ui/IrLogo.tsx +49 -0
  653. package/src/ir/ui/IrPointerTracker.tsx +102 -0
  654. package/src/ir/ui/IrShell.tsx +285 -0
  655. package/src/ir/ui/IrSidePanel.tsx +78 -0
  656. package/src/ir/ui/IrStateProvider.tsx +32 -0
  657. package/src/ir/ui/IrStatusBar.tsx +97 -0
  658. package/src/ir/ui/IrToolbar.tsx +102 -0
  659. package/src/ir/ui/IrTraces.tsx +134 -0
  660. package/src/ir/ui/MetadataPanel.tsx +88 -0
  661. package/src/ir/ui/SpectraPanel.tsx +114 -0
  662. package/src/ir/ui/SpectrumRow.tsx +127 -0
  663. package/src/ir/ui/index.ts +56 -0
  664. package/src/ir/ui/irActions.ts +103 -0
  665. package/src/ir/ui/irChartProps.ts +118 -0
  666. package/src/ir/ui/irCommandContext.tsx +62 -0
  667. package/src/ir/ui/irStateContext.ts +48 -0
  668. package/src/ir/ui/useIrEditor.ts +139 -0
  669. package/src/ir/ui/useIrPointer.ts +109 -0
  670. package/src/ir/ui/useIrShortcuts.ts +95 -0
  671. package/src/ir/ui/useIrZoom.ts +86 -0
  672. package/src/ir.ts +13 -0
  673. package/src/panel/core/dialogStyles.ts +11 -0
  674. package/src/panel/core/index.ts +47 -0
  675. package/src/panel/core/isEditingField.ts +23 -0
  676. package/src/panel/core/panelStyles.ts +248 -0
  677. package/src/panel/core/rowSpacers.ts +50 -0
  678. package/src/panel/core/statusBar.ts +48 -0
  679. package/src/panel/core/textFilter.ts +33 -0
  680. package/src/panel/core/yieldToPainting.ts +20 -0
  681. package/src/panel/ui/AboutDialogFrame.tsx +100 -0
  682. package/src/panel/ui/ClearButton.tsx +42 -0
  683. package/src/panel/ui/DocumentationDialogFrame.tsx +86 -0
  684. package/src/panel/ui/FilterInput.tsx +60 -0
  685. package/src/panel/ui/HelpLabel.tsx +43 -0
  686. package/src/panel/ui/PanelMessage.tsx +64 -0
  687. package/src/panel/ui/PanelRail.tsx +64 -0
  688. package/src/panel/ui/Section.tsx +66 -0
  689. package/src/panel/ui/SidePanelStack.tsx +109 -0
  690. package/src/panel/ui/SpectrumColorSwatch.tsx +119 -0
  691. package/src/panel/ui/index.ts +47 -0
  692. package/src/panel/ui/useConfirmOnEnter.ts +68 -0
  693. package/src/panel/ui/useFilterBox.ts +35 -0
  694. package/src/panel/ui/useVirtualRows.ts +82 -0
  695. package/src/panel/ui/useVirtualWindowRows.ts +86 -0
  696. package/src/ui.ts +1 -0
@@ -0,0 +1,242 @@
1
+ /**
2
+ * What every side panel is built out of, in every editor.
3
+ *
4
+ * A panel is the same three parts each time — the box it fills, a toolbar of
5
+ * its own actions under the header, and the body that scrolls — and the reason
6
+ * one file holds the measurements rather than each package holding its own is
7
+ * that a page shows the editors together: a glycan drawn beside its spectrum
8
+ * stacks panels from two packages in one accordion, and a panel that padded
9
+ * itself differently reads as a step in the column.
10
+ *
11
+ * Three copies of this file had already drifted — one had renamed half of it,
12
+ * one had lost a border, and their toolbars stood at two different heights — so
13
+ * the divergence is not hypothetical.
14
+ */
15
+ /** The box a panel fills: it takes the height it is given and never overflows it. */
16
+ export declare const panelStyle: {
17
+ readonly display: "flex";
18
+ readonly flexDirection: "column";
19
+ readonly flex: "1 1 1px";
20
+ readonly minHeight: 0;
21
+ };
22
+ /**
23
+ * A panel that only holds what it holds, and is as tall as that.
24
+ *
25
+ * The stack gives it the height its content asks for rather than a share of the
26
+ * side, which is what a panel of a few rows wants.
27
+ */
28
+ export declare const shortPanelStyle: {
29
+ readonly display: "flex";
30
+ readonly flexDirection: "column";
31
+ readonly gap: 6;
32
+ readonly padding: 8;
33
+ };
34
+ /**
35
+ * The row of a panel's own actions, directly under its header.
36
+ *
37
+ * The header carries shell chrome only, so what a panel switches on and off
38
+ * travels with the panel instead. No padding of its own: what sits in it is a
39
+ * `Toolbar`, which spaces its own items, and a row that padded them again stood
40
+ * taller than the same row in the editor next door.
41
+ */
42
+ export declare const panelToolbarStyle: {
43
+ readonly display: "flex";
44
+ readonly borderBottom: "1px solid rgb(217 223 230)";
45
+ };
46
+ /**
47
+ * How much of a list is left, at the far end of the panel's toolbar row.
48
+ *
49
+ * What a filter left is read while reaching for the filter rather than while
50
+ * reading the rows, so it belongs beside the actions; and at the end of the row,
51
+ * where it stays put as actions are added beside them.
52
+ */
53
+ export declare const panelToolbarCountStyle: {
54
+ readonly marginLeft: "auto";
55
+ readonly display: "flex";
56
+ readonly alignItems: "center";
57
+ readonly padding: "0 8px";
58
+ readonly fontSize: 11;
59
+ readonly opacity: 0.7;
60
+ };
61
+ /** What is under the toolbar: the panel's content, scrolling within its share. */
62
+ export declare const panelBodyStyle: {
63
+ readonly display: "flex";
64
+ readonly flexDirection: "column";
65
+ readonly gap: 6;
66
+ readonly padding: 8;
67
+ readonly flex: "1 1 1px";
68
+ readonly minHeight: 0;
69
+ readonly overflow: "auto";
70
+ };
71
+ /**
72
+ * A list inside a panel body that scrolls on its own.
73
+ *
74
+ * A table with a sticky header cannot share the body's scroll, because a scroll
75
+ * container's padding is inside what it clips: the rows leaving the top show in
76
+ * the eight pixels above a header pinned to `top: 0`, so the list appears to run
77
+ * behind its own header instead of stopping at it. Scrolling the rows in a
78
+ * region with no padding of its own pins the header to the top of what is
79
+ * actually moving, and leaves whatever the panel wrote above the table — the
80
+ * count, the filter box — where it can still be read at the thousandth row.
81
+ */
82
+ export declare const panelScrollAreaStyle: {
83
+ readonly flex: "1 1 1px";
84
+ readonly minHeight: 0;
85
+ readonly overflow: "auto";
86
+ };
87
+ /** A table of rows filling the width of the panel it is read in. */
88
+ export declare const panelTableStyle: {
89
+ readonly width: "100%";
90
+ readonly borderCollapse: "collapse";
91
+ readonly fontSize: 11;
92
+ readonly fontVariantNumeric: "tabular-nums";
93
+ };
94
+ /**
95
+ * A heading cell that stays put while the rows scroll under it.
96
+ *
97
+ * It pads nothing, because what it holds is a button that pads itself: a
98
+ * heading that sorts has to be clickable across the whole cell, and padding the
99
+ * cell instead would leave a dead border around the target.
100
+ */
101
+ export declare const panelStickyHeaderStyle: {
102
+ readonly position: "sticky";
103
+ readonly top: 0;
104
+ readonly zIndex: 1;
105
+ readonly background: "rgb(255 255 255)";
106
+ readonly textAlign: "left";
107
+ readonly padding: 0;
108
+ readonly borderBottom: "1px solid rgb(217 223 230)";
109
+ };
110
+ /** The same heading when it is plain text, which has to pad itself. */
111
+ export declare const panelHeaderCellStyle: {
112
+ readonly padding: "2px 6px";
113
+ readonly whiteSpace: "nowrap";
114
+ readonly position: "sticky";
115
+ readonly top: 0;
116
+ readonly zIndex: 1;
117
+ readonly background: "rgb(255 255 255)";
118
+ readonly textAlign: "left";
119
+ readonly borderBottom: "1px solid rgb(217 223 230)";
120
+ };
121
+ /**
122
+ * A column heading, which is also how the table is reordered.
123
+ *
124
+ * The headers sort rather than a select box above the table, because which order
125
+ * a table is read in changes with every question asked of it, and a select costs
126
+ * two clicks and a menu for what a column heading answers in one.
127
+ */
128
+ export declare const panelColumnButtonStyle: {
129
+ readonly all: "unset";
130
+ readonly display: "block";
131
+ readonly width: "100%";
132
+ readonly padding: "3px 4px";
133
+ readonly cursor: "pointer";
134
+ readonly fontSize: 10;
135
+ readonly fontWeight: 600;
136
+ readonly textTransform: "uppercase";
137
+ readonly letterSpacing: "0.04em";
138
+ readonly opacity: 0.6;
139
+ };
140
+ /** An ordinary cell of such a table. */
141
+ export declare const panelCellStyle: {
142
+ readonly padding: "1px 6px";
143
+ readonly borderBottom: "1px solid rgb(238 241 245)";
144
+ readonly whiteSpace: "nowrap";
145
+ };
146
+ /** A cell holding a number, read down the column against its neighbours. */
147
+ export declare const panelNumberCellStyle: {
148
+ readonly textAlign: "right";
149
+ readonly padding: "1px 6px";
150
+ readonly borderBottom: "1px solid rgb(238 241 245)";
151
+ readonly whiteSpace: "nowrap";
152
+ };
153
+ /** What a value is, written small and quiet above it. */
154
+ export declare const labelStyle: {
155
+ readonly fontSize: 11;
156
+ readonly fontWeight: 600;
157
+ readonly textTransform: "uppercase";
158
+ readonly letterSpacing: "0.04em";
159
+ readonly opacity: 0.6;
160
+ };
161
+ /** A label with whatever acts on the value it names pushed to the far end. */
162
+ export declare const labelRowStyle: {
163
+ readonly display: "flex";
164
+ readonly alignItems: "center";
165
+ readonly justifyContent: "space-between";
166
+ readonly gap: 4;
167
+ };
168
+ /** A row of capsules under such a label, wrapping when it runs out of width. */
169
+ export declare const panelCapsulesStyle: {
170
+ readonly display: "flex";
171
+ readonly flexWrap: "wrap";
172
+ readonly alignItems: "center";
173
+ readonly gap: 4;
174
+ readonly marginTop: 4;
175
+ };
176
+ /**
177
+ * The same label written beside what it names rather than above it.
178
+ *
179
+ * A label costs a whole line of the panel where it stands on its own, and a
180
+ * choice of two or three capsules does not fill the line it is then given. Set
181
+ * beside them the label reads as the question the capsules answer, and two such
182
+ * questions fit in the height one used to take.
183
+ */
184
+ export declare const inlineLabelStyle: {
185
+ readonly fontSize: 10;
186
+ readonly flex: "0 0 auto";
187
+ readonly fontWeight: 600;
188
+ readonly textTransform: "uppercase";
189
+ readonly letterSpacing: "0.04em";
190
+ readonly opacity: 0.6;
191
+ };
192
+ /** One inline label and the capsules that answer it, kept on one line. */
193
+ export declare const panelCapsuleGroupStyle: {
194
+ readonly display: "flex";
195
+ readonly flexWrap: "wrap";
196
+ readonly alignItems: "center";
197
+ readonly gap: 4;
198
+ };
199
+ /**
200
+ * Several such groups on one line, wrapping group by group.
201
+ *
202
+ * The wider gap between groups than within one is what keeps them legible as
203
+ * separate questions once they share a line: capsules four pixels apart belong
204
+ * to the label on their left, and the group after it starts a hand's width
205
+ * further along.
206
+ */
207
+ export declare const panelCapsuleRowStyle: {
208
+ readonly display: "flex";
209
+ readonly flexWrap: "wrap";
210
+ readonly alignItems: "center";
211
+ readonly gap: "4px 12px";
212
+ };
213
+ /**
214
+ * A capsule sized for such a row.
215
+ *
216
+ * Blueprint's tag has no size below its medium one, so the smaller capsule is
217
+ * asked for here rather than through a prop. Written as a style so a capsule
218
+ * carrying a colour of its own can spread it over this one.
219
+ */
220
+ export declare const smallCapsuleStyle: {
221
+ readonly minHeight: 0;
222
+ readonly minWidth: 0;
223
+ readonly padding: "1px 5px";
224
+ readonly fontSize: 10;
225
+ readonly lineHeight: "14px";
226
+ };
227
+ /** The name of one group of a list, with the room a group needs above it. */
228
+ export declare const panelHeadingStyle: {
229
+ readonly padding: "6px 4px 2px";
230
+ readonly fontSize: 11;
231
+ readonly fontWeight: 600;
232
+ readonly textTransform: "uppercase";
233
+ readonly letterSpacing: "0.04em";
234
+ readonly opacity: 0.6;
235
+ };
236
+ /** What a panel says instead of a list, when it has nothing to list. */
237
+ export declare const panelEmptyStyle: {
238
+ readonly padding: 8;
239
+ readonly fontSize: 12;
240
+ readonly opacity: 0.7;
241
+ };
242
+ //# sourceMappingURL=panelStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panelStyles.d.ts","sourceRoot":"","sources":["../../../src/panel/core/panelStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qFAAqF;AACrF,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,oEAAoE;AACpE,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;CAQzB,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;;;;;;;;;CAIvB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAWzB,CAAC;AAEX,wCAAwC;AACxC,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB;;;;;CAGvB,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,gFAAgF;AAChF,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;CAInB,CAAC;AAEX,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB;;;;;;;CAGpB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,eAAe;;;;CAIlB,CAAC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * What every side panel is built out of, in every editor.
3
+ *
4
+ * A panel is the same three parts each time — the box it fills, a toolbar of
5
+ * its own actions under the header, and the body that scrolls — and the reason
6
+ * one file holds the measurements rather than each package holding its own is
7
+ * that a page shows the editors together: a glycan drawn beside its spectrum
8
+ * stacks panels from two packages in one accordion, and a panel that padded
9
+ * itself differently reads as a step in the column.
10
+ *
11
+ * Three copies of this file had already drifted — one had renamed half of it,
12
+ * one had lost a border, and their toolbars stood at two different heights — so
13
+ * the divergence is not hypothetical.
14
+ */
15
+ /** The box a panel fills: it takes the height it is given and never overflows it. */
16
+ export const panelStyle = {
17
+ display: 'flex',
18
+ flexDirection: 'column',
19
+ flex: '1 1 1px',
20
+ minHeight: 0,
21
+ };
22
+ /**
23
+ * A panel that only holds what it holds, and is as tall as that.
24
+ *
25
+ * The stack gives it the height its content asks for rather than a share of the
26
+ * side, which is what a panel of a few rows wants.
27
+ */
28
+ export const shortPanelStyle = {
29
+ display: 'flex',
30
+ flexDirection: 'column',
31
+ gap: 6,
32
+ padding: 8,
33
+ };
34
+ /**
35
+ * The row of a panel's own actions, directly under its header.
36
+ *
37
+ * The header carries shell chrome only, so what a panel switches on and off
38
+ * travels with the panel instead. No padding of its own: what sits in it is a
39
+ * `Toolbar`, which spaces its own items, and a row that padded them again stood
40
+ * taller than the same row in the editor next door.
41
+ */
42
+ export const panelToolbarStyle = {
43
+ display: 'flex',
44
+ borderBottom: '1px solid rgb(217 223 230)',
45
+ };
46
+ /**
47
+ * How much of a list is left, at the far end of the panel's toolbar row.
48
+ *
49
+ * What a filter left is read while reaching for the filter rather than while
50
+ * reading the rows, so it belongs beside the actions; and at the end of the row,
51
+ * where it stays put as actions are added beside them.
52
+ */
53
+ export const panelToolbarCountStyle = {
54
+ marginLeft: 'auto',
55
+ display: 'flex',
56
+ alignItems: 'center',
57
+ padding: '0 8px',
58
+ fontSize: 11,
59
+ opacity: 0.7,
60
+ };
61
+ /** What is under the toolbar: the panel's content, scrolling within its share. */
62
+ export const panelBodyStyle = {
63
+ display: 'flex',
64
+ flexDirection: 'column',
65
+ gap: 6,
66
+ padding: 8,
67
+ flex: '1 1 1px',
68
+ minHeight: 0,
69
+ overflow: 'auto',
70
+ };
71
+ /**
72
+ * A list inside a panel body that scrolls on its own.
73
+ *
74
+ * A table with a sticky header cannot share the body's scroll, because a scroll
75
+ * container's padding is inside what it clips: the rows leaving the top show in
76
+ * the eight pixels above a header pinned to `top: 0`, so the list appears to run
77
+ * behind its own header instead of stopping at it. Scrolling the rows in a
78
+ * region with no padding of its own pins the header to the top of what is
79
+ * actually moving, and leaves whatever the panel wrote above the table — the
80
+ * count, the filter box — where it can still be read at the thousandth row.
81
+ */
82
+ export const panelScrollAreaStyle = {
83
+ flex: '1 1 1px',
84
+ minHeight: 0,
85
+ overflow: 'auto',
86
+ };
87
+ /** A table of rows filling the width of the panel it is read in. */
88
+ export const panelTableStyle = {
89
+ width: '100%',
90
+ borderCollapse: 'collapse',
91
+ fontSize: 11,
92
+ fontVariantNumeric: 'tabular-nums',
93
+ };
94
+ /**
95
+ * A heading cell that stays put while the rows scroll under it.
96
+ *
97
+ * It pads nothing, because what it holds is a button that pads itself: a
98
+ * heading that sorts has to be clickable across the whole cell, and padding the
99
+ * cell instead would leave a dead border around the target.
100
+ */
101
+ export const panelStickyHeaderStyle = {
102
+ position: 'sticky',
103
+ top: 0,
104
+ zIndex: 1,
105
+ background: 'rgb(255 255 255)',
106
+ textAlign: 'left',
107
+ padding: 0,
108
+ borderBottom: '1px solid rgb(217 223 230)',
109
+ };
110
+ /** The same heading when it is plain text, which has to pad itself. */
111
+ export const panelHeaderCellStyle = {
112
+ ...panelStickyHeaderStyle,
113
+ padding: '2px 6px',
114
+ whiteSpace: 'nowrap',
115
+ };
116
+ /**
117
+ * A column heading, which is also how the table is reordered.
118
+ *
119
+ * The headers sort rather than a select box above the table, because which order
120
+ * a table is read in changes with every question asked of it, and a select costs
121
+ * two clicks and a menu for what a column heading answers in one.
122
+ */
123
+ export const panelColumnButtonStyle = {
124
+ all: 'unset',
125
+ display: 'block',
126
+ width: '100%',
127
+ padding: '3px 4px',
128
+ cursor: 'pointer',
129
+ fontSize: 10,
130
+ fontWeight: 600,
131
+ textTransform: 'uppercase',
132
+ letterSpacing: '0.04em',
133
+ opacity: 0.6,
134
+ };
135
+ /** An ordinary cell of such a table. */
136
+ export const panelCellStyle = {
137
+ padding: '1px 6px',
138
+ borderBottom: '1px solid rgb(238 241 245)',
139
+ whiteSpace: 'nowrap',
140
+ };
141
+ /** A cell holding a number, read down the column against its neighbours. */
142
+ export const panelNumberCellStyle = {
143
+ ...panelCellStyle,
144
+ textAlign: 'right',
145
+ };
146
+ /** What a value is, written small and quiet above it. */
147
+ export const labelStyle = {
148
+ fontSize: 11,
149
+ fontWeight: 600,
150
+ textTransform: 'uppercase',
151
+ letterSpacing: '0.04em',
152
+ opacity: 0.6,
153
+ };
154
+ /** A label with whatever acts on the value it names pushed to the far end. */
155
+ export const labelRowStyle = {
156
+ display: 'flex',
157
+ alignItems: 'center',
158
+ justifyContent: 'space-between',
159
+ gap: 4,
160
+ };
161
+ /** A row of capsules under such a label, wrapping when it runs out of width. */
162
+ export const panelCapsulesStyle = {
163
+ display: 'flex',
164
+ flexWrap: 'wrap',
165
+ alignItems: 'center',
166
+ gap: 4,
167
+ marginTop: 4,
168
+ };
169
+ /**
170
+ * The same label written beside what it names rather than above it.
171
+ *
172
+ * A label costs a whole line of the panel where it stands on its own, and a
173
+ * choice of two or three capsules does not fill the line it is then given. Set
174
+ * beside them the label reads as the question the capsules answer, and two such
175
+ * questions fit in the height one used to take.
176
+ */
177
+ export const inlineLabelStyle = {
178
+ ...labelStyle,
179
+ fontSize: 10,
180
+ flex: '0 0 auto',
181
+ };
182
+ /** One inline label and the capsules that answer it, kept on one line. */
183
+ export const panelCapsuleGroupStyle = {
184
+ display: 'flex',
185
+ flexWrap: 'wrap',
186
+ alignItems: 'center',
187
+ gap: 4,
188
+ };
189
+ /**
190
+ * Several such groups on one line, wrapping group by group.
191
+ *
192
+ * The wider gap between groups than within one is what keeps them legible as
193
+ * separate questions once they share a line: capsules four pixels apart belong
194
+ * to the label on their left, and the group after it starts a hand's width
195
+ * further along.
196
+ */
197
+ export const panelCapsuleRowStyle = {
198
+ display: 'flex',
199
+ flexWrap: 'wrap',
200
+ alignItems: 'center',
201
+ gap: '4px 12px',
202
+ };
203
+ /**
204
+ * A capsule sized for such a row.
205
+ *
206
+ * Blueprint's tag has no size below its medium one, so the smaller capsule is
207
+ * asked for here rather than through a prop. Written as a style so a capsule
208
+ * carrying a colour of its own can spread it over this one.
209
+ */
210
+ export const smallCapsuleStyle = {
211
+ minHeight: 0,
212
+ minWidth: 0,
213
+ padding: '1px 5px',
214
+ fontSize: 10,
215
+ lineHeight: '14px',
216
+ };
217
+ /** The name of one group of a list, with the room a group needs above it. */
218
+ export const panelHeadingStyle = {
219
+ ...labelStyle,
220
+ padding: '6px 4px 2px',
221
+ };
222
+ /** What a panel says instead of a list, when it has nothing to list. */
223
+ export const panelEmptyStyle = {
224
+ padding: 8,
225
+ fontSize: 12,
226
+ opacity: 0.7,
227
+ };
228
+ //# sourceMappingURL=panelStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panelStyles.js","sourceRoot":"","sources":["../../../src/panel/core/panelStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The empty room a virtualised table leaves around the rows it actually drew.
3
+ *
4
+ * A table that draws twenty of five thousand rows must still be five thousand
5
+ * rows tall, or the scrollbar would say the list is a screenful long and the
6
+ * rows would jump under the thumb. Two empty rows carry that height — one above
7
+ * the drawn ones, one below — which keeps every cell in the column layout the
8
+ * browser computes for a real table, where absolutely positioning the rows
9
+ * would not.
10
+ */
11
+ /** Where one drawn row sits in the list, in pixels from the top of it. */
12
+ export interface RowPlacement {
13
+ /** Its top edge. */
14
+ start: number;
15
+ /** Its bottom edge. */
16
+ end: number;
17
+ }
18
+ /** The two empty rows standing in for everything that was not drawn. */
19
+ export interface RowSpacers {
20
+ /** How tall the one above the drawn rows is, in pixels. */
21
+ before: number;
22
+ /** How tall the one below them is. */
23
+ after: number;
24
+ }
25
+ /**
26
+ * The height of the empty row above the drawn rows and of the one below.
27
+ *
28
+ * With nothing drawn — the first render, before the scroll region has been
29
+ * measured, and every render of an empty table — the whole list becomes the
30
+ * lower spacer. That is what gives the region a scrollbar of the right length
31
+ * on the render before it knows which rows are in view, instead of a table that
32
+ * measures nothing because it is showing nothing.
33
+ * @param drawn - The rows being drawn, in order.
34
+ * @param total - How tall the whole list is, in pixels.
35
+ * @returns The height of each spacer.
36
+ */
37
+ export declare function rowSpacers(drawn: readonly RowPlacement[], total: number): RowSpacers;
38
+ //# sourceMappingURL=rowSpacers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSpacers.d.ts","sourceRoot":"","sources":["../../../src/panel/core/rowSpacers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,MAAM,GACZ,UAAU,CAOZ"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The empty room a virtualised table leaves around the rows it actually drew.
3
+ *
4
+ * A table that draws twenty of five thousand rows must still be five thousand
5
+ * rows tall, or the scrollbar would say the list is a screenful long and the
6
+ * rows would jump under the thumb. Two empty rows carry that height — one above
7
+ * the drawn ones, one below — which keeps every cell in the column layout the
8
+ * browser computes for a real table, where absolutely positioning the rows
9
+ * would not.
10
+ */
11
+ /**
12
+ * The height of the empty row above the drawn rows and of the one below.
13
+ *
14
+ * With nothing drawn — the first render, before the scroll region has been
15
+ * measured, and every render of an empty table — the whole list becomes the
16
+ * lower spacer. That is what gives the region a scrollbar of the right length
17
+ * on the render before it knows which rows are in view, instead of a table that
18
+ * measures nothing because it is showing nothing.
19
+ * @param drawn - The rows being drawn, in order.
20
+ * @param total - How tall the whole list is, in pixels.
21
+ * @returns The height of each spacer.
22
+ */
23
+ export function rowSpacers(drawn, total) {
24
+ const first = drawn[0];
25
+ const last = drawn.at(-1);
26
+ if (first === undefined || last === undefined) {
27
+ return { before: 0, after: Math.max(0, total) };
28
+ }
29
+ return { before: first.start, after: Math.max(0, total - last.end) };
30
+ }
31
+ //# sourceMappingURL=rowSpacers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSpacers.js","sourceRoot":"","sources":["../../../src/panel/core/rowSpacers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,KAA8B,EAC9B,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvE,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The strip along the foot of an editor, which every one of them writes alike.
3
+ *
4
+ * A status bar says what is open and what is under the pointer, in one line of
5
+ * small type over a rule. The geometry is the same in every viewer — that is
6
+ * what makes it read as one application rather than three — so it lives here,
7
+ * and each viewer adds only the items it has to write and whatever colour one
8
+ * of them needs.
9
+ */
10
+ /** The strip itself: one row, a rule above it, nothing wrapping. */
11
+ export declare const statusBarStyle: {
12
+ readonly display: "flex";
13
+ readonly alignItems: "center";
14
+ readonly gap: 16;
15
+ readonly padding: "4px 10px";
16
+ readonly minHeight: 30;
17
+ readonly borderTop: "1px solid rgb(217 223 230)";
18
+ readonly fontSize: 13;
19
+ readonly whiteSpace: "nowrap";
20
+ };
21
+ /** One thing the bar says, icon and text on one line. */
22
+ export declare const statusItemStyle: {
23
+ readonly display: "inline-flex";
24
+ readonly alignItems: "center";
25
+ };
26
+ /** An item that is context rather than an answer. */
27
+ export declare const statusMutedStyle: {
28
+ readonly opacity: 0.6;
29
+ readonly display: "inline-flex";
30
+ readonly alignItems: "center";
31
+ };
32
+ /** What pushes the items after it to the far end of the bar. */
33
+ export declare const statusSpacerStyle: {
34
+ readonly flex: 1;
35
+ };
36
+ /**
37
+ * A count with the noun it counts, singular where it has to be.
38
+ * @param count - How many.
39
+ * @param singular - What one of them is called.
40
+ * @param plural - What several are called.
41
+ * @returns The phrase, e.g. `1 peak` or `412 peaks`.
42
+ */
43
+ export declare function countLabel(count: number, singular: string, plural: string): string;
44
+ //# sourceMappingURL=statusBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusBar.d.ts","sourceRoot":"","sources":["../../../src/panel/core/statusBar.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oEAAoE;AACpE,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,qDAAqD;AACrD,eAAO,MAAM,gBAAgB;;;;CAAgD,CAAC;AAE9E,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;;CAAuB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAER"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The strip along the foot of an editor, which every one of them writes alike.
3
+ *
4
+ * A status bar says what is open and what is under the pointer, in one line of
5
+ * small type over a rule. The geometry is the same in every viewer — that is
6
+ * what makes it read as one application rather than three — so it lives here,
7
+ * and each viewer adds only the items it has to write and whatever colour one
8
+ * of them needs.
9
+ */
10
+ /** The strip itself: one row, a rule above it, nothing wrapping. */
11
+ export const statusBarStyle = {
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ gap: 16,
15
+ padding: '4px 10px',
16
+ minHeight: 30,
17
+ borderTop: '1px solid rgb(217 223 230)',
18
+ fontSize: 13,
19
+ whiteSpace: 'nowrap',
20
+ };
21
+ /** One thing the bar says, icon and text on one line. */
22
+ export const statusItemStyle = {
23
+ display: 'inline-flex',
24
+ alignItems: 'center',
25
+ };
26
+ /** An item that is context rather than an answer. */
27
+ export const statusMutedStyle = { ...statusItemStyle, opacity: 0.6 };
28
+ /** What pushes the items after it to the far end of the bar. */
29
+ export const statusSpacerStyle = { flex: 1 };
30
+ /**
31
+ * A count with the noun it counts, singular where it has to be.
32
+ * @param count - How many.
33
+ * @param singular - What one of them is called.
34
+ * @param plural - What several are called.
35
+ * @returns The phrase, e.g. `1 peak` or `412 peaks`.
36
+ */
37
+ export function countLabel(count, singular, plural) {
38
+ return `${count} ${count === 1 ? singular : plural}`;
39
+ }
40
+ //# sourceMappingURL=statusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusBar.js","sourceRoot":"","sources":["../../../src/panel/core/statusBar.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,4BAA4B;IACvC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,QAAQ;CACZ,CAAC;AAEX,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;CACZ,CAAC;AAEX,qDAAqD;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,eAAe,EAAE,OAAO,EAAE,GAAG,EAAW,CAAC;AAE9E,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,CAAC,EAAW,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,QAAgB,EAChB,MAAc;IAEd,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Read what the user typed into a filter box.
3
+ * @param filter - What was typed.
4
+ * @returns It trimmed and lowercased, which is what a match is made against.
5
+ * @example
6
+ * filterNeedle(' GlcNAc '); // 'glcnac'
7
+ */
8
+ export declare function filterNeedle(filter: string): string;
9
+ /**
10
+ * Whether any of the things an entry is known by carries what was typed.
11
+ *
12
+ * Every list the editor filters is filtered the same way — case-insensitively,
13
+ * on a substring, across the few fields an entry is recognised by — so a
14
+ * residue, a template and a symbol all answer to the same test.
15
+ * @param needle - The filter, already through `filterNeedle`.
16
+ * @param values - What the entry is known by; an absent one never matches.
17
+ * @returns Whether the entry is worth showing, always true for an empty filter.
18
+ * @example
19
+ * matchesNeedle('nac', 'GlcNAc', 'N-acetylglucosamine'); // true
20
+ */
21
+ export declare function matchesNeedle(needle: string, ...values: ReadonlyArray<string | undefined>): boolean;
22
+ //# sourceMappingURL=textFilter.d.ts.map