matterviz 0.4.1 → 0.4.2

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 (395) hide show
  1. package/dist/EmptyState.svelte +10 -4
  2. package/dist/FilePicker.svelte +12 -14
  3. package/dist/Icon.svelte +7 -4
  4. package/dist/MillerIndexInput.svelte +2 -2
  5. package/dist/app.css +53 -0
  6. package/dist/brillouin/BrillouinZone.svelte +75 -85
  7. package/dist/brillouin/BrillouinZone.svelte.d.ts +5 -7
  8. package/dist/brillouin/BrillouinZoneControls.svelte +3 -6
  9. package/dist/brillouin/BrillouinZoneExportPane.svelte +18 -14
  10. package/dist/brillouin/BrillouinZoneInfoPane.svelte +6 -10
  11. package/dist/brillouin/BrillouinZoneScene.svelte +26 -39
  12. package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +1 -1
  13. package/dist/chempot-diagram/ChemPotDiagram.svelte +33 -38
  14. package/dist/chempot-diagram/ChemPotDiagram2D.svelte +62 -74
  15. package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +1 -1
  16. package/dist/chempot-diagram/ChemPotDiagram3D.svelte +511 -547
  17. package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +1 -1
  18. package/dist/chempot-diagram/async-compute.svelte.js +1 -1
  19. package/dist/chempot-diagram/controls-state.svelte.js +1 -1
  20. package/dist/colors/index.d.ts +0 -4
  21. package/dist/colors/index.js +19 -20
  22. package/dist/composition/BarChart.svelte +37 -31
  23. package/dist/composition/BubbleChart.svelte +17 -17
  24. package/dist/composition/Composition.svelte +7 -11
  25. package/dist/composition/Formula.svelte +18 -25
  26. package/dist/composition/FormulaFilter.svelte +92 -95
  27. package/dist/composition/PieChart.svelte +55 -41
  28. package/dist/composition/format.js +1 -1
  29. package/dist/composition/index.d.ts +2 -0
  30. package/dist/composition/index.js +14 -0
  31. package/dist/composition/parse.d.ts +2 -2
  32. package/dist/composition/parse.js +11 -10
  33. package/dist/constants.js +11 -9
  34. package/dist/convex-hull/ConvexHull.svelte +12 -15
  35. package/dist/convex-hull/ConvexHull.svelte.d.ts +1 -1
  36. package/dist/convex-hull/ConvexHull2D.svelte +93 -92
  37. package/dist/convex-hull/ConvexHull2D.svelte.d.ts +1 -1
  38. package/dist/convex-hull/ConvexHull3D.svelte +109 -140
  39. package/dist/convex-hull/ConvexHull3D.svelte.d.ts +1 -1
  40. package/dist/convex-hull/ConvexHull4D.svelte +75 -94
  41. package/dist/convex-hull/ConvexHull4D.svelte.d.ts +1 -1
  42. package/dist/convex-hull/ConvexHullChrome.svelte +36 -40
  43. package/dist/convex-hull/ConvexHullControls.svelte +46 -48
  44. package/dist/convex-hull/ConvexHullStats.svelte +193 -195
  45. package/dist/convex-hull/ConvexHullTooltip.svelte +5 -12
  46. package/dist/convex-hull/GasPressureControls.svelte +5 -12
  47. package/dist/convex-hull/StructurePopup.svelte +17 -21
  48. package/dist/convex-hull/StructurePopup.svelte.d.ts +2 -0
  49. package/dist/convex-hull/TemperatureSlider.svelte +4 -10
  50. package/dist/convex-hull/canvas-interactions.svelte.js +2 -1
  51. package/dist/convex-hull/helpers.d.ts +8 -10
  52. package/dist/convex-hull/helpers.js +36 -36
  53. package/dist/convex-hull/hull-state.svelte.d.ts +1 -1
  54. package/dist/convex-hull/thermodynamics.js +18 -17
  55. package/dist/coordination/CoordinationBarPlot.svelte +38 -33
  56. package/dist/coordination/CoordinationBarPlot.svelte.d.ts +1 -1
  57. package/dist/coordination/calc-coordination.d.ts +1 -1
  58. package/dist/coordination/calc-coordination.js +28 -25
  59. package/dist/element/BohrAtom.svelte +5 -8
  60. package/dist/element/ElementHeading.svelte +4 -1
  61. package/dist/element/ElementPhoto.svelte +11 -9
  62. package/dist/element/ElementStats.svelte +12 -10
  63. package/dist/element/ElementTile.svelte +24 -29
  64. package/dist/element/Nucleus.svelte +4 -2
  65. package/dist/element/data.d.ts +1 -2
  66. package/dist/element/helpers.d.ts +4 -0
  67. package/dist/element/helpers.js +18 -0
  68. package/dist/element/index.d.ts +1 -4
  69. package/dist/element/index.js +3 -18
  70. package/dist/feedback/DragOverlay.svelte +5 -5
  71. package/dist/feedback/DragOverlay.svelte.d.ts +2 -2
  72. package/dist/feedback/StatusMessage.svelte +7 -4
  73. package/dist/fermi-surface/FermiSlice.svelte +21 -18
  74. package/dist/fermi-surface/FermiSurface.svelte +14 -22
  75. package/dist/fermi-surface/FermiSurface.svelte.d.ts +5 -7
  76. package/dist/fermi-surface/FermiSurfaceControls.svelte +6 -20
  77. package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +1 -1
  78. package/dist/fermi-surface/FermiSurfaceScene.svelte +37 -64
  79. package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +1 -1
  80. package/dist/fermi-surface/FermiSurfaceTooltip.svelte +9 -6
  81. package/dist/fermi-surface/compute.js +3 -3
  82. package/dist/fermi-surface/parse.js +22 -24
  83. package/dist/heatmap-matrix/HeatmapMatrix.svelte +109 -148
  84. package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +2 -2
  85. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +9 -7
  86. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +1 -1
  87. package/dist/heatmap-matrix/index.d.ts +5 -0
  88. package/dist/icons.d.ts +4 -0
  89. package/dist/icons.js +4 -0
  90. package/dist/io/ExportPane.svelte +10 -6
  91. package/dist/io/decompress.d.ts +2 -1
  92. package/dist/io/decompress.js +22 -35
  93. package/dist/io/export.d.ts +4 -0
  94. package/dist/io/export.js +5 -1
  95. package/dist/io/fetch.d.ts +0 -3
  96. package/dist/io/fetch.js +0 -11
  97. package/dist/io/index.d.ts +0 -1
  98. package/dist/io/index.js +2 -9
  99. package/dist/io/is-binary.d.ts +9 -0
  100. package/dist/io/is-binary.js +45 -1
  101. package/dist/io/url-drop.js +13 -25
  102. package/dist/isosurface/Isosurface.svelte +17 -23
  103. package/dist/isosurface/IsosurfaceControls.svelte +37 -42
  104. package/dist/isosurface/parse-vaspwave.d.ts +3 -0
  105. package/dist/isosurface/parse-vaspwave.js +138 -0
  106. package/dist/isosurface/parse.js +6 -6
  107. package/dist/labels.d.ts +6 -2
  108. package/dist/labels.js +43 -13
  109. package/dist/layout/FullscreenButton.svelte +2 -1
  110. package/dist/layout/FullscreenToggle.svelte +10 -4
  111. package/dist/layout/InfoCard.svelte +7 -18
  112. package/dist/layout/InfoTag.svelte +1 -3
  113. package/dist/layout/NumberRangeInput.svelte +46 -0
  114. package/dist/layout/NumberRangeInput.svelte.d.ts +12 -0
  115. package/dist/layout/PropertyFilter.svelte +2 -6
  116. package/dist/layout/SettingsSection.svelte +21 -17
  117. package/dist/layout/SubpageGrid.svelte +3 -1
  118. package/dist/layout/ViewerChrome.svelte +9 -10
  119. package/dist/layout/ViewerChrome.svelte.d.ts +2 -1
  120. package/dist/layout/fullscreen.js +3 -5
  121. package/dist/layout/fullscreen.svelte.js +1 -2
  122. package/dist/layout/index.d.ts +1 -0
  123. package/dist/layout/index.js +1 -0
  124. package/dist/layout/json-tree/JsonNode.svelte +8 -11
  125. package/dist/layout/json-tree/JsonTree.svelte +53 -77
  126. package/dist/layout/json-tree/JsonValue.svelte +7 -15
  127. package/dist/layout/json-tree/utils.js +14 -23
  128. package/dist/math.d.ts +2 -0
  129. package/dist/math.js +19 -0
  130. package/dist/overlays/ContextMenu.svelte +4 -2
  131. package/dist/overlays/CopyButton.svelte +11 -5
  132. package/dist/overlays/DragControlTab.svelte +6 -1
  133. package/dist/overlays/DraggablePane.svelte +81 -26
  134. package/dist/overlays/DraggablePane.svelte.d.ts +1 -0
  135. package/dist/overlays/GlassChip.svelte +30 -0
  136. package/dist/overlays/GlassChip.svelte.d.ts +8 -0
  137. package/dist/overlays/InfoPaneCards.svelte +11 -23
  138. package/dist/overlays/index.d.ts +7 -0
  139. package/dist/overlays/index.js +26 -0
  140. package/dist/overlays/portal.d.ts +2 -0
  141. package/dist/overlays/portal.js +14 -0
  142. package/dist/periodic-table/PeriodicTable.svelte +113 -145
  143. package/dist/periodic-table/PeriodicTable.svelte.d.ts +5 -3
  144. package/dist/periodic-table/PeriodicTableControls.svelte +11 -63
  145. package/dist/periodic-table/TableInset.svelte +9 -4
  146. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +50 -71
  147. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +6 -8
  148. package/dist/phase-diagram/PhaseDiagramControls.svelte +70 -94
  149. package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +1 -1
  150. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +2 -1
  151. package/dist/phase-diagram/PhaseDiagramExportPane.svelte +12 -12
  152. package/dist/phase-diagram/PhaseDiagramTooltip.svelte +54 -58
  153. package/dist/phase-diagram/TdbInfoPanel.svelte +21 -15
  154. package/dist/phase-diagram/build-diagram.js +3 -3
  155. package/dist/phase-diagram/diagram-input.d.ts +1 -2
  156. package/dist/phase-diagram/parse.js +15 -15
  157. package/dist/phase-diagram/svg-to-diagram.js +21 -15
  158. package/dist/phase-diagram/utils.js +2 -3
  159. package/dist/plot/bar/BarPlot.svelte +430 -391
  160. package/dist/plot/bar/BarPlot.svelte.d.ts +2 -0
  161. package/dist/plot/bar/BarPlotControls.svelte +1 -3
  162. package/dist/plot/bar/BarPlotControls.svelte.d.ts +4 -6
  163. package/dist/plot/bar/SpacegroupBarPlot.svelte +29 -36
  164. package/dist/plot/bar/data.d.ts +5 -4
  165. package/dist/plot/bar/data.js +2 -1
  166. package/dist/plot/box/BoxPlot.svelte +301 -209
  167. package/dist/plot/box/BoxPlot.svelte.d.ts +2 -0
  168. package/dist/plot/box/Violin.svelte.d.ts +1 -0
  169. package/dist/plot/box/box-plot.js +1 -1
  170. package/dist/plot/core/auto-place.js +1 -1
  171. package/dist/plot/core/axis-utils.d.ts +12 -7
  172. package/dist/plot/core/axis-utils.js +48 -48
  173. package/dist/plot/core/components/AxisLabel.svelte +82 -20
  174. package/dist/plot/core/components/AxisLabel.svelte.d.ts +1 -0
  175. package/dist/plot/core/components/ColorBar.svelte +101 -106
  176. package/dist/plot/core/components/ColorScaleSelect.svelte +1 -1
  177. package/dist/plot/core/components/FillArea.svelte +10 -17
  178. package/dist/plot/core/components/HierarchyControls.svelte +249 -0
  179. package/dist/plot/{sunburst/SunburstControls.svelte.d.ts → core/components/HierarchyControls.svelte.d.ts} +12 -8
  180. package/dist/plot/core/components/InteractiveAxisLabel.svelte +1 -1
  181. package/dist/plot/core/components/InteractiveAxisLabel.svelte.d.ts +1 -1
  182. package/dist/plot/core/components/Line.svelte +18 -9
  183. package/dist/plot/core/components/Line.svelte.d.ts +2 -0
  184. package/dist/plot/core/components/PlotAxis.svelte +40 -17
  185. package/dist/plot/core/components/PlotControls.svelte +65 -41
  186. package/dist/plot/core/components/PlotLegend.svelte +31 -35
  187. package/dist/plot/core/components/PlotMarginals.svelte +616 -0
  188. package/dist/plot/core/components/PlotMarginals.svelte.d.ts +15 -0
  189. package/dist/plot/core/components/PlotTooltip.svelte +1 -1
  190. package/dist/plot/core/components/PortalSelect.svelte +4 -8
  191. package/dist/plot/core/components/ReferenceLine.svelte +27 -24
  192. package/dist/plot/core/components/ReferenceLine3D.svelte +54 -57
  193. package/dist/plot/core/components/ReferencePlane.svelte +7 -8
  194. package/dist/plot/core/components/ZeroLines.svelte +4 -8
  195. package/dist/plot/core/components/ZoomRect.svelte +1 -2
  196. package/dist/plot/core/components/index.d.ts +1 -0
  197. package/dist/plot/core/components/index.js +1 -0
  198. package/dist/plot/core/data-cleaning-signal.d.ts +46 -0
  199. package/dist/plot/core/data-cleaning-signal.js +467 -0
  200. package/dist/plot/core/data-cleaning.d.ts +2 -42
  201. package/dist/plot/core/data-cleaning.js +27 -474
  202. package/dist/plot/core/data-transform.js +9 -5
  203. package/dist/plot/core/fill-utils.d.ts +3 -1
  204. package/dist/plot/core/fill-utils.js +28 -6
  205. package/dist/plot/core/index.d.ts +1 -0
  206. package/dist/plot/core/index.js +1 -0
  207. package/dist/plot/core/interactions.js +0 -2
  208. package/dist/plot/core/layout.d.ts +3 -1
  209. package/dist/plot/core/layout.js +22 -13
  210. package/dist/plot/core/marginals.d.ts +170 -0
  211. package/dist/plot/core/marginals.js +436 -0
  212. package/dist/plot/core/reference-line.js +1 -1
  213. package/dist/plot/core/scales.d.ts +23 -0
  214. package/dist/plot/core/scales.js +39 -13
  215. package/dist/plot/core/types/fills.d.ts +101 -0
  216. package/dist/plot/core/types/fills.js +15 -0
  217. package/dist/plot/core/types/plot-3d.d.ts +87 -0
  218. package/dist/plot/core/types/plot-3d.js +4 -0
  219. package/dist/plot/core/types/reference-lines.d.ts +140 -0
  220. package/dist/plot/core/types/reference-lines.js +9 -0
  221. package/dist/plot/core/types.d.ts +29 -324
  222. package/dist/plot/core/types.js +23 -20
  223. package/dist/plot/core/utils/hierarchy-chart.d.ts +51 -0
  224. package/dist/plot/core/utils/hierarchy-chart.js +179 -0
  225. package/dist/plot/core/utils/hierarchy-labels.d.ts +20 -0
  226. package/dist/plot/core/utils/hierarchy-labels.js +99 -0
  227. package/dist/plot/core/utils/label-placement.js +2 -2
  228. package/dist/plot/histogram/Histogram.svelte +304 -325
  229. package/dist/plot/histogram/Histogram.svelte.d.ts +7 -7
  230. package/dist/plot/histogram/HistogramControls.svelte +30 -28
  231. package/dist/plot/histogram/histogram.d.ts +31 -0
  232. package/dist/plot/histogram/histogram.js +70 -0
  233. package/dist/plot/histogram/index.d.ts +1 -0
  234. package/dist/plot/histogram/index.js +1 -0
  235. package/dist/plot/index.d.ts +1 -0
  236. package/dist/plot/index.js +1 -0
  237. package/dist/plot/sankey/Sankey.svelte +78 -69
  238. package/dist/plot/sankey/Sankey.svelte.d.ts +2 -2
  239. package/dist/plot/sankey/SankeyControls.svelte +22 -16
  240. package/dist/plot/scatter/BinnedScatterPlot.svelte +263 -109
  241. package/dist/plot/scatter/BinnedScatterPlot.svelte.d.ts +7 -0
  242. package/dist/plot/scatter/ElementScatter.svelte +4 -1
  243. package/dist/plot/scatter/ScatterPlot.svelte +477 -385
  244. package/dist/plot/scatter/ScatterPlot.svelte.d.ts +2 -0
  245. package/dist/plot/scatter/ScatterPlotControls.svelte +18 -19
  246. package/dist/plot/scatter/ScatterPlotControls.svelte.d.ts +1 -1
  247. package/dist/plot/scatter/ScatterPoint.svelte +16 -9
  248. package/dist/plot/scatter/binned-scatter-types.d.ts +3 -2
  249. package/dist/plot/scatter/binned-scatter-types.js +6 -1
  250. package/dist/plot/scatter/scatter-data.d.ts +1 -1
  251. package/dist/plot/scatter/scatter-data.js +8 -7
  252. package/dist/plot/scatter-3d/ScatterPlot3D.svelte +25 -34
  253. package/dist/plot/scatter-3d/ScatterPlot3D.svelte.d.ts +2 -2
  254. package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte +8 -5
  255. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte +113 -116
  256. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte.d.ts +2 -2
  257. package/dist/plot/scatter-3d/Surface3D.svelte +4 -13
  258. package/dist/plot/sunburst/Sunburst.svelte +251 -329
  259. package/dist/plot/sunburst/Sunburst.svelte.d.ts +2 -2
  260. package/dist/plot/sunburst/index.d.ts +1 -1
  261. package/dist/plot/sunburst/index.js +2 -1
  262. package/dist/plot/sunburst/render.d.ts +2 -2
  263. package/dist/plot/sunburst/render.js +47 -22
  264. package/dist/plot/sunburst/sunburst.d.ts +5 -1
  265. package/dist/plot/sunburst/sunburst.js +10 -3
  266. package/dist/plot/treemap/Treemap.svelte +907 -0
  267. package/dist/plot/treemap/Treemap.svelte.d.ts +84 -0
  268. package/dist/plot/treemap/index.d.ts +3 -0
  269. package/dist/plot/treemap/index.js +4 -0
  270. package/dist/plot/treemap/treemap.d.ts +26 -0
  271. package/dist/plot/treemap/treemap.js +99 -0
  272. package/dist/rdf/RdfPlot.svelte +22 -26
  273. package/dist/rdf/RdfPlot.svelte.d.ts +1 -1
  274. package/dist/rdf/calc-rdf.js +4 -8
  275. package/dist/sanitize.js +1 -1
  276. package/dist/scene/bind-renderer.svelte.js +14 -6
  277. package/dist/settings.d.ts +19 -9
  278. package/dist/settings.js +77 -50
  279. package/dist/spectral/Bands.svelte +223 -230
  280. package/dist/spectral/BandsAndDos.svelte +11 -9
  281. package/dist/spectral/BrillouinBandsDos.svelte +19 -27
  282. package/dist/spectral/Dos.svelte +70 -73
  283. package/dist/spectral/helpers.d.ts +3 -3
  284. package/dist/spectral/helpers.js +25 -35
  285. package/dist/state.svelte.js +5 -18
  286. package/dist/structure/Arrow.svelte +5 -18
  287. package/dist/structure/ArrowInstances.svelte +160 -0
  288. package/dist/structure/ArrowInstances.svelte.d.ts +16 -0
  289. package/dist/structure/AtomLegend.svelte +115 -75
  290. package/dist/structure/AtomLegend.svelte.d.ts +1 -1
  291. package/dist/structure/Bond.svelte +31 -23
  292. package/dist/structure/CanvasTooltip.svelte +15 -3
  293. package/dist/structure/CellSelect.svelte +11 -26
  294. package/dist/structure/Cylinder.svelte +24 -40
  295. package/dist/structure/InstancedAtoms.svelte +114 -0
  296. package/dist/structure/InstancedAtoms.svelte.d.ts +15 -0
  297. package/dist/structure/Lattice.svelte +85 -149
  298. package/dist/structure/SiteLabels.svelte +122 -0
  299. package/dist/structure/SiteLabels.svelte.d.ts +18 -0
  300. package/dist/structure/Structure.svelte +473 -419
  301. package/dist/structure/Structure.svelte.d.ts +4 -2
  302. package/dist/structure/StructureCarousel.svelte +630 -0
  303. package/dist/structure/StructureCarousel.svelte.d.ts +19 -0
  304. package/dist/structure/StructureControls.svelte +157 -399
  305. package/dist/structure/StructureControls.svelte.d.ts +1 -1
  306. package/dist/structure/StructureExportPane.svelte +17 -21
  307. package/dist/structure/StructureInfoPane.svelte +72 -66
  308. package/dist/structure/StructureInfoPane.svelte.d.ts +1 -1
  309. package/dist/structure/StructureScene.svelte +467 -476
  310. package/dist/structure/StructureScene.svelte.d.ts +3 -1
  311. package/dist/structure/StructureViewport.svelte +386 -0
  312. package/dist/structure/StructureViewport.svelte.d.ts +63 -0
  313. package/dist/structure/atom-label-placement.d.ts +16 -12
  314. package/dist/structure/atom-label-placement.js +70 -37
  315. package/dist/structure/atom-properties.d.ts +2 -0
  316. package/dist/structure/atom-properties.js +104 -38
  317. package/dist/structure/bonding.d.ts +10 -3
  318. package/dist/structure/bonding.js +84 -28
  319. package/dist/structure/edit-history.d.ts +6 -0
  320. package/dist/structure/edit-history.js +27 -0
  321. package/dist/structure/export.d.ts +1 -0
  322. package/dist/structure/export.js +39 -31
  323. package/dist/structure/format-detect.d.ts +1 -0
  324. package/dist/structure/format-detect.js +22 -0
  325. package/dist/structure/geometry.d.ts +9 -0
  326. package/dist/structure/geometry.js +27 -0
  327. package/dist/structure/index.d.ts +16 -1
  328. package/dist/structure/index.js +13 -2
  329. package/dist/structure/measure.d.ts +1 -1
  330. package/dist/structure/measure.js +6 -12
  331. package/dist/structure/parse.d.ts +2 -1
  332. package/dist/structure/parse.js +243 -222
  333. package/dist/structure/partial-occupancy.js +4 -2
  334. package/dist/structure/pbc.js +78 -98
  335. package/dist/structure/polyhedra.d.ts +0 -1
  336. package/dist/structure/polyhedra.js +3 -18
  337. package/dist/structure/supercell.d.ts +1 -2
  338. package/dist/structure/supercell.js +7 -13
  339. package/dist/symmetry/SymmetryElements.svelte +11 -15
  340. package/dist/symmetry/SymmetryStats.svelte +56 -68
  341. package/dist/symmetry/WyckoffTable.svelte +5 -24
  342. package/dist/symmetry/cell-transform.js +1 -0
  343. package/dist/symmetry/index.d.ts +1 -0
  344. package/dist/symmetry/index.js +8 -2
  345. package/dist/symmetry/spacegroups.js +3 -2
  346. package/dist/table/HeatmapTable.svelte +1102 -365
  347. package/dist/table/HeatmapTable.svelte.d.ts +12 -2
  348. package/dist/table/ToggleMenu.svelte +5 -12
  349. package/dist/table/index.d.ts +21 -6
  350. package/dist/table/index.js +34 -21
  351. package/dist/theme/ThemeControl.svelte +16 -8
  352. package/dist/theme/index.d.ts +1 -5
  353. package/dist/theme/index.js +4 -10
  354. package/dist/theme/themes.mjs +14 -7
  355. package/dist/tooltip/KCoords.svelte +4 -1
  356. package/dist/tooltip/TooltipContent.svelte +2 -5
  357. package/dist/trajectory/Trajectory.svelte +515 -308
  358. package/dist/trajectory/Trajectory.svelte.d.ts +1 -1
  359. package/dist/trajectory/TrajectoryError.svelte +11 -8
  360. package/dist/trajectory/TrajectoryExportPane.svelte +14 -31
  361. package/dist/trajectory/TrajectoryInfoPane.svelte +85 -97
  362. package/dist/trajectory/extract.js +56 -34
  363. package/dist/trajectory/format-detect.js +11 -9
  364. package/dist/trajectory/frame-reader.d.ts +2 -0
  365. package/dist/trajectory/frame-reader.js +33 -29
  366. package/dist/trajectory/helpers.d.ts +2 -0
  367. package/dist/trajectory/helpers.js +18 -7
  368. package/dist/trajectory/index.d.ts +1 -0
  369. package/dist/trajectory/index.js +3 -0
  370. package/dist/trajectory/parse/h5-utils.d.ts +13 -0
  371. package/dist/trajectory/parse/h5-utils.js +109 -0
  372. package/dist/trajectory/parse/hdf5.d.ts +1 -1
  373. package/dist/trajectory/parse/hdf5.js +116 -106
  374. package/dist/trajectory/parse/index.d.ts +2 -3
  375. package/dist/trajectory/parse/index.js +17 -20
  376. package/dist/trajectory/parse/lammps.js +8 -12
  377. package/dist/trajectory/parse/vasp.js +10 -7
  378. package/dist/trajectory/parse/vaspout-electronic.d.ts +13 -0
  379. package/dist/trajectory/parse/vaspout-electronic.js +207 -0
  380. package/dist/trajectory/parse/vaspout-h5.d.ts +5 -0
  381. package/dist/trajectory/parse/vaspout-h5.js +284 -0
  382. package/dist/trajectory/parse/xyz.js +11 -7
  383. package/dist/trajectory/plotting.d.ts +8 -9
  384. package/dist/trajectory/plotting.js +99 -27
  385. package/dist/utils.d.ts +3 -0
  386. package/dist/utils.js +7 -0
  387. package/dist/xrd/XrdPlot.svelte +47 -61
  388. package/dist/xrd/broadening.js +2 -1
  389. package/dist/xrd/calc-xrd.js +2 -4
  390. package/dist/xrd/parse.d.ts +0 -1
  391. package/dist/xrd/parse.js +56 -73
  392. package/package.json +61 -33
  393. package/dist/api/mp.d.ts +0 -6
  394. package/dist/api/mp.js +0 -22
  395. package/dist/plot/sunburst/SunburstControls.svelte +0 -200
@@ -1,26 +1,30 @@
1
- import type { SunburstLabelRotation, SunburstLabelText, SunburstShape, SunburstValueMode } from '..';
1
+ import type { SunburstLabelRotation, SunburstLabelText, SunburstShape, SunburstValueMode } from '../..';
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
  type $$ComponentProps = {
5
+ chart: `sunburst` | `treemap`;
5
6
  show_controls?: boolean;
6
7
  controls_open?: boolean;
7
- shape?: SunburstShape;
8
8
  value_mode?: SunburstValueMode;
9
9
  max_depth?: number;
10
- inner_radius?: number;
11
- pad_angle?: number;
12
10
  min_fraction?: number;
13
11
  show_labels?: boolean;
14
- label_rotation?: SunburstLabelRotation;
15
12
  label_text?: SunburstLabelText;
16
13
  zoom_on_click?: boolean;
17
14
  show_breadcrumbs?: boolean;
15
+ shape?: SunburstShape;
16
+ inner_radius?: number;
17
+ pad_angle?: number;
18
+ label_rotation?: SunburstLabelRotation;
19
+ padding_inner?: number;
20
+ padding_top?: number;
21
+ padding_outer?: number;
18
22
  export_buttons?: boolean;
19
23
  on_export?: (format: `svg` | `png`) => void;
20
24
  toggle_props?: HTMLAttributes<HTMLButtonElement>;
21
25
  pane_props?: HTMLAttributes<HTMLDivElement>;
22
26
  children?: Snippet;
23
27
  };
24
- declare const SunburstControls: import("svelte").Component<$$ComponentProps, {}, "show_controls" | "show_labels" | "controls_open" | "shape" | "value_mode" | "max_depth" | "inner_radius" | "pad_angle" | "min_fraction" | "label_rotation" | "label_text" | "zoom_on_click" | "show_breadcrumbs">;
25
- type SunburstControls = ReturnType<typeof SunburstControls>;
26
- export default SunburstControls;
28
+ declare const HierarchyControls: import("svelte").Component<$$ComponentProps, {}, "show_controls" | "show_labels" | "controls_open" | "shape" | "inner_radius" | "pad_angle" | "label_rotation" | "padding_inner" | "padding_top" | "padding_outer" | "value_mode" | "max_depth" | "min_fraction" | "label_text" | "zoom_on_click" | "show_breadcrumbs">;
29
+ type HierarchyControls = ReturnType<typeof HierarchyControls>;
30
+ export default HierarchyControls;
@@ -43,7 +43,7 @@
43
43
  onkeydown={stop_key}
44
44
  role="group"
45
45
  {...rest}
46
- class="interactive-axis-label {axis_type} {rest.class ?? ``}"
46
+ class={[`interactive-axis-label`, axis_type, rest.class]}
47
47
  >
48
48
  {#if is_interactive && options}
49
49
  <PortalSelect
@@ -9,6 +9,6 @@ type $$ComponentProps = {
9
9
  on_select?: (key: string) => void;
10
10
  [key: string]: unknown;
11
11
  };
12
- declare const InteractiveAxisLabel: import("svelte").Component<$$ComponentProps, {}, "color" | "loading" | "selected_key">;
12
+ declare const InteractiveAxisLabel: import("svelte").Component<$$ComponentProps, {}, "color" | "selected_key" | "loading">;
13
13
  type InteractiveAxisLabel = ReturnType<typeof InteractiveAxisLabel>;
14
14
  export default InteractiveAxisLabel;
@@ -1,9 +1,11 @@
1
1
  <script lang="ts">
2
2
  import type { Vec2 } from '../../../math'
3
+ import { line_curve_factory } from '../fill-utils'
4
+ import type { LineCurve } from '../types'
3
5
  import { DEFAULTS } from '../../../settings'
4
6
  import { extent, min } from 'd3-array'
5
7
  import { interpolatePath } from 'd3-interpolate-path'
6
- import { curveMonotoneX, line } from 'd3-shape'
8
+ import { line } from 'd3-shape'
7
9
  import { untrack } from 'svelte'
8
10
  import { linear } from 'svelte/easing'
9
11
  import type { SVGAttributes } from 'svelte/elements'
@@ -18,6 +20,7 @@
18
20
  area_stroke = null,
19
21
  line_tween = {},
20
22
  line_dash = DEFAULTS.scatter.line.dash,
23
+ curve = `monotone`,
21
24
  ...rest
22
25
  }: Omit<SVGAttributes<SVGPathElement>, `origin` | `points`> & {
23
26
  points: readonly Vec2[]
@@ -28,12 +31,17 @@
28
31
  area_stroke?: string | null
29
32
  line_tween?: TweenOptions<string>
30
33
  line_dash?: string
34
+ curve?: LineCurve
31
35
  } = $props()
32
36
 
33
- const lineGenerator = line()
34
- .x((point) => point[0])
35
- .y((point) => point[1])
36
- .curve(curveMonotoneX)
37
+ // falls back to monotone for unknown strings from untyped (Python/JSON) callers
38
+ let curve_fn = $derived(line_curve_factory(curve))
39
+ let lineGenerator = $derived(
40
+ line()
41
+ .x((point) => point[0])
42
+ .y((point) => point[1])
43
+ .curve(curve_fn),
44
+ )
37
45
 
38
46
  // Only compute/render/tween the area fill when it is actually visible. Most line
39
47
  // plots (e.g. every ScatterPlot line) pass a transparent area, so skipping it
@@ -48,7 +56,10 @@
48
56
  let ymin = $derived(origin[1] ?? min(points.map((point) => point[1])))
49
57
  // Guard against NaN/Infinity in area_path coords (can happen during scale transitions)
50
58
  let area_path = $derived(
51
- show_area && line_path && isFinite(x_min ?? NaN) && isFinite(x_max ?? NaN) &&
59
+ show_area &&
60
+ line_path &&
61
+ isFinite(x_min ?? NaN) &&
62
+ isFinite(x_max ?? NaN) &&
52
63
  isFinite(ymin ?? NaN)
53
64
  ? `${line_path}L${x_max},${ymin}L${x_min},${ymin}Z`
54
65
  : ``,
@@ -80,9 +91,7 @@
80
91
  })
81
92
 
82
93
  let line_d = $derived(tween_disabled ? line_path : tweened_line.current)
83
- let area_d = $derived(
84
- show_area ? (tween_disabled ? area_path : tweened_area.current) : ``,
85
- )
94
+ let area_d = $derived(show_area ? (tween_disabled ? area_path : tweened_area.current) : ``)
86
95
  </script>
87
96
 
88
97
  <path
@@ -1,4 +1,5 @@
1
1
  import type { Vec2 } from '../../../math';
2
+ import type { LineCurve } from '../types';
2
3
  import type { SVGAttributes } from 'svelte/elements';
3
4
  import { type TweenOptions } from 'svelte/motion';
4
5
  type $$ComponentProps = Omit<SVGAttributes<SVGPathElement>, `origin` | `points`> & {
@@ -10,6 +11,7 @@ type $$ComponentProps = Omit<SVGAttributes<SVGPathElement>, `origin` | `points`>
10
11
  area_stroke?: string | null;
11
12
  line_tween?: TweenOptions<string>;
12
13
  line_dash?: string;
14
+ curve?: LineCurve;
13
15
  };
14
16
  declare const Line: import("svelte").Component<$$ComponentProps, {}, "">;
15
17
  type Line = ReturnType<typeof Line>;
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
- import { format_value } from '../../../labels'
2
+ import { format_value_or_num } from '../../../labels'
3
3
  import type { Vec2 } from '../../../math'
4
+ import { AXIS_LABEL_CONTAINER } from '../axis-utils'
4
5
  import AxisLabel from './AxisLabel.svelte'
5
6
  import type { Sides } from '../layout'
6
7
  import type { AxisConfig } from '../types'
@@ -67,23 +68,39 @@
67
68
 
68
69
  // Tick-invariant label geometry (depends only on side/inside/rotation/shift)
69
70
  const text_x = $derived(
70
- is_x ? shift_x : (side === `y` ? (inside ? 8 : -8) : (inside ? -8 : 8)) + shift_x,
71
+ is_x ? shift_x : (side === `y` ? (inside ? 8 : -8) : inside ? -8 : 8) + shift_x,
71
72
  )
72
73
  const text_y = $derived(
73
- is_x ? (side === `x` ? (inside ? -8 : 8) : (inside ? 8 : -8)) + shift_y : shift_y,
74
+ is_x ? (side === `x` ? (inside ? -8 : 8) : inside ? 8 : -8) + shift_y : shift_y,
74
75
  )
75
76
  const text_anchor = $derived(
76
77
  is_x
77
- ? (rotation === 0
78
+ ? rotation === 0
78
79
  ? `middle`
79
80
  : side === `x`
80
- ? (inside ? `end` : `start`)
81
- : (inside ? `start` : `end`)) // x2 rotates opposite to x
82
- : (side === `y` ? (inside ? `start` : `end`) : (inside ? `end` : `start`)),
81
+ ? inside
82
+ ? `end`
83
+ : `start`
84
+ : inside
85
+ ? `start`
86
+ : `end` // x2 rotates opposite to x
87
+ : side === `y`
88
+ ? inside
89
+ ? `start`
90
+ : `end`
91
+ : inside
92
+ ? `end`
93
+ : `start`,
83
94
  )
84
95
  const text_baseline = $derived(
85
96
  is_x
86
- ? (side === `x` ? (inside ? `auto` : `hanging`) : (inside ? `hanging` : `auto`))
97
+ ? side === `x`
98
+ ? inside
99
+ ? `auto`
100
+ : `hanging`
101
+ : inside
102
+ ? `hanging`
103
+ : `auto`
87
104
  : `central`,
88
105
  )
89
106
  const text_transform = $derived(
@@ -94,17 +111,21 @@
94
111
  // Keep tick marks' y1="0"/x1="0" explicit: BarPlot's grid test selects `.tick line:not([y1='0'])`.
95
112
  const grid_line = $derived(
96
113
  is_x
97
- ? (side === `x` ? { y1: -plot_h, y2: 0 } : { y1: 0, y2: plot_h })
98
- : (side === `y` ? { x1: 0, x2: plot_w } : { x1: -plot_w, x2: 0 }),
114
+ ? side === `x`
115
+ ? { y1: -plot_h, y2: 0 }
116
+ : { y1: 0, y2: plot_h }
117
+ : side === `y`
118
+ ? { x1: 0, x2: plot_w }
119
+ : { x1: -plot_w, x2: 0 },
99
120
  )
100
121
  const tick_mark = $derived(
101
122
  is_x
102
- ? (side === `x`
123
+ ? side === `x`
103
124
  ? { y1: 0, y2: inside ? -5 : 5 }
104
- : { y1: inside ? 0 : -5, y2: inside ? 5 : 0 })
105
- : (side === `y`
125
+ : { y1: inside ? 0 : -5, y2: inside ? 5 : 0 }
126
+ : side === `y`
106
127
  ? { x1: inside ? 0 : -5, x2: inside ? 5 : 0 }
107
- : { x1: inside ? -5 : 0, x2: inside ? 0 : 5 }),
128
+ : { x1: inside ? -5 : 0, x2: inside ? 0 : 5 },
108
129
  )
109
130
 
110
131
  // ScatterPlot mode: cull ticks whose pixel pos is off-plot and hide labels outside the data domain
@@ -114,7 +135,7 @@
114
135
  !domain ||
115
136
  (is_x ? pos >= pad.l && pos <= width - pad.r : pos >= pad.t && pos <= height - pad.b)
116
137
  const tick_text = (tick: number): string =>
117
- tick_label?.(tick) ?? format_value(tick, axis.format ?? ``)
138
+ tick_label?.(tick) ?? format_value_or_num(tick, axis.format)
118
139
  </script>
119
140
 
120
141
  <g class="{side}-axis">
@@ -142,8 +163,9 @@
142
163
  fill={tick_color?.(tick) ?? text_fill}
143
164
  transform={text_transform}
144
165
  >
145
- {tick_text(tick)}{#if unit_on_first_tick && idx === 0 && axis.unit}&zwnj;&ensp;{axis
146
- .unit}{/if}
166
+ {tick_text(
167
+ tick,
168
+ )}{#if unit_on_first_tick && idx === 0 && axis.unit}&zwnj;&ensp;{axis.unit}{/if}
147
169
  </text>
148
170
  {/if}
149
171
  </g>
@@ -161,6 +183,7 @@
161
183
  axis_type={side}
162
184
  color={axis.color}
163
185
  on_select={(key) => on_axis_change?.(key)}
186
+ width={is_x ? Math.max(plot_w, AXIS_LABEL_CONTAINER.width) : undefined}
164
187
  />
165
188
  {/if}
166
189
  </g>
@@ -11,7 +11,11 @@
11
11
  import type { Vec2 } from '../../../math'
12
12
  import type { AxisKey, PlotControlsProps } from '../types'
13
13
  import { normalize_y2_sync } from '../interactions'
14
- import { get_scale_type_name, is_scale_type_name, is_y2_sync_mode } from '../types'
14
+ import {
15
+ get_scale_type_name,
16
+ is_scale_type_name,
17
+ is_y2_sync_mode,
18
+ } from '../types'
15
19
 
16
20
  let {
17
21
  show_controls = $bindable(false),
@@ -37,9 +41,12 @@
37
41
  }: PlotControlsProps = $props()
38
42
 
39
43
  // Range input state
40
- let range_inputs: Record<AxisKey, [number | null, number | null]> = $state(
41
- { x: [null, null], x2: [null, null], y: [null, null], y2: [null, null] },
42
- )
44
+ let range_inputs: Record<AxisKey, [number | null, number | null]> = $state({
45
+ x: [null, null],
46
+ x2: [null, null],
47
+ y: [null, null],
48
+ y2: [null, null],
49
+ })
43
50
  let range_els = $state<Record<string, HTMLInputElement>>({})
44
51
 
45
52
  // Check if an axis range spans zero (handles inverted ranges like [3.5, 1.4])
@@ -53,7 +60,8 @@
53
60
  ),
54
61
  )
55
62
  let x2_includes_zero = $derived(
56
- has_x2_points && auto_x2_range != null &&
63
+ has_x2_points &&
64
+ auto_x2_range != null &&
57
65
  range_spans_zero(
58
66
  x2_axis.range?.[0] ?? auto_x2_range[0],
59
67
  x2_axis.range?.[1] ?? auto_x2_range[1],
@@ -66,7 +74,8 @@
66
74
  ),
67
75
  )
68
76
  let y2_includes_zero = $derived(
69
- has_y2_points && auto_y2_range != null &&
77
+ has_y2_points &&
78
+ auto_y2_range != null &&
70
79
  range_spans_zero(
71
80
  y2_axis.range?.[0] ?? auto_y2_range[0],
72
81
  y2_axis.range?.[1] ?? auto_y2_range[1],
@@ -108,16 +117,18 @@
108
117
  const parsed = value === `` ? null : Number(value)
109
118
  range_inputs[axis][bound] = Number.isFinite(parsed) ? parsed : null
110
119
  const [min, max] = range_inputs[axis]
111
- const auto =
112
- { x: auto_x_range, x2: auto_x2_range, y: auto_y_range, y2: auto_y2_range }[axis]
120
+ const auto = { x: auto_x_range, x2: auto_x2_range, y: auto_y_range, y2: auto_y2_range }[
121
+ axis
122
+ ]
113
123
  const invalid = min !== null && max !== null && min >= max
114
124
  range_els[`${axis}-min`]?.classList.toggle(`invalid`, invalid)
115
125
  range_els[`${axis}-max`]?.classList.toggle(`invalid`, invalid)
116
126
  if (invalid) return
117
127
  const axis_config = { x: x_axis, x2: x2_axis, y: y_axis, y2: y2_axis }[axis]
118
- const next_range = min === null && max === null
119
- ? undefined
120
- : [min ?? auto?.[0] ?? 0, max ?? auto?.[1] ?? 1] as Vec2
128
+ const next_range =
129
+ min === null && max === null
130
+ ? undefined
131
+ : ([min ?? auto?.[0] ?? 0, max ?? auto?.[1] ?? 1] as Vec2)
121
132
  // If auto range is undefined, only set if both min and max are provided
122
133
  if (!auto && (min === null || max === null)) return
123
134
  if (axis === `x`) x_axis = { ...axis_config, range: next_range }
@@ -149,7 +160,7 @@
149
160
  {#if show_controls}
150
161
  <ControlPane
151
162
  bind:controls_open
152
- controls_class={controls_class}
163
+ {controls_class}
153
164
  title={controls_title}
154
165
  {toggle_props}
155
166
  {pane_props}
@@ -182,24 +193,30 @@
182
193
  style="display: flex; flex-wrap: wrap; gap: 1ex; align-items: center"
183
194
  >
184
195
  {#if x_includes_zero || x2_includes_zero || y_includes_zero || y2_includes_zero}
185
- <span class="control-group" data-label="zero line">Zero line:
196
+ <span class="control-group" data-label="zero line"
197
+ >Zero line:
186
198
  {#if x_includes_zero}
187
199
  <label><input type="checkbox" bind:checked={display.x_zero_line} /> X</label>
188
200
  {/if}
189
201
  {#if x2_includes_zero}
190
- <label><input type="checkbox" bind:checked={display.x2_zero_line} />
191
- X2</label>
202
+ <label
203
+ ><input type="checkbox" bind:checked={display.x2_zero_line} />
204
+ X2</label
205
+ >
192
206
  {/if}
193
207
  {#if y_includes_zero}
194
208
  <label><input type="checkbox" bind:checked={display.y_zero_line} /> Y</label>
195
209
  {/if}
196
210
  {#if y2_includes_zero}
197
- <label><input type="checkbox" bind:checked={display.y2_zero_line} />
198
- Y2</label>
211
+ <label
212
+ ><input type="checkbox" bind:checked={display.y2_zero_line} />
213
+ Y2</label
214
+ >
199
215
  {/if}
200
216
  </span>
201
217
  {/if}
202
- <span class="control-group" data-label="grid">Grid:
218
+ <span class="control-group" data-label="grid"
219
+ >Grid:
203
220
  <label><input type="checkbox" bind:checked={display.x_grid} /> X</label>
204
221
  {#if has_x2_points}
205
222
  <label><input type="checkbox" bind:checked={display.x2_grid} /> X2</label>
@@ -229,17 +246,10 @@
229
246
  }}
230
247
  style="display: flex; flex-wrap: wrap; gap: 2pt"
231
248
  >
232
- {#each [
233
- [`x`, `X`],
234
- ...(has_x2_points ? [[`x2`, `X2`]] : []),
235
- [`y`, `Y`],
236
- ...(has_y2_points ? [[`y2`, `Y2`]] : []),
237
- ] as
238
- [axis_key, label]
239
- (axis_key)
240
- }
249
+ {#each [[`x`, `X`], ...(has_x2_points ? [[`x2`, `X2`]] : []), [`y`, `Y`], ...(has_y2_points ? [[`y2`, `Y2`]] : [])] as [axis_key, label] (axis_key)}
241
250
  {@const axis = axis_key as AxisKey}
242
- <label>{label}:
251
+ <label
252
+ >{label}:
243
253
  <input
244
254
  type="number"
245
255
  value={range_inputs[axis][0] ?? ``}
@@ -248,7 +258,9 @@
248
258
  class="range-input"
249
259
  oninput={(evt) => update_range(axis, 0, evt.currentTarget.value)}
250
260
  onkeydown={(evt) => evt.key === `Enter` && evt.currentTarget?.blur()}
251
- /> to <input
261
+ />
262
+ to
263
+ <input
252
264
  type="number"
253
265
  value={range_inputs[axis][1] ?? ``}
254
266
  bind:this={range_els[`${axis}-max`]}
@@ -273,7 +285,8 @@
273
285
  }}
274
286
  style="display: flex; flex-wrap: wrap; gap: 1ex"
275
287
  >
276
- <label>X-axis:
288
+ <label
289
+ >X-axis:
277
290
  <input
278
291
  type="number"
279
292
  min={min_ticks}
@@ -290,7 +303,8 @@
290
303
  }}
291
304
  />
292
305
  </label>
293
- <label>Y-axis:
306
+ <label
307
+ >Y-axis:
294
308
  <input
295
309
  type="number"
296
310
  min={min_ticks}
@@ -327,7 +341,8 @@
327
341
  }}
328
342
  style="display: flex; flex-wrap: wrap; gap: 1ex"
329
343
  >
330
- <label>X:
344
+ <label
345
+ >X:
331
346
  <select
332
347
  value={get_scale_type_name(x_axis.scale_type)}
333
348
  onchange={(evt) => {
@@ -344,7 +359,8 @@
344
359
  </select>
345
360
  </label>
346
361
  {#if has_x2_points}
347
- <label>X2:
362
+ <label
363
+ >X2:
348
364
  <select
349
365
  value={get_scale_type_name(x2_axis.scale_type)}
350
366
  onchange={(evt) => {
@@ -361,7 +377,8 @@
361
377
  </select>
362
378
  </label>
363
379
  {/if}
364
- <label>Y:
380
+ <label
381
+ >Y:
365
382
  <select
366
383
  value={get_scale_type_name(y_axis.scale_type)}
367
384
  onchange={(evt) => {
@@ -378,7 +395,8 @@
378
395
  </select>
379
396
  </label>
380
397
  {#if has_y2_points}
381
- <label>Y2:
398
+ <label
399
+ >Y2:
382
400
  <select
383
401
  value={get_scale_type_name(y2_axis.scale_type)}
384
402
  onchange={(evt) => {
@@ -412,7 +430,8 @@
412
430
  }}
413
431
  style="display: flex; gap: 1ex; align-items: center; flex-wrap: wrap"
414
432
  >
415
- <label {@attach tooltip({ content: y2_sync_tip })}>Mode:
433
+ <label {@attach tooltip({ content: y2_sync_tip })}
434
+ >Mode:
416
435
  <select
417
436
  value={current_sync.mode}
418
437
  aria-label="Y2 axis synchronization mode"
@@ -437,7 +456,8 @@
437
456
  </select>
438
457
  </label>
439
458
  {#if current_sync.mode === `align`}
440
- <label>Align at:
459
+ <label
460
+ >Align at:
441
461
  <input
442
462
  type="number"
443
463
  value={current_sync.align_value ?? 0}
@@ -478,7 +498,8 @@
478
498
  class="pane-grid"
479
499
  style="grid-template-columns: 1fr 1fr"
480
500
  >
481
- <label style="white-space: nowrap">X-axis:
501
+ <label style="white-space: nowrap"
502
+ >X-axis:
482
503
  <input
483
504
  type="text"
484
505
  value={x_axis.format ?? DEFAULTS.plot.x_format}
@@ -487,7 +508,8 @@
487
508
  />
488
509
  </label>
489
510
  {#if has_x2_points}
490
- <label style="white-space: nowrap">X2-axis:
511
+ <label style="white-space: nowrap"
512
+ >X2-axis:
491
513
  <input
492
514
  type="text"
493
515
  value={x2_axis.format ?? DEFAULTS.plot.x2_format}
@@ -497,7 +519,8 @@
497
519
  />
498
520
  </label>
499
521
  {/if}
500
- <label style="white-space: nowrap">Y-axis:
522
+ <label style="white-space: nowrap"
523
+ >Y-axis:
501
524
  <input
502
525
  type="text"
503
526
  value={y_axis.format ?? DEFAULTS.plot.y_format}
@@ -507,7 +530,8 @@
507
530
  />
508
531
  </label>
509
532
  {#if has_y2_points}
510
- <label style="white-space: nowrap">Y2-axis:
533
+ <label style="white-space: nowrap"
534
+ >Y2-axis:
511
535
  <input
512
536
  type="text"
513
537
  value={y2_axis.format ?? DEFAULTS.plot.y2_format}