qsharp-lang 1.22.4-dev → 1.22.5-dev

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 (335) hide show
  1. package/dist/data-structures/circuit.d.ts +6 -1
  2. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
  3. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  4. package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
  5. package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
  6. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  7. package/docs/Microsoft.Quantum.Core/index.md +1 -1
  8. package/docs/Std.Arithmetic/AddLE.md +1 -1
  9. package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
  10. package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
  11. package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
  12. package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
  13. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  14. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  15. package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
  16. package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
  17. package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  18. package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  19. package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
  20. package/docs/Std.Arithmetic/IncByI.md +1 -1
  21. package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
  22. package/docs/Std.Arithmetic/IncByL.md +1 -1
  23. package/docs/Std.Arithmetic/IncByLE.md +1 -1
  24. package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
  25. package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
  26. package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  27. package/docs/Std.Arithmetic/MAJ.md +1 -1
  28. package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
  29. package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
  30. package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  31. package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  32. package/docs/Std.Arithmetic/index.md +1 -1
  33. package/docs/Std.Arrays/All.md +1 -1
  34. package/docs/Std.Arrays/Any.md +1 -1
  35. package/docs/Std.Arrays/Chunks.md +1 -1
  36. package/docs/Std.Arrays/CircularlyShifted.md +1 -1
  37. package/docs/Std.Arrays/ColumnAt.md +1 -1
  38. package/docs/Std.Arrays/Count.md +1 -1
  39. package/docs/Std.Arrays/Diagonal.md +1 -1
  40. package/docs/Std.Arrays/DrawMany.md +1 -1
  41. package/docs/Std.Arrays/Enumerated.md +1 -1
  42. package/docs/Std.Arrays/Excluding.md +1 -1
  43. package/docs/Std.Arrays/Filtered.md +1 -1
  44. package/docs/Std.Arrays/FlatMapped.md +1 -1
  45. package/docs/Std.Arrays/Flattened.md +1 -1
  46. package/docs/Std.Arrays/Fold.md +1 -1
  47. package/docs/Std.Arrays/ForEach.md +1 -1
  48. package/docs/Std.Arrays/Head.md +1 -1
  49. package/docs/Std.Arrays/HeadAndRest.md +1 -1
  50. package/docs/Std.Arrays/IndexOf.md +1 -1
  51. package/docs/Std.Arrays/IndexRange.md +1 -1
  52. package/docs/Std.Arrays/Interleaved.md +1 -1
  53. package/docs/Std.Arrays/IsEmpty.md +1 -1
  54. package/docs/Std.Arrays/IsRectangularArray.md +1 -1
  55. package/docs/Std.Arrays/IsSorted.md +1 -1
  56. package/docs/Std.Arrays/IsSquareArray.md +1 -1
  57. package/docs/Std.Arrays/Mapped.md +1 -1
  58. package/docs/Std.Arrays/MappedByIndex.md +1 -1
  59. package/docs/Std.Arrays/MappedOverRange.md +1 -1
  60. package/docs/Std.Arrays/Most.md +1 -1
  61. package/docs/Std.Arrays/MostAndTail.md +1 -1
  62. package/docs/Std.Arrays/Padded.md +1 -1
  63. package/docs/Std.Arrays/Partitioned.md +1 -1
  64. package/docs/Std.Arrays/Rest.md +1 -1
  65. package/docs/Std.Arrays/Reversed.md +1 -1
  66. package/docs/Std.Arrays/SequenceI.md +1 -1
  67. package/docs/Std.Arrays/SequenceL.md +1 -1
  68. package/docs/Std.Arrays/Sorted.md +1 -1
  69. package/docs/Std.Arrays/Subarray.md +1 -1
  70. package/docs/Std.Arrays/Swapped.md +1 -1
  71. package/docs/Std.Arrays/Tail.md +1 -1
  72. package/docs/Std.Arrays/Transposed.md +1 -1
  73. package/docs/Std.Arrays/Unzipped.md +1 -1
  74. package/docs/Std.Arrays/Where.md +1 -1
  75. package/docs/Std.Arrays/Windows.md +1 -1
  76. package/docs/Std.Arrays/Zipped.md +1 -1
  77. package/docs/Std.Arrays/index.md +1 -1
  78. package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
  79. package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
  80. package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
  81. package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
  82. package/docs/Std.Canon/ApplyOperationPowerCA.md +1 -1
  83. package/docs/Std.Canon/ApplyP.md +1 -1
  84. package/docs/Std.Canon/ApplyPauli.md +1 -1
  85. package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
  86. package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
  87. package/docs/Std.Canon/ApplyQFT.md +1 -1
  88. package/docs/Std.Canon/ApplyQPE.md +1 -1
  89. package/docs/Std.Canon/ApplyToEach.md +1 -1
  90. package/docs/Std.Canon/ApplyToEachA.md +1 -1
  91. package/docs/Std.Canon/ApplyToEachC.md +1 -1
  92. package/docs/Std.Canon/ApplyToEachCA.md +1 -1
  93. package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
  94. package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
  95. package/docs/Std.Canon/CX.md +1 -1
  96. package/docs/Std.Canon/CY.md +1 -1
  97. package/docs/Std.Canon/CZ.md +1 -1
  98. package/docs/Std.Canon/Fst.md +1 -1
  99. package/docs/Std.Canon/MapPauliAxis.md +1 -1
  100. package/docs/Std.Canon/Relabel.md +1 -1
  101. package/docs/Std.Canon/Snd.md +1 -1
  102. package/docs/Std.Canon/SwapReverseRegister.md +1 -1
  103. package/docs/Std.Canon/index.md +1 -1
  104. package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
  105. package/docs/Std.Convert/BigIntAsInt.md +1 -1
  106. package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
  107. package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
  108. package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
  109. package/docs/Std.Convert/BoolAsResult.md +1 -1
  110. package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
  111. package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
  112. package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
  113. package/docs/Std.Convert/IntAsBigInt.md +1 -1
  114. package/docs/Std.Convert/IntAsBoolArray.md +1 -1
  115. package/docs/Std.Convert/IntAsDouble.md +1 -1
  116. package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
  117. package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
  118. package/docs/Std.Convert/ResultAsBool.md +1 -1
  119. package/docs/Std.Convert/index.md +1 -1
  120. package/docs/Std.Core/Complex.md +1 -1
  121. package/docs/Std.Core/Length.md +1 -1
  122. package/docs/Std.Core/Repeated.md +1 -1
  123. package/docs/Std.Core/index.md +1 -1
  124. package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
  125. package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
  126. package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
  127. package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
  128. package/docs/Std.Diagnostics/CheckZero.md +1 -1
  129. package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
  130. package/docs/Std.Diagnostics/ConfigureQubitLoss.md +1 -1
  131. package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
  132. package/docs/Std.Diagnostics/DumpMachine.md +1 -1
  133. package/docs/Std.Diagnostics/DumpOperation.md +1 -1
  134. package/docs/Std.Diagnostics/DumpRegister.md +1 -1
  135. package/docs/Std.Diagnostics/Fact.md +1 -1
  136. package/docs/Std.Diagnostics/NoNoise.md +1 -1
  137. package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
  138. package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
  139. package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
  140. package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
  141. package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
  142. package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
  143. package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
  144. package/docs/Std.Diagnostics/index.md +1 -1
  145. package/docs/Std.Intrinsic/AND.md +1 -1
  146. package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
  147. package/docs/Std.Intrinsic/CCNOT.md +1 -1
  148. package/docs/Std.Intrinsic/CNOT.md +1 -1
  149. package/docs/Std.Intrinsic/Exp.md +1 -1
  150. package/docs/Std.Intrinsic/H.md +1 -1
  151. package/docs/Std.Intrinsic/I.md +1 -1
  152. package/docs/Std.Intrinsic/M.md +1 -1
  153. package/docs/Std.Intrinsic/Measure.md +1 -1
  154. package/docs/Std.Intrinsic/Message.md +1 -1
  155. package/docs/Std.Intrinsic/R.md +1 -1
  156. package/docs/Std.Intrinsic/R1.md +1 -1
  157. package/docs/Std.Intrinsic/R1Frac.md +1 -1
  158. package/docs/Std.Intrinsic/RFrac.md +1 -1
  159. package/docs/Std.Intrinsic/Reset.md +1 -1
  160. package/docs/Std.Intrinsic/ResetAll.md +1 -1
  161. package/docs/Std.Intrinsic/Rx.md +1 -1
  162. package/docs/Std.Intrinsic/Rxx.md +1 -1
  163. package/docs/Std.Intrinsic/Ry.md +1 -1
  164. package/docs/Std.Intrinsic/Ryy.md +1 -1
  165. package/docs/Std.Intrinsic/Rz.md +1 -1
  166. package/docs/Std.Intrinsic/Rzz.md +1 -1
  167. package/docs/Std.Intrinsic/S.md +1 -1
  168. package/docs/Std.Intrinsic/SWAP.md +1 -1
  169. package/docs/Std.Intrinsic/SX.md +1 -1
  170. package/docs/Std.Intrinsic/T.md +1 -1
  171. package/docs/Std.Intrinsic/X.md +1 -1
  172. package/docs/Std.Intrinsic/Y.md +1 -1
  173. package/docs/Std.Intrinsic/Z.md +1 -1
  174. package/docs/Std.Intrinsic/index.md +1 -1
  175. package/docs/Std.Logical/Xor.md +1 -1
  176. package/docs/Std.Logical/index.md +1 -1
  177. package/docs/Std.Math/AbsComplex.md +1 -1
  178. package/docs/Std.Math/AbsComplexPolar.md +1 -1
  179. package/docs/Std.Math/AbsD.md +1 -1
  180. package/docs/Std.Math/AbsI.md +1 -1
  181. package/docs/Std.Math/AbsL.md +1 -1
  182. package/docs/Std.Math/AbsSquaredComplex.md +1 -1
  183. package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
  184. package/docs/Std.Math/ApproximateFactorial.md +1 -1
  185. package/docs/Std.Math/ArcCos.md +1 -1
  186. package/docs/Std.Math/ArcCosh.md +1 -1
  187. package/docs/Std.Math/ArcSin.md +1 -1
  188. package/docs/Std.Math/ArcSinh.md +1 -1
  189. package/docs/Std.Math/ArcTan.md +1 -1
  190. package/docs/Std.Math/ArcTan2.md +1 -1
  191. package/docs/Std.Math/ArcTanh.md +1 -1
  192. package/docs/Std.Math/ArgComplex.md +1 -1
  193. package/docs/Std.Math/ArgComplexPolar.md +1 -1
  194. package/docs/Std.Math/Binom.md +1 -1
  195. package/docs/Std.Math/BitSizeI.md +1 -1
  196. package/docs/Std.Math/BitSizeL.md +1 -1
  197. package/docs/Std.Math/Ceiling.md +1 -1
  198. package/docs/Std.Math/Complex.md +1 -1
  199. package/docs/Std.Math/ComplexPolar.md +1 -1
  200. package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
  201. package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
  202. package/docs/Std.Math/Cos.md +1 -1
  203. package/docs/Std.Math/Cosh.md +1 -1
  204. package/docs/Std.Math/DivRemI.md +1 -1
  205. package/docs/Std.Math/DivRemL.md +1 -1
  206. package/docs/Std.Math/DividedByC.md +1 -1
  207. package/docs/Std.Math/DividedByCP.md +1 -1
  208. package/docs/Std.Math/E.md +1 -1
  209. package/docs/Std.Math/ExpModI.md +1 -1
  210. package/docs/Std.Math/ExpModL.md +1 -1
  211. package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  212. package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  213. package/docs/Std.Math/FactorialI.md +1 -1
  214. package/docs/Std.Math/FactorialL.md +1 -1
  215. package/docs/Std.Math/Floor.md +1 -1
  216. package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
  217. package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
  218. package/docs/Std.Math/HammingWeightI.md +1 -1
  219. package/docs/Std.Math/InverseModI.md +1 -1
  220. package/docs/Std.Math/InverseModL.md +1 -1
  221. package/docs/Std.Math/IsCoprimeI.md +1 -1
  222. package/docs/Std.Math/IsCoprimeL.md +1 -1
  223. package/docs/Std.Math/IsInfinite.md +1 -1
  224. package/docs/Std.Math/IsNaN.md +1 -1
  225. package/docs/Std.Math/LargestFixedPoint.md +1 -1
  226. package/docs/Std.Math/Lg.md +1 -1
  227. package/docs/Std.Math/Log.md +1 -1
  228. package/docs/Std.Math/Log10.md +1 -1
  229. package/docs/Std.Math/LogFactorialD.md +1 -1
  230. package/docs/Std.Math/LogGammaD.md +1 -1
  231. package/docs/Std.Math/LogOf2.md +1 -1
  232. package/docs/Std.Math/Max.md +1 -1
  233. package/docs/Std.Math/MaxD.md +1 -1
  234. package/docs/Std.Math/MaxI.md +1 -1
  235. package/docs/Std.Math/MaxL.md +1 -1
  236. package/docs/Std.Math/Min.md +1 -1
  237. package/docs/Std.Math/MinD.md +1 -1
  238. package/docs/Std.Math/MinI.md +1 -1
  239. package/docs/Std.Math/MinL.md +1 -1
  240. package/docs/Std.Math/MinusC.md +1 -1
  241. package/docs/Std.Math/MinusCP.md +1 -1
  242. package/docs/Std.Math/ModulusI.md +1 -1
  243. package/docs/Std.Math/ModulusL.md +1 -1
  244. package/docs/Std.Math/NegationC.md +1 -1
  245. package/docs/Std.Math/NegationCP.md +1 -1
  246. package/docs/Std.Math/PI.md +1 -1
  247. package/docs/Std.Math/PNorm.md +1 -1
  248. package/docs/Std.Math/PNormalized.md +1 -1
  249. package/docs/Std.Math/PlusC.md +1 -1
  250. package/docs/Std.Math/PlusCP.md +1 -1
  251. package/docs/Std.Math/PowC.md +1 -1
  252. package/docs/Std.Math/PowCP.md +1 -1
  253. package/docs/Std.Math/RealMod.md +1 -1
  254. package/docs/Std.Math/Round.md +1 -1
  255. package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
  256. package/docs/Std.Math/SignD.md +1 -1
  257. package/docs/Std.Math/SignI.md +1 -1
  258. package/docs/Std.Math/SignL.md +1 -1
  259. package/docs/Std.Math/Sin.md +1 -1
  260. package/docs/Std.Math/Sinh.md +1 -1
  261. package/docs/Std.Math/SmallestFixedPoint.md +1 -1
  262. package/docs/Std.Math/Sqrt.md +1 -1
  263. package/docs/Std.Math/SquaredNorm.md +1 -1
  264. package/docs/Std.Math/Tan.md +1 -1
  265. package/docs/Std.Math/Tanh.md +1 -1
  266. package/docs/Std.Math/TimesC.md +1 -1
  267. package/docs/Std.Math/TimesCP.md +1 -1
  268. package/docs/Std.Math/TrailingZeroCountI.md +1 -1
  269. package/docs/Std.Math/TrailingZeroCountL.md +1 -1
  270. package/docs/Std.Math/Truncate.md +1 -1
  271. package/docs/Std.Math/index.md +1 -1
  272. package/docs/Std.Measurement/IsLossResult.md +1 -1
  273. package/docs/Std.Measurement/MResetEachZ.md +1 -1
  274. package/docs/Std.Measurement/MResetX.md +1 -1
  275. package/docs/Std.Measurement/MResetY.md +1 -1
  276. package/docs/Std.Measurement/MResetZ.md +1 -1
  277. package/docs/Std.Measurement/MResetZChecked.md +1 -1
  278. package/docs/Std.Measurement/MeasureAllZ.md +1 -1
  279. package/docs/Std.Measurement/MeasureEachZ.md +1 -1
  280. package/docs/Std.Measurement/MeasureInteger.md +1 -1
  281. package/docs/Std.Measurement/index.md +1 -1
  282. package/docs/Std.Random/DrawRandomBool.md +1 -1
  283. package/docs/Std.Random/DrawRandomDouble.md +1 -1
  284. package/docs/Std.Random/DrawRandomInt.md +1 -1
  285. package/docs/Std.Random/index.md +1 -1
  286. package/docs/Std.Range/IsRangeEmpty.md +1 -1
  287. package/docs/Std.Range/RangeEnd.md +1 -1
  288. package/docs/Std.Range/RangeReverse.md +1 -1
  289. package/docs/Std.Range/RangeStart.md +1 -1
  290. package/docs/Std.Range/RangeStep.md +1 -1
  291. package/docs/Std.Range/index.md +1 -1
  292. package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
  293. package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
  294. package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
  295. package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  296. package/docs/Std.ResourceEstimation/CczCount.md +1 -1
  297. package/docs/Std.ResourceEstimation/EnableMemoryComputeArchitecture.md +1 -1
  298. package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
  299. package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
  300. package/docs/Std.ResourceEstimation/LeastFrequentlyUsed.md +1 -1
  301. package/docs/Std.ResourceEstimation/LeastRecentlyUsed.md +1 -1
  302. package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
  303. package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
  304. package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
  305. package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
  306. package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
  307. package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
  308. package/docs/Std.ResourceEstimation/TCount.md +1 -1
  309. package/docs/Std.ResourceEstimation/index.md +1 -1
  310. package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  311. package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
  312. package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
  313. package/docs/Std.StatePreparation/index.md +1 -1
  314. package/docs/Std.TableLookup/Select.md +1 -1
  315. package/docs/Std.TableLookup/index.md +1 -1
  316. package/docs/index.md +1 -1
  317. package/lib/nodejs/qsc_wasm.cjs +81 -81
  318. package/lib/nodejs/qsc_wasm.d.cts +2 -1
  319. package/lib/nodejs/qsc_wasm_bg.wasm +0 -0
  320. package/lib/web/qsc_wasm.d.ts +2 -1
  321. package/lib/web/qsc_wasm.js +74 -74
  322. package/lib/web/qsc_wasm_bg.wasm +0 -0
  323. package/package.json +1 -1
  324. package/ux/atoms/controls.ts +216 -0
  325. package/ux/atoms/index.css +226 -0
  326. package/ux/atoms/index.ts +192 -0
  327. package/ux/atoms/layout.ts +730 -0
  328. package/ux/atoms/utils.ts +32 -0
  329. package/ux/chem/index.tsx +191 -0
  330. package/ux/chem/style.css +83 -0
  331. package/ux/circuit-vis/events.ts +1 -5
  332. package/ux/circuit-vis/formatters/gateFormatter.ts +1 -1
  333. package/ux/circuit-vis/process.ts +13 -5
  334. package/ux/circuit-vis/sqore.ts +10 -8
  335. package/ux/index.ts +2 -0
@@ -1193,31 +1193,31 @@ function __wbg_get_imports() {
1193
1193
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1194
1194
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1195
1195
  };
1196
- imports.wbg.__wbg_buffer_aa30bbb65cb44323 = function(arg0) {
1196
+ imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {
1197
1197
  const ret = getObject(arg0).buffer;
1198
1198
  return addHeapObject(ret);
1199
1199
  };
1200
- imports.wbg.__wbg_call_41c7efaf6b1182f8 = function() { return handleError(function (arg0, arg1, arg2) {
1201
- const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
1200
+ imports.wbg.__wbg_call_672a4d21634d4a24 = function() { return handleError(function (arg0, arg1) {
1201
+ const ret = getObject(arg0).call(getObject(arg1));
1202
1202
  return addHeapObject(ret);
1203
1203
  }, arguments) };
1204
- imports.wbg.__wbg_call_aff990758d3576e4 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
1205
- const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
1204
+ imports.wbg.__wbg_call_7cccdd69e0791ae2 = function() { return handleError(function (arg0, arg1, arg2) {
1205
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
1206
1206
  return addHeapObject(ret);
1207
1207
  }, arguments) };
1208
- imports.wbg.__wbg_call_c45d13337ffb12ac = function() { return handleError(function (arg0, arg1) {
1209
- const ret = getObject(arg0).call(getObject(arg1));
1208
+ imports.wbg.__wbg_call_b8adc8b1d0a0d8eb = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
1209
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
1210
1210
  return addHeapObject(ret);
1211
1211
  }, arguments) };
1212
1212
  imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) {
1213
1213
  const ret = getObject(arg0).crypto;
1214
1214
  return addHeapObject(ret);
1215
1215
  };
1216
- imports.wbg.__wbg_done_362f78ab584a24b5 = function(arg0) {
1216
+ imports.wbg.__wbg_done_769e5ede4b31c67b = function(arg0) {
1217
1217
  const ret = getObject(arg0).done;
1218
1218
  return ret;
1219
1219
  };
1220
- imports.wbg.__wbg_entries_27a445ca6b702f8d = function(arg0) {
1220
+ imports.wbg.__wbg_entries_3265d4158b33e5dc = function(arg0) {
1221
1221
  const ret = Object.entries(getObject(arg0));
1222
1222
  return addHeapObject(ret);
1223
1223
  };
@@ -1229,21 +1229,21 @@ function __wbg_get_imports() {
1229
1229
  const ret = getObject(arg0).findManifestDirectory(getStringFromWasm0(arg1, arg2));
1230
1230
  return addHeapObject(ret);
1231
1231
  };
1232
- imports.wbg.__wbg_from_b4bd31c02b6d179c = function(arg0) {
1232
+ imports.wbg.__wbg_from_2a5d3e218e67aa85 = function(arg0) {
1233
1233
  const ret = Array.from(getObject(arg0));
1234
1234
  return addHeapObject(ret);
1235
1235
  };
1236
1236
  imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) {
1237
1237
  getObject(arg0).getRandomValues(getObject(arg1));
1238
1238
  }, arguments) };
1239
- imports.wbg.__wbg_get_01203e6a4116a116 = function(arg0, arg1) {
1240
- const ret = getObject(arg0)[arg1 >>> 0];
1241
- return addHeapObject(ret);
1242
- };
1243
- imports.wbg.__wbg_get_e7114b7bf3d9d5f5 = function() { return handleError(function (arg0, arg1) {
1239
+ imports.wbg.__wbg_get_67b2ba62fc30de12 = function() { return handleError(function (arg0, arg1) {
1244
1240
  const ret = Reflect.get(getObject(arg0), getObject(arg1));
1245
1241
  return addHeapObject(ret);
1246
1242
  }, arguments) };
1243
+ imports.wbg.__wbg_get_b9b93047fe3cf45b = function(arg0, arg1) {
1244
+ const ret = getObject(arg0)[arg1 >>> 0];
1245
+ return addHeapObject(ret);
1246
+ };
1247
1247
  imports.wbg.__wbg_getstacktracelimit_af8b40007957b07f = function() {
1248
1248
  const ret = Error.stackTraceLimit;
1249
1249
  return isLikeNone(ret) ? 0x100000001 : (ret) >>> 0;
@@ -1252,15 +1252,7 @@ function __wbg_get_imports() {
1252
1252
  const ret = getObject(arg0)[getObject(arg1)];
1253
1253
  return addHeapObject(ret);
1254
1254
  };
1255
- imports.wbg.__wbg_globalThis_856ff24a65e13540 = function() { return handleError(function () {
1256
- const ret = globalThis.globalThis;
1257
- return addHeapObject(ret);
1258
- }, arguments) };
1259
- imports.wbg.__wbg_global_fc813a897a497d26 = function() { return handleError(function () {
1260
- const ret = global.global;
1261
- return addHeapObject(ret);
1262
- }, arguments) };
1263
- imports.wbg.__wbg_instanceof_ArrayBuffer_8b96bf6c71691dc9 = function(arg0) {
1255
+ imports.wbg.__wbg_instanceof_ArrayBuffer_e14585432e3737fc = function(arg0) {
1264
1256
  let result;
1265
1257
  try {
1266
1258
  result = getObject(arg0) instanceof ArrayBuffer;
@@ -1270,7 +1262,7 @@ function __wbg_get_imports() {
1270
1262
  const ret = result;
1271
1263
  return ret;
1272
1264
  };
1273
- imports.wbg.__wbg_instanceof_Error_35d55cc64fb61630 = function(arg0) {
1265
+ imports.wbg.__wbg_instanceof_Error_4d54113b22d20306 = function(arg0) {
1274
1266
  let result;
1275
1267
  try {
1276
1268
  result = getObject(arg0) instanceof Error;
@@ -1280,7 +1272,7 @@ function __wbg_get_imports() {
1280
1272
  const ret = result;
1281
1273
  return ret;
1282
1274
  };
1283
- imports.wbg.__wbg_instanceof_Map_cd976ea4854c21db = function(arg0) {
1275
+ imports.wbg.__wbg_instanceof_Map_f3469ce2244d2430 = function(arg0) {
1284
1276
  let result;
1285
1277
  try {
1286
1278
  result = getObject(arg0) instanceof Map;
@@ -1290,7 +1282,7 @@ function __wbg_get_imports() {
1290
1282
  const ret = result;
1291
1283
  return ret;
1292
1284
  };
1293
- imports.wbg.__wbg_instanceof_Uint8Array_faa8901ba56cb8e9 = function(arg0) {
1285
+ imports.wbg.__wbg_instanceof_Uint8Array_17156bcf118086a9 = function(arg0) {
1294
1286
  let result;
1295
1287
  try {
1296
1288
  result = getObject(arg0) instanceof Uint8Array;
@@ -1300,23 +1292,23 @@ function __wbg_get_imports() {
1300
1292
  const ret = result;
1301
1293
  return ret;
1302
1294
  };
1303
- imports.wbg.__wbg_isArray_6836d46c89daf1b6 = function(arg0) {
1295
+ imports.wbg.__wbg_isArray_a1eab7e0d067391b = function(arg0) {
1304
1296
  const ret = Array.isArray(getObject(arg0));
1305
1297
  return ret;
1306
1298
  };
1307
- imports.wbg.__wbg_isSafeInteger_2fb2b4f942993af4 = function(arg0) {
1299
+ imports.wbg.__wbg_isSafeInteger_343e2beeeece1bb0 = function(arg0) {
1308
1300
  const ret = Number.isSafeInteger(getObject(arg0));
1309
1301
  return ret;
1310
1302
  };
1311
- imports.wbg.__wbg_iterator_773e0b022e7009f4 = function() {
1303
+ imports.wbg.__wbg_iterator_9a24c88df860dc65 = function() {
1312
1304
  const ret = Symbol.iterator;
1313
1305
  return addHeapObject(ret);
1314
1306
  };
1315
- imports.wbg.__wbg_length_0a11127664108286 = function(arg0) {
1307
+ imports.wbg.__wbg_length_a446193dc22c12f8 = function(arg0) {
1316
1308
  const ret = getObject(arg0).length;
1317
1309
  return ret;
1318
1310
  };
1319
- imports.wbg.__wbg_length_9aaa2867670f533a = function(arg0) {
1311
+ imports.wbg.__wbg_length_e2d2a49132c1b256 = function(arg0) {
1320
1312
  const ret = getObject(arg0).length;
1321
1313
  return ret;
1322
1314
  };
@@ -1324,7 +1316,7 @@ function __wbg_get_imports() {
1324
1316
  const ret = getObject(arg0).listDirectory(getStringFromWasm0(arg1, arg2));
1325
1317
  return addHeapObject(ret);
1326
1318
  };
1327
- imports.wbg.__wbg_message_b5668b9cb29859e1 = function(arg0) {
1319
+ imports.wbg.__wbg_message_97a2af9b89d693a3 = function(arg0) {
1328
1320
  const ret = getObject(arg0).message;
1329
1321
  return addHeapObject(ret);
1330
1322
  };
@@ -1332,7 +1324,7 @@ function __wbg_get_imports() {
1332
1324
  const ret = getObject(arg0).msCrypto;
1333
1325
  return addHeapObject(ret);
1334
1326
  };
1335
- imports.wbg.__wbg_new_07527e5c188e7771 = function(arg0, arg1) {
1327
+ imports.wbg.__wbg_new_23a2665fac83c611 = function(arg0, arg1) {
1336
1328
  try {
1337
1329
  var state0 = {a: arg0, b: arg1};
1338
1330
  var cb0 = (arg0, arg1) => {
@@ -1350,46 +1342,46 @@ function __wbg_get_imports() {
1350
1342
  state0.a = state0.b = 0;
1351
1343
  }
1352
1344
  };
1353
- imports.wbg.__wbg_new_4c16aab09d1eb450 = function() {
1345
+ imports.wbg.__wbg_new_405e22f390576ce2 = function() {
1354
1346
  const ret = new Object();
1355
1347
  return addHeapObject(ret);
1356
1348
  };
1357
- imports.wbg.__wbg_new_6e254ba4a466646d = function() {
1349
+ imports.wbg.__wbg_new_5e0be73521bc8c17 = function() {
1350
+ const ret = new Map();
1351
+ return addHeapObject(ret);
1352
+ };
1353
+ imports.wbg.__wbg_new_78feb108b6472713 = function() {
1358
1354
  const ret = new Array();
1359
1355
  return addHeapObject(ret);
1360
1356
  };
1361
- imports.wbg.__wbg_new_820d2bbee2d13ba3 = function() {
1362
- const ret = new Map();
1357
+ imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) {
1358
+ const ret = new Uint8Array(getObject(arg0));
1363
1359
  return addHeapObject(ret);
1364
1360
  };
1365
1361
  imports.wbg.__wbg_new_a774eb7503f03596 = function() {
1366
1362
  const ret = new Error();
1367
1363
  return addHeapObject(ret);
1368
1364
  };
1369
- imports.wbg.__wbg_new_db41cf29086ce106 = function(arg0) {
1370
- const ret = new Uint8Array(getObject(arg0));
1371
- return addHeapObject(ret);
1372
- };
1373
- imports.wbg.__wbg_newnoargs_29f93ce2db72cd07 = function(arg0, arg1) {
1365
+ imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {
1374
1366
  const ret = new Function(getStringFromWasm0(arg0, arg1));
1375
1367
  return addHeapObject(ret);
1376
1368
  };
1377
- imports.wbg.__wbg_newwithbyteoffsetandlength_c8ea72df7687880b = function(arg0, arg1, arg2) {
1369
+ imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function(arg0, arg1, arg2) {
1378
1370
  const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
1379
1371
  return addHeapObject(ret);
1380
1372
  };
1381
- imports.wbg.__wbg_newwithlength_60b9d756f80003a6 = function(arg0) {
1373
+ imports.wbg.__wbg_newwithlength_a381634e90c276d4 = function(arg0) {
1382
1374
  const ret = new Uint8Array(arg0 >>> 0);
1383
1375
  return addHeapObject(ret);
1384
1376
  };
1385
- imports.wbg.__wbg_next_95ee887e1f50209d = function() { return handleError(function (arg0) {
1386
- const ret = getObject(arg0).next();
1387
- return addHeapObject(ret);
1388
- }, arguments) };
1389
- imports.wbg.__wbg_next_b2690a2dab163f0f = function(arg0) {
1377
+ imports.wbg.__wbg_next_25feadfc0913fea9 = function(arg0) {
1390
1378
  const ret = getObject(arg0).next;
1391
1379
  return addHeapObject(ret);
1392
1380
  };
1381
+ imports.wbg.__wbg_next_6574e1a8a62d1055 = function() { return handleError(function (arg0) {
1382
+ const ret = getObject(arg0).next();
1383
+ return addHeapObject(ret);
1384
+ }, arguments) };
1393
1385
  imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) {
1394
1386
  const ret = getObject(arg0).node;
1395
1387
  return addHeapObject(ret);
@@ -1438,27 +1430,23 @@ function __wbg_get_imports() {
1438
1430
  const ret = getObject(arg0).resolvePath(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1439
1431
  return addHeapObject(ret);
1440
1432
  }, arguments) };
1441
- imports.wbg.__wbg_resolve_03bf127fbf612c20 = function(arg0) {
1433
+ imports.wbg.__wbg_resolve_4851785c9c5f573d = function(arg0) {
1442
1434
  const ret = Promise.resolve(getObject(arg0));
1443
1435
  return addHeapObject(ret);
1444
1436
  };
1445
- imports.wbg.__wbg_self_799f153b0b6e0183 = function() { return handleError(function () {
1446
- const ret = self.self;
1447
- return addHeapObject(ret);
1448
- }, arguments) };
1449
- imports.wbg.__wbg_set_1f2956726252aaf4 = function(arg0, arg1, arg2) {
1450
- const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
1451
- return addHeapObject(ret);
1437
+ imports.wbg.__wbg_set_37837023f3d740e8 = function(arg0, arg1, arg2) {
1438
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
1452
1439
  };
1453
1440
  imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {
1454
1441
  getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
1455
1442
  };
1456
- imports.wbg.__wbg_set_e1b9d9ffeee30338 = function(arg0, arg1, arg2) {
1457
- getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
1458
- };
1459
- imports.wbg.__wbg_set_e97d203fd145cdae = function(arg0, arg1, arg2) {
1443
+ imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) {
1460
1444
  getObject(arg0).set(getObject(arg1), arg2 >>> 0);
1461
1445
  };
1446
+ imports.wbg.__wbg_set_8fc6bf8a5b1071d1 = function(arg0, arg1, arg2) {
1447
+ const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
1448
+ return addHeapObject(ret);
1449
+ };
1462
1450
  imports.wbg.__wbg_setstacktracelimit_1055f99289ff0c7b = function(arg0) {
1463
1451
  Error.stackTraceLimit = arg0 >>> 0;
1464
1452
  };
@@ -1469,19 +1457,35 @@ function __wbg_get_imports() {
1469
1457
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1470
1458
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1471
1459
  };
1472
- imports.wbg.__wbg_subarray_a984c21c3cf98bbb = function(arg0, arg1, arg2) {
1460
+ imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {
1461
+ const ret = typeof global === 'undefined' ? null : global;
1462
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
1463
+ };
1464
+ imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {
1465
+ const ret = typeof globalThis === 'undefined' ? null : globalThis;
1466
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
1467
+ };
1468
+ imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {
1469
+ const ret = typeof self === 'undefined' ? null : self;
1470
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
1471
+ };
1472
+ imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {
1473
+ const ret = typeof window === 'undefined' ? null : window;
1474
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
1475
+ };
1476
+ imports.wbg.__wbg_subarray_aa9065fa9dc5df96 = function(arg0, arg1, arg2) {
1473
1477
  const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
1474
1478
  return addHeapObject(ret);
1475
1479
  };
1476
- imports.wbg.__wbg_then_5c9c71165832b5a1 = function(arg0, arg1, arg2) {
1477
- const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
1480
+ imports.wbg.__wbg_then_44b73946d2fb3e7d = function(arg0, arg1) {
1481
+ const ret = getObject(arg0).then(getObject(arg1));
1478
1482
  return addHeapObject(ret);
1479
1483
  };
1480
- imports.wbg.__wbg_then_d88c104795b9d5aa = function(arg0, arg1) {
1481
- const ret = getObject(arg0).then(getObject(arg1));
1484
+ imports.wbg.__wbg_then_48b406749878a531 = function(arg0, arg1, arg2) {
1485
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
1482
1486
  return addHeapObject(ret);
1483
1487
  };
1484
- imports.wbg.__wbg_value_87c720f6568103d1 = function(arg0) {
1488
+ imports.wbg.__wbg_value_cd1ffa7b1ab794f1 = function(arg0) {
1485
1489
  const ret = getObject(arg0).value;
1486
1490
  return addHeapObject(ret);
1487
1491
  };
@@ -1489,10 +1493,6 @@ function __wbg_get_imports() {
1489
1493
  const ret = getObject(arg0).versions;
1490
1494
  return addHeapObject(ret);
1491
1495
  };
1492
- imports.wbg.__wbg_window_cd65fa4478648b49 = function() { return handleError(function () {
1493
- const ret = window.window;
1494
- return addHeapObject(ret);
1495
- }, arguments) };
1496
1496
  imports.wbg.__wbindgen_as_number = function(arg0) {
1497
1497
  const ret = +getObject(arg0);
1498
1498
  return ret;
@@ -1525,8 +1525,8 @@ function __wbg_get_imports() {
1525
1525
  const ret = false;
1526
1526
  return ret;
1527
1527
  };
1528
- imports.wbg.__wbindgen_closure_wrapper986 = function(arg0, arg1, arg2) {
1529
- const ret = makeMutClosure(arg0, arg1, 333, __wbg_adapter_52);
1528
+ imports.wbg.__wbindgen_closure_wrapper6405 = function(arg0, arg1, arg2) {
1529
+ const ret = makeMutClosure(arg0, arg1, 2025, __wbg_adapter_52);
1530
1530
  return addHeapObject(ret);
1531
1531
  };
1532
1532
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "qsharp-lang",
3
3
  "description": "qsharp language package for quantum development",
4
- "version": "1.22.4-dev",
4
+ "version": "1.22.5-dev",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=16.17.0"
@@ -0,0 +1,216 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ import { appendChildren, createSvgElements, setAttributes } from "./utils.js";
5
+
6
+ // Icons are 256x256, with a 32 spacing inbetween
7
+ export function getIcon(name: string): SVGGElement {
8
+ const g = createSvgElements("g")[0] as SVGGElement;
9
+ g.setAttribute("class", "qs-atoms-icon");
10
+
11
+ const circle = createSvgElements("circle")[0] as SVGCircleElement;
12
+ setAttributes(circle, {
13
+ cx: "128",
14
+ cy: "128",
15
+ r: "116",
16
+ "data-control": name,
17
+ });
18
+
19
+ switch (name) {
20
+ case "prev":
21
+ {
22
+ const [path1, path2] = createSvgElements("path", "path");
23
+ setAttributes(path1, { d: "M60,128 l55,-32 l0,64 z" });
24
+ setAttributes(path2, { d: "M122,128 l55,-32 l0,64 z" });
25
+ appendChildren(g, [circle, path1, path2]);
26
+ }
27
+ break;
28
+ case "pause":
29
+ {
30
+ const [path1, path2] = createSvgElements("path", "path");
31
+ setAttributes(path1, { d: "M99 80 l16 0 l0 96 l-16 0 z" });
32
+ setAttributes(path2, { d: "M141 80 l16 0 l0 96 l-16 0 z" });
33
+ appendChildren(g, [circle, path1, path2]);
34
+ }
35
+ break;
36
+ case "play":
37
+ {
38
+ const [path1] = createSvgElements("path");
39
+ setAttributes(path1, { d: "M180,128 l-83,-47 l0,96 z" });
40
+ appendChildren(g, [circle, path1]);
41
+ }
42
+ break;
43
+ case "next":
44
+ {
45
+ const [path1, path2] = createSvgElements("path", "path");
46
+ setAttributes(path1, { d: "M196,128 l-55,-32 l0,64 z" });
47
+ setAttributes(path2, { d: "M134,128 l-55,-32 l0,64 z" });
48
+ appendChildren(g, [circle, path1, path2]);
49
+ }
50
+ break;
51
+ case "info":
52
+ {
53
+ const [dot, line] = createSvgElements("circle", "path");
54
+ setAttributes(dot, {
55
+ cx: "128",
56
+ cy: "68",
57
+ r: "12",
58
+ class: "qs-atoms-info-dot",
59
+ });
60
+ setAttributes(line, {
61
+ d: "M128,116 v72",
62
+ class: "qs-atoms-icon-line",
63
+ });
64
+ appendChildren(g, [circle, dot, line]);
65
+ }
66
+ break;
67
+ case "zoom-in":
68
+ {
69
+ const [path1] = createSvgElements("path");
70
+ setAttributes(path1, {
71
+ d: "M68 144 l60 -50 l60 50",
72
+ class: "qs-atoms-icon-line",
73
+ });
74
+ appendChildren(g, [circle, path1]);
75
+ }
76
+ break;
77
+ case "zoom-out":
78
+ {
79
+ const [path1] = createSvgElements("path");
80
+ setAttributes(path1, {
81
+ d: "M68 112 l60 50 l60 -50",
82
+ class: "qs-atoms-icon-line",
83
+ });
84
+ appendChildren(g, [circle, path1]);
85
+ }
86
+ break;
87
+ default:
88
+ throw "Unknown icon";
89
+ }
90
+
91
+ return g;
92
+ }
93
+
94
+ export function createPlayerControls(): SVGSVGElement {
95
+ const svg = createSvgElements("svg")[0] as SVGSVGElement;
96
+ const width = 256 * 3 + 32 * 2;
97
+ setAttributes(svg, {
98
+ viewBox: `0 0 ${width} 256`,
99
+ class: "qs-atoms-toolbar",
100
+ });
101
+ const prev = getIcon("prev");
102
+ prev.setAttribute("transform", "translate(0)");
103
+
104
+ const play = getIcon("play");
105
+ play.setAttribute("transform", "translate(288)");
106
+
107
+ const pause = getIcon("pause");
108
+ pause.setAttribute("transform", "translate(288)");
109
+ pause.style.display = "none"; // Hidden if not playing
110
+
111
+ const next = getIcon("next");
112
+ next.setAttribute("transform", "translate(576)");
113
+
114
+ appendChildren(svg, [prev, play, pause, next]);
115
+ return svg;
116
+ }
117
+
118
+ export function createZoomControls(): SVGSVGElement {
119
+ const svg = createSvgElements("svg")[0] as SVGSVGElement;
120
+ const width = 256 * 3 + 32 * 2;
121
+ setAttributes(svg, {
122
+ viewBox: `0 0 ${width} 256`,
123
+ class: "qs-atoms-toolbar qs-atoms-toolbar-left",
124
+ });
125
+ const info = getIcon("info");
126
+ info.setAttribute("transform", "translate(0)");
127
+
128
+ const zoomIn = getIcon("zoom-in");
129
+ zoomIn.setAttribute("transform", "translate(288)");
130
+
131
+ const zoomOut = getIcon("zoom-out");
132
+ zoomOut.setAttribute("transform", "translate(576)");
133
+
134
+ appendChildren(svg, [info, zoomIn, zoomOut]);
135
+ return svg;
136
+ }
137
+
138
+ export interface Scrubber {
139
+ element: HTMLDivElement;
140
+ setNavHandler(handler: (step: number) => void): void;
141
+ setRange(len: number): void;
142
+ reset(): void;
143
+ next(): void;
144
+ prev(): void;
145
+ isAtEnd(): boolean;
146
+ }
147
+
148
+ export function createScrubberControls(): Scrubber {
149
+ let navHandler: ((step: number) => void) | null = null;
150
+ let val = 0;
151
+ let max = 0;
152
+
153
+ const div = document.createElement("div");
154
+ div.style.display = "flex";
155
+
156
+ const span = document.createElement("span");
157
+ span.classList.add("qs-atoms-step");
158
+
159
+ const slider = document.createElement("input");
160
+ slider.type = "range";
161
+ slider.classList.add("qs-atoms-slider");
162
+ slider.id = "slider";
163
+ slider.min = "0";
164
+ slider.max = "0";
165
+ slider.value = "0";
166
+
167
+ // oninput gives constant updates while scrubbing, whereas onchange is only once released
168
+ slider.oninput = (ev) => {
169
+ ev.preventDefault();
170
+ val = parseInt((ev.target as HTMLInputElement).value);
171
+ render();
172
+ if (navHandler) navHandler(val);
173
+ };
174
+
175
+ div.appendChild(span);
176
+ div.appendChild(slider);
177
+
178
+ function setRange(len: number) {
179
+ max = len;
180
+ slider.max = `${len}`;
181
+ render();
182
+ }
183
+
184
+ function render() {
185
+ span.innerText = `${val} / ${max}`;
186
+ slider.value = `${val}`;
187
+ }
188
+
189
+ function next() {
190
+ if (val < max) {
191
+ val += 1;
192
+ render();
193
+ if (navHandler) navHandler(val);
194
+ }
195
+ }
196
+
197
+ function prev() {
198
+ if (val > 0) {
199
+ val -= 1;
200
+ render();
201
+ if (navHandler) navHandler(val);
202
+ }
203
+ }
204
+
205
+ render();
206
+
207
+ return {
208
+ element: div,
209
+ setRange,
210
+ setNavHandler: (handler) => (navHandler = handler),
211
+ next,
212
+ prev,
213
+ reset: () => (val = 0),
214
+ isAtEnd: () => val === max,
215
+ };
216
+ }