matterviz 0.4.0 → 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 (527) 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 +132 -219
  7. package/dist/brillouin/BrillouinZone.svelte.d.ts +9 -20
  8. package/dist/brillouin/BrillouinZoneControls.svelte +3 -6
  9. package/dist/brillouin/BrillouinZoneExportPane.svelte +47 -96
  10. package/dist/brillouin/BrillouinZoneExportPane.svelte.d.ts +1 -1
  11. package/dist/brillouin/BrillouinZoneInfoPane.svelte +15 -42
  12. package/dist/brillouin/BrillouinZoneInfoPane.svelte.d.ts +2 -3
  13. package/dist/brillouin/BrillouinZoneScene.svelte +63 -230
  14. package/dist/brillouin/BrillouinZoneScene.svelte.d.ts +3 -23
  15. package/dist/brillouin/ReciprocalVectors.svelte +39 -0
  16. package/dist/brillouin/ReciprocalVectors.svelte.d.ts +9 -0
  17. package/dist/brillouin/compute.d.ts +2 -0
  18. package/dist/brillouin/compute.js +80 -77
  19. package/dist/brillouin/geometry.d.ts +8 -0
  20. package/dist/brillouin/geometry.js +57 -0
  21. package/dist/brillouin/index.d.ts +2 -0
  22. package/dist/brillouin/index.js +2 -0
  23. package/dist/brillouin/types.d.ts +2 -2
  24. package/dist/chempot-diagram/ChemPotDiagram.svelte +33 -38
  25. package/dist/chempot-diagram/ChemPotDiagram.svelte.d.ts +1 -1
  26. package/dist/chempot-diagram/ChemPotDiagram2D.svelte +143 -246
  27. package/dist/chempot-diagram/ChemPotDiagram2D.svelte.d.ts +4 -1
  28. package/dist/chempot-diagram/ChemPotDiagram3D.svelte +652 -976
  29. package/dist/chempot-diagram/ChemPotDiagram3D.svelte.d.ts +7 -1
  30. package/dist/chempot-diagram/async-compute.svelte.js +1 -1
  31. package/dist/chempot-diagram/color.d.ts +3 -6
  32. package/dist/chempot-diagram/color.js +5 -5
  33. package/dist/chempot-diagram/compute.d.ts +3 -3
  34. package/dist/chempot-diagram/compute.js +3 -1
  35. package/dist/chempot-diagram/controls-state.svelte.d.ts +10 -0
  36. package/dist/chempot-diagram/controls-state.svelte.js +42 -0
  37. package/dist/chempot-diagram/export.d.ts +47 -0
  38. package/dist/chempot-diagram/export.js +133 -0
  39. package/dist/chempot-diagram/index.d.ts +1 -0
  40. package/dist/chempot-diagram/index.js +1 -0
  41. package/dist/chempot-diagram/pointer.d.ts +0 -10
  42. package/dist/chempot-diagram/pointer.js +4 -4
  43. package/dist/chempot-diagram/types.d.ts +3 -3
  44. package/dist/colors/index.d.ts +0 -4
  45. package/dist/colors/index.js +21 -22
  46. package/dist/composition/BarChart.svelte +37 -31
  47. package/dist/composition/BubbleChart.svelte +17 -17
  48. package/dist/composition/Composition.svelte +7 -11
  49. package/dist/composition/Formula.svelte +18 -25
  50. package/dist/composition/FormulaFilter.svelte +96 -98
  51. package/dist/composition/PieChart.svelte +60 -46
  52. package/dist/composition/chem-sys.js +3 -2
  53. package/dist/composition/format.js +4 -3
  54. package/dist/composition/index.d.ts +2 -0
  55. package/dist/composition/index.js +14 -0
  56. package/dist/composition/parse.d.ts +2 -3
  57. package/dist/composition/parse.js +27 -28
  58. package/dist/constants.js +11 -9
  59. package/dist/controls.d.ts +1 -0
  60. package/dist/controls.js +0 -1
  61. package/dist/convex-hull/ConvexHull.svelte +20 -25
  62. package/dist/convex-hull/ConvexHull.svelte.d.ts +1 -4
  63. package/dist/convex-hull/ConvexHull2D.svelte +176 -256
  64. package/dist/convex-hull/ConvexHull2D.svelte.d.ts +1 -1
  65. package/dist/convex-hull/ConvexHull3D.svelte +269 -804
  66. package/dist/convex-hull/ConvexHull3D.svelte.d.ts +1 -1
  67. package/dist/convex-hull/ConvexHull4D.svelte +236 -755
  68. package/dist/convex-hull/ConvexHull4D.svelte.d.ts +1 -1
  69. package/dist/convex-hull/ConvexHullChrome.svelte +264 -0
  70. package/dist/convex-hull/ConvexHullChrome.svelte.d.ts +30 -0
  71. package/dist/convex-hull/ConvexHullControls.svelte +128 -49
  72. package/dist/convex-hull/ConvexHullControls.svelte.d.ts +7 -6
  73. package/dist/convex-hull/ConvexHullInfoPane.svelte +18 -5
  74. package/dist/convex-hull/ConvexHullInfoPane.svelte.d.ts +6 -5
  75. package/dist/convex-hull/ConvexHullStats.svelte +210 -351
  76. package/dist/convex-hull/ConvexHullStats.svelte.d.ts +3 -1
  77. package/dist/convex-hull/ConvexHullTooltip.svelte +16 -14
  78. package/dist/convex-hull/ConvexHullTooltip.svelte.d.ts +2 -1
  79. package/dist/convex-hull/GasPressureControls.svelte +5 -12
  80. package/dist/convex-hull/StructurePopup.svelte +17 -21
  81. package/dist/convex-hull/StructurePopup.svelte.d.ts +2 -0
  82. package/dist/convex-hull/TemperatureSlider.svelte +4 -10
  83. package/dist/convex-hull/barycentric-coords.d.ts +2 -4
  84. package/dist/convex-hull/barycentric-coords.js +6 -33
  85. package/dist/convex-hull/canvas-interactions.svelte.d.ts +79 -0
  86. package/dist/convex-hull/canvas-interactions.svelte.js +279 -0
  87. package/dist/convex-hull/helpers.d.ts +47 -17
  88. package/dist/convex-hull/helpers.js +186 -101
  89. package/dist/convex-hull/hull-state.svelte.d.ts +44 -0
  90. package/dist/convex-hull/hull-state.svelte.js +124 -0
  91. package/dist/convex-hull/index.d.ts +9 -7
  92. package/dist/convex-hull/index.js +7 -2
  93. package/dist/convex-hull/thermodynamics.js +109 -937
  94. package/dist/convex-hull/types.d.ts +12 -4
  95. package/dist/convex-hull/types.js +12 -0
  96. package/dist/coordination/CoordinationBarPlot.svelte +41 -43
  97. package/dist/coordination/CoordinationBarPlot.svelte.d.ts +1 -1
  98. package/dist/coordination/calc-coordination.d.ts +1 -1
  99. package/dist/coordination/calc-coordination.js +28 -25
  100. package/dist/element/BohrAtom.svelte +6 -8
  101. package/dist/element/ElementHeading.svelte +4 -1
  102. package/dist/element/ElementPhoto.svelte +11 -9
  103. package/dist/element/ElementStats.svelte +12 -10
  104. package/dist/element/ElementTile.svelte +24 -29
  105. package/dist/element/ElementTile.svelte.d.ts +1 -1
  106. package/dist/element/Nucleus.svelte +4 -2
  107. package/dist/element/data.d.ts +1 -2
  108. package/dist/element/helpers.d.ts +4 -0
  109. package/dist/element/helpers.js +18 -0
  110. package/dist/element/index.d.ts +1 -0
  111. package/dist/element/index.js +3 -0
  112. package/dist/feedback/DragOverlay.svelte +5 -3
  113. package/dist/feedback/DragOverlay.svelte.d.ts +2 -1
  114. package/dist/feedback/StatusMessage.svelte +20 -7
  115. package/dist/fermi-surface/FermiSlice.svelte +21 -18
  116. package/dist/fermi-surface/FermiSurface.svelte +78 -165
  117. package/dist/fermi-surface/FermiSurface.svelte.d.ts +9 -20
  118. package/dist/fermi-surface/FermiSurfaceControls.svelte +6 -20
  119. package/dist/fermi-surface/FermiSurfaceScene.svelte +93 -272
  120. package/dist/fermi-surface/FermiSurfaceScene.svelte.d.ts +3 -23
  121. package/dist/fermi-surface/FermiSurfaceTooltip.svelte +9 -6
  122. package/dist/fermi-surface/compute.js +14 -13
  123. package/dist/fermi-surface/export.js +4 -15
  124. package/dist/fermi-surface/index.d.ts +0 -1
  125. package/dist/fermi-surface/index.js +0 -1
  126. package/dist/fermi-surface/parse.d.ts +1 -1
  127. package/dist/fermi-surface/parse.js +84 -97
  128. package/dist/fermi-surface/types.d.ts +2 -2
  129. package/dist/heatmap-matrix/HeatmapMatrix.svelte +161 -185
  130. package/dist/heatmap-matrix/HeatmapMatrix.svelte.d.ts +6 -5
  131. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte +12 -9
  132. package/dist/heatmap-matrix/HeatmapMatrixControls.svelte.d.ts +5 -5
  133. package/dist/heatmap-matrix/index.d.ts +8 -2
  134. package/dist/icons.d.ts +4 -0
  135. package/dist/icons.js +4 -0
  136. package/dist/index.d.ts +1 -0
  137. package/dist/index.js +1 -0
  138. package/dist/io/ExportPane.svelte +170 -0
  139. package/dist/io/ExportPane.svelte.d.ts +17 -0
  140. package/dist/io/decompress.d.ts +2 -1
  141. package/dist/io/decompress.js +22 -36
  142. package/dist/io/export.d.ts +9 -1
  143. package/dist/io/export.js +37 -29
  144. package/dist/io/fetch.d.ts +2 -4
  145. package/dist/io/fetch.js +0 -11
  146. package/dist/io/file-drop.d.ts +7 -0
  147. package/dist/io/file-drop.js +13 -0
  148. package/dist/io/index.d.ts +1 -0
  149. package/dist/io/index.js +3 -0
  150. package/dist/io/is-binary.d.ts +9 -0
  151. package/dist/io/is-binary.js +45 -1
  152. package/dist/io/types.d.ts +13 -0
  153. package/dist/io/url-drop.js +13 -25
  154. package/dist/isosurface/Isosurface.svelte +17 -23
  155. package/dist/isosurface/IsosurfaceControls.svelte +37 -42
  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 +50 -48
  159. package/dist/labels.d.ts +6 -2
  160. package/dist/labels.js +44 -14
  161. package/dist/layout/FullscreenButton.svelte +34 -0
  162. package/dist/layout/FullscreenButton.svelte.d.ts +10 -0
  163. package/dist/layout/FullscreenToggle.svelte +12 -12
  164. package/dist/layout/InfoCard.svelte +7 -18
  165. package/dist/layout/InfoTag.svelte +1 -3
  166. package/dist/layout/NumberRangeInput.svelte +46 -0
  167. package/dist/layout/NumberRangeInput.svelte.d.ts +12 -0
  168. package/dist/layout/PropertyFilter.svelte +2 -6
  169. package/dist/layout/SettingsSection.svelte +21 -17
  170. package/dist/layout/SubpageGrid.svelte +3 -1
  171. package/dist/layout/ViewerChrome.svelte +115 -0
  172. package/dist/layout/ViewerChrome.svelte.d.ts +18 -0
  173. package/dist/layout/fullscreen.d.ts +4 -0
  174. package/dist/layout/fullscreen.js +3 -5
  175. package/dist/layout/fullscreen.svelte.d.ts +8 -0
  176. package/dist/layout/fullscreen.svelte.js +36 -0
  177. package/dist/layout/index.d.ts +4 -0
  178. package/dist/layout/index.js +4 -0
  179. package/dist/layout/json-tree/JsonNode.svelte +8 -11
  180. package/dist/layout/json-tree/JsonTree.svelte +53 -77
  181. package/dist/layout/json-tree/JsonValue.svelte +7 -15
  182. package/dist/layout/json-tree/utils.js +14 -23
  183. package/dist/math.d.ts +9 -3
  184. package/dist/math.js +37 -21
  185. package/dist/overlays/ContextMenu.svelte +4 -2
  186. package/dist/overlays/CopyButton.svelte +11 -5
  187. package/dist/overlays/DragControlTab.svelte +6 -1
  188. package/dist/overlays/DraggablePane.svelte +81 -26
  189. package/dist/overlays/DraggablePane.svelte.d.ts +1 -0
  190. package/dist/overlays/GlassChip.svelte +30 -0
  191. package/dist/overlays/GlassChip.svelte.d.ts +8 -0
  192. package/dist/overlays/InfoPaneCards.svelte +11 -23
  193. package/dist/overlays/index.d.ts +11 -0
  194. package/dist/overlays/index.js +26 -0
  195. package/dist/overlays/portal.d.ts +2 -0
  196. package/dist/overlays/portal.js +14 -0
  197. package/dist/periodic-table/PeriodicTable.svelte +115 -146
  198. package/dist/periodic-table/PeriodicTable.svelte.d.ts +5 -3
  199. package/dist/periodic-table/PeriodicTableControls.svelte +11 -63
  200. package/dist/periodic-table/TableInset.svelte +9 -4
  201. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte +50 -71
  202. package/dist/phase-diagram/IsobaricBinaryPhaseDiagram.svelte.d.ts +6 -8
  203. package/dist/phase-diagram/PhaseDiagramControls.svelte +73 -96
  204. package/dist/phase-diagram/PhaseDiagramControls.svelte.d.ts +4 -3
  205. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte +4 -2
  206. package/dist/phase-diagram/PhaseDiagramEditorPane.svelte.d.ts +2 -3
  207. package/dist/phase-diagram/PhaseDiagramExportPane.svelte +49 -134
  208. package/dist/phase-diagram/PhaseDiagramExportPane.svelte.d.ts +3 -4
  209. package/dist/phase-diagram/PhaseDiagramTooltip.svelte +54 -58
  210. package/dist/phase-diagram/TdbInfoPanel.svelte +21 -15
  211. package/dist/phase-diagram/build-diagram.js +3 -3
  212. package/dist/phase-diagram/colors.js +1 -1
  213. package/dist/phase-diagram/diagram-input.d.ts +1 -2
  214. package/dist/phase-diagram/parse.d.ts +2 -1
  215. package/dist/phase-diagram/parse.js +15 -15
  216. package/dist/phase-diagram/svg-to-diagram.js +21 -15
  217. package/dist/phase-diagram/utils.js +2 -3
  218. package/dist/plot/bar/BarPlot.svelte +494 -692
  219. package/dist/plot/bar/BarPlot.svelte.d.ts +9 -15
  220. package/dist/plot/bar/BarPlotControls.svelte +1 -3
  221. package/dist/plot/bar/BarPlotControls.svelte.d.ts +5 -7
  222. package/dist/plot/bar/SpacegroupBarPlot.svelte +31 -37
  223. package/dist/plot/bar/data.d.ts +5 -4
  224. package/dist/plot/bar/data.js +2 -1
  225. package/dist/plot/box/BoxPlot.svelte +361 -439
  226. package/dist/plot/box/BoxPlot.svelte.d.ts +6 -3
  227. package/dist/plot/box/BoxPlotControls.svelte.d.ts +1 -1
  228. package/dist/plot/box/Violin.svelte.d.ts +2 -1
  229. package/dist/plot/box/box-plot.d.ts +3 -2
  230. package/dist/plot/box/box-plot.js +6 -3
  231. package/dist/plot/box/kde.d.ts +2 -1
  232. package/dist/plot/box/kde.js +4 -4
  233. package/dist/plot/core/auto-place.d.ts +1 -1
  234. package/dist/plot/core/auto-place.js +5 -2
  235. package/dist/plot/core/axis-utils.d.ts +12 -7
  236. package/dist/plot/core/axis-utils.js +48 -48
  237. package/dist/plot/core/components/AxisLabel.svelte +82 -20
  238. package/dist/plot/core/components/AxisLabel.svelte.d.ts +1 -0
  239. package/dist/plot/core/components/ColorBar.svelte +106 -111
  240. package/dist/plot/core/components/ColorBar.svelte.d.ts +5 -4
  241. package/dist/plot/core/components/ColorScaleSelect.svelte +1 -1
  242. package/dist/plot/core/components/FillArea.svelte +10 -17
  243. package/dist/plot/core/components/HierarchyControls.svelte +249 -0
  244. package/dist/plot/{sunburst/SunburstControls.svelte.d.ts → core/components/HierarchyControls.svelte.d.ts} +12 -8
  245. package/dist/plot/core/components/InteractiveAxisLabel.svelte +1 -1
  246. package/dist/plot/core/components/InteractiveAxisLabel.svelte.d.ts +1 -1
  247. package/dist/plot/core/components/Line.svelte +21 -11
  248. package/dist/plot/core/components/Line.svelte.d.ts +5 -2
  249. package/dist/plot/core/components/PlotAxis.svelte +42 -18
  250. package/dist/plot/core/components/PlotAxis.svelte.d.ts +2 -1
  251. package/dist/plot/core/components/PlotControls.svelte +65 -41
  252. package/dist/plot/core/components/PlotControls.svelte.d.ts +1 -1
  253. package/dist/plot/core/components/PlotLegend.svelte +31 -35
  254. package/dist/plot/core/components/PlotMarginals.svelte +616 -0
  255. package/dist/plot/core/components/PlotMarginals.svelte.d.ts +15 -0
  256. package/dist/plot/core/components/PlotTooltip.svelte +1 -1
  257. package/dist/plot/core/components/PortalSelect.svelte +4 -8
  258. package/dist/plot/core/components/ReferenceLine.svelte +27 -24
  259. package/dist/plot/core/components/ReferenceLine3D.svelte +56 -59
  260. package/dist/plot/core/components/ReferenceLine3D.svelte.d.ts +4 -4
  261. package/dist/plot/core/components/ReferencePlane.svelte +9 -10
  262. package/dist/plot/core/components/ReferencePlane.svelte.d.ts +4 -4
  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 +29 -476
  271. package/dist/plot/core/data-transform.js +9 -5
  272. package/dist/plot/core/fill-utils.d.ts +7 -4
  273. package/dist/plot/core/fill-utils.js +34 -9
  274. package/dist/plot/core/index.d.ts +1 -0
  275. package/dist/plot/core/index.js +1 -0
  276. package/dist/plot/core/interactions.d.ts +5 -1
  277. package/dist/plot/core/interactions.js +14 -2
  278. package/dist/plot/core/layout.d.ts +3 -1
  279. package/dist/plot/core/layout.js +22 -13
  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 +35 -0
  283. package/dist/plot/core/pan-zoom.svelte.js +221 -0
  284. package/dist/plot/core/placed-tween.svelte.d.ts +21 -0
  285. package/dist/plot/core/placed-tween.svelte.js +68 -0
  286. package/dist/plot/core/reference-line.d.ts +10 -10
  287. package/dist/plot/core/reference-line.js +7 -7
  288. package/dist/plot/core/scales.d.ts +40 -25
  289. package/dist/plot/core/scales.js +49 -21
  290. package/dist/plot/core/svg.d.ts +2 -1
  291. package/dist/plot/core/types/fills.d.ts +101 -0
  292. package/dist/plot/core/types/fills.js +15 -0
  293. package/dist/plot/core/types/plot-3d.d.ts +87 -0
  294. package/dist/plot/core/types/plot-3d.js +4 -0
  295. package/dist/plot/core/types/reference-lines.d.ts +140 -0
  296. package/dist/plot/core/types/reference-lines.js +9 -0
  297. package/dist/plot/core/types.d.ts +47 -331
  298. package/dist/plot/core/types.js +23 -20
  299. package/dist/plot/core/utils/hierarchy-chart.d.ts +51 -0
  300. package/dist/plot/core/utils/hierarchy-chart.js +179 -0
  301. package/dist/plot/core/utils/hierarchy-labels.d.ts +20 -0
  302. package/dist/plot/core/utils/hierarchy-labels.js +99 -0
  303. package/dist/plot/core/utils/label-placement.d.ts +1 -1
  304. package/dist/plot/core/utils/label-placement.js +5 -5
  305. package/dist/plot/core/utils.d.ts +2 -1
  306. package/dist/plot/histogram/Histogram.svelte +373 -631
  307. package/dist/plot/histogram/Histogram.svelte.d.ts +7 -7
  308. package/dist/plot/histogram/HistogramControls.svelte +30 -28
  309. package/dist/plot/histogram/HistogramControls.svelte.d.ts +1 -1
  310. package/dist/plot/histogram/histogram.d.ts +31 -0
  311. package/dist/plot/histogram/histogram.js +70 -0
  312. package/dist/plot/histogram/index.d.ts +1 -0
  313. package/dist/plot/histogram/index.js +1 -0
  314. package/dist/plot/index.d.ts +1 -0
  315. package/dist/plot/index.js +1 -0
  316. package/dist/plot/sankey/Sankey.svelte +79 -73
  317. package/dist/plot/sankey/Sankey.svelte.d.ts +3 -3
  318. package/dist/plot/sankey/SankeyControls.svelte +22 -16
  319. package/dist/plot/sankey/sankey.js +3 -1
  320. package/dist/plot/scatter/BinnedScatterPlot.svelte +264 -112
  321. package/dist/plot/scatter/BinnedScatterPlot.svelte.d.ts +11 -4
  322. package/dist/plot/scatter/ElementScatter.svelte +4 -1
  323. package/dist/plot/scatter/ScatterPlot.svelte +623 -821
  324. package/dist/plot/scatter/ScatterPlot.svelte.d.ts +9 -15
  325. package/dist/plot/scatter/ScatterPlotControls.svelte +18 -19
  326. package/dist/plot/scatter/ScatterPlotControls.svelte.d.ts +1 -1
  327. package/dist/plot/scatter/ScatterPoint.svelte +16 -9
  328. package/dist/plot/scatter/binned-scatter-types.d.ts +6 -12
  329. package/dist/plot/scatter/binned-scatter-types.js +6 -1
  330. package/dist/plot/scatter/index.d.ts +1 -1
  331. package/dist/plot/scatter/scatter-data.d.ts +1 -1
  332. package/dist/plot/scatter/scatter-data.js +8 -7
  333. package/dist/plot/scatter-3d/ScatterPlot3D.svelte +40 -60
  334. package/dist/plot/scatter-3d/ScatterPlot3D.svelte.d.ts +6 -14
  335. package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte +17 -15
  336. package/dist/plot/scatter-3d/ScatterPlot3DControls.svelte.d.ts +5 -5
  337. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte +232 -234
  338. package/dist/plot/scatter-3d/ScatterPlot3DScene.svelte.d.ts +5 -14
  339. package/dist/plot/scatter-3d/Surface3D.svelte +9 -17
  340. package/dist/plot/scatter-3d/Surface3D.svelte.d.ts +4 -3
  341. package/dist/plot/sunburst/Sunburst.svelte +256 -338
  342. package/dist/plot/sunburst/Sunburst.svelte.d.ts +4 -3
  343. package/dist/plot/sunburst/index.d.ts +1 -1
  344. package/dist/plot/sunburst/index.js +2 -1
  345. package/dist/plot/sunburst/render.d.ts +2 -2
  346. package/dist/plot/sunburst/render.js +47 -22
  347. package/dist/plot/sunburst/sunburst.d.ts +5 -1
  348. package/dist/plot/sunburst/sunburst.js +14 -4
  349. package/dist/plot/treemap/Treemap.svelte +907 -0
  350. package/dist/plot/treemap/Treemap.svelte.d.ts +84 -0
  351. package/dist/plot/treemap/index.d.ts +3 -0
  352. package/dist/plot/treemap/index.js +4 -0
  353. package/dist/plot/treemap/treemap.d.ts +26 -0
  354. package/dist/plot/treemap/treemap.js +99 -0
  355. package/dist/rdf/RdfPlot.svelte +22 -26
  356. package/dist/rdf/RdfPlot.svelte.d.ts +1 -1
  357. package/dist/rdf/calc-rdf.js +4 -8
  358. package/dist/sanitize.js +14 -3
  359. package/dist/scene/SceneCamera.svelte +62 -0
  360. package/dist/scene/SceneCamera.svelte.d.ts +19 -0
  361. package/dist/scene/bind-renderer.svelte.d.ts +2 -0
  362. package/dist/scene/bind-renderer.svelte.js +22 -0
  363. package/dist/scene/index.d.ts +4 -0
  364. package/dist/scene/index.js +5 -0
  365. package/dist/scene/props.js +52 -0
  366. package/dist/scene/types.d.ts +26 -0
  367. package/dist/scene/types.js +1 -0
  368. package/dist/settings.d.ts +33 -11
  369. package/dist/settings.js +136 -51
  370. package/dist/spectral/Bands.svelte +231 -237
  371. package/dist/spectral/Bands.svelte.d.ts +3 -2
  372. package/dist/spectral/BandsAndDos.svelte +29 -29
  373. package/dist/spectral/BrillouinBandsDos.svelte +21 -29
  374. package/dist/spectral/Dos.svelte +75 -77
  375. package/dist/spectral/Dos.svelte.d.ts +2 -1
  376. package/dist/spectral/helpers.d.ts +9 -9
  377. package/dist/spectral/helpers.js +66 -70
  378. package/dist/state.svelte.d.ts +0 -7
  379. package/dist/state.svelte.js +5 -24
  380. package/dist/structure/Arrow.svelte +6 -21
  381. package/dist/structure/ArrowInstances.svelte +160 -0
  382. package/dist/structure/ArrowInstances.svelte.d.ts +16 -0
  383. package/dist/structure/AtomLegend.svelte +115 -75
  384. package/dist/structure/AtomLegend.svelte.d.ts +1 -1
  385. package/dist/structure/Bond.svelte +31 -23
  386. package/dist/structure/CanvasTooltip.svelte +16 -3
  387. package/dist/structure/CellSelect.svelte +22 -29
  388. package/dist/structure/CellSelect.svelte.d.ts +2 -1
  389. package/dist/structure/Cylinder.svelte +24 -40
  390. package/dist/structure/InstancedAtoms.svelte +114 -0
  391. package/dist/structure/InstancedAtoms.svelte.d.ts +15 -0
  392. package/dist/structure/Lattice.svelte +85 -149
  393. package/dist/structure/SiteLabels.svelte +122 -0
  394. package/dist/structure/SiteLabels.svelte.d.ts +18 -0
  395. package/dist/structure/Structure.svelte +725 -735
  396. package/dist/structure/Structure.svelte.d.ts +8 -16
  397. package/dist/structure/StructureCarousel.svelte +630 -0
  398. package/dist/structure/StructureCarousel.svelte.d.ts +19 -0
  399. package/dist/structure/StructureControls.svelte +298 -325
  400. package/dist/structure/StructureControls.svelte.d.ts +5 -3
  401. package/dist/structure/StructureExportPane.svelte +62 -168
  402. package/dist/structure/StructureExportPane.svelte.d.ts +4 -5
  403. package/dist/structure/StructureInfoPane.svelte +77 -69
  404. package/dist/structure/StructureInfoPane.svelte.d.ts +6 -6
  405. package/dist/structure/StructureScene.svelte +758 -600
  406. package/dist/structure/StructureScene.svelte.d.ts +24 -20
  407. package/dist/structure/StructureViewport.svelte +386 -0
  408. package/dist/structure/StructureViewport.svelte.d.ts +63 -0
  409. package/dist/structure/atom-label-placement.d.ts +18 -0
  410. package/dist/structure/atom-label-placement.js +115 -0
  411. package/dist/structure/atom-properties.d.ts +3 -1
  412. package/dist/structure/atom-properties.js +115 -54
  413. package/dist/structure/bond-order-perception.js +2 -4
  414. package/dist/structure/bonding.d.ts +12 -2
  415. package/dist/structure/bonding.js +172 -73
  416. package/dist/structure/edit-history.d.ts +6 -0
  417. package/dist/structure/edit-history.js +27 -0
  418. package/dist/structure/export.d.ts +25 -4
  419. package/dist/structure/export.js +103 -153
  420. package/dist/structure/format-detect.d.ts +1 -0
  421. package/dist/structure/format-detect.js +22 -0
  422. package/dist/structure/geometry.d.ts +9 -0
  423. package/dist/structure/geometry.js +27 -0
  424. package/dist/structure/index.d.ts +18 -1
  425. package/dist/structure/index.js +15 -2
  426. package/dist/structure/measure.d.ts +1 -1
  427. package/dist/structure/measure.js +6 -12
  428. package/dist/structure/parse.d.ts +5 -3
  429. package/dist/structure/parse.js +551 -567
  430. package/dist/structure/partial-occupancy.d.ts +0 -1
  431. package/dist/structure/partial-occupancy.js +5 -3
  432. package/dist/structure/pbc.d.ts +1 -1
  433. package/dist/structure/pbc.js +204 -51
  434. package/dist/structure/polyhedra.d.ts +40 -0
  435. package/dist/structure/polyhedra.js +587 -0
  436. package/dist/structure/site.d.ts +4 -0
  437. package/dist/structure/site.js +1 -0
  438. package/dist/structure/supercell.d.ts +1 -2
  439. package/dist/structure/supercell.js +10 -15
  440. package/dist/structure/validation.js +5 -6
  441. package/dist/symmetry/SymmetryElementControls.svelte +69 -0
  442. package/dist/symmetry/SymmetryElementControls.svelte.d.ts +9 -0
  443. package/dist/symmetry/SymmetryElements.svelte +350 -0
  444. package/dist/symmetry/SymmetryElements.svelte.d.ts +24 -0
  445. package/dist/symmetry/SymmetryStats.svelte +142 -49
  446. package/dist/symmetry/WyckoffTable.svelte +58 -16
  447. package/dist/symmetry/WyckoffTable.svelte.d.ts +3 -0
  448. package/dist/symmetry/cell-transform.js +8 -14
  449. package/dist/symmetry/index.d.ts +15 -4
  450. package/dist/symmetry/index.js +308 -81
  451. package/dist/symmetry/spacegroups.d.ts +5 -1
  452. package/dist/symmetry/spacegroups.js +18 -3
  453. package/dist/symmetry/symmetry-elements.d.ts +33 -0
  454. package/dist/symmetry/symmetry-elements.js +521 -0
  455. package/dist/symmetry/wyckoff-db.d.ts +9 -0
  456. package/dist/symmetry/wyckoff-db.js +87 -0
  457. package/dist/table/HeatmapTable.svelte +1104 -378
  458. package/dist/table/HeatmapTable.svelte.d.ts +12 -2
  459. package/dist/table/ToggleMenu.svelte +5 -12
  460. package/dist/table/index.d.ts +21 -6
  461. package/dist/table/index.js +34 -21
  462. package/dist/theme/ThemeControl.svelte +16 -8
  463. package/dist/theme/index.d.ts +1 -5
  464. package/dist/theme/index.js +4 -10
  465. package/dist/theme/themes.mjs +14 -7
  466. package/dist/tooltip/KCoords.svelte +4 -1
  467. package/dist/tooltip/TooltipContent.svelte +2 -5
  468. package/dist/trajectory/Trajectory.svelte +556 -352
  469. package/dist/trajectory/Trajectory.svelte.d.ts +10 -22
  470. package/dist/trajectory/TrajectoryError.svelte +11 -8
  471. package/dist/trajectory/TrajectoryExportPane.svelte +28 -54
  472. package/dist/trajectory/TrajectoryExportPane.svelte.d.ts +4 -5
  473. package/dist/trajectory/TrajectoryInfoPane.svelte +88 -99
  474. package/dist/trajectory/TrajectoryInfoPane.svelte.d.ts +3 -2
  475. package/dist/trajectory/constants.js +6 -2
  476. package/dist/trajectory/extract.js +73 -71
  477. package/dist/trajectory/format-detect.d.ts +0 -1
  478. package/dist/trajectory/format-detect.js +13 -17
  479. package/dist/trajectory/frame-reader.d.ts +2 -1
  480. package/dist/trajectory/frame-reader.js +74 -136
  481. package/dist/trajectory/helpers.d.ts +12 -2
  482. package/dist/trajectory/helpers.js +68 -37
  483. package/dist/trajectory/index.d.ts +1 -0
  484. package/dist/trajectory/index.js +3 -0
  485. package/dist/trajectory/parse/ase.d.ts +9 -1
  486. package/dist/trajectory/parse/ase.js +47 -32
  487. package/dist/trajectory/parse/diagnostics.d.ts +3 -0
  488. package/dist/trajectory/parse/diagnostics.js +14 -0
  489. package/dist/trajectory/parse/h5-utils.d.ts +13 -0
  490. package/dist/trajectory/parse/h5-utils.js +109 -0
  491. package/dist/trajectory/parse/hdf5.d.ts +1 -1
  492. package/dist/trajectory/parse/hdf5.js +116 -106
  493. package/dist/trajectory/parse/index.d.ts +3 -4
  494. package/dist/trajectory/parse/index.js +68 -119
  495. package/dist/trajectory/parse/lammps.d.ts +0 -2
  496. package/dist/trajectory/parse/lammps.js +14 -16
  497. package/dist/trajectory/parse/pymatgen.d.ts +2 -0
  498. package/dist/trajectory/parse/pymatgen.js +74 -0
  499. package/dist/trajectory/parse/vasp.js +13 -9
  500. package/dist/trajectory/parse/vaspout-electronic.d.ts +13 -0
  501. package/dist/trajectory/parse/vaspout-electronic.js +207 -0
  502. package/dist/trajectory/parse/vaspout-h5.d.ts +5 -0
  503. package/dist/trajectory/parse/vaspout-h5.js +284 -0
  504. package/dist/trajectory/parse/xyz.d.ts +9 -21
  505. package/dist/trajectory/parse/xyz.js +38 -39
  506. package/dist/trajectory/plotting.d.ts +8 -10
  507. package/dist/trajectory/plotting.js +102 -127
  508. package/dist/utils.d.ts +4 -0
  509. package/dist/utils.js +8 -1
  510. package/dist/xrd/XrdPlot.svelte +56 -85
  511. package/dist/xrd/broadening.d.ts +2 -1
  512. package/dist/xrd/broadening.js +2 -1
  513. package/dist/xrd/calc-xrd.js +8 -15
  514. package/dist/xrd/index.d.ts +2 -2
  515. package/dist/xrd/parse.d.ts +0 -1
  516. package/dist/xrd/parse.js +56 -73
  517. package/package.json +77 -36
  518. package/dist/api/mp.d.ts +0 -6
  519. package/dist/api/mp.js +0 -22
  520. package/dist/element/data.json +0 -11864
  521. package/dist/fermi-surface/marching-cubes.d.ts +0 -2
  522. package/dist/fermi-surface/marching-cubes.js +0 -2
  523. package/dist/plot/core/hover-lock.svelte.d.ts +0 -14
  524. package/dist/plot/core/hover-lock.svelte.js +0 -45
  525. package/dist/plot/sunburst/SunburstControls.svelte +0 -200
  526. package/dist/structure/label-placement.d.ts +0 -14
  527. package/dist/structure/label-placement.js +0 -72
@@ -1,12 +1,14 @@
1
+ import type { PaneProps, PaneToggleProps } from '../../overlays';
2
+ import type { D3ColorSchemeName, D3InterpolateName } from '../../colors';
1
3
  import type { D3SymbolName } from '../../labels';
2
- import type { Point2D, Point3D, Vec2, Vec3 } from '../../math';
3
- import type DraggablePane from '../../overlays/DraggablePane.svelte';
4
+ import type { Point2D, Vec2 } from '../../math';
4
5
  import type { ComponentProps, Snippet } from 'svelte';
5
6
  import type { HTMLAttributes } from 'svelte/elements';
6
7
  import type { TweenOptions } from 'svelte/motion';
7
8
  import type { Sides } from './layout';
8
9
  import type PlotLegend from './components/PlotLegend.svelte';
9
10
  import type { TicksOption } from './scales';
11
+ import type { FillGradient } from './types/fills';
10
12
  export type { TweenOptions } from 'svelte/motion';
11
13
  export type { BandwidthOption, BoxHandlerProps, BoxPlotSeries, ViolinKind, ViolinSide, WhiskerMode, } from '../box/box-plot';
12
14
  export type { CleaningConfig, CleaningQuality, CleaningResult, InstabilityResult, InvalidValueMode, LocalOutlierConfig, LocalOutlierResult, OscillationWeights, PhysicalBounds, SmoothingConfig, TruncationMode, } from './data-cleaning';
@@ -78,6 +80,7 @@ export interface BarStyle {
78
80
  ry?: number;
79
81
  [key: string]: unknown;
80
82
  }
83
+ export type LineCurve = `linear` | `monotone` | `natural` | `step` | `basis` | `catmull-rom`;
81
84
  export interface LineStyle {
82
85
  color?: string;
83
86
  width?: number;
@@ -112,10 +115,12 @@ export interface DataSeries<Metadata = Record<string, unknown>> {
112
115
  label?: string;
113
116
  legend_group?: string;
114
117
  unit?: string;
118
+ axis_group?: string;
115
119
  line_style?: {
116
120
  stroke?: string;
117
121
  stroke_width?: number;
118
122
  line_dash?: string;
123
+ curve?: LineCurve;
119
124
  };
120
125
  filtered_data?: InternalPoint<Metadata>[];
121
126
  _id?: string | number;
@@ -189,6 +194,37 @@ export interface ArcsinhScaleConfig {
189
194
  threshold?: number;
190
195
  }
191
196
  export type ScaleType = `linear` | `log` | `arcsinh` | `time` | ArcsinhScaleConfig;
197
+ export type ColorScaleConfig = {
198
+ type?: ScaleType;
199
+ scheme?: D3ColorSchemeName | D3InterpolateName;
200
+ value_range?: Vec2;
201
+ };
202
+ export type SizeScaleConfig = {
203
+ type?: ScaleType;
204
+ radius_range?: Vec2;
205
+ value_range?: Vec2;
206
+ };
207
+ export declare const COLOR_BAR_DEFAULTS: {
208
+ readonly width: 220;
209
+ readonly horizontal_bar_height: 16;
210
+ readonly binned_bar_height: 10;
211
+ readonly horizontal_footprint: {
212
+ readonly width: 220;
213
+ readonly height: 56;
214
+ };
215
+ readonly vertical_footprint: {
216
+ readonly width: 56;
217
+ readonly height: 100;
218
+ };
219
+ };
220
+ export declare const SCALE_DEFAULTS: {
221
+ scheme: D3InterpolateName;
222
+ color: ColorScaleConfig;
223
+ radius: Vec2;
224
+ binned_radius: Vec2;
225
+ size: SizeScaleConfig;
226
+ size_3d: SizeScaleConfig;
227
+ };
192
228
  export declare const is_scale_type_name: (val: string) => val is ScaleTypeName;
193
229
  export declare function get_scale_type_name(scale_type: ScaleType | undefined): ScaleTypeName;
194
230
  export declare function get_arcsinh_threshold(scale_type: ScaleType | undefined): number;
@@ -384,8 +420,8 @@ export interface PlotConfig {
384
420
  export interface ControlsConfig {
385
421
  show?: boolean;
386
422
  open?: boolean;
387
- toggle_props?: ComponentProps<typeof DraggablePane>[`toggle_props`];
388
- pane_props?: ComponentProps<typeof DraggablePane>[`pane_props`];
423
+ toggle_props?: PaneToggleProps;
424
+ pane_props?: PaneProps;
389
425
  }
390
426
  export interface PanConfig {
391
427
  enabled?: boolean;
@@ -412,8 +448,8 @@ export interface PlotControlsProps extends PlotConfig {
412
448
  show_ticks?: boolean;
413
449
  controls_title?: string;
414
450
  controls_class?: string;
415
- toggle_props?: ComponentProps<typeof DraggablePane>[`toggle_props`];
416
- pane_props?: ComponentProps<typeof DraggablePane>[`pane_props`];
451
+ toggle_props?: PaneToggleProps;
452
+ pane_props?: PaneProps;
417
453
  }
418
454
  export interface BasePlotProps {
419
455
  range_padding?: number;
@@ -421,8 +457,8 @@ export interface BasePlotProps {
421
457
  hovered?: boolean;
422
458
  show_controls?: boolean;
423
459
  controls_open?: boolean;
424
- controls_toggle_props?: ComponentProps<typeof DraggablePane>[`toggle_props`];
425
- controls_pane_props?: ComponentProps<typeof DraggablePane>[`pane_props`];
460
+ controls_toggle_props?: PaneToggleProps;
461
+ controls_pane_props?: PaneProps;
426
462
  fullscreen?: boolean;
427
463
  fullscreen_toggle?: boolean;
428
464
  change?: (data: Record<string, unknown> | null) => void;
@@ -446,326 +482,6 @@ export declare const DEFAULT_GRID_STYLE: {
446
482
  export declare const DEFAULT_MARKERS: "line+points";
447
483
  export declare const DEFAULT_SERIES_COLORS: readonly ["#4e79a7", "#f28e2c", "#e15759", "#76b7b2", "#59a14f", "#edc949", "#af7aa1", "#ff9da7", "#9c755f", "#bab0ab"];
448
484
  export declare const DEFAULT_SERIES_SYMBOLS: readonly ["Circle", "Square", "Triangle", "Cross", "Diamond", "Star", "Wye"];
449
- export interface ScatterPoint3D<Metadata = Record<string, unknown>> extends Point<Metadata> {
450
- z: number;
451
- }
452
- export interface DataSeries3D<Metadata = Record<string, unknown>> extends Omit<DataSeries<Metadata>, `y_axis` | `filtered_data`> {
453
- z: readonly number[];
454
- filtered_data?: InternalPoint3D<Metadata>[];
455
- }
456
- export interface InternalPoint3D<Metadata = Record<string, unknown>> extends ScatterPoint3D<Metadata> {
457
- series_idx: number;
458
- point_idx: number;
459
- color_value?: number | null;
460
- size_value?: number | null;
461
- point_style?: PointStyle;
462
- }
463
- export type SurfaceType = `grid` | `parametric` | `triangulated`;
464
- export interface Surface3DConfig {
465
- id?: string | number;
466
- type: SurfaceType;
467
- x_range?: Vec2;
468
- y_range?: Vec2;
469
- resolution?: number | Vec2;
470
- z_fn?: (x: number, y: number) => number;
471
- u_range?: Vec2;
472
- v_range?: Vec2;
473
- parametric_fn?: (u: number, v: number) => Point3D;
474
- points?: Point3D[];
475
- triangles?: Vec3[];
476
- color?: string;
477
- color_fn?: (x: number, y: number, z: number) => string;
478
- opacity?: number;
479
- wireframe?: boolean;
480
- wireframe_color?: string;
481
- wireframe_width?: number;
482
- visible?: boolean;
483
- double_sided?: boolean;
484
- }
485
- export interface AxisConfig3D extends AxisConfig {
486
- show_plane?: boolean;
487
- plane_opacity?: number;
488
- }
489
- export interface DisplayConfig3D extends DisplayConfig {
490
- z_grid?: boolean;
491
- z_zero_line?: boolean;
492
- show_axes?: boolean;
493
- show_axis_labels?: boolean;
494
- show_bounding_box?: boolean;
495
- show_grid?: boolean;
496
- projections?: {
497
- xy?: boolean;
498
- xz?: boolean;
499
- yz?: boolean;
500
- };
501
- projection_opacity?: number;
502
- projection_scale?: number;
503
- }
504
- export interface Scatter3DHandlerProps<Metadata = Record<string, unknown>> extends Omit<HandlerProps<Metadata>, `x_axis` | `x2_axis` | `y_axis` | `y2_axis`> {
505
- z: number;
506
- x_axis: AxisConfig3D;
507
- y_axis: AxisConfig3D;
508
- z_axis: AxisConfig3D;
509
- x_formatted: string;
510
- y_formatted: string;
511
- z_formatted: string;
512
- color_value?: number | null;
513
- }
514
- export type Scatter3DHandlerEvent<Metadata = Record<string, unknown>> = Scatter3DHandlerProps<Metadata> & {
515
- event?: MouseEvent;
516
- point: InternalPoint3D<Metadata>;
517
- };
518
- export type CameraProjection3D = `perspective` | `orthographic`;
519
- export interface PlotConfig3D {
520
- x_axis?: AxisConfig3D;
521
- y_axis?: AxisConfig3D;
522
- z_axis?: AxisConfig3D;
523
- display?: DisplayConfig3D;
524
- }
525
- export interface StyleOverrides3D extends StyleOverrides {
526
- point?: StyleOverrides[`point`] & {
527
- sphere_segments?: number;
528
- };
529
- }
530
- export interface ControlsConfig3D extends ControlsConfig {
531
- show_camera_controls?: boolean;
532
- show_surface_controls?: boolean;
533
- }
534
- export type FillBoundary = {
535
- type: `series`;
536
- series_idx: number;
537
- } | {
538
- type: `series`;
539
- series_id: string | number;
540
- } | {
541
- type: `constant`;
542
- value: number;
543
- } | {
544
- type: `axis`;
545
- axis: `x` | `x2` | `y` | `y2`;
546
- value?: number;
547
- } | {
548
- type: `function`;
549
- fn: (coord: number) => number;
550
- } | {
551
- type: `data`;
552
- values: readonly number[];
553
- x?: readonly number[];
554
- } | number;
555
- export interface FillGradient {
556
- type: `linear` | `radial`;
557
- angle?: number;
558
- center?: {
559
- x: number;
560
- y: number;
561
- };
562
- stops: readonly [number, string][];
563
- }
564
- export interface FillEdgeStyle {
565
- color?: string;
566
- width?: number;
567
- dash?: string;
568
- opacity?: number;
569
- }
570
- export interface FillHoverStyle {
571
- fill?: string;
572
- fill_opacity?: number;
573
- edge?: FillEdgeStyle;
574
- cursor?: string;
575
- scale?: number;
576
- stroke?: string;
577
- stroke_width?: number;
578
- }
579
- export interface FillHandlerEvent {
580
- event: MouseEvent | KeyboardEvent;
581
- region_idx: number;
582
- region_id?: string | number;
583
- x: number;
584
- y: number;
585
- px: number;
586
- py: number;
587
- label?: string;
588
- metadata?: Record<string, unknown>;
589
- }
590
- export type LayerZIndex = `below-grid` | `below-lines` | `below-points` | `above-all`;
591
- export declare const FILL_CURVE_TYPES: readonly ["linear", "monotoneX", "monotoneY", "step", "stepBefore", "stepAfter", "basis", "cardinal", "catmullRom", "natural"];
592
- export type FillCurveType = (typeof FILL_CURVE_TYPES)[number];
593
- export interface FillRegion {
594
- id?: string | number;
595
- label?: string;
596
- upper: FillBoundary;
597
- lower: FillBoundary;
598
- x_range?: [number | null, number | null];
599
- y_range?: [number | null, number | null];
600
- where?: (x: number, y_upper: number, y_lower: number) => boolean;
601
- fill?: string | FillGradient;
602
- fill_opacity?: number;
603
- edge_upper?: FillEdgeStyle;
604
- edge_lower?: FillEdgeStyle;
605
- curve?: FillCurveType;
606
- step_position?: number;
607
- z_index?: LayerZIndex;
608
- visible?: boolean;
609
- hover_style?: FillHoverStyle;
610
- on_click?: (event: FillHandlerEvent) => void;
611
- on_hover?: (event: FillHandlerEvent | null) => void;
612
- show_in_legend?: boolean;
613
- legend_group?: string;
614
- metadata?: Record<string, unknown>;
615
- }
616
- export interface ErrorBand {
617
- series: {
618
- type: `series`;
619
- series_idx: number;
620
- } | {
621
- type: `series`;
622
- series_id: string | number;
623
- };
624
- error: number | readonly number[] | {
625
- upper: number | readonly number[];
626
- lower: number | readonly number[];
627
- };
628
- fill?: string;
629
- fill_opacity?: number;
630
- edge_style?: FillEdgeStyle;
631
- id?: string | number;
632
- label?: string;
633
- show_in_legend?: boolean;
634
- }
635
- export interface RefLineStyle {
636
- color?: string;
637
- width?: number;
638
- dash?: string;
639
- opacity?: number;
640
- }
641
- export interface RefLineAnnotation {
642
- text: string;
643
- position?: `start` | `center` | `end`;
644
- side?: `above` | `below` | `left` | `right`;
645
- offset?: {
646
- x?: number;
647
- y?: number;
648
- };
649
- gap?: number;
650
- edge_padding?: number;
651
- font_size?: string;
652
- font_family?: string;
653
- color?: string;
654
- background?: string;
655
- padding?: number;
656
- rotate?: boolean;
657
- }
658
- export interface RefLineEvent {
659
- event: MouseEvent | KeyboardEvent | FocusEvent;
660
- line_idx: number;
661
- line_id?: string | number;
662
- type: RefLine[`type`];
663
- label?: string;
664
- metadata?: Record<string, unknown>;
665
- }
666
- export interface RefLineBase {
667
- id?: string | number;
668
- x_span?: [number | null, number | null];
669
- y_span?: [number | null, number | null];
670
- coord_mode?: `data` | `relative`;
671
- x_axis?: `x1` | `x2`;
672
- y_axis?: `y1` | `y2`;
673
- style?: RefLineStyle;
674
- annotation?: RefLineAnnotation;
675
- z_index?: LayerZIndex;
676
- visible?: boolean;
677
- hover_style?: RefLineStyle;
678
- on_click?: (event: RefLineEvent) => void;
679
- on_hover?: (event: RefLineEvent | null) => void;
680
- show_in_legend?: boolean;
681
- label?: string;
682
- legend_group?: string;
683
- metadata?: Record<string, unknown>;
684
- }
685
- export type RefLineValue = number | Date | string;
686
- export type RefLine = RefLineBase & ({
687
- type: `horizontal`;
688
- y: RefLineValue;
689
- } | {
690
- type: `vertical`;
691
- x: RefLineValue;
692
- } | {
693
- type: `diagonal`;
694
- slope: number;
695
- intercept: number;
696
- } | {
697
- type: `segment`;
698
- p1: [RefLineValue, RefLineValue];
699
- p2: [RefLineValue, RefLineValue];
700
- } | {
701
- type: `line`;
702
- p1: [RefLineValue, RefLineValue];
703
- p2: [RefLineValue, RefLineValue];
704
- });
705
- export declare const REF_LINE_STYLE_DEFAULTS: Required<RefLineStyle>;
706
- type Ref3DBase = Omit<RefLineBase, `coord_mode` | `x_axis` | `y_axis` | `style` | `hover_style` | `annotation` | `on_click` | `on_hover`> & {
707
- z_span?: [number | null, number | null];
708
- };
709
- export interface RefLine3DBase extends Ref3DBase {
710
- style?: RefLineStyle;
711
- hover_style?: RefLineStyle;
712
- annotation?: RefLineAnnotation;
713
- on_click?: (event: {
714
- line_idx: number;
715
- line_id?: string | number;
716
- }) => void;
717
- on_hover?: (event: {
718
- line_idx: number;
719
- line_id?: string | number;
720
- } | null) => void;
721
- }
722
- export type RefLine3D = RefLine3DBase & ({
723
- type: `x-axis`;
724
- y: number;
725
- z: number;
726
- } | {
727
- type: `y-axis`;
728
- x: number;
729
- z: number;
730
- } | {
731
- type: `z-axis`;
732
- x: number;
733
- y: number;
734
- } | {
735
- type: `segment`;
736
- p1: Vec3;
737
- p2: Vec3;
738
- } | {
739
- type: `line`;
740
- p1: Vec3;
741
- p2: Vec3;
742
- });
743
- export interface RefPlaneStyle {
744
- color?: string;
745
- opacity?: number;
746
- wireframe?: boolean;
747
- wireframe_color?: string;
748
- double_sided?: boolean;
749
- }
750
- export interface RefPlaneBase extends Ref3DBase {
751
- style?: RefPlaneStyle;
752
- }
753
- export type RefPlane = RefPlaneBase & ({
754
- type: `xy`;
755
- z: number;
756
- } | {
757
- type: `xz`;
758
- y: number;
759
- } | {
760
- type: `yz`;
761
- x: number;
762
- } | {
763
- type: `normal`;
764
- normal: Vec3;
765
- point: Vec3;
766
- } | {
767
- type: `points`;
768
- p1: Vec3;
769
- p2: Vec3;
770
- p3: Vec3;
771
- });
485
+ export type * from './types/plot-3d';
486
+ export * from './types/fills';
487
+ export * from './types/reference-lines';
@@ -1,3 +1,24 @@
1
+ // Shared defaults for color/size scales and colorbar layout (scatter, bar, binned-scatter, …)
2
+ const COLOR_BAR_WIDTH = 220;
3
+ export const COLOR_BAR_DEFAULTS = {
4
+ width: COLOR_BAR_WIDTH,
5
+ horizontal_bar_height: 16,
6
+ binned_bar_height: 10,
7
+ horizontal_footprint: { width: COLOR_BAR_WIDTH, height: 56 },
8
+ vertical_footprint: { width: 56, height: 100 },
9
+ };
10
+ // Shared color/size scale defaults for scatter, scatter-3d, binned-scatter, bar, …
11
+ const VIRIDIS = `interpolateViridis`;
12
+ const SCATTER_RADIUS = [2, 10];
13
+ const BINNED_RADIUS = [4, 12];
14
+ export const SCALE_DEFAULTS = {
15
+ scheme: VIRIDIS,
16
+ color: { type: `linear`, scheme: VIRIDIS, value_range: undefined },
17
+ radius: SCATTER_RADIUS,
18
+ binned_radius: BINNED_RADIUS,
19
+ size: { type: `linear`, radius_range: SCATTER_RADIUS, value_range: undefined },
20
+ size_3d: { type: `linear`, radius_range: [0.05, 0.2], value_range: undefined },
21
+ };
1
22
  // Type guard for select value narrowing (avoids unsafe casts)
2
23
  const SCALE_TYPE_NAMES = new Set([`linear`, `log`, `arcsinh`, `time`]);
3
24
  export const is_scale_type_name = (val) => SCALE_TYPE_NAMES.has(val);
@@ -77,23 +98,5 @@ export const DEFAULT_SERIES_SYMBOLS = [
77
98
  `Star`,
78
99
  `Wye`,
79
100
  ];
80
- // Curve types supported for fill path generation (matching d3-shape curves)
81
- export const FILL_CURVE_TYPES = [
82
- `linear`,
83
- `monotoneX`,
84
- `monotoneY`,
85
- `step`,
86
- `stepBefore`,
87
- `stepAfter`,
88
- `basis`,
89
- `cardinal`,
90
- `catmullRom`,
91
- `natural`,
92
- ];
93
- // Default style values for reference lines
94
- export const REF_LINE_STYLE_DEFAULTS = {
95
- color: `currentColor`,
96
- width: 1,
97
- dash: ``,
98
- opacity: 1,
99
- };
101
+ export * from './types/fills';
102
+ export * from './types/reference-lines';
@@ -0,0 +1,51 @@
1
+ import type { D3InterpolateName } from '../../../colors';
2
+ import type { Vec2 } from '../../../math';
3
+ import type { LegendItem } from '../types';
4
+ import type { PositionedArc, SunburstLabelText, SunburstLayoutOptions, SunburstLayoutResult, SunburstNode, SunburstNodeHandlerProps } from '../../sunburst/sunburst';
5
+ export declare function safe_hierarchy_layout<Metadata>(data: SunburstNode<Metadata> | SunburstNode<Metadata>[], opts: SunburstLayoutOptions): SunburstLayoutResult<Metadata>;
6
+ export declare function compute_metric_colors<Metadata>(arcs: readonly PositionedArc<Metadata>[], color_values: ((arc: PositionedArc<Metadata>) => number | null) | undefined, color_scale: D3InterpolateName, color_range?: Vec2): {
7
+ range: Vec2;
8
+ colors: string[];
9
+ } | null;
10
+ export declare function compute_node_dim<Metadata>(arcs: readonly PositionedArc<Metadata>[], muted_ids: ReadonlySet<string | number>, hovered_idx: number | null): {
11
+ opacity: number;
12
+ label_opacity: number | undefined;
13
+ }[];
14
+ export declare function prune_muted_ids<Metadata>(arcs: readonly PositionedArc<Metadata>[], muted_ids: Set<string | number>): void;
15
+ export declare function toggle_muted(muted_ids: Set<string | number>, id: string | number | undefined): void;
16
+ export declare function hierarchy_legend_items<Metadata>(depth1_arcs: readonly PositionedArc<Metadata>[], muted_ids: ReadonlySet<string | number>, color_for: (arc: PositionedArc<Metadata>) => string): LegendItem[];
17
+ export declare function node_handler_props<Metadata>(arcs: readonly PositionedArc<Metadata>[], arc: PositionedArc<Metadata>, color: string): SunburstNodeHandlerProps<Metadata>;
18
+ export declare function selection_within(wrapper: HTMLElement | undefined): boolean;
19
+ export declare function ancestor_chain<Metadata>(arcs: readonly PositionedArc<Metadata>[], zoom_root: PositionedArc<Metadata> | null): PositionedArc<Metadata>[];
20
+ export interface HierarchyNodeInfo {
21
+ variants: {
22
+ text: string;
23
+ width: number;
24
+ }[];
25
+ aria: string;
26
+ fill: string;
27
+ label_fill: string;
28
+ clickable?: boolean;
29
+ }
30
+ export declare function compute_node_infos<Metadata>(arcs: readonly PositionedArc<Metadata>[], opts: {
31
+ label_text: SunburstLabelText;
32
+ value_format: string;
33
+ label_font: string;
34
+ color_for: (arc: PositionedArc<Metadata>) => string;
35
+ text_width: (text: string, font: string) => number;
36
+ contrast: (fill: string) => string;
37
+ clickable?: (arc: PositionedArc<Metadata>) => boolean;
38
+ }): HierarchyNodeInfo[];
39
+ export declare function svg_label_font(svg_element: SVGSVGElement | null): string;
40
+ export declare const pointer_pos: (event: MouseEvent | FocusEvent | undefined, svg_element: SVGSVGElement | null) => {
41
+ x: number;
42
+ y: number;
43
+ } | null;
44
+ export declare const is_activation_key: (evt: KeyboardEvent) => boolean;
45
+ export declare function handle_hierarchy_escape(evt: KeyboardEvent, ctx: {
46
+ wrapper: HTMLElement | undefined;
47
+ fullscreen: boolean;
48
+ zoomed: boolean;
49
+ zoom_out: () => void;
50
+ exit_fullscreen: () => void;
51
+ }): void;