molstar 3.44.0 → 3.45.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 (272) hide show
  1. package/build/viewer/molstar.css +1 -1
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/cli/cifschema/index.js +2 -2
  4. package/lib/commonjs/cli/cifschema/index.js +2 -2
  5. package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -1
  6. package/lib/commonjs/extensions/anvil/representation.d.ts +4 -4
  7. package/lib/commonjs/extensions/cellpack/representation.d.ts +1 -1
  8. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  9. package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -3
  10. package/lib/commonjs/extensions/mvs/behavior.d.ts +1 -1
  11. package/lib/commonjs/extensions/mvs/behavior.js +3 -1
  12. package/lib/commonjs/extensions/mvs/components/annotation-color-theme.d.ts +1 -1
  13. package/lib/commonjs/extensions/mvs/components/annotation-color-theme.js +3 -2
  14. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +3 -1
  15. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.js +3 -2
  16. package/lib/commonjs/extensions/mvs/components/annotation-prop.d.ts +1 -1
  17. package/lib/commonjs/extensions/mvs/components/annotation-prop.js +2 -2
  18. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +1 -1
  19. package/lib/commonjs/extensions/mvs/components/custom-label/representation.js +4 -3
  20. package/lib/commonjs/extensions/mvs/components/custom-tooltips-prop.d.ts +1 -1
  21. package/lib/commonjs/extensions/mvs/components/custom-tooltips-prop.js +2 -2
  22. package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.d.ts +21 -0
  23. package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.js +40 -0
  24. package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.d.ts +1 -1
  25. package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.js +4 -3
  26. package/lib/commonjs/extensions/mvs/load.d.ts +1 -1
  27. package/lib/commonjs/extensions/mvs/load.js +5 -2
  28. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
  29. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
  30. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +160 -1
  31. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +10 -5
  32. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -1
  33. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -0
  34. package/lib/commonjs/mol-geo/geometry/color-data.js +15 -8
  35. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders-builder.d.ts +9 -3
  36. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders-builder.js +13 -6
  37. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +11 -2
  38. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +14 -9
  39. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +1 -1
  40. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -1
  41. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
  42. package/lib/commonjs/mol-geo/util/location-iterator.d.ts +4 -1
  43. package/lib/commonjs/mol-geo/util/location-iterator.js +8 -1
  44. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +2 -0
  45. package/lib/commonjs/mol-gl/renderable/cylinders.js +1 -1
  46. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  47. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  48. package/lib/commonjs/mol-gl/shader/cylinders.vert.d.ts +2 -2
  49. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +2 -2
  50. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  51. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  52. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  53. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  54. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  55. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  56. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
  57. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -2
  58. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +2 -1
  59. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +2 -1
  60. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +6 -3
  61. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +8 -4
  62. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +1 -1
  63. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +12 -6
  64. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +9 -7
  65. package/lib/commonjs/mol-plugin-state/transforms/representation.js +16 -10
  66. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +2 -3
  67. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +48 -12
  68. package/lib/commonjs/mol-plugin-ui/controls.d.ts +2 -2
  69. package/lib/commonjs/mol-plugin-ui/controls.js +7 -2
  70. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -1
  71. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -1
  72. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +4 -1
  73. package/lib/commonjs/mol-repr/shape/loci/label.js +16 -9
  74. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -1
  75. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -1
  76. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -1
  77. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +7 -5
  78. package/lib/commonjs/mol-repr/structure/complex-visual.js +3 -2
  79. package/lib/commonjs/mol-repr/structure/params.d.ts +5 -4
  80. package/lib/commonjs/mol-repr/structure/registry.d.ts +15 -10
  81. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +6 -3
  82. package/lib/commonjs/mol-repr/structure/representation/backbone.js +1 -1
  83. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +6 -3
  84. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +6 -3
  85. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +6 -3
  86. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +1 -1
  87. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +6 -3
  88. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
  89. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
  90. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -3
  91. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -3
  92. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -3
  93. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +7 -5
  94. package/lib/commonjs/mol-repr/structure/units-visual.js +3 -2
  95. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +5 -2
  96. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +8 -2
  97. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +1 -1
  98. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +5 -2
  99. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +8 -2
  100. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +1 -1
  101. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +2 -1
  102. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  103. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +2 -1
  104. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -4
  105. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  106. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
  107. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
  108. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +4 -2
  109. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.js +27 -26
  110. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -2
  111. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -1
  112. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  113. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  114. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  115. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +4 -2
  116. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
  117. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  118. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +2 -2
  119. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  120. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  121. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  122. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
  123. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  124. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  125. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  126. package/lib/commonjs/mol-repr/structure/visual/util/bond.d.ts +9 -2
  127. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +28 -2
  128. package/lib/commonjs/mol-repr/structure/visual/util/link.d.ts +2 -0
  129. package/lib/commonjs/mol-repr/structure/visual/util/link.js +16 -13
  130. package/lib/commonjs/mol-repr/structure/visual/util/polymer.d.ts +3 -1
  131. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +2 -2
  132. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +5 -5
  133. package/lib/commonjs/mol-repr/volume/registry.d.ts +2 -2
  134. package/lib/commonjs/mol-repr/volume/segment.d.ts +5 -5
  135. package/lib/commonjs/mol-util/param-definition.d.ts +9 -2
  136. package/lib/commonjs/mol-util/param-definition.js +2 -2
  137. package/lib/extensions/anvil/behavior.d.ts +1 -1
  138. package/lib/extensions/anvil/representation.d.ts +4 -4
  139. package/lib/extensions/cellpack/representation.d.ts +1 -1
  140. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  141. package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -3
  142. package/lib/extensions/mvs/behavior.d.ts +1 -1
  143. package/lib/extensions/mvs/behavior.js +3 -1
  144. package/lib/extensions/mvs/components/annotation-color-theme.d.ts +1 -1
  145. package/lib/extensions/mvs/components/annotation-color-theme.js +3 -2
  146. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +3 -1
  147. package/lib/extensions/mvs/components/annotation-label/representation.js +3 -2
  148. package/lib/extensions/mvs/components/annotation-prop.d.ts +1 -1
  149. package/lib/extensions/mvs/components/annotation-prop.js +2 -2
  150. package/lib/extensions/mvs/components/custom-label/representation.d.ts +1 -1
  151. package/lib/extensions/mvs/components/custom-label/representation.js +4 -3
  152. package/lib/extensions/mvs/components/custom-tooltips-prop.d.ts +1 -1
  153. package/lib/extensions/mvs/components/custom-tooltips-prop.js +2 -2
  154. package/lib/extensions/mvs/components/is-mvs-model-prop.d.ts +21 -0
  155. package/lib/extensions/mvs/components/is-mvs-model-prop.js +35 -0
  156. package/lib/extensions/mvs/components/multilayer-color-theme.d.ts +1 -1
  157. package/lib/extensions/mvs/components/multilayer-color-theme.js +4 -3
  158. package/lib/extensions/mvs/load.d.ts +1 -1
  159. package/lib/extensions/mvs/load.js +5 -2
  160. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
  161. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
  162. package/lib/extensions/rcsb/graphql/types.d.ts +160 -1
  163. package/lib/extensions/rcsb/validation-report/representation.d.ts +10 -5
  164. package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -1
  165. package/lib/mol-geo/geometry/color-data.d.ts +1 -0
  166. package/lib/mol-geo/geometry/color-data.js +15 -8
  167. package/lib/mol-geo/geometry/cylinders/cylinders-builder.d.ts +9 -3
  168. package/lib/mol-geo/geometry/cylinders/cylinders-builder.js +13 -6
  169. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +11 -2
  170. package/lib/mol-geo/geometry/cylinders/cylinders.js +14 -9
  171. package/lib/mol-geo/geometry/mesh/mesh.d.ts +1 -1
  172. package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -1
  173. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
  174. package/lib/mol-geo/util/location-iterator.d.ts +4 -1
  175. package/lib/mol-geo/util/location-iterator.js +8 -1
  176. package/lib/mol-gl/renderable/cylinders.d.ts +2 -0
  177. package/lib/mol-gl/renderable/cylinders.js +1 -1
  178. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  179. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  180. package/lib/mol-gl/shader/cylinders.vert.d.ts +2 -2
  181. package/lib/mol-gl/shader/cylinders.vert.js +2 -2
  182. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  183. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  184. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  185. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  186. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  187. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  188. package/lib/mol-model/structure/model/types/saccharides.js +1 -1
  189. package/lib/mol-model-formats/shape/ply.d.ts +2 -2
  190. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +2 -1
  191. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +2 -1
  192. package/lib/mol-model-props/computed/representations/interactions.d.ts +6 -3
  193. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +8 -4
  194. package/lib/mol-plugin/behavior/dynamic/representation.d.ts +1 -1
  195. package/lib/mol-plugin/behavior/dynamic/representation.js +12 -6
  196. package/lib/mol-plugin/version.js +2 -2
  197. package/lib/mol-plugin-state/transforms/representation.d.ts +9 -7
  198. package/lib/mol-plugin-state/transforms/representation.js +16 -10
  199. package/lib/mol-plugin-ui/controls/parameters.d.ts +2 -3
  200. package/lib/mol-plugin-ui/controls/parameters.js +48 -12
  201. package/lib/mol-plugin-ui/controls.d.ts +2 -2
  202. package/lib/mol-plugin-ui/controls.js +7 -2
  203. package/lib/mol-plugin-ui/skin/base/components/controls.scss +14 -3
  204. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +9 -3
  205. package/lib/mol-repr/shape/loci/angle.d.ts +1 -1
  206. package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -1
  207. package/lib/mol-repr/shape/loci/label.d.ts +4 -1
  208. package/lib/mol-repr/shape/loci/label.js +16 -9
  209. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -1
  210. package/lib/mol-repr/shape/loci/plane.d.ts +1 -1
  211. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -1
  212. package/lib/mol-repr/structure/complex-visual.d.ts +7 -5
  213. package/lib/mol-repr/structure/complex-visual.js +3 -2
  214. package/lib/mol-repr/structure/params.d.ts +5 -4
  215. package/lib/mol-repr/structure/registry.d.ts +15 -10
  216. package/lib/mol-repr/structure/representation/backbone.d.ts +6 -3
  217. package/lib/mol-repr/structure/representation/backbone.js +1 -1
  218. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +6 -3
  219. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +6 -3
  220. package/lib/mol-repr/structure/representation/cartoon.d.ts +6 -3
  221. package/lib/mol-repr/structure/representation/cartoon.js +1 -1
  222. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +6 -3
  223. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
  224. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
  225. package/lib/mol-repr/structure/representation/orientation.d.ts +3 -3
  226. package/lib/mol-repr/structure/representation/putty.d.ts +3 -3
  227. package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -3
  228. package/lib/mol-repr/structure/units-visual.d.ts +7 -5
  229. package/lib/mol-repr/structure/units-visual.js +3 -2
  230. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +5 -2
  231. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +8 -2
  232. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +1 -1
  233. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +5 -2
  234. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +8 -2
  235. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +1 -1
  236. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +2 -1
  237. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  238. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +2 -1
  239. package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -4
  240. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  241. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
  242. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
  243. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +4 -2
  244. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.js +27 -26
  245. package/lib/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -2
  246. package/lib/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -1
  247. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  248. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  249. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  250. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +4 -2
  251. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
  252. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  253. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.js +2 -2
  254. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  255. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  256. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  257. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
  258. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  259. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  260. package/lib/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  261. package/lib/mol-repr/structure/visual/util/bond.d.ts +9 -2
  262. package/lib/mol-repr/structure/visual/util/bond.js +28 -2
  263. package/lib/mol-repr/structure/visual/util/link.d.ts +2 -0
  264. package/lib/mol-repr/structure/visual/util/link.js +16 -13
  265. package/lib/mol-repr/structure/visual/util/polymer.d.ts +3 -1
  266. package/lib/mol-repr/structure/visual/util/polymer.js +2 -2
  267. package/lib/mol-repr/volume/isosurface.d.ts +5 -5
  268. package/lib/mol-repr/volume/registry.d.ts +2 -2
  269. package/lib/mol-repr/volume/segment.d.ts +5 -5
  270. package/lib/mol-util/param-definition.d.ts +9 -2
  271. package/lib/mol-util/param-definition.js +2 -2
  272. package/package.json +33 -21
@@ -37,7 +37,7 @@ export declare const PlyShapeParams: {
37
37
  flatShaded: PD.BooleanParam;
38
38
  ignoreLight: PD.BooleanParam;
39
39
  xrayShaded: PD.Select<boolean | "inverted">;
40
- transparentBackfaces: PD.Select<string>;
40
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
41
41
  bumpFrequency: PD.Numeric;
42
42
  bumpAmplitude: PD.Numeric;
43
43
  alpha: PD.Numeric;
@@ -84,7 +84,7 @@ export declare function shapeFromPly(source: PlyFile, params?: {
84
84
  flatShaded: PD.BooleanParam;
85
85
  ignoreLight: PD.BooleanParam;
86
86
  xrayShaded: PD.Select<boolean | "inverted">;
87
- transparentBackfaces: PD.Select<string>;
87
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
88
88
  bumpFrequency: PD.Numeric;
89
89
  bumpAmplitude: PD.Numeric;
90
90
  alpha: PD.Numeric;
@@ -22,13 +22,14 @@ export declare const InteractionsInterUnitParams: {
22
22
  dashCap: PD.BooleanParam;
23
23
  stubCap: PD.BooleanParam;
24
24
  radialSegments: PD.Numeric;
25
+ colorMode: PD.Select<"default" | "interpolate">;
25
26
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
26
27
  doubleSided: PD.BooleanParam;
27
28
  flipSided: PD.BooleanParam;
28
29
  flatShaded: PD.BooleanParam;
29
30
  ignoreLight: PD.BooleanParam;
30
31
  xrayShaded: PD.Select<boolean | "inverted">;
31
- transparentBackfaces: PD.Select<string>;
32
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
32
33
  bumpFrequency: PD.Numeric;
33
34
  bumpAmplitude: PD.Numeric;
34
35
  alpha: PD.Numeric;
@@ -22,13 +22,14 @@ export declare const InteractionsIntraUnitParams: {
22
22
  dashCap: PD.BooleanParam;
23
23
  stubCap: PD.BooleanParam;
24
24
  radialSegments: PD.Numeric;
25
+ colorMode: PD.Select<"default" | "interpolate">;
25
26
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
26
27
  doubleSided: PD.BooleanParam;
27
28
  flipSided: PD.BooleanParam;
28
29
  flatShaded: PD.BooleanParam;
29
30
  ignoreLight: PD.BooleanParam;
30
31
  xrayShaded: PD.Select<boolean | "inverted">;
31
- transparentBackfaces: PD.Select<string>;
32
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
32
33
  bumpFrequency: PD.Numeric;
33
34
  bumpAmplitude: PD.Numeric;
34
35
  alpha: PD.Numeric;
@@ -27,12 +27,13 @@ export declare const InteractionsParams: {
27
27
  dashCap: PD.BooleanParam;
28
28
  stubCap: PD.BooleanParam;
29
29
  radialSegments: PD.Numeric;
30
+ colorMode: PD.Select<"default" | "interpolate">;
30
31
  doubleSided: PD.BooleanParam;
31
32
  flipSided: PD.BooleanParam;
32
33
  flatShaded: PD.BooleanParam;
33
34
  ignoreLight: PD.BooleanParam;
34
35
  xrayShaded: PD.Select<boolean | "inverted">;
35
- transparentBackfaces: PD.Select<string>;
36
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
36
37
  bumpFrequency: PD.Numeric;
37
38
  bumpAmplitude: PD.Numeric;
38
39
  alpha: PD.Numeric;
@@ -74,12 +75,13 @@ export declare function getInteractionParams(ctx: ThemeRegistryContext, structur
74
75
  dashCap: PD.BooleanParam;
75
76
  stubCap: PD.BooleanParam;
76
77
  radialSegments: PD.Numeric;
78
+ colorMode: PD.Select<"default" | "interpolate">;
77
79
  doubleSided: PD.BooleanParam;
78
80
  flipSided: PD.BooleanParam;
79
81
  flatShaded: PD.BooleanParam;
80
82
  ignoreLight: PD.BooleanParam;
81
83
  xrayShaded: PD.Select<boolean | "inverted">;
82
- transparentBackfaces: PD.Select<string>;
84
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
83
85
  bumpFrequency: PD.Numeric;
84
86
  bumpAmplitude: PD.Numeric;
85
87
  alpha: PD.Numeric;
@@ -122,12 +124,13 @@ export declare const InteractionsRepresentationProvider: StructureRepresentation
122
124
  dashCap: PD.BooleanParam;
123
125
  stubCap: PD.BooleanParam;
124
126
  radialSegments: PD.Numeric;
127
+ colorMode: PD.Select<"default" | "interpolate">;
125
128
  doubleSided: PD.BooleanParam;
126
129
  flipSided: PD.BooleanParam;
127
130
  flatShaded: PD.BooleanParam;
128
131
  ignoreLight: PD.BooleanParam;
129
132
  xrayShaded: PD.Select<boolean | "inverted">;
130
- transparentBackfaces: PD.Select<string>;
133
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
131
134
  bumpFrequency: PD.Numeric;
132
135
  bumpAmplitude: PD.Numeric;
133
136
  alpha: PD.Numeric;
@@ -23,6 +23,7 @@ export declare const CrossLinkRestraintCylinderParams: {
23
23
  dashCap: PD.BooleanParam;
24
24
  stubCap: PD.BooleanParam;
25
25
  radialSegments: PD.Numeric;
26
+ colorMode: PD.Select<"default" | "interpolate">;
26
27
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
27
28
  includeParent: PD.BooleanParam;
28
29
  doubleSided: PD.BooleanParam;
@@ -30,7 +31,7 @@ export declare const CrossLinkRestraintCylinderParams: {
30
31
  flatShaded: PD.BooleanParam;
31
32
  ignoreLight: PD.BooleanParam;
32
33
  xrayShaded: PD.Select<boolean | "inverted">;
33
- transparentBackfaces: PD.Select<string>;
34
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
34
35
  bumpFrequency: PD.Numeric;
35
36
  bumpAmplitude: PD.Numeric;
36
37
  alpha: PD.Numeric;
@@ -67,6 +68,7 @@ export declare const CrossLinkRestraintParams: {
67
68
  dashCap: PD.BooleanParam;
68
69
  stubCap: PD.BooleanParam;
69
70
  radialSegments: PD.Numeric;
71
+ colorMode: PD.Select<"default" | "interpolate">;
70
72
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
71
73
  includeParent: PD.BooleanParam;
72
74
  doubleSided: PD.BooleanParam;
@@ -74,7 +76,7 @@ export declare const CrossLinkRestraintParams: {
74
76
  flatShaded: PD.BooleanParam;
75
77
  ignoreLight: PD.BooleanParam;
76
78
  xrayShaded: PD.Select<boolean | "inverted">;
77
- transparentBackfaces: PD.Select<string>;
79
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
78
80
  bumpFrequency: PD.Numeric;
79
81
  bumpAmplitude: PD.Numeric;
80
82
  alpha: PD.Numeric;
@@ -110,6 +112,7 @@ export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, s
110
112
  dashCap: PD.BooleanParam;
111
113
  stubCap: PD.BooleanParam;
112
114
  radialSegments: PD.Numeric;
115
+ colorMode: PD.Select<"default" | "interpolate">;
113
116
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
114
117
  includeParent: PD.BooleanParam;
115
118
  doubleSided: PD.BooleanParam;
@@ -117,7 +120,7 @@ export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, s
117
120
  flatShaded: PD.BooleanParam;
118
121
  ignoreLight: PD.BooleanParam;
119
122
  xrayShaded: PD.Select<boolean | "inverted">;
120
- transparentBackfaces: PD.Select<string>;
123
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
121
124
  bumpFrequency: PD.Numeric;
122
125
  bumpAmplitude: PD.Numeric;
123
126
  alpha: PD.Numeric;
@@ -154,6 +157,7 @@ export declare const CrossLinkRestraintRepresentationProvider: StructureRepresen
154
157
  dashCap: PD.BooleanParam;
155
158
  stubCap: PD.BooleanParam;
156
159
  radialSegments: PD.Numeric;
160
+ colorMode: PD.Select<"default" | "interpolate">;
157
161
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
158
162
  includeParent: PD.BooleanParam;
159
163
  doubleSided: PD.BooleanParam;
@@ -161,7 +165,7 @@ export declare const CrossLinkRestraintRepresentationProvider: StructureRepresen
161
165
  flatShaded: PD.BooleanParam;
162
166
  ignoreLight: PD.BooleanParam;
163
167
  xrayShaded: PD.Select<boolean | "inverted">;
164
- transparentBackfaces: PD.Select<string>;
168
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
165
169
  bumpFrequency: PD.Numeric;
166
170
  bumpAmplitude: PD.Numeric;
167
171
  alpha: PD.Numeric;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -267,15 +267,21 @@ export var FocusLoci = PluginBehavior.create({
267
267
  class_4.prototype.register = function () {
268
268
  var _this = this;
269
269
  this.subscribeObservable(this.ctx.behaviors.interaction.click, function (_a) {
270
- var _b;
270
+ var _b, _c, _d, _e, _f;
271
271
  var current = _a.current, button = _a.button, modifiers = _a.modifiers;
272
- var _c = _this.params.bindings, clickFocus = _c.clickFocus, clickFocusAdd = _c.clickFocusAdd, clickFocusSelectMode = _c.clickFocusSelectMode, clickFocusAddSelectMode = _c.clickFocusAddSelectMode;
272
+ var _g = _this.params.bindings, clickFocus = _g.clickFocus, clickFocusAdd = _g.clickFocusAdd, clickFocusSelectMode = _g.clickFocusSelectMode, clickFocusAddSelectMode = _g.clickFocusAddSelectMode;
273
+ var binding = _this.ctx.selectionMode ? clickFocusSelectMode : clickFocus;
274
+ var matched = Binding.match(binding, button, modifiers);
275
+ // Support snapshot key property, in which case ignore the focus functionality
276
+ var snapshotKey = (_e = (_d = (_c = (_b = current.repr) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.snapshotKey) === null || _d === void 0 ? void 0 : _d.trim()) !== null && _e !== void 0 ? _e : '';
277
+ if (!_this.ctx.selectionMode && matched && snapshotKey) {
278
+ _this.ctx.managers.snapshot.applyKey(snapshotKey);
279
+ return;
280
+ }
273
281
  // only apply structure focus for appropriate granularity
274
282
  var granularity = _this.ctx.managers.interactivity.props.granularity;
275
283
  if (granularity !== 'residue' && granularity !== 'element')
276
284
  return;
277
- var binding = _this.ctx.selectionMode ? clickFocusSelectMode : clickFocus;
278
- var matched = Binding.match(binding, button, modifiers);
279
285
  var bindingAdd = _this.ctx.selectionMode ? clickFocusAddSelectMode : clickFocusAdd;
280
286
  var matchedAdd = Binding.match(bindingAdd, button, modifiers);
281
287
  if (!matched && !matchedAdd)
@@ -292,7 +298,7 @@ export var FocusLoci = PluginBehavior.create({
292
298
  else {
293
299
  _this.ctx.managers.structure.focus.addFromLoci(loci);
294
300
  // focus-add is not handled in camera behavior, doing it here
295
- var current_1 = (_b = _this.ctx.managers.structure.focus.current) === null || _b === void 0 ? void 0 : _b.loci;
301
+ var current_1 = (_f = _this.ctx.managers.structure.focus.current) === null || _f === void 0 ? void 0 : _f.loci;
296
302
  if (current_1)
297
303
  _this.ctx.managers.camera.focusLoci(current_1);
298
304
  }
@@ -1,2 +1,2 @@
1
- export var PLUGIN_VERSION = '3.44.0';
2
- export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1704560431276);
1
+ export var PLUGIN_VERSION = '3.45.0';
2
+ export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1706983325128);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -156,7 +156,7 @@ declare const ModelUnitcell3D: StateTransformer<SO.Molecule.Model, SO.Shape.Repr
156
156
  flatShaded: boolean;
157
157
  ignoreLight: boolean;
158
158
  xrayShaded: boolean | "inverted";
159
- transparentBackfaces: string;
159
+ transparentBackfaces: "on" | "off" | "opaque";
160
160
  bumpFrequency: number;
161
161
  bumpAmplitude: number;
162
162
  alpha: number;
@@ -180,7 +180,7 @@ declare const StructureBoundingBox3D: StateTransformer<SO.Molecule.Structure, SO
180
180
  flatShaded: boolean;
181
181
  ignoreLight: boolean;
182
182
  xrayShaded: boolean | "inverted";
183
- transparentBackfaces: string;
183
+ transparentBackfaces: "on" | "off" | "opaque";
184
184
  bumpFrequency: number;
185
185
  bumpAmplitude: number;
186
186
  alpha: number;
@@ -288,7 +288,7 @@ declare const StructureSelectionsAngle3D: StateTransformer<SO.Molecule.Structure
288
288
  flipSided: boolean;
289
289
  flatShaded: boolean;
290
290
  xrayShaded: boolean | "inverted";
291
- transparentBackfaces: string;
291
+ transparentBackfaces: "on" | "off" | "opaque";
292
292
  bumpFrequency: number;
293
293
  bumpAmplitude: number;
294
294
  lineSizeAttenuation: boolean;
@@ -341,7 +341,7 @@ declare const StructureSelectionsDihedral3D: StateTransformer<SO.Molecule.Struct
341
341
  flipSided: boolean;
342
342
  flatShaded: boolean;
343
343
  xrayShaded: boolean | "inverted";
344
- transparentBackfaces: string;
344
+ transparentBackfaces: "on" | "off" | "opaque";
345
345
  bumpFrequency: number;
346
346
  bumpAmplitude: number;
347
347
  lineSizeAttenuation: boolean;
@@ -353,6 +353,8 @@ type StructureSelectionsLabel3D = typeof StructureSelectionsLabel3D;
353
353
  declare const StructureSelectionsLabel3D: StateTransformer<SO.Molecule.Structure.Selections, SO.Shape.Representation3D, PD.Normalize<{
354
354
  scaleByRadius: boolean;
355
355
  visuals: "text"[];
356
+ snapshotKey: string;
357
+ tooltip: string;
356
358
  borderWidth: number;
357
359
  customText: string;
358
360
  textColor: Color;
@@ -400,7 +402,7 @@ declare const StructureSelectionsOrientation3D: StateTransformer<SO.Molecule.Str
400
402
  flatShaded: boolean;
401
403
  ignoreLight: boolean;
402
404
  xrayShaded: boolean | "inverted";
403
- transparentBackfaces: string;
405
+ transparentBackfaces: "on" | "off" | "opaque";
404
406
  bumpFrequency: number;
405
407
  bumpAmplitude: number;
406
408
  alpha: number;
@@ -427,7 +429,7 @@ declare const StructureSelectionsPlane3D: StateTransformer<SO.Molecule.Structure
427
429
  flatShaded: boolean;
428
430
  ignoreLight: boolean;
429
431
  xrayShaded: boolean | "inverted";
430
- transparentBackfaces: string;
432
+ transparentBackfaces: "on" | "off" | "opaque";
431
433
  bumpFrequency: number;
432
434
  bumpAmplitude: number;
433
435
  alpha: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -38,6 +38,7 @@ import { PlaneParams, PlaneRepresentation } from '../../mol-repr/shape/loci/plan
38
38
  import { Substance } from '../../mol-theme/substance';
39
39
  import { Material } from '../../mol-util/material';
40
40
  import { lerp } from '../../mol-math/interpolate';
41
+ import { MarkerAction, MarkerActions } from '../../mol-util/marker-action';
41
42
  export { StructureRepresentation3D };
42
43
  export { ExplodeStructureRepresentation3D };
43
44
  export { SpinStructureRepresentation3D };
@@ -1244,16 +1245,18 @@ var StructureSelectionsLabel3D = PluginStateTransform.BuiltIn({
1244
1245
  var _this = this;
1245
1246
  var a = _a.a, params = _a.params;
1246
1247
  return Task.create('Structure Label', function (ctx) { return __awaiter(_this, void 0, void 0, function () {
1247
- var data, repr;
1248
- var _a;
1249
- return __generator(this, function (_b) {
1250
- switch (_b.label) {
1248
+ var data, repr, pickable;
1249
+ var _a, _b, _c;
1250
+ return __generator(this, function (_d) {
1251
+ switch (_d.label) {
1251
1252
  case 0:
1252
1253
  data = getLabelDataFromStructureSelections(a.data);
1253
1254
  repr = LabelRepresentation(__assign({ webgl: (_a = plugin.canvas3d) === null || _a === void 0 ? void 0 : _a.webgl }, plugin.representation.structure.themes), function () { return LabelParams; });
1254
1255
  return [4 /*yield*/, repr.createOrUpdate(params, data).runInContext(ctx)];
1255
1256
  case 1:
1256
- _b.sent();
1257
+ _d.sent();
1258
+ pickable = !!(((_b = params.snapshotKey) === null || _b === void 0 ? void 0 : _b.trim()) || ((_c = params.tooltip) === null || _c === void 0 ? void 0 : _c.trim()));
1259
+ repr.setState({ pickable: pickable, markerActions: pickable ? MarkerActions.Highlighting : MarkerAction.None });
1257
1260
  return [2 /*return*/, new SO.Shape.Representation3D({ repr: repr, sourceData: data }, { label: "Label" })];
1258
1261
  }
1259
1262
  });
@@ -1263,16 +1266,19 @@ var StructureSelectionsLabel3D = PluginStateTransform.BuiltIn({
1263
1266
  var _this = this;
1264
1267
  var a = _a.a, b = _a.b, oldParams = _a.oldParams, newParams = _a.newParams;
1265
1268
  return Task.create('Structure Label', function (ctx) { return __awaiter(_this, void 0, void 0, function () {
1266
- var props, data;
1267
- return __generator(this, function (_a) {
1268
- switch (_a.label) {
1269
+ var props, data, pickable;
1270
+ var _a, _b;
1271
+ return __generator(this, function (_c) {
1272
+ switch (_c.label) {
1269
1273
  case 0:
1270
1274
  props = __assign(__assign({}, b.data.repr.props), newParams);
1271
1275
  data = getLabelDataFromStructureSelections(a.data);
1272
1276
  return [4 /*yield*/, b.data.repr.createOrUpdate(props, data).runInContext(ctx)];
1273
1277
  case 1:
1274
- _a.sent();
1278
+ _c.sent();
1275
1279
  b.data.sourceData = data;
1280
+ pickable = !!(((_a = newParams.snapshotKey) === null || _a === void 0 ? void 0 : _a.trim()) || ((_b = newParams.tooltip) === null || _b === void 0 ? void 0 : _b.trim()));
1281
+ b.data.repr.setState({ pickable: pickable, markerActions: pickable ? MarkerActions.Highlighting : MarkerAction.None });
1276
1282
  return [2 /*return*/, StateTransformer.UpdateResult.Updated];
1277
1283
  }
1278
1284
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -123,8 +123,7 @@ export declare class NumberRangeControl extends SimpleParam<PD.Numeric> {
123
123
  renderControl(): import("react/jsx-runtime").JSX.Element;
124
124
  }
125
125
  export declare class TextControl extends SimpleParam<PD.Text> {
126
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
127
- onKeyPress: (e: React.KeyboardEvent<HTMLInputElement>) => void;
126
+ updateValue: (value: string) => void;
128
127
  renderControl(): import("react/jsx-runtime").JSX.Element;
129
128
  }
130
129
  export declare class PureSelectControl extends React.PureComponent<ParamProps<PD.Select<string | number>> & {
@@ -1,7 +1,7 @@
1
1
  import { __assign, __extends, __spreadArray } from "tslib";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
- * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
5
5
  *
6
6
  * @author David Sehnal <david.sehnal@gmail.com>
7
7
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -224,6 +224,8 @@ function renderSimple(options) {
224
224
  _className.push('msp-control-label-short');
225
225
  if (props.param.twoColumns)
226
226
  _className.push('msp-control-col-2');
227
+ if (props.param.multiline)
228
+ _className.push('msp-control-twoline');
227
229
  var className = _className.join(' ');
228
230
  var label = props.param.label || camelCaseToWords(props.name);
229
231
  var help = props.param.help
@@ -366,28 +368,62 @@ var TextControl = /** @class */ (function (_super) {
366
368
  __extends(TextControl, _super);
367
369
  function TextControl() {
368
370
  var _this = _super !== null && _super.apply(this, arguments) || this;
369
- _this.onChange = function (e) {
370
- var value = e.target.value;
371
+ _this.updateValue = function (value) {
371
372
  if (value !== _this.props.value) {
372
373
  _this.update(value);
373
374
  }
374
375
  };
375
- _this.onKeyPress = function (e) {
376
- if ((e.keyCode === 13 || e.charCode === 13 || e.key === 'Enter')) {
377
- if (_this.props.onEnter)
378
- _this.props.onEnter();
379
- }
380
- e.stopPropagation();
381
- };
382
376
  return _this;
383
377
  }
384
378
  TextControl.prototype.renderControl = function () {
385
- var placeholder = this.props.param.label || camelCaseToWords(this.props.name);
386
- return _jsx("input", { type: 'text', value: this.props.value || '', placeholder: placeholder, onChange: this.onChange, onKeyPress: this.props.onEnter ? this.onKeyPress : void 0, disabled: this.props.isDisabled });
379
+ var placeholder = this.props.param.placeholder || this.props.param.label || camelCaseToWords(this.props.name);
380
+ return _jsx(TextCtrl, { props: this.props, placeholder: placeholder, update: this.updateValue });
387
381
  };
388
382
  return TextControl;
389
383
  }(SimpleParam));
390
384
  export { TextControl };
385
+ function TextCtrl(_a) {
386
+ var props = _a.props, placeholder = _a.placeholder, update = _a.update;
387
+ var _b = React.useState(props.value), value = _b[0], setValue = _b[1];
388
+ React.useEffect(function () { return setValue(props.value); }, [props.value]);
389
+ if (props.param.multiline) {
390
+ return _jsx("div", { className: 'msp-control-text-area-wrapper', children: _jsx("textarea", { value: props.param.disableInteractiveUpdates ? (value || '') : props.value, placeholder: placeholder, onChange: function (e) {
391
+ if (props.param.disableInteractiveUpdates)
392
+ setValue(e.target.value);
393
+ else
394
+ update(e.target.value);
395
+ }, onBlur: function (e) {
396
+ if (props.param.disableInteractiveUpdates)
397
+ update(e.target.value);
398
+ }, onKeyDown: function (e) {
399
+ if (e.key === 'Enter' && (e.shiftKey || e.ctrlKey || e.metaKey)) {
400
+ e.currentTarget.blur();
401
+ }
402
+ }, disabled: props.isDisabled }) });
403
+ }
404
+ return _jsx("input", { type: 'text', value: props.param.disableInteractiveUpdates ? (value || '') : props.value, placeholder: placeholder, onChange: function (e) {
405
+ if (props.param.disableInteractiveUpdates)
406
+ setValue(e.target.value);
407
+ else
408
+ update(e.target.value);
409
+ }, onBlur: function (e) {
410
+ if (props.param.disableInteractiveUpdates)
411
+ update(e.target.value);
412
+ }, disabled: props.isDisabled, onKeyDown: function (e) {
413
+ if (e.key !== 'Enter')
414
+ return;
415
+ if (props.onEnter) {
416
+ e.stopPropagation();
417
+ props.onEnter();
418
+ }
419
+ else if (e.key === 'Enter' && (e.shiftKey || e.ctrlKey || e.metaKey)) {
420
+ e.currentTarget.blur();
421
+ }
422
+ else if (props.param.disableInteractiveUpdates) {
423
+ update(value);
424
+ }
425
+ } });
426
+ }
391
427
  var PureSelectControl = /** @class */ (function (_super) {
392
428
  __extends(PureSelectControl, _super);
393
429
  function PureSelectControl() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -68,7 +68,7 @@ export declare class LociLabels extends PluginUIComponent<{}, {
68
68
  labels: ReadonlyArray<LociLabel>;
69
69
  }> {
70
70
  state: {
71
- labels: never[];
71
+ labels: string[];
72
72
  };
73
73
  componentDidMount(): void;
74
74
  render(): import("react/jsx-runtime").JSX.Element | null;
@@ -1,7 +1,7 @@
1
1
  import { __awaiter, __extends, __generator } from "tslib";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  /**
4
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
5
5
  *
6
6
  * @author David Sehnal <david.sehnal@gmail.com>
7
7
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -292,7 +292,12 @@ var LociLabels = /** @class */ (function (_super) {
292
292
  if (this.state.labels.length === 0) {
293
293
  return null;
294
294
  }
295
- return _jsx("div", { className: 'msp-highlight-info', children: this.state.labels.map(function (e, i) { return _jsx("div", { dangerouslySetInnerHTML: { __html: e } }, '' + i); }) });
295
+ return _jsx("div", { className: 'msp-highlight-info', children: this.state.labels.map(function (e, i) {
296
+ if (e.indexOf('\n') > 0) {
297
+ return _jsx("div", { className: 'msp-highlight-markdown-row', children: _jsx(Markdown, { skipHtml: true, children: e }) }, '' + i);
298
+ }
299
+ return _jsx("div", { className: 'msp-highlight-simple-row', dangerouslySetInnerHTML: { __html: e } }, '' + i);
300
+ }) });
296
301
  };
297
302
  return LociLabels;
298
303
  }(PluginUIComponent));
@@ -71,6 +71,10 @@
71
71
  width: 50%;
72
72
  }
73
73
 
74
+ .msp-control-twoline {
75
+ height: 2 * $row-height !important;
76
+ }
77
+
74
78
  .msp-control-group {
75
79
  position: relative;
76
80
  }
@@ -418,9 +422,8 @@
418
422
  }
419
423
  }
420
424
 
421
- .msp-text-area-wrapper {
425
+ .msp-control-text-area-wrapper, .msp-text-area-wrapper {
422
426
  position: relative;
423
- height: 3 * $row-height !important;
424
427
  textarea {
425
428
  border: none;
426
429
  width: 100%;
@@ -431,4 +434,12 @@
431
434
  font-size: 12px;
432
435
  line-height: 16px;
433
436
  }
434
- }
437
+ }
438
+
439
+ .msp-control-text-area-wrapper {
440
+ height: 2 * $row-height !important;
441
+ }
442
+
443
+ .msp-text-area-wrapper {
444
+ height: 3 * $row-height !important;
445
+ }
@@ -142,13 +142,19 @@
142
142
  padding: $info-vertical-padding $control-spacing;
143
143
  background: $default-background; //$highlight-info-background;
144
144
  opacity: 90%;
145
-
146
- // min-height: $row-height;
147
- text-align: right;
145
+ max-width: 400px;
148
146
 
149
147
  @include non-selectable;
150
148
  }
151
149
 
150
+ .msp-highlight-markdown-row {
151
+ padding-left: $control-spacing;
152
+ }
153
+
154
+ .msp-highlight-simple-row {
155
+ text-align: right;
156
+ }
157
+
152
158
  .msp-highlight-info-hr {
153
159
  margin-inline: 0px;
154
160
  margin-block: 3px;
@@ -59,7 +59,7 @@ export declare const AngleParams: {
59
59
  flipSided: PD.BooleanParam;
60
60
  flatShaded: PD.BooleanParam;
61
61
  xrayShaded: PD.Select<boolean | "inverted">;
62
- transparentBackfaces: PD.Select<string>;
62
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
63
63
  bumpFrequency: PD.Numeric;
64
64
  bumpAmplitude: PD.Numeric;
65
65
  lineSizeAttenuation: PD.BooleanParam;
@@ -59,7 +59,7 @@ export declare const DihedralParams: {
59
59
  flipSided: PD.BooleanParam;
60
60
  flatShaded: PD.BooleanParam;
61
61
  xrayShaded: PD.Select<boolean | "inverted">;
62
- transparentBackfaces: PD.Select<string>;
62
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
63
63
  bumpFrequency: PD.Numeric;
64
64
  bumpAmplitude: PD.Numeric;
65
65
  lineSizeAttenuation: PD.BooleanParam;
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-24 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ * @author David Sehnal <david.sehnal@gmail.com>
5
6
  */
6
7
  import { Loci } from '../../../mol-model/loci';
7
8
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
@@ -15,6 +16,8 @@ export interface LabelData {
15
16
  export declare const LabelParams: {
16
17
  scaleByRadius: PD.BooleanParam;
17
18
  visuals: PD.MultiSelect<"text">;
19
+ snapshotKey: PD.Text<string>;
20
+ tooltip: PD.Text<string>;
18
21
  borderWidth: PD.Numeric;
19
22
  customText: PD.Text<string>;
20
23
  textColor: PD.Color;
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-24 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ * @author David Sehnal <david.sehnal@gmail.com>
5
6
  */
6
7
  import { __assign } from "tslib";
7
8
  import { Loci } from '../../../mol-model/loci';
@@ -16,9 +17,9 @@ import { lociLabel } from '../../../mol-theme/label';
16
17
  import { LociLabelTextParams } from './common';
17
18
  var TextParams = __assign({}, LociLabelTextParams);
18
19
  var LabelVisuals = {
19
- 'text': function (ctx, getParams) { return ShapeRepresentation(getTextShape, Text.Utils, { modifyState: function (s) { return (__assign(__assign({}, s), { pickable: false })); } }); },
20
+ 'text': function (ctx, getParams) { return ShapeRepresentation(getTextShape, Text.Utils); },
20
21
  };
21
- export var LabelParams = __assign(__assign({}, TextParams), { scaleByRadius: PD.Boolean(true), visuals: PD.MultiSelect(['text'], PD.objectToOptions(LabelVisuals)) });
22
+ export var LabelParams = __assign(__assign({}, TextParams), { scaleByRadius: PD.Boolean(true), visuals: PD.MultiSelect(['text'], PD.objectToOptions(LabelVisuals)), snapshotKey: PD.Text('', { isEssential: true, disableInteractiveUpdates: true, description: 'Activate the snapshot with the provided key when clicking on the label' }), tooltip: PD.Text('', { isEssential: true, multiline: true, disableInteractiveUpdates: true, placeholder: 'Tooltip', description: 'Tooltip text to be displayed when hovering over the label' }) });
22
23
  //
23
24
  var tmpSphere = Sphere3D();
24
25
  function label(info, condensed) {
@@ -44,15 +45,21 @@ function buildText(data, props, text) {
44
45
  return builder.getText();
45
46
  }
46
47
  function getTextShape(ctx, data, props, shape) {
48
+ var _a, _b;
47
49
  var text = buildText(data, props, shape && shape.geometry);
48
50
  var name = getLabelName(data);
51
+ var tooltip = (_b = (_a = props.tooltip) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
49
52
  var customLabel = props.customText.trim();
50
- var getLabel = customLabel
51
- ? function (groupId) {
52
- return customLabel;
53
- } : function (groupId) {
54
- return label(data.infos[groupId]);
55
- };
53
+ var getLabel;
54
+ if (tooltip) {
55
+ getLabel = function (_) { return tooltip; };
56
+ }
57
+ else if (customLabel) {
58
+ getLabel = function (_) { return customLabel; };
59
+ }
60
+ else {
61
+ getLabel = function (groupId) { return label(data.infos[groupId]); };
62
+ }
56
63
  return Shape.create(name, data, text, function () { return props.textColor; }, function () { return props.textSize; }, getLabel);
57
64
  }
58
65
  export function LabelRepresentation(ctx, getParams) {