@itwin/frontend-devtools 4.10.0-dev.8 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/lib/cjs/ClipboardUtilities.js +2 -3
  3. package/lib/cjs/ClipboardUtilities.js.map +1 -1
  4. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  5. package/lib/cjs/effects/Convolution.js +17 -17
  6. package/lib/cjs/effects/Convolution.js.map +1 -1
  7. package/lib/cjs/effects/EffectTools.js +2 -2
  8. package/lib/cjs/effects/EffectTools.js.map +1 -1
  9. package/lib/cjs/effects/Explosion.js.map +1 -1
  10. package/lib/cjs/effects/FlipImage.js +20 -20
  11. package/lib/cjs/effects/FlipImage.js.map +1 -1
  12. package/lib/cjs/effects/LensDistortion.js +21 -21
  13. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  14. package/lib/cjs/effects/Random.js +5 -6
  15. package/lib/cjs/effects/Random.js.map +1 -1
  16. package/lib/cjs/effects/Saturation.js +26 -26
  17. package/lib/cjs/effects/Saturation.js.map +1 -1
  18. package/lib/cjs/effects/Snow.js.map +1 -1
  19. package/lib/cjs/effects/Vignette.js +29 -29
  20. package/lib/cjs/effects/Vignette.js.map +1 -1
  21. package/lib/cjs/frontend-devtools.js.map +1 -1
  22. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  23. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  24. package/lib/cjs/tools/ClipTools.js.map +1 -1
  25. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  26. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  27. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  28. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  29. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  30. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  31. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  32. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  33. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  34. package/lib/cjs/tools/ProjectExtents.js +2 -2
  35. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  36. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  37. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  38. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  39. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  40. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  41. package/lib/cjs/tools/SavedViews.js +3 -3
  42. package/lib/cjs/tools/SavedViews.js.map +1 -1
  43. package/lib/cjs/tools/ScheduleScriptTools.js +1 -1
  44. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  45. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  46. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  47. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  48. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  49. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  50. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  51. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  52. package/lib/cjs/tools/parseArgs.js +1 -2
  53. package/lib/cjs/tools/parseArgs.js.map +1 -1
  54. package/lib/cjs/tools/parseBoolean.js +1 -2
  55. package/lib/cjs/tools/parseBoolean.js.map +1 -1
  56. package/lib/cjs/tools/parseToggle.js +1 -2
  57. package/lib/cjs/tools/parseToggle.js.map +1 -1
  58. package/lib/cjs/ui/Button.js +1 -2
  59. package/lib/cjs/ui/Button.js.map +1 -1
  60. package/lib/cjs/ui/CheckBox.js +1 -2
  61. package/lib/cjs/ui/CheckBox.js.map +1 -1
  62. package/lib/cjs/ui/ColorInput.js +3 -4
  63. package/lib/cjs/ui/ColorInput.js.map +1 -1
  64. package/lib/cjs/ui/ComboBox.js +1 -2
  65. package/lib/cjs/ui/ComboBox.js.map +1 -1
  66. package/lib/cjs/ui/DataList.js +2 -3
  67. package/lib/cjs/ui/DataList.js.map +1 -1
  68. package/lib/cjs/ui/NestedMenu.js +1 -2
  69. package/lib/cjs/ui/NestedMenu.js.map +1 -1
  70. package/lib/cjs/ui/NumericInput.js +3 -4
  71. package/lib/cjs/ui/NumericInput.js.map +1 -1
  72. package/lib/cjs/ui/RadioBox.js +3 -4
  73. package/lib/cjs/ui/RadioBox.js.map +1 -1
  74. package/lib/cjs/ui/Slider.d.ts +2 -0
  75. package/lib/cjs/ui/Slider.d.ts.map +1 -1
  76. package/lib/cjs/ui/Slider.js +7 -2
  77. package/lib/cjs/ui/Slider.js.map +1 -1
  78. package/lib/cjs/ui/TextBox.js +2 -3
  79. package/lib/cjs/ui/TextBox.js.map +1 -1
  80. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  81. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  82. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  83. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  84. package/lib/cjs/widgets/MemoryTracker.js +2 -2
  85. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  86. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  87. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  88. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  89. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  90. package/lib/esm/ClipboardUtilities.js +1 -1
  91. package/lib/esm/ClipboardUtilities.js.map +1 -1
  92. package/lib/esm/FrontEndDevTools.js.map +1 -1
  93. package/lib/esm/effects/Convolution.js +17 -17
  94. package/lib/esm/effects/Convolution.js.map +1 -1
  95. package/lib/esm/effects/EffectTools.js.map +1 -1
  96. package/lib/esm/effects/Explosion.js.map +1 -1
  97. package/lib/esm/effects/FlipImage.js +20 -20
  98. package/lib/esm/effects/FlipImage.js.map +1 -1
  99. package/lib/esm/effects/LensDistortion.js +21 -21
  100. package/lib/esm/effects/LensDistortion.js.map +1 -1
  101. package/lib/esm/effects/Random.js.map +1 -1
  102. package/lib/esm/effects/Saturation.js +26 -26
  103. package/lib/esm/effects/Saturation.js.map +1 -1
  104. package/lib/esm/effects/Snow.js.map +1 -1
  105. package/lib/esm/effects/Vignette.js +29 -29
  106. package/lib/esm/effects/Vignette.js.map +1 -1
  107. package/lib/esm/frontend-devtools.js.map +1 -1
  108. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  109. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  110. package/lib/esm/tools/ClipTools.js.map +1 -1
  111. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  112. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  113. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  114. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  115. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  116. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  117. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  118. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  119. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  120. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  121. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  122. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  123. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  124. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  125. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  126. package/lib/esm/tools/SavedViews.js.map +1 -1
  127. package/lib/esm/tools/ScheduleScriptTools.js +1 -1
  128. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  129. package/lib/esm/tools/SelectionTools.js.map +1 -1
  130. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  131. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  132. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  133. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  134. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  135. package/lib/esm/tools/ViewportTools.js.map +1 -1
  136. package/lib/esm/tools/parseArgs.js.map +1 -1
  137. package/lib/esm/tools/parseBoolean.js.map +1 -1
  138. package/lib/esm/tools/parseToggle.js.map +1 -1
  139. package/lib/esm/ui/Button.js.map +1 -1
  140. package/lib/esm/ui/CheckBox.js.map +1 -1
  141. package/lib/esm/ui/ColorInput.js +1 -1
  142. package/lib/esm/ui/ColorInput.js.map +1 -1
  143. package/lib/esm/ui/ComboBox.js.map +1 -1
  144. package/lib/esm/ui/DataList.js.map +1 -1
  145. package/lib/esm/ui/NestedMenu.js.map +1 -1
  146. package/lib/esm/ui/NumericInput.js +1 -1
  147. package/lib/esm/ui/NumericInput.js.map +1 -1
  148. package/lib/esm/ui/RadioBox.js +2 -2
  149. package/lib/esm/ui/RadioBox.js.map +1 -1
  150. package/lib/esm/ui/Slider.d.ts +2 -0
  151. package/lib/esm/ui/Slider.d.ts.map +1 -1
  152. package/lib/esm/ui/Slider.js +5 -0
  153. package/lib/esm/ui/Slider.js.map +1 -1
  154. package/lib/esm/ui/TextBox.js +1 -1
  155. package/lib/esm/ui/TextBox.js.map +1 -1
  156. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  157. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  158. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  159. package/lib/esm/widgets/KeyinField.js.map +1 -1
  160. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  161. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  162. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  163. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  164. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  165. package/lib/public/locales/en/FrontendDevTools.json +494 -494
  166. package/package.json +10 -10
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createButton = void 0;
7
+ exports.createButton = createButton;
8
8
  /** Creates a Button as specified by the ButtonProps.
9
9
  * @alpha
10
10
  */
@@ -23,5 +23,4 @@ function createButton(props) {
23
23
  props.parent.appendChild(div);
24
24
  return { button, div };
25
25
  }
26
- exports.createButton = createButton;
27
26
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/ui/Button.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AA+B/F;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,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,EAAE;QACxB,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAjBD,oCAiBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** Wraps an HTML button\r\n * @alpha\r\n */\r\nexport interface Button {\r\n button: HTMLInputElement;\r\n div: HTMLElement;\r\n}\r\n\r\n/** Callback invoked by Button when clicked.\r\n * @alpha\r\n */\r\nexport type ButtonHandler = (button: HTMLInputElement) => void;\r\n\r\n/** Describes how to create a Button.\r\n * @alpha\r\n */\r\nexport interface ButtonProps {\r\n handler: ButtonHandler;\r\n id?: string;\r\n parent?: HTMLElement;\r\n value: string;\r\n inline?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\n/** Creates a Button as specified by the ButtonProps.\r\n * @alpha\r\n */\r\nexport function createButton(props: ButtonProps): Button {\r\n const div = document.createElement(props.inline ? \"span\" : \"div\");\r\n\r\n const button = document.createElement(\"input\");\r\n button.type = \"button\";\r\n button.value = props.value;\r\n button.addEventListener(\"click\", () => props.handler(button));\r\n div.appendChild(button);\r\n\r\n if (undefined !== props.id)\r\n button.id = props.id;\r\n if (undefined !== props.tooltip)\r\n div.title = props.tooltip;\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n return { button, div };\r\n}\r\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/ui/Button.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAkC/F,oCAiBC;AApBD;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,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,EAAE;QACxB,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,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 button\n * @alpha\n */\nexport interface Button {\n button: HTMLInputElement;\n div: HTMLElement;\n}\n\n/** Callback invoked by Button when clicked.\n * @alpha\n */\nexport type ButtonHandler = (button: HTMLInputElement) => void;\n\n/** Describes how to create a Button.\n * @alpha\n */\nexport interface ButtonProps {\n handler: ButtonHandler;\n id?: string;\n parent?: HTMLElement;\n value: string;\n inline?: boolean;\n tooltip?: string;\n}\n\n/** Creates a Button as specified by the ButtonProps.\n * @alpha\n */\nexport function createButton(props: ButtonProps): Button {\n const div = document.createElement(props.inline ? \"span\" : \"div\");\n\n const button = document.createElement(\"input\");\n button.type = \"button\";\n button.value = props.value;\n button.addEventListener(\"click\", () => props.handler(button));\n div.appendChild(button);\n\n if (undefined !== props.id)\n button.id = props.id;\n if (undefined !== props.tooltip)\n div.title = props.tooltip;\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n return { button, div };\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createCheckBox = void 0;
7
+ exports.createCheckBox = createCheckBox;
8
8
  /** @alpha */
9
9
  function createCheckBox(props) {
10
10
  const div = document.createElement("div");
@@ -24,5 +24,4 @@ function createCheckBox(props) {
24
24
  div.title = props.tooltip;
25
25
  return { label, checkbox, div };
26
26
  }
27
- exports.createCheckBox = createCheckBox;
28
27
  //# sourceMappingURL=CheckBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../../../src/ui/CheckBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AA2B/F,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE1B,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,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC;AAtBD,wCAsBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport interface CheckBox {\r\n label: HTMLLabelElement;\r\n checkbox: HTMLInputElement;\r\n div: HTMLDivElement;\r\n}\r\n\r\n/** @alpha */\r\nexport type CheckBoxHandler = (checkbox: HTMLInputElement) => void;\r\n\r\n/** @alpha */\r\nexport interface CheckBoxProps {\r\n name: string;\r\n handler: CheckBoxHandler;\r\n id: string;\r\n parent?: HTMLElement;\r\n isChecked?: boolean;\r\n typeOverride?: string;\r\n tooltip?: string;\r\n}\r\n\r\n/** @alpha */\r\nexport function createCheckBox(props: CheckBoxProps): CheckBox {\r\n const div = document.createElement(\"div\");\r\n\r\n const checkbox = document.createElement(\"input\");\r\n checkbox.type = props.typeOverride ? props.typeOverride : \"checkbox\";\r\n checkbox.id = props.id;\r\n checkbox.checked = !!props.isChecked;\r\n checkbox.addEventListener(\"click\", () => props.handler(checkbox));\r\n div.appendChild(checkbox);\r\n\r\n const label = document.createElement(\"label\");\r\n label.htmlFor = props.id;\r\n label.innerText = props.name;\r\n div.appendChild(label);\r\n\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n if (undefined !== props.tooltip)\r\n div.title = props.tooltip;\r\n\r\n return { label, checkbox, div };\r\n}\r\n"]}
1
+ {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../../../src/ui/CheckBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AA4B/F,wCAsBC;AAvBD,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE1B,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,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAClC,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 CheckBox {\n label: HTMLLabelElement;\n checkbox: HTMLInputElement;\n div: HTMLDivElement;\n}\n\n/** @alpha */\nexport type CheckBoxHandler = (checkbox: HTMLInputElement) => void;\n\n/** @alpha */\nexport interface CheckBoxProps {\n name: string;\n handler: CheckBoxHandler;\n id: string;\n parent?: HTMLElement;\n isChecked?: boolean;\n typeOverride?: string;\n tooltip?: string;\n}\n\n/** @alpha */\nexport function createCheckBox(props: CheckBoxProps): CheckBox {\n const div = document.createElement(\"div\");\n\n const checkbox = document.createElement(\"input\");\n checkbox.type = props.typeOverride ? props.typeOverride : \"checkbox\";\n checkbox.id = props.id;\n checkbox.checked = !!props.isChecked;\n checkbox.addEventListener(\"click\", () => props.handler(checkbox));\n div.appendChild(checkbox);\n\n const label = document.createElement(\"label\");\n label.htmlFor = props.id;\n label.innerText = props.name;\n div.appendChild(label);\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n if (undefined !== props.tooltip)\n div.title = props.tooltip;\n\n return { label, checkbox, div };\n}\n"]}
@@ -7,7 +7,8 @@
7
7
  * @module Controls
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.createColorInput = exports.convertHexToRgb = void 0;
10
+ exports.convertHexToRgb = convertHexToRgb;
11
+ exports.createColorInput = createColorInput;
11
12
  const core_common_1 = require("@itwin/core-common");
12
13
  /** @alpha */
13
14
  function convertHexToRgb(hex) {
@@ -15,7 +16,6 @@ function convertHexToRgb(hex) {
15
16
  const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
16
17
  return result ? new core_common_1.RgbColor(parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)) : undefined;
17
18
  }
18
- exports.convertHexToRgb = convertHexToRgb;
19
19
  /** @alpha */
20
20
  function createColorInput(props) {
21
21
  const inputDiv = document.createElement("div");
@@ -27,7 +27,7 @@ function createColorInput(props) {
27
27
  const value = colorInput.value;
28
28
  props.handler(value);
29
29
  }
30
- catch (_ex) {
30
+ catch {
31
31
  //
32
32
  }
33
33
  };
@@ -50,5 +50,4 @@ function createColorInput(props) {
50
50
  props.parent.appendChild(inputDiv);
51
51
  return undefined !== colorLabel ? { div: inputDiv, input: colorInput, label: colorLabel } : { div: inputDiv, input: colorInput };
52
52
  }
53
- exports.createColorInput = createColorInput;
54
53
  //# sourceMappingURL=ColorInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorInput.js","sourceRoot":"","sources":["../../../src/ui/ColorInput.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAA8C;AAwB9C,aAAa;AACb,SAAgB,eAAe,CAAC,GAAW;IACzC,kDAAkD;IAClD,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,sBAAQ,CAC1B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,CAAC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AARD,0CAQC;AAED,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAAsB;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;IAC1B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE/B,UAAU,CAAC,QAAQ,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,EAAE;QACJ,CAAC;IACH,CAAC,CAAC;IACF,IAAI,UAA4B,CAAC;IAEjC,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;QACzC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACzC,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAC3B,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,CAAC,QAAQ;QAC9B,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvC,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,SAAS,KAAK,UAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrI,CAAC;AArCD,4CAqCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\nimport { RgbColor } from \"@itwin/core-common\";\r\n\r\n/** @alpha */\r\nexport type ColorInputHandler = (value: string) => void;\r\n\r\n/** @alpha */\r\nexport interface ColorInputProps {\r\n handler: ColorInputHandler;\r\n value: string;\r\n id?: string;\r\n label?: string;\r\n parent?: HTMLElement;\r\n display?: \"inline\" | \"none\" | \"block\";\r\n disabled?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\n/** @alpha */\r\nexport interface ColorInput {\r\n div: HTMLDivElement;\r\n input: HTMLInputElement;\r\n label?: HTMLLabelElement;\r\n}\r\n\r\n/** @alpha */\r\nexport function convertHexToRgb(hex: string): RgbColor | undefined {\r\n // Parse a hex color string formatted as \"#FFFFFF\"\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? new RgbColor(\r\n parseInt(result[1], 16),\r\n parseInt(result[2], 16),\r\n parseInt(result[3], 16),\r\n ) : undefined;\r\n}\r\n\r\n/** @alpha */\r\nexport function createColorInput(props: ColorInputProps): ColorInput {\r\n\r\n const inputDiv = document.createElement(\"div\");\r\n\r\n const colorInput = document.createElement(\"input\");\r\n colorInput.type = \"color\";\r\n colorInput.value = props.value;\r\n\r\n colorInput.onchange = () => {\r\n try {\r\n const value = colorInput.value;\r\n props.handler(value);\r\n } catch (_ex) {\r\n //\r\n }\r\n };\r\n let colorLabel: HTMLLabelElement;\r\n\r\n if (undefined !== props.label) {\r\n colorLabel = document.createElement(\"label\");\r\n colorLabel.innerText = `${props.label} `;\r\n inputDiv.appendChild(colorLabel);\r\n }\r\n inputDiv.appendChild(colorInput);\r\n\r\n if (undefined !== props.display)\r\n inputDiv.style.display = props.display;\r\n if (undefined !== props.id)\r\n colorInput.id = props.id;\r\n if (undefined !== props.tooltip)\r\n colorInput.title = props.tooltip;\r\n if (undefined !== props.disabled)\r\n colorInput.disabled = props.disabled;\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(inputDiv);\r\n\r\n return undefined !== colorLabel! ? { div: inputDiv, input: colorInput, label: colorLabel! } : { div: inputDiv, input: colorInput };\r\n}\r\n"]}
1
+ {"version":3,"file":"ColorInput.js","sourceRoot":"","sources":["../../../src/ui/ColorInput.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AA2BH,0CAQC;AAGD,4CAqCC;AAzED,oDAA8C;AAwB9C,aAAa;AACb,SAAgB,eAAe,CAAC,GAAW;IACzC,kDAAkD;IAClD,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,sBAAQ,CAC1B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,CAAC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAAsB;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;IAC1B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE/B,UAAU,CAAC,QAAQ,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;IACH,CAAC,CAAC;IACF,IAAI,UAA4B,CAAC;IAEjC,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;QACzC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACzC,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAC3B,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,CAAC,QAAQ;QAC9B,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvC,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,SAAS,KAAK,UAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrI,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/** @packageDocumentation\n * @module Controls\n */\n\nimport { RgbColor } from \"@itwin/core-common\";\n\n/** @alpha */\nexport type ColorInputHandler = (value: string) => void;\n\n/** @alpha */\nexport interface ColorInputProps {\n handler: ColorInputHandler;\n value: string;\n id?: string;\n label?: string;\n parent?: HTMLElement;\n display?: \"inline\" | \"none\" | \"block\";\n disabled?: boolean;\n tooltip?: string;\n}\n\n/** @alpha */\nexport interface ColorInput {\n div: HTMLDivElement;\n input: HTMLInputElement;\n label?: HTMLLabelElement;\n}\n\n/** @alpha */\nexport function convertHexToRgb(hex: string): RgbColor | undefined {\n // Parse a hex color string formatted as \"#FFFFFF\"\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? new RgbColor(\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n ) : undefined;\n}\n\n/** @alpha */\nexport function createColorInput(props: ColorInputProps): ColorInput {\n\n const inputDiv = document.createElement(\"div\");\n\n const colorInput = document.createElement(\"input\");\n colorInput.type = \"color\";\n colorInput.value = props.value;\n\n colorInput.onchange = () => {\n try {\n const value = colorInput.value;\n props.handler(value);\n } catch {\n //\n }\n };\n let colorLabel: HTMLLabelElement;\n\n if (undefined !== props.label) {\n colorLabel = document.createElement(\"label\");\n colorLabel.innerText = `${props.label} `;\n inputDiv.appendChild(colorLabel);\n }\n inputDiv.appendChild(colorInput);\n\n if (undefined !== props.display)\n inputDiv.style.display = props.display;\n if (undefined !== props.id)\n colorInput.id = props.id;\n if (undefined !== props.tooltip)\n colorInput.title = props.tooltip;\n if (undefined !== props.disabled)\n colorInput.disabled = props.disabled;\n if (undefined !== props.parent)\n props.parent.appendChild(inputDiv);\n\n return undefined !== colorLabel! ? { div: inputDiv, input: colorInput, label: colorLabel! } : { div: inputDiv, input: colorInput };\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createComboBox = void 0;
7
+ exports.createComboBox = createComboBox;
8
8
  function _appendComboBoxEntry(select, entry) {
9
9
  const option = document.createElement("option");
10
10
  option.innerText = entry.name;
@@ -39,5 +39,4 @@ function createComboBox(props) {
39
39
  props.parent.appendChild(div);
40
40
  return { div, label, select };
41
41
  }
42
- exports.createComboBox = createComboBox;
43
42
  //# sourceMappingURL=ComboBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../../../src/ui/ComboBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAiC/F,SAAS,oBAAoB,CAAC,MAAyB,EAAE,KAAoB;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAmC,CAAC;IACxC,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAErB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAExC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,OAAO;QACvB,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAjCD,wCAiCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport interface ComboBoxEntry {\r\n name: string;\r\n value: number | string | undefined;\r\n}\r\n\r\n/** @alpha */\r\nexport type ComboBoxHandler = (select: HTMLSelectElement) => void;\r\n\r\n/** @alpha */\r\nexport interface ComboBoxProps {\r\n name?: string;\r\n id: string;\r\n entries: ComboBoxEntry[];\r\n parent?: HTMLElement;\r\n handler?: ComboBoxHandler;\r\n value?: number | string;\r\n tooltip?: string;\r\n}\r\n\r\n/** @alpha */\r\nexport interface ComboBox {\r\n label?: HTMLLabelElement;\r\n select: HTMLSelectElement;\r\n div: HTMLDivElement;\r\n}\r\n\r\nfunction _appendComboBoxEntry(select: HTMLSelectElement, entry: ComboBoxEntry) {\r\n const option = document.createElement(\"option\");\r\n option.innerText = entry.name;\r\n if (undefined !== entry.value)\r\n option.value = entry.value.toString();\r\n select.appendChild(option);\r\n}\r\n\r\n/** @alpha */\r\nexport function createComboBox(props: ComboBoxProps): ComboBox {\r\n const div = document.createElement(\"div\");\r\n\r\n let label: HTMLLabelElement | undefined;\r\n if (undefined !== props.name) {\r\n label = document.createElement(\"label\");\r\n label.htmlFor = props.id;\r\n label.innerText = props.name;\r\n div.appendChild(label);\r\n }\r\n\r\n const select = document.createElement(\"select\");\r\n select.id = props.id;\r\n\r\n for (const entry of props.entries) {\r\n _appendComboBoxEntry(select, entry);\r\n }\r\n\r\n if (undefined !== props.value)\r\n select.value = props.value.toString();\r\n\r\n const handler = props.handler;\r\n if (undefined !== handler)\r\n select.onchange = () => handler(select);\r\n\r\n if (undefined !== props.tooltip)\r\n div.title = props.tooltip;\r\n\r\n div.appendChild(select);\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n return { div, label, select };\r\n}\r\n"]}
1
+ {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../../../src/ui/ComboBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AA0C/F,wCAiCC;AA1CD,SAAS,oBAAoB,CAAC,MAAyB,EAAE,KAAoB;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAmC,CAAC;IACxC,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAErB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAExC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,OAAO;QACvB,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,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 ComboBoxEntry {\n name: string;\n value: number | string | undefined;\n}\n\n/** @alpha */\nexport type ComboBoxHandler = (select: HTMLSelectElement) => void;\n\n/** @alpha */\nexport interface ComboBoxProps {\n name?: string;\n id: string;\n entries: ComboBoxEntry[];\n parent?: HTMLElement;\n handler?: ComboBoxHandler;\n value?: number | string;\n tooltip?: string;\n}\n\n/** @alpha */\nexport interface ComboBox {\n label?: HTMLLabelElement;\n select: HTMLSelectElement;\n div: HTMLDivElement;\n}\n\nfunction _appendComboBoxEntry(select: HTMLSelectElement, entry: ComboBoxEntry) {\n const option = document.createElement(\"option\");\n option.innerText = entry.name;\n if (undefined !== entry.value)\n option.value = entry.value.toString();\n select.appendChild(option);\n}\n\n/** @alpha */\nexport function createComboBox(props: ComboBoxProps): ComboBox {\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 select = document.createElement(\"select\");\n select.id = props.id;\n\n for (const entry of props.entries) {\n _appendComboBoxEntry(select, entry);\n }\n\n if (undefined !== props.value)\n select.value = props.value.toString();\n\n const handler = props.handler;\n if (undefined !== handler)\n select.onchange = () => handler(select);\n\n if (undefined !== props.tooltip)\n div.title = props.tooltip;\n\n div.appendChild(select);\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n return { div, label, select };\n}\n"]}
@@ -4,7 +4,8 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createDataList = exports.appendDataListEntries = void 0;
7
+ exports.appendDataListEntries = appendDataListEntries;
8
+ exports.createDataList = createDataList;
8
9
  function _appendDataListEntry(list, entry) {
9
10
  const option = document.createElement("option");
10
11
  if (undefined !== entry.value)
@@ -17,7 +18,6 @@ function appendDataListEntries(dl, entries) {
17
18
  _appendDataListEntry(dl.list, entry);
18
19
  }
19
20
  }
20
- exports.appendDataListEntries = appendDataListEntries;
21
21
  /** @alpha */
22
22
  function createDataList(props) {
23
23
  const list = document.createElement("datalist");
@@ -36,5 +36,4 @@ function createDataList(props) {
36
36
  props.parent.appendChild(div);
37
37
  return { div, list };
38
38
  }
39
- exports.createDataList = createDataList;
40
39
  //# sourceMappingURL=DataList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.js","sourceRoot":"","sources":["../../../src/ui/DataList.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AA8B/F,SAAS,oBAAoB,CAAC,IAAyB,EAAE,KAAoB;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,aAAa;AACb,SAAgB,qBAAqB,CAAC,EAAY,EAAE,OAAwB;IAC1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAJD,sDAIC;AAED,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,OAAO;QACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM;QACd,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AArBD,wCAqBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport interface DataListEntry {\r\n value: number | string | undefined;\r\n}\r\n\r\n/** @alpha */\r\nexport type DataListHandler = (list: HTMLDataListElement) => void;\r\n\r\n/** @alpha */\r\nexport interface DataListProps {\r\n name?: string;\r\n id: string;\r\n entries: DataListEntry[];\r\n parent?: HTMLElement;\r\n handler?: DataListHandler;\r\n inline?: boolean;\r\n}\r\n\r\n/** @alpha */\r\nexport interface DataList {\r\n list: HTMLDataListElement;\r\n div: HTMLDivElement;\r\n}\r\n\r\nfunction _appendDataListEntry(list: HTMLDataListElement, entry: DataListEntry) {\r\n const option = document.createElement(\"option\");\r\n if (undefined !== entry.value)\r\n option.value = entry.value.toString();\r\n list.appendChild(option);\r\n}\r\n\r\n/** @alpha */\r\nexport function appendDataListEntries(dl: DataList, entries: DataListEntry[]) {\r\n for (const entry of entries) {\r\n _appendDataListEntry(dl.list, entry);\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport function createDataList(props: DataListProps): DataList {\r\n const list = document.createElement(\"datalist\");\r\n list.id = props.id;\r\n\r\n for (const entry of props.entries) {\r\n _appendDataListEntry(list, entry);\r\n }\r\n\r\n const handler = props.handler;\r\n if (undefined !== handler)\r\n list.onselect = () => handler(list);\r\n\r\n const div = document.createElement(\"div\");\r\n if (props.inline)\r\n div.style.display = \"inline\";\r\n\r\n div.appendChild(list);\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n return { div, list };\r\n}\r\n"]}
1
+ {"version":3,"file":"DataList.js","sourceRoot":"","sources":["../../../src/ui/DataList.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAsC/F,sDAIC;AAGD,wCAqBC;AApCD,SAAS,oBAAoB,CAAC,IAAyB,EAAE,KAAoB;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,aAAa;AACb,SAAgB,qBAAqB,CAAC,EAAY,EAAE,OAAwB;IAC1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,aAAa;AACb,SAAgB,cAAc,CAAC,KAAoB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEnB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,OAAO;QACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM;QACd,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,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 DataListEntry {\n value: number | string | undefined;\n}\n\n/** @alpha */\nexport type DataListHandler = (list: HTMLDataListElement) => void;\n\n/** @alpha */\nexport interface DataListProps {\n name?: string;\n id: string;\n entries: DataListEntry[];\n parent?: HTMLElement;\n handler?: DataListHandler;\n inline?: boolean;\n}\n\n/** @alpha */\nexport interface DataList {\n list: HTMLDataListElement;\n div: HTMLDivElement;\n}\n\nfunction _appendDataListEntry(list: HTMLDataListElement, entry: DataListEntry) {\n const option = document.createElement(\"option\");\n if (undefined !== entry.value)\n option.value = entry.value.toString();\n list.appendChild(option);\n}\n\n/** @alpha */\nexport function appendDataListEntries(dl: DataList, entries: DataListEntry[]) {\n for (const entry of entries) {\n _appendDataListEntry(dl.list, entry);\n }\n}\n\n/** @alpha */\nexport function createDataList(props: DataListProps): DataList {\n const list = document.createElement(\"datalist\");\n list.id = props.id;\n\n for (const entry of props.entries) {\n _appendDataListEntry(list, entry);\n }\n\n const handler = props.handler;\n if (undefined !== handler)\n list.onselect = () => handler(list);\n\n const div = document.createElement(\"div\");\n if (props.inline)\n div.style.display = \"inline\";\n\n div.appendChild(list);\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n return { div, list };\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createNestedMenu = void 0;
7
+ exports.createNestedMenu = createNestedMenu;
8
8
  /** @packageDocumentation
9
9
  * @module Controls
10
10
  */
@@ -43,5 +43,4 @@ function createNestedMenu(props) {
43
43
  div.id = props.id;
44
44
  return { body, label, div };
45
45
  }
46
- exports.createNestedMenu = createNestedMenu;
47
46
  //# sourceMappingURL=NestedMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NestedMenu.js","sourceRoot":"","sources":["../../../src/ui/NestedMenu.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,qCAAwC;AAsBxC,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAAsB;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE7C,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAE5B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,UAAU,GAAG,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,MAAM,gBAAgB,GAAG,IAAA,qBAAY,EAAC;QACpC,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,UAAU,GAAG,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;YAC7B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAE9C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9B,CAAC;AAzCD,4CAyCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\nimport { createButton } from \"./Button\";\r\n\r\n/** @alpha */\r\nexport type NestMenuHandler = (expanded: boolean) => void;\r\n\r\n/** @alpha */\r\nexport interface NestedMenuProps {\r\n id?: string;\r\n label?: string;\r\n parent?: HTMLElement;\r\n expand?: boolean;\r\n handler?: NestMenuHandler;\r\n body?: HTMLElement;\r\n}\r\n\r\n/** @alpha */\r\nexport interface NestedMenu {\r\n div: HTMLDivElement;\r\n label: HTMLLabelElement;\r\n body: HTMLElement;\r\n}\r\n\r\n/** @alpha */\r\nexport function createNestedMenu(props: NestedMenuProps): NestedMenu {\r\n const div = document.createElement(\"div\");\r\n const body = undefined !== props.body ? props.body : document.createElement(\"div\");\r\n const header = document.createElement(\"div\");\r\n\r\n div.appendChild(header);\r\n div.appendChild(body);\r\n header.style.width = \"100%\";\r\n\r\n const label = document.createElement(\"label\");\r\n label.innerText = undefined !== props.label ? props.label : \"\";\r\n header.appendChild(label);\r\n\r\n let isExpanded = undefined !== props.expand ? props.expand : false;\r\n body.style.display = isExpanded ? \"block\" : \"none\";\r\n\r\n const toggleMenuButton = createButton({\r\n parent: header,\r\n inline: true,\r\n value: isExpanded ? \"-\" : \"+\",\r\n handler: () => undefined,\r\n });\r\n\r\n header.onclick = () => {\r\n isExpanded = !isExpanded;\r\n body.style.display = isExpanded ? \"block\" : \"none\";\r\n toggleMenuButton.button.value = isExpanded ? \"-\" : \"+\";\r\n if (undefined !== props.handler)\r\n props.handler(isExpanded);\r\n };\r\n\r\n toggleMenuButton.div.style.cssFloat = \"right\";\r\n\r\n header.appendChild(document.createElement(\"hr\"));\r\n\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n if (undefined !== props.id)\r\n div.id = props.id;\r\n\r\n return { body, label, div };\r\n}\r\n"]}
1
+ {"version":3,"file":"NestedMenu.js","sourceRoot":"","sources":["../../../src/ui/NestedMenu.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AA6B/F,4CAyCC;AApED;;GAEG;AAEH,qCAAwC;AAsBxC,aAAa;AACb,SAAgB,gBAAgB,CAAC,KAAsB;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE7C,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAE5B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,UAAU,GAAG,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,MAAM,gBAAgB,GAAG,IAAA,qBAAY,EAAC;QACpC,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,UAAU,GAAG,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,gBAAgB,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvD,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;YAC7B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IAE9C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAEpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9B,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\nimport { createButton } from \"./Button\";\n\n/** @alpha */\nexport type NestMenuHandler = (expanded: boolean) => void;\n\n/** @alpha */\nexport interface NestedMenuProps {\n id?: string;\n label?: string;\n parent?: HTMLElement;\n expand?: boolean;\n handler?: NestMenuHandler;\n body?: HTMLElement;\n}\n\n/** @alpha */\nexport interface NestedMenu {\n div: HTMLDivElement;\n label: HTMLLabelElement;\n body: HTMLElement;\n}\n\n/** @alpha */\nexport function createNestedMenu(props: NestedMenuProps): NestedMenu {\n const div = document.createElement(\"div\");\n const body = undefined !== props.body ? props.body : document.createElement(\"div\");\n const header = document.createElement(\"div\");\n\n div.appendChild(header);\n div.appendChild(body);\n header.style.width = \"100%\";\n\n const label = document.createElement(\"label\");\n label.innerText = undefined !== props.label ? props.label : \"\";\n header.appendChild(label);\n\n let isExpanded = undefined !== props.expand ? props.expand : false;\n body.style.display = isExpanded ? \"block\" : \"none\";\n\n const toggleMenuButton = createButton({\n parent: header,\n inline: true,\n value: isExpanded ? \"-\" : \"+\",\n handler: () => undefined,\n });\n\n header.onclick = () => {\n isExpanded = !isExpanded;\n body.style.display = isExpanded ? \"block\" : \"none\";\n toggleMenuButton.button.value = isExpanded ? \"-\" : \"+\";\n if (undefined !== props.handler)\n props.handler(isExpanded);\n };\n\n toggleMenuButton.div.style.cssFloat = \"right\";\n\n header.appendChild(document.createElement(\"hr\"));\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n if (undefined !== props.id)\n div.id = props.id;\n\n return { body, label, div };\n}\n"]}
@@ -4,7 +4,8 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createLabeledNumericInput = exports.createNumericInput = void 0;
7
+ exports.createNumericInput = createNumericInput;
8
+ exports.createLabeledNumericInput = createLabeledNumericInput;
8
9
  /** @alpha */
9
10
  function createNumericInput(props, useFloat = false) {
10
11
  const input = document.createElement("input");
@@ -16,7 +17,7 @@ function createNumericInput(props, useFloat = false) {
16
17
  if (!Number.isNaN(value))
17
18
  props.handler(value, input);
18
19
  }
19
- catch (_ex) {
20
+ catch {
20
21
  //
21
22
  }
22
23
  };
@@ -38,7 +39,6 @@ function createNumericInput(props, useFloat = false) {
38
39
  props.parent.appendChild(input);
39
40
  return input;
40
41
  }
41
- exports.createNumericInput = createNumericInput;
42
42
  /** @alpha */
43
43
  function createLabeledNumericInput(props) {
44
44
  const div = document.createElement("div");
@@ -58,5 +58,4 @@ function createLabeledNumericInput(props) {
58
58
  div.title = props.tooltip;
59
59
  return { label, div, input };
60
60
  }
61
- exports.createLabeledNumericInput = createLabeledNumericInput;
62
61
  //# sourceMappingURL=NumericInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumericInput.js","sourceRoot":"","sources":["../../../src/ui/NumericInput.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport type NumericInputHandler = (value: number, input: HTMLInputElement) => void;\r\n\r\n/** @alpha */\r\nexport interface NumericInputProps {\r\n handler: NumericInputHandler;\r\n id?: string;\r\n parent?: HTMLElement;\r\n value: number;\r\n display?: \"inline\" | \"none\" | \"block\";\r\n disabled?: boolean;\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n tooltip?: string;\r\n parseAsFloat?: true;\r\n}\r\n\r\n/** @alpha */\r\nexport function createNumericInput(props: NumericInputProps, useFloat: boolean = false): HTMLInputElement {\r\n const input = document.createElement(\"input\");\r\n input.type = \"number\";\r\n input.value = props.value.toString();\r\n\r\n input.onchange = () => {\r\n try {\r\n const value = useFloat ? parseFloat(input.value) : parseInt(input.value, 10);\r\n if (!Number.isNaN(value))\r\n props.handler(value, input);\r\n } catch (_ex) {\r\n //\r\n }\r\n };\r\n\r\n if (undefined !== props.id)\r\n input.id = props.id;\r\n if (undefined !== props.display)\r\n input.style.display = props.display;\r\n if (undefined !== props.min)\r\n input.min = props.min.toString();\r\n if (undefined !== props.max)\r\n input.max = props.max.toString();\r\n if (undefined !== props.step)\r\n input.step = props.step.toString();\r\n if (undefined !== props.tooltip)\r\n input.title = props.tooltip;\r\n if (undefined !== props.disabled)\r\n input.disabled = props.disabled;\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(input);\r\n\r\n return input;\r\n}\r\n\r\n/** @alpha */\r\nexport interface LabeledNumericInputProps extends NumericInputProps {\r\n name: string;\r\n id: string;\r\n divDisplay?: \"block\" | \"none\" | \"inline\";\r\n}\r\n\r\n/** @alpha */\r\nexport interface LabeledNumericInput {\r\n input: HTMLInputElement;\r\n div: HTMLDivElement;\r\n label: HTMLLabelElement;\r\n}\r\n\r\n/** @alpha */\r\nexport function createLabeledNumericInput(props: LabeledNumericInputProps): LabeledNumericInput {\r\n const div = document.createElement(\"div\");\r\n if (props.divDisplay)\r\n div.style.display = props.divDisplay;\r\n\r\n const label = document.createElement(\"label\");\r\n label.htmlFor = props.id;\r\n label.innerText = props.name;\r\n div.appendChild(label);\r\n\r\n const inputProps = { ...props };\r\n inputProps.parent = div;\r\n inputProps.display = \"inline\";\r\n const input = createNumericInput(inputProps, true === props.parseAsFloat);\r\n\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n if (undefined !== props.tooltip)\r\n div.title = props.tooltip;\r\n\r\n return { label, div, input };\r\n}\r\n"]}
1
+ {"version":3,"file":"NumericInput.js","sourceRoot":"","sources":["../../../src/ui/NumericInput.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAyB/F,gDAiCC;AAiBD,8DAsBC;AAzED,aAAa;AACb,SAAgB,kBAAkB,CAAC,KAAwB,EAAE,WAAoB,KAAK;IACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;IACtB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAErC,KAAK,CAAC,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE;QACxB,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACtB,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACtC,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG;QACzB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG;QACzB,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnC,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI;QAC1B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,KAAK,KAAK,CAAC,QAAQ;QAC9B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAClC,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC;AACf,CAAC;AAgBD,aAAa;AACb,SAAgB,yBAAyB,CAAC,KAA+B;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,UAAU;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;IAEvC,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,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAChC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC;IACxB,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;IAE1E,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;QAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,SAAS,KAAK,KAAK,CAAC,OAAO;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC/B,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 type NumericInputHandler = (value: number, input: HTMLInputElement) => void;\n\n/** @alpha */\nexport interface NumericInputProps {\n handler: NumericInputHandler;\n id?: string;\n parent?: HTMLElement;\n value: number;\n display?: \"inline\" | \"none\" | \"block\";\n disabled?: boolean;\n min?: number;\n max?: number;\n step?: number;\n tooltip?: string;\n parseAsFloat?: true;\n}\n\n/** @alpha */\nexport function createNumericInput(props: NumericInputProps, useFloat: boolean = false): HTMLInputElement {\n const input = document.createElement(\"input\");\n input.type = \"number\";\n input.value = props.value.toString();\n\n input.onchange = () => {\n try {\n const value = useFloat ? parseFloat(input.value) : parseInt(input.value, 10);\n if (!Number.isNaN(value))\n props.handler(value, input);\n } catch {\n //\n }\n };\n\n if (undefined !== props.id)\n input.id = props.id;\n if (undefined !== props.display)\n input.style.display = props.display;\n if (undefined !== props.min)\n input.min = props.min.toString();\n if (undefined !== props.max)\n input.max = props.max.toString();\n if (undefined !== props.step)\n input.step = props.step.toString();\n if (undefined !== props.tooltip)\n input.title = props.tooltip;\n if (undefined !== props.disabled)\n input.disabled = props.disabled;\n if (undefined !== props.parent)\n props.parent.appendChild(input);\n\n return input;\n}\n\n/** @alpha */\nexport interface LabeledNumericInputProps extends NumericInputProps {\n name: string;\n id: string;\n divDisplay?: \"block\" | \"none\" | \"inline\";\n}\n\n/** @alpha */\nexport interface LabeledNumericInput {\n input: HTMLInputElement;\n div: HTMLDivElement;\n label: HTMLLabelElement;\n}\n\n/** @alpha */\nexport function createLabeledNumericInput(props: LabeledNumericInputProps): LabeledNumericInput {\n const div = document.createElement(\"div\");\n if (props.divDisplay)\n div.style.display = props.divDisplay;\n\n const label = document.createElement(\"label\");\n label.htmlFor = props.id;\n label.innerText = props.name;\n div.appendChild(label);\n\n const inputProps = { ...props };\n inputProps.parent = div;\n inputProps.display = \"inline\";\n const input = createNumericInput(inputProps, true === props.parseAsFloat);\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n if (undefined !== props.tooltip)\n div.title = props.tooltip;\n\n return { label, div, input };\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createRadioBox = void 0;
7
+ exports.createRadioBox = createRadioBox;
8
8
  /** @alpha */
9
9
  function createRadioBox(props) {
10
10
  const div = document.createElement("div");
@@ -31,7 +31,7 @@ function createRadioBox(props) {
31
31
  const value = input.value;
32
32
  props.handler(value, form);
33
33
  }
34
- catch (_ex) {
34
+ catch {
35
35
  //
36
36
  }
37
37
  };
@@ -40,7 +40,7 @@ function createRadioBox(props) {
40
40
  const value = input.value;
41
41
  props.handler(value, form);
42
42
  }
43
- catch (_ex) {
43
+ catch {
44
44
  //
45
45
  }
46
46
  };
@@ -73,5 +73,4 @@ function createRadioBox(props) {
73
73
  };
74
74
  return { div, label, setValue, form };
75
75
  }
76
- exports.createRadioBox = createRadioBox;
77
76
  //# sourceMappingURL=RadioBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioBox.js","sourceRoot":"","sources":["../../../src/ui/RadioBox.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport interface RadioBoxEntry {\r\n value: number | string | undefined;\r\n label: string;\r\n}\r\n\r\n/** @alpha */\r\nexport type RadioBoxHandler = (value: string, form: HTMLFormElement) => void;\r\n\r\n/** @alpha */\r\nexport interface RadioBoxProps {\r\n id: string;\r\n entries: RadioBoxEntry[];\r\n handler: RadioBoxHandler;\r\n name?: string;\r\n parent?: HTMLElement;\r\n defaultValue?: number | string;\r\n vertical?: boolean;\r\n}\r\n\r\n/** @alpha */\r\nexport interface RadioBox {\r\n label?: HTMLLabelElement;\r\n setValue: (newValue: number | string) => boolean;\r\n div: HTMLDivElement;\r\n form: HTMLFormElement;\r\n}\r\n\r\n/** @alpha */\r\nexport function createRadioBox(props: RadioBoxProps): RadioBox {\r\n const div = document.createElement(\"div\");\r\n\r\n let label: HTMLLabelElement | undefined;\r\n if (undefined !== props.name) {\r\n label = document.createElement(\"label\");\r\n label.htmlFor = props.id;\r\n label.innerText = props.name;\r\n div.appendChild(label);\r\n }\r\n\r\n const form = document.createElement(\"form\");\r\n form.id = props.id;\r\n\r\n const radioBoxes: HTMLInputElement[] = [];\r\n\r\n for (const entry of props.entries) {\r\n const input = document.createElement(\"input\");\r\n input.type = \"radio\";\r\n input.name = props.name ? props.name : props.id;\r\n\r\n input.value = (undefined !== entry.value) ? entry.value.toString() : \"\";\r\n\r\n const inputLabel: HTMLLabelElement = document.createElement(\"label\");\r\n inputLabel.innerText = entry.label;\r\n\r\n inputLabel.onclick = () => {\r\n try {\r\n input.checked = true;\r\n const value = input.value;\r\n props.handler(value, form);\r\n } catch (_ex) {\r\n //\r\n }\r\n };\r\n\r\n input.onchange = () => {\r\n try {\r\n const value = input.value;\r\n props.handler(value, form);\r\n } catch (_ex) {\r\n //\r\n }\r\n };\r\n if (props.defaultValue === entry.value) {\r\n input.checked = true;\r\n }\r\n\r\n radioBoxes.push(input);\r\n\r\n if (props.vertical) {\r\n const container = document.createElement(\"div\");\r\n container.appendChild(input);\r\n container.appendChild(inputLabel);\r\n form.appendChild(container);\r\n } else {\r\n form.appendChild(input);\r\n form.appendChild(inputLabel);\r\n }\r\n }\r\n\r\n div.appendChild(form);\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n const setValue = (value: number | string): boolean => {\r\n const stringValue = value.toString();\r\n const validValue: boolean = radioBoxes.map((input) => input.value).includes(stringValue);\r\n if (validValue) {\r\n radioBoxes.forEach((input) => input.checked = input.value === stringValue);\r\n props.handler(stringValue, form);\r\n }\r\n return validValue;\r\n };\r\n\r\n return { div, label, setValue, form };\r\n}\r\n"]}
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 form: HTMLFormElement;\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 {\n //\n }\n };\n\n input.onchange = () => {\n try {\n const value = input.value;\n props.handler(value, form);\n } catch {\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, form };\n}\n"]}
@@ -26,4 +26,6 @@ export interface SliderProps {
26
26
  }
27
27
  /** @alpha */
28
28
  export declare function createSlider(props: SliderProps): Slider;
29
+ /** @alpha */
30
+ export declare function updateSliderValue(sliderCtrl: Slider, value: string): void;
29
31
  //# sourceMappingURL=Slider.d.ts.map
@@ -1 +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;IACpB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,aAAa;AACb,MAAM,MAAM,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;IACd,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAC3B;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAuCvD"}
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;IACpB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,aAAa;AACb,MAAM,MAAM,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;IACd,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAC3B;AAED,aAAa;AACb,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAuCvD;AAED,aAAa;AACb,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAGlE"}
@@ -4,7 +4,8 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createSlider = void 0;
7
+ exports.createSlider = createSlider;
8
+ exports.updateSliderValue = updateSliderValue;
8
9
  /** @alpha */
9
10
  function createSlider(props) {
10
11
  const div = document.createElement("div");
@@ -39,5 +40,9 @@ function createSlider(props) {
39
40
  props.parent.appendChild(div);
40
41
  return { label, slider, div, readout };
41
42
  }
42
- exports.createSlider = createSlider;
43
+ /** @alpha */
44
+ function updateSliderValue(sliderCtrl, value) {
45
+ sliderCtrl.slider.value = value;
46
+ sliderCtrl.readout.innerText = value;
47
+ }
43
48
  //# sourceMappingURL=Slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/ui/Slider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAgC/F,aAAa;AACb,SAAgB,YAAY,CAAC,KAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,CAAC,aAAa;QACrB,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAEhD,IAAI,KAAK,CAAC,SAAS;QACjB,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAExC,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,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAEhD,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;QACpC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,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,OAAO,EAAE,CAAC;AACzC,CAAC;AAvCD,oCAuCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** @alpha */\r\nexport interface Slider {\r\n label: HTMLLabelElement;\r\n slider: HTMLInputElement;\r\n div: HTMLDivElement;\r\n readout: HTMLLabelElement;\r\n}\r\n\r\n/** @alpha */\r\nexport type SliderHandler = (slider: HTMLInputElement) => void;\r\n\r\n/** @alpha */\r\nexport interface SliderProps {\r\n name: string;\r\n handler: SliderHandler;\r\n id: string;\r\n parent?: HTMLElement;\r\n min: string;\r\n max: string;\r\n step: string;\r\n value: string;\r\n verticalAlign?: \"middle\" | false;\r\n textAlign?: \"right\" | false;\r\n readout?: \"right\" | false;\r\n}\r\n\r\n/** @alpha */\r\nexport function createSlider(props: SliderProps): Slider {\r\n const div = document.createElement(\"div\");\r\n div.style.display = \"block\";\r\n if (props.verticalAlign)\r\n div.style.verticalAlign = props.verticalAlign;\r\n\r\n if (props.textAlign)\r\n div.style.textAlign = props.textAlign;\r\n\r\n const label = document.createElement(\"label\");\r\n label.htmlFor = props.id;\r\n label.innerText = props.name;\r\n div.appendChild(label);\r\n\r\n const readout = document.createElement(\"label\");\r\n\r\n const slider = document.createElement(\"input\");\r\n slider.type = \"range\";\r\n slider.className = \"slider\";\r\n slider.id = props.id;\r\n slider.min = props.min;\r\n slider.max = props.max;\r\n slider.step = props.step;\r\n slider.value = props.value;\r\n slider.addEventListener(\"input\", () => {\r\n props.handler(slider);\r\n readout.innerText = slider.value;\r\n });\r\n div.appendChild(slider);\r\n\r\n if (props.readout === \"right\") {\r\n readout.innerText = slider.value;\r\n div.appendChild(readout);\r\n }\r\n\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n return { label, slider, div, readout };\r\n}\r\n"]}
1
+ {"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/ui/Slider.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAiC/F,oCAuCC;AAGD,8CAGC;AA9CD,aAAa;AACb,SAAgB,YAAY,CAAC,KAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5B,IAAI,KAAK,CAAC,aAAa;QACrB,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAEhD,IAAI,KAAK,CAAC,SAAS;QACjB,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAExC,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,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAEhD,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;QACpC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,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,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,aAAa;AACb,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,KAAa;IACjE,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAChC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;AACvC,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 readout: HTMLLabelElement;\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 verticalAlign?: \"middle\" | false;\n textAlign?: \"right\" | false;\n readout?: \"right\" | false;\n}\n\n/** @alpha */\nexport function createSlider(props: SliderProps): Slider {\n const div = document.createElement(\"div\");\n div.style.display = \"block\";\n if (props.verticalAlign)\n div.style.verticalAlign = props.verticalAlign;\n\n if (props.textAlign)\n div.style.textAlign = props.textAlign;\n\n const label = document.createElement(\"label\");\n label.htmlFor = props.id;\n label.innerText = props.name;\n div.appendChild(label);\n\n const readout = document.createElement(\"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\", () => {\n props.handler(slider);\n readout.innerText = slider.value;\n });\n div.appendChild(slider);\n\n if (props.readout === \"right\") {\n readout.innerText = slider.value;\n div.appendChild(readout);\n }\n\n if (undefined !== props.parent)\n props.parent.appendChild(div);\n\n return { label, slider, div, readout };\n}\n\n/** @alpha */\nexport function updateSliderValue(sliderCtrl: Slider, value: string) {\n sliderCtrl.slider.value = value;\n sliderCtrl.readout.innerText = value;\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  * See LICENSE.md in the project root for license terms and full copyright notice.
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createTextBox = void 0;
7
+ exports.createTextBox = createTextBox;
8
8
  /** @alpha */
9
9
  function createTextBox(props) {
10
10
  const div = document.createElement("div");
@@ -40,7 +40,7 @@ function createTextBox(props) {
40
40
  };
41
41
  }
42
42
  else {
43
- textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation
43
+ textbox.onkeypress = stopPropagation; // eslint-disable-line @typescript-eslint/no-deprecated
44
44
  }
45
45
  const focushandler = props.focushandler;
46
46
  if (undefined !== focushandler) {
@@ -53,5 +53,4 @@ function createTextBox(props) {
53
53
  div.title = props.tooltip;
54
54
  return { label, textbox, div };
55
55
  }
56
- exports.createTextBox = createTextBox;
57
56
  //# sourceMappingURL=TextBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextBox.js","sourceRoot":"","sources":["../../../src/ui/TextBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAqC/F,aAAa;AACb,SAAgB,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,CAAC;QAC9B,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;IACzB,CAAC;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,CAAC;QAC1B,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;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,CAAC;QAClC,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;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,8CAA8C;IACtF,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;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;AAxDD,sCAwDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Controls\r\n */\r\n\r\n/** Wraps an HTML text input field.\r\n * @beta\r\n */\r\nexport interface TextBox {\r\n /** The label, if the text box has one. */\r\n label?: HTMLLabelElement;\r\n /** The text input element. */\r\n textbox: HTMLInputElement;\r\n /** The div containing the text box. */\r\n div: HTMLDivElement;\r\n}\r\n\r\n/** @alpha */\r\nexport type TextBoxHandler = (textbox: HTMLInputElement) => void;\r\n\r\n/** @alpha */\r\nexport type TextBoxKeyPressHandler = (textbox: HTMLInputElement, ev: KeyboardEvent) => void;\r\n\r\n/** @alpha */\r\nexport interface TextBoxProps {\r\n label?: string;\r\n id?: string;\r\n parent?: HTMLElement;\r\n handler?: TextBoxHandler;\r\n keypresshandler?: TextBoxKeyPressHandler;\r\n focushandler?: TextBoxHandler;\r\n tooltip?: string;\r\n inline?: boolean;\r\n list?: string; // if defined, contains the id of a datalist to bind to this textbox for autocompletion\r\n}\r\n\r\n/** @alpha */\r\nexport function createTextBox(props: TextBoxProps): TextBox {\r\n const div = document.createElement(\"div\");\r\n if (true === props.inline)\r\n div.style.display = \"inline\";\r\n\r\n let label;\r\n if (undefined !== props.label) {\r\n label = document.createElement(\"label\");\r\n label.innerText = props.label;\r\n if (undefined !== props.id)\r\n label.htmlFor = props.id;\r\n\r\n div.appendChild(label);\r\n }\r\n\r\n const textbox = document.createElement(\"input\");\r\n textbox.type = \"text\";\r\n if (undefined !== props.id)\r\n textbox.id = props.id;\r\n\r\n div.appendChild(textbox);\r\n\r\n if (undefined !== props.parent)\r\n props.parent.appendChild(div);\r\n\r\n const handler = props.handler;\r\n if (undefined !== handler) {\r\n textbox.onchange = () => handler(textbox);\r\n }\r\n\r\n // Don't want the document's listeners intepreting keypresses as keyboard shortcuts...\r\n const stopPropagation = (ev: KeyboardEvent) => ev.stopPropagation();\r\n textbox.onkeydown = textbox.onkeyup = stopPropagation;\r\n const keypresshandler = props.keypresshandler;\r\n if (undefined !== keypresshandler) {\r\n textbox.onkeypress = (ev: KeyboardEvent) => { // eslint-disable-line deprecation/deprecation\r\n keypresshandler(textbox, ev);\r\n ev.stopPropagation();\r\n };\r\n } else {\r\n textbox.onkeypress = stopPropagation; // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n const focushandler = props.focushandler;\r\n if (undefined !== focushandler) {\r\n textbox.onfocus = () => focushandler(textbox);\r\n }\r\n\r\n if (undefined !== props.list) {\r\n textbox.setAttribute(\"list\", props.list);\r\n }\r\n\r\n if (undefined !== props.tooltip)\r\n div.title = props.tooltip;\r\n\r\n return { label, textbox, div };\r\n}\r\n"]}
1
+ {"version":3,"file":"TextBox.js","sourceRoot":"","sources":["../../../src/ui/TextBox.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAsC/F,sCAwDC;AAzDD,aAAa;AACb,SAAgB,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,CAAC;QAC9B,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;IACzB,CAAC;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,CAAC;QAC1B,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;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,CAAC;QAClC,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;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,uDAAuD;IAC/F,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;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 @typescript-eslint/no-deprecated\n keypresshandler(textbox, ev);\n ev.stopPropagation();\n };\n } else {\n textbox.onkeypress = stopPropagation; // eslint-disable-line @typescript-eslint/no-deprecated\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticsPanel.js","sourceRoot":"","sources":["../../../src/widgets/DiagnosticsPanel.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Widgets\r\n */\r\n\r\nimport { dispose } from \"@itwin/core-bentley\";\r\nimport { Viewport } from \"@itwin/core-frontend\";\r\nimport { FpsTracker } from \"./FpsTracker\";\r\nimport { GpuProfiler } from \"./GpuProfiler\";\r\nimport { KeyinField } from \"./KeyinField\";\r\nimport { MemoryTracker } from \"./MemoryTracker\";\r\nimport { RenderCommandBreakdown } from \"./RenderCommandBreakdown\";\r\nimport { TileMemoryBreakdown } from \"./TileMemoryBreakdown\";\r\nimport { TileStatisticsTracker } from \"./TileStatisticsTracker\";\r\nimport { ToolSettingsTracker } from \"./ToolSettingsTracker\";\r\n\r\n/** Options for configuring a [[DiagnosticsPanel]].\r\n * @beta\r\n */\r\nexport interface DiagnosticsPanelProps {\r\n /** Widgets to exclude from the panel. */\r\n exclude?: {\r\n keyin?: boolean;\r\n fps?: boolean;\r\n tileStats?: boolean;\r\n memory?: boolean;\r\n tileMemoryBreakdown?: boolean;\r\n renderCommands?: boolean;\r\n gpuProfiler?: boolean;\r\n toolSettings?: boolean;\r\n };\r\n}\r\n\r\n/** Consolidates many other widgets into a single panel.\r\n * @beta\r\n */\r\nexport class DiagnosticsPanel {\r\n private readonly _element: HTMLElement;\r\n private readonly _parentElement?: HTMLElement;\r\n private readonly _fpsTracker?: FpsTracker;\r\n private readonly _memoryTracker?: MemoryTracker;\r\n private readonly _tileMemoryBreakdown?: TileMemoryBreakdown;\r\n private readonly _renderCommands?: RenderCommandBreakdown;\r\n private readonly _statsTracker?: TileStatisticsTracker;\r\n private readonly _gpuProfiler?: GpuProfiler;\r\n private readonly _toolSettingsTracker?: ToolSettingsTracker;\r\n public readonly keyinField?: KeyinField;\r\n\r\n public constructor(vp: Viewport, props?: DiagnosticsPanelProps) {\r\n const exclude = (undefined !== props && undefined !== props.exclude) ? props.exclude : {};\r\n\r\n this._element = document.createElement(\"div\");\r\n this._element.className = \"debugPanel\";\r\n\r\n if (true !== exclude.fps) {\r\n this._fpsTracker = new FpsTracker(this._element, vp);\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.keyin) {\r\n this.keyinField = new KeyinField({\r\n parent: this._element,\r\n baseId: \"diagnosticsPanelKeyin\",\r\n wantButton: true,\r\n wantLabel: true,\r\n historyLength: 20,\r\n });\r\n\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.tileStats) {\r\n this._statsTracker = new TileStatisticsTracker(this._element, vp);\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.tileMemoryBreakdown) {\r\n this._tileMemoryBreakdown = new TileMemoryBreakdown(this._element);\r\n this.addSeparator();\r\n }\r\n\r\n if (!exclude.renderCommands) {\r\n this._renderCommands = new RenderCommandBreakdown(this._element);\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.memory) {\r\n this._memoryTracker = new MemoryTracker(this._element, vp);\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.gpuProfiler) {\r\n this._gpuProfiler = new GpuProfiler(this._element);\r\n this.addSeparator();\r\n }\r\n\r\n if (true !== exclude.toolSettings)\r\n this._toolSettingsTracker = new ToolSettingsTracker(this._element, vp);\r\n }\r\n\r\n public get element(): HTMLElement { return this._element; }\r\n\r\n public dispose(): void {\r\n dispose(this._fpsTracker);\r\n dispose(this._memoryTracker);\r\n dispose(this._tileMemoryBreakdown);\r\n dispose(this._renderCommands);\r\n dispose(this._statsTracker);\r\n dispose(this._gpuProfiler);\r\n dispose(this._toolSettingsTracker);\r\n\r\n if (undefined !== this._parentElement)\r\n this._parentElement.removeChild(this._element);\r\n }\r\n\r\n private addSeparator(): void {\r\n this._element.appendChild(document.createElement(\"hr\"));\r\n }\r\n}\r\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 { RenderCommandBreakdown } from \"./RenderCommandBreakdown\";\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 renderCommands?: 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 _renderCommands?: RenderCommandBreakdown;\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 (!exclude.renderCommands) {\n this._renderCommands = new RenderCommandBreakdown(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._renderCommands);\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 +1 @@
1
- {"version":3,"file":"FpsTracker.js","sourceRoot":"","sources":["../../../src/widgets/FpsTracker.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA4E;AAC5E,6CAAgD;AAEhD;;;GAGG;AACH,MAAa,UAAU;IAMrB,YAAmB,MAAmB,EAAE,QAAkB;QACxD,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAA,yBAAc,EAAC;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,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,OAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;QACtC,CAAC;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;AA/CD,gCA+CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Widgets\r\n */\r\n\r\nimport { PerformanceMetrics, Target, Viewport } from \"@itwin/core-frontend\";\r\nimport { createCheckBox } from \"../ui/CheckBox\";\r\n\r\n/** Displays average frames-per-second.\r\n * NOTE: Enabling fps tracking causes a new frame to render on every tick of the render loop, which may negatively impact battery life.\r\n * @beta\r\n */\r\nexport class FpsTracker {\r\n private readonly _label: HTMLLabelElement;\r\n private _metrics?: PerformanceMetrics;\r\n private _curIntervalId?: number;\r\n private readonly _vp: Viewport;\r\n\r\n public constructor(parent: HTMLElement, viewport: Viewport) {\r\n this._vp = viewport;\r\n this._label = createCheckBox({\r\n parent,\r\n name: \"Track FPS\",\r\n id: \"fpsTracker_toggle\",\r\n handler: (cb) => this.toggle(cb.checked),\r\n }).label;\r\n }\r\n\r\n public dispose(): void {\r\n this.toggle(false);\r\n }\r\n\r\n private clearInterval(): void {\r\n if (undefined !== this._curIntervalId) {\r\n window.clearInterval(this._curIntervalId);\r\n this._curIntervalId = undefined;\r\n }\r\n }\r\n\r\n private toggle(enabled: boolean): void {\r\n this._vp.continuousRendering = enabled;\r\n if (enabled) {\r\n this._metrics = new PerformanceMetrics(false, true);\r\n this._curIntervalId = window.setInterval(() => this.updateFPS(), 500);\r\n this._label.innerText = \"Tracking FPS...\";\r\n } else {\r\n this._metrics = undefined;\r\n this.clearInterval();\r\n this._label.innerText = \"Track FPS\";\r\n }\r\n\r\n (this._vp.target as Target).performanceMetrics = this._metrics;\r\n }\r\n\r\n private updateFPS(): void {\r\n const metrics = this._metrics!;\r\n const fps = (metrics.spfTimes.length / metrics.spfSum).toFixed(2);\r\n this._label.innerText = `FPS: ${fps}`;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FpsTracker.js","sourceRoot":"","sources":["../../../src/widgets/FpsTracker.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,wDAA4E;AAC5E,6CAAgD;AAEhD;;;GAGG;AACH,MAAa,UAAU;IAMrB,YAAmB,MAAmB,EAAE,QAAkB;QACxD,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAA,yBAAc,EAAC;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,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,OAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC;QACtC,CAAC;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;AA/CD,gCA+CC","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?: number;\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 window.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 = window.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"]}