qsharp-lang 1.22.5-dev → 1.23.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 (331) hide show
  1. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
  2. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  3. package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
  4. package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
  5. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  6. package/docs/Microsoft.Quantum.Core/index.md +1 -1
  7. package/docs/Std.Arithmetic/AddLE.md +1 -1
  8. package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
  9. package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
  10. package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
  11. package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
  12. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  13. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  14. package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
  15. package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
  16. package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  17. package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  18. package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
  19. package/docs/Std.Arithmetic/IncByI.md +1 -1
  20. package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
  21. package/docs/Std.Arithmetic/IncByL.md +1 -1
  22. package/docs/Std.Arithmetic/IncByLE.md +1 -1
  23. package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
  24. package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
  25. package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  26. package/docs/Std.Arithmetic/MAJ.md +1 -1
  27. package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
  28. package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
  29. package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  30. package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  31. package/docs/Std.Arithmetic/index.md +1 -1
  32. package/docs/Std.Arrays/All.md +1 -1
  33. package/docs/Std.Arrays/Any.md +1 -1
  34. package/docs/Std.Arrays/Chunks.md +1 -1
  35. package/docs/Std.Arrays/CircularlyShifted.md +1 -1
  36. package/docs/Std.Arrays/ColumnAt.md +1 -1
  37. package/docs/Std.Arrays/Count.md +1 -1
  38. package/docs/Std.Arrays/Diagonal.md +1 -1
  39. package/docs/Std.Arrays/DrawMany.md +1 -1
  40. package/docs/Std.Arrays/Enumerated.md +1 -1
  41. package/docs/Std.Arrays/Excluding.md +1 -1
  42. package/docs/Std.Arrays/Filtered.md +1 -1
  43. package/docs/Std.Arrays/FlatMapped.md +1 -1
  44. package/docs/Std.Arrays/Flattened.md +1 -1
  45. package/docs/Std.Arrays/Fold.md +1 -1
  46. package/docs/Std.Arrays/ForEach.md +1 -1
  47. package/docs/Std.Arrays/Head.md +1 -1
  48. package/docs/Std.Arrays/HeadAndRest.md +1 -1
  49. package/docs/Std.Arrays/IndexOf.md +1 -1
  50. package/docs/Std.Arrays/IndexRange.md +1 -1
  51. package/docs/Std.Arrays/Interleaved.md +1 -1
  52. package/docs/Std.Arrays/IsEmpty.md +1 -1
  53. package/docs/Std.Arrays/IsRectangularArray.md +1 -1
  54. package/docs/Std.Arrays/IsSorted.md +1 -1
  55. package/docs/Std.Arrays/IsSquareArray.md +1 -1
  56. package/docs/Std.Arrays/Mapped.md +1 -1
  57. package/docs/Std.Arrays/MappedByIndex.md +1 -1
  58. package/docs/Std.Arrays/MappedOverRange.md +1 -1
  59. package/docs/Std.Arrays/Most.md +1 -1
  60. package/docs/Std.Arrays/MostAndTail.md +1 -1
  61. package/docs/Std.Arrays/Padded.md +1 -1
  62. package/docs/Std.Arrays/Partitioned.md +1 -1
  63. package/docs/Std.Arrays/Rest.md +1 -1
  64. package/docs/Std.Arrays/Reversed.md +1 -1
  65. package/docs/Std.Arrays/SequenceI.md +1 -1
  66. package/docs/Std.Arrays/SequenceL.md +1 -1
  67. package/docs/Std.Arrays/Sorted.md +1 -1
  68. package/docs/Std.Arrays/Subarray.md +1 -1
  69. package/docs/Std.Arrays/Swapped.md +1 -1
  70. package/docs/Std.Arrays/Tail.md +1 -1
  71. package/docs/Std.Arrays/Transposed.md +1 -1
  72. package/docs/Std.Arrays/Unzipped.md +1 -1
  73. package/docs/Std.Arrays/Where.md +1 -1
  74. package/docs/Std.Arrays/Windows.md +1 -1
  75. package/docs/Std.Arrays/Zipped.md +1 -1
  76. package/docs/Std.Arrays/index.md +1 -1
  77. package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
  78. package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
  79. package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
  80. package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
  81. package/docs/Std.Canon/ApplyOperationPowerCA.md +1 -1
  82. package/docs/Std.Canon/ApplyP.md +1 -1
  83. package/docs/Std.Canon/ApplyPauli.md +1 -1
  84. package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
  85. package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
  86. package/docs/Std.Canon/ApplyQFT.md +1 -1
  87. package/docs/Std.Canon/ApplyQPE.md +1 -1
  88. package/docs/Std.Canon/ApplyToEach.md +1 -1
  89. package/docs/Std.Canon/ApplyToEachA.md +1 -1
  90. package/docs/Std.Canon/ApplyToEachC.md +1 -1
  91. package/docs/Std.Canon/ApplyToEachCA.md +1 -1
  92. package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
  93. package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
  94. package/docs/Std.Canon/CX.md +1 -1
  95. package/docs/Std.Canon/CY.md +1 -1
  96. package/docs/Std.Canon/CZ.md +1 -1
  97. package/docs/Std.Canon/Fst.md +1 -1
  98. package/docs/Std.Canon/MapPauliAxis.md +1 -1
  99. package/docs/Std.Canon/Relabel.md +1 -1
  100. package/docs/Std.Canon/Snd.md +1 -1
  101. package/docs/Std.Canon/SwapReverseRegister.md +1 -1
  102. package/docs/Std.Canon/index.md +1 -1
  103. package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
  104. package/docs/Std.Convert/BigIntAsInt.md +1 -1
  105. package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
  106. package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
  107. package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
  108. package/docs/Std.Convert/BoolAsResult.md +1 -1
  109. package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
  110. package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
  111. package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
  112. package/docs/Std.Convert/IntAsBigInt.md +1 -1
  113. package/docs/Std.Convert/IntAsBoolArray.md +1 -1
  114. package/docs/Std.Convert/IntAsDouble.md +1 -1
  115. package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
  116. package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
  117. package/docs/Std.Convert/ResultAsBool.md +1 -1
  118. package/docs/Std.Convert/index.md +1 -1
  119. package/docs/Std.Core/Complex.md +1 -1
  120. package/docs/Std.Core/Length.md +1 -1
  121. package/docs/Std.Core/Repeated.md +1 -1
  122. package/docs/Std.Core/index.md +1 -1
  123. package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
  124. package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
  125. package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
  126. package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
  127. package/docs/Std.Diagnostics/CheckZero.md +1 -1
  128. package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
  129. package/docs/Std.Diagnostics/ConfigureQubitLoss.md +1 -1
  130. package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
  131. package/docs/Std.Diagnostics/DumpMachine.md +1 -1
  132. package/docs/Std.Diagnostics/DumpOperation.md +1 -1
  133. package/docs/Std.Diagnostics/DumpRegister.md +1 -1
  134. package/docs/Std.Diagnostics/Fact.md +1 -1
  135. package/docs/Std.Diagnostics/NoNoise.md +1 -1
  136. package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
  137. package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
  138. package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
  139. package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
  140. package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
  141. package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
  142. package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
  143. package/docs/Std.Diagnostics/index.md +1 -1
  144. package/docs/Std.Intrinsic/AND.md +1 -1
  145. package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
  146. package/docs/Std.Intrinsic/CCNOT.md +1 -1
  147. package/docs/Std.Intrinsic/CNOT.md +1 -1
  148. package/docs/Std.Intrinsic/Exp.md +1 -1
  149. package/docs/Std.Intrinsic/H.md +1 -1
  150. package/docs/Std.Intrinsic/I.md +1 -1
  151. package/docs/Std.Intrinsic/M.md +1 -1
  152. package/docs/Std.Intrinsic/Measure.md +1 -1
  153. package/docs/Std.Intrinsic/Message.md +1 -1
  154. package/docs/Std.Intrinsic/R.md +1 -1
  155. package/docs/Std.Intrinsic/R1.md +1 -1
  156. package/docs/Std.Intrinsic/R1Frac.md +1 -1
  157. package/docs/Std.Intrinsic/RFrac.md +1 -1
  158. package/docs/Std.Intrinsic/Reset.md +1 -1
  159. package/docs/Std.Intrinsic/ResetAll.md +1 -1
  160. package/docs/Std.Intrinsic/Rx.md +1 -1
  161. package/docs/Std.Intrinsic/Rxx.md +1 -1
  162. package/docs/Std.Intrinsic/Ry.md +1 -1
  163. package/docs/Std.Intrinsic/Ryy.md +1 -1
  164. package/docs/Std.Intrinsic/Rz.md +1 -1
  165. package/docs/Std.Intrinsic/Rzz.md +1 -1
  166. package/docs/Std.Intrinsic/S.md +1 -1
  167. package/docs/Std.Intrinsic/SWAP.md +1 -1
  168. package/docs/Std.Intrinsic/SX.md +1 -1
  169. package/docs/Std.Intrinsic/T.md +1 -1
  170. package/docs/Std.Intrinsic/X.md +1 -1
  171. package/docs/Std.Intrinsic/Y.md +1 -1
  172. package/docs/Std.Intrinsic/Z.md +1 -1
  173. package/docs/Std.Intrinsic/index.md +1 -1
  174. package/docs/Std.Logical/Xor.md +1 -1
  175. package/docs/Std.Logical/index.md +1 -1
  176. package/docs/Std.Math/AbsComplex.md +1 -1
  177. package/docs/Std.Math/AbsComplexPolar.md +1 -1
  178. package/docs/Std.Math/AbsD.md +1 -1
  179. package/docs/Std.Math/AbsI.md +1 -1
  180. package/docs/Std.Math/AbsL.md +1 -1
  181. package/docs/Std.Math/AbsSquaredComplex.md +1 -1
  182. package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
  183. package/docs/Std.Math/ApproximateFactorial.md +1 -1
  184. package/docs/Std.Math/ArcCos.md +1 -1
  185. package/docs/Std.Math/ArcCosh.md +1 -1
  186. package/docs/Std.Math/ArcSin.md +1 -1
  187. package/docs/Std.Math/ArcSinh.md +1 -1
  188. package/docs/Std.Math/ArcTan.md +1 -1
  189. package/docs/Std.Math/ArcTan2.md +1 -1
  190. package/docs/Std.Math/ArcTanh.md +1 -1
  191. package/docs/Std.Math/ArgComplex.md +1 -1
  192. package/docs/Std.Math/ArgComplexPolar.md +1 -1
  193. package/docs/Std.Math/Binom.md +1 -1
  194. package/docs/Std.Math/BitSizeI.md +1 -1
  195. package/docs/Std.Math/BitSizeL.md +1 -1
  196. package/docs/Std.Math/Ceiling.md +1 -1
  197. package/docs/Std.Math/Complex.md +1 -1
  198. package/docs/Std.Math/ComplexPolar.md +1 -1
  199. package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
  200. package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
  201. package/docs/Std.Math/Cos.md +1 -1
  202. package/docs/Std.Math/Cosh.md +1 -1
  203. package/docs/Std.Math/DivRemI.md +1 -1
  204. package/docs/Std.Math/DivRemL.md +1 -1
  205. package/docs/Std.Math/DividedByC.md +1 -1
  206. package/docs/Std.Math/DividedByCP.md +1 -1
  207. package/docs/Std.Math/E.md +1 -1
  208. package/docs/Std.Math/ExpModI.md +1 -1
  209. package/docs/Std.Math/ExpModL.md +1 -1
  210. package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  211. package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  212. package/docs/Std.Math/FactorialI.md +1 -1
  213. package/docs/Std.Math/FactorialL.md +1 -1
  214. package/docs/Std.Math/Floor.md +1 -1
  215. package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
  216. package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
  217. package/docs/Std.Math/HammingWeightI.md +1 -1
  218. package/docs/Std.Math/InverseModI.md +1 -1
  219. package/docs/Std.Math/InverseModL.md +1 -1
  220. package/docs/Std.Math/IsCoprimeI.md +1 -1
  221. package/docs/Std.Math/IsCoprimeL.md +1 -1
  222. package/docs/Std.Math/IsInfinite.md +1 -1
  223. package/docs/Std.Math/IsNaN.md +1 -1
  224. package/docs/Std.Math/LargestFixedPoint.md +1 -1
  225. package/docs/Std.Math/Lg.md +1 -1
  226. package/docs/Std.Math/Log.md +1 -1
  227. package/docs/Std.Math/Log10.md +1 -1
  228. package/docs/Std.Math/LogFactorialD.md +1 -1
  229. package/docs/Std.Math/LogGammaD.md +1 -1
  230. package/docs/Std.Math/LogOf2.md +1 -1
  231. package/docs/Std.Math/Max.md +1 -1
  232. package/docs/Std.Math/MaxD.md +1 -1
  233. package/docs/Std.Math/MaxI.md +1 -1
  234. package/docs/Std.Math/MaxL.md +1 -1
  235. package/docs/Std.Math/Min.md +1 -1
  236. package/docs/Std.Math/MinD.md +1 -1
  237. package/docs/Std.Math/MinI.md +1 -1
  238. package/docs/Std.Math/MinL.md +1 -1
  239. package/docs/Std.Math/MinusC.md +1 -1
  240. package/docs/Std.Math/MinusCP.md +1 -1
  241. package/docs/Std.Math/ModulusI.md +1 -1
  242. package/docs/Std.Math/ModulusL.md +1 -1
  243. package/docs/Std.Math/NegationC.md +1 -1
  244. package/docs/Std.Math/NegationCP.md +1 -1
  245. package/docs/Std.Math/PI.md +1 -1
  246. package/docs/Std.Math/PNorm.md +1 -1
  247. package/docs/Std.Math/PNormalized.md +1 -1
  248. package/docs/Std.Math/PlusC.md +1 -1
  249. package/docs/Std.Math/PlusCP.md +1 -1
  250. package/docs/Std.Math/PowC.md +1 -1
  251. package/docs/Std.Math/PowCP.md +1 -1
  252. package/docs/Std.Math/RealMod.md +1 -1
  253. package/docs/Std.Math/Round.md +1 -1
  254. package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
  255. package/docs/Std.Math/SignD.md +1 -1
  256. package/docs/Std.Math/SignI.md +1 -1
  257. package/docs/Std.Math/SignL.md +1 -1
  258. package/docs/Std.Math/Sin.md +1 -1
  259. package/docs/Std.Math/Sinh.md +1 -1
  260. package/docs/Std.Math/SmallestFixedPoint.md +1 -1
  261. package/docs/Std.Math/Sqrt.md +1 -1
  262. package/docs/Std.Math/SquaredNorm.md +1 -1
  263. package/docs/Std.Math/Tan.md +1 -1
  264. package/docs/Std.Math/Tanh.md +1 -1
  265. package/docs/Std.Math/TimesC.md +1 -1
  266. package/docs/Std.Math/TimesCP.md +1 -1
  267. package/docs/Std.Math/TrailingZeroCountI.md +1 -1
  268. package/docs/Std.Math/TrailingZeroCountL.md +1 -1
  269. package/docs/Std.Math/Truncate.md +1 -1
  270. package/docs/Std.Math/index.md +1 -1
  271. package/docs/Std.Measurement/IsLossResult.md +1 -1
  272. package/docs/Std.Measurement/MResetEachZ.md +1 -1
  273. package/docs/Std.Measurement/MResetX.md +1 -1
  274. package/docs/Std.Measurement/MResetY.md +1 -1
  275. package/docs/Std.Measurement/MResetZ.md +1 -1
  276. package/docs/Std.Measurement/MResetZChecked.md +1 -1
  277. package/docs/Std.Measurement/MeasureAllZ.md +1 -1
  278. package/docs/Std.Measurement/MeasureEachZ.md +1 -1
  279. package/docs/Std.Measurement/MeasureInteger.md +1 -1
  280. package/docs/Std.Measurement/index.md +1 -1
  281. package/docs/Std.Random/DrawRandomBool.md +1 -1
  282. package/docs/Std.Random/DrawRandomDouble.md +1 -1
  283. package/docs/Std.Random/DrawRandomInt.md +1 -1
  284. package/docs/Std.Random/index.md +1 -1
  285. package/docs/Std.Range/IsRangeEmpty.md +1 -1
  286. package/docs/Std.Range/RangeEnd.md +1 -1
  287. package/docs/Std.Range/RangeReverse.md +1 -1
  288. package/docs/Std.Range/RangeStart.md +1 -1
  289. package/docs/Std.Range/RangeStep.md +1 -1
  290. package/docs/Std.Range/index.md +1 -1
  291. package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
  292. package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
  293. package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
  294. package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  295. package/docs/Std.ResourceEstimation/CczCount.md +1 -1
  296. package/docs/Std.ResourceEstimation/EnableMemoryComputeArchitecture.md +1 -1
  297. package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
  298. package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
  299. package/docs/Std.ResourceEstimation/LeastFrequentlyUsed.md +1 -1
  300. package/docs/Std.ResourceEstimation/LeastRecentlyUsed.md +1 -1
  301. package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
  302. package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
  303. package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
  304. package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
  305. package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
  306. package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
  307. package/docs/Std.ResourceEstimation/TCount.md +1 -1
  308. package/docs/Std.ResourceEstimation/index.md +1 -1
  309. package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  310. package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
  311. package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
  312. package/docs/Std.StatePreparation/index.md +1 -1
  313. package/docs/Std.TableLookup/Select.md +1 -1
  314. package/docs/Std.TableLookup/index.md +1 -1
  315. package/docs/index.md +1 -1
  316. package/lib/nodejs/qsc_wasm.cjs +81 -81
  317. package/lib/nodejs/qsc_wasm_bg.wasm +0 -0
  318. package/lib/web/qsc_wasm.js +74 -74
  319. package/lib/web/qsc_wasm_bg.wasm +0 -0
  320. package/package.json +1 -1
  321. package/ux/circuit-vis/formatters/registerFormatter.ts +61 -33
  322. package/ux/circuit-vis/process.ts +14 -8
  323. package/ux/circuit-vis/sqore.ts +4 -5
  324. package/ux/index.ts +0 -2
  325. package/ux/atoms/controls.ts +0 -216
  326. package/ux/atoms/index.css +0 -226
  327. package/ux/atoms/index.ts +0 -192
  328. package/ux/atoms/layout.ts +0 -730
  329. package/ux/atoms/utils.ts +0 -32
  330. package/ux/chem/index.tsx +0 -191
  331. package/ux/chem/style.css +0 -83
package/ux/atoms/utils.ts DELETED
@@ -1,32 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- // **** Helper functions for rendering SVG elements ****
5
-
6
- type StringMap = Record<string, string>;
7
-
8
- export function createSvgElements(...tags: string[]): SVGElement[] {
9
- return tags.map((tag) =>
10
- document.createElementNS("http://www.w3.org/2000/svg", tag),
11
- );
12
- }
13
-
14
- export function setAttributes(el: SVGElement, attrs: StringMap) {
15
- for (const key in attrs) el.setAttribute(key, attrs[key]);
16
- }
17
-
18
- export function appendChildren(parent: Element, children: Element[]) {
19
- children.forEach((child) => parent.appendChild(child));
20
- }
21
-
22
- export function addChildWithClass(
23
- parent: HTMLElement,
24
- childTag: string,
25
- className: string,
26
- ): HTMLElement {
27
- const parentDoc = parent.ownerDocument;
28
- const child = parentDoc.createElement(childTag);
29
- child.classList.add(className);
30
- parent.appendChild(child);
31
- return child;
32
- }
package/ux/chem/index.tsx DELETED
@@ -1,191 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- import { useRef, useEffect, useState } from "preact/hooks";
5
- import { createViewer, GLViewer } from "3dmol";
6
-
7
- import "./style.css";
8
-
9
- const themeAttribute = "data-vscode-theme-kind";
10
-
11
- export function MoleculeViewer(props: {
12
- moleculeData: string;
13
- cubeData: { [key: string]: string };
14
- isoValue?: number;
15
- }) {
16
- // Holds reference to the viewer div and 3Dmol viewer object.
17
- const viewerRef = useRef<HTMLDivElement>(null);
18
- const viewer = useRef<GLViewer | null>(null);
19
- const activeCubeData = useRef([] as any[]);
20
-
21
- const [viewStyle, setViewStyle] = useState("Sphere");
22
- const [isoval, setIsoval] = useState(props.isoValue || 0.02);
23
- const [cubeKey, setCubeKey] = useState(Object.keys(props.cubeData)[0] || "");
24
-
25
- // Runs after the DOM has been created. Create the 3Dmol viewer and adds the model.
26
- useEffect(() => {
27
- if (props.moleculeData && viewerRef.current) {
28
- const molViewer =
29
- viewer.current ??
30
- createViewer(viewerRef.current, {
31
- backgroundColor: getComputedStyle(document.body).getPropertyValue(
32
- "--vscode-editor-background",
33
- ),
34
- });
35
- try {
36
- molViewer.clear(); // If the model is being replaced, clear the old one. Perhaps should get and update instead?
37
- molViewer.addModel(props.moleculeData.trim(), "xyz", {
38
- assignBonds: true,
39
- });
40
- } catch (error) {
41
- console.error("Error adding model:", error);
42
- }
43
- viewer.current = molViewer;
44
- viewer.current.zoomTo();
45
- }
46
-
47
- // Respond to theme changes
48
- const callback = (mutations: MutationRecord[]) => {
49
- for (const mutation of mutations) {
50
- if (mutation.attributeName === themeAttribute) {
51
- const newBackgroundColor = getComputedStyle(
52
- document.body,
53
- ).getPropertyValue("--vscode-editor-background");
54
- if (viewer.current) {
55
- viewer.current.setBackgroundColor(newBackgroundColor, 1.0);
56
- viewer.current.render();
57
- }
58
- }
59
- }
60
- };
61
- const observer = new MutationObserver(callback);
62
- observer.observe(document.body, { attributeFilter: [themeAttribute] });
63
- }, [props.moleculeData]);
64
-
65
- useEffect(() => {
66
- const currViewer = viewer.current;
67
- if (!currViewer) {
68
- return;
69
- }
70
-
71
- if (cubeKey && props.cubeData[cubeKey]) {
72
- activeCubeData.current.forEach((voldata) => {
73
- currViewer.removeShape(voldata);
74
- });
75
- activeCubeData.current = [];
76
- const cubeData = props.cubeData[cubeKey];
77
- activeCubeData.current.push(
78
- currViewer.addVolumetricData(cubeData.trim(), "cube", {
79
- isoval,
80
- opacity: 1,
81
- color: "red",
82
- }),
83
- );
84
- activeCubeData.current.push(
85
- currViewer.addVolumetricData(cubeData.trim(), "cube", {
86
- isoval: -1 * isoval,
87
- opacity: 1,
88
- color: "green",
89
- }),
90
- );
91
- }
92
-
93
- if (viewStyle === "Sphere") {
94
- currViewer.setStyle({}, { sphere: { scale: 0.3 }, stick: {} });
95
- } else if (viewStyle === "Stick") {
96
- currViewer.setStyle({}, { stick: { radius: 0.2 } });
97
- } else if (viewStyle === "Line") {
98
- currViewer.setStyle({}, { line: { linewidth: 5.0 } });
99
- }
100
- currViewer.render();
101
-
102
- // Sometimes keys are added later. If that's the case, change the cubeKey to the first available.
103
- if (!cubeKey && Object.keys(props.cubeData).length > 0) {
104
- setCubeKey(Object.keys(props.cubeData)[0]);
105
- }
106
- }, [viewStyle, isoval, cubeKey, props.moleculeData, props.cubeData]);
107
-
108
- // React to changes in the initial isovalue prop, just in case the widget updates state in parts.
109
- useEffect(() => {
110
- setIsoval(props.isoValue || 0.02);
111
- }, [props.isoValue]);
112
-
113
- return (
114
- <div id="viewer-container">
115
- <div
116
- id="viewer"
117
- ref={viewerRef}
118
- style="width: 640px; height: 480px;"
119
- ></div>
120
-
121
- <div id="view-dropdown-container" class="view-option">
122
- <label for="viewSelector">Visualization Style:</label>
123
- <select
124
- id="viewSelector"
125
- onChange={(e) => {
126
- const style = (e.target as HTMLSelectElement).value;
127
- setViewStyle(style);
128
- }}
129
- >
130
- <option value="Sphere">Sphere</option>
131
- <option value="Stick">Stick</option>
132
- <option value="Line">Line</option>
133
- </select>
134
- </div>
135
- {cubeKey ? (
136
- <>
137
- <div id="cube-dropdown-container" class="view-option">
138
- <label for="cubeSelector">Cube selection:</label>
139
- <select
140
- id="cubeSelector"
141
- onChange={(e) => {
142
- const key = (e.target as HTMLSelectElement).value;
143
- setCubeKey(key);
144
- }}
145
- >
146
- {Object.keys(props.cubeData).map((key) => (
147
- <option value={key} selected={key === cubeKey}>
148
- {key}
149
- </option>
150
- ))}
151
- </select>
152
- </div>
153
-
154
- <div id="isoval-slider-container" class="view-option">
155
- <label for="isovalSlider">Adjust isovalue:</label>
156
- <input
157
- type="range"
158
- id="isovalSlider"
159
- min="0.005"
160
- max="0.1"
161
- step="0.005"
162
- value={isoval}
163
- onInput={(e) => {
164
- const new_isoval = parseFloat(
165
- (e.target as HTMLInputElement).value,
166
- );
167
- setIsoval(new_isoval);
168
- }}
169
- />
170
- <input
171
- type="number"
172
- id="isovalInput"
173
- min="0.005"
174
- max="0.1"
175
- step="0.001"
176
- value={isoval}
177
- onInput={(e) => {
178
- const new_isoval = parseFloat(
179
- (e.target as HTMLInputElement).value,
180
- );
181
- if (!isNaN(new_isoval)) {
182
- setIsoval(new_isoval);
183
- }
184
- }}
185
- />
186
- </div>
187
- </>
188
- ) : null}
189
- </div>
190
- );
191
- }
package/ux/chem/style.css DELETED
@@ -1,83 +0,0 @@
1
- #viewer {
2
- width: 100%;
3
- height: 100%;
4
- margin: 0;
5
- overflow: hidden;
6
- }
7
-
8
- #viewer-container {
9
- width: 100%;
10
- height: 100%;
11
- margin: 0;
12
- overflow: hidden;
13
- /* border: 1px solid gray; */
14
- }
15
-
16
- #viewer {
17
- width: 100%;
18
- height: 100%;
19
- }
20
-
21
- #view-dropdown-container {
22
- position: absolute;
23
- top: 10px; /* distance from bottom */
24
- left: 10px; /* distance from right */
25
- height: 20px;
26
- padding: 10px;
27
- border-radius: 4px;
28
- z-index: 10;
29
- font-family: system-ui;
30
- }
31
-
32
- #viewSelector {
33
- padding-left: 4px;
34
- }
35
-
36
- .view-option {
37
- display: flex;
38
- align-items: center;
39
- gap: 8px;
40
- }
41
-
42
- .view-option label {
43
- margin-right: 0;
44
- white-space: nowrap;
45
- min-width: 120px;
46
- }
47
-
48
- .view-option select,
49
- .view-option input[type="range"] {
50
- color: var(--vscode-editor-foreground);
51
- background-color: var(--vscode-editor-background);
52
- }
53
-
54
- #cube-dropdown-container {
55
- position: absolute;
56
- top: 40px; /* distance from bottom */
57
- left: 10px; /* distance from right */
58
- padding: 10px;
59
- height: 20px;
60
- border-radius: 4px;
61
- z-index: 10;
62
- font-family: system-ui;
63
- }
64
-
65
- #isoval-slider-container {
66
- position: absolute;
67
- top: 70px; /* distance from bottom */
68
- left: 10px; /* distance from right */
69
- padding: 10px;
70
- height: 40px;
71
- border-radius: 4px;
72
- z-index: 10;
73
- font-family: system-ui;
74
- }
75
-
76
- #isovalSlider {
77
- width: 100px;
78
- outline: none;
79
- }
80
-
81
- #isovalInput {
82
- width: 64px;
83
- }