molstar 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +202 -194
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -106
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.html +36 -36
  7. package/lib/apps/docking-viewer/viewport.js +1 -1
  8. package/lib/apps/viewer/app.d.ts +7 -6
  9. package/lib/apps/viewer/app.js +2 -0
  10. package/lib/apps/viewer/embedded.html +43 -43
  11. package/lib/apps/viewer/index.html +106 -106
  12. package/lib/cli/chem-comp-dict/create-saccharides.d.ts +7 -0
  13. package/lib/cli/chem-comp-dict/create-saccharides.js +67 -0
  14. package/lib/cli/cif2bcif/converter.js +1 -1
  15. package/lib/cli/cif2bcif/index.js +4 -4
  16. package/lib/commonjs/apps/docking-viewer/index.js +12 -12
  17. package/lib/commonjs/apps/docking-viewer/viewport.js +33 -33
  18. package/lib/commonjs/apps/viewer/app.d.ts +7 -6
  19. package/lib/commonjs/apps/viewer/app.js +24 -22
  20. package/lib/commonjs/apps/viewer/index.js +1 -1
  21. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +6 -6
  22. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.d.ts +7 -0
  23. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +69 -0
  24. package/lib/commonjs/cli/chem-comp-dict/create-table.js +8 -8
  25. package/lib/commonjs/cli/chem-comp-dict/util.js +17 -17
  26. package/lib/commonjs/cli/cif2bcif/converter.js +9 -9
  27. package/lib/commonjs/cli/cif2bcif/index.js +12 -12
  28. package/lib/commonjs/cli/cifschema/index.js +27 -27
  29. package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -1
  30. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  31. package/lib/commonjs/cli/state-docs/index.js +2 -2
  32. package/lib/commonjs/cli/structure-info/helpers.js +11 -11
  33. package/lib/commonjs/cli/structure-info/model.js +15 -15
  34. package/lib/commonjs/cli/structure-info/volume.js +9 -9
  35. package/lib/commonjs/examples/alpha-orbitals/controls.js +3 -3
  36. package/lib/commonjs/examples/alpha-orbitals/index.js +11 -11
  37. package/lib/commonjs/examples/basic-wrapper/controls.js +2 -2
  38. package/lib/commonjs/examples/basic-wrapper/index.js +22 -22
  39. package/lib/commonjs/examples/basic-wrapper/superposition.js +8 -8
  40. package/lib/commonjs/examples/domain-annotation-server/mapping.js +3 -3
  41. package/lib/commonjs/examples/domain-annotation-server/server.js +6 -6
  42. package/lib/commonjs/examples/domain-annotation-server/test.js +3 -3
  43. package/lib/commonjs/examples/lighting/index.js +6 -6
  44. package/lib/commonjs/examples/proteopedia-wrapper/annotation.js +2 -2
  45. package/lib/commonjs/examples/proteopedia-wrapper/helpers.js +4 -4
  46. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -26
  47. package/lib/commonjs/examples/proteopedia-wrapper/ui/controls.js +2 -2
  48. package/lib/commonjs/examples/task.js +15 -15
  49. package/lib/commonjs/extensions/alpha-orbitals/collocation.js +2 -2
  50. package/lib/commonjs/extensions/alpha-orbitals/data-model.js +1 -1
  51. package/lib/commonjs/extensions/alpha-orbitals/density.js +2 -2
  52. package/lib/commonjs/extensions/alpha-orbitals/gpu/compute.js +2 -2
  53. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +2 -2
  54. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +13 -13
  55. package/lib/commonjs/extensions/anvil/algorithm.js +13 -13
  56. package/lib/commonjs/extensions/anvil/behavior.js +14 -14
  57. package/lib/commonjs/extensions/anvil/prop.js +7 -7
  58. package/lib/commonjs/extensions/anvil/representation.js +5 -5
  59. package/lib/commonjs/extensions/cellpack/index.js +1 -1
  60. package/lib/commonjs/extensions/cellpack/model.js +26 -24
  61. package/lib/commonjs/extensions/cellpack/preset.js +6 -6
  62. package/lib/commonjs/extensions/cellpack/property.js +3 -3
  63. package/lib/commonjs/extensions/cellpack/representation.js +2 -2
  64. package/lib/commonjs/extensions/cellpack/state.js +13 -13
  65. package/lib/commonjs/extensions/cellpack/util.js +14 -14
  66. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +7 -7
  67. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.d.ts +397 -2
  68. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +223 -131
  69. package/lib/commonjs/extensions/dnatco/confal-pyramids/property.js +6 -8
  70. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.js +2 -2
  71. package/lib/commonjs/extensions/dnatco/confal-pyramids/util.js +19 -20
  72. package/lib/commonjs/extensions/g3d/data.js +6 -6
  73. package/lib/commonjs/extensions/g3d/format.js +14 -14
  74. package/lib/commonjs/extensions/g3d/model.js +4 -4
  75. package/lib/commonjs/extensions/geo-export/controls.js +3 -3
  76. package/lib/commonjs/extensions/geo-export/glb-exporter.js +9 -9
  77. package/lib/commonjs/extensions/geo-export/index.js +1 -1
  78. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +12 -12
  79. package/lib/commonjs/extensions/geo-export/obj-exporter.js +7 -7
  80. package/lib/commonjs/extensions/geo-export/stl-exporter.js +7 -7
  81. package/lib/commonjs/extensions/geo-export/ui.js +7 -7
  82. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +9 -9
  83. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +9 -9
  84. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +4 -4
  85. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +4 -4
  86. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +5 -5
  87. package/lib/commonjs/extensions/model-export/export.js +4 -4
  88. package/lib/commonjs/extensions/model-export/index.js +1 -1
  89. package/lib/commonjs/extensions/model-export/ui.js +5 -5
  90. package/lib/commonjs/extensions/mp4-export/controls.js +5 -5
  91. package/lib/commonjs/extensions/mp4-export/encoder.js +4 -4
  92. package/lib/commonjs/extensions/mp4-export/index.js +1 -1
  93. package/lib/commonjs/extensions/mp4-export/ui.js +5 -5
  94. package/lib/commonjs/extensions/pdbe/preferred-assembly.js +2 -2
  95. package/lib/commonjs/extensions/pdbe/struct-ref-domain.js +2 -2
  96. package/lib/commonjs/extensions/pdbe/structure-quality-report/behavior.js +1 -1
  97. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +8 -8
  98. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.js +17 -17
  99. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +2 -2
  100. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +9 -9
  101. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.js +6 -6
  102. package/lib/commonjs/extensions/rcsb/assembly-symmetry/ui.js +9 -9
  103. package/lib/commonjs/extensions/rcsb/validation-report/behavior.js +17 -17
  104. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +15 -15
  105. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +22 -5
  106. package/lib/commonjs/extensions/zenodo/index.d.ts +7 -0
  107. package/lib/commonjs/extensions/zenodo/index.js +35 -0
  108. package/lib/commonjs/extensions/zenodo/ui.d.ts +61 -0
  109. package/lib/commonjs/extensions/zenodo/ui.js +306 -0
  110. package/lib/commonjs/mol-canvas3d/camera/stereo.js +1 -1
  111. package/lib/commonjs/mol-canvas3d/camera/util.js +1 -1
  112. package/lib/commonjs/mol-canvas3d/camera.js +2 -1
  113. package/lib/commonjs/mol-canvas3d/canvas3d.js +14 -14
  114. package/lib/commonjs/mol-canvas3d/controls/trackball.js +1 -1
  115. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +1 -1
  116. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +5 -5
  117. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +5 -5
  118. package/lib/commonjs/mol-canvas3d/helper/helper.js +1 -1
  119. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +2 -2
  120. package/lib/commonjs/mol-canvas3d/passes/draw.js +3 -3
  121. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +3 -3
  122. package/lib/commonjs/mol-canvas3d/passes/image.js +1 -1
  123. package/lib/commonjs/mol-canvas3d/passes/marking.js +6 -6
  124. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +3 -3
  125. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +12 -12
  126. package/lib/commonjs/mol-canvas3d/passes/smaa.js +9 -9
  127. package/lib/commonjs/mol-canvas3d/passes/wboit.js +3 -3
  128. package/lib/commonjs/mol-canvas3d/util.js +2 -2
  129. package/lib/commonjs/mol-data/db/column.js +2 -2
  130. package/lib/commonjs/mol-data/db/table.js +1 -1
  131. package/lib/commonjs/mol-data/db.js +1 -1
  132. package/lib/commonjs/mol-data/generic.js +3 -3
  133. package/lib/commonjs/mol-data/index.js +4 -4
  134. package/lib/commonjs/mol-data/int/interval.js +1 -1
  135. package/lib/commonjs/mol-data/int/ordered-set.js +1 -1
  136. package/lib/commonjs/mol-data/int/segmentation.js +1 -1
  137. package/lib/commonjs/mol-data/int/sorted-array.js +1 -1
  138. package/lib/commonjs/mol-data/util.js +7 -7
  139. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +2 -2
  140. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -3
  141. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +3 -3
  142. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +1 -1
  143. package/lib/commonjs/mol-geo/geometry/image/image.js +3 -3
  144. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  145. package/lib/commonjs/mol-geo/geometry/lines/lines.js +3 -3
  146. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.d.ts +1 -1
  147. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +5 -3
  148. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +3 -3
  149. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  150. package/lib/commonjs/mol-geo/geometry/points/points.js +3 -3
  151. package/lib/commonjs/mol-geo/geometry/size-data.js +1 -1
  152. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -3
  153. package/lib/commonjs/mol-geo/geometry/text/font-atlas.js +1 -1
  154. package/lib/commonjs/mol-geo/geometry/text/text-builder.js +3 -2
  155. package/lib/commonjs/mol-geo/geometry/text/text.js +3 -3
  156. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +1 -1
  157. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +10 -8
  158. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -3
  159. package/lib/commonjs/mol-geo/primitive/circle.js +1 -1
  160. package/lib/commonjs/mol-geo/primitive/cylinder.js +1 -1
  161. package/lib/commonjs/mol-geo/primitive/polyhedron.js +1 -1
  162. package/lib/commonjs/mol-geo/primitive/prism.js +1 -1
  163. package/lib/commonjs/mol-geo/primitive/star.js +1 -1
  164. package/lib/commonjs/mol-geo/primitive/torus.js +1 -1
  165. package/lib/commonjs/mol-geo/util/marching-cubes/algorithm.js +9 -9
  166. package/lib/commonjs/mol-gl/compute/grid3d.js +5 -5
  167. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +3 -3
  168. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +3 -3
  169. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +3 -3
  170. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +3 -3
  171. package/lib/commonjs/mol-gl/compute/util.js +3 -3
  172. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  173. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  174. package/lib/commonjs/mol-gl/renderable/image.js +3 -3
  175. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  176. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  177. package/lib/commonjs/mol-gl/renderable/points.js +3 -3
  178. package/lib/commonjs/mol-gl/renderable/schema.js +1 -1
  179. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  180. package/lib/commonjs/mol-gl/renderable/text.js +3 -3
  181. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  182. package/lib/commonjs/mol-gl/renderable/util.js +1 -1
  183. package/lib/commonjs/mol-gl/shader-code.js +2 -1
  184. package/lib/commonjs/mol-gl/webgl/buffer.js +4 -5
  185. package/lib/commonjs/mol-gl/webgl/context.d.ts +1 -1
  186. package/lib/commonjs/mol-gl/webgl/context.js +5 -5
  187. package/lib/commonjs/mol-gl/webgl/render-item.js +1 -1
  188. package/lib/commonjs/mol-gl/webgl/resources.js +2 -2
  189. package/lib/commonjs/mol-io/common/binary-cif/classifier.js +7 -6
  190. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +4 -3
  191. package/lib/commonjs/mol-io/common/binary-cif.js +3 -3
  192. package/lib/commonjs/mol-io/common/io-buffer.d.ts +206 -0
  193. package/lib/commonjs/mol-io/common/io-buffer.js +408 -0
  194. package/lib/commonjs/mol-io/common/netcdf/reader.d.ts +78 -0
  195. package/lib/commonjs/mol-io/common/netcdf/reader.js +459 -0
  196. package/lib/commonjs/mol-io/common/typed-array.js +2 -2
  197. package/lib/commonjs/mol-io/reader/ccp4/parser.js +8 -8
  198. package/lib/commonjs/mol-io/reader/cif/binary/parser.js +3 -3
  199. package/lib/commonjs/mol-io/reader/cif/data-model.js +1 -1
  200. package/lib/commonjs/mol-io/reader/cif/schema/mmcif-extras.js +2 -2
  201. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  202. package/lib/commonjs/mol-io/reader/cif/schema.js +2 -2
  203. package/lib/commonjs/mol-io/reader/cif/text/parser.js +7 -7
  204. package/lib/commonjs/mol-io/reader/cif.js +1 -1
  205. package/lib/commonjs/mol-io/reader/common/text/tokenizer.js +4 -4
  206. package/lib/commonjs/mol-io/reader/csv/data-model.js +1 -1
  207. package/lib/commonjs/mol-io/reader/csv/parser.js +7 -7
  208. package/lib/commonjs/mol-io/reader/cube/parser.js +2 -2
  209. package/lib/commonjs/mol-io/reader/dcd/parser.js +2 -2
  210. package/lib/commonjs/mol-io/reader/dsn6/parser.js +8 -8
  211. package/lib/commonjs/mol-io/reader/dx/parser.js +4 -4
  212. package/lib/commonjs/mol-io/reader/gro/parser.js +6 -6
  213. package/lib/commonjs/mol-io/reader/mol/parser.js +2 -2
  214. package/lib/commonjs/mol-io/reader/mol2/parser.js +8 -8
  215. package/lib/commonjs/mol-io/reader/nctraj/parser.d.ts +18 -0
  216. package/lib/commonjs/mol-io/reader/nctraj/parser.js +101 -0
  217. package/lib/commonjs/mol-io/reader/obj/parser.js +4 -4
  218. package/lib/commonjs/mol-io/reader/pdb/parser.js +2 -2
  219. package/lib/commonjs/mol-io/reader/ply/parser.js +4 -4
  220. package/lib/commonjs/mol-io/reader/prmtop/parser.d.ts +58 -0
  221. package/lib/commonjs/mol-io/reader/prmtop/parser.js +172 -0
  222. package/lib/commonjs/mol-io/reader/psf/parser.js +8 -8
  223. package/lib/commonjs/mol-io/reader/sdf/parser.js +2 -2
  224. package/lib/commonjs/mol-io/reader/top/parser.d.ts +37 -0
  225. package/lib/commonjs/mol-io/reader/top/parser.js +303 -0
  226. package/lib/commonjs/mol-io/reader/trr/parser.d.ts +22 -0
  227. package/lib/commonjs/mol-io/reader/trr/parser.js +146 -0
  228. package/lib/commonjs/mol-io/reader/xtc/parser.js +4 -4
  229. package/lib/commonjs/mol-io/reader/xyz/parser.js +2 -2
  230. package/lib/commonjs/mol-io/writer/cif/encoder.js +3 -2
  231. package/lib/commonjs/mol-io/writer/cif.js +1 -1
  232. package/lib/commonjs/mol-io/writer/ligand-encoder.js +1 -1
  233. package/lib/commonjs/mol-io/writer/mol/encoder.js +1 -1
  234. package/lib/commonjs/mol-io/writer/mol2/encoder.js +1 -1
  235. package/lib/commonjs/mol-math/geometry/boundary-helper.js +5 -5
  236. package/lib/commonjs/mol-math/geometry/common.d.ts +2 -1
  237. package/lib/commonjs/mol-math/geometry/common.js +1 -1
  238. package/lib/commonjs/mol-math/geometry/gaussian-density/cpu.d.ts +1 -1
  239. package/lib/commonjs/mol-math/geometry/gaussian-density/cpu.js +6 -6
  240. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.d.ts +1 -1
  241. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +8 -8
  242. package/lib/commonjs/mol-math/geometry/gaussian-density.d.ts +2 -2
  243. package/lib/commonjs/mol-math/geometry/gaussian-density.js +5 -5
  244. package/lib/commonjs/mol-math/geometry/molecular-surface.d.ts +2 -1
  245. package/lib/commonjs/mol-math/geometry/molecular-surface.js +10 -10
  246. package/lib/commonjs/mol-math/geometry/primitives/box3d.js +2 -1
  247. package/lib/commonjs/mol-math/geometry/primitives/sphere3d.js +13 -7
  248. package/lib/commonjs/mol-math/geometry.js +8 -8
  249. package/lib/commonjs/mol-math/graph/inter-unit-graph.js +1 -1
  250. package/lib/commonjs/mol-math/graph.js +1 -1
  251. package/lib/commonjs/mol-math/linear-algebra.js +2 -2
  252. package/lib/commonjs/mol-model/sequence/alignment/alignment.js +1 -1
  253. package/lib/commonjs/mol-model/sequence/sequence.js +2 -1
  254. package/lib/commonjs/mol-model/sequence.js +1 -1
  255. package/lib/commonjs/mol-model/shape.js +1 -1
  256. package/lib/commonjs/mol-model/structure/coordinates.js +1 -1
  257. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  258. package/lib/commonjs/mol-model/structure/model/model.js +3 -3
  259. package/lib/commonjs/mol-model/structure/model/properties/atomic.js +3 -3
  260. package/lib/commonjs/mol-model/structure/model/properties/coarse.js +2 -2
  261. package/lib/commonjs/mol-model/structure/model/types/saccharides.d.ts +8 -0
  262. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +11 -0
  263. package/lib/commonjs/mol-model/structure/model.js +3 -3
  264. package/lib/commonjs/mol-model/structure/query/queries/generators.js +2 -2
  265. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +2 -2
  266. package/lib/commonjs/mol-model/structure/query.js +6 -6
  267. package/lib/commonjs/mol-model/structure/structure/carbohydrates/compute.js +1 -1
  268. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.d.ts +1 -1
  269. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +6 -9
  270. package/lib/commonjs/mol-model/structure/structure/element/element.js +5 -5
  271. package/lib/commonjs/mol-model/structure/structure/element.js +1 -1
  272. package/lib/commonjs/mol-model/structure/structure/structure.js +9 -6
  273. package/lib/commonjs/mol-model/structure/structure/symmetry.js +10 -10
  274. package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.js +2 -2
  275. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -0
  276. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +6 -4
  277. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -1
  278. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +3 -3
  279. package/lib/commonjs/mol-model/structure/structure/unit.js +5 -22
  280. package/lib/commonjs/mol-model/structure/structure/util/superposition.js +1 -1
  281. package/lib/commonjs/mol-model/structure/structure.js +2 -2
  282. package/lib/commonjs/mol-model/structure/topology.js +1 -1
  283. package/lib/commonjs/mol-model/structure.js +6 -6
  284. package/lib/commonjs/mol-model/volume.js +2 -2
  285. package/lib/commonjs/mol-model-formats/shape/ply.js +7 -7
  286. package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +1 -1
  287. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -15
  288. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
  289. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +1 -1
  290. package/lib/commonjs/mol-model-formats/structure/basic/parser.d.ts +1 -1
  291. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +10 -10
  292. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +2 -2
  293. package/lib/commonjs/mol-model-formats/structure/basic/schema.js +7 -2
  294. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +2 -2
  295. package/lib/commonjs/mol-model-formats/structure/basic/util.d.ts +33 -2
  296. package/lib/commonjs/mol-model-formats/structure/basic/util.js +26 -2
  297. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  298. package/lib/commonjs/mol-model-formats/structure/common/component.js +5 -1
  299. package/lib/commonjs/mol-model-formats/structure/cube.js +5 -5
  300. package/lib/commonjs/mol-model-formats/structure/dcd.js +2 -2
  301. package/lib/commonjs/mol-model-formats/structure/gro.js +5 -3
  302. package/lib/commonjs/mol-model-formats/structure/mmcif.d.ts +1 -1
  303. package/lib/commonjs/mol-model-formats/structure/mmcif.js +4 -2
  304. package/lib/commonjs/mol-model-formats/structure/mol.js +5 -5
  305. package/lib/commonjs/mol-model-formats/structure/mol2.js +6 -6
  306. package/lib/commonjs/mol-model-formats/structure/nctraj.d.ts +9 -0
  307. package/lib/commonjs/mol-model-formats/structure/nctraj.js +60 -0
  308. package/lib/commonjs/mol-model-formats/structure/pdb/to-cif.js +2 -2
  309. package/lib/commonjs/mol-model-formats/structure/pdb.d.ts +1 -1
  310. package/lib/commonjs/mol-model-formats/structure/pdb.js +7 -5
  311. package/lib/commonjs/mol-model-formats/structure/prmtop.d.ts +16 -0
  312. package/lib/commonjs/mol-model-formats/structure/prmtop.js +147 -0
  313. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  314. package/lib/commonjs/mol-model-formats/structure/property/symmetry.js +11 -1
  315. package/lib/commonjs/mol-model-formats/structure/psf.js +5 -3
  316. package/lib/commonjs/mol-model-formats/structure/top.d.ts +16 -0
  317. package/lib/commonjs/mol-model-formats/structure/top.js +189 -0
  318. package/lib/commonjs/mol-model-formats/structure/trr.d.ts +9 -0
  319. package/lib/commonjs/mol-model-formats/structure/trr.js +46 -0
  320. package/lib/commonjs/mol-model-formats/structure/util.d.ts +2 -2
  321. package/lib/commonjs/mol-model-formats/structure/util.js +19 -20
  322. package/lib/commonjs/mol-model-formats/structure/xtc.js +2 -2
  323. package/lib/commonjs/mol-model-formats/structure/xyz.js +2 -2
  324. package/lib/commonjs/mol-model-formats/volume/ccp4.js +2 -2
  325. package/lib/commonjs/mol-model-formats/volume/cube.js +2 -2
  326. package/lib/commonjs/mol-model-formats/volume/density-server.js +2 -2
  327. package/lib/commonjs/mol-model-formats/volume/dsn6.js +2 -2
  328. package/lib/commonjs/mol-model-formats/volume/dx.js +2 -2
  329. package/lib/commonjs/mol-model-props/common/custom-element-property.js +2 -2
  330. package/lib/commonjs/mol-model-props/common/custom-model-property.js +5 -5
  331. package/lib/commonjs/mol-model-props/common/custom-property.js +1 -1
  332. package/lib/commonjs/mol-model-props/common/custom-structure-property.js +6 -6
  333. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/area.js +2 -2
  334. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +5 -5
  335. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +4 -4
  336. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +3 -3
  337. package/lib/commonjs/mol-model-props/computed/helix-orientation.js +2 -2
  338. package/lib/commonjs/mol-model-props/computed/interactions/common.js +1 -1
  339. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  340. package/lib/commonjs/mol-model-props/computed/interactions/features.js +1 -1
  341. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +3 -3
  342. package/lib/commonjs/mol-model-props/computed/interactions/interactions.js +3 -3
  343. package/lib/commonjs/mol-model-props/computed/interactions.js +4 -4
  344. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +10 -4
  345. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +12 -7
  346. package/lib/commonjs/mol-model-props/computed/representations/interactions.js +1 -1
  347. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +2 -2
  348. package/lib/commonjs/mol-model-props/computed/secondary-structure.js +7 -7
  349. package/lib/commonjs/mol-model-props/computed/valence-model.js +4 -4
  350. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/property.js +2 -2
  351. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.js +12 -3
  352. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +2 -2
  353. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +3 -3
  354. package/lib/commonjs/mol-plugin/animation-loop.js +2 -2
  355. package/lib/commonjs/mol-plugin/behavior/behavior.js +5 -5
  356. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +2 -2
  357. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.js +1 -1
  358. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/interactions.js +1 -1
  359. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.js +1 -1
  360. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.js +1 -1
  361. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.js +1 -1
  362. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.js +1 -1
  363. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/structure-info.js +2 -2
  364. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +3 -3
  365. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +11 -11
  366. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.js +12 -12
  367. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  368. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.js +1 -1
  369. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.js +16 -16
  370. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/util.js +10 -10
  371. package/lib/commonjs/mol-plugin/behavior/static/state.js +6 -6
  372. package/lib/commonjs/mol-plugin/behavior.js +8 -8
  373. package/lib/commonjs/mol-plugin/command.js +2 -2
  374. package/lib/commonjs/mol-plugin/context.d.ts +2 -1
  375. package/lib/commonjs/mol-plugin/context.js +9 -8
  376. package/lib/commonjs/mol-plugin/layout.js +2 -2
  377. package/lib/commonjs/mol-plugin/spec.js +1 -1
  378. package/lib/commonjs/mol-plugin/state.js +5 -5
  379. package/lib/commonjs/mol-plugin/util/task-manager.js +4 -4
  380. package/lib/commonjs/mol-plugin/util/toast.js +1 -1
  381. package/lib/commonjs/mol-plugin/util/viewport-screenshot.js +17 -17
  382. package/lib/commonjs/mol-plugin-state/actions/file.d.ts +1 -1
  383. package/lib/commonjs/mol-plugin-state/actions/file.js +94 -61
  384. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +11 -2
  385. package/lib/commonjs/mol-plugin-state/actions/structure.js +190 -20
  386. package/lib/commonjs/mol-plugin-state/actions/volume.js +5 -4
  387. package/lib/commonjs/mol-plugin-state/actions.js +3 -3
  388. package/lib/commonjs/mol-plugin-state/animation/built-in/assembly-unwind.js +2 -2
  389. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +3 -3
  390. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +3 -3
  391. package/lib/commonjs/mol-plugin-state/animation/built-in/explode-units.js +4 -4
  392. package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.js +2 -2
  393. package/lib/commonjs/mol-plugin-state/animation/built-in/spin-structure.js +5 -5
  394. package/lib/commonjs/mol-plugin-state/animation/built-in/state-interpolation.js +2 -2
  395. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +5 -5
  396. package/lib/commonjs/mol-plugin-state/builder/data.js +2 -2
  397. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +16 -16
  398. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +28 -28
  399. package/lib/commonjs/mol-plugin-state/builder/structure/representation.js +2 -2
  400. package/lib/commonjs/mol-plugin-state/builder/structure.js +7 -7
  401. package/lib/commonjs/mol-plugin-state/component.js +1 -1
  402. package/lib/commonjs/mol-plugin-state/formats/{structure.d.ts → coordinates.d.ts} +34 -18
  403. package/lib/commonjs/mol-plugin-state/formats/coordinates.js +70 -0
  404. package/lib/commonjs/mol-plugin-state/formats/registry.d.ts +3 -3
  405. package/lib/commonjs/mol-plugin-state/formats/registry.js +13 -8
  406. package/lib/commonjs/mol-plugin-state/formats/shape.js +2 -2
  407. package/lib/commonjs/mol-plugin-state/formats/topology.d.ts +73 -0
  408. package/lib/commonjs/mol-plugin-state/formats/topology.js +87 -0
  409. package/lib/commonjs/mol-plugin-state/formats/trajectory.js +6 -6
  410. package/lib/commonjs/mol-plugin-state/formats/volume.js +21 -21
  411. package/lib/commonjs/mol-plugin-state/helpers/root-structure.js +15 -15
  412. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +7 -7
  413. package/lib/commonjs/mol-plugin-state/helpers/structure-component.js +2 -1
  414. package/lib/commonjs/mol-plugin-state/helpers/structure-overpaint.js +11 -11
  415. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +3 -3
  416. package/lib/commonjs/mol-plugin-state/helpers/structure-substance.js +11 -11
  417. package/lib/commonjs/mol-plugin-state/helpers/structure-transparency.js +11 -11
  418. package/lib/commonjs/mol-plugin-state/manager/animation.js +17 -17
  419. package/lib/commonjs/mol-plugin-state/manager/camera.js +1 -1
  420. package/lib/commonjs/mol-plugin-state/manager/interactivity.js +6 -6
  421. package/lib/commonjs/mol-plugin-state/manager/snapshots.js +14 -14
  422. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +26 -26
  423. package/lib/commonjs/mol-plugin-state/manager/structure/focus.js +2 -2
  424. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy-state.js +1 -1
  425. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy.js +8 -8
  426. package/lib/commonjs/mol-plugin-state/manager/structure/measurement.js +21 -21
  427. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -3
  428. package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy.js +1 -1
  429. package/lib/commonjs/mol-plugin-state/objects.d.ts +47 -1
  430. package/lib/commonjs/mol-plugin-state/objects.js +46 -30
  431. package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +6 -0
  432. package/lib/commonjs/mol-plugin-state/transforms/data.js +93 -41
  433. package/lib/commonjs/mol-plugin-state/transforms/model.d.ts +14 -2
  434. package/lib/commonjs/mol-plugin-state/transforms/model.js +163 -54
  435. package/lib/commonjs/mol-plugin-state/transforms/representation.js +77 -77
  436. package/lib/commonjs/mol-plugin-state/transforms/shape.js +2 -2
  437. package/lib/commonjs/mol-plugin-state/transforms/volume.js +16 -16
  438. package/lib/commonjs/mol-plugin-state/transforms.js +6 -6
  439. package/lib/commonjs/mol-plugin-ui/base.js +5 -5
  440. package/lib/commonjs/mol-plugin-ui/context.js +1 -1
  441. package/lib/commonjs/mol-plugin-ui/controls/action-menu.js +14 -14
  442. package/lib/commonjs/mol-plugin-ui/controls/color.js +7 -7
  443. package/lib/commonjs/mol-plugin-ui/controls/common.js +16 -16
  444. package/lib/commonjs/mol-plugin-ui/controls/icons.js +70 -70
  445. package/lib/commonjs/mol-plugin-ui/controls/legend.js +7 -7
  446. package/lib/commonjs/mol-plugin-ui/controls/line-graph/line-graph-component.js +3 -3
  447. package/lib/commonjs/mol-plugin-ui/controls/line-graph/point-component.js +2 -2
  448. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +94 -94
  449. package/lib/commonjs/mol-plugin-ui/controls/screenshot.js +5 -5
  450. package/lib/commonjs/mol-plugin-ui/controls/slider.js +16 -16
  451. package/lib/commonjs/mol-plugin-ui/controls.js +16 -16
  452. package/lib/commonjs/mol-plugin-ui/custom/volume.js +16 -16
  453. package/lib/commonjs/mol-plugin-ui/index.js +4 -4
  454. package/lib/commonjs/mol-plugin-ui/left-panel.d.ts +8 -1
  455. package/lib/commonjs/mol-plugin-ui/left-panel.js +40 -19
  456. package/lib/commonjs/mol-plugin-ui/plugin.js +17 -17
  457. package/lib/commonjs/mol-plugin-ui/sequence/chain.js +1 -1
  458. package/lib/commonjs/mol-plugin-ui/sequence/element.js +1 -1
  459. package/lib/commonjs/mol-plugin-ui/sequence/hetero.js +1 -1
  460. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  461. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +6 -6
  462. package/lib/commonjs/mol-plugin-ui/sequence.js +9 -9
  463. package/lib/commonjs/mol-plugin-ui/spec.js +1 -1
  464. package/lib/commonjs/mol-plugin-ui/state/actions.js +2 -2
  465. package/lib/commonjs/mol-plugin-ui/state/animation.js +2 -2
  466. package/lib/commonjs/mol-plugin-ui/state/apply-action.js +1 -1
  467. package/lib/commonjs/mol-plugin-ui/state/common.js +12 -12
  468. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +29 -29
  469. package/lib/commonjs/mol-plugin-ui/state/tree.js +19 -19
  470. package/lib/commonjs/mol-plugin-ui/state/update-transform.js +3 -3
  471. package/lib/commonjs/mol-plugin-ui/structure/components.js +19 -19
  472. package/lib/commonjs/mol-plugin-ui/structure/focus.js +4 -4
  473. package/lib/commonjs/mol-plugin-ui/structure/generic.js +6 -6
  474. package/lib/commonjs/mol-plugin-ui/structure/measurements.js +13 -13
  475. package/lib/commonjs/mol-plugin-ui/structure/quick-styles.js +11 -11
  476. package/lib/commonjs/mol-plugin-ui/structure/selection.js +13 -13
  477. package/lib/commonjs/mol-plugin-ui/structure/source.js +12 -12
  478. package/lib/commonjs/mol-plugin-ui/structure/superposition.js +20 -20
  479. package/lib/commonjs/mol-plugin-ui/structure/volume.js +12 -12
  480. package/lib/commonjs/mol-plugin-ui/task.js +8 -8
  481. package/lib/commonjs/mol-plugin-ui/toast.js +6 -6
  482. package/lib/commonjs/mol-plugin-ui/viewport/canvas.js +5 -5
  483. package/lib/commonjs/mol-plugin-ui/viewport/help.js +14 -14
  484. package/lib/commonjs/mol-plugin-ui/viewport/screenshot.js +8 -8
  485. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -6
  486. package/lib/commonjs/mol-plugin-ui/viewport.js +7 -7
  487. package/lib/commonjs/mol-repr/representation.js +4 -4
  488. package/lib/commonjs/mol-repr/shape/loci/angle.js +9 -9
  489. package/lib/commonjs/mol-repr/shape/loci/common.js +1 -1
  490. package/lib/commonjs/mol-repr/shape/loci/dihedral.js +14 -14
  491. package/lib/commonjs/mol-repr/shape/loci/distance.js +5 -5
  492. package/lib/commonjs/mol-repr/shape/loci/label.js +3 -3
  493. package/lib/commonjs/mol-repr/shape/loci/orientation.js +4 -4
  494. package/lib/commonjs/mol-repr/shape/loci/plane.js +2 -2
  495. package/lib/commonjs/mol-repr/shape/model/unitcell.js +2 -2
  496. package/lib/commonjs/mol-repr/shape/representation.js +2 -2
  497. package/lib/commonjs/mol-repr/structure/complex-representation.js +2 -2
  498. package/lib/commonjs/mol-repr/structure/complex-visual.js +12 -12
  499. package/lib/commonjs/mol-repr/structure/params.js +8 -8
  500. package/lib/commonjs/mol-repr/structure/registry.js +1 -1
  501. package/lib/commonjs/mol-repr/structure/representation/backbone.js +1 -1
  502. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +1 -1
  503. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +1 -1
  504. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +3 -3
  505. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +1 -1
  506. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  507. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +1 -1
  508. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  509. package/lib/commonjs/mol-repr/structure/representation/line.js +1 -1
  510. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  511. package/lib/commonjs/mol-repr/structure/representation/orientation.js +1 -1
  512. package/lib/commonjs/mol-repr/structure/representation/point.js +1 -1
  513. package/lib/commonjs/mol-repr/structure/representation/putty.js +1 -1
  514. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +1 -1
  515. package/lib/commonjs/mol-repr/structure/representation.js +1 -1
  516. package/lib/commonjs/mol-repr/structure/units-representation.js +2 -2
  517. package/lib/commonjs/mol-repr/structure/units-visual.js +16 -16
  518. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +1 -1
  519. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +21 -11
  520. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -1
  521. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +11 -6
  522. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +17 -7
  523. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +9 -4
  524. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +11 -2
  525. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +1 -1
  526. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +11 -2
  527. package/lib/commonjs/mol-repr/structure/visual/element-cross.js +1 -1
  528. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -1
  529. package/lib/commonjs/mol-repr/structure/visual/element-point.js +23 -4
  530. package/lib/commonjs/mol-repr/structure/visual/element-sphere.js +1 -1
  531. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.js +1 -1
  532. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -9
  533. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +1 -1
  534. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +20 -20
  535. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -1
  536. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +7 -8
  537. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -1
  538. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +6 -6
  539. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -1
  540. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +7 -7
  541. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.js +1 -1
  542. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.js +1 -1
  543. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +1 -1
  544. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +1 -1
  545. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +1 -1
  546. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  547. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.js +1 -1
  548. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  549. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  550. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  551. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +1 -3
  552. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -28
  553. package/lib/commonjs/mol-repr/structure/visual/util/element.js +36 -2
  554. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +13 -13
  555. package/lib/commonjs/mol-repr/structure/visual/util/link.d.ts +13 -3
  556. package/lib/commonjs/mol-repr/structure/visual/util/link.js +55 -6
  557. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +5 -5
  558. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +4 -4
  559. package/lib/commonjs/mol-repr/util.js +1 -1
  560. package/lib/commonjs/mol-repr/volume/direct-volume.js +3 -3
  561. package/lib/commonjs/mol-repr/volume/isosurface.js +9 -9
  562. package/lib/commonjs/mol-repr/volume/registry.js +1 -1
  563. package/lib/commonjs/mol-repr/volume/representation.js +5 -5
  564. package/lib/commonjs/mol-repr/volume/slice.js +4 -4
  565. package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
  566. package/lib/commonjs/mol-script/language/parser.js +7 -4
  567. package/lib/commonjs/mol-script/language/symbol-table/internal.js +1 -1
  568. package/lib/commonjs/mol-script/language/symbol-table/structure-query.js +1 -1
  569. package/lib/commonjs/mol-script/runtime/query/compiler.js +1 -1
  570. package/lib/commonjs/mol-script/script/mol-script/symbols.js +1 -1
  571. package/lib/commonjs/mol-state/action.js +1 -1
  572. package/lib/commonjs/mol-state/index.js +8 -8
  573. package/lib/commonjs/mol-state/state/builder.js +2 -2
  574. package/lib/commonjs/mol-state/state/selection.js +1 -1
  575. package/lib/commonjs/mol-state/state.js +21 -21
  576. package/lib/commonjs/mol-state/transform.js +4 -4
  577. package/lib/commonjs/mol-state/transformer.js +1 -1
  578. package/lib/commonjs/mol-task/execution/observable.js +5 -5
  579. package/lib/commonjs/mol-task/task.js +3 -3
  580. package/lib/commonjs/mol-task/util/chunked.js +2 -2
  581. package/lib/commonjs/mol-task/util/multistep.js +1 -1
  582. package/lib/commonjs/mol-task/util/scheduler.d.ts +2 -2
  583. package/lib/commonjs/mol-task/util/scheduler.js +8 -8
  584. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  585. package/lib/commonjs/mol-theme/color/chain-id.js +1 -1
  586. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  587. package/lib/commonjs/mol-theme/color/entity-id.js +1 -1
  588. package/lib/commonjs/mol-theme/color/entity-source.js +2 -2
  589. package/lib/commonjs/mol-theme/color/hydrophobicity.js +2 -2
  590. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  591. package/lib/commonjs/mol-theme/color/operator-hkl.js +2 -2
  592. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  593. package/lib/commonjs/mol-theme/color/polymer-id.js +2 -2
  594. package/lib/commonjs/mol-theme/color/polymer-index.js +2 -2
  595. package/lib/commonjs/mol-theme/color/unit-index.js +2 -2
  596. package/lib/commonjs/mol-theme/label.js +6 -6
  597. package/lib/commonjs/mol-theme/theme.js +3 -3
  598. package/lib/commonjs/mol-util/assets.js +7 -7
  599. package/lib/commonjs/mol-util/color/distinct.js +1 -1
  600. package/lib/commonjs/mol-util/color/palette.js +3 -3
  601. package/lib/commonjs/mol-util/color/scale.js +2 -2
  602. package/lib/commonjs/mol-util/data-source.js +14 -13
  603. package/lib/commonjs/mol-util/file-info.d.ts +1 -3
  604. package/lib/commonjs/mol-util/file-info.js +2 -10
  605. package/lib/commonjs/mol-util/graphql-client.js +4 -4
  606. package/lib/commonjs/mol-util/index.d.ts +1 -0
  607. package/lib/commonjs/mol-util/index.js +8 -2
  608. package/lib/commonjs/mol-util/input/input-observer.js +6 -6
  609. package/lib/commonjs/mol-util/make-dir.js +1 -1
  610. package/lib/commonjs/mol-util/material.js +2 -2
  611. package/lib/commonjs/mol-util/monadic-parser.js +2 -2
  612. package/lib/commonjs/mol-util/param-definition.js +7 -7
  613. package/lib/commonjs/mol-util/read.js +2 -2
  614. package/lib/commonjs/mol-util/retry-if.js +2 -2
  615. package/lib/commonjs/mol-util/string.js +1 -1
  616. package/lib/commonjs/mol-util/zip/deflate.js +4 -3
  617. package/lib/commonjs/mol-util/zip/inflate.js +2 -2
  618. package/lib/commonjs/mol-util/zip/zip.d.ts +7 -1
  619. package/lib/commonjs/mol-util/zip/zip.js +21 -16
  620. package/lib/commonjs/servers/common/file-handle.js +1 -1
  621. package/lib/commonjs/servers/common/swagger-ui/index.js +1 -1
  622. package/lib/commonjs/servers/model/config.d.ts +2 -2
  623. package/lib/commonjs/servers/model/config.js +5 -5
  624. package/lib/commonjs/servers/model/preprocess/converter.js +2 -2
  625. package/lib/commonjs/servers/model/preprocess/master.js +3 -3
  626. package/lib/commonjs/servers/model/preprocess/parallel.js +6 -6
  627. package/lib/commonjs/servers/model/preprocess/preprocess.js +4 -4
  628. package/lib/commonjs/servers/model/preprocess.js +1 -1
  629. package/lib/commonjs/servers/model/properties/providers/pdbe.js +8 -8
  630. package/lib/commonjs/servers/model/properties/providers/wwpdb.js +12 -12
  631. package/lib/commonjs/servers/model/property-provider.js +3 -3
  632. package/lib/commonjs/servers/model/query.js +1 -1
  633. package/lib/commonjs/servers/model/server/api-local.js +2 -2
  634. package/lib/commonjs/servers/model/server/api-schema.js +2 -2
  635. package/lib/commonjs/servers/model/server/api-web.js +5 -5
  636. package/lib/commonjs/servers/model/server/api.js +6 -6
  637. package/lib/commonjs/servers/model/server/query.js +15 -15
  638. package/lib/commonjs/servers/model/server/structure-wrapper.js +21 -21
  639. package/lib/commonjs/servers/model/server.js +2 -2
  640. package/lib/commonjs/servers/model/utils/fetch-props-pdbe.js +6 -6
  641. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -3
  642. package/lib/commonjs/servers/model/utils/writer.js +3 -3
  643. package/lib/commonjs/servers/plugin-state/config.js +1 -1
  644. package/lib/commonjs/servers/plugin-state/index.js +6 -6
  645. package/lib/commonjs/servers/volume/common/binary-schema.js +1 -1
  646. package/lib/commonjs/servers/volume/common/data-format.js +3 -3
  647. package/lib/commonjs/servers/volume/common/file.js +8 -8
  648. package/lib/commonjs/servers/volume/config.js +6 -6
  649. package/lib/commonjs/servers/volume/pack/format/ccp4.js +4 -4
  650. package/lib/commonjs/servers/volume/pack/format/dsn6.js +4 -4
  651. package/lib/commonjs/servers/volume/pack/format.js +3 -3
  652. package/lib/commonjs/servers/volume/pack/main.js +13 -13
  653. package/lib/commonjs/servers/volume/pack/sampling.js +13 -13
  654. package/lib/commonjs/servers/volume/pack/writer.js +2 -2
  655. package/lib/commonjs/servers/volume/pack.js +1 -1
  656. package/lib/commonjs/servers/volume/query.js +4 -4
  657. package/lib/commonjs/servers/volume/server/algebra/box.js +1 -1
  658. package/lib/commonjs/servers/volume/server/api.js +8 -8
  659. package/lib/commonjs/servers/volume/server/local-api.js +8 -8
  660. package/lib/commonjs/servers/volume/server/query/compose.js +8 -8
  661. package/lib/commonjs/servers/volume/server/query/execute.js +10 -10
  662. package/lib/commonjs/servers/volume/server/query/identify.js +2 -2
  663. package/lib/commonjs/servers/volume/server/web-api.js +7 -7
  664. package/lib/commonjs/servers/volume/server.js +2 -2
  665. package/lib/examples/alpha-orbitals/controls.js +2 -2
  666. package/lib/examples/alpha-orbitals/index.html +61 -61
  667. package/lib/examples/basic-wrapper/controls.js +1 -1
  668. package/lib/examples/basic-wrapper/index.html +137 -137
  669. package/lib/examples/lighting/index.html +88 -88
  670. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  671. package/lib/examples/proteopedia-wrapper/ui/controls.js +1 -1
  672. package/lib/extensions/cellpack/model.js +4 -2
  673. package/lib/extensions/cellpack/state.js +2 -2
  674. package/lib/extensions/dnatco/confal-pyramids/color.d.ts +397 -2
  675. package/lib/extensions/dnatco/confal-pyramids/color.js +224 -132
  676. package/lib/extensions/dnatco/confal-pyramids/property.js +1 -3
  677. package/lib/extensions/dnatco/confal-pyramids/util.js +19 -20
  678. package/lib/extensions/geo-export/ui.js +2 -2
  679. package/lib/extensions/model-export/ui.js +2 -2
  680. package/lib/extensions/mp4-export/ui.js +2 -2
  681. package/lib/extensions/rcsb/assembly-symmetry/ui.js +3 -3
  682. package/lib/extensions/rcsb/validation-report/representation.js +19 -2
  683. package/lib/extensions/zenodo/index.d.ts +7 -0
  684. package/lib/extensions/zenodo/index.js +32 -0
  685. package/lib/extensions/zenodo/ui.d.ts +61 -0
  686. package/lib/extensions/zenodo/ui.js +303 -0
  687. package/lib/mol-canvas3d/camera.js +2 -1
  688. package/lib/mol-canvas3d/helper/camera-helper.js +1 -1
  689. package/lib/mol-canvas3d/helper/handle-helper.js +1 -1
  690. package/lib/mol-canvas3d/helper/interaction-events.js +1 -1
  691. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +2 -2
  692. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  693. package/lib/mol-geo/geometry/mesh/color-smoothing.d.ts +1 -1
  694. package/lib/mol-geo/geometry/mesh/color-smoothing.js +5 -3
  695. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  696. package/lib/mol-geo/geometry/text/text-builder.js +2 -1
  697. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +1 -1
  698. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +6 -4
  699. package/lib/mol-gl/shader-code.js +2 -1
  700. package/lib/mol-gl/webgl/buffer.js +2 -3
  701. package/lib/mol-gl/webgl/context.d.ts +1 -1
  702. package/lib/mol-gl/webgl/context.js +2 -2
  703. package/lib/mol-io/common/binary-cif/classifier.js +3 -2
  704. package/lib/mol-io/common/binary-cif/decoder.js +4 -3
  705. package/lib/mol-io/common/io-buffer.d.ts +206 -0
  706. package/lib/mol-io/common/io-buffer.js +405 -0
  707. package/lib/mol-io/common/netcdf/reader.d.ts +78 -0
  708. package/lib/mol-io/common/netcdf/reader.js +456 -0
  709. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  710. package/lib/mol-io/reader/nctraj/parser.d.ts +18 -0
  711. package/lib/mol-io/reader/nctraj/parser.js +97 -0
  712. package/lib/mol-io/reader/prmtop/parser.d.ts +58 -0
  713. package/lib/mol-io/reader/prmtop/parser.js +168 -0
  714. package/lib/mol-io/reader/top/parser.d.ts +37 -0
  715. package/lib/mol-io/reader/top/parser.js +299 -0
  716. package/lib/mol-io/reader/trr/parser.d.ts +22 -0
  717. package/lib/mol-io/reader/trr/parser.js +142 -0
  718. package/lib/mol-io/writer/cif/encoder.js +2 -1
  719. package/lib/mol-math/geometry/common.d.ts +2 -1
  720. package/lib/mol-math/geometry/common.js +1 -1
  721. package/lib/mol-math/geometry/gaussian-density/cpu.d.ts +1 -1
  722. package/lib/mol-math/geometry/gaussian-density/cpu.js +2 -2
  723. package/lib/mol-math/geometry/gaussian-density/gpu.d.ts +1 -1
  724. package/lib/mol-math/geometry/gaussian-density/gpu.js +7 -7
  725. package/lib/mol-math/geometry/gaussian-density.d.ts +2 -2
  726. package/lib/mol-math/geometry/gaussian-density.js +1 -1
  727. package/lib/mol-math/geometry/molecular-surface.d.ts +2 -1
  728. package/lib/mol-math/geometry/molecular-surface.js +2 -2
  729. package/lib/mol-math/geometry/primitives/box3d.js +2 -1
  730. package/lib/mol-math/geometry/primitives/sphere3d.js +12 -6
  731. package/lib/mol-model/sequence/sequence.js +2 -1
  732. package/lib/mol-model/structure/model/types/saccharides.d.ts +8 -0
  733. package/lib/mol-model/structure/model/types/saccharides.js +8 -0
  734. package/lib/mol-model/structure/structure/carbohydrates/constants.d.ts +1 -1
  735. package/lib/mol-model/structure/structure/carbohydrates/constants.js +6 -9
  736. package/lib/mol-model/structure/structure/structure.js +4 -1
  737. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -0
  738. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +4 -2
  739. package/lib/mol-model/structure/structure/unit.js +1 -18
  740. package/lib/mol-model-formats/structure/basic/atomic.d.ts +1 -1
  741. package/lib/mol-model-formats/structure/basic/atomic.js +1 -14
  742. package/lib/mol-model-formats/structure/basic/parser.d.ts +1 -1
  743. package/lib/mol-model-formats/structure/basic/parser.js +1 -1
  744. package/lib/mol-model-formats/structure/basic/schema.d.ts +2 -2
  745. package/lib/mol-model-formats/structure/basic/schema.js +7 -2
  746. package/lib/mol-model-formats/structure/basic/util.d.ts +33 -2
  747. package/lib/mol-model-formats/structure/basic/util.js +24 -1
  748. package/lib/mol-model-formats/structure/cif-core.js +4 -4
  749. package/lib/mol-model-formats/structure/common/component.js +5 -1
  750. package/lib/mol-model-formats/structure/cube.js +3 -3
  751. package/lib/mol-model-formats/structure/gro.js +3 -1
  752. package/lib/mol-model-formats/structure/mmcif.d.ts +1 -1
  753. package/lib/mol-model-formats/structure/mmcif.js +4 -2
  754. package/lib/mol-model-formats/structure/mol.js +3 -3
  755. package/lib/mol-model-formats/structure/mol2.js +4 -4
  756. package/lib/mol-model-formats/structure/nctraj.d.ts +9 -0
  757. package/lib/mol-model-formats/structure/nctraj.js +56 -0
  758. package/lib/mol-model-formats/structure/pdb.d.ts +1 -1
  759. package/lib/mol-model-formats/structure/pdb.js +5 -3
  760. package/lib/mol-model-formats/structure/prmtop.d.ts +16 -0
  761. package/lib/mol-model-formats/structure/prmtop.js +144 -0
  762. package/lib/mol-model-formats/structure/property/symmetry.js +11 -1
  763. package/lib/mol-model-formats/structure/psf.js +3 -1
  764. package/lib/mol-model-formats/structure/top.d.ts +16 -0
  765. package/lib/mol-model-formats/structure/top.js +186 -0
  766. package/lib/mol-model-formats/structure/trr.d.ts +9 -0
  767. package/lib/mol-model-formats/structure/trr.js +42 -0
  768. package/lib/mol-model-formats/structure/util.d.ts +2 -2
  769. package/lib/mol-model-formats/structure/util.js +19 -20
  770. package/lib/mol-model-formats/structure/xyz.js +2 -2
  771. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +9 -3
  772. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +10 -5
  773. package/lib/mol-model-props/integrative/cross-link-restraint/representation.js +10 -1
  774. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  775. package/lib/mol-plugin/context.d.ts +2 -1
  776. package/lib/mol-plugin/context.js +4 -3
  777. package/lib/mol-plugin/spec.js +1 -1
  778. package/lib/mol-plugin/version.js +2 -2
  779. package/lib/mol-plugin-state/actions/file.d.ts +1 -1
  780. package/lib/mol-plugin-state/actions/file.js +88 -55
  781. package/lib/mol-plugin-state/actions/structure.d.ts +11 -2
  782. package/lib/mol-plugin-state/actions/structure.js +174 -4
  783. package/lib/mol-plugin-state/actions/volume.js +3 -2
  784. package/lib/mol-plugin-state/formats/{structure.d.ts → coordinates.d.ts} +34 -18
  785. package/lib/mol-plugin-state/formats/coordinates.js +67 -0
  786. package/lib/mol-plugin-state/formats/registry.d.ts +3 -3
  787. package/lib/mol-plugin-state/formats/registry.js +13 -8
  788. package/lib/mol-plugin-state/formats/topology.d.ts +73 -0
  789. package/lib/mol-plugin-state/formats/topology.js +84 -0
  790. package/lib/mol-plugin-state/helpers/root-structure.js +1 -1
  791. package/lib/mol-plugin-state/helpers/structure-component.js +2 -1
  792. package/lib/mol-plugin-state/manager/snapshots.js +4 -4
  793. package/lib/mol-plugin-state/objects.d.ts +47 -1
  794. package/lib/mol-plugin-state/objects.js +17 -1
  795. package/lib/mol-plugin-state/transforms/data.d.ts +6 -0
  796. package/lib/mol-plugin-state/transforms/data.js +61 -9
  797. package/lib/mol-plugin-state/transforms/model.d.ts +14 -2
  798. package/lib/mol-plugin-state/transforms/model.js +112 -3
  799. package/lib/mol-plugin-ui/base.js +1 -1
  800. package/lib/mol-plugin-ui/controls/action-menu.js +7 -7
  801. package/lib/mol-plugin-ui/controls/color.js +3 -3
  802. package/lib/mol-plugin-ui/controls/common.js +10 -10
  803. package/lib/mol-plugin-ui/controls/icons.js +70 -70
  804. package/lib/mol-plugin-ui/controls/legend.js +3 -3
  805. package/lib/mol-plugin-ui/controls/line-graph/line-graph-component.js +1 -1
  806. package/lib/mol-plugin-ui/controls/parameters.js +51 -51
  807. package/lib/mol-plugin-ui/controls/screenshot.js +2 -2
  808. package/lib/mol-plugin-ui/controls/slider.js +5 -5
  809. package/lib/mol-plugin-ui/controls.js +7 -7
  810. package/lib/mol-plugin-ui/custom/volume.js +4 -4
  811. package/lib/mol-plugin-ui/left-panel.d.ts +8 -1
  812. package/lib/mol-plugin-ui/left-panel.js +33 -12
  813. package/lib/mol-plugin-ui/plugin.js +10 -10
  814. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  815. package/lib/mol-plugin-ui/sequence.js +5 -5
  816. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  817. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  818. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  819. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  820. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  821. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  822. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  823. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  824. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  825. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  826. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  827. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  828. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +128 -128
  829. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  830. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  831. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  832. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  833. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  834. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  835. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  836. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  837. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  838. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  839. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  840. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  841. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  842. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  843. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  844. package/lib/mol-plugin-ui/state/actions.js +1 -1
  845. package/lib/mol-plugin-ui/state/animation.js +1 -1
  846. package/lib/mol-plugin-ui/state/common.js +7 -7
  847. package/lib/mol-plugin-ui/state/snapshots.js +9 -9
  848. package/lib/mol-plugin-ui/state/tree.js +14 -14
  849. package/lib/mol-plugin-ui/state/update-transform.js +1 -1
  850. package/lib/mol-plugin-ui/structure/components.js +10 -10
  851. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  852. package/lib/mol-plugin-ui/structure/generic.js +4 -4
  853. package/lib/mol-plugin-ui/structure/measurements.js +8 -8
  854. package/lib/mol-plugin-ui/structure/quick-styles.js +2 -2
  855. package/lib/mol-plugin-ui/structure/selection.js +7 -7
  856. package/lib/mol-plugin-ui/structure/source.js +4 -4
  857. package/lib/mol-plugin-ui/structure/superposition.js +8 -8
  858. package/lib/mol-plugin-ui/structure/volume.js +4 -4
  859. package/lib/mol-plugin-ui/task.js +5 -5
  860. package/lib/mol-plugin-ui/toast.js +4 -4
  861. package/lib/mol-plugin-ui/viewport/canvas.js +3 -3
  862. package/lib/mol-plugin-ui/viewport/help.js +8 -8
  863. package/lib/mol-plugin-ui/viewport/screenshot.js +3 -3
  864. package/lib/mol-plugin-ui/viewport/simple-settings.js +1 -1
  865. package/lib/mol-plugin-ui/viewport.js +4 -4
  866. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +1 -1
  867. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +20 -10
  868. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -1
  869. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -5
  870. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +16 -6
  871. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +8 -3
  872. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.js +10 -1
  873. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +10 -1
  874. package/lib/mol-repr/structure/visual/element-point.d.ts +1 -1
  875. package/lib/mol-repr/structure/visual/element-point.js +22 -3
  876. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +2 -3
  877. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +1 -1
  878. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +10 -10
  879. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -1
  880. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +4 -5
  881. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +4 -4
  882. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -1
  883. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +5 -5
  884. package/lib/mol-repr/structure/visual/util/common.d.ts +1 -3
  885. package/lib/mol-repr/structure/visual/util/common.js +1 -24
  886. package/lib/mol-repr/structure/visual/util/element.js +36 -2
  887. package/lib/mol-repr/structure/visual/util/link.d.ts +13 -3
  888. package/lib/mol-repr/structure/visual/util/link.js +55 -6
  889. package/lib/mol-script/language/builder.d.ts +1 -0
  890. package/lib/mol-script/language/parser.js +7 -4
  891. package/lib/mol-task/util/scheduler.d.ts +2 -2
  892. package/lib/mol-task/util/scheduler.js +7 -7
  893. package/lib/mol-theme/color/hydrophobicity.js +2 -2
  894. package/lib/mol-util/data-source.js +2 -1
  895. package/lib/mol-util/file-info.d.ts +1 -3
  896. package/lib/mol-util/file-info.js +2 -10
  897. package/lib/mol-util/index.d.ts +1 -0
  898. package/lib/mol-util/index.js +5 -0
  899. package/lib/mol-util/zip/deflate.js +2 -1
  900. package/lib/mol-util/zip/zip.d.ts +7 -1
  901. package/lib/mol-util/zip/zip.js +5 -1
  902. package/lib/servers/model/config.d.ts +2 -2
  903. package/package.json +160 -160
  904. package/lib/commonjs/mol-plugin-state/formats/structure.js +0 -64
  905. package/lib/mol-plugin-state/formats/structure.js +0 -61
@@ -25,7 +25,7 @@ var StructureMeasurementsControls = /** @class */ (function (_super) {
25
25
  };
26
26
  };
27
27
  StructureMeasurementsControls.prototype.renderControls = function () {
28
- return _jsxs(_Fragment, { children: [_jsx(MeasurementControls, {}, void 0), _jsx(MeasurementList, {}, void 0)] }, void 0);
28
+ return _jsxs(_Fragment, { children: [_jsx(MeasurementControls, {}), _jsx(MeasurementList, {})] });
29
29
  };
30
30
  return StructureMeasurementsControls;
31
31
  }(CollapsableControls));
@@ -48,11 +48,11 @@ var MeasurementList = /** @class */ (function (_super) {
48
48
  if (cell.obj)
49
49
  group.push(_jsx(MeasurementEntry, { cell: cell }, cell.obj.id));
50
50
  }
51
- return group.length ? _jsx(ExpandGroup, __assign({ header: header, initiallyExpanded: true }, { children: group }), void 0) : null;
51
+ return group.length ? _jsx(ExpandGroup, __assign({ header: header, initiallyExpanded: true }, { children: group })) : null;
52
52
  };
53
53
  MeasurementList.prototype.render = function () {
54
54
  var measurements = this.plugin.managers.structure.measurement.state;
55
- return _jsxs("div", __assign({ style: { marginTop: '6px' } }, { children: [this.renderGroup(measurements.labels, 'Labels'), this.renderGroup(measurements.distances, 'Distances'), this.renderGroup(measurements.angles, 'Angles'), this.renderGroup(measurements.dihedrals, 'Dihedrals'), this.renderGroup(measurements.orientations, 'Orientations'), this.renderGroup(measurements.planes, 'Planes')] }), void 0);
55
+ return _jsxs("div", __assign({ style: { marginTop: '6px' } }, { children: [this.renderGroup(measurements.labels, 'Labels'), this.renderGroup(measurements.distances, 'Distances'), this.renderGroup(measurements.angles, 'Angles'), this.renderGroup(measurements.dihedrals, 'Dihedrals'), this.renderGroup(measurements.orientations, 'Orientations'), this.renderGroup(measurements.planes, 'Planes')] }));
56
56
  };
57
57
  return MeasurementList;
58
58
  }(PurePluginUIComponent));
@@ -169,7 +169,7 @@ var MeasurementControls = /** @class */ (function (_super) {
169
169
  MeasurementControls.prototype.historyEntry = function (e, idx) {
170
170
  var _this = this;
171
171
  var history = this.plugin.managers.structure.selection.additionsHistory;
172
- return _jsxs("div", __assign({ className: 'msp-flex-row', onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: [_jsxs(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' } }, { children: [idx, ". ", _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } }, void 0)] }), void 0), history.length > 1 && _jsx(IconButton, { svg: ArrowUpwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'up'); }, flex: '20px', title: 'Move up' }, void 0), history.length > 1 && _jsx(IconButton, { svg: ArrowDownwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'down'); }, flex: '20px', title: 'Move down' }, void 0), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.plugin.managers.structure.selection.modifyHistory(e, 'remove'); }, flex: true, title: 'Remove' }, void 0)] }), e.id);
172
+ return _jsxs("div", __assign({ className: 'msp-flex-row', onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: [_jsxs(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' } }, { children: [idx, ". ", _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } })] })), history.length > 1 && _jsx(IconButton, { svg: ArrowUpwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'up'); }, flex: '20px', title: 'Move up' }), history.length > 1 && _jsx(IconButton, { svg: ArrowDownwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'down'); }, flex: '20px', title: 'Move down' }), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.plugin.managers.structure.selection.modifyHistory(e, 'remove'); }, flex: true, title: 'Remove' })] }), e.id);
173
173
  };
174
174
  MeasurementControls.prototype.add = function () {
175
175
  var history = this.plugin.managers.structure.selection.additionsHistory;
@@ -177,10 +177,10 @@ var MeasurementControls = /** @class */ (function (_super) {
177
177
  for (var i = 0, _i = Math.min(history.length, 4); i < _i; i++) {
178
178
  entries.push(this.historyEntry(history[i], i + 1));
179
179
  }
180
- return _jsxs(_Fragment, { children: [_jsx(ActionMenu, { items: this.actions, onSelect: this.selectAction }, void 0), entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries }), void 0), entries.length === 0 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }, void 0), "Add one or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }, void 0), " mode)"] }), void 0) }), void 0)] }, void 0);
180
+ return _jsxs(_Fragment, { children: [_jsx(ActionMenu, { items: this.actions, onSelect: this.selectAction }), entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries })), entries.length === 0 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }), "Add one or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }), " mode)"] })) }))] });
181
181
  };
182
182
  MeasurementControls.prototype.render = function () {
183
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(ToggleButton, { icon: AddSvg, label: 'Add', toggle: this.toggleAdd, isSelected: this.state.action === 'add', disabled: this.state.isBusy, className: 'msp-btn-apply-simple' }, void 0), _jsx(ToggleButton, { icon: TuneSvg, label: '', title: 'Options', toggle: this.toggleOptions, isSelected: this.state.action === 'options', disabled: this.state.isBusy, style: { flex: '0 0 40px', padding: 0 } }, void 0)] }), void 0), this.state.action === 'add' && this.add(), this.state.action === 'options' && _jsx(MeasurementsOptions, {}, void 0)] }, void 0);
183
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(ToggleButton, { icon: AddSvg, label: 'Add', toggle: this.toggleAdd, isSelected: this.state.action === 'add', disabled: this.state.isBusy, className: 'msp-btn-apply-simple' }), _jsx(ToggleButton, { icon: TuneSvg, label: '', title: 'Options', toggle: this.toggleOptions, isSelected: this.state.action === 'options', disabled: this.state.isBusy, style: { flex: '0 0 40px', padding: 0 } })] })), this.state.action === 'add' && this.add(), this.state.action === 'options' && _jsx(MeasurementsOptions, {})] });
184
184
  };
185
185
  return MeasurementControls;
186
186
  }(PurePluginUIComponent));
@@ -206,7 +206,7 @@ var MeasurementsOptions = /** @class */ (function (_super) {
206
206
  };
207
207
  MeasurementsOptions.prototype.render = function () {
208
208
  var measurements = this.plugin.managers.structure.measurement.state;
209
- return _jsx("div", __assign({ className: 'msp-control-offset' }, { children: _jsx(ParameterControls, { params: StructureMeasurementParams, values: measurements.options, onChangeValues: this.changed, isDisabled: this.state.isDisabled }, void 0) }), void 0);
209
+ return _jsx("div", __assign({ className: 'msp-control-offset' }, { children: _jsx(ParameterControls, { params: StructureMeasurementParams, values: measurements.options, onChangeValues: this.changed, isDisabled: this.state.isDisabled }) }));
210
210
  };
211
211
  return MeasurementsOptions;
212
212
  }(PurePluginUIComponent));
@@ -324,7 +324,7 @@ var MeasurementEntry = /** @class */ (function (_super) {
324
324
  var obj = cell.obj;
325
325
  if (!obj)
326
326
  return null;
327
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight }, { children: [_jsx("button", __assign({ className: 'msp-form-control msp-control-button-label msp-no-overflow', title: 'Click to focus. Hover to highlight.', onClick: this.focus, style: { width: 'auto', textAlign: 'left' } }, { children: _jsx("span", { dangerouslySetInnerHTML: { __html: this.label } }, void 0) }), void 0), _jsx(IconButton, { svg: cell.state.isHidden ? VisibilityOffOutlinedSvg : VisibilityOutlinedSvg, toggleState: false, small: true, className: 'msp-form-control', onClick: this.toggleVisibility, flex: true, title: cell.state.isHidden ? 'Show' : 'Hide' }, void 0), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: this.delete, flex: true, title: 'Delete', toggleState: false }, void 0), _jsx(IconButton, { svg: MoreHorizSvg, className: 'msp-form-control', onClick: this.toggleUpdate, flex: true, title: 'Actions', toggleState: this.state.showUpdate }, void 0)] }), obj.id), this.state.showUpdate && cell.parent && _jsx(_Fragment, { children: _jsxs("div", __assign({ className: 'msp-accent-offset' }, { children: [_jsx(ActionMenu, { items: this.actions, onSelect: this.selectAction, noOffset: true }, void 0), _jsx(ExpandGroup, __assign({ header: 'Options', noOffset: true }, { children: _jsx(UpdateTransformControl, { state: cell.parent, transform: cell.transform, customHeader: 'none', autoHideApply: true }, void 0) }), void 0)] }), void 0) }, void 0)] }, void 0);
327
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight }, { children: [_jsx("button", __assign({ className: 'msp-form-control msp-control-button-label msp-no-overflow', title: 'Click to focus. Hover to highlight.', onClick: this.focus, style: { width: 'auto', textAlign: 'left' } }, { children: _jsx("span", { dangerouslySetInnerHTML: { __html: this.label } }) })), _jsx(IconButton, { svg: cell.state.isHidden ? VisibilityOffOutlinedSvg : VisibilityOutlinedSvg, toggleState: false, small: true, className: 'msp-form-control', onClick: this.toggleVisibility, flex: true, title: cell.state.isHidden ? 'Show' : 'Hide' }), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: this.delete, flex: true, title: 'Delete', toggleState: false }), _jsx(IconButton, { svg: MoreHorizSvg, className: 'msp-form-control', onClick: this.toggleUpdate, flex: true, title: 'Actions', toggleState: this.state.showUpdate })] }), obj.id), this.state.showUpdate && cell.parent && _jsx(_Fragment, { children: _jsxs("div", __assign({ className: 'msp-accent-offset' }, { children: [_jsx(ActionMenu, { items: this.actions, onSelect: this.selectAction, noOffset: true }), _jsx(ExpandGroup, __assign({ header: 'Options', noOffset: true }, { children: _jsx(UpdateTransformControl, { state: cell.parent, transform: cell.transform, customHeader: 'none', autoHideApply: true }) }))] })) })] });
328
328
  };
329
329
  return MeasurementEntry;
330
330
  }(PurePluginUIComponent));
@@ -27,7 +27,7 @@ var StructureQuickStylesControls = /** @class */ (function (_super) {
27
27
  };
28
28
  };
29
29
  StructureQuickStylesControls.prototype.renderControls = function () {
30
- return _jsx(_Fragment, { children: _jsx(QuickStyles, {}, void 0) }, void 0);
30
+ return _jsx(_Fragment, { children: _jsx(QuickStyles, {}) });
31
31
  };
32
32
  return StructureQuickStylesControls;
33
33
  }(CollapsableControls));
@@ -120,7 +120,7 @@ var QuickStyles = /** @class */ (function (_super) {
120
120
  };
121
121
  QuickStyles.prototype.render = function () {
122
122
  var _this = this;
123
- return _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(Button, __assign({ noOverflow: true, title: 'Applies default representation preset. Set outline and occlusion effects to defaults.', onClick: function () { return _this.default(); }, style: { width: 'auto' } }, { children: "Default" }), void 0), _jsx(Button, __assign({ noOverflow: true, title: 'Applies no representation preset. Enables outline and occlusion effects. Enables ignore-light representation parameter.', onClick: function () { return _this.stylized(); }, style: { width: 'auto' } }, { children: "Stylized" }), void 0), _jsx(Button, __assign({ noOverflow: true, title: 'Applies illustrative representation preset. Enables outline and occlusion effects. Enables ignore-light parameter.', onClick: function () { return _this.illustrative(); }, style: { width: 'auto' } }, { children: "Illustrative" }), void 0)] }), void 0);
123
+ return _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(Button, __assign({ noOverflow: true, title: 'Applies default representation preset. Set outline and occlusion effects to defaults.', onClick: function () { return _this.default(); }, style: { width: 'auto' } }, { children: "Default" })), _jsx(Button, __assign({ noOverflow: true, title: 'Applies no representation preset. Enables outline and occlusion effects. Enables ignore-light representation parameter.', onClick: function () { return _this.stylized(); }, style: { width: 'auto' } }, { children: "Stylized" })), _jsx(Button, __assign({ noOverflow: true, title: 'Applies illustrative representation preset. Enables outline and occlusion effects. Enables ignore-light parameter.', onClick: function () { return _this.illustrative(); }, style: { width: 'auto' } }, { children: "Illustrative" }))] }));
124
124
  };
125
125
  return QuickStyles;
126
126
  }(PurePluginUIComponent));
@@ -40,7 +40,7 @@ var ToggleSelectionModeButton = /** @class */ (function (_super) {
40
40
  var style = this.props.inline
41
41
  ? { background: 'transparent', width: 'auto', height: 'auto', lineHeight: 'unset' }
42
42
  : { background: 'transparent' };
43
- return _jsx(IconButton, { svg: SelectionModeSvg, onClick: this._toggleSelMode, title: 'Toggle Selection Mode', style: style, toggleState: this.plugin.selectionMode }, void 0);
43
+ return _jsx(IconButton, { svg: SelectionModeSvg, onClick: this._toggleSelMode, title: 'Toggle Selection Mode', style: style, toggleState: this.plugin.selectionMode });
44
44
  };
45
45
  return ToggleSelectionModeButton;
46
46
  }(PurePluginUIComponent));
@@ -219,13 +219,13 @@ var StructureSelectionActionsControls = /** @class */ (function (_super) {
219
219
  : 'Some mistakes of the past can be undone.';
220
220
  var children = void 0;
221
221
  if (this.state.action && !this.state.helper) {
222
- children = _jsxs(_Fragment, { children: [(this.state.action && this.state.action !== 'theme' && this.state.action !== 'add-component' && this.state.action !== 'help') && _jsxs("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: [_jsx(ActionMenu, { header: ActionHeader.get(this.state.action), title: 'Click to close.', items: this.queries, onSelect: this.selectQuery, noOffset: true }, void 0), _jsx(ActionMenu, { items: this.helpers, onSelect: this.selectHelper, noOffset: true }, void 0)] }), void 0), this.state.action === 'theme' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Theme', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleTheme, topRightIcon: CloseSvg }, { children: _jsx(ApplyThemeControls, { onApply: this.toggleTheme }, void 0) }), void 0) }), void 0), this.state.action === 'add-component' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Add Component', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleAddComponent, topRightIcon: CloseSvg }, { children: _jsx(AddComponentControls, { onApply: this.toggleAddComponent, forSelection: true }, void 0) }), void 0) }), void 0), this.state.action === 'help' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsxs(ControlGroup, __assign({ header: 'Help', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleHelp, topRightIcon: CloseSvg, maxHeight: '300px' }, { children: [_jsx(HelpGroup, __assign({ header: 'Selection Operations' }, { children: _jsxs(HelpText, { children: ["Use ", _jsx(Icon, { svg: UnionSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: SubtractSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: IntersectSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: SetSvg, inline: true }, void 0), " to modify the selection."] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Representation Operations' }, { children: _jsxs(HelpText, { children: ["Use ", _jsx(Icon, { svg: BrushSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: CubeOutlineSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: RemoveSvg, inline: true }, void 0), " ", _jsx(Icon, { svg: RestoreSvg, inline: true }, void 0), " to color, create components, remove from components, or undo actions."] }, void 0) }), void 0), _jsx(ViewportHelpContent, { selectOnly: true }, void 0)] }), void 0) }), void 0)] }, void 0);
222
+ children = _jsxs(_Fragment, { children: [(this.state.action && this.state.action !== 'theme' && this.state.action !== 'add-component' && this.state.action !== 'help') && _jsxs("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: [_jsx(ActionMenu, { header: ActionHeader.get(this.state.action), title: 'Click to close.', items: this.queries, onSelect: this.selectQuery, noOffset: true }), _jsx(ActionMenu, { items: this.helpers, onSelect: this.selectHelper, noOffset: true })] })), this.state.action === 'theme' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Theme', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleTheme, topRightIcon: CloseSvg }, { children: _jsx(ApplyThemeControls, { onApply: this.toggleTheme }) })) })), this.state.action === 'add-component' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Add Component', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleAddComponent, topRightIcon: CloseSvg }, { children: _jsx(AddComponentControls, { onApply: this.toggleAddComponent, forSelection: true }) })) })), this.state.action === 'help' && _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsxs(ControlGroup, __assign({ header: 'Help', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleHelp, topRightIcon: CloseSvg, maxHeight: '300px' }, { children: [_jsx(HelpGroup, __assign({ header: 'Selection Operations' }, { children: _jsxs(HelpText, { children: ["Use ", _jsx(Icon, { svg: UnionSvg, inline: true }), " ", _jsx(Icon, { svg: SubtractSvg, inline: true }), " ", _jsx(Icon, { svg: IntersectSvg, inline: true }), " ", _jsx(Icon, { svg: SetSvg, inline: true }), " to modify the selection."] }) })), _jsx(HelpGroup, __assign({ header: 'Representation Operations' }, { children: _jsxs(HelpText, { children: ["Use ", _jsx(Icon, { svg: BrushSvg, inline: true }), " ", _jsx(Icon, { svg: CubeOutlineSvg, inline: true }), " ", _jsx(Icon, { svg: RemoveSvg, inline: true }), " ", _jsx(Icon, { svg: RestoreSvg, inline: true }), " to color, create components, remove from components, or undo actions."] }) })), _jsx(ViewportHelpContent, { selectOnly: true })] })) }))] });
223
223
  }
224
224
  else if (ActionHeader.has(this.state.action) && this.state.helper === 'residue-list') {
225
225
  var close_1 = function () { return _this.setState({ action: void 0, helper: void 0 }); };
226
- children = _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Atom/Residue Identifier List', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: close_1, topRightIcon: CloseSvg }, { children: _jsx(ResidueListSelectionHelper, { modifier: this.state.action, plugin: this.plugin, close: close_1 }, void 0) }), void 0) }), void 0);
226
+ children = _jsx("div", __assign({ className: 'msp-selection-viewport-controls-actions' }, { children: _jsx(ControlGroup, __assign({ header: 'Atom/Residue Identifier List', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: close_1, topRightIcon: CloseSvg }, { children: _jsx(ResidueListSelectionHelper, { modifier: this.state.action, plugin: this.plugin, close: close_1 }) })) }));
227
227
  }
228
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { background: 'none' } }, { children: [_jsx(PureSelectControl, { title: "Picking Level for selecting and highlighting", param: StructureSelectionParams.granularity, name: 'granularity', value: granularity, onChange: this.setGranuality, isDisabled: this.isDisabled }, void 0), _jsx(ToggleButton, { icon: UnionSvg, title: "".concat(ActionHeader.get('add'), ". Hold shift key to keep menu open."), toggle: this.toggleAdd, isSelected: this.state.action === 'add', disabled: this.isDisabled }, void 0), _jsx(ToggleButton, { icon: SubtractSvg, title: "".concat(ActionHeader.get('remove'), ". Hold shift key to keep menu open."), toggle: this.toggleRemove, isSelected: this.state.action === 'remove', disabled: this.isDisabled }, void 0), _jsx(ToggleButton, { icon: IntersectSvg, title: "".concat(ActionHeader.get('intersect'), ". Hold shift key to keep menu open."), toggle: this.toggleIntersect, isSelected: this.state.action === 'intersect', disabled: this.isDisabled }, void 0), _jsx(ToggleButton, { icon: SetSvg, title: "".concat(ActionHeader.get('set'), ". Hold shift key to keep menu open."), toggle: this.toggleSet, isSelected: this.state.action === 'set', disabled: this.isDisabled }, void 0), _jsx(ToggleButton, { icon: BrushSvg, title: 'Apply Theme to Selection', toggle: this.toggleTheme, isSelected: this.state.action === 'theme', disabled: this.isDisabled, style: { marginLeft: '10px' } }, void 0), _jsx(ToggleButton, { icon: CubeOutlineSvg, title: 'Create Component of Selection with Representation', toggle: this.toggleAddComponent, isSelected: this.state.action === 'add-component', disabled: this.isDisabled }, void 0), _jsx(IconButton, { svg: RemoveSvg, title: 'Remove/subtract Selection from all Components', onClick: this.subtract, disabled: this.isDisabled }, void 0), _jsx(IconButton, { svg: RestoreSvg, onClick: this.undo, disabled: !this.state.canUndo || this.isDisabled, title: undoTitle }, void 0), _jsx(ToggleButton, { icon: HelpOutlineSvg, title: 'Show/hide help', toggle: this.toggleHelp, style: { marginLeft: '10px' }, isSelected: this.state.action === 'help' }, void 0), _jsx(IconButton, { svg: CancelOutlinedSvg, title: 'Turn selection mode off', onClick: this.turnOff }, void 0)] }), void 0), children] }, void 0);
228
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { background: 'none' } }, { children: [_jsx(PureSelectControl, { title: "Picking Level for selecting and highlighting", param: StructureSelectionParams.granularity, name: 'granularity', value: granularity, onChange: this.setGranuality, isDisabled: this.isDisabled }), _jsx(ToggleButton, { icon: UnionSvg, title: "".concat(ActionHeader.get('add'), ". Hold shift key to keep menu open."), toggle: this.toggleAdd, isSelected: this.state.action === 'add', disabled: this.isDisabled }), _jsx(ToggleButton, { icon: SubtractSvg, title: "".concat(ActionHeader.get('remove'), ". Hold shift key to keep menu open."), toggle: this.toggleRemove, isSelected: this.state.action === 'remove', disabled: this.isDisabled }), _jsx(ToggleButton, { icon: IntersectSvg, title: "".concat(ActionHeader.get('intersect'), ". Hold shift key to keep menu open."), toggle: this.toggleIntersect, isSelected: this.state.action === 'intersect', disabled: this.isDisabled }), _jsx(ToggleButton, { icon: SetSvg, title: "".concat(ActionHeader.get('set'), ". Hold shift key to keep menu open."), toggle: this.toggleSet, isSelected: this.state.action === 'set', disabled: this.isDisabled }), _jsx(ToggleButton, { icon: BrushSvg, title: 'Apply Theme to Selection', toggle: this.toggleTheme, isSelected: this.state.action === 'theme', disabled: this.isDisabled, style: { marginLeft: '10px' } }), _jsx(ToggleButton, { icon: CubeOutlineSvg, title: 'Create Component of Selection with Representation', toggle: this.toggleAddComponent, isSelected: this.state.action === 'add-component', disabled: this.isDisabled }), _jsx(IconButton, { svg: RemoveSvg, title: 'Remove/subtract Selection from all Components', onClick: this.subtract, disabled: this.isDisabled }), _jsx(IconButton, { svg: RestoreSvg, onClick: this.undo, disabled: !this.state.canUndo || this.isDisabled, title: undoTitle }), _jsx(ToggleButton, { icon: HelpOutlineSvg, title: 'Show/hide help', toggle: this.toggleHelp, style: { marginLeft: '10px' }, isSelected: this.state.action === 'help' }), _jsx(IconButton, { svg: CancelOutlinedSvg, title: 'Turn selection mode off', onClick: this.turnOff })] })), children] });
229
229
  };
230
230
  return StructureSelectionActionsControls;
231
231
  }(PluginUIComponent));
@@ -296,7 +296,7 @@ var StructureSelectionStatsControls = /** @class */ (function (_super) {
296
296
  var empty = stats.structureCount === 0 || stats.elementCount === 0;
297
297
  if (empty && this.props.hideOnEmpty)
298
298
  return null;
299
- return _jsx(_Fragment, { children: _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(Button, __assign({ noOverflow: true, onClick: this.focus, title: 'Click to Focus Selection', disabled: empty, onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight, style: { textAlignLast: !empty ? 'left' : void 0 } }, { children: this.stats }), void 0), !empty && _jsx(IconButton, { svg: CancelOutlinedSvg, onClick: this.clear, title: 'Clear', className: 'msp-form-control', flex: true }, void 0)] }), void 0) }, void 0);
299
+ return _jsx(_Fragment, { children: _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(Button, __assign({ noOverflow: true, onClick: this.focus, title: 'Click to Focus Selection', disabled: empty, onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight, style: { textAlignLast: !empty ? 'left' : void 0 } }, { children: this.stats })), !empty && _jsx(IconButton, { svg: CancelOutlinedSvg, onClick: this.clear, title: 'Clear', className: 'msp-form-control', flex: true })] })) });
300
300
  };
301
301
  return StructureSelectionStatsControls;
302
302
  }(PluginUIComponent));
@@ -321,7 +321,7 @@ var ApplyThemeControls = /** @class */ (function (_super) {
321
321
  configurable: true
322
322
  });
323
323
  ApplyThemeControls.prototype.render = function () {
324
- return _jsxs(_Fragment, { children: [_jsx(ParameterControls, { params: this.params, values: this.state.values, onChangeValues: this.paramsChanged }, void 0), _jsx(Button, __assign({ icon: BrushSvg, className: 'msp-btn-commit msp-btn-commit-on', onClick: this.apply, style: { marginTop: '1px' } }, { children: "Apply Theme" }), void 0)] }, void 0);
324
+ return _jsxs(_Fragment, { children: [_jsx(ParameterControls, { params: this.params, values: this.state.values, onChangeValues: this.paramsChanged }), _jsx(Button, __assign({ icon: BrushSvg, className: 'msp-btn-commit msp-btn-commit-on', onClick: this.apply, style: { marginTop: '1px' } }, { children: "Apply Theme" }))] });
325
325
  };
326
326
  return ApplyThemeControls;
327
327
  }(PurePluginUIComponent));
@@ -346,5 +346,5 @@ function ResidueListSelectionHelper(_a) {
346
346
  plugin.log.error('Failed to create selection');
347
347
  }
348
348
  };
349
- return _jsxs(_Fragment, { children: [_jsx(ParameterControls, { params: ResidueListIdTypeParams, values: state, onChangeValues: setState, onEnter: apply }, void 0), _jsxs(Button, __assign({ className: 'msp-btn-commit msp-btn-commit-on', disabled: state.identifiers.trim().length === 0, onClick: apply, style: { marginTop: '1px' } }, { children: [capitalize(modifier), " Selection"] }), void 0)] }, void 0);
349
+ return _jsxs(_Fragment, { children: [_jsx(ParameterControls, { params: ResidueListIdTypeParams, values: state, onChangeValues: setState, onEnter: apply }), _jsxs(Button, __assign({ className: 'msp-btn-commit msp-btn-commit-on', disabled: state.identifiers.trim().length === 0, onClick: apply, style: { marginTop: '1px' } }, { children: [capitalize(modifier), " Selection"] }))] });
350
350
  }
@@ -289,7 +289,7 @@ var StructureSourceControls = /** @class */ (function (_super) {
289
289
  var params = (_a = m.cell.params) === null || _a === void 0 ? void 0 : _a.definition;
290
290
  if (!params)
291
291
  return null;
292
- return _jsx(ParameterControls, { params: params, values: (_b = m.cell.params) === null || _b === void 0 ? void 0 : _b.values, onChangeValues: this.updateStructureModel, isDisabled: this.state.isBusy }, void 0);
292
+ return _jsx(ParameterControls, { params: params, values: (_b = m.cell.params) === null || _b === void 0 ? void 0 : _b.values, onChangeValues: this.updateStructureModel, isDisabled: this.state.isBusy });
293
293
  },
294
294
  enumerable: false,
295
295
  configurable: true
@@ -304,7 +304,7 @@ var StructureSourceControls = /** @class */ (function (_super) {
304
304
  var params = (_a = s.cell.params) === null || _a === void 0 ? void 0 : _a.definition;
305
305
  if (!params || !s.cell.parent)
306
306
  return null;
307
- return _jsx(UpdateTransformControl, { state: s.cell.parent, transform: s.cell.transform, customHeader: 'none', customUpdate: this.updateStructure, noMargin: true, autoHideApply: true }, void 0);
307
+ return _jsx(UpdateTransformControl, { state: s.cell.parent, transform: s.cell.transform, customHeader: 'none', customUpdate: this.updateStructure, noMargin: true, autoHideApply: true });
308
308
  },
309
309
  enumerable: false,
310
310
  configurable: true
@@ -320,7 +320,7 @@ var StructureSourceControls = /** @class */ (function (_super) {
320
320
  var t = StateSelection.tryFindDecorator(this.plugin.state.data, pivot.cell.transform.ref, StateTransforms.Model.TransformStructureConformation);
321
321
  if (!t)
322
322
  return;
323
- return _jsx(ExpandGroup, __assign({ header: "Conformation Transform" }, { children: _jsx(UpdateTransformControl, { state: t.parent, transform: t.transform, customHeader: 'none', noMargin: true, autoHideApply: true }, void 0) }), void 0);
323
+ return _jsx(ExpandGroup, __assign({ header: "Conformation Transform" }, { children: _jsx(UpdateTransformControl, { state: t.parent, transform: t.transform, customHeader: 'none', noMargin: true, autoHideApply: true }) }));
324
324
  },
325
325
  enumerable: false,
326
326
  configurable: true
@@ -329,7 +329,7 @@ var StructureSourceControls = /** @class */ (function (_super) {
329
329
  var disabled = this.state.isBusy || this.isEmpty;
330
330
  var presets = this.presetActions;
331
331
  var label = this.label;
332
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { marginTop: '1px' } }, { children: [_jsx(Button, __assign({ noOverflow: true, flex: true, onClick: this.toggleHierarchy, disabled: disabled, title: label }, { children: label }), void 0), presets.length > 0 && _jsx(IconButton, { svg: BookmarksOutlinedSvg, className: 'msp-form-control', flex: '40px', onClick: this.togglePreset, title: 'Apply a structure presets to the current hierarchy.', toggleState: this.state.show === 'presets', disabled: disabled }, void 0)] }), void 0), this.state.show === 'hierarchy' && _jsx(ActionMenu, { items: this.hierarchyItems, onSelect: this.selectHierarchy, multiselect: true }, void 0), this.state.show === 'presets' && _jsx(ActionMenu, { items: presets, onSelect: this.applyPreset }, void 0), this.modelIndex, this.structureType, this.transform, _jsxs("div", __assign({ style: { marginTop: '6px' } }, { children: [_jsx(StructureFocusControls, {}, void 0), _jsx(StructureSelectionStatsControls, { hideOnEmpty: true }, void 0)] }), void 0)] }, void 0);
332
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { marginTop: '1px' } }, { children: [_jsx(Button, __assign({ noOverflow: true, flex: true, onClick: this.toggleHierarchy, disabled: disabled, title: label }, { children: label })), presets.length > 0 && _jsx(IconButton, { svg: BookmarksOutlinedSvg, className: 'msp-form-control', flex: '40px', onClick: this.togglePreset, title: 'Apply a structure presets to the current hierarchy.', toggleState: this.state.show === 'presets', disabled: disabled })] })), this.state.show === 'hierarchy' && _jsx(ActionMenu, { items: this.hierarchyItems, onSelect: this.selectHierarchy, multiselect: true }), this.state.show === 'presets' && _jsx(ActionMenu, { items: presets, onSelect: this.applyPreset }), this.modelIndex, this.structureType, this.transform, _jsxs("div", __assign({ style: { marginTop: '6px' } }, { children: [_jsx(StructureFocusControls, {}), _jsx(StructureSelectionStatsControls, { hideOnEmpty: true })] }))] });
333
333
  };
334
334
  return StructureSourceControls;
335
335
  }(CollapsableControls));
@@ -42,7 +42,7 @@ var StructureSuperpositionControls = /** @class */ (function (_super) {
42
42
  });
43
43
  };
44
44
  StructureSuperpositionControls.prototype.renderControls = function () {
45
- return _jsx(_Fragment, { children: _jsx(SuperpositionControls, {}, void 0) }, void 0);
45
+ return _jsx(_Fragment, { children: _jsx(SuperpositionControls, {}) });
46
46
  };
47
47
  return StructureSuperpositionControls;
48
48
  }(CollapsableControls));
@@ -274,16 +274,16 @@ var SuperpositionControls = /** @class */ (function (_super) {
274
274
  };
275
275
  SuperpositionControls.prototype.lociEntry = function (e, idx) {
276
276
  var _this = this;
277
- return _jsx("div", __assign({ className: 'msp-flex-row' }, { children: _jsx(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' }, onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } }, void 0) }), void 0) }), idx);
277
+ return _jsx("div", __assign({ className: 'msp-flex-row' }, { children: _jsx(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' }, onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } }) })) }), idx);
278
278
  };
279
279
  SuperpositionControls.prototype.historyEntry = function (e, idx) {
280
280
  var _this = this;
281
281
  var history = this.plugin.managers.structure.selection.additionsHistory;
282
- return _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsxs(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' }, onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: [idx, ". ", _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } }, void 0)] }), void 0), history.length > 1 && _jsx(IconButton, { svg: ArrowUpwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'up'); }, flex: '20px', title: 'Move up' }, void 0), history.length > 1 && _jsx(IconButton, { svg: ArrowDownwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'down'); }, flex: '20px', title: 'Move down' }, void 0), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.plugin.managers.structure.selection.modifyHistory(e, 'remove'); }, flex: true, title: 'Remove' }, void 0)] }), e.id);
282
+ return _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsxs(Button, __assign({ noOverflow: true, title: 'Click to focus. Hover to highlight.', onClick: function () { return _this.focusLoci(e.loci); }, style: { width: 'auto', textAlign: 'left' }, onMouseEnter: function () { return _this.highlight(e.loci); }, onMouseLeave: function () { return _this.plugin.managers.interactivity.lociHighlights.clearHighlights(); } }, { children: [idx, ". ", _jsx("span", { dangerouslySetInnerHTML: { __html: e.label } })] })), history.length > 1 && _jsx(IconButton, { svg: ArrowUpwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'up'); }, flex: '20px', title: 'Move up' }), history.length > 1 && _jsx(IconButton, { svg: ArrowDownwardSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.moveHistory(e, 'down'); }, flex: '20px', title: 'Move down' }), _jsx(IconButton, { svg: DeleteOutlinedSvg, small: true, className: 'msp-form-control', onClick: function () { return _this.plugin.managers.structure.selection.modifyHistory(e, 'remove'); }, flex: true, title: 'Remove' })] }), e.id);
283
283
  };
284
284
  SuperpositionControls.prototype.atomsLociEntry = function (e, idx) {
285
285
  var _this = this;
286
- return _jsxs("div", { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsx("div", __assign({ className: 'msp-no-overflow', title: e.label }, { children: e.label }), void 0) }), void 0), _jsx("div", __assign({ className: 'msp-control-offset' }, { children: e.atoms.map(function (h, i) { return _this.historyEntry(h, i); }) }), void 0)] }, idx);
286
+ return _jsxs("div", { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsx("div", __assign({ className: 'msp-no-overflow', title: e.label }, { children: e.label })) })), _jsx("div", __assign({ className: 'msp-control-offset' }, { children: e.atoms.map(function (h, i) { return _this.historyEntry(h, i); }) }))] }, idx);
287
287
  };
288
288
  Object.defineProperty(SuperpositionControls.prototype, "chainEntries", {
289
289
  get: function () {
@@ -346,18 +346,18 @@ var SuperpositionControls = /** @class */ (function (_super) {
346
346
  SuperpositionControls.prototype.addByChains = function () {
347
347
  var _this = this;
348
348
  var entries = this.chainEntries;
349
- return _jsxs(_Fragment, { children: [entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries.map(function (e, i) { return _this.lociEntry(e, i); }) }), void 0), entries.length < 2 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }, void 0), "Add 2 or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }, void 0), " mode) from separate structures. Selections must be limited to single polymer chains or residues therein."] }), void 0) }), void 0), entries.length > 1 && _jsx(Button, __assign({ title: 'Superpose structures by selected chains.', className: 'msp-btn-commit msp-btn-commit-on', onClick: this.superposeChains, style: { marginTop: '1px' } }, { children: "Superpose" }), void 0)] }, void 0);
349
+ return _jsxs(_Fragment, { children: [entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries.map(function (e, i) { return _this.lociEntry(e, i); }) })), entries.length < 2 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }), "Add 2 or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }), " mode) from separate structures. Selections must be limited to single polymer chains or residues therein."] })) })), entries.length > 1 && _jsx(Button, __assign({ title: 'Superpose structures by selected chains.', className: 'msp-btn-commit msp-btn-commit-on', onClick: this.superposeChains, style: { marginTop: '1px' } }, { children: "Superpose" }))] });
350
350
  };
351
351
  SuperpositionControls.prototype.addByAtoms = function () {
352
352
  var _this = this;
353
353
  var entries = this.atomEntries;
354
- return _jsxs(_Fragment, { children: [entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries.map(function (e, i) { return _this.atomsLociEntry(e, i); }) }), void 0), entries.length < 2 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }, void 0), "Add 1 or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }, void 0), " mode) from separate structures. Selections must be limited to single atoms."] }), void 0) }), void 0), entries.length > 1 && _jsx(Button, __assign({ title: 'Superpose structures by selected atoms.', className: 'msp-btn-commit msp-btn-commit-on', onClick: this.superposeAtoms, style: { marginTop: '1px' } }, { children: "Superpose" }), void 0)] }, void 0);
354
+ return _jsxs(_Fragment, { children: [entries.length > 0 && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: entries.map(function (e, i) { return _this.atomsLociEntry(e, i); }) })), entries.length < 2 && _jsx("div", __assign({ className: 'msp-control-offset msp-help-text' }, { children: _jsxs("div", __assign({ className: 'msp-help-description' }, { children: [_jsx(Icon, { svg: HelpOutlineSvg, inline: true }), "Add 1 or more selections (toggle ", _jsx(ToggleSelectionModeButton, { inline: true }), " mode) from separate structures. Selections must be limited to single atoms."] })) })), entries.length > 1 && _jsx(Button, __assign({ title: 'Superpose structures by selected atoms.', className: 'msp-btn-commit msp-btn-commit-on', onClick: this.superposeAtoms, style: { marginTop: '1px' } }, { children: "Superpose" }))] });
355
355
  };
356
356
  SuperpositionControls.prototype.superposeByDbMapping = function () {
357
- return _jsx(_Fragment, { children: _jsx(Button, __assign({ icon: SuperposeChainsSvg, title: 'Superpose structures using intersection of residues from SIFTS UNIPROT mapping.', className: 'msp-btn msp-btn-block', onClick: this.superposeDb, style: { marginTop: '1px' }, disabled: this.state.isBusy }, { children: "Uniprot" }), void 0) }, void 0);
357
+ return _jsx(_Fragment, { children: _jsx(Button, __assign({ icon: SuperposeChainsSvg, title: 'Superpose structures using intersection of residues from SIFTS UNIPROT mapping.', className: 'msp-btn msp-btn-block', onClick: this.superposeDb, style: { marginTop: '1px' }, disabled: this.state.isBusy }, { children: "Uniprot" })) });
358
358
  };
359
359
  SuperpositionControls.prototype.render = function () {
360
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(ToggleButton, { icon: SuperposeChainsSvg, label: 'Chains', toggle: this.toggleByChains, isSelected: this.state.action === 'byChains', disabled: this.state.isBusy }, void 0), _jsx(ToggleButton, { icon: SuperposeAtomsSvg, label: 'Atoms', toggle: this.toggleByAtoms, isSelected: this.state.action === 'byAtoms', disabled: this.state.isBusy }, void 0), this.state.canUseDb && this.superposeByDbMapping(), _jsx(ToggleButton, { icon: TuneSvg, label: '', title: 'Options', toggle: this.toggleOptions, isSelected: this.state.action === 'options', disabled: this.state.isBusy, style: { flex: '0 0 40px', padding: 0 } }, void 0)] }), void 0), this.state.action === 'byChains' && this.addByChains(), this.state.action === 'byAtoms' && this.addByAtoms(), this.state.action === 'options' && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: _jsx(ParameterControls, { params: StructureSuperpositionParams, values: this.state.options, onChangeValues: this.setOptions, isDisabled: this.state.isBusy }, void 0) }), void 0)] }, void 0);
360
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsx(ToggleButton, { icon: SuperposeChainsSvg, label: 'Chains', toggle: this.toggleByChains, isSelected: this.state.action === 'byChains', disabled: this.state.isBusy }), _jsx(ToggleButton, { icon: SuperposeAtomsSvg, label: 'Atoms', toggle: this.toggleByAtoms, isSelected: this.state.action === 'byAtoms', disabled: this.state.isBusy }), this.state.canUseDb && this.superposeByDbMapping(), _jsx(ToggleButton, { icon: TuneSvg, label: '', title: 'Options', toggle: this.toggleOptions, isSelected: this.state.action === 'options', disabled: this.state.isBusy, style: { flex: '0 0 40px', padding: 0 } })] })), this.state.action === 'byChains' && this.addByChains(), this.state.action === 'byAtoms' && this.addByAtoms(), this.state.action === 'options' && _jsx("div", __assign({ className: 'msp-control-offset' }, { children: _jsx(ParameterControls, { params: StructureSuperpositionParams, values: this.state.options, onChangeValues: this.setOptions, isDisabled: this.state.isBusy }) }))] });
361
361
  };
362
362
  return SuperpositionControls;
363
363
  }(PurePluginUIComponent));
@@ -76,7 +76,7 @@ var VolumeStreamingControls = /** @class */ (function (_super) {
76
76
  : rootCell && ((_b = rootCell.obj) === null || _b === void 0 ? void 0 : _b.data.entries.length) === 0
77
77
  ? { header: 'Error Enabling', icon: ErrorSvg, title: 'No Entry for Streaming Found' }
78
78
  : { header: 'Enable', icon: CheckSvg, title: 'Enable' };
79
- return _jsx(ApplyActionControl, { state: pivot.cell.parent, action: InitVolumeStreaming, initiallyCollapsed: true, nodeRef: pivot.cell.transform.ref, simpleApply: simpleApply }, void 0);
79
+ return _jsx(ApplyActionControl, { state: pivot.cell.parent, action: InitVolumeStreaming, initiallyCollapsed: true, nodeRef: pivot.cell.transform.ref, simpleApply: simpleApply });
80
80
  };
81
81
  VolumeStreamingControls.prototype.renderParams = function () {
82
82
  var _a, _b, _c, _d, _e;
@@ -84,7 +84,7 @@ var VolumeStreamingControls = /** @class */ (function (_super) {
84
84
  if (!pivot.cell.parent)
85
85
  return null;
86
86
  var bindings = ((_b = (_a = pivot.volumeStreaming) === null || _a === void 0 ? void 0 : _a.cell.transform.params) === null || _b === void 0 ? void 0 : _b.entry.params.view.name) === 'selection-box' && ((_e = (_d = (_c = this.plugin.state.behaviors.cells.get(FocusLoci.id)) === null || _c === void 0 ? void 0 : _c.params) === null || _d === void 0 ? void 0 : _d.values) === null || _e === void 0 ? void 0 : _e.bindings);
87
- return _jsxs(_Fragment, { children: [_jsx(UpdateTransformControl, { state: pivot.cell.parent, transform: pivot.volumeStreaming.cell.transform, customHeader: 'none', noMargin: true }, void 0), bindings && _jsx(ExpandGroup, __assign({ header: 'Controls Help' }, { children: _jsx(BindingsHelp, { bindings: bindings }, void 0) }), void 0)] }, void 0);
87
+ return _jsxs(_Fragment, { children: [_jsx(UpdateTransformControl, { state: pivot.cell.parent, transform: pivot.volumeStreaming.cell.transform, customHeader: 'none', noMargin: true }), bindings && _jsx(ExpandGroup, __assign({ header: 'Controls Help' }, { children: _jsx(BindingsHelp, { bindings: bindings }) }))] });
88
88
  };
89
89
  VolumeStreamingControls.prototype.renderControls = function () {
90
90
  var pivot = this.pivot;
@@ -267,7 +267,7 @@ var VolumeSourceControls = /** @class */ (function (_super) {
267
267
  var disabled = this.state.isBusy || this.isEmpty;
268
268
  var label = this.label;
269
269
  var selected = this.plugin.managers.volume.hierarchy.selection;
270
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { marginTop: '1px' } }, { children: [_jsx(Button, __assign({ noOverflow: true, flex: true, onClick: this.toggleHierarchy, disabled: disabled, title: label }, { children: label }), void 0), !this.isEmpty && selected && _jsx(IconButton, { svg: AddSvg, onClick: this.toggleAddRepr, title: 'Apply a structure presets to the current hierarchy.', toggleState: this.state.show === 'add-repr', disabled: disabled }, void 0)] }), void 0), this.state.show === 'hierarchy' && _jsx(ActionMenu, { items: this.hierarchyItems, onSelect: this.selectCurrent }, void 0), this.state.show === 'add-repr' && _jsx(ActionMenu, { items: this.addActions, onSelect: this.selectAdd }, void 0), selected && selected.representations.length > 0 && _jsx("div", __assign({ style: { marginTop: '6px' } }, { children: selected.representations.map(function (r) { return _jsx(VolumeRepresentationControls, { representation: r }, r.cell.transform.ref); }) }), void 0)] }, void 0);
270
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row', style: { marginTop: '1px' } }, { children: [_jsx(Button, __assign({ noOverflow: true, flex: true, onClick: this.toggleHierarchy, disabled: disabled, title: label }, { children: label })), !this.isEmpty && selected && _jsx(IconButton, { svg: AddSvg, onClick: this.toggleAddRepr, title: 'Apply a structure presets to the current hierarchy.', toggleState: this.state.show === 'add-repr', disabled: disabled })] })), this.state.show === 'hierarchy' && _jsx(ActionMenu, { items: this.hierarchyItems, onSelect: this.selectCurrent }), this.state.show === 'add-repr' && _jsx(ActionMenu, { items: this.addActions, onSelect: this.selectAdd }), selected && selected.representations.length > 0 && _jsx("div", __assign({ style: { marginTop: '6px' } }, { children: selected.representations.map(function (r) { return _jsx(VolumeRepresentationControls, { representation: r }, r.cell.transform.ref); }) }))] });
271
271
  };
272
272
  return VolumeSourceControls;
273
273
  }(CollapsableControls));
@@ -314,7 +314,7 @@ var VolumeRepresentationControls = /** @class */ (function (_super) {
314
314
  VolumeRepresentationControls.prototype.render = function () {
315
315
  var _a, _b, _c;
316
316
  var repr = this.props.representation.cell;
317
- return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsxs(Button, __assign({ noOverflow: true, className: 'msp-control-button-label', title: "".concat((_a = repr.obj) === null || _a === void 0 ? void 0 : _a.label, ". Click to focus."), onClick: this.focus, onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight, style: { textAlign: 'left' } }, { children: [(_b = repr.obj) === null || _b === void 0 ? void 0 : _b.label, _jsx("small", __assign({ className: 'msp-25-lower-contrast-text', style: { float: 'right' } }, { children: (_c = repr.obj) === null || _c === void 0 ? void 0 : _c.description }), void 0)] }), void 0), _jsx(IconButton, { svg: repr.state.isHidden ? VisibilityOffOutlinedSvg : VisibilityOutlinedSvg, toggleState: false, onClick: this.toggleVisible, title: "".concat(repr.state.isHidden ? 'Show' : 'Hide', " component"), small: true, className: 'msp-form-control', flex: true }, void 0), _jsx(IconButton, { svg: DeleteOutlinedSvg, onClick: this.remove, title: 'Remove', small: true }, void 0), _jsx(IconButton, { svg: MoreHorizSvg, onClick: this.toggleUpdate, title: 'Actions', toggleState: this.state.action === 'update' }, void 0)] }), void 0), this.state.action === 'update' && !!repr.parent && _jsx("div", __assign({ style: { marginBottom: '6px' }, className: 'msp-accent-offset' }, { children: _jsx(UpdateTransformControl, { state: repr.parent, transform: repr.transform, customHeader: 'none', noMargin: true }, void 0) }), void 0)] }, void 0);
317
+ return _jsxs(_Fragment, { children: [_jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [_jsxs(Button, __assign({ noOverflow: true, className: 'msp-control-button-label', title: "".concat((_a = repr.obj) === null || _a === void 0 ? void 0 : _a.label, ". Click to focus."), onClick: this.focus, onMouseEnter: this.highlight, onMouseLeave: this.clearHighlight, style: { textAlign: 'left' } }, { children: [(_b = repr.obj) === null || _b === void 0 ? void 0 : _b.label, _jsx("small", __assign({ className: 'msp-25-lower-contrast-text', style: { float: 'right' } }, { children: (_c = repr.obj) === null || _c === void 0 ? void 0 : _c.description }))] })), _jsx(IconButton, { svg: repr.state.isHidden ? VisibilityOffOutlinedSvg : VisibilityOutlinedSvg, toggleState: false, onClick: this.toggleVisible, title: "".concat(repr.state.isHidden ? 'Show' : 'Hide', " component"), small: true, className: 'msp-form-control', flex: true }), _jsx(IconButton, { svg: DeleteOutlinedSvg, onClick: this.remove, title: 'Remove', small: true }), _jsx(IconButton, { svg: MoreHorizSvg, onClick: this.toggleUpdate, title: 'Actions', toggleState: this.state.action === 'update' })] })), this.state.action === 'update' && !!repr.parent && _jsx("div", __assign({ style: { marginBottom: '6px' }, className: 'msp-accent-offset' }, { children: _jsx(UpdateTransformControl, { state: repr.parent, transform: repr.transform, customHeader: 'none', noMargin: true }) }))] });
318
318
  };
319
319
  return VolumeRepresentationControls;
320
320
  }(PurePluginUIComponent));
@@ -30,7 +30,7 @@ var BackgroundTaskProgress = /** @class */ (function (_super) {
30
30
  });
31
31
  };
32
32
  BackgroundTaskProgress.prototype.render = function () {
33
- return _jsx("div", __assign({ className: 'msp-background-tasks' }, { children: this.state.tracked.valueSeq().map(function (e) { return _jsx(ProgressEntry, { event: e }, e.id); }) }), void 0);
33
+ return _jsx("div", __assign({ className: 'msp-background-tasks' }, { children: this.state.tracked.valueSeq().map(function (e) { return _jsx(ProgressEntry, { event: e }, e.id); }) }));
34
34
  };
35
35
  return BackgroundTaskProgress;
36
36
  }(PluginUIComponent));
@@ -49,11 +49,11 @@ var ProgressEntry = /** @class */ (function (_super) {
49
49
  var subtaskCount = countSubtasks(this.props.event.progress.root) - 1;
50
50
  var pr = root.progress.isIndeterminate
51
51
  ? void 0
52
- : _jsxs(_Fragment, { children: ["[", root.progress.current, "/", root.progress.max, "]"] }, void 0);
52
+ : _jsxs(_Fragment, { children: ["[", root.progress.current, "/", root.progress.max, "]"] });
53
53
  var subtasks = subtaskCount > 0
54
- ? _jsxs(_Fragment, { children: ["[", subtaskCount, " subtask(s)]"] }, void 0)
54
+ ? _jsxs(_Fragment, { children: ["[", subtaskCount, " subtask(s)]"] })
55
55
  : void 0;
56
- return _jsx("div", __assign({ className: 'msp-task-state' }, { children: _jsxs("div", { children: [root.progress.canAbort && _jsx(IconButton, { svg: CancelSvg, onClick: this.abort, title: 'Abort' }, void 0), _jsxs("div", { children: [root.progress.message, " ", pr, " ", subtasks] }, void 0)] }, void 0) }), void 0);
56
+ return _jsx("div", __assign({ className: 'msp-task-state' }, { children: _jsxs("div", { children: [root.progress.canAbort && _jsx(IconButton, { svg: CancelSvg, onClick: this.abort, title: 'Abort' }), _jsxs("div", { children: [root.progress.message, " ", pr, " ", subtasks] })] }) }));
57
57
  };
58
58
  return ProgressEntry;
59
59
  }(PluginUIComponent));
@@ -87,7 +87,7 @@ var OverlayTaskProgress = /** @class */ (function (_super) {
87
87
  OverlayTaskProgress.prototype.render = function () {
88
88
  if (this.state.tracked.size === 0)
89
89
  return null;
90
- return _jsx("div", __assign({ className: 'msp-overlay-tasks' }, { children: this.state.tracked.valueSeq().map(function (e) { return _jsx(ProgressEntry, { event: e }, e.id); }) }), void 0);
90
+ return _jsx("div", __assign({ className: 'msp-overlay-tasks' }, { children: this.state.tracked.valueSeq().map(function (e) { return _jsx(ProgressEntry, { event: e }, e.id); }) }));
91
91
  };
92
92
  return OverlayTaskProgress;
93
93
  }(PluginUIComponent));
@@ -24,9 +24,9 @@ var ToastEntry = /** @class */ (function (_super) {
24
24
  var _this = this;
25
25
  var entry = this.props.entry;
26
26
  var message = typeof entry.message === 'string'
27
- ? _jsx("div", { dangerouslySetInnerHTML: { __html: entry.message } }, void 0)
28
- : _jsx("div", { children: _jsx(entry.message, {}, void 0) }, void 0);
29
- return _jsxs("div", __assign({ className: 'msp-toast-entry' }, { children: [_jsx("div", __assign({ className: 'msp-toast-title', onClick: function () { return _this.hide(); } }, { children: entry.title }), void 0), _jsx("div", __assign({ className: 'msp-toast-message' }, { children: message }), void 0), _jsx("div", { className: 'msp-toast-clear' }, void 0), _jsx("div", __assign({ className: 'msp-toast-hide' }, { children: _jsx(IconButton, { svg: CancelSvg, onClick: this.hide, title: 'Hide', className: 'msp-no-hover-outline' }, void 0) }), void 0)] }), void 0);
27
+ ? _jsx("div", { dangerouslySetInnerHTML: { __html: entry.message } })
28
+ : _jsx("div", { children: _jsx(entry.message, {}) });
29
+ return _jsxs("div", __assign({ className: 'msp-toast-entry' }, { children: [_jsx("div", __assign({ className: 'msp-toast-title', onClick: function () { return _this.hide(); } }, { children: entry.title })), _jsx("div", __assign({ className: 'msp-toast-message' }, { children: message })), _jsx("div", { className: 'msp-toast-clear' }), _jsx("div", __assign({ className: 'msp-toast-hide' }, { children: _jsx(IconButton, { svg: CancelSvg, onClick: this.hide, title: 'Hide', className: 'msp-no-hover-outline' }) }))] }));
30
30
  };
31
31
  return ToastEntry;
32
32
  }(PluginUIComponent));
@@ -46,7 +46,7 @@ var Toasts = /** @class */ (function (_super) {
46
46
  var entries = [];
47
47
  state.entries.forEach(function (t, k) { return entries.push(t); });
48
48
  entries.sort(function (x, y) { return x.serialNumber - y.serialNumber; });
49
- return _jsx("div", __assign({ className: 'msp-toast-container' }, { children: entries.map(function (e) { return _jsx(ToastEntry, { entry: e }, e.serialNumber); }) }), void 0);
49
+ return _jsx("div", __assign({ className: 'msp-toast-container' }, { children: entries.map(function (e) { return _jsx(ToastEntry, { entry: e }, e.serialNumber); }) }));
50
50
  };
51
51
  return Toasts;
52
52
  }(PluginUIComponent));
@@ -39,15 +39,15 @@ var ViewportCanvas = /** @class */ (function (_super) {
39
39
  ViewportCanvas.prototype.renderMissing = function () {
40
40
  if (this.props.noWebGl) {
41
41
  var C = this.props.noWebGl;
42
- return _jsx(C, {}, void 0);
42
+ return _jsx(C, {});
43
43
  }
44
- return _jsx("div", __assign({ className: 'msp-no-webgl' }, { children: _jsxs("div", { children: [_jsx("p", { children: _jsx("b", { children: "WebGL does not seem to be available." }, void 0) }, void 0), _jsx("p", { children: "This can be caused by an outdated browser, graphics card driver issue, or bad weather. Sometimes, just restarting the browser helps." }, void 0), _jsxs("p", { children: ["For a list of supported browsers, refer to ", _jsx("a", __assign({ href: 'http://caniuse.com/#feat=webgl', target: '_blank' }, { children: "http://caniuse.com/#feat=webgl" }), void 0), "."] }, void 0)] }, void 0) }), void 0);
44
+ return _jsx("div", __assign({ className: 'msp-no-webgl' }, { children: _jsxs("div", { children: [_jsx("p", { children: _jsx("b", { children: "WebGL does not seem to be available." }) }), _jsx("p", { children: "This can be caused by an outdated browser, graphics card driver issue, or bad weather. Sometimes, just restarting the browser helps." }), _jsxs("p", { children: ["For a list of supported browsers, refer to ", _jsx("a", __assign({ href: 'http://caniuse.com/#feat=webgl', target: '_blank' }, { children: "http://caniuse.com/#feat=webgl" })), "."] })] }) }));
45
45
  };
46
46
  ViewportCanvas.prototype.render = function () {
47
47
  if (this.state.noWebGl)
48
48
  return this.renderMissing();
49
49
  var Logo = this.props.logo;
50
- return _jsxs("div", __assign({ className: this.props.parentClassName || 'msp-viewport', style: this.props.parentStyle }, { children: [_jsx("div", __assign({ className: this.props.hostClassName || 'msp-viewport-host3d', style: this.props.hostStyle, ref: this.container }, { children: _jsx("canvas", { ref: this.canvas }, void 0) }), void 0), (this.state.showLogo && Logo) && _jsx(Logo, {}, void 0)] }), void 0);
50
+ return _jsxs("div", __assign({ className: this.props.parentClassName || 'msp-viewport', style: this.props.parentStyle }, { children: [_jsx("div", __assign({ className: this.props.hostClassName || 'msp-viewport-host3d', style: this.props.hostStyle, ref: this.container }, { children: _jsx("canvas", { ref: this.canvas }) })), (this.state.showLogo && Logo) && _jsx(Logo, {})] }));
51
51
  };
52
52
  return ViewportCanvas;
53
53
  }(PluginUIComponent));
@@ -26,12 +26,12 @@ var BindingsHelp = /** @class */ (function (_super) {
26
26
  return _jsx(_Fragment, { children: bindingsList.map(function (value) {
27
27
  var name = value[0], binding = value[1];
28
28
  return !Binding.isEmpty(binding)
29
- ? _jsxs("div", __assign({ style: { marginBottom: '6px' } }, { children: [_jsx("b", { children: binding.action }, void 0), _jsx("br", {}, void 0), _jsx("span", { dangerouslySetInnerHTML: { __html: Binding.format(binding, name) } }, void 0)] }), name)
29
+ ? _jsxs("div", __assign({ style: { marginBottom: '6px' } }, { children: [_jsx("b", { children: binding.action }), _jsx("br", {}), _jsx("span", { dangerouslySetInnerHTML: { __html: Binding.format(binding, name) } })] }), name)
30
30
  : null;
31
- }) }, void 0);
31
+ }) });
32
32
  };
33
33
  BindingsHelp.prototype.render = function () {
34
- return _jsx(HelpText, { children: this.getBindingComponents() }, void 0);
34
+ return _jsx(HelpText, { children: this.getBindingComponents() });
35
35
  };
36
36
  return BindingsHelp;
37
37
  }(React.PureComponent));
@@ -42,7 +42,7 @@ var HelpText = /** @class */ (function (_super) {
42
42
  return _super !== null && _super.apply(this, arguments) || this;
43
43
  }
44
44
  HelpText.prototype.render = function () {
45
- return _jsx("div", __assign({ className: 'msp-help-text' }, { children: _jsx("div", { children: this.props.children }, void 0) }), void 0);
45
+ return _jsx("div", __assign({ className: 'msp-help-text' }, { children: _jsx("div", { children: this.props.children }) }));
46
46
  };
47
47
  return HelpText;
48
48
  }(React.PureComponent));
@@ -59,13 +59,13 @@ var HelpGroup = /** @class */ (function (_super) {
59
59
  return _this;
60
60
  }
61
61
  HelpGroup.prototype.render = function () {
62
- return _jsxs("div", __assign({ className: 'msp-control-group-wrapper' }, { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsxs(Button, __assign({ onClick: this.toggleExpanded }, { children: [_jsx(Icon, { svg: this.state.isExpanded ? ArrowDropDownSvg : ArrowRightSvg }, void 0), this.props.header] }), void 0) }), void 0), this.state.isExpanded && _jsx("div", __assign({ className: 'msp-control-offset', style: { display: this.state.isExpanded ? 'block' : 'none' } }, { children: this.props.children }), void 0)] }), void 0);
62
+ return _jsxs("div", __assign({ className: 'msp-control-group-wrapper' }, { children: [_jsx("div", __assign({ className: 'msp-control-group-header' }, { children: _jsxs(Button, __assign({ onClick: this.toggleExpanded }, { children: [_jsx(Icon, { svg: this.state.isExpanded ? ArrowDropDownSvg : ArrowRightSvg }), this.props.header] })) })), this.state.isExpanded && _jsx("div", __assign({ className: 'msp-control-offset', style: { display: this.state.isExpanded ? 'block' : 'none' } }, { children: this.props.children }))] }));
63
63
  };
64
64
  return HelpGroup;
65
65
  }(React.PureComponent));
66
66
  export { HelpGroup };
67
67
  function HelpSection(props) {
68
- return _jsx("div", __assign({ className: 'msp-simple-help-section' }, { children: props.header }), void 0);
68
+ return _jsx("div", __assign({ className: 'msp-simple-help-section' }, { children: props.header }));
69
69
  }
70
70
  var ViewportHelpContent = /** @class */ (function (_super) {
71
71
  __extends(ViewportHelpContent, _super);
@@ -83,7 +83,7 @@ var ViewportHelpContent = /** @class */ (function (_super) {
83
83
  if (bindings)
84
84
  Object.assign(interactionBindings, bindings);
85
85
  });
86
- return _jsxs(_Fragment, { children: [(!this.props.selectOnly && this.plugin.canvas3d) && _jsx(HelpGroup, __assign({ header: 'Moving in 3D' }, { children: _jsx(BindingsHelp, { bindings: this.plugin.canvas3d.props.trackball.bindings }, void 0) }), 'trackball'), _jsx(HelpGroup, __assign({ header: 'Mouse Controls' }, { children: _jsx(BindingsHelp, { bindings: interactionBindings }, void 0) }), 'interactions')] }, void 0);
86
+ return _jsxs(_Fragment, { children: [(!this.props.selectOnly && this.plugin.canvas3d) && _jsx(HelpGroup, __assign({ header: 'Moving in 3D' }, { children: _jsx(BindingsHelp, { bindings: this.plugin.canvas3d.props.trackball.bindings }) }), 'trackball'), _jsx(HelpGroup, __assign({ header: 'Mouse Controls' }, { children: _jsx(BindingsHelp, { bindings: interactionBindings }) }), 'interactions')] });
87
87
  };
88
88
  return ViewportHelpContent;
89
89
  }(PluginUIComponent));
@@ -112,7 +112,7 @@ var HelpContent = /** @class */ (function (_super) {
112
112
  var selectToggleTriggers = this.getTriggerFor(SelectLoci, 'clickSelectToggle');
113
113
  var focusTriggers = this.getTriggerFor(FocusLoci, 'clickFocus');
114
114
  // TODO: interactive help, for example for density
115
- return _jsxs("div", { children: [_jsx(HelpSection, { header: 'Interface Controls' }, void 0), _jsxs(HelpGroup, __assign({ header: 'Inline Help' }, { children: [_jsx(HelpText, { children: "Many user interface elements show a little questionmark icon when hovered over. Clicking the icon toggles the display of an inline help text." }, void 0), _jsx(HelpText, { children: "Tooltips may provide additional information on a user interface element and are shown when hovering over it with the mouse." }, void 0)] }), void 0), _jsx(HelpGroup, __assign({ header: 'Selections' }, { children: _jsxs(HelpText, { children: ["The viewer allows changing colors and representations for selections of atoms, residues or chains. Selections can be created by", _jsxs("ul", __assign({ style: { paddingLeft: '20px' } }, { children: [_jsxs("li", { children: ["picking elements on the 3D canvas or the sequence view using the mouse, e.g. toggle selection using ", selectToggleTriggers, " (for more see help section on ", _jsx("i", { children: "Mouse Controls" }, void 0), ")"] }, void 0), _jsxs("li", { children: ["using the ", _jsx("i", { children: "Add" }, void 0), ", ", _jsx("i", { children: "Remove" }, void 0), " and ", _jsx("i", { children: "Only" }, void 0), " dropdown buttons in the ", _jsx("i", { children: "Manage Selection" }, void 0), " panel which allow modifing the current selection by predefined sets"] }, void 0)] }), void 0)] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Coloring' }, { children: _jsxs(HelpText, { children: ["There are two ways to color structures. Every representation (e.g. cartoon or spacefill) has a color theme which can be changed using the dropdown for each representation in the ", _jsx("i", { children: "Structure Settings" }, void 0), " panel. Additionally any selection atoms, residues or chains can by given a custom color. For that, first select the parts of the structure to be colored (see help section on ", _jsx("i", { children: "Selections" }, void 0), ") and, second, choose a color from the color dropdown botton in the ", _jsx("i", { children: "Selection" }, void 0), " row of the ", _jsx("i", { children: "Change Representation" }, void 0), " panel. The theme color can be seen as a base color that is overpainted by the custom color. Custom colors can be removed for a selection with the 'Clear' option in the color dropdown."] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Representations' }, { children: _jsxs(HelpText, { children: ["Structures can be shown with many different representations (e.g. cartoon or spacefill). The ", _jsx("i", { children: "Change Representation" }, void 0), " panel offers a collection of predefined styles which can be applied using the ", _jsx("i", { children: "Preset" }, void 0), " dropdown button. Additionally any selection atoms, residues or chains can by shown with a custom representation. For that, first select the parts of the structure to be mofified (see help section on ", _jsx("i", { children: "Selections" }, void 0), ") and, second, choose a representation to hide or show from the ", _jsx("i", { children: "Show" }, void 0), " and ", _jsx("i", { children: "Hide" }, void 0), " dropdown bottons in the ", _jsx("i", { children: "Selection" }, void 0), " row of the ", _jsx("i", { children: "Change Representation" }, void 0), " panel. The ", _jsx("i", { children: "Everything" }, void 0), " row applies the action to the whole structure instead of the current selection."] }, void 0) }), void 0), _jsx(HelpGroup, __assign({ header: 'Surroundings' }, { children: _jsxs(HelpText, { children: ["To show the surroundings of a residue or ligand, click it in the 3D scene or in the sequence widget using ", focusTriggers, "."] }, void 0) }), void 0), _jsx(HelpSection, { header: 'How-to Guides' }, void 0), _jsx(HelpGroup, __assign({ header: 'Create an Image' }, { children: _jsxs(HelpText, { children: [_jsxs("p", { children: ["Use the ", _jsx(Icon, { svg: CameraSvg }, void 0), " icon in the viewport to bring up the screenshot controls."] }, void 0), _jsxs("p", { children: ["To adjust the size of the image, use the ", _jsx("i", { children: "Resolution" }, void 0), " dropdown."] }, void 0)] }, void 0) }), void 0), _jsx(HelpSection, { header: 'Mouse Controls' }, void 0), _jsx(ViewportHelpContent, {}, void 0)] }, void 0);
115
+ return _jsxs("div", { children: [_jsx(HelpSection, { header: 'Interface Controls' }), _jsxs(HelpGroup, __assign({ header: 'Inline Help' }, { children: [_jsx(HelpText, { children: "Many user interface elements show a little questionmark icon when hovered over. Clicking the icon toggles the display of an inline help text." }), _jsx(HelpText, { children: "Tooltips may provide additional information on a user interface element and are shown when hovering over it with the mouse." })] })), _jsx(HelpGroup, __assign({ header: 'Selections' }, { children: _jsxs(HelpText, { children: ["The viewer allows changing colors and representations for selections of atoms, residues or chains. Selections can be created by", _jsxs("ul", __assign({ style: { paddingLeft: '20px' } }, { children: [_jsxs("li", { children: ["picking elements on the 3D canvas or the sequence view using the mouse, e.g. toggle selection using ", selectToggleTriggers, " (for more see help section on ", _jsx("i", { children: "Mouse Controls" }), ")"] }), _jsxs("li", { children: ["using the ", _jsx("i", { children: "Add" }), ", ", _jsx("i", { children: "Remove" }), " and ", _jsx("i", { children: "Only" }), " dropdown buttons in the ", _jsx("i", { children: "Manage Selection" }), " panel which allow modifing the current selection by predefined sets"] })] }))] }) })), _jsx(HelpGroup, __assign({ header: 'Coloring' }, { children: _jsxs(HelpText, { children: ["There are two ways to color structures. Every representation (e.g. cartoon or spacefill) has a color theme which can be changed using the dropdown for each representation in the ", _jsx("i", { children: "Structure Settings" }), " panel. Additionally any selection atoms, residues or chains can by given a custom color. For that, first select the parts of the structure to be colored (see help section on ", _jsx("i", { children: "Selections" }), ") and, second, choose a color from the color dropdown botton in the ", _jsx("i", { children: "Selection" }), " row of the ", _jsx("i", { children: "Change Representation" }), " panel. The theme color can be seen as a base color that is overpainted by the custom color. Custom colors can be removed for a selection with the 'Clear' option in the color dropdown."] }) })), _jsx(HelpGroup, __assign({ header: 'Representations' }, { children: _jsxs(HelpText, { children: ["Structures can be shown with many different representations (e.g. cartoon or spacefill). The ", _jsx("i", { children: "Change Representation" }), " panel offers a collection of predefined styles which can be applied using the ", _jsx("i", { children: "Preset" }), " dropdown button. Additionally any selection atoms, residues or chains can by shown with a custom representation. For that, first select the parts of the structure to be mofified (see help section on ", _jsx("i", { children: "Selections" }), ") and, second, choose a representation to hide or show from the ", _jsx("i", { children: "Show" }), " and ", _jsx("i", { children: "Hide" }), " dropdown bottons in the ", _jsx("i", { children: "Selection" }), " row of the ", _jsx("i", { children: "Change Representation" }), " panel. The ", _jsx("i", { children: "Everything" }), " row applies the action to the whole structure instead of the current selection."] }) })), _jsx(HelpGroup, __assign({ header: 'Surroundings' }, { children: _jsxs(HelpText, { children: ["To show the surroundings of a residue or ligand, click it in the 3D scene or in the sequence widget using ", focusTriggers, "."] }) })), _jsx(HelpSection, { header: 'How-to Guides' }), _jsx(HelpGroup, __assign({ header: 'Create an Image' }, { children: _jsxs(HelpText, { children: [_jsxs("p", { children: ["Use the ", _jsx(Icon, { svg: CameraSvg }), " icon in the viewport to bring up the screenshot controls."] }), _jsxs("p", { children: ["To adjust the size of the image, use the ", _jsx("i", { children: "Resolution" }), " dropdown."] })] }) })), _jsx(HelpSection, { header: 'Mouse Controls' }), _jsx(ViewportHelpContent, {})] });
116
116
  };
117
117
  return HelpContent;
118
118
  }(PluginUIComponent));
@@ -77,7 +77,7 @@ var DownloadScreenshotControls = /** @class */ (function (_super) {
77
77
  var _this = this;
78
78
  var _a;
79
79
  var hasClipboardApi = !!((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.write);
80
- return _jsxs("div", { children: [this.state.showPreview && _jsxs("div", __assign({ className: 'msp-image-preview' }, { children: [_jsx(ScreenshotPreview, { plugin: this.plugin }, void 0), _jsx(CropControls, { plugin: this.plugin }, void 0)] }), void 0), _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [!this.state.imageData && _jsx(Button, __assign({ icon: CopySvg, onClick: hasClipboardApi ? this.copy : this.copyImg, disabled: this.state.isDisabled }, { children: "Copy" }), void 0), this.state.imageData && _jsx(Button, __assign({ onClick: function () { return _this.setState({ imageData: void 0 }); }, disabled: this.state.isDisabled }, { children: "Clear" }), void 0), _jsx(Button, __assign({ icon: GetAppSvg, onClick: this.download, disabled: this.state.isDisabled }, { children: "Download" }), void 0)] }), void 0), this.state.imageData && _jsxs("div", __assign({ className: 'msp-row msp-copy-image-wrapper' }, { children: [_jsx("div", { children: "Right click below + Copy Image" }, void 0), _jsx("img", { src: this.state.imageData, style: { width: '100%', height: 32, display: 'block' } }, void 0)] }), void 0), _jsx(ScreenshotParams, { plugin: this.plugin, isDisabled: this.state.isDisabled }, void 0), _jsxs(ExpandGroup, __assign({ header: 'State' }, { children: [_jsx(StateExportImportControls, { onAction: this.props.close }, void 0), _jsx(ExpandGroup, __assign({ header: 'Save Options', initiallyExpanded: false, noOffset: true }, { children: _jsx(LocalStateSnapshotParams, {}, void 0) }), void 0)] }), void 0)] }, void 0);
80
+ return _jsxs("div", { children: [this.state.showPreview && _jsxs("div", __assign({ className: 'msp-image-preview' }, { children: [_jsx(ScreenshotPreview, { plugin: this.plugin }), _jsx(CropControls, { plugin: this.plugin })] })), _jsxs("div", __assign({ className: 'msp-flex-row' }, { children: [!this.state.imageData && _jsx(Button, __assign({ icon: CopySvg, onClick: hasClipboardApi ? this.copy : this.copyImg, disabled: this.state.isDisabled }, { children: "Copy" })), this.state.imageData && _jsx(Button, __assign({ onClick: function () { return _this.setState({ imageData: void 0 }); }, disabled: this.state.isDisabled }, { children: "Clear" })), _jsx(Button, __assign({ icon: GetAppSvg, onClick: this.download, disabled: this.state.isDisabled }, { children: "Download" }))] })), this.state.imageData && _jsxs("div", __assign({ className: 'msp-row msp-copy-image-wrapper' }, { children: [_jsx("div", { children: "Right click below + Copy Image" }), _jsx("img", { src: this.state.imageData, style: { width: '100%', height: 32, display: 'block' } })] })), _jsx(ScreenshotParams, { plugin: this.plugin, isDisabled: this.state.isDisabled }), _jsxs(ExpandGroup, __assign({ header: 'State' }, { children: [_jsx(StateExportImportControls, { onAction: this.props.close }), _jsx(ExpandGroup, __assign({ header: 'Save Options', initiallyExpanded: false, noOffset: true }, { children: _jsx(LocalStateSnapshotParams, {}) }))] }))] });
81
81
  };
82
82
  return DownloadScreenshotControls;
83
83
  }(PluginUIComponent));
@@ -86,7 +86,7 @@ function ScreenshotParams(_a) {
86
86
  var plugin = _a.plugin, isDisabled = _a.isDisabled;
87
87
  var helper = plugin.helpers.viewportScreenshot;
88
88
  var values = useBehavior(helper.behaviors.values);
89
- return _jsx(ParameterControls, { params: helper.params, values: values, onChangeValues: function (v) { return helper.behaviors.values.next(v); }, isDisabled: isDisabled }, void 0);
89
+ return _jsx(ParameterControls, { params: helper.params, values: values, onChangeValues: function (v) { return helper.behaviors.values.next(v); }, isDisabled: isDisabled });
90
90
  }
91
91
  function CropControls(_a) {
92
92
  var plugin = _a.plugin;
@@ -95,5 +95,5 @@ function CropControls(_a) {
95
95
  useBehavior(helper === null || helper === void 0 ? void 0 : helper.behaviors.relativeCrop);
96
96
  if (!helper)
97
97
  return null;
98
- return _jsxs("div", __assign({ style: { width: '100%', height: '24px', marginTop: '8px' } }, { children: [_jsx(ToggleButton, { icon: CropOrginalSvg, title: 'Auto-crop', inline: true, isSelected: cropParams.auto, style: { background: 'transparent', float: 'left', width: 'auto', height: '24px', lineHeight: '24px' }, toggle: function () { return helper.toggleAutocrop(); }, label: 'Auto-crop ' + (cropParams.auto ? 'On' : 'Off') }, void 0), !cropParams.auto && _jsx(Button, { icon: CropSvg, title: 'Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.autocrop(); } }, void 0), !cropParams.auto && !helper.isFullFrame && _jsx(Button, { icon: CropFreeSvg, title: 'Reset Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.resetCrop(); } }, void 0)] }), void 0);
98
+ return _jsxs("div", __assign({ style: { width: '100%', height: '24px', marginTop: '8px' } }, { children: [_jsx(ToggleButton, { icon: CropOrginalSvg, title: 'Auto-crop', inline: true, isSelected: cropParams.auto, style: { background: 'transparent', float: 'left', width: 'auto', height: '24px', lineHeight: '24px' }, toggle: function () { return helper.toggleAutocrop(); }, label: 'Auto-crop ' + (cropParams.auto ? 'On' : 'Off') }), !cropParams.auto && _jsx(Button, { icon: CropSvg, title: 'Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.autocrop(); } }), !cropParams.auto && !helper.isFullFrame && _jsx(Button, { icon: CropFreeSvg, title: 'Reset Crop', style: { background: 'transparent', float: 'right', height: '24px', lineHeight: '24px', width: '24px', padding: '0' }, onClick: function () { return helper.resetCrop(); } })] }));
99
99
  }
@@ -33,7 +33,7 @@ var SimpleSettingsControl = /** @class */ (function (_super) {
33
33
  SimpleSettingsControl.prototype.render = function () {
34
34
  if (!this.plugin.canvas3d)
35
35
  return null;
36
- return _jsxs(_Fragment, { children: [_jsx(ParameterMappingControl, { mapping: SimpleSettingsMapping }, void 0), _jsx(ViewportHelpContent, {}, void 0)] }, void 0);
36
+ return _jsxs(_Fragment, { children: [_jsx(ParameterMappingControl, { mapping: SimpleSettingsMapping }), _jsx(ViewportHelpContent, {})] });
37
37
  };
38
38
  return SimpleSettingsControl;
39
39
  }(PluginUIComponent));
@@ -63,15 +63,15 @@ var ViewportControls = /** @class */ (function (_super) {
63
63
  };
64
64
  ViewportControls.prototype.icon = function (icon, onClick, title, isOn) {
65
65
  if (isOn === void 0) { isOn = true; }
66
- return _jsx(IconButton, { svg: icon, toggleState: isOn, onClick: onClick, title: title, style: { background: 'transparent' } }, void 0);
66
+ return _jsx(IconButton, { svg: icon, toggleState: isOn, onClick: onClick, title: title, style: { background: 'transparent' } });
67
67
  };
68
68
  ViewportControls.prototype.render = function () {
69
- return _jsxs("div", __assign({ className: 'msp-viewport-controls', onMouseMove: this.onMouseMove }, { children: [_jsxs("div", __assign({ className: 'msp-viewport-controls-buttons' }, { children: [_jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.icon(AutorenewSvg, this.resetCamera, 'Reset Camera')] }, void 0), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.icon(CameraOutlinedSvg, this.toggleScreenshotExpanded, 'Screenshot / State Snapshot', this.state.isScreenshotExpanded)] }, void 0), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), this.plugin.config.get(PluginConfig.Viewport.ShowControls) && this.icon(BuildOutlinedSvg, this.toggleControls, 'Toggle Controls Panel', this.plugin.layout.state.showControls), this.plugin.config.get(PluginConfig.Viewport.ShowExpand) && this.icon(FullscreenSvg, this.toggleExpanded, 'Toggle Expanded Viewport', this.plugin.layout.state.isExpanded), this.plugin.config.get(PluginConfig.Viewport.ShowSettings) && this.icon(TuneSvg, this.toggleSettingsExpanded, 'Settings / Controls Info', this.state.isSettingsExpanded)] }, void 0), this.plugin.config.get(PluginConfig.Viewport.ShowSelectionMode) && _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }, void 0), _jsx(ToggleSelectionModeButton, {}, void 0)] }, void 0)] }), void 0), this.state.isScreenshotExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Screenshot / State', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleScreenshotExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(DownloadScreenshotControls, { close: this.toggleScreenshotExpanded }, void 0) }), void 0) }), void 0), this.state.isSettingsExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Settings / Controls Info', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleSettingsExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(SimpleSettingsControl, {}, void 0) }), void 0) }), void 0)] }), void 0);
69
+ return _jsxs("div", __assign({ className: 'msp-viewport-controls', onMouseMove: this.onMouseMove }, { children: [_jsxs("div", __assign({ className: 'msp-viewport-controls-buttons' }, { children: [_jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.icon(AutorenewSvg, this.resetCamera, 'Reset Camera')] }), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.icon(CameraOutlinedSvg, this.toggleScreenshotExpanded, 'Screenshot / State Snapshot', this.state.isScreenshotExpanded)] }), _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), this.plugin.config.get(PluginConfig.Viewport.ShowControls) && this.icon(BuildOutlinedSvg, this.toggleControls, 'Toggle Controls Panel', this.plugin.layout.state.showControls), this.plugin.config.get(PluginConfig.Viewport.ShowExpand) && this.icon(FullscreenSvg, this.toggleExpanded, 'Toggle Expanded Viewport', this.plugin.layout.state.isExpanded), this.plugin.config.get(PluginConfig.Viewport.ShowSettings) && this.icon(TuneSvg, this.toggleSettingsExpanded, 'Settings / Controls Info', this.state.isSettingsExpanded)] }), this.plugin.config.get(PluginConfig.Viewport.ShowSelectionMode) && _jsxs("div", { children: [_jsx("div", { className: 'msp-semi-transparent-background' }), _jsx(ToggleSelectionModeButton, {})] })] })), this.state.isScreenshotExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Screenshot / State', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleScreenshotExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(DownloadScreenshotControls, { close: this.toggleScreenshotExpanded }) })) })), this.state.isSettingsExpanded && _jsx("div", __assign({ className: 'msp-viewport-controls-panel' }, { children: _jsx(ControlGroup, __assign({ header: 'Settings / Controls Info', title: 'Click to close.', initialExpanded: true, hideExpander: true, hideOffset: true, onHeaderClick: this.toggleSettingsExpanded, topRightIcon: CloseSvg, noTopMargin: true, childrenClassName: 'msp-viewport-controls-panel-controls' }, { children: _jsx(SimpleSettingsControl, {}) })) }))] }));
70
70
  };
71
71
  return ViewportControls;
72
72
  }(PluginUIComponent));
73
73
  export { ViewportControls };
74
74
  export var Logo = function () {
75
- return _jsx("a", { className: 'msp-logo', href: 'https://molstar.org', target: '_blank' }, void 0);
75
+ return _jsx("a", { className: 'msp-logo', href: 'https://molstar.org', target: '_blank' });
76
76
  };
77
- export var Viewport = function () { return _jsx(ViewportCanvas, { logo: Logo }, void 0); };
77
+ export var Viewport = function () { return _jsx(ViewportCanvas, { logo: Logo }); };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */