@itwin/frontend-devtools 3.0.0-dev.78 → 3.0.0-dev.82

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 (590) hide show
  1. package/lib/{ClipboardUtilities.d.ts → cjs/ClipboardUtilities.d.ts} +0 -0
  2. package/lib/cjs/ClipboardUtilities.d.ts.map +1 -0
  3. package/lib/{ClipboardUtilities.js → cjs/ClipboardUtilities.js} +0 -0
  4. package/lib/cjs/ClipboardUtilities.js.map +1 -0
  5. package/lib/{FrontEndDevTools.d.ts → cjs/FrontEndDevTools.d.ts} +0 -0
  6. package/lib/cjs/FrontEndDevTools.d.ts.map +1 -0
  7. package/lib/{FrontEndDevTools.js → cjs/FrontEndDevTools.js} +0 -0
  8. package/lib/cjs/FrontEndDevTools.js.map +1 -0
  9. package/lib/{effects → cjs/effects}/Convolution.d.ts +0 -0
  10. package/lib/cjs/effects/Convolution.d.ts.map +1 -0
  11. package/lib/{effects → cjs/effects}/Convolution.js +0 -0
  12. package/lib/cjs/effects/Convolution.js.map +1 -0
  13. package/lib/{effects → cjs/effects}/EffectTools.d.ts +0 -0
  14. package/lib/cjs/effects/EffectTools.d.ts.map +1 -0
  15. package/lib/{effects → cjs/effects}/EffectTools.js +0 -0
  16. package/lib/cjs/effects/EffectTools.js.map +1 -0
  17. package/lib/{effects → cjs/effects}/Explosion.d.ts +0 -0
  18. package/lib/cjs/effects/Explosion.d.ts.map +1 -0
  19. package/lib/{effects → cjs/effects}/Explosion.js +0 -0
  20. package/lib/cjs/effects/Explosion.js.map +1 -0
  21. package/lib/{effects → cjs/effects}/FlipImage.d.ts +0 -0
  22. package/lib/cjs/effects/FlipImage.d.ts.map +1 -0
  23. package/lib/{effects → cjs/effects}/FlipImage.js +0 -0
  24. package/lib/cjs/effects/FlipImage.js.map +1 -0
  25. package/lib/{effects → cjs/effects}/LensDistortion.d.ts +0 -0
  26. package/lib/cjs/effects/LensDistortion.d.ts.map +1 -0
  27. package/lib/{effects → cjs/effects}/LensDistortion.js +0 -0
  28. package/lib/cjs/effects/LensDistortion.js.map +1 -0
  29. package/lib/{effects → cjs/effects}/Random.d.ts +0 -0
  30. package/lib/cjs/effects/Random.d.ts.map +1 -0
  31. package/lib/{effects → cjs/effects}/Random.js +0 -0
  32. package/lib/cjs/effects/Random.js.map +1 -0
  33. package/lib/{effects → cjs/effects}/Saturation.d.ts +0 -0
  34. package/lib/cjs/effects/Saturation.d.ts.map +1 -0
  35. package/lib/{effects → cjs/effects}/Saturation.js +0 -0
  36. package/lib/cjs/effects/Saturation.js.map +1 -0
  37. package/lib/{effects → cjs/effects}/Snow.d.ts +0 -0
  38. package/lib/cjs/effects/Snow.d.ts.map +1 -0
  39. package/lib/{effects → cjs/effects}/Snow.js +1 -1
  40. package/lib/cjs/effects/Snow.js.map +1 -0
  41. package/lib/{effects → cjs/effects}/Vignette.d.ts +0 -0
  42. package/lib/cjs/effects/Vignette.d.ts.map +1 -0
  43. package/lib/{effects → cjs/effects}/Vignette.js +0 -0
  44. package/lib/cjs/effects/Vignette.js.map +1 -0
  45. package/lib/{frontend-devtools.d.ts → cjs/frontend-devtools.d.ts} +0 -0
  46. package/lib/cjs/frontend-devtools.d.ts.map +1 -0
  47. package/lib/{frontend-devtools.js → cjs/frontend-devtools.js} +0 -0
  48. package/lib/cjs/frontend-devtools.js.map +1 -0
  49. package/lib/{tools → cjs/tools}/AnimationIntervalTool.d.ts +0 -0
  50. package/lib/cjs/tools/AnimationIntervalTool.d.ts.map +1 -0
  51. package/lib/{tools → cjs/tools}/AnimationIntervalTool.js +0 -0
  52. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -0
  53. package/lib/{tools → cjs/tools}/ChangeUnitsTool.d.ts +0 -0
  54. package/lib/cjs/tools/ChangeUnitsTool.d.ts.map +1 -0
  55. package/lib/{tools → cjs/tools}/ChangeUnitsTool.js +0 -0
  56. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -0
  57. package/lib/{tools → cjs/tools}/ClipTools.d.ts +0 -0
  58. package/lib/cjs/tools/ClipTools.d.ts.map +1 -0
  59. package/lib/{tools → cjs/tools}/ClipTools.js +4 -1
  60. package/lib/cjs/tools/ClipTools.js.map +1 -0
  61. package/lib/{tools → cjs/tools}/DisplayStyleTools.d.ts +0 -0
  62. package/lib/cjs/tools/DisplayStyleTools.d.ts.map +1 -0
  63. package/lib/{tools → cjs/tools}/DisplayStyleTools.js +2 -2
  64. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -0
  65. package/lib/{tools → cjs/tools}/EmphasizeElementsTool.d.ts +0 -0
  66. package/lib/cjs/tools/EmphasizeElementsTool.d.ts.map +1 -0
  67. package/lib/{tools → cjs/tools}/EmphasizeElementsTool.js +0 -0
  68. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -0
  69. package/lib/{tools → cjs/tools}/FrustumDecoration.d.ts +0 -0
  70. package/lib/cjs/tools/FrustumDecoration.d.ts.map +1 -0
  71. package/lib/{tools → cjs/tools}/FrustumDecoration.js +0 -0
  72. package/lib/cjs/tools/FrustumDecoration.js.map +1 -0
  73. package/lib/{tools → cjs/tools}/InspectElementTool.d.ts +0 -0
  74. package/lib/cjs/tools/InspectElementTool.d.ts.map +1 -0
  75. package/lib/{tools → cjs/tools}/InspectElementTool.js +1 -1
  76. package/lib/cjs/tools/InspectElementTool.js.map +1 -0
  77. package/lib/{tools → cjs/tools}/MapLayerTool.d.ts +0 -0
  78. package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -0
  79. package/lib/{tools → cjs/tools}/MapLayerTool.js +1 -1
  80. package/lib/cjs/tools/MapLayerTool.js.map +1 -0
  81. package/lib/{tools → cjs/tools}/MeasureTileLoadTime.d.ts +0 -0
  82. package/lib/cjs/tools/MeasureTileLoadTime.d.ts.map +1 -0
  83. package/lib/{tools → cjs/tools}/MeasureTileLoadTime.js +0 -0
  84. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -0
  85. package/lib/{tools → cjs/tools}/ModelAppearanceTools.d.ts +0 -0
  86. package/lib/cjs/tools/ModelAppearanceTools.d.ts.map +1 -0
  87. package/lib/{tools → cjs/tools}/ModelAppearanceTools.js +0 -0
  88. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -0
  89. package/lib/{tools → cjs/tools}/PlanProjectionTools.d.ts +0 -0
  90. package/lib/cjs/tools/PlanProjectionTools.d.ts.map +1 -0
  91. package/lib/{tools → cjs/tools}/PlanProjectionTools.js +0 -0
  92. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -0
  93. package/lib/{tools → cjs/tools}/PlanarMaskTools.d.ts +0 -0
  94. package/lib/cjs/tools/PlanarMaskTools.d.ts.map +1 -0
  95. package/lib/{tools → cjs/tools}/PlanarMaskTools.js +0 -0
  96. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -0
  97. package/lib/{tools → cjs/tools}/ProjectExtents.d.ts +0 -0
  98. package/lib/cjs/tools/ProjectExtents.d.ts.map +1 -0
  99. package/lib/{tools → cjs/tools}/ProjectExtents.js +0 -0
  100. package/lib/cjs/tools/ProjectExtents.js.map +1 -0
  101. package/lib/{tools → cjs/tools}/RealityModelTools.d.ts +0 -0
  102. package/lib/cjs/tools/RealityModelTools.d.ts.map +1 -0
  103. package/lib/{tools → cjs/tools}/RealityModelTools.js +0 -0
  104. package/lib/cjs/tools/RealityModelTools.js.map +1 -0
  105. package/lib/{tools → cjs/tools}/RealityTransitionTool.d.ts +0 -0
  106. package/lib/cjs/tools/RealityTransitionTool.d.ts.map +1 -0
  107. package/lib/{tools → cjs/tools}/RealityTransitionTool.js +9 -2
  108. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -0
  109. package/lib/{tools → cjs/tools}/RenderSystemTools.d.ts +0 -0
  110. package/lib/cjs/tools/RenderSystemTools.d.ts.map +1 -0
  111. package/lib/{tools → cjs/tools}/RenderSystemTools.js +0 -0
  112. package/lib/cjs/tools/RenderSystemTools.js.map +1 -0
  113. package/lib/{tools → cjs/tools}/RenderTargetTools.d.ts +0 -0
  114. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -0
  115. package/lib/{tools → cjs/tools}/RenderTargetTools.js +0 -0
  116. package/lib/cjs/tools/RenderTargetTools.js.map +1 -0
  117. package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.d.ts +0 -0
  118. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
  119. package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.js +0 -0
  120. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -0
  121. package/lib/{tools → cjs/tools}/SavedViews.d.ts +0 -0
  122. package/lib/cjs/tools/SavedViews.d.ts.map +1 -0
  123. package/lib/{tools → cjs/tools}/SavedViews.js +0 -0
  124. package/lib/cjs/tools/SavedViews.js.map +1 -0
  125. package/lib/{tools → cjs/tools}/SelectionTools.d.ts +0 -0
  126. package/lib/cjs/tools/SelectionTools.d.ts.map +1 -0
  127. package/lib/{tools → cjs/tools}/SelectionTools.js +0 -0
  128. package/lib/cjs/tools/SelectionTools.js.map +1 -0
  129. package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.d.ts +0 -0
  130. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
  131. package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.js +0 -0
  132. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -0
  133. package/lib/{tools → cjs/tools}/SourceAspectIdTools.d.ts +0 -0
  134. package/lib/cjs/tools/SourceAspectIdTools.d.ts.map +1 -0
  135. package/lib/{tools → cjs/tools}/SourceAspectIdTools.js +5 -23
  136. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -0
  137. package/lib/{tools → cjs/tools}/TileRequestDecoration.d.ts +0 -0
  138. package/lib/cjs/tools/TileRequestDecoration.d.ts.map +1 -0
  139. package/lib/{tools → cjs/tools}/TileRequestDecoration.js +0 -0
  140. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -0
  141. package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.d.ts +0 -0
  142. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
  143. package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.js +0 -0
  144. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -0
  145. package/lib/{tools → cjs/tools}/ToolTipProvider.d.ts +0 -0
  146. package/lib/cjs/tools/ToolTipProvider.d.ts.map +1 -0
  147. package/lib/{tools → cjs/tools}/ToolTipProvider.js +0 -0
  148. package/lib/cjs/tools/ToolTipProvider.js.map +1 -0
  149. package/lib/{tools → cjs/tools}/ViewportTools.d.ts +0 -0
  150. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -0
  151. package/lib/{tools → cjs/tools}/ViewportTools.js +0 -0
  152. package/lib/cjs/tools/ViewportTools.js.map +1 -0
  153. package/lib/{tools → cjs/tools}/parseArgs.d.ts +0 -0
  154. package/lib/cjs/tools/parseArgs.d.ts.map +1 -0
  155. package/lib/{tools → cjs/tools}/parseArgs.js +0 -0
  156. package/lib/cjs/tools/parseArgs.js.map +1 -0
  157. package/lib/{tools → cjs/tools}/parseBoolean.d.ts +0 -0
  158. package/lib/cjs/tools/parseBoolean.d.ts.map +1 -0
  159. package/lib/{tools → cjs/tools}/parseBoolean.js +0 -0
  160. package/lib/cjs/tools/parseBoolean.js.map +1 -0
  161. package/lib/{tools → cjs/tools}/parseToggle.d.ts +0 -0
  162. package/lib/cjs/tools/parseToggle.d.ts.map +1 -0
  163. package/lib/{tools → cjs/tools}/parseToggle.js +0 -0
  164. package/lib/cjs/tools/parseToggle.js.map +1 -0
  165. package/lib/{ui → cjs/ui}/Button.d.ts +0 -0
  166. package/lib/cjs/ui/Button.d.ts.map +1 -0
  167. package/lib/{ui → cjs/ui}/Button.js +0 -0
  168. package/lib/cjs/ui/Button.js.map +1 -0
  169. package/lib/{ui → cjs/ui}/CheckBox.d.ts +0 -0
  170. package/lib/cjs/ui/CheckBox.d.ts.map +1 -0
  171. package/lib/{ui → cjs/ui}/CheckBox.js +0 -0
  172. package/lib/cjs/ui/CheckBox.js.map +1 -0
  173. package/lib/{ui → cjs/ui}/ColorInput.d.ts +0 -0
  174. package/lib/cjs/ui/ColorInput.d.ts.map +1 -0
  175. package/lib/{ui → cjs/ui}/ColorInput.js +0 -0
  176. package/lib/cjs/ui/ColorInput.js.map +1 -0
  177. package/lib/{ui → cjs/ui}/ComboBox.d.ts +0 -0
  178. package/lib/cjs/ui/ComboBox.d.ts.map +1 -0
  179. package/lib/{ui → cjs/ui}/ComboBox.js +0 -0
  180. package/lib/cjs/ui/ComboBox.js.map +1 -0
  181. package/lib/{ui → cjs/ui}/DataList.d.ts +0 -0
  182. package/lib/cjs/ui/DataList.d.ts.map +1 -0
  183. package/lib/{ui → cjs/ui}/DataList.js +0 -0
  184. package/lib/cjs/ui/DataList.js.map +1 -0
  185. package/lib/{ui → cjs/ui}/NestedMenu.d.ts +0 -0
  186. package/lib/cjs/ui/NestedMenu.d.ts.map +1 -0
  187. package/lib/{ui → cjs/ui}/NestedMenu.js +0 -0
  188. package/lib/cjs/ui/NestedMenu.js.map +1 -0
  189. package/lib/{ui → cjs/ui}/NumericInput.d.ts +0 -0
  190. package/lib/cjs/ui/NumericInput.d.ts.map +1 -0
  191. package/lib/{ui → cjs/ui}/NumericInput.js +1 -1
  192. package/lib/cjs/ui/NumericInput.js.map +1 -0
  193. package/lib/{ui → cjs/ui}/RadioBox.d.ts +0 -0
  194. package/lib/cjs/ui/RadioBox.d.ts.map +1 -0
  195. package/lib/{ui → cjs/ui}/RadioBox.js +0 -0
  196. package/lib/cjs/ui/RadioBox.js.map +1 -0
  197. package/lib/{ui → cjs/ui}/Slider.d.ts +0 -0
  198. package/lib/cjs/ui/Slider.d.ts.map +1 -0
  199. package/lib/{ui → cjs/ui}/Slider.js +0 -0
  200. package/lib/cjs/ui/Slider.js.map +1 -0
  201. package/lib/{ui → cjs/ui}/TextBox.d.ts +0 -0
  202. package/lib/cjs/ui/TextBox.d.ts.map +1 -0
  203. package/lib/{ui → cjs/ui}/TextBox.js +0 -0
  204. package/lib/cjs/ui/TextBox.js.map +1 -0
  205. package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.d.ts +0 -0
  206. package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -0
  207. package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.js +0 -0
  208. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -0
  209. package/lib/{widgets → cjs/widgets}/FpsTracker.d.ts +0 -0
  210. package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -0
  211. package/lib/{widgets → cjs/widgets}/FpsTracker.js +0 -0
  212. package/lib/cjs/widgets/FpsTracker.js.map +1 -0
  213. package/lib/{widgets → cjs/widgets}/GpuProfiler.d.ts +0 -0
  214. package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -0
  215. package/lib/{widgets → cjs/widgets}/GpuProfiler.js +0 -0
  216. package/lib/cjs/widgets/GpuProfiler.js.map +1 -0
  217. package/lib/{widgets → cjs/widgets}/KeyinField.d.ts +0 -0
  218. package/lib/cjs/widgets/KeyinField.d.ts.map +1 -0
  219. package/lib/{widgets → cjs/widgets}/KeyinField.js +0 -0
  220. package/lib/cjs/widgets/KeyinField.js.map +1 -0
  221. package/lib/{widgets → cjs/widgets}/MemoryTracker.d.ts +0 -0
  222. package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -0
  223. package/lib/{widgets → cjs/widgets}/MemoryTracker.js +0 -0
  224. package/lib/cjs/widgets/MemoryTracker.js.map +1 -0
  225. package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.d.ts +0 -0
  226. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -0
  227. package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.js +0 -0
  228. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -0
  229. package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.d.ts +0 -0
  230. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -0
  231. package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.js +0 -0
  232. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -0
  233. package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.d.ts +0 -0
  234. package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -0
  235. package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.js +0 -0
  236. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -0
  237. package/lib/esm/ClipboardUtilities.d.ts +9 -0
  238. package/lib/esm/ClipboardUtilities.d.ts.map +1 -0
  239. package/lib/esm/ClipboardUtilities.js +23 -0
  240. package/lib/esm/ClipboardUtilities.js.map +1 -0
  241. package/lib/esm/FrontEndDevTools.d.ts +19 -0
  242. package/lib/esm/FrontEndDevTools.d.ts.map +1 -0
  243. package/lib/esm/FrontEndDevTools.js +200 -0
  244. package/lib/esm/FrontEndDevTools.js.map +1 -0
  245. package/lib/esm/effects/Convolution.d.ts +69 -0
  246. package/lib/esm/effects/Convolution.d.ts.map +1 -0
  247. package/lib/esm/effects/Convolution.js +156 -0
  248. package/lib/esm/effects/Convolution.js.map +1 -0
  249. package/lib/esm/effects/EffectTools.d.ts +34 -0
  250. package/lib/esm/effects/EffectTools.d.ts.map +1 -0
  251. package/lib/esm/effects/EffectTools.js +63 -0
  252. package/lib/esm/effects/EffectTools.js.map +1 -0
  253. package/lib/esm/effects/Explosion.d.ts +13 -0
  254. package/lib/esm/effects/Explosion.d.ts.map +1 -0
  255. package/lib/esm/effects/Explosion.js +164 -0
  256. package/lib/esm/effects/Explosion.js.map +1 -0
  257. package/lib/esm/effects/FlipImage.d.ts +31 -0
  258. package/lib/esm/effects/FlipImage.d.ts.map +1 -0
  259. package/lib/esm/effects/FlipImage.js +95 -0
  260. package/lib/esm/effects/FlipImage.js.map +1 -0
  261. package/lib/esm/effects/LensDistortion.d.ts +35 -0
  262. package/lib/esm/effects/LensDistortion.d.ts.map +1 -0
  263. package/lib/esm/effects/LensDistortion.js +105 -0
  264. package/lib/esm/effects/LensDistortion.js.map +1 -0
  265. package/lib/esm/effects/Random.d.ts +25 -0
  266. package/lib/esm/effects/Random.d.ts.map +1 -0
  267. package/lib/esm/effects/Random.js +42 -0
  268. package/lib/esm/effects/Random.js.map +1 -0
  269. package/lib/esm/effects/Saturation.d.ts +31 -0
  270. package/lib/esm/effects/Saturation.d.ts.map +1 -0
  271. package/lib/esm/effects/Saturation.js +81 -0
  272. package/lib/esm/effects/Saturation.js.map +1 -0
  273. package/lib/esm/effects/Snow.d.ts +77 -0
  274. package/lib/esm/effects/Snow.d.ts.map +1 -0
  275. package/lib/esm/effects/Snow.js +182 -0
  276. package/lib/esm/effects/Snow.js.map +1 -0
  277. package/lib/esm/effects/Vignette.d.ts +40 -0
  278. package/lib/esm/effects/Vignette.d.ts.map +1 -0
  279. package/lib/esm/effects/Vignette.js +104 -0
  280. package/lib/esm/effects/Vignette.js.map +1 -0
  281. package/lib/esm/frontend-devtools.d.ts +82 -0
  282. package/lib/esm/frontend-devtools.d.ts.map +1 -0
  283. package/lib/esm/frontend-devtools.js +86 -0
  284. package/lib/esm/frontend-devtools.js.map +1 -0
  285. package/lib/esm/tools/AnimationIntervalTool.d.ts +16 -0
  286. package/lib/esm/tools/AnimationIntervalTool.d.ts.map +1 -0
  287. package/lib/esm/tools/AnimationIntervalTool.js +27 -0
  288. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -0
  289. package/lib/esm/tools/ChangeUnitsTool.d.ts +16 -0
  290. package/lib/esm/tools/ChangeUnitsTool.d.ts.map +1 -0
  291. package/lib/esm/tools/ChangeUnitsTool.js +38 -0
  292. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -0
  293. package/lib/esm/tools/ClipTools.d.ts +68 -0
  294. package/lib/esm/tools/ClipTools.d.ts.map +1 -0
  295. package/lib/esm/tools/ClipTools.js +159 -0
  296. package/lib/esm/tools/ClipTools.js.map +1 -0
  297. package/lib/esm/tools/DisplayStyleTools.d.ts +99 -0
  298. package/lib/esm/tools/DisplayStyleTools.d.ts.map +1 -0
  299. package/lib/esm/tools/DisplayStyleTools.js +232 -0
  300. package/lib/esm/tools/DisplayStyleTools.js.map +1 -0
  301. package/lib/esm/tools/EmphasizeElementsTool.d.ts +61 -0
  302. package/lib/esm/tools/EmphasizeElementsTool.d.ts.map +1 -0
  303. package/lib/esm/tools/EmphasizeElementsTool.js +146 -0
  304. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -0
  305. package/lib/esm/tools/FrustumDecoration.d.ts +58 -0
  306. package/lib/esm/tools/FrustumDecoration.d.ts.map +1 -0
  307. package/lib/esm/tools/FrustumDecoration.js +365 -0
  308. package/lib/esm/tools/FrustumDecoration.js.map +1 -0
  309. package/lib/esm/tools/InspectElementTool.d.ts +42 -0
  310. package/lib/esm/tools/InspectElementTool.d.ts.map +1 -0
  311. package/lib/esm/tools/InspectElementTool.js +181 -0
  312. package/lib/esm/tools/InspectElementTool.js.map +1 -0
  313. package/lib/esm/tools/MapLayerTool.d.ts +248 -0
  314. package/lib/esm/tools/MapLayerTool.d.ts.map +1 -0
  315. package/lib/esm/tools/MapLayerTool.js +442 -0
  316. package/lib/esm/tools/MapLayerTool.js.map +1 -0
  317. package/lib/esm/tools/MeasureTileLoadTime.d.ts +13 -0
  318. package/lib/esm/tools/MeasureTileLoadTime.d.ts.map +1 -0
  319. package/lib/esm/tools/MeasureTileLoadTime.js +57 -0
  320. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -0
  321. package/lib/esm/tools/ModelAppearanceTools.d.ts +87 -0
  322. package/lib/esm/tools/ModelAppearanceTools.d.ts.map +1 -0
  323. package/lib/esm/tools/ModelAppearanceTools.js +173 -0
  324. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -0
  325. package/lib/esm/tools/PlanProjectionTools.d.ts +41 -0
  326. package/lib/esm/tools/PlanProjectionTools.d.ts.map +1 -0
  327. package/lib/esm/tools/PlanProjectionTools.js +144 -0
  328. package/lib/esm/tools/PlanProjectionTools.js.map +1 -0
  329. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -0
  330. package/lib/esm/tools/PlanarMaskTools.d.ts.map +1 -0
  331. package/lib/esm/tools/PlanarMaskTools.js +350 -0
  332. package/lib/esm/tools/PlanarMaskTools.js.map +1 -0
  333. package/lib/esm/tools/ProjectExtents.d.ts +41 -0
  334. package/lib/esm/tools/ProjectExtents.d.ts.map +1 -0
  335. package/lib/esm/tools/ProjectExtents.js +102 -0
  336. package/lib/esm/tools/ProjectExtents.js.map +1 -0
  337. package/lib/esm/tools/RealityModelTools.d.ts +117 -0
  338. package/lib/esm/tools/RealityModelTools.d.ts.map +1 -0
  339. package/lib/esm/tools/RealityModelTools.js +256 -0
  340. package/lib/esm/tools/RealityModelTools.js.map +1 -0
  341. package/lib/esm/tools/RealityTransitionTool.d.ts +26 -0
  342. package/lib/esm/tools/RealityTransitionTool.d.ts.map +1 -0
  343. package/lib/esm/tools/RealityTransitionTool.js +113 -0
  344. package/lib/esm/tools/RealityTransitionTool.js.map +1 -0
  345. package/lib/esm/tools/RenderSystemTools.d.ts +46 -0
  346. package/lib/esm/tools/RenderSystemTools.d.ts.map +1 -0
  347. package/lib/esm/tools/RenderSystemTools.js +73 -0
  348. package/lib/esm/tools/RenderSystemTools.js.map +1 -0
  349. package/lib/esm/tools/RenderTargetTools.d.ts +101 -0
  350. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -0
  351. package/lib/esm/tools/RenderTargetTools.js +153 -0
  352. package/lib/esm/tools/RenderTargetTools.js.map +1 -0
  353. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +12 -0
  354. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
  355. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -0
  356. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -0
  357. package/lib/esm/tools/SavedViews.d.ts +47 -0
  358. package/lib/esm/tools/SavedViews.d.ts.map +1 -0
  359. package/lib/esm/tools/SavedViews.js +129 -0
  360. package/lib/esm/tools/SavedViews.js.map +1 -0
  361. package/lib/esm/tools/SelectionTools.d.ts +17 -0
  362. package/lib/esm/tools/SelectionTools.d.ts.map +1 -0
  363. package/lib/esm/tools/SelectionTools.js +24 -0
  364. package/lib/esm/tools/SelectionTools.js.map +1 -0
  365. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +16 -0
  366. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
  367. package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -0
  368. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -0
  369. package/lib/esm/tools/SourceAspectIdTools.d.ts +41 -0
  370. package/lib/esm/tools/SourceAspectIdTools.d.ts.map +1 -0
  371. package/lib/esm/tools/SourceAspectIdTools.js +81 -0
  372. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -0
  373. package/lib/esm/tools/TileRequestDecoration.d.ts +13 -0
  374. package/lib/esm/tools/TileRequestDecoration.d.ts.map +1 -0
  375. package/lib/esm/tools/TileRequestDecoration.js +80 -0
  376. package/lib/esm/tools/TileRequestDecoration.js.map +1 -0
  377. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +12 -0
  378. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
  379. package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -0
  380. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -0
  381. package/lib/esm/tools/ToolTipProvider.d.ts +16 -0
  382. package/lib/esm/tools/ToolTipProvider.d.ts.map +1 -0
  383. package/lib/esm/tools/ToolTipProvider.js +63 -0
  384. package/lib/esm/tools/ToolTipProvider.js.map +1 -0
  385. package/lib/esm/tools/ViewportTools.d.ts +194 -0
  386. package/lib/esm/tools/ViewportTools.d.ts.map +1 -0
  387. package/lib/esm/tools/ViewportTools.js +429 -0
  388. package/lib/esm/tools/ViewportTools.js.map +1 -0
  389. package/lib/esm/tools/parseArgs.d.ts +24 -0
  390. package/lib/esm/tools/parseArgs.d.ts.map +1 -0
  391. package/lib/esm/tools/parseArgs.js +48 -0
  392. package/lib/esm/tools/parseArgs.js.map +1 -0
  393. package/lib/esm/tools/parseBoolean.d.ts +9 -0
  394. package/lib/esm/tools/parseBoolean.d.ts.map +1 -0
  395. package/lib/esm/tools/parseBoolean.js +23 -0
  396. package/lib/esm/tools/parseBoolean.js.map +1 -0
  397. package/lib/esm/tools/parseToggle.d.ts +9 -0
  398. package/lib/esm/tools/parseToggle.d.ts.map +1 -0
  399. package/lib/esm/tools/parseToggle.js +22 -0
  400. package/lib/esm/tools/parseToggle.js.map +1 -0
  401. package/lib/esm/ui/Button.d.ts +30 -0
  402. package/lib/esm/ui/Button.d.ts.map +1 -0
  403. package/lib/esm/ui/Button.js +23 -0
  404. package/lib/esm/ui/Button.js.map +1 -0
  405. package/lib/esm/ui/CheckBox.d.ts +24 -0
  406. package/lib/esm/ui/CheckBox.d.ts.map +1 -0
  407. package/lib/esm/ui/CheckBox.js +24 -0
  408. package/lib/esm/ui/CheckBox.js.map +1 -0
  409. package/lib/esm/ui/ColorInput.d.ts +28 -0
  410. package/lib/esm/ui/ColorInput.d.ts.map +1 -0
  411. package/lib/esm/ui/ColorInput.js +49 -0
  412. package/lib/esm/ui/ColorInput.js.map +1 -0
  413. package/lib/esm/ui/ComboBox.d.ts +29 -0
  414. package/lib/esm/ui/ComboBox.d.ts.map +1 -0
  415. package/lib/esm/ui/ComboBox.js +39 -0
  416. package/lib/esm/ui/ComboBox.js.map +1 -0
  417. package/lib/esm/ui/DataList.d.ts +28 -0
  418. package/lib/esm/ui/DataList.d.ts.map +1 -0
  419. package/lib/esm/ui/DataList.js +35 -0
  420. package/lib/esm/ui/DataList.js.map +1 -0
  421. package/lib/esm/ui/NestedMenu.d.ts +20 -0
  422. package/lib/esm/ui/NestedMenu.d.ts.map +1 -0
  423. package/lib/esm/ui/NestedMenu.js +43 -0
  424. package/lib/esm/ui/NestedMenu.js.map +1 -0
  425. package/lib/esm/ui/NumericInput.d.ts +35 -0
  426. package/lib/esm/ui/NumericInput.d.ts.map +1 -0
  427. package/lib/esm/ui/NumericInput.js +55 -0
  428. package/lib/esm/ui/NumericInput.js.map +1 -0
  429. package/lib/esm/ui/RadioBox.d.ts +29 -0
  430. package/lib/esm/ui/RadioBox.d.ts.map +1 -0
  431. package/lib/esm/ui/RadioBox.js +73 -0
  432. package/lib/esm/ui/RadioBox.js.map +1 -0
  433. package/lib/esm/ui/Slider.d.ts +25 -0
  434. package/lib/esm/ui/Slider.d.ts.map +1 -0
  435. package/lib/esm/ui/Slider.js +29 -0
  436. package/lib/esm/ui/Slider.js.map +1 -0
  437. package/lib/esm/ui/TextBox.d.ts +33 -0
  438. package/lib/esm/ui/TextBox.d.ts.map +1 -0
  439. package/lib/esm/ui/TextBox.js +53 -0
  440. package/lib/esm/ui/TextBox.js.map +1 -0
  441. package/lib/esm/widgets/DiagnosticsPanel.d.ts +36 -0
  442. package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -0
  443. package/lib/esm/widgets/DiagnosticsPanel.js +72 -0
  444. package/lib/{widgets → esm/widgets}/DiagnosticsPanel.js.map +1 -1
  445. package/lib/esm/widgets/FpsTracker.d.ts +20 -0
  446. package/lib/esm/widgets/FpsTracker.d.ts.map +1 -0
  447. package/lib/esm/widgets/FpsTracker.js +53 -0
  448. package/lib/esm/widgets/FpsTracker.js.map +1 -0
  449. package/lib/esm/widgets/GpuProfiler.d.ts +17 -0
  450. package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -0
  451. package/lib/esm/widgets/GpuProfiler.js +189 -0
  452. package/lib/esm/widgets/GpuProfiler.js.map +1 -0
  453. package/lib/esm/widgets/KeyinField.d.ts +62 -0
  454. package/lib/esm/widgets/KeyinField.d.ts.map +1 -0
  455. package/lib/esm/widgets/KeyinField.js +184 -0
  456. package/lib/esm/widgets/KeyinField.js.map +1 -0
  457. package/lib/esm/widgets/MemoryTracker.d.ts +28 -0
  458. package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -0
  459. package/lib/esm/widgets/MemoryTracker.js +239 -0
  460. package/lib/esm/widgets/MemoryTracker.js.map +1 -0
  461. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +31 -0
  462. package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -0
  463. package/lib/esm/widgets/TileMemoryBreakdown.js +201 -0
  464. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -0
  465. package/lib/esm/widgets/TileStatisticsTracker.d.ts +22 -0
  466. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -0
  467. package/lib/esm/widgets/TileStatisticsTracker.js +139 -0
  468. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -0
  469. package/lib/esm/widgets/ToolSettingsTracker.d.ts +10 -0
  470. package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -0
  471. package/lib/esm/widgets/ToolSettingsTracker.js +178 -0
  472. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -0
  473. package/package.json +16 -12
  474. package/lib/ClipboardUtilities.d.ts.map +0 -1
  475. package/lib/ClipboardUtilities.js.map +0 -1
  476. package/lib/FrontEndDevTools.d.ts.map +0 -1
  477. package/lib/FrontEndDevTools.js.map +0 -1
  478. package/lib/effects/Convolution.d.ts.map +0 -1
  479. package/lib/effects/Convolution.js.map +0 -1
  480. package/lib/effects/EffectTools.d.ts.map +0 -1
  481. package/lib/effects/EffectTools.js.map +0 -1
  482. package/lib/effects/Explosion.d.ts.map +0 -1
  483. package/lib/effects/Explosion.js.map +0 -1
  484. package/lib/effects/FlipImage.d.ts.map +0 -1
  485. package/lib/effects/FlipImage.js.map +0 -1
  486. package/lib/effects/LensDistortion.d.ts.map +0 -1
  487. package/lib/effects/LensDistortion.js.map +0 -1
  488. package/lib/effects/Random.d.ts.map +0 -1
  489. package/lib/effects/Random.js.map +0 -1
  490. package/lib/effects/Saturation.d.ts.map +0 -1
  491. package/lib/effects/Saturation.js.map +0 -1
  492. package/lib/effects/Snow.d.ts.map +0 -1
  493. package/lib/effects/Snow.js.map +0 -1
  494. package/lib/effects/Vignette.d.ts.map +0 -1
  495. package/lib/effects/Vignette.js.map +0 -1
  496. package/lib/frontend-devtools.d.ts.map +0 -1
  497. package/lib/frontend-devtools.js.map +0 -1
  498. package/lib/tools/AnimationIntervalTool.d.ts.map +0 -1
  499. package/lib/tools/AnimationIntervalTool.js.map +0 -1
  500. package/lib/tools/ChangeUnitsTool.d.ts.map +0 -1
  501. package/lib/tools/ChangeUnitsTool.js.map +0 -1
  502. package/lib/tools/ClipTools.d.ts.map +0 -1
  503. package/lib/tools/ClipTools.js.map +0 -1
  504. package/lib/tools/DisplayStyleTools.d.ts.map +0 -1
  505. package/lib/tools/DisplayStyleTools.js.map +0 -1
  506. package/lib/tools/EmphasizeElementsTool.d.ts.map +0 -1
  507. package/lib/tools/EmphasizeElementsTool.js.map +0 -1
  508. package/lib/tools/FrustumDecoration.d.ts.map +0 -1
  509. package/lib/tools/FrustumDecoration.js.map +0 -1
  510. package/lib/tools/InspectElementTool.d.ts.map +0 -1
  511. package/lib/tools/InspectElementTool.js.map +0 -1
  512. package/lib/tools/MapLayerTool.d.ts.map +0 -1
  513. package/lib/tools/MapLayerTool.js.map +0 -1
  514. package/lib/tools/MeasureTileLoadTime.d.ts.map +0 -1
  515. package/lib/tools/MeasureTileLoadTime.js.map +0 -1
  516. package/lib/tools/ModelAppearanceTools.d.ts.map +0 -1
  517. package/lib/tools/ModelAppearanceTools.js.map +0 -1
  518. package/lib/tools/PlanProjectionTools.d.ts.map +0 -1
  519. package/lib/tools/PlanProjectionTools.js.map +0 -1
  520. package/lib/tools/PlanarMaskTools.d.ts.map +0 -1
  521. package/lib/tools/PlanarMaskTools.js.map +0 -1
  522. package/lib/tools/ProjectExtents.d.ts.map +0 -1
  523. package/lib/tools/ProjectExtents.js.map +0 -1
  524. package/lib/tools/RealityModelTools.d.ts.map +0 -1
  525. package/lib/tools/RealityModelTools.js.map +0 -1
  526. package/lib/tools/RealityTransitionTool.d.ts.map +0 -1
  527. package/lib/tools/RealityTransitionTool.js.map +0 -1
  528. package/lib/tools/RenderSystemTools.d.ts.map +0 -1
  529. package/lib/tools/RenderSystemTools.js.map +0 -1
  530. package/lib/tools/RenderTargetTools.d.ts.map +0 -1
  531. package/lib/tools/RenderTargetTools.js.map +0 -1
  532. package/lib/tools/ReportWebGLCompatibilityTool.d.ts.map +0 -1
  533. package/lib/tools/ReportWebGLCompatibilityTool.js.map +0 -1
  534. package/lib/tools/SavedViews.d.ts.map +0 -1
  535. package/lib/tools/SavedViews.js.map +0 -1
  536. package/lib/tools/SelectionTools.d.ts.map +0 -1
  537. package/lib/tools/SelectionTools.js.map +0 -1
  538. package/lib/tools/SetGpuMemoryLimitTool.d.ts.map +0 -1
  539. package/lib/tools/SetGpuMemoryLimitTool.js.map +0 -1
  540. package/lib/tools/SourceAspectIdTools.d.ts.map +0 -1
  541. package/lib/tools/SourceAspectIdTools.js.map +0 -1
  542. package/lib/tools/TileRequestDecoration.d.ts.map +0 -1
  543. package/lib/tools/TileRequestDecoration.js.map +0 -1
  544. package/lib/tools/TileTreeBoundsDecoration.d.ts.map +0 -1
  545. package/lib/tools/TileTreeBoundsDecoration.js.map +0 -1
  546. package/lib/tools/ToolTipProvider.d.ts.map +0 -1
  547. package/lib/tools/ToolTipProvider.js.map +0 -1
  548. package/lib/tools/ViewportTools.d.ts.map +0 -1
  549. package/lib/tools/ViewportTools.js.map +0 -1
  550. package/lib/tools/parseArgs.d.ts.map +0 -1
  551. package/lib/tools/parseArgs.js.map +0 -1
  552. package/lib/tools/parseBoolean.d.ts.map +0 -1
  553. package/lib/tools/parseBoolean.js.map +0 -1
  554. package/lib/tools/parseToggle.d.ts.map +0 -1
  555. package/lib/tools/parseToggle.js.map +0 -1
  556. package/lib/ui/Button.d.ts.map +0 -1
  557. package/lib/ui/Button.js.map +0 -1
  558. package/lib/ui/CheckBox.d.ts.map +0 -1
  559. package/lib/ui/CheckBox.js.map +0 -1
  560. package/lib/ui/ColorInput.d.ts.map +0 -1
  561. package/lib/ui/ColorInput.js.map +0 -1
  562. package/lib/ui/ComboBox.d.ts.map +0 -1
  563. package/lib/ui/ComboBox.js.map +0 -1
  564. package/lib/ui/DataList.d.ts.map +0 -1
  565. package/lib/ui/DataList.js.map +0 -1
  566. package/lib/ui/NestedMenu.d.ts.map +0 -1
  567. package/lib/ui/NestedMenu.js.map +0 -1
  568. package/lib/ui/NumericInput.d.ts.map +0 -1
  569. package/lib/ui/NumericInput.js.map +0 -1
  570. package/lib/ui/RadioBox.d.ts.map +0 -1
  571. package/lib/ui/RadioBox.js.map +0 -1
  572. package/lib/ui/Slider.d.ts.map +0 -1
  573. package/lib/ui/Slider.js.map +0 -1
  574. package/lib/ui/TextBox.d.ts.map +0 -1
  575. package/lib/ui/TextBox.js.map +0 -1
  576. package/lib/widgets/DiagnosticsPanel.d.ts.map +0 -1
  577. package/lib/widgets/FpsTracker.d.ts.map +0 -1
  578. package/lib/widgets/FpsTracker.js.map +0 -1
  579. package/lib/widgets/GpuProfiler.d.ts.map +0 -1
  580. package/lib/widgets/GpuProfiler.js.map +0 -1
  581. package/lib/widgets/KeyinField.d.ts.map +0 -1
  582. package/lib/widgets/KeyinField.js.map +0 -1
  583. package/lib/widgets/MemoryTracker.d.ts.map +0 -1
  584. package/lib/widgets/MemoryTracker.js.map +0 -1
  585. package/lib/widgets/TileMemoryBreakdown.d.ts.map +0 -1
  586. package/lib/widgets/TileMemoryBreakdown.js.map +0 -1
  587. package/lib/widgets/TileStatisticsTracker.d.ts.map +0 -1
  588. package/lib/widgets/TileStatisticsTracker.js.map +0 -1
  589. package/lib/widgets/ToolSettingsTracker.d.ts.map +0 -1
  590. package/lib/widgets/ToolSettingsTracker.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioBox.d.ts","sourceRoot":"","sources":["../../../src/ui/RadioBox.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,aAAa;AACb,oBAAY,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;AAE7E,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,aAAa;AACb,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;IACjD,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,aAAa;AACb,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CA4E7D"}
@@ -0,0 +1,73 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @alpha */
6
+ export function createRadioBox(props) {
7
+ const div = document.createElement("div");
8
+ let label;
9
+ if (undefined !== props.name) {
10
+ label = document.createElement("label");
11
+ label.htmlFor = props.id;
12
+ label.innerText = props.name;
13
+ div.appendChild(label);
14
+ }
15
+ const form = document.createElement("form");
16
+ form.id = props.id;
17
+ const radioBoxes = [];
18
+ for (const entry of props.entries) {
19
+ const input = document.createElement("input");
20
+ input.type = "radio";
21
+ input.name = props.name ? props.name : props.id;
22
+ input.value = (undefined !== entry.value) ? entry.value.toString() : "";
23
+ const inputLabel = document.createElement("label");
24
+ inputLabel.innerText = entry.label;
25
+ inputLabel.onclick = () => {
26
+ try {
27
+ input.checked = true;
28
+ const value = input.value;
29
+ props.handler(value, form);
30
+ }
31
+ catch (_ex) {
32
+ //
33
+ }
34
+ };
35
+ input.onchange = () => {
36
+ try {
37
+ const value = input.value;
38
+ props.handler(value, form);
39
+ }
40
+ catch (_ex) {
41
+ //
42
+ }
43
+ };
44
+ if (props.defaultValue === entry.value) {
45
+ input.checked = true;
46
+ }
47
+ radioBoxes.push(input);
48
+ if (props.vertical) {
49
+ const container = document.createElement("div");
50
+ container.appendChild(input);
51
+ container.appendChild(inputLabel);
52
+ form.appendChild(container);
53
+ }
54
+ else {
55
+ form.appendChild(input);
56
+ form.appendChild(inputLabel);
57
+ }
58
+ }
59
+ div.appendChild(form);
60
+ if (undefined !== props.parent)
61
+ props.parent.appendChild(div);
62
+ const setValue = (value) => {
63
+ const stringValue = value.toString();
64
+ const validValue = radioBoxes.map((input) => input.value).includes(stringValue);
65
+ if (validValue) {
66
+ radioBoxes.forEach((input) => input.checked = input.value === stringValue);
67
+ props.handler(stringValue, form);
68
+ }
69
+ return validValue;
70
+ };
71
+ return { div, label, setValue };
72
+ }
73
+ //# sourceMappingURL=RadioBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioBox.js","sourceRoot":"","sources":["../../../src/ui/RadioBox.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Controls\n */\n\n/** @alpha */\nexport interface RadioBoxEntry {\n value: number | string | undefined;\n label: string;\n}\n\n/** @alpha */\nexport type RadioBoxHandler = (value: string, form: HTMLFormElement) => void;\n\n/** @alpha */\nexport interface RadioBoxProps {\n id: string;\n entries: RadioBoxEntry[];\n handler: RadioBoxHandler;\n name?: string;\n parent?: HTMLElement;\n defaultValue?: number | string;\n vertical?: boolean;\n}\n\n/** @alpha */\nexport interface RadioBox {\n label?: HTMLLabelElement;\n setValue: (newValue: number | string) => boolean;\n div: HTMLDivElement;\n}\n\n/** @alpha */\nexport function createRadioBox(props: RadioBoxProps): RadioBox {\n const div = document.createElement(\"div\");\n\n let label: HTMLLabelElement | undefined;\n if (undefined !== props.name) {\n label = document.createElement(\"label\");\n label.htmlFor = props.id;\n label.innerText = props.name;\n div.appendChild(label);\n }\n\n const form = document.createElement(\"form\");\n form.id = props.id;\n\n const radioBoxes: HTMLInputElement[] = [];\n\n for (const entry of props.entries) {\n const input = document.createElement(\"input\");\n input.type = \"radio\";\n input.name = props.name ? props.name : props.id;\n\n input.value = (undefined !== entry.value) ? entry.value.toString() : \"\";\n\n const inputLabel: HTMLLabelElement = document.createElement(\"label\");\n inputLabel.innerText = entry.label;\n\n inputLabel.onclick = () => {\n try {\n input.checked = true;\n const value = input.value;\n props.handler(value, form);\n } catch (_ex) {\n //\n }\n };\n\n input.onchange = () => {\n try {\n const value = input.value;\n props.handler(value, form);\n } catch (_ex) {\n //\n }\n };\n if (props.defaultValue === entry.value) {\n input.checked = true;\n }\n\n radioBoxes.push(input);\n\n if (props.vertical) {\n const container = document.createElement(\"div\");\n container.appendChild(input);\n container.appendChild(inputLabel);\n form.appendChild(container);\n } else {\n form.appendChild(input);\n form.appendChild(inputLabel);\n }\n }\n\n div.appendChild(form);\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n const setValue = (value: number | string): boolean => {\n const stringValue = value.toString();\n const validValue: boolean = radioBoxes.map((input) => input.value).includes(stringValue);\n if (validValue) {\n radioBoxes.forEach((input) => input.checked = input.value === stringValue);\n props.handler(stringValue, form);\n }\n return validValue;\n };\n\n return { div, label, setValue };\n}\n"]}
@@ -0,0 +1,25 @@
1
+ /** @packageDocumentation
2
+ * @module Controls
3
+ */
4
+ /** @alpha */
5
+ export interface Slider {
6
+ label: HTMLLabelElement;
7
+ slider: HTMLInputElement;
8
+ div: HTMLDivElement;
9
+ }
10
+ /** @alpha */
11
+ export declare type SliderHandler = (slider: HTMLInputElement) => void;
12
+ /** @alpha */
13
+ export interface SliderProps {
14
+ name: string;
15
+ handler: SliderHandler;
16
+ id: string;
17
+ parent?: HTMLElement;
18
+ min: string;
19
+ max: string;
20
+ step: string;
21
+ value: string;
22
+ }
23
+ /** @alpha */
24
+ export declare function createSlider(props: SliderProps): Slider;
25
+ //# sourceMappingURL=Slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/ui/Slider.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,aAAa;AACb,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,aAAa;AACb,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAE/D,aAAa;AACb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CA0BvD"}
@@ -0,0 +1,29 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @alpha */
6
+ export function createSlider(props) {
7
+ const div = document.createElement("div");
8
+ div.style.display = "block";
9
+ div.style.verticalAlign = "middle";
10
+ div.style.textAlign = "right";
11
+ const label = document.createElement("label");
12
+ label.htmlFor = props.id;
13
+ label.innerText = props.name;
14
+ div.appendChild(label);
15
+ const slider = document.createElement("input");
16
+ slider.type = "range";
17
+ slider.className = "slider";
18
+ slider.id = props.id;
19
+ slider.min = props.min;
20
+ slider.max = props.max;
21
+ slider.step = props.step;
22
+ slider.value = props.value;
23
+ slider.addEventListener("input", () => props.handler(slider));
24
+ div.appendChild(slider);
25
+ if (undefined !== props.parent)
26
+ props.parent.appendChild(div);
27
+ return { label, slider, div };
28
+ }
29
+ //# sourceMappingURL=Slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/ui/Slider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AA4B/F,aAAa;AACb,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACrB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACvB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Controls\n */\n\n/** @alpha */\nexport interface Slider {\n label: HTMLLabelElement;\n slider: HTMLInputElement;\n div: HTMLDivElement;\n}\n\n/** @alpha */\nexport type SliderHandler = (slider: HTMLInputElement) => void;\n\n/** @alpha */\nexport interface SliderProps {\n name: string;\n handler: SliderHandler;\n id: string;\n parent?: HTMLElement;\n min: string;\n max: string;\n step: string;\n value: string;\n}\n\n/** @alpha */\nexport function createSlider(props: SliderProps): Slider {\n const div = document.createElement(\"div\");\n div.style.display = \"block\";\n div.style.verticalAlign = \"middle\";\n div.style.textAlign = \"right\";\n\n const label = document.createElement(\"label\");\n label.htmlFor = props.id;\n label.innerText = props.name;\n div.appendChild(label);\n\n const slider = document.createElement(\"input\");\n slider.type = \"range\";\n slider.className = \"slider\";\n slider.id = props.id;\n slider.min = props.min;\n slider.max = props.max;\n slider.step = props.step;\n slider.value = props.value;\n slider.addEventListener(\"input\", () => props.handler(slider));\n div.appendChild(slider);\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n return { label, slider, div };\n}\n"]}
@@ -0,0 +1,33 @@
1
+ /** @packageDocumentation
2
+ * @module Controls
3
+ */
4
+ /** Wraps an HTML text input field.
5
+ * @beta
6
+ */
7
+ export interface TextBox {
8
+ /** The label, if the text box has one. */
9
+ label?: HTMLLabelElement;
10
+ /** The text input element. */
11
+ textbox: HTMLInputElement;
12
+ /** The div containing the text box. */
13
+ div: HTMLDivElement;
14
+ }
15
+ /** @alpha */
16
+ export declare type TextBoxHandler = (textbox: HTMLInputElement) => void;
17
+ /** @alpha */
18
+ export declare type TextBoxKeyPressHandler = (textbox: HTMLInputElement, ev: KeyboardEvent) => void;
19
+ /** @alpha */
20
+ export interface TextBoxProps {
21
+ label?: string;
22
+ id?: string;
23
+ parent?: HTMLElement;
24
+ handler?: TextBoxHandler;
25
+ keypresshandler?: TextBoxKeyPressHandler;
26
+ focushandler?: TextBoxHandler;
27
+ tooltip?: string;
28
+ inline?: boolean;
29
+ list?: string;
30
+ }
31
+ /** @alpha */
32
+ export declare function createTextBox(props: TextBoxProps): TextBox;
33
+ //# sourceMappingURL=TextBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextBox.d.ts","sourceRoot":"","sources":["../../../src/ui/TextBox.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,8BAA8B;IAC9B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,uCAAuC;IACvC,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,aAAa;AACb,oBAAY,cAAc,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEjE,aAAa;AACb,oBAAY,sBAAsB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;AAE5F,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,aAAa;AACb,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAwD1D"}
@@ -0,0 +1,53 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @alpha */
6
+ export function createTextBox(props) {
7
+ const div = document.createElement("div");
8
+ if (true === props.inline)
9
+ div.style.display = "inline";
10
+ let label;
11
+ if (undefined !== props.label) {
12
+ label = document.createElement("label");
13
+ label.innerText = props.label;
14
+ if (undefined !== props.id)
15
+ label.htmlFor = props.id;
16
+ div.appendChild(label);
17
+ }
18
+ const textbox = document.createElement("input");
19
+ textbox.type = "text";
20
+ if (undefined !== props.id)
21
+ textbox.id = props.id;
22
+ div.appendChild(textbox);
23
+ if (undefined !== props.parent)
24
+ props.parent.appendChild(div);
25
+ const handler = props.handler;
26
+ if (undefined !== handler) {
27
+ textbox.onchange = () => handler(textbox);
28
+ }
29
+ // Don't want the document's listeners intepreting keypresses as keyboard shortcuts...
30
+ const stopPropagation = (ev) => ev.stopPropagation();
31
+ textbox.onkeydown = textbox.onkeyup = stopPropagation;
32
+ const keypresshandler = props.keypresshandler;
33
+ if (undefined !== keypresshandler) {
34
+ textbox.onkeypress = (ev) => {
35
+ keypresshandler(textbox, ev);
36
+ ev.stopPropagation();
37
+ };
38
+ }
39
+ else {
40
+ textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation
41
+ }
42
+ const focushandler = props.focushandler;
43
+ if (undefined !== focushandler) {
44
+ textbox.onfocus = () => focushandler(textbox);
45
+ }
46
+ if (undefined !== props.list) {
47
+ textbox.setAttribute("list", props.list);
48
+ }
49
+ if (undefined !== props.tooltip)
50
+ div.title = props.tooltip;
51
+ return { label, textbox, div };
52
+ }
53
+ //# sourceMappingURL=TextBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextBox.js","sourceRoot":"","sources":["../../../src/ui/TextBox.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAqC/F,aAAa;AACb,MAAM,UAAU,aAAa,CAAC,KAAmB;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM;QACvB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,IAAI,KAAK,CAAC;IACV,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE;QAC7B,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAE3B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACxB;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IACtB,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAExB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEzB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,OAAO,EAAE;QACzB,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3C;IAED,sFAAsF;IACtF,MAAM,eAAe,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IACpE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IACtD,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC9C,IAAI,SAAS,KAAK,eAAe,EAAE;QACjC,OAAO,CAAC,UAAU,GAAG,CAAC,EAAiB,EAAE,EAAE;YACzC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC;KACH;SAAM;QACL,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,8CAA8C;KACrF;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,SAAS,KAAK,YAAY,EAAE;QAC9B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KAC/C;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE;QAC5B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KAC1C;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACjC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Controls\n */\n\n/** Wraps an HTML text input field.\n * @beta\n */\nexport interface TextBox {\n /** The label, if the text box has one. */\n label?: HTMLLabelElement;\n /** The text input element. */\n textbox: HTMLInputElement;\n /** The div containing the text box. */\n div: HTMLDivElement;\n}\n\n/** @alpha */\nexport type TextBoxHandler = (textbox: HTMLInputElement) => void;\n\n/** @alpha */\nexport type TextBoxKeyPressHandler = (textbox: HTMLInputElement, ev: KeyboardEvent) => void;\n\n/** @alpha */\nexport interface TextBoxProps {\n label?: string;\n id?: string;\n parent?: HTMLElement;\n handler?: TextBoxHandler;\n keypresshandler?: TextBoxKeyPressHandler;\n focushandler?: TextBoxHandler;\n tooltip?: string;\n inline?: boolean;\n list?: string; // if defined, contains the id of a datalist to bind to this textbox for autocompletion\n}\n\n/** @alpha */\nexport function createTextBox(props: TextBoxProps): TextBox {\n const div = document.createElement(\"div\");\n if (true === props.inline)\n div.style.display = \"inline\";\n\n let label;\n if (undefined !== props.label) {\n label = document.createElement(\"label\");\n label.innerText = props.label;\n if (undefined !== props.id)\n label.htmlFor = props.id;\n\n div.appendChild(label);\n }\n\n const textbox = document.createElement(\"input\");\n textbox.type = \"text\";\n if (undefined !== props.id)\n textbox.id = props.id;\n\n div.appendChild(textbox);\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n const handler = props.handler;\n if (undefined !== handler) {\n textbox.onchange = () => handler(textbox);\n }\n\n // Don't want the document's listeners intepreting keypresses as keyboard shortcuts...\n const stopPropagation = (ev: KeyboardEvent) => ev.stopPropagation();\n textbox.onkeydown = textbox.onkeyup = stopPropagation;\n const keypresshandler = props.keypresshandler;\n if (undefined !== keypresshandler) {\n textbox.onkeypress = (ev: KeyboardEvent) => { // eslint-disable-line deprecation/deprecation\n keypresshandler(textbox, ev);\n ev.stopPropagation();\n };\n } else {\n textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation\n }\n\n const focushandler = props.focushandler;\n if (undefined !== focushandler) {\n textbox.onfocus = () => focushandler(textbox);\n }\n\n if (undefined !== props.list) {\n textbox.setAttribute(\"list\", props.list);\n }\n\n if (undefined !== props.tooltip)\n div.title = props.tooltip;\n\n return { label, textbox, div };\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import { Viewport } from "@itwin/core-frontend";
2
+ import { KeyinField } from "./KeyinField";
3
+ /** Options for configuring a [[DiagnosticsPanel]].
4
+ * @beta
5
+ */
6
+ export interface DiagnosticsPanelProps {
7
+ /** Widgets to exclude from the panel. */
8
+ exclude?: {
9
+ keyin?: boolean;
10
+ fps?: boolean;
11
+ tileStats?: boolean;
12
+ memory?: boolean;
13
+ tileMemoryBreakdown?: boolean;
14
+ gpuProfiler?: boolean;
15
+ toolSettings?: boolean;
16
+ };
17
+ }
18
+ /** Consolidates many other widgets into a single panel.
19
+ * @beta
20
+ */
21
+ export declare class DiagnosticsPanel {
22
+ private readonly _element;
23
+ private readonly _parentElement?;
24
+ private readonly _fpsTracker?;
25
+ private readonly _memoryTracker?;
26
+ private readonly _tileMemoryBreakdown?;
27
+ private readonly _statsTracker?;
28
+ private readonly _gpuProfiler?;
29
+ private readonly _toolSettingsTracker?;
30
+ readonly keyinField?: KeyinField;
31
+ constructor(vp: Viewport, props?: DiagnosticsPanelProps);
32
+ get element(): HTMLElement;
33
+ dispose(): void;
34
+ private addSeparator;
35
+ }
36
+ //# sourceMappingURL=DiagnosticsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagnosticsPanel.d.ts","sourceRoot":"","sources":["../../../src/widgets/DiagnosticsPanel.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;IAC5D,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;gBAErB,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,qBAAqB;IA+C9D,IAAW,OAAO,IAAI,WAAW,CAA0B;IAEpD,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1,72 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Widgets
7
+ */
8
+ import { dispose } from "@itwin/core-bentley";
9
+ import { FpsTracker } from "./FpsTracker";
10
+ import { GpuProfiler } from "./GpuProfiler";
11
+ import { KeyinField } from "./KeyinField";
12
+ import { MemoryTracker } from "./MemoryTracker";
13
+ import { TileMemoryBreakdown } from "./TileMemoryBreakdown";
14
+ import { TileStatisticsTracker } from "./TileStatisticsTracker";
15
+ import { ToolSettingsTracker } from "./ToolSettingsTracker";
16
+ /** Consolidates many other widgets into a single panel.
17
+ * @beta
18
+ */
19
+ export class DiagnosticsPanel {
20
+ constructor(vp, props) {
21
+ const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};
22
+ this._element = document.createElement("div");
23
+ this._element.className = "debugPanel";
24
+ if (true !== exclude.fps) {
25
+ this._fpsTracker = new FpsTracker(this._element, vp);
26
+ this.addSeparator();
27
+ }
28
+ if (true !== exclude.keyin) {
29
+ this.keyinField = new KeyinField({
30
+ parent: this._element,
31
+ baseId: "diagnosticsPanelKeyin",
32
+ wantButton: true,
33
+ wantLabel: true,
34
+ historyLength: 20,
35
+ });
36
+ this.addSeparator();
37
+ }
38
+ if (true !== exclude.tileStats) {
39
+ this._statsTracker = new TileStatisticsTracker(this._element, vp);
40
+ this.addSeparator();
41
+ }
42
+ if (true !== exclude.tileMemoryBreakdown) {
43
+ this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);
44
+ this.addSeparator();
45
+ }
46
+ if (true !== exclude.memory) {
47
+ this._memoryTracker = new MemoryTracker(this._element, vp);
48
+ this.addSeparator();
49
+ }
50
+ if (true !== exclude.gpuProfiler) {
51
+ this._gpuProfiler = new GpuProfiler(this._element);
52
+ this.addSeparator();
53
+ }
54
+ if (true !== exclude.toolSettings)
55
+ this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);
56
+ }
57
+ get element() { return this._element; }
58
+ dispose() {
59
+ dispose(this._fpsTracker);
60
+ dispose(this._memoryTracker);
61
+ dispose(this._tileMemoryBreakdown);
62
+ dispose(this._statsTracker);
63
+ dispose(this._gpuProfiler);
64
+ dispose(this._toolSettingsTracker);
65
+ if (undefined !== this._parentElement)
66
+ this._parentElement.removeChild(this._element);
67
+ }
68
+ addSeparator() {
69
+ this._element.appendChild(document.createElement("hr"));
70
+ }
71
+ }
72
+ //# sourceMappingURL=DiagnosticsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticsPanel.js","sourceRoot":"","sources":["../../src/widgets/DiagnosticsPanel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Widgets\n */\n\nimport { dispose } from \"@itwin/core-bentley\";\nimport { Viewport } from \"@itwin/core-frontend\";\nimport { FpsTracker } from \"./FpsTracker\";\nimport { GpuProfiler } from \"./GpuProfiler\";\nimport { KeyinField } from \"./KeyinField\";\nimport { MemoryTracker } from \"./MemoryTracker\";\nimport { TileMemoryBreakdown } from \"./TileMemoryBreakdown\";\nimport { TileStatisticsTracker } from \"./TileStatisticsTracker\";\nimport { ToolSettingsTracker } from \"./ToolSettingsTracker\";\n\n/** Options for configuring a [[DiagnosticsPanel]].\n * @beta\n */\nexport interface DiagnosticsPanelProps {\n /** Widgets to exclude from the panel. */\n exclude?: {\n keyin?: boolean;\n fps?: boolean;\n tileStats?: boolean;\n memory?: boolean;\n tileMemoryBreakdown?: boolean;\n gpuProfiler?: boolean;\n toolSettings?: boolean;\n };\n}\n\n/** Consolidates many other widgets into a single panel.\n * @beta\n */\nexport class DiagnosticsPanel {\n private readonly _element: HTMLElement;\n private readonly _parentElement?: HTMLElement;\n private readonly _fpsTracker?: FpsTracker;\n private readonly _memoryTracker?: MemoryTracker;\n private readonly _tileMemoryBreakdown?: TileMemoryBreakdown;\n private readonly _statsTracker?: TileStatisticsTracker;\n private readonly _gpuProfiler?: GpuProfiler;\n private readonly _toolSettingsTracker?: ToolSettingsTracker;\n public readonly keyinField?: KeyinField;\n\n public constructor(vp: Viewport, props?: DiagnosticsPanelProps) {\n const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};\n\n this._element = document.createElement(\"div\");\n this._element.className = \"debugPanel\";\n\n if (true !== exclude.fps) {\n this._fpsTracker = new FpsTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.keyin) {\n this.keyinField = new KeyinField({\n parent: this._element,\n baseId: \"diagnosticsPanelKeyin\",\n wantButton: true,\n wantLabel: true,\n historyLength: 20,\n });\n\n this.addSeparator();\n }\n\n if (true !== exclude.tileStats) {\n this._statsTracker = new TileStatisticsTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.tileMemoryBreakdown) {\n this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);\n this.addSeparator();\n }\n\n if (true !== exclude.memory) {\n this._memoryTracker = new MemoryTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.gpuProfiler) {\n this._gpuProfiler = new GpuProfiler(this._element);\n this.addSeparator();\n }\n\n if (true !== exclude.toolSettings)\n this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);\n }\n\n public get element(): HTMLElement { return this._element; }\n\n public dispose(): void {\n dispose(this._fpsTracker);\n dispose(this._memoryTracker);\n dispose(this._tileMemoryBreakdown);\n dispose(this._statsTracker);\n dispose(this._gpuProfiler);\n dispose(this._toolSettingsTracker);\n\n if (undefined !== this._parentElement)\n this._parentElement.removeChild(this._element);\n }\n\n private addSeparator(): void {\n this._element.appendChild(document.createElement(\"hr\")!);\n }\n}\n"]}
1
+ {"version":3,"file":"DiagnosticsPanel.js","sourceRoot":"","sources":["../../../src/widgets/DiagnosticsPanel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Widgets\n */\n\nimport { dispose } from \"@itwin/core-bentley\";\nimport { Viewport } from \"@itwin/core-frontend\";\nimport { FpsTracker } from \"./FpsTracker\";\nimport { GpuProfiler } from \"./GpuProfiler\";\nimport { KeyinField } from \"./KeyinField\";\nimport { MemoryTracker } from \"./MemoryTracker\";\nimport { TileMemoryBreakdown } from \"./TileMemoryBreakdown\";\nimport { TileStatisticsTracker } from \"./TileStatisticsTracker\";\nimport { ToolSettingsTracker } from \"./ToolSettingsTracker\";\n\n/** Options for configuring a [[DiagnosticsPanel]].\n * @beta\n */\nexport interface DiagnosticsPanelProps {\n /** Widgets to exclude from the panel. */\n exclude?: {\n keyin?: boolean;\n fps?: boolean;\n tileStats?: boolean;\n memory?: boolean;\n tileMemoryBreakdown?: boolean;\n gpuProfiler?: boolean;\n toolSettings?: boolean;\n };\n}\n\n/** Consolidates many other widgets into a single panel.\n * @beta\n */\nexport class DiagnosticsPanel {\n private readonly _element: HTMLElement;\n private readonly _parentElement?: HTMLElement;\n private readonly _fpsTracker?: FpsTracker;\n private readonly _memoryTracker?: MemoryTracker;\n private readonly _tileMemoryBreakdown?: TileMemoryBreakdown;\n private readonly _statsTracker?: TileStatisticsTracker;\n private readonly _gpuProfiler?: GpuProfiler;\n private readonly _toolSettingsTracker?: ToolSettingsTracker;\n public readonly keyinField?: KeyinField;\n\n public constructor(vp: Viewport, props?: DiagnosticsPanelProps) {\n const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};\n\n this._element = document.createElement(\"div\");\n this._element.className = \"debugPanel\";\n\n if (true !== exclude.fps) {\n this._fpsTracker = new FpsTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.keyin) {\n this.keyinField = new KeyinField({\n parent: this._element,\n baseId: \"diagnosticsPanelKeyin\",\n wantButton: true,\n wantLabel: true,\n historyLength: 20,\n });\n\n this.addSeparator();\n }\n\n if (true !== exclude.tileStats) {\n this._statsTracker = new TileStatisticsTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.tileMemoryBreakdown) {\n this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);\n this.addSeparator();\n }\n\n if (true !== exclude.memory) {\n this._memoryTracker = new MemoryTracker(this._element, vp);\n this.addSeparator();\n }\n\n if (true !== exclude.gpuProfiler) {\n this._gpuProfiler = new GpuProfiler(this._element);\n this.addSeparator();\n }\n\n if (true !== exclude.toolSettings)\n this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);\n }\n\n public get element(): HTMLElement { return this._element; }\n\n public dispose(): void {\n dispose(this._fpsTracker);\n dispose(this._memoryTracker);\n dispose(this._tileMemoryBreakdown);\n dispose(this._statsTracker);\n dispose(this._gpuProfiler);\n dispose(this._toolSettingsTracker);\n\n if (undefined !== this._parentElement)\n this._parentElement.removeChild(this._element);\n }\n\n private addSeparator(): void {\n this._element.appendChild(document.createElement(\"hr\")!);\n }\n}\n"]}
@@ -0,0 +1,20 @@
1
+ /** @packageDocumentation
2
+ * @module Widgets
3
+ */
4
+ import { Viewport } from "@itwin/core-frontend";
5
+ /** Displays average frames-per-second.
6
+ * NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
7
+ * @beta
8
+ */
9
+ export declare class FpsTracker {
10
+ private readonly _label;
11
+ private _metrics?;
12
+ private _curIntervalId?;
13
+ private readonly _vp;
14
+ constructor(parent: HTMLElement, viewport: Viewport);
15
+ dispose(): void;
16
+ private clearInterval;
17
+ private toggle;
18
+ private updateFPS;
19
+ }
20
+ //# sourceMappingURL=FpsTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FpsTracker.d.ts","sourceRoot":"","sources":["../../../src/widgets/FpsTracker.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAA8B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG5E;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;gBAEZ,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ;IAUnD,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,SAAS;CAKlB"}
@@ -0,0 +1,53 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Widgets
7
+ */
8
+ import { PerformanceMetrics } from "@itwin/core-frontend";
9
+ import { createCheckBox } from "../ui/CheckBox";
10
+ /** Displays average frames-per-second.
11
+ * NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.
12
+ * @beta
13
+ */
14
+ export class FpsTracker {
15
+ constructor(parent, viewport) {
16
+ this._vp = viewport;
17
+ this._label = createCheckBox({
18
+ parent,
19
+ name: "Track FPS",
20
+ id: "fpsTracker_toggle",
21
+ handler: (cb) => this.toggle(cb.checked),
22
+ }).label;
23
+ }
24
+ dispose() {
25
+ this.toggle(false);
26
+ }
27
+ clearInterval() {
28
+ if (undefined !== this._curIntervalId) {
29
+ clearInterval(this._curIntervalId);
30
+ this._curIntervalId = undefined;
31
+ }
32
+ }
33
+ toggle(enabled) {
34
+ this._vp.continuousRendering = enabled;
35
+ if (enabled) {
36
+ this._metrics = new PerformanceMetrics(false, true);
37
+ this._curIntervalId = setInterval(() => this.updateFPS(), 500);
38
+ this._label.innerText = "Tracking FPS...";
39
+ }
40
+ else {
41
+ this._metrics = undefined;
42
+ this.clearInterval();
43
+ this._label.innerText = "Track FPS";
44
+ }
45
+ this._vp.target.performanceMetrics = this._metrics;
46
+ }
47
+ updateFPS() {
48
+ const metrics = this._metrics;
49
+ const fps = (metrics.spfTimes.length / metrics.spfSum).toFixed(2);
50
+ this._label.innerText = `FPS: ${fps}`;
51
+ }
52
+ }
53
+ //# sourceMappingURL=FpsTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FpsTracker.js","sourceRoot":"","sources":["../../../src/widgets/FpsTracker.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAoB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,UAAU;IAMrB,YAAmB,MAAmB,EAAE,QAAkB;QACxD,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;YAC3B,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,mBAAmB;YACvB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;SACzC,CAAC,CAAC,KAAK,CAAC;IACX,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEO,aAAa;QACnB,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,EAAE;YACrC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;IACH,CAAC;IAEO,MAAM,CAAC,OAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACvC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;SACrC;QAEA,IAAI,CAAC,GAAG,CAAC,MAAiB,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjE,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAS,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Widgets\n */\n\nimport { PerformanceMetrics, Target, Viewport } from \"@itwin/core-frontend\";\nimport { createCheckBox } from \"../ui/CheckBox\";\n\n/** Displays average frames-per-second.\n * NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.\n * @beta\n */\nexport class FpsTracker {\n private readonly _label: HTMLLabelElement;\n private _metrics?: PerformanceMetrics;\n private _curIntervalId?: NodeJS.Timer;\n private readonly _vp: Viewport;\n\n public constructor(parent: HTMLElement, viewport: Viewport) {\n this._vp = viewport;\n this._label = createCheckBox({\n parent,\n name: \"Track FPS\",\n id: \"fpsTracker_toggle\",\n handler: (cb) => this.toggle(cb.checked),\n }).label;\n }\n\n public dispose(): void {\n this.toggle(false);\n }\n\n private clearInterval(): void {\n if (undefined !== this._curIntervalId) {\n clearInterval(this._curIntervalId);\n this._curIntervalId = undefined;\n }\n }\n\n private toggle(enabled: boolean): void {\n this._vp.continuousRendering = enabled;\n if (enabled) {\n this._metrics = new PerformanceMetrics(false, true);\n this._curIntervalId = setInterval(() => this.updateFPS(), 500);\n this._label.innerText = \"Tracking FPS...\";\n } else {\n this._metrics = undefined;\n this.clearInterval();\n this._label.innerText = \"Track FPS\";\n }\n\n (this._vp.target as Target).performanceMetrics = this._metrics;\n }\n\n private updateFPS(): void {\n const metrics = this._metrics!;\n const fps = (metrics.spfTimes.length / metrics.spfSum).toFixed(2);\n this._label.innerText = `FPS: ${fps}`;\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ /** @alpha */
2
+ export declare class GpuProfiler {
3
+ private readonly _div;
4
+ private readonly _resultsDiv;
5
+ private readonly _results;
6
+ private readonly _debugControl;
7
+ private readonly _recordButton;
8
+ private _recordedResults;
9
+ private _isRecording;
10
+ constructor(parent: HTMLElement);
11
+ dispose(): void;
12
+ private toggleProfileCheckBox;
13
+ private _clickRecord;
14
+ private stopRecording;
15
+ private _resultsCallback;
16
+ }
17
+ //# sourceMappingURL=GpuProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GpuProfiler.d.ts","sourceRoot":"","sources":["../../../src/widgets/GpuProfiler.ts"],"names":[],"mappings":"AA2FA,aAAa;AACb,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IAEzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,YAAY,CAAU;gBAEX,MAAM,EAAE,WAAW;IAmC/B,OAAO,IAAI,IAAI;IAItB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,gBAAgB,CA0EtB;CACH"}