matterviz 0.4.1 → 0.4.3

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 (499) hide show
  1. package/dist/EmptyState.svelte +10 -4
  2. package/dist/FilePicker.svelte +48 -60
  3. package/dist/Icon.svelte +7 -4
  4. package/dist/MillerIndexInput.svelte +2 -2
  5. package/dist/api/optimade.js +10 -7
  6. package/dist/app.css +68 -0
  7. package/dist/brillouin/BrillouinZone.svelte +90 -91
  8. package/dist/brillouin/BrillouinZone.svelte.d.ts +5 -7
  9. package/dist/brillouin/BrillouinZoneControls.svelte +3 -6
  10. package/dist/brillouin/BrillouinZoneExportPane.svelte +18 -14
  11. package/dist/brillouin/BrillouinZoneInfoPane.svelte +6 -10
  12. package/dist/brillouin/BrillouinZoneScene.svelte +46 -68
  13. package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +1 -1
  14. package/dist/brillouin/compute.js +10 -16
  15. package/dist/brillouin/geometry.js +2 -2
  16. package/dist/chempot-diagram/ChemPotDiagram.svelte +48 -50
  17. package/dist/chempot-diagram/ChemPotDiagram2D.svelte +61 -169
  18. package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +1 -1
  19. package/dist/chempot-diagram/ChemPotDiagram3D.svelte +559 -755
  20. package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +1 -1
  21. package/dist/chempot-diagram/async-compute.svelte.js +13 -14
  22. package/dist/chempot-diagram/color.d.ts +21 -1
  23. package/dist/chempot-diagram/color.js +70 -1
  24. package/dist/chempot-diagram/compute.d.ts +7 -0
  25. package/dist/chempot-diagram/compute.js +85 -26
  26. package/dist/chempot-diagram/controls-state.svelte.js +1 -1
  27. package/dist/chempot-diagram/export.js +1 -6
  28. package/dist/chempot-diagram/temperature.js +9 -10
  29. package/dist/colors/index.d.ts +0 -4
  30. package/dist/colors/index.js +19 -20
  31. package/dist/composition/BarChart.svelte +30 -26
  32. package/dist/composition/BubbleChart.svelte +17 -17
  33. package/dist/composition/Composition.svelte +10 -19
  34. package/dist/composition/Formula.svelte +20 -27
  35. package/dist/composition/FormulaFilter.svelte +115 -184
  36. package/dist/composition/PieChart.svelte +55 -41
  37. package/dist/composition/format.js +7 -9
  38. package/dist/composition/index.d.ts +2 -0
  39. package/dist/composition/index.js +14 -0
  40. package/dist/composition/parse.d.ts +2 -2
  41. package/dist/composition/parse.js +61 -115
  42. package/dist/constants.d.ts +0 -1
  43. package/dist/constants.js +17 -26
  44. package/dist/convex-hull/ConvexHull.svelte +12 -15
  45. package/dist/convex-hull/ConvexHull.svelte.d.ts +1 -1
  46. package/dist/convex-hull/ConvexHull2D.svelte +93 -94
  47. package/dist/convex-hull/ConvexHull2D.svelte.d.ts +1 -1
  48. package/dist/convex-hull/ConvexHull3D.svelte +127 -186
  49. package/dist/convex-hull/ConvexHull3D.svelte.d.ts +1 -1
  50. package/dist/convex-hull/ConvexHull4D.svelte +131 -180
  51. package/dist/convex-hull/ConvexHull4D.svelte.d.ts +1 -1
  52. package/dist/convex-hull/ConvexHullChrome.svelte +36 -40
  53. package/dist/convex-hull/ConvexHullControls.svelte +46 -48
  54. package/dist/convex-hull/ConvexHullStats.svelte +193 -195
  55. package/dist/convex-hull/ConvexHullTooltip.svelte +5 -12
  56. package/dist/convex-hull/GasPressureControls.svelte +5 -12
  57. package/dist/convex-hull/StructurePopup.svelte +18 -22
  58. package/dist/convex-hull/StructurePopup.svelte.d.ts +2 -0
  59. package/dist/convex-hull/TemperatureSlider.svelte +4 -10
  60. package/dist/convex-hull/canvas-interactions.svelte.js +2 -1
  61. package/dist/convex-hull/gas-thermodynamics.js +21 -53
  62. package/dist/convex-hull/helpers.d.ts +8 -10
  63. package/dist/convex-hull/helpers.js +37 -43
  64. package/dist/convex-hull/hull-state.svelte.d.ts +1 -1
  65. package/dist/convex-hull/thermodynamics.js +37 -44
  66. package/dist/coordination/CoordinationBarPlot.svelte +49 -53
  67. package/dist/coordination/CoordinationBarPlot.svelte.d.ts +1 -1
  68. package/dist/coordination/calc-coordination.d.ts +1 -1
  69. package/dist/coordination/calc-coordination.js +28 -25
  70. package/dist/element/BohrAtom.svelte +5 -9
  71. package/dist/element/ElementHeading.svelte +4 -1
  72. package/dist/element/ElementPhoto.svelte +11 -9
  73. package/dist/element/ElementStats.svelte +12 -10
  74. package/dist/element/ElementTile.svelte +44 -67
  75. package/dist/element/Nucleus.svelte +4 -2
  76. package/dist/element/data.d.ts +3 -2
  77. package/dist/element/data.js +5 -1
  78. package/dist/element/helpers.d.ts +4 -0
  79. package/dist/element/helpers.js +18 -0
  80. package/dist/element/index.d.ts +2 -5
  81. package/dist/element/index.js +4 -19
  82. package/dist/feedback/DragOverlay.svelte +5 -5
  83. package/dist/feedback/DragOverlay.svelte.d.ts +2 -2
  84. package/dist/feedback/StatusMessage.svelte +7 -4
  85. package/dist/fermi-surface/FermiSlice.svelte +21 -18
  86. package/dist/fermi-surface/FermiSurface.svelte +35 -44
  87. package/dist/fermi-surface/FermiSurface.svelte.d.ts +7 -13
  88. package/dist/fermi-surface/FermiSurfaceControls.svelte +6 -20
  89. package/dist/fermi-surface/FermiSurfaceControls.svelte.d.ts +1 -1
  90. package/dist/fermi-surface/FermiSurfaceScene.svelte +64 -136
  91. package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +1 -1
  92. package/dist/fermi-surface/FermiSurfaceTooltip.svelte +9 -6
  93. package/dist/fermi-surface/compute.js +25 -58
  94. package/dist/fermi-surface/parse.js +54 -88
  95. package/dist/file-viewer/JsonBrowser.svelte +1043 -0
  96. package/dist/file-viewer/JsonBrowser.svelte.d.ts +9 -0
  97. package/dist/file-viewer/PlotPanel.svelte +350 -0
  98. package/dist/file-viewer/PlotPanel.svelte.d.ts +9 -0
  99. package/dist/file-viewer/TrajectoryWithDos.svelte +30 -0
  100. package/dist/file-viewer/TrajectoryWithDos.svelte.d.ts +10 -0
  101. package/dist/file-viewer/detect.d.ts +11 -0
  102. package/dist/file-viewer/detect.js +381 -0
  103. package/dist/file-viewer/eligibility.d.ts +4 -0
  104. package/dist/file-viewer/eligibility.js +53 -0
  105. package/dist/file-viewer/host-protocol.d.ts +50 -0
  106. package/dist/file-viewer/host-transfer.d.ts +25 -0
  107. package/dist/file-viewer/host-transfer.js +42 -0
  108. package/dist/file-viewer/index.d.ts +5 -0
  109. package/dist/file-viewer/index.js +5 -0
  110. package/dist/file-viewer/main.d.ts +44 -0
  111. package/dist/file-viewer/main.js +535 -0
  112. package/dist/file-viewer/parse.d.ts +9 -0
  113. package/dist/file-viewer/parse.js +170 -0
  114. package/dist/file-viewer/plot-utils.d.ts +24 -0
  115. package/dist/file-viewer/plot-utils.js +191 -0
  116. package/dist/file-viewer/types.d.ts +4 -0
  117. package/dist/file-viewer/types.js +5 -0
  118. package/dist/heatmap-matrix/HeatmapMatrix.svelte +153 -219
  119. package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +2 -2
  120. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +9 -7
  121. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +1 -1
  122. package/dist/heatmap-matrix/index.d.ts +5 -0
  123. package/dist/icons.d.ts +4 -0
  124. package/dist/icons.js +4 -0
  125. package/dist/index.d.ts +2 -2
  126. package/dist/index.js +1 -1
  127. package/dist/io/ExportPane.svelte +11 -7
  128. package/dist/io/decompress.d.ts +4 -1
  129. package/dist/io/decompress.js +24 -36
  130. package/dist/io/export.d.ts +11 -4
  131. package/dist/io/export.js +75 -19
  132. package/dist/io/fetch.d.ts +0 -3
  133. package/dist/io/fetch.js +0 -11
  134. package/dist/io/file-drop.js +60 -35
  135. package/dist/io/index.d.ts +0 -1
  136. package/dist/io/index.js +2 -9
  137. package/dist/io/is-binary.d.ts +9 -0
  138. package/dist/io/is-binary.js +45 -1
  139. package/dist/io/url-drop.d.ts +2 -0
  140. package/dist/io/url-drop.js +40 -40
  141. package/dist/isosurface/Isosurface.svelte +700 -215
  142. package/dist/isosurface/Isosurface.svelte.d.ts +7 -1
  143. package/dist/isosurface/IsosurfaceControls.svelte +590 -116
  144. package/dist/isosurface/IsosurfaceControls.svelte.d.ts +1 -1
  145. package/dist/isosurface/VolumeSlice.svelte +224 -0
  146. package/dist/isosurface/VolumeSlice.svelte.d.ts +28 -0
  147. package/dist/isosurface/coloring.d.ts +20 -0
  148. package/dist/isosurface/coloring.js +118 -0
  149. package/dist/isosurface/geometry-worker-types.d.ts +38 -0
  150. package/dist/isosurface/geometry.worker.d.ts +1 -0
  151. package/dist/isosurface/geometry.worker.js +59 -0
  152. package/dist/isosurface/grid.d.ts +10 -0
  153. package/dist/isosurface/grid.js +31 -0
  154. package/dist/isosurface/index.d.ts +4 -0
  155. package/dist/isosurface/index.js +4 -0
  156. package/dist/isosurface/parse-vaspwave.d.ts +3 -0
  157. package/dist/isosurface/parse-vaspwave.js +138 -0
  158. package/dist/isosurface/parse.js +6 -6
  159. package/dist/isosurface/profile.d.ts +12 -0
  160. package/dist/isosurface/profile.js +19 -0
  161. package/dist/isosurface/sampling.d.ts +34 -0
  162. package/dist/isosurface/sampling.js +408 -0
  163. package/dist/isosurface/slice-rendering.d.ts +13 -0
  164. package/dist/isosurface/slice-rendering.js +79 -0
  165. package/dist/isosurface/slice.d.ts +22 -2
  166. package/dist/isosurface/slice.js +200 -116
  167. package/dist/isosurface/types.d.ts +24 -1
  168. package/dist/isosurface/types.js +120 -8
  169. package/dist/json-path.d.ts +4 -0
  170. package/dist/json-path.js +89 -0
  171. package/dist/labels.d.ts +6 -2
  172. package/dist/labels.js +44 -14
  173. package/dist/layout/FullscreenButton.svelte +2 -1
  174. package/dist/layout/FullscreenToggle.svelte +10 -4
  175. package/dist/layout/InfoCard.svelte +8 -21
  176. package/dist/layout/InfoTag.svelte +1 -3
  177. package/dist/layout/NumberRangeInput.svelte +46 -0
  178. package/dist/layout/NumberRangeInput.svelte.d.ts +12 -0
  179. package/dist/layout/PropertyFilter.svelte +2 -6
  180. package/dist/layout/SettingsSection.svelte +57 -62
  181. package/dist/layout/SettingsSection.svelte.d.ts +6 -7
  182. package/dist/layout/SubpageGrid.svelte +3 -1
  183. package/dist/layout/ViewerChrome.svelte +16 -11
  184. package/dist/layout/ViewerChrome.svelte.d.ts +2 -1
  185. package/dist/layout/fullscreen.js +3 -5
  186. package/dist/layout/fullscreen.svelte.js +1 -2
  187. package/dist/layout/index.d.ts +1 -0
  188. package/dist/layout/index.js +1 -0
  189. package/dist/layout/json-tree/JsonNode.svelte +22 -59
  190. package/dist/layout/json-tree/JsonTree.svelte +101 -172
  191. package/dist/layout/json-tree/JsonValue.svelte +9 -32
  192. package/dist/layout/json-tree/utils.d.ts +0 -3
  193. package/dist/layout/json-tree/utils.js +50 -188
  194. package/dist/marching-cubes.d.ts +8 -1
  195. package/dist/marching-cubes.js +115 -48
  196. package/dist/math.d.ts +5 -2
  197. package/dist/math.js +48 -38
  198. package/dist/overlays/ContextMenu.svelte +19 -34
  199. package/dist/overlays/CopyButton.svelte +11 -5
  200. package/dist/overlays/DragControlTab.svelte +6 -1
  201. package/dist/overlays/DraggablePane.svelte +110 -74
  202. package/dist/overlays/DraggablePane.svelte.d.ts +2 -1
  203. package/dist/overlays/GlassChip.svelte +32 -0
  204. package/dist/overlays/GlassChip.svelte.d.ts +8 -0
  205. package/dist/overlays/InfoPaneCards.svelte +11 -23
  206. package/dist/overlays/index.d.ts +7 -0
  207. package/dist/overlays/index.js +26 -0
  208. package/dist/overlays/portal.d.ts +2 -0
  209. package/dist/overlays/portal.js +14 -0
  210. package/dist/periodic-table/PeriodicTable.svelte +113 -145
  211. package/dist/periodic-table/PeriodicTable.svelte.d.ts +5 -3
  212. package/dist/periodic-table/PeriodicTableControls.svelte +37 -115
  213. package/dist/periodic-table/TableInset.svelte +9 -4
  214. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +68 -105
  215. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +6 -8
  216. package/dist/phase-diagram/PhaseDiagramControls.svelte +70 -94
  217. package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +1 -1
  218. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +2 -1
  219. package/dist/phase-diagram/PhaseDiagramExportPane.svelte +12 -12
  220. package/dist/phase-diagram/PhaseDiagramTooltip.svelte +54 -58
  221. package/dist/phase-diagram/TdbInfoPanel.svelte +21 -15
  222. package/dist/phase-diagram/build-diagram.js +4 -9
  223. package/dist/phase-diagram/diagram-input.d.ts +1 -2
  224. package/dist/phase-diagram/parse.js +15 -15
  225. package/dist/phase-diagram/svg-to-diagram.js +28 -27
  226. package/dist/phase-diagram/utils.js +2 -3
  227. package/dist/plot/bar/BarPlot.svelte +461 -426
  228. package/dist/plot/bar/BarPlot.svelte.d.ts +2 -0
  229. package/dist/plot/bar/BarPlotControls.svelte +1 -3
  230. package/dist/plot/bar/BarPlotControls.svelte.d.ts +4 -6
  231. package/dist/plot/bar/SpacegroupBarPlot.svelte +46 -77
  232. package/dist/plot/bar/data.d.ts +5 -4
  233. package/dist/plot/bar/data.js +2 -1
  234. package/dist/plot/box/BoxPlot.svelte +322 -226
  235. package/dist/plot/box/BoxPlot.svelte.d.ts +2 -0
  236. package/dist/plot/box/Violin.svelte.d.ts +1 -0
  237. package/dist/plot/box/box-plot.js +1 -1
  238. package/dist/plot/core/auto-place.d.ts +1 -1
  239. package/dist/plot/core/auto-place.js +2 -2
  240. package/dist/plot/core/axis-utils.d.ts +12 -7
  241. package/dist/plot/core/axis-utils.js +48 -48
  242. package/dist/plot/core/components/AxisLabel.svelte +82 -20
  243. package/dist/plot/core/components/AxisLabel.svelte.d.ts +1 -0
  244. package/dist/plot/core/components/ColorBar.svelte +101 -106
  245. package/dist/plot/core/components/ColorScaleSelect.svelte +1 -1
  246. package/dist/plot/core/components/FillArea.svelte +10 -17
  247. package/dist/plot/core/components/HierarchyControls.svelte +249 -0
  248. package/dist/plot/{sunburst/SunburstControls.svelte.d.ts → core/components/HierarchyControls.svelte.d.ts} +12 -8
  249. package/dist/plot/core/components/InteractiveAxisLabel.svelte +1 -1
  250. package/dist/plot/core/components/InteractiveAxisLabel.svelte.d.ts +1 -1
  251. package/dist/plot/core/components/Line.svelte +18 -9
  252. package/dist/plot/core/components/Line.svelte.d.ts +2 -0
  253. package/dist/plot/core/components/PlotAxis.svelte +40 -17
  254. package/dist/plot/core/components/PlotControls.svelte +65 -41
  255. package/dist/plot/core/components/PlotLegend.svelte +31 -35
  256. package/dist/plot/core/components/PlotMarginals.svelte +616 -0
  257. package/dist/plot/core/components/PlotMarginals.svelte.d.ts +15 -0
  258. package/dist/plot/core/components/PlotTooltip.svelte +1 -1
  259. package/dist/plot/core/components/PortalSelect.svelte +4 -8
  260. package/dist/plot/core/components/ReferenceLine.svelte +27 -24
  261. package/dist/plot/core/components/ReferenceLine3D.svelte +54 -57
  262. package/dist/plot/core/components/ReferencePlane.svelte +7 -8
  263. package/dist/plot/core/components/ZeroLines.svelte +4 -8
  264. package/dist/plot/core/components/ZoomRect.svelte +1 -2
  265. package/dist/plot/core/components/index.d.ts +1 -0
  266. package/dist/plot/core/components/index.js +1 -0
  267. package/dist/plot/core/data-cleaning-signal.d.ts +46 -0
  268. package/dist/plot/core/data-cleaning-signal.js +467 -0
  269. package/dist/plot/core/data-cleaning.d.ts +2 -42
  270. package/dist/plot/core/data-cleaning.js +27 -474
  271. package/dist/plot/core/data-transform.d.ts +1 -2
  272. package/dist/plot/core/data-transform.js +9 -15
  273. package/dist/plot/core/fill-utils.d.ts +3 -1
  274. package/dist/plot/core/fill-utils.js +28 -6
  275. package/dist/plot/core/index.d.ts +1 -0
  276. package/dist/plot/core/index.js +1 -0
  277. package/dist/plot/core/interactions.js +0 -2
  278. package/dist/plot/core/layout.d.ts +15 -6
  279. package/dist/plot/core/layout.js +57 -38
  280. package/dist/plot/core/marginals.d.ts +170 -0
  281. package/dist/plot/core/marginals.js +436 -0
  282. package/dist/plot/core/pan-zoom.svelte.d.ts +2 -4
  283. package/dist/plot/core/pan-zoom.svelte.js +34 -17
  284. package/dist/plot/core/placed-tween.svelte.d.ts +3 -0
  285. package/dist/plot/core/placed-tween.svelte.js +68 -21
  286. package/dist/plot/core/reference-line.js +1 -1
  287. package/dist/plot/core/scales.d.ts +23 -0
  288. package/dist/plot/core/scales.js +39 -13
  289. package/dist/plot/core/svg.js +0 -1
  290. package/dist/plot/core/types/fills.d.ts +101 -0
  291. package/dist/plot/core/types/fills.js +15 -0
  292. package/dist/plot/core/types/plot-3d.d.ts +87 -0
  293. package/dist/plot/core/types/plot-3d.js +4 -0
  294. package/dist/plot/core/types/reference-lines.d.ts +140 -0
  295. package/dist/plot/core/types/reference-lines.js +9 -0
  296. package/dist/plot/core/types.d.ts +29 -324
  297. package/dist/plot/core/types.js +23 -20
  298. package/dist/plot/core/utils/hierarchy-chart.d.ts +52 -0
  299. package/dist/plot/core/utils/hierarchy-chart.js +191 -0
  300. package/dist/plot/core/utils/hierarchy-labels.d.ts +20 -0
  301. package/dist/plot/core/utils/hierarchy-labels.js +100 -0
  302. package/dist/plot/core/utils/label-placement.js +2 -2
  303. package/dist/plot/histogram/Histogram.svelte +314 -340
  304. package/dist/plot/histogram/Histogram.svelte.d.ts +7 -7
  305. package/dist/plot/histogram/HistogramControls.svelte +30 -28
  306. package/dist/plot/histogram/histogram.d.ts +31 -0
  307. package/dist/plot/histogram/histogram.js +70 -0
  308. package/dist/plot/histogram/index.d.ts +1 -0
  309. package/dist/plot/histogram/index.js +1 -0
  310. package/dist/plot/index.d.ts +1 -0
  311. package/dist/plot/index.js +1 -0
  312. package/dist/plot/sankey/Sankey.svelte +78 -69
  313. package/dist/plot/sankey/Sankey.svelte.d.ts +2 -2
  314. package/dist/plot/sankey/SankeyControls.svelte +22 -16
  315. package/dist/plot/sankey/sankey.js +13 -9
  316. package/dist/plot/scatter/BinnedScatterPlot.svelte +311 -141
  317. package/dist/plot/scatter/BinnedScatterPlot.svelte.d.ts +7 -0
  318. package/dist/plot/scatter/ElementScatter.svelte +4 -1
  319. package/dist/plot/scatter/ScatterPlot.svelte +517 -410
  320. package/dist/plot/scatter/ScatterPlot.svelte.d.ts +2 -0
  321. package/dist/plot/scatter/ScatterPlotControls.svelte +18 -19
  322. package/dist/plot/scatter/ScatterPlotControls.svelte.d.ts +1 -1
  323. package/dist/plot/scatter/ScatterPoint.svelte +16 -9
  324. package/dist/plot/scatter/adaptive-density.d.ts +1 -1
  325. package/dist/plot/scatter/adaptive-density.js +36 -20
  326. package/dist/plot/scatter/binned-scatter-types.d.ts +3 -2
  327. package/dist/plot/scatter/binned-scatter-types.js +6 -1
  328. package/dist/plot/scatter/scatter-data.d.ts +1 -1
  329. package/dist/plot/scatter/scatter-data.js +8 -7
  330. package/dist/plot/scatter-3d/ScatterPlot3D.svelte +25 -34
  331. package/dist/plot/scatter-3d/ScatterPlot3D.svelte.d.ts +2 -2
  332. package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte +8 -5
  333. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte +113 -116
  334. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte.d.ts +2 -2
  335. package/dist/plot/scatter-3d/Surface3D.svelte +4 -13
  336. package/dist/plot/sunburst/Sunburst.svelte +269 -347
  337. package/dist/plot/sunburst/Sunburst.svelte.d.ts +2 -2
  338. package/dist/plot/sunburst/index.d.ts +1 -1
  339. package/dist/plot/sunburst/index.js +2 -1
  340. package/dist/plot/sunburst/render.d.ts +2 -2
  341. package/dist/plot/sunburst/render.js +47 -22
  342. package/dist/plot/sunburst/sunburst.d.ts +5 -1
  343. package/dist/plot/sunburst/sunburst.js +10 -3
  344. package/dist/plot/treemap/Treemap.svelte +1022 -0
  345. package/dist/plot/treemap/Treemap.svelte.d.ts +90 -0
  346. package/dist/plot/treemap/index.d.ts +4 -0
  347. package/dist/plot/treemap/index.js +4 -0
  348. package/dist/plot/treemap/labels.d.ts +38 -0
  349. package/dist/plot/treemap/labels.js +80 -0
  350. package/dist/plot/treemap/treemap.d.ts +28 -0
  351. package/dist/plot/treemap/treemap.js +102 -0
  352. package/dist/rdf/RdfPlot.svelte +37 -59
  353. package/dist/rdf/RdfPlot.svelte.d.ts +1 -1
  354. package/dist/rdf/calc-rdf.js +63 -52
  355. package/dist/rdf/index.d.ts +0 -1
  356. package/dist/sanitize.js +85 -27
  357. package/dist/scene/SceneCamera.svelte +1 -1
  358. package/dist/scene/SceneCamera.svelte.d.ts +1 -1
  359. package/dist/scene/bind-renderer.svelte.js +14 -6
  360. package/dist/scene/index.d.ts +1 -2
  361. package/dist/scene/index.js +1 -1
  362. package/dist/scene/{props.js → props.svelte.js} +15 -1
  363. package/dist/settings.d.ts +19 -9
  364. package/dist/settings.js +229 -525
  365. package/dist/spectral/Bands.svelte +207 -221
  366. package/dist/spectral/BandsAndDos.svelte +11 -9
  367. package/dist/spectral/BrillouinBandsDos.svelte +19 -42
  368. package/dist/spectral/Dos.svelte +92 -93
  369. package/dist/spectral/helpers.d.ts +3 -3
  370. package/dist/spectral/helpers.js +65 -140
  371. package/dist/state.svelte.js +5 -18
  372. package/dist/structure/Arrow.svelte +5 -18
  373. package/dist/structure/ArrowInstances.svelte +160 -0
  374. package/dist/structure/ArrowInstances.svelte.d.ts +16 -0
  375. package/dist/structure/AtomLegend.svelte +120 -85
  376. package/dist/structure/AtomLegend.svelte.d.ts +2 -3
  377. package/dist/structure/Bond.svelte +31 -23
  378. package/dist/structure/CanvasTooltip.svelte +15 -3
  379. package/dist/structure/CellSelect.svelte +45 -35
  380. package/dist/structure/Cylinder.svelte +24 -40
  381. package/dist/structure/InstancedAtoms.svelte +114 -0
  382. package/dist/structure/InstancedAtoms.svelte.d.ts +15 -0
  383. package/dist/structure/Lattice.svelte +85 -149
  384. package/dist/structure/SiteLabels.svelte +122 -0
  385. package/dist/structure/SiteLabels.svelte.d.ts +18 -0
  386. package/dist/structure/Structure.svelte +636 -504
  387. package/dist/structure/Structure.svelte.d.ts +4 -2
  388. package/dist/structure/StructureCarousel.svelte +637 -0
  389. package/dist/structure/StructureCarousel.svelte.d.ts +19 -0
  390. package/dist/structure/StructureControls.svelte +165 -425
  391. package/dist/structure/StructureControls.svelte.d.ts +1 -1
  392. package/dist/structure/StructureExportPane.svelte +17 -21
  393. package/dist/structure/StructureInfoPane.svelte +128 -133
  394. package/dist/structure/StructureInfoPane.svelte.d.ts +1 -1
  395. package/dist/structure/StructureScene.svelte +535 -578
  396. package/dist/structure/StructureScene.svelte.d.ts +6 -2
  397. package/dist/structure/StructureViewport.svelte +451 -0
  398. package/dist/structure/StructureViewport.svelte.d.ts +65 -0
  399. package/dist/structure/atom-label-placement.d.ts +16 -12
  400. package/dist/structure/atom-label-placement.js +70 -37
  401. package/dist/structure/atom-properties.d.ts +2 -0
  402. package/dist/structure/atom-properties.js +105 -38
  403. package/dist/structure/bond-order-perception.js +3 -8
  404. package/dist/structure/bonding.d.ts +9 -3
  405. package/dist/structure/bonding.js +95 -46
  406. package/dist/structure/edit-history.d.ts +6 -0
  407. package/dist/structure/edit-history.js +27 -0
  408. package/dist/structure/export.d.ts +1 -0
  409. package/dist/structure/export.js +89 -105
  410. package/dist/structure/format-detect.d.ts +1 -0
  411. package/dist/structure/format-detect.js +20 -0
  412. package/dist/structure/geometry.d.ts +9 -0
  413. package/dist/structure/geometry.js +27 -0
  414. package/dist/structure/index.d.ts +16 -1
  415. package/dist/structure/index.js +15 -10
  416. package/dist/structure/measure.d.ts +1 -1
  417. package/dist/structure/measure.js +6 -12
  418. package/dist/structure/parse.d.ts +2 -1
  419. package/dist/structure/parse.js +272 -313
  420. package/dist/structure/partial-occupancy.js +10 -5
  421. package/dist/structure/pbc.js +85 -107
  422. package/dist/structure/polyhedra.d.ts +0 -1
  423. package/dist/structure/polyhedra.js +7 -21
  424. package/dist/structure/prop-groups.d.ts +85 -0
  425. package/dist/structure/prop-groups.js +18 -0
  426. package/dist/structure/supercell.d.ts +1 -2
  427. package/dist/structure/supercell.js +7 -13
  428. package/dist/symmetry/SymmetryElements.svelte +11 -15
  429. package/dist/symmetry/SymmetryStats.svelte +55 -71
  430. package/dist/symmetry/WyckoffTable.svelte +10 -28
  431. package/dist/symmetry/cell-transform.js +6 -14
  432. package/dist/symmetry/index.d.ts +1 -0
  433. package/dist/symmetry/index.js +13 -10
  434. package/dist/symmetry/spacegroups.js +3 -2
  435. package/dist/table/HeatmapTable.svelte +1142 -447
  436. package/dist/table/HeatmapTable.svelte.d.ts +12 -2
  437. package/dist/table/ToggleMenu.svelte +168 -53
  438. package/dist/table/ToggleMenu.svelte.d.ts +1 -1
  439. package/dist/table/index.d.ts +21 -6
  440. package/dist/table/index.js +34 -21
  441. package/dist/theme/ThemeControl.svelte +16 -8
  442. package/dist/theme/embedded.d.ts +18 -0
  443. package/dist/theme/embedded.js +206 -0
  444. package/dist/theme/index.d.ts +5 -5
  445. package/dist/theme/index.js +5 -12
  446. package/dist/theme/themes.mjs +44 -66
  447. package/dist/tooltip/KCoords.svelte +4 -1
  448. package/dist/tooltip/TooltipContent.svelte +3 -6
  449. package/dist/tooltip/TooltipContent.svelte.d.ts +1 -1
  450. package/dist/tooltip/index.d.ts +8 -1
  451. package/dist/trajectory/Trajectory.svelte +613 -386
  452. package/dist/trajectory/Trajectory.svelte.d.ts +1 -1
  453. package/dist/trajectory/TrajectoryError.svelte +12 -74
  454. package/dist/trajectory/TrajectoryExportPane.svelte +14 -32
  455. package/dist/trajectory/TrajectoryInfoPane.svelte +127 -164
  456. package/dist/trajectory/TrajectoryInfoPane.svelte.d.ts +2 -1
  457. package/dist/trajectory/extract.js +61 -49
  458. package/dist/trajectory/format-detect.d.ts +2 -0
  459. package/dist/trajectory/format-detect.js +17 -13
  460. package/dist/trajectory/frame-reader.d.ts +2 -0
  461. package/dist/trajectory/frame-reader.js +35 -32
  462. package/dist/trajectory/helpers.d.ts +2 -0
  463. package/dist/trajectory/helpers.js +34 -56
  464. package/dist/trajectory/index.d.ts +1 -0
  465. package/dist/trajectory/index.js +5 -8
  466. package/dist/trajectory/parse/ase.js +1 -1
  467. package/dist/trajectory/parse/h5-utils.d.ts +13 -0
  468. package/dist/trajectory/parse/h5-utils.js +109 -0
  469. package/dist/trajectory/parse/hdf5.d.ts +1 -1
  470. package/dist/trajectory/parse/hdf5.js +116 -106
  471. package/dist/trajectory/parse/index.d.ts +6 -6
  472. package/dist/trajectory/parse/index.js +25 -33
  473. package/dist/trajectory/parse/lammps.js +8 -12
  474. package/dist/trajectory/parse/vasp.js +10 -7
  475. package/dist/trajectory/parse/vaspout-electronic.d.ts +13 -0
  476. package/dist/trajectory/parse/vaspout-electronic.js +207 -0
  477. package/dist/trajectory/parse/vaspout-h5.d.ts +4 -0
  478. package/dist/trajectory/parse/vaspout-h5.js +281 -0
  479. package/dist/trajectory/parse/xyz.js +59 -9
  480. package/dist/trajectory/plotting.d.ts +8 -9
  481. package/dist/trajectory/plotting.js +113 -64
  482. package/dist/utils.d.ts +3 -0
  483. package/dist/utils.js +7 -0
  484. package/dist/xrd/XrdPlot.svelte +79 -118
  485. package/dist/xrd/broadening.js +2 -1
  486. package/dist/xrd/calc-xrd.js +24 -62
  487. package/dist/xrd/parse.d.ts +0 -1
  488. package/dist/xrd/parse.js +69 -95
  489. package/package.json +94 -34
  490. package/readme.md +6 -5
  491. package/dist/api/mp.d.ts +0 -6
  492. package/dist/api/mp.js +0 -22
  493. package/dist/plot/sunburst/SunburstControls.svelte +0 -200
  494. package/dist/scene/types.d.ts +0 -26
  495. package/dist/tooltip/types.d.ts +0 -8
  496. package/dist/trajectory/constants.d.ts +0 -6
  497. package/dist/trajectory/constants.js +0 -11
  498. /package/dist/{scene/types.js → file-viewer/host-protocol.js} +0 -0
  499. /package/dist/{tooltip/types.js → isosurface/geometry-worker-types.js} +0 -0
@@ -32,12 +32,7 @@
32
32
  import StructurePopup from './StructurePopup.svelte'
33
33
  import TemperatureSlider from './TemperatureSlider.svelte'
34
34
  import * as thermo from './thermodynamics'
35
- import type {
36
- ConvexHullEntry,
37
- HighlightStyle,
38
- HoverData3D,
39
- PhaseData,
40
- } from './types'
35
+ import type { ConvexHullEntry, HighlightStyle, HoverData3D, PhaseData } from './types'
41
36
  import { MAGNETIC_ORDERING_CATEGORY } from './types'
42
37
 
43
38
  // Binary convex hull rendered as energy vs composition (x in [0, 1])
@@ -58,9 +53,7 @@
58
53
  entry_category = MAGNETIC_ORDERING_CATEGORY,
59
54
  hidden_categories = $bindable([]),
60
55
  color_mode = $bindable(DEFAULTS.convex_hull.binary.color_mode),
61
- color_scale = $bindable(
62
- DEFAULTS.convex_hull.binary.color_scale as D3InterpolateName,
63
- ),
56
+ color_scale = $bindable(DEFAULTS.convex_hull.binary.color_scale as D3InterpolateName),
64
57
  info_pane_open = $bindable(DEFAULTS.convex_hull.binary.info_pane_open),
65
58
  controls_open = $bindable(DEFAULTS.convex_hull.binary.legend_pane_open),
66
59
  max_hull_dist_show_phases = $bindable(
@@ -70,9 +63,7 @@
70
63
  DEFAULTS.convex_hull.binary.max_hull_dist_show_labels,
71
64
  ),
72
65
  show_stable_labels = $bindable(DEFAULTS.convex_hull.binary.show_stable_labels),
73
- show_unstable_labels = $bindable(
74
- DEFAULTS.convex_hull.binary.show_unstable_labels,
75
- ),
66
+ show_unstable_labels = $bindable(DEFAULTS.convex_hull.binary.show_unstable_labels),
76
67
  on_file_drop,
77
68
  enable_click_selection = true,
78
69
  enable_structure_preview = true,
@@ -104,10 +95,8 @@
104
95
  const controls_config = $derived(normalize_show_controls(show_controls))
105
96
  const merged_config = $derived({
106
97
  ...default_hull_config,
107
- point_size: 6, // Binary diagrams use slightly smaller points
108
98
  ...config,
109
99
  colors: { ...default_hull_config.colors, ...config.colors },
110
- margin: { t: 40, r: 40, b: 60, l: 60, ...config.margin },
111
100
  })
112
101
 
113
102
  // Narrow deriveds to primitive fields so heavy downstream deriveds (scatter series,
@@ -117,9 +106,7 @@
117
106
  const show_hull_line = $derived(merged_config.show_hull)
118
107
 
119
108
  // Merge highlight style with defaults (consistent with 3D/4D)
120
- const merged_highlight_style = $derived(
121
- helpers.merge_highlight_style(highlight_style),
122
- )
109
+ const merged_highlight_style = $derived(helpers.merge_highlight_style(highlight_style))
123
110
 
124
111
  // Helper to check if entry is highlighted
125
112
  const is_highlighted = (entry: ConvexHullEntry): boolean =>
@@ -142,12 +129,11 @@
142
129
  show_unstable: () => show_unstable,
143
130
  entry_category: () => entry_category,
144
131
  hidden_categories: () => hidden_categories,
145
- keep_plot_entry: (entry, max_dist) =>
146
- helpers.entry_is_stable(entry) || (entry.e_above_hull ?? 0) <= max_dist,
147
- set_temperature: (next_temp) => temperature = next_temp,
148
- set_max_hull_dist_show_phases: (value) => max_hull_dist_show_phases = value,
149
- set_stable_entries: (value) => stable_entries = value,
150
- set_unstable_entries: (value) => unstable_entries = value,
132
+ keep_plot_entry: helpers.entry_within_hull_dist,
133
+ set_temperature: (next_temp) => (temperature = next_temp),
134
+ set_max_hull_dist_show_phases: (value) => (max_hull_dist_show_phases = value),
135
+ set_stable_entries: (value) => (stable_entries = value),
136
+ set_unstable_entries: (value) => (unstable_entries = value),
151
137
  })
152
138
  const merged_gas_config = $derived(hull_data.merged_gas_config)
153
139
  const elements = $derived(hull_data.elements)
@@ -210,30 +196,35 @@
210
196
  return { all_enriched_entries: [], hull_points: [] }
211
197
  }
212
198
 
213
- // Build lower hull input: one minimum-energy point per composition x.
214
- // Excluded entries don't participate in hull construction.
215
- const min_y_by_x = new SvelteMap<number, number>()
216
- for (const entry of coords_entries) {
217
- if (entry.exclude_from_hull) continue
218
- const current_min_y = min_y_by_x.get(entry.x)
219
- if (current_min_y === undefined || entry.y < current_min_y) {
220
- min_y_by_x.set(entry.x, entry.y)
199
+ // Build lower hull input: one minimum-energy point per composition x.
200
+ // Excluded entries don't participate in hull construction.
201
+ const min_y_by_x = new SvelteMap<number, number>()
202
+ for (const entry of coords_entries) {
203
+ if (entry.exclude_from_hull) continue
204
+ const current_min_y = min_y_by_x.get(entry.x)
205
+ if (current_min_y === undefined || entry.y < current_min_y) {
206
+ min_y_by_x.set(entry.x, entry.y)
207
+ }
221
208
  }
222
- }
223
209
 
224
- const hull_input = [...min_y_by_x].map(([x_coord, min_y]) => ({
225
- x: x_coord,
226
- y: min_y,
227
- }))
228
- const computed_hull_points = thermo.compute_lower_hull_2d(hull_input)
229
-
230
- const enriched_entries = coords_entries.map((entry) => {
231
- const y_hull = thermo.interpolate_hull_2d(computed_hull_points, entry.x)
232
- const raw_dist = y_hull == null ? 0 : entry.y - y_hull
233
- return { ...entry, ...helpers.compute_hull_stability(raw_dist, entry.exclude_from_hull) }
234
- })
235
- return { all_enriched_entries: enriched_entries, hull_points: computed_hull_points }
236
- })
210
+ const hull_input = [...min_y_by_x].map(([x_coord, min_y]) => ({
211
+ x: x_coord,
212
+ y: min_y,
213
+ }))
214
+ const computed_hull_points = thermo.compute_lower_hull_2d(hull_input)
215
+
216
+ const enriched_entries = coords_entries.map((entry) => {
217
+ const y_hull = thermo.interpolate_hull_2d(computed_hull_points, entry.x)
218
+ // degenerate hull (<2 points): y_hull null -> unknown distance (not 0/stable)
219
+ const raw_dist = y_hull == null ? undefined : entry.y - y_hull
220
+ return {
221
+ ...entry,
222
+ ...helpers.compute_hull_stability(raw_dist, entry.exclude_from_hull),
223
+ }
224
+ })
225
+ return { all_enriched_entries: enriched_entries, hull_points: computed_hull_points }
226
+ },
227
+ )
237
228
 
238
229
  let reset_counter = $state(0)
239
230
  // Drag and drop state (to match 3D/4D components)
@@ -259,13 +250,12 @@
259
250
  const y_domain = $derived.by((): Vec2 => {
260
251
  const ys = plot_entries.map((entry) => entry.y)
261
252
  if (ys.length === 0) return [-1, 0]
262
- const min_y_data = Math.min(...ys)
263
- const max_y_data = Math.max(...ys)
253
+ const min_y_data = helpers.array_min(ys)
254
+ const max_y_data = helpers.array_max(ys)
264
255
  const span = Math.max(1e-9, max_y_data - min_y_data)
265
256
  const pad = 0.05 * span
266
257
  return [min_y_data - pad, max_y_data + pad]
267
258
  })
268
-
269
259
  // Build ScatterPlot series --------------------------------------------------
270
260
 
271
261
  // Map MarkerSymbol to D3SymbolName (type-safe via symbol_map lookup)
@@ -296,15 +286,19 @@
296
286
  const hl = is_highlighted(entry) ? merged_highlight_style : null
297
287
 
298
288
  point_style[idx] = {
299
- fill: hl?.effect === `color` || hl?.effect === `both`
300
- ? hl?.color
301
- : is_energy_mode
302
- ? undefined
303
- : (is_stable ? stable_color : unstable_color),
289
+ fill:
290
+ hl?.effect === `color` || hl?.effect === `both`
291
+ ? hl?.color
292
+ : is_energy_mode
293
+ ? undefined
294
+ : is_stable
295
+ ? stable_color
296
+ : unstable_color,
304
297
  stroke: is_stable ? `#ffffff` : `#000000`,
305
- radius: hl?.effect === `size` || hl?.effect === `both`
306
- ? base_radius * (hl?.size_multiplier ?? 1)
307
- : base_radius,
298
+ radius:
299
+ hl?.effect === `size` || hl?.effect === `both`
300
+ ? base_radius * (hl?.size_multiplier ?? 1)
301
+ : base_radius,
308
302
  symbol_type: marker_to_d3_symbol(entry.marker),
309
303
  is_highlighted: Boolean(hl),
310
304
  highlight_effect: hl?.effect,
@@ -400,8 +394,7 @@
400
394
  show_unstable_labels !== DEFAULTS.convex_hull.binary.show_unstable_labels ||
401
395
  // Compare with auto-computed threshold, with small tolerance for floating point
402
396
  Math.abs(max_hull_dist_show_phases - auto_default_threshold) > 0.001 ||
403
- max_hull_dist_show_labels !==
404
- DEFAULTS.convex_hull.binary.max_hull_dist_show_labels,
397
+ max_hull_dist_show_labels !== DEFAULTS.convex_hull.binary.max_hull_dist_show_labels,
405
398
  )
406
399
 
407
400
  // Custom hover tooltip state used with ScatterPlot events
@@ -422,11 +415,13 @@
422
415
  const current_popup = helpers.current_entry(structure_popup.entry, plot_entries)
423
416
  if (structure_popup.open) {
424
417
  const structure = current_popup && extract_structure_from_entry(current_popup)
425
- if (!structure) structure_popup = { open: false, structure: null, entry: null, place_right: true }
418
+ if (!structure)
419
+ structure_popup = { open: false, structure: null, entry: null, place_right: true }
426
420
  else if (
427
421
  current_popup !== structure_popup.entry ||
428
422
  structure !== structure_popup.structure
429
- ) structure_popup = { ...structure_popup, entry: current_popup, structure }
423
+ )
424
+ structure_popup = { ...structure_popup, entry: current_popup, structure }
430
425
  }
431
426
  })
432
427
 
@@ -434,10 +429,10 @@
434
429
  const target = event.target
435
430
  if (target instanceof HTMLElement && target.tagName.match(/INPUT|TEXTAREA/)) return
436
431
  const actions: Record<string, () => void> = {
437
- b: () => color_mode = color_mode === `stability` ? `energy` : `stability`,
438
- s: () => show_stable = !show_stable,
439
- u: () => show_unstable = !show_unstable,
440
- l: () => show_stable_labels = !show_stable_labels,
432
+ b: () => (color_mode = color_mode === `stability` ? `energy` : `stability`),
433
+ s: () => (show_stable = !show_stable),
434
+ u: () => (show_unstable = !show_unstable),
435
+ l: () => (show_stable_labels = !show_stable_labels),
441
436
  }
442
437
  actions[event.key.toLowerCase()]?.()
443
438
  }
@@ -448,14 +443,16 @@
448
443
  if (data) on_file_drop?.(data)
449
444
  }
450
445
 
451
- async function copy_entry_data(
452
- entry: ConvexHullEntry,
453
- position: { x: number; y: number },
454
- ) {
455
- await helpers.copy_entry_to_clipboard(entry, position, (visible, pos) => {
456
- copy_feedback.visible = visible
457
- copy_feedback.position = pos
458
- }, entry_category)
446
+ async function copy_entry_data(entry: ConvexHullEntry, position: { x: number; y: number }) {
447
+ await helpers.copy_entry_to_clipboard(
448
+ entry,
449
+ position,
450
+ (visible, pos) => {
451
+ copy_feedback.visible = visible
452
+ copy_feedback.position = pos
453
+ },
454
+ entry_category,
455
+ )
459
456
  }
460
457
 
461
458
  function close_structure_popup() {
@@ -472,8 +469,7 @@
472
469
  if (!entry) return
473
470
 
474
471
  const now = Date.now()
475
- const is_double_click = last_clicked_entry === entry &&
476
- now - last_click_time < 300
472
+ const is_double_click = last_clicked_entry === entry && now - last_click_time < 300
477
473
 
478
474
  if (is_double_click) {
479
475
  // Double-click: copy to clipboard
@@ -524,9 +520,8 @@
524
520
  <!-- Hover tooltip matching 3D/4D style (content only; container handled by ScatterPlot) -->
525
521
  {#snippet tooltip(point: ScatterHandlerProps<ConvexHullEntry>)}
526
522
  {@const entry = point.metadata}
527
- {@const entry_highlight = entry && is_highlighted(entry)
528
- ? merged_highlight_style
529
- : undefined}
523
+ {@const entry_highlight =
524
+ entry && is_highlighted(entry) ? merged_highlight_style : undefined}
530
525
  {#if entry}
531
526
  <ConvexHullTooltip
532
527
  {entry}
@@ -600,9 +595,14 @@
600
595
  {/if}
601
596
  {/snippet}
602
597
 
603
- {#snippet user_content(
604
- { x_scale_fn, pad, height, y_scale_fn, y_range, width }: UserContentProps,
605
- )}
598
+ {#snippet user_content({
599
+ x_scale_fn,
600
+ pad,
601
+ height,
602
+ y_scale_fn,
603
+ y_range,
604
+ width,
605
+ }: UserContentProps)}
606
606
  {@const [x0, x1, y0] = [x_scale_fn(0), x_scale_fn(1), y_scale_fn(y_range[0])]}
607
607
  {@const stroke = {
608
608
  stroke: `var(--scatter-grid-stroke, gray)`,
@@ -616,7 +616,7 @@
616
616
  {#key reset_counter}
617
617
  <ScatterPlot
618
618
  {...rest}
619
- class="convex-hull-2d {rest.class ?? ``} {drag_over ? `dragover` : ``}"
619
+ class={[`convex-hull-2d`, rest.class, drag_over && `dragover`]}
620
620
  style={`${style}; ${rest.style ?? ``}`}
621
621
  data-has-selection={selected_entry !== null}
622
622
  bind:wrapper
@@ -668,9 +668,7 @@
668
668
  return
669
669
  }
670
670
  const { metadata: entry, event } = data
671
- hover_data = entry
672
- ? { entry, position: { x: event.clientX, y: event.clientY } }
673
- : null
671
+ hover_data = entry ? { entry, position: { x: event.clientX, y: event.clientY } } : null
674
672
  on_point_hover?.(hover_data)
675
673
  }}
676
674
  padding={{ t: 30, b: 60, l: 60, r: 30 }}
@@ -685,14 +683,14 @@
685
683
  {@html sanitize_html(merged_controls.title || phase_stats?.chemical_system || ``)}
686
684
  </h3>
687
685
 
688
- <ClickFeedback
689
- bind:visible={copy_feedback.visible}
690
- position={copy_feedback.position}
691
- />
692
- <DragOverlay visible={drag_over} />
686
+ <ClickFeedback bind:visible={copy_feedback.visible} position={copy_feedback.position} />
687
+ <DragOverlay visible={drag_over} message="Drop JSON file to load phase diagram data" />
693
688
 
694
689
  {#if hull_data.has_temp_data && temperature !== undefined}
695
- <TemperatureSlider available_temperatures={hull_data.available_temperatures} bind:temperature />
690
+ <TemperatureSlider
691
+ available_temperatures={hull_data.available_temperatures}
692
+ bind:temperature
693
+ />
696
694
  {/if}
697
695
 
698
696
  {#if hull_data.gas_analysis.has_gas_dependent_elements && merged_gas_config}
@@ -720,8 +718,7 @@
720
718
 
721
719
  <style>
722
720
  :global(.convex-hull-2d:fullscreen) {
723
- background: var(--hull-2d-bg-fullscreen, var(--hull-2d-bg, var(--hull-bg)))
724
- !important;
721
+ background: var(--hull-2d-bg-fullscreen, var(--hull-2d-bg, var(--hull-bg))) !important;
725
722
  overflow: hidden;
726
723
  }
727
724
  :global(.convex-hull-2d.dragover) {
@@ -736,9 +733,11 @@
736
733
  cursor: pointer;
737
734
  border-radius: 3px;
738
735
  color: var(--text-color, currentColor);
739
- transition: background-color 0.2s, opacity 0.2s;
736
+ transition:
737
+ background-color 0.2s,
738
+ opacity 0.2s;
740
739
  display: flex;
741
- font-size: clamp(0.85em, 2cqmin, 1.3em);
740
+ font-size: var(--ctrl-btn-icon-size, clamp(0.7rem, 2cqmin, 0.85rem));
742
741
  }
743
742
  :global(.convex-hull-2d :is(.control-btn, .fullscreen-btn):hover) {
744
743
  background-color: color-mix(in srgb, currentColor 8%, transparent);
@@ -6,6 +6,6 @@ type $$ComponentProps = BaseConvexHullProps<ConvexHullEntry> & {
6
6
  x_axis?: AxisConfig;
7
7
  y_axis?: AxisConfig;
8
8
  };
9
- declare const ConvexHull2D: import("svelte").Component<$$ComponentProps, {}, "display" | "temperature" | "fullscreen" | "wrapper" | "controls_open" | "color_scale" | "info_pane_open" | "color_mode" | "show_stable" | "show_unstable" | "show_stable_labels" | "show_unstable_labels" | "max_hull_dist_show_phases" | "max_hull_dist_show_labels" | "hidden_categories" | "energy_source_mode" | "stable_entries" | "unstable_entries" | "phase_stats" | "highlighted_entries" | "selected_entry" | "gas_pressures">;
9
+ declare const ConvexHull2D: import("svelte").Component<$$ComponentProps, {}, "display" | "fullscreen" | "wrapper" | "controls_open" | "color_scale" | "info_pane_open" | "temperature" | "color_mode" | "show_stable" | "show_unstable" | "show_stable_labels" | "show_unstable_labels" | "max_hull_dist_show_phases" | "max_hull_dist_show_labels" | "hidden_categories" | "energy_source_mode" | "stable_entries" | "unstable_entries" | "phase_stats" | "highlighted_entries" | "selected_entry" | "gas_pressures">;
10
10
  type ConvexHull2D = ReturnType<typeof ConvexHull2D>;
11
11
  export default ConvexHull2D;