@itwin/imodel-components-react 3.0.0-dev.77 → 3.0.0-dev.81

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 (549) hide show
  1. package/lib/{imodel-components-react → cjs/imodel-components-react}/UiIModelComponents.d.ts +0 -0
  2. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts.map +1 -0
  3. package/lib/{imodel-components-react → cjs/imodel-components-react}/UiIModelComponents.js +0 -0
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -0
  5. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/AlphaSlider.d.ts +0 -0
  6. package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts.map +1 -0
  7. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/AlphaSlider.js +0 -0
  8. package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -0
  9. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/AlphaSlider.scss +0 -0
  10. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerButton.d.ts +0 -0
  11. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -0
  12. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerButton.js +1 -1
  13. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -0
  14. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerButton.scss +1 -1
  15. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerDialog.d.ts +0 -0
  16. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.d.ts.map +1 -0
  17. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerDialog.js +0 -0
  18. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -0
  19. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPanel.d.ts +0 -0
  20. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts.map +1 -0
  21. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPanel.js +0 -0
  22. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +1 -0
  23. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPanel.scss +1 -1
  24. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPopup.d.ts +0 -0
  25. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -0
  26. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPopup.js +1 -1
  27. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -0
  28. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/ColorPickerPopup.scss +1 -1
  29. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/HueSlider.d.ts +0 -0
  30. package/lib/cjs/imodel-components-react/color/HueSlider.d.ts.map +1 -0
  31. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/HueSlider.js +0 -0
  32. package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -0
  33. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/HueSlider.scss +0 -0
  34. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/SaturationPicker.d.ts +0 -0
  35. package/lib/cjs/imodel-components-react/color/SaturationPicker.d.ts.map +1 -0
  36. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/SaturationPicker.js +1 -1
  37. package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -0
  38. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/SaturationPicker.scss +0 -0
  39. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/Swatch.d.ts +0 -0
  40. package/lib/cjs/imodel-components-react/color/Swatch.d.ts.map +1 -0
  41. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/Swatch.js +8 -16
  42. package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -0
  43. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/Swatch.scss +1 -1
  44. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/getCSSColorFromDef.d.ts +0 -0
  45. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.d.ts.map +1 -0
  46. package/lib/{imodel-components-react → cjs/imodel-components-react}/color/getCSSColorFromDef.js +0 -0
  47. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -0
  48. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/ColorEditor.d.ts +0 -0
  49. package/lib/cjs/imodel-components-react/editors/ColorEditor.d.ts.map +1 -0
  50. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/ColorEditor.js +0 -0
  51. package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -0
  52. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/ColorEditor.scss +1 -1
  53. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/WeightEditor.d.ts +0 -0
  54. package/lib/cjs/imodel-components-react/editors/WeightEditor.d.ts.map +1 -0
  55. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/WeightEditor.js +0 -0
  56. package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -0
  57. package/lib/{imodel-components-react → cjs/imodel-components-react}/editors/WeightEditor.scss +1 -1
  58. package/lib/{imodel-components-react → cjs/imodel-components-react}/inputs/QuantityInput.d.ts +0 -0
  59. package/lib/cjs/imodel-components-react/inputs/QuantityInput.d.ts.map +1 -0
  60. package/lib/{imodel-components-react → cjs/imodel-components-react}/inputs/QuantityInput.js +0 -0
  61. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -0
  62. package/lib/{imodel-components-react → cjs/imodel-components-react}/inputs/QuantityNumberInput.d.ts +0 -0
  63. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -0
  64. package/lib/{imodel-components-react → cjs/imodel-components-react}/inputs/QuantityNumberInput.js +2 -13
  65. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -0
  66. package/lib/{imodel-components-react → cjs/imodel-components-react}/inputs/QuantityNumberInput.scss +1 -1
  67. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/Swatch.d.ts +0 -0
  68. package/lib/cjs/imodel-components-react/lineweight/Swatch.d.ts.map +1 -0
  69. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/Swatch.js +12 -16
  70. package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -0
  71. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/Swatch.scss +1 -1
  72. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/WeightPickerButton.d.ts +0 -0
  73. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.d.ts.map +1 -0
  74. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/WeightPickerButton.js +1 -1
  75. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -0
  76. package/lib/{imodel-components-react → cjs/imodel-components-react}/lineweight/WeightPickerButton.scss +2 -2
  77. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/Cube.d.ts +0 -0
  78. package/lib/cjs/imodel-components-react/navigationaids/Cube.d.ts.map +1 -0
  79. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/Cube.js +9 -17
  80. package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -0
  81. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/Cube.scss +0 -0
  82. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/CubeNavigationAid.d.ts +0 -0
  83. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -0
  84. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/CubeNavigationAid.js +6 -17
  85. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -0
  86. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/CubeNavigationAid.scss +1 -1
  87. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/DrawingNavigationAid.d.ts +0 -0
  88. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -0
  89. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/DrawingNavigationAid.js +4 -1
  90. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -0
  91. package/lib/{imodel-components-react → cjs/imodel-components-react}/navigationaids/DrawingNavigationAid.scss +2 -2
  92. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatPanel.d.ts +0 -0
  93. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.d.ts.map +1 -0
  94. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatPanel.js +0 -0
  95. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -0
  96. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatPanel.scss +2 -2
  97. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatPrecision.d.ts +0 -0
  98. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.d.ts.map +1 -0
  99. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatPrecision.js +1 -1
  100. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -0
  101. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatSample.d.ts +0 -0
  102. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -0
  103. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatSample.js +0 -0
  104. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -0
  105. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatType.d.ts +0 -0
  106. package/lib/cjs/imodel-components-react/quantityformat/FormatType.d.ts.map +1 -0
  107. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatType.js +3 -14
  108. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -0
  109. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatUnitLabel.d.ts +0 -0
  110. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.d.ts.map +1 -0
  111. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatUnitLabel.js +4 -15
  112. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -0
  113. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatUnits.d.ts +0 -0
  114. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.d.ts.map +1 -0
  115. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/FormatUnits.js +11 -11
  116. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -0
  117. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/MiscFormatOptions.d.ts +0 -0
  118. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.d.ts.map +1 -0
  119. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/MiscFormatOptions.js +6 -6
  120. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -0
  121. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/QuantityFormatPanel.d.ts +0 -0
  122. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts.map +1 -0
  123. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/QuantityFormatPanel.js +2 -13
  124. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -0
  125. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/DecimalPrecision.d.ts +0 -0
  126. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts.map +1 -0
  127. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/DecimalPrecision.js +2 -13
  128. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -0
  129. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/DecimalSeparator.d.ts +0 -0
  130. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts.map +1 -0
  131. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/DecimalSeparator.js +2 -13
  132. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -0
  133. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/FractionPrecision.d.ts +0 -0
  134. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts.map +1 -0
  135. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/FractionPrecision.js +2 -13
  136. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -0
  137. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ScientificType.d.ts +0 -0
  138. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.d.ts.map +1 -0
  139. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ScientificType.js +2 -13
  140. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -0
  141. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/SignOption.d.ts +0 -0
  142. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.d.ts.map +1 -0
  143. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/SignOption.js +2 -13
  144. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -0
  145. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/StationSeparatorSelector.d.ts +0 -0
  146. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts.map +1 -0
  147. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/StationSeparatorSelector.js +2 -13
  148. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -0
  149. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/StationSizeSelector.d.ts +0 -0
  150. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts.map +1 -0
  151. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/StationSizeSelector.js +2 -13
  152. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -0
  153. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ThousandsSelector.d.ts +0 -0
  154. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts.map +1 -0
  155. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ThousandsSelector.js +2 -13
  156. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -0
  157. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ThousandsSeparator.d.ts +0 -0
  158. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts.map +1 -0
  159. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/ThousandsSeparator.js +2 -2
  160. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -0
  161. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/UnitDescr.d.ts +0 -0
  162. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.d.ts.map +1 -0
  163. package/lib/{imodel-components-react → cjs/imodel-components-react}/quantityformat/misc/UnitDescr.js +0 -0
  164. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -0
  165. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/BaseSolarDataProvider.d.ts +0 -0
  166. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -0
  167. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/BaseSolarDataProvider.js +0 -0
  168. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -0
  169. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/BaseTimelineDataProvider.d.ts +0 -0
  170. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts.map +1 -0
  171. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/BaseTimelineDataProvider.js +1 -1
  172. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -0
  173. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/ContextMenu.d.ts +0 -0
  174. package/lib/cjs/imodel-components-react/timeline/ContextMenu.d.ts.map +1 -0
  175. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/ContextMenu.js +0 -0
  176. package/lib/cjs/imodel-components-react/timeline/ContextMenu.js.map +1 -0
  177. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/ContextMenu.scss +2 -2
  178. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/InlineEdit.d.ts +0 -0
  179. package/lib/cjs/imodel-components-react/timeline/InlineEdit.d.ts.map +1 -0
  180. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/InlineEdit.js +0 -0
  181. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -0
  182. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/InlineEdit.scss +1 -1
  183. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/PlayerButton.d.ts +0 -0
  184. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -0
  185. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/PlayerButton.js +0 -0
  186. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -0
  187. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/PlayerButton.scss +1 -1
  188. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/Scrubber.d.ts +0 -0
  189. package/lib/cjs/imodel-components-react/timeline/Scrubber.d.ts.map +1 -0
  190. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/Scrubber.js +0 -0
  191. package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -0
  192. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/Scrubber.scss +2 -2
  193. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SolarTimeline.d.ts +0 -0
  194. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -0
  195. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SolarTimeline.js +0 -0
  196. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -0
  197. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SolarTimeline.scss +1 -1
  198. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SpeedTimeline.d.ts +0 -0
  199. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.d.ts.map +1 -0
  200. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SpeedTimeline.js +0 -0
  201. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -0
  202. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/SpeedTimeline.scss +1 -1
  203. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/Timeline.scss +1 -1
  204. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/TimelineComponent.d.ts +0 -0
  205. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -0
  206. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/TimelineComponent.js +0 -0
  207. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -0
  208. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/TimelineComponent.scss +1 -1
  209. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/interfaces.d.ts +0 -0
  210. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts.map +1 -0
  211. package/lib/{imodel-components-react → cjs/imodel-components-react}/timeline/interfaces.js +0 -0
  212. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -0
  213. package/lib/{imodel-components-react → cjs/imodel-components-react}/viewport/ViewportComponent.d.ts +0 -0
  214. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -0
  215. package/lib/{imodel-components-react → cjs/imodel-components-react}/viewport/ViewportComponent.js +4 -1
  216. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -0
  217. package/lib/{imodel-components-react → cjs/imodel-components-react}/viewport/ViewportComponentEvents.d.ts +0 -0
  218. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.d.ts.map +1 -0
  219. package/lib/{imodel-components-react → cjs/imodel-components-react}/viewport/ViewportComponentEvents.js +0 -0
  220. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -0
  221. package/lib/{imodel-components-react.d.ts → cjs/imodel-components-react.d.ts} +0 -0
  222. package/lib/cjs/imodel-components-react.d.ts.map +1 -0
  223. package/lib/{imodel-components-react.js → cjs/imodel-components-react.js} +0 -0
  224. package/lib/cjs/imodel-components-react.js.map +1 -0
  225. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +34 -0
  226. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts.map +1 -0
  227. package/lib/esm/imodel-components-react/UiIModelComponents.js +75 -0
  228. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -0
  229. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +37 -0
  230. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts.map +1 -0
  231. package/lib/esm/imodel-components-react/color/AlphaSlider.js +161 -0
  232. package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -0
  233. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -0
  234. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts +38 -0
  235. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts.map +1 -0
  236. package/lib/esm/imodel-components-react/color/ColorPickerButton.js +83 -0
  237. package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -0
  238. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +92 -0
  239. package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts +23 -0
  240. package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts.map +1 -0
  241. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js +39 -0
  242. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -0
  243. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +22 -0
  244. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts.map +1 -0
  245. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +123 -0
  246. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +1 -0
  247. package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +94 -0
  248. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts +44 -0
  249. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts.map +1 -0
  250. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +94 -0
  251. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -0
  252. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +53 -0
  253. package/lib/esm/imodel-components-react/color/HueSlider.d.ts +23 -0
  254. package/lib/esm/imodel-components-react/color/HueSlider.d.ts.map +1 -0
  255. package/lib/esm/imodel-components-react/color/HueSlider.js +174 -0
  256. package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -0
  257. package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -0
  258. package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts +21 -0
  259. package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts.map +1 -0
  260. package/lib/esm/imodel-components-react/color/SaturationPicker.js +188 -0
  261. package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -0
  262. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -0
  263. package/lib/esm/imodel-components-react/color/Swatch.d.ts +23 -0
  264. package/lib/esm/imodel-components-react/color/Swatch.d.ts.map +1 -0
  265. package/lib/esm/imodel-components-react/color/Swatch.js +35 -0
  266. package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -0
  267. package/lib/esm/imodel-components-react/color/Swatch.scss +24 -0
  268. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts +7 -0
  269. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts.map +1 -0
  270. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js +20 -0
  271. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -0
  272. package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts +45 -0
  273. package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts.map +1 -0
  274. package/lib/esm/imodel-components-react/editors/ColorEditor.js +125 -0
  275. package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -0
  276. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +19 -0
  277. package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts +48 -0
  278. package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts.map +1 -0
  279. package/lib/esm/imodel-components-react/editors/WeightEditor.js +134 -0
  280. package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -0
  281. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +17 -0
  282. package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts +26 -0
  283. package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts.map +1 -0
  284. package/lib/esm/imodel-components-react/inputs/QuantityInput.js +71 -0
  285. package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -0
  286. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +45 -0
  287. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +1 -0
  288. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +240 -0
  289. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -0
  290. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +89 -0
  291. package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts +34 -0
  292. package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts.map +1 -0
  293. package/lib/esm/imodel-components-react/lineweight/Swatch.js +60 -0
  294. package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -0
  295. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +49 -0
  296. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts +61 -0
  297. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts.map +1 -0
  298. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +134 -0
  299. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -0
  300. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +53 -0
  301. package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts +46 -0
  302. package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts.map +1 -0
  303. package/lib/esm/imodel-components-react/navigationaids/Cube.js +101 -0
  304. package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -0
  305. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -0
  306. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -0
  307. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -0
  308. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +573 -0
  309. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -0
  310. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +181 -0
  311. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +146 -0
  312. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +1 -0
  313. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +621 -0
  314. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -0
  315. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +134 -0
  316. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts +27 -0
  317. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts.map +1 -0
  318. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +77 -0
  319. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -0
  320. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +65 -0
  321. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts +18 -0
  322. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts.map +1 -0
  323. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +31 -0
  324. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -0
  325. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts +19 -0
  326. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts.map +1 -0
  327. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +61 -0
  328. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -0
  329. package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts +18 -0
  330. package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts.map +1 -0
  331. package/lib/esm/imodel-components-react/quantityformat/FormatType.js +64 -0
  332. package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -0
  333. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +18 -0
  334. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts.map +1 -0
  335. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +84 -0
  336. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -0
  337. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts +20 -0
  338. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts.map +1 -0
  339. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +111 -0
  340. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -0
  341. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +22 -0
  342. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts.map +1 -0
  343. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +159 -0
  344. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -0
  345. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +23 -0
  346. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts.map +1 -0
  347. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +132 -0
  348. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -0
  349. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +18 -0
  350. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts.map +1 -0
  351. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js +37 -0
  352. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -0
  353. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +18 -0
  354. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts.map +1 -0
  355. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js +25 -0
  356. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -0
  357. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +17 -0
  358. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts.map +1 -0
  359. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js +32 -0
  360. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -0
  361. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts +19 -0
  362. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts.map +1 -0
  363. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js +26 -0
  364. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -0
  365. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts +18 -0
  366. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts.map +1 -0
  367. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js +28 -0
  368. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -0
  369. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +18 -0
  370. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts.map +1 -0
  371. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +36 -0
  372. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -0
  373. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +18 -0
  374. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts.map +1 -0
  375. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js +25 -0
  376. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -0
  377. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +18 -0
  378. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts.map +1 -0
  379. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js +34 -0
  380. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -0
  381. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +18 -0
  382. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts.map +1 -0
  383. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +70 -0
  384. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -0
  385. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +24 -0
  386. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts.map +1 -0
  387. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js +97 -0
  388. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -0
  389. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +53 -0
  390. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +1 -0
  391. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +140 -0
  392. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -0
  393. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +32 -0
  394. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts.map +1 -0
  395. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js +66 -0
  396. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -0
  397. package/lib/esm/imodel-components-react/timeline/ContextMenu.d.ts +55 -0
  398. package/lib/esm/imodel-components-react/timeline/ContextMenu.d.ts.map +1 -0
  399. package/lib/esm/imodel-components-react/timeline/ContextMenu.js +55 -0
  400. package/lib/esm/imodel-components-react/timeline/ContextMenu.js.map +1 -0
  401. package/lib/esm/imodel-components-react/timeline/ContextMenu.scss +81 -0
  402. package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts +28 -0
  403. package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts.map +1 -0
  404. package/lib/esm/imodel-components-react/timeline/InlineEdit.js +56 -0
  405. package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -0
  406. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +27 -0
  407. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts +34 -0
  408. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts.map +1 -0
  409. package/lib/esm/imodel-components-react/timeline/PlayerButton.js +65 -0
  410. package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -0
  411. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +26 -0
  412. package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts +55 -0
  413. package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts.map +1 -0
  414. package/lib/esm/imodel-components-react/timeline/Scrubber.js +165 -0
  415. package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -0
  416. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +107 -0
  417. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts +78 -0
  418. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts.map +1 -0
  419. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +399 -0
  420. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -0
  421. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +358 -0
  422. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts +16 -0
  423. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts.map +1 -0
  424. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js +29 -0
  425. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -0
  426. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +40 -0
  427. package/lib/esm/imodel-components-react/timeline/Timeline.scss +165 -0
  428. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +135 -0
  429. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts.map +1 -0
  430. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +341 -0
  431. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -0
  432. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +164 -0
  433. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +175 -0
  434. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts.map +1 -0
  435. package/lib/esm/imodel-components-react/timeline/interfaces.js +43 -0
  436. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -0
  437. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +67 -0
  438. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts.map +1 -0
  439. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +227 -0
  440. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -0
  441. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts +107 -0
  442. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts.map +1 -0
  443. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +95 -0
  444. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -0
  445. package/lib/esm/imodel-components-react.d.ts +84 -0
  446. package/lib/esm/imodel-components-react.d.ts.map +1 -0
  447. package/lib/esm/imodel-components-react.js +89 -0
  448. package/lib/esm/imodel-components-react.js.map +1 -0
  449. package/package.json +32 -27
  450. package/lib/imodel-components-react/UiIModelComponents.d.ts.map +0 -1
  451. package/lib/imodel-components-react/UiIModelComponents.js.map +0 -1
  452. package/lib/imodel-components-react/color/AlphaSlider.d.ts.map +0 -1
  453. package/lib/imodel-components-react/color/AlphaSlider.js.map +0 -1
  454. package/lib/imodel-components-react/color/ColorPickerButton.d.ts.map +0 -1
  455. package/lib/imodel-components-react/color/ColorPickerButton.js.map +0 -1
  456. package/lib/imodel-components-react/color/ColorPickerDialog.d.ts.map +0 -1
  457. package/lib/imodel-components-react/color/ColorPickerDialog.js.map +0 -1
  458. package/lib/imodel-components-react/color/ColorPickerPanel.d.ts.map +0 -1
  459. package/lib/imodel-components-react/color/ColorPickerPanel.js.map +0 -1
  460. package/lib/imodel-components-react/color/ColorPickerPopup.d.ts.map +0 -1
  461. package/lib/imodel-components-react/color/ColorPickerPopup.js.map +0 -1
  462. package/lib/imodel-components-react/color/HueSlider.d.ts.map +0 -1
  463. package/lib/imodel-components-react/color/HueSlider.js.map +0 -1
  464. package/lib/imodel-components-react/color/SaturationPicker.d.ts.map +0 -1
  465. package/lib/imodel-components-react/color/SaturationPicker.js.map +0 -1
  466. package/lib/imodel-components-react/color/Swatch.d.ts.map +0 -1
  467. package/lib/imodel-components-react/color/Swatch.js.map +0 -1
  468. package/lib/imodel-components-react/color/getCSSColorFromDef.d.ts.map +0 -1
  469. package/lib/imodel-components-react/color/getCSSColorFromDef.js.map +0 -1
  470. package/lib/imodel-components-react/editors/ColorEditor.d.ts.map +0 -1
  471. package/lib/imodel-components-react/editors/ColorEditor.js.map +0 -1
  472. package/lib/imodel-components-react/editors/WeightEditor.d.ts.map +0 -1
  473. package/lib/imodel-components-react/editors/WeightEditor.js.map +0 -1
  474. package/lib/imodel-components-react/inputs/QuantityInput.d.ts.map +0 -1
  475. package/lib/imodel-components-react/inputs/QuantityInput.js.map +0 -1
  476. package/lib/imodel-components-react/inputs/QuantityNumberInput.d.ts.map +0 -1
  477. package/lib/imodel-components-react/inputs/QuantityNumberInput.js.map +0 -1
  478. package/lib/imodel-components-react/lineweight/Swatch.d.ts.map +0 -1
  479. package/lib/imodel-components-react/lineweight/Swatch.js.map +0 -1
  480. package/lib/imodel-components-react/lineweight/WeightPickerButton.d.ts.map +0 -1
  481. package/lib/imodel-components-react/lineweight/WeightPickerButton.js.map +0 -1
  482. package/lib/imodel-components-react/navigationaids/Cube.d.ts.map +0 -1
  483. package/lib/imodel-components-react/navigationaids/Cube.js.map +0 -1
  484. package/lib/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +0 -1
  485. package/lib/imodel-components-react/navigationaids/CubeNavigationAid.js.map +0 -1
  486. package/lib/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts.map +0 -1
  487. package/lib/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +0 -1
  488. package/lib/imodel-components-react/quantityformat/FormatPanel.d.ts.map +0 -1
  489. package/lib/imodel-components-react/quantityformat/FormatPanel.js.map +0 -1
  490. package/lib/imodel-components-react/quantityformat/FormatPrecision.d.ts.map +0 -1
  491. package/lib/imodel-components-react/quantityformat/FormatPrecision.js.map +0 -1
  492. package/lib/imodel-components-react/quantityformat/FormatSample.d.ts.map +0 -1
  493. package/lib/imodel-components-react/quantityformat/FormatSample.js.map +0 -1
  494. package/lib/imodel-components-react/quantityformat/FormatType.d.ts.map +0 -1
  495. package/lib/imodel-components-react/quantityformat/FormatType.js.map +0 -1
  496. package/lib/imodel-components-react/quantityformat/FormatUnitLabel.d.ts.map +0 -1
  497. package/lib/imodel-components-react/quantityformat/FormatUnitLabel.js.map +0 -1
  498. package/lib/imodel-components-react/quantityformat/FormatUnits.d.ts.map +0 -1
  499. package/lib/imodel-components-react/quantityformat/FormatUnits.js.map +0 -1
  500. package/lib/imodel-components-react/quantityformat/MiscFormatOptions.d.ts.map +0 -1
  501. package/lib/imodel-components-react/quantityformat/MiscFormatOptions.js.map +0 -1
  502. package/lib/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts.map +0 -1
  503. package/lib/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +0 -1
  504. package/lib/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts.map +0 -1
  505. package/lib/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +0 -1
  506. package/lib/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts.map +0 -1
  507. package/lib/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +0 -1
  508. package/lib/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts.map +0 -1
  509. package/lib/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +0 -1
  510. package/lib/imodel-components-react/quantityformat/misc/ScientificType.d.ts.map +0 -1
  511. package/lib/imodel-components-react/quantityformat/misc/ScientificType.js.map +0 -1
  512. package/lib/imodel-components-react/quantityformat/misc/SignOption.d.ts.map +0 -1
  513. package/lib/imodel-components-react/quantityformat/misc/SignOption.js.map +0 -1
  514. package/lib/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts.map +0 -1
  515. package/lib/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +0 -1
  516. package/lib/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts.map +0 -1
  517. package/lib/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +0 -1
  518. package/lib/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts.map +0 -1
  519. package/lib/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +0 -1
  520. package/lib/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts.map +0 -1
  521. package/lib/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +0 -1
  522. package/lib/imodel-components-react/quantityformat/misc/UnitDescr.d.ts.map +0 -1
  523. package/lib/imodel-components-react/quantityformat/misc/UnitDescr.js.map +0 -1
  524. package/lib/imodel-components-react/timeline/BaseSolarDataProvider.d.ts.map +0 -1
  525. package/lib/imodel-components-react/timeline/BaseSolarDataProvider.js.map +0 -1
  526. package/lib/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts.map +0 -1
  527. package/lib/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +0 -1
  528. package/lib/imodel-components-react/timeline/ContextMenu.d.ts.map +0 -1
  529. package/lib/imodel-components-react/timeline/ContextMenu.js.map +0 -1
  530. package/lib/imodel-components-react/timeline/InlineEdit.d.ts.map +0 -1
  531. package/lib/imodel-components-react/timeline/InlineEdit.js.map +0 -1
  532. package/lib/imodel-components-react/timeline/PlayerButton.d.ts.map +0 -1
  533. package/lib/imodel-components-react/timeline/PlayerButton.js.map +0 -1
  534. package/lib/imodel-components-react/timeline/Scrubber.d.ts.map +0 -1
  535. package/lib/imodel-components-react/timeline/Scrubber.js.map +0 -1
  536. package/lib/imodel-components-react/timeline/SolarTimeline.d.ts.map +0 -1
  537. package/lib/imodel-components-react/timeline/SolarTimeline.js.map +0 -1
  538. package/lib/imodel-components-react/timeline/SpeedTimeline.d.ts.map +0 -1
  539. package/lib/imodel-components-react/timeline/SpeedTimeline.js.map +0 -1
  540. package/lib/imodel-components-react/timeline/TimelineComponent.d.ts.map +0 -1
  541. package/lib/imodel-components-react/timeline/TimelineComponent.js.map +0 -1
  542. package/lib/imodel-components-react/timeline/interfaces.d.ts.map +0 -1
  543. package/lib/imodel-components-react/timeline/interfaces.js.map +0 -1
  544. package/lib/imodel-components-react/viewport/ViewportComponent.d.ts.map +0 -1
  545. package/lib/imodel-components-react/viewport/ViewportComponent.js.map +0 -1
  546. package/lib/imodel-components-react/viewport/ViewportComponentEvents.d.ts.map +0 -1
  547. package/lib/imodel-components-react/viewport/ViewportComponentEvents.js.map +0 -1
  548. package/lib/imodel-components-react.d.ts.map +0 -1
  549. package/lib/imodel-components-react.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawingNavigationAid.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/navigationaids/DrawingNavigationAid.tsx"],"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/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./DrawingNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Constant, Geometry, Matrix3d, Point2d, Point3d, Point4d, Vector3d } from \"@itwin/core-geometry\";\nimport { IModelApp, IModelConnection, ScreenViewport, ViewManager, Viewport, ViewState } from \"@itwin/core-frontend\";\nimport { SpecialKey } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { UiIModelComponents } from \"../UiIModelComponents\";\nimport { ViewportComponentEvents, ViewRotationChangeEventArgs } from \"../viewport/ViewportComponentEvents\";\n\n// cSpell:ignore Quaternion Quaternions unrotate\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n\n/**\n * Enum for mode that minimap is currently in\n * @internal\n */\nexport enum MapMode {\n Opened = \"map-opened\",\n Closed = \"map-closed\",\n}\n\n/** Properties for the [[DrawingNavigationAid]] component\n * @public\n */\nexport interface DrawingNavigationAidProps extends CommonProps {\n iModelConnection: IModelConnection;\n viewport?: Viewport;\n\n // used only in testing\n\n /** @internal */\n animationTime?: number;\n /** @internal */\n openSize?: Vector3d;\n /** @internal */\n closeSize?: Vector3d;\n /** @internal */\n initialMapMode?: MapMode;\n /** @internal */\n onAnimationEnd?: () => void;\n /** @internal */\n initialRotateMinimapWithView?: boolean;\n /** @internal */\n initialView?: ViewState;\n /** @internal */\n viewManagerOverride?: ViewManager;\n /** @internal */\n screenViewportOverride?: typeof ScreenViewport;\n}\n\n/** @internal */\ninterface DrawingNavigationAidState {\n startOrigin: Point3d;\n origin: Point3d;\n extents: Vector3d;\n startRotation: Matrix3d;\n rotation: Matrix3d;\n\n startMapOrigin: Point3d;\n mapOrigin: Point3d;\n startMapExtents: Vector3d;\n mapExtents: Vector3d;\n\n mouseStart: Point2d;\n panningDirection: Vector3d;\n startDrawingZoom: number;\n drawingZoom: number;\n\n mode: MapMode;\n animation: number;\n\n isMoving: boolean;\n isPanning: boolean;\n\n viewId: string;\n view: ViewState | undefined;\n\n rotateMinimapWithView: boolean;\n}\n\n/**\n * A Drawing Navigation Aid.\n * @public\n */\nexport class DrawingNavigationAid extends React.Component<DrawingNavigationAidProps, DrawingNavigationAidState> {\n private _rootElement = React.createRef<HTMLDivElement>();\n private _viewContainerElement = React.createRef<HTMLDivElement>();\n private _viewElement = React.createRef<HTMLDivElement>();\n private _rootOffset: DOMRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0 });\n private _viewport: Viewport | undefined;\n private _animationFrame: any;\n private _mounted: boolean = false;\n\n /** @internal */\n public override readonly state: Readonly<DrawingNavigationAidState>;\n\n constructor(props: DrawingNavigationAidProps) {\n super(props);\n const mode = props.initialMapMode || MapMode.Closed;\n const mapExtents = mode === MapMode.Closed ? this._getClosedMapSize() : this._getOpenedMapSize();\n const startMapExtents = mapExtents;\n\n this.state = {\n startOrigin: Point3d.createZero(),\n origin: Point3d.createZero(),\n extents: Vector3d.create(1, 1, 1),\n startRotation: Matrix3d.createIdentity(),\n rotation: Matrix3d.createIdentity(),\n\n startMapOrigin: Point3d.createZero(),\n mapOrigin: Point3d.createZero(),\n startMapExtents,\n mapExtents,\n\n mouseStart: Point2d.createZero(),\n panningDirection: Vector3d.createZero(),\n startDrawingZoom: 1.0,\n drawingZoom: 1.0,\n\n mode,\n animation: 1.0,\n\n viewId: props.initialView !== undefined ? props.initialView.id : \"\",\n view: props.initialView,\n\n isMoving: false,\n isPanning: false,\n rotateMinimapWithView: props.initialRotateMinimapWithView !== undefined ? props.initialRotateMinimapWithView : false,\n };\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const {\n startOrigin, origin, extents,\n startRotation, rotation,\n startMapOrigin, mapOrigin,\n startMapExtents, mapExtents,\n startDrawingZoom, drawingZoom,\n animation,\n viewId,\n mode, rotateMinimapWithView,\n } = this.state;\n\n const a = DrawingNavigationAid._animationFn(animation);\n const rot = Matrix3d.createFromQuaternion(Point4d.interpolateQuaternions(startRotation.toQuaternion(), a, rotation.toQuaternion()));\n const or = startOrigin.interpolate(a, origin);\n const map = startMapOrigin.interpolate(a, mapOrigin);\n const sz = startMapExtents.interpolate(a, mapExtents);\n const dz = Geometry.interpolate(startDrawingZoom, a, drawingZoom);\n\n const rootStyle: React.CSSProperties = {\n width: sz.x, height: sz.y,\n ...this.props.style,\n };\n const is3D = this._isViewport3D();\n\n const tOr = rotateMinimapWithView || is3D ? rotation.multiplyVector(Vector3d.createFrom(or)) : Vector3d.createFrom(or);\n const tMap = rotateMinimapWithView || is3D ? rotation.multiplyVector(Vector3d.createFrom(map)) : Vector3d.createFrom(map);\n\n const tPosX = (tOr.x - extents.x / 2 - tMap.x) * dz + sz.x / 2;\n const tPosY = (-tOr.y - extents.y / 2 + tMap.y) * dz + sz.y / 2;\n const viewWindowStyle = {\n transform: `translate(${tPosX}px, ${tPosY}px)`,\n height: extents.y * dz,\n width: extents.x * dz,\n };\n if (!rotateMinimapWithView && !is3D)\n viewWindowStyle.transform =\n \"matrix3d(\" +\n `${rot.at(0, 0)}, ${rot.at(1, 0)}, ${rot.at(2, 0)}, 0, ` +\n `${rot.at(0, 1)}, ${rot.at(1, 1)}, ${rot.at(2, 1)}, 0, ` +\n `${rot.at(0, 2)}, ${rot.at(1, 2)}, ${rot.at(2, 2)}, 0, ` +\n `${tPosX}, ${tPosY}, 0, 1)`;\n const isAnimating = animation !== 1 && !startMapExtents.isExactEqual(mapExtents);\n if (mode === MapMode.Opened || isAnimating) {\n rootStyle.position = \"fixed\";\n rootStyle.right = window.innerWidth - this._rootOffset.right;\n rootStyle.top = this._rootOffset.top;\n }\n\n const halfExtents = extents.scale(.5);\n const offset = rotateMinimapWithView || is3D ? Vector3d.createZero() : rotation.multiplyTransposeVector(halfExtents).minus(halfExtents);\n\n const unrotateLabel = UiIModelComponents.translate(\"drawing.unrotate\");\n const e = sz.scale(1 / dz);\n const halfMapExtents = e.scale(.5);\n const mapOffset = rotateMinimapWithView || is3D ? rotation.multiplyTransposeVector(halfMapExtents) : halfMapExtents;\n const viewManager = this.props.viewManagerOverride ? this.props.viewManagerOverride : /* istanbul ignore next */ IModelApp.viewManager;\n const screenViewport = this.props.screenViewportOverride ? this.props.screenViewportOverride : /* istanbul ignore next */ ScreenViewport;\n const nodes = (\n <div className={classnames(\"components-drawing-navigation-aid\", this.props.className)}\n data-testid=\"components-drawing-navigation-aid\"\n ref={this._rootElement}\n onWheel={this._handleWheel}\n onMouseDown={this._handleDrawingMouseDown}\n style={rootStyle}\n role=\"presentation\">\n <DrawingNavigationCanvas view={this.state.view} viewManagerOverride={viewManager} screenViewportOverride={screenViewport} viewId={viewId} origin={map.plus(offset).minus(mapOffset)} extents={e} zoom={dz} rotation={rotateMinimapWithView || is3D ? rotation : Matrix3d.createIdentity()} />\n <div className=\"drawing-container\"\n data-testid=\"drawing-container\"\n ref={this._viewContainerElement}>\n <div className=\"drawing-view-window\"\n data-testid=\"drawing-view-window\"\n onMouseDown={this._handleWindowMouseDown}\n onTouchStart={this._handleWindowTouchStart}\n style={viewWindowStyle}\n ref={this._viewElement}\n role=\"presentation\" />\n {!is3D &&\n <div className={classnames(\"toggle-rotate-style\", \"icon\", \"icon-rotate-left\", { checked: rotateMinimapWithView })} data-testid=\"toggle-rotate-style\"\n style={mode === MapMode.Closed && !isAnimating ? { bottom: 2, left: 2 } : {}}\n title={UiIModelComponents.translate(\"drawing.rotateStyle\")}\n onClick={this._toggleRotationMode}\n role=\"presentation\" />}\n {!rot.isIdentity &&\n <div className=\"unrotate-button\" data-testid=\"drawing-unrotate-button\" style={mode === MapMode.Closed && !isAnimating ? { top: 2 } : {}} onClick={this._handleUnrotate}\n role=\"button\" tabIndex={-1}\n >\n {unrotateLabel}\n </div>\n }\n {mode === MapMode.Opened && !isAnimating && <>\n <div className=\"close\" data-testid=\"drawing-close-button\" onClick={this._closeLargeMap} role=\"button\" tabIndex={-1}>\n <div className=\"close-icon icon icon-sort-up\" />\n </div>\n <div className=\"zoom\">\n <div className=\"zoom-button icon icon-add\" data-testid=\"drawing-zoom-in-button\" onClick={this._handleZoomIn} role=\"button\" tabIndex={-1} />\n <div className=\"zoom-button icon icon-remove-2\" data-testid=\"drawing-zoom-out-button\" onClick={this._handleZoomOut} role=\"button\" tabIndex={-1} />\n </div>\n </>}\n </div>\n </div>\n );\n if (mode === MapMode.Closed && (animation === 1.0 || startMapExtents.isExactEqual(mapExtents))) {\n return nodes;\n } else {\n let drawingPortal = document.querySelector(\"#components-drawing-portal\");\n if (!drawingPortal) {\n drawingPortal = document.createElement(\"div\");\n drawingPortal.id = \"components-drawing-portal\";\n document.body.appendChild(drawingPortal);\n }\n return ReactDOM.createPortal(nodes, drawingPortal);\n }\n }\n\n private _isViewport3D = () => {\n return this.state.view !== undefined && this.state.view.is3d();\n };\n\n private _lastTime: number | undefined;\n\n private static _animationFn = (t: number) => t < .5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t;\n\n private _animation = () => {\n const t = Date.now();\n const delta = this._lastTime ? t - this._lastTime : 16;\n this._lastTime = t;\n if (this.state.animation !== 1) {\n const animation = Math.min(1, this.state.animation + delta / (1000 * (this.props.animationTime || 0.4)));\n this._updateFrustum();\n\n // istanbul ignore next\n if (this._mounted) {\n this.setState({ animation }, () => {\n this._animationFrame = setTimeout(this._animation, 16.667);\n });\n }\n } else {\n this._lastTime = undefined;\n this._animationEnd();\n }\n };\n\n private _animationEnd = () => {\n const hasViewportMoved = !this.state.origin.isAlmostEqual(this.state.startOrigin) ||\n !this.state.rotation.isAlmostEqual(this.state.startRotation);\n const startMapOrigin = Point3d.createFrom(this.state.mapOrigin);\n const startMapExtents = Vector3d.createFrom(this.state.mapExtents);\n const startDrawingZoom = this.state.drawingZoom;\n const startOrigin = this.state.origin;\n const startRotation = this.state.rotation;\n // istanbul ignore next\n if (this._mounted) {\n this.setState({ startMapOrigin, startDrawingZoom, startOrigin, startRotation, startMapExtents }, () => {\n // istanbul ignore else\n if (this.props.onAnimationEnd)\n this.props.onAnimationEnd();\n if (hasViewportMoved)\n this._updateFrustum(true);\n });\n }\n };\n\n private _lastPanTime: number | undefined;\n\n private _panAnimation = () => {\n const t = Date.now();\n if (this._lastPanTime === undefined)\n this._lastPanTime = t - 16.667;\n const delta = t - this._lastPanTime;\n this._lastPanTime = t;\n // istanbul ignore else\n if (!this.state.panningDirection.isAlmostZero && this.state.isMoving) {\n const { panningDirection } = this.state;\n const offset = panningDirection.scale(delta / 1000 / this.state.drawingZoom);\n const mapOrigin = this.state.mapOrigin.plus(offset);\n\n const origin = this.state.origin.plus(offset);\n this._updateFrustum();\n // istanbul ignore next\n if (this._mounted) {\n this.setState({ mapOrigin, origin, panningDirection }, () => {\n this._animationFrame = setTimeout(this._panAnimation, 16.667);\n });\n }\n } else {\n this._lastPanTime = undefined;\n this._updateFrustum(true);\n }\n };\n\n public override componentDidMount() {\n this._mounted = true;\n ViewportComponentEvents.onViewRotationChangeEvent.addListener(this._handleViewRotationChangeEvent);\n window.addEventListener(\"mousedown\", this._handleMouseDown as any);\n window.addEventListener(\"mouseup\", this._handleMouseDragEnd as any);\n window.addEventListener(\"mousemove\", this._handleMouseDrag as any);\n window.addEventListener(\"keyup\", this._handleKeyUp as any);\n }\n\n public override componentWillUnmount() {\n ViewportComponentEvents.onViewRotationChangeEvent.removeListener(this._handleViewRotationChangeEvent);\n window.removeEventListener(\"mousedown\", this._handleMouseDown as any);\n window.removeEventListener(\"mouseup\", this._handleMouseDragEnd as any);\n window.removeEventListener(\"mousemove\", this._handleMouseDrag as any);\n window.removeEventListener(\"keyup\", this._handleKeyUp as any);\n clearTimeout(this._animationFrame);\n if (this.props.onAnimationEnd)\n this.props.onAnimationEnd();\n\n const rt = document.getElementById(\"components-drawing-portal\") as HTMLDivElement;\n if (rt && rt.parentElement !== null && rt.children.length === 0) {\n rt.parentElement.removeChild(rt);\n }\n this._mounted = false;\n }\n\n // Synchronize with rotation coming from the Viewport\n private _handleViewRotationChangeEvent = (args: ViewRotationChangeEventArgs) => {\n // istanbul ignore else\n if (!this.state.isMoving && !this.state.isPanning && this.props.viewport === args.viewport) {\n const extents = args.viewport.view.getExtents().clone();\n const rotation = args.viewport.view.getRotation().clone();\n const halfExtents = extents.scale(.5);\n const offset = this.state.rotateMinimapWithView || this._isViewport3D() ? rotation.multiplyTransposeVector(halfExtents) : halfExtents;\n const origin = args.viewport.view.getOrigin().plus(offset);\n const deltaZoom = (this.state.extents.x - extents.x) / this.state.extents.x;\n let drawingZoom = this.state.drawingZoom / (1 - deltaZoom);\n const deltaOrigin = origin.minus(this.state.origin);\n let mapOrigin = this.state.mapOrigin.plus(deltaOrigin);\n mapOrigin = mapOrigin.plus(Vector3d.createFrom(origin.minus(mapOrigin)).scale(deltaZoom));\n if (this.state.viewId !== args.viewport.view.id) {\n const rect = this.state.rotateMinimapWithView || this._isViewport3D() ? extents : DrawingNavigationAid.findRotatedWindowDimensions(extents, rotation);\n const maxRectDim = Math.max(rect.y, rect.x);\n const maxExtentDim = Math.max(this.state.mapExtents.x, this.state.mapExtents.y);\n drawingZoom = maxExtentDim / (3 * maxRectDim);\n mapOrigin = origin.clone();\n this._viewport = args.viewport;\n this.setState({ viewId: args.viewport.view.id, view: args.viewport.view.clone() });\n }\n // istanbul ignore next\n if (this._mounted) {\n this.setState({\n startOrigin: origin, origin, extents,\n startRotation: rotation, rotation,\n startMapOrigin: mapOrigin, mapOrigin,\n startDrawingZoom: drawingZoom, drawingZoom,\n });\n }\n }\n };\n\n private _updateFrustum = (complete: boolean = false) => {\n const halfExtents = this.state.extents.scale(.5);\n const offset = this.state.rotateMinimapWithView || this._isViewport3D() ? this.state.rotation.multiplyTransposeVector(halfExtents) : halfExtents;\n const origin = this.state.origin.minus(offset);\n ViewportComponentEvents.setDrawingViewportState(origin, this.state.rotation, complete);\n };\n\n private _toggleRotationMode = () => {\n const rotateMinimapWithView = !this.state.rotateMinimapWithView;\n this.setState({ rotateMinimapWithView }, () => {\n if (this._viewport)\n this._handleViewRotationChangeEvent({ viewport: this._viewport });\n });\n };\n\n private _handleKeyUp = (event: React.KeyboardEvent) => {\n // istanbul ignore else\n if (event.key === SpecialKey.Escape && this.state.mode === MapMode.Opened) {\n this._closeLargeMap();\n }\n };\n\n private _lastClientXY: Point2d = Point2d.createZero();\n\n private _processWindowDrag(movement: Point2d) {\n const vect = Vector3d.create(movement.x / this.state.drawingZoom, -movement.y / this.state.drawingZoom, 0);\n const offset = this.state.rotateMinimapWithView || this._isViewport3D() ? this.state.rotation.multiplyTransposeVector(vect) : vect;\n const origin = this.state.origin.plus(offset);\n const panningDirection = this._getPanVector();\n const wasAlmostZero = this.state.panningDirection.isAlmostZero;\n this.setState({ startOrigin: origin, origin, panningDirection, isPanning: false }, () => {\n this._updateFrustum();\n if (wasAlmostZero && !this.state.panningDirection.isAlmostZero) {\n this._animationFrame = setTimeout(this._panAnimation, 16.667);\n }\n });\n }\n\n private _processWindowEndDrag() {\n this.setState({ isMoving: false });\n this._updateFrustum(true);\n if (this.state.mode === MapMode.Closed) {\n setTimeout(() => {\n const startMapOrigin = this.state.mapOrigin;\n const mapOrigin = this.state.origin.clone();\n // istanbul ignore next\n if (this._mounted) {\n this.setState({ startMapOrigin, mapOrigin, animation: 0 }, () => {\n this._animationFrame = setTimeout(this._animation, 16.667);\n });\n }\n }, 0);\n }\n }\n\n private _handleMouseDown = (event: React.MouseEvent) => {\n // Used only to determine if mouse was moved between mousedown and mouseup\n const mouseStart = Point2d.create(event.clientX, event.clientY);\n this.setState({ mouseStart });\n this._lastClientXY = Point2d.create(event.clientX, event.clientY);\n };\n\n private _handleDrawingMouseDown = (event: React.MouseEvent) => {\n if (this.state.mode === MapMode.Opened) {\n event.preventDefault();\n this.setState({ isPanning: true });\n }\n };\n\n private _handleWindowMouseDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setState({ isMoving: true });\n };\n\n private _handleMouseDrag = (event: React.MouseEvent) => {\n const mouse = Point2d.create(event.clientX, event.clientY);\n const movement = mouse.minus(this._lastClientXY);\n if (this.state.isMoving) {\n // add scaled mouse movement\n this._processWindowDrag(movement);\n } else {\n // istanbul ignore else\n if (this.state.isPanning && this.state.mode === MapMode.Opened) {\n const vect = Vector3d.create(movement.x / this.state.drawingZoom, -movement.y / this.state.drawingZoom, 0);\n const offset = this.state.rotateMinimapWithView || this._isViewport3D() ? this.state.rotation.multiplyTransposeVector(vect) : vect;\n const mapOrigin = this.state.mapOrigin.minus(offset);\n this.setState({ startMapOrigin: mapOrigin, mapOrigin });\n }\n }\n this._lastClientXY = mouse;\n };\n\n private _handleMouseDragEnd = (event: React.MouseEvent) => {\n const mouse = Point2d.create(event.clientX, event.clientY);\n if (mouse.isAlmostEqual(this.state.mouseStart) &&\n this.state.mode === MapMode.Closed &&\n (event.target === this._viewContainerElement.current || event.target === this._viewElement.current)) {\n this._openLargeMap();\n } else if (this.state.isMoving) {\n this._processWindowEndDrag();\n } else if (this.state.isPanning) {\n // istanbul ignore else\n if (this.state.mode === MapMode.Opened) {\n event.stopPropagation();\n this.setState({ isPanning: false });\n }\n } else if ((!(event.target instanceof Node) || this._rootElement.current && !this._rootElement.current.contains(event.target)) && mouse.isAlmostEqual(this.state.mouseStart)) {\n this._closeLargeMap();\n }\n this._lastClientXY = Point2d.create(event.clientX, event.clientY);\n };\n\n // istanbul ignore next - unable to test touch\n private _handleWindowTouchStart = (event: any) => {\n if (1 !== event.targetTouches.length)\n return;\n window.addEventListener(\"touchmove\", this._onTouchMove, false);\n window.addEventListener(\"touchend\", this._onTouchEnd, false);\n const mouseStart = Point2d.create(event.targetTouches[0].clientX, event.targetTouches[0].clientY);\n this.setState({ mouseStart });\n this._lastClientXY = mouseStart.clone();\n this.setState({ isMoving: true });\n };\n\n // istanbul ignore next - unable to test touch\n private _onTouchMove = (event: TouchEvent) => {\n if (1 !== event.targetTouches.length)\n return;\n const mouse = Point2d.create(event.targetTouches[0].clientX, event.targetTouches[0].clientY);\n const movement = mouse.minus(this._lastClientXY);\n // add scaled mouse movement\n this._processWindowDrag(movement);\n this._lastClientXY = mouse;\n };\n\n // istanbul ignore next - unable to test touch\n private _onTouchEnd = (event: TouchEvent) => {\n if (0 !== event.targetTouches.length)\n return;\n this._processWindowEndDrag();\n if (0 !== event.changedTouches.length)\n this._lastClientXY = Point2d.create(event.changedTouches[0].clientX, event.changedTouches[0].clientY); // Doesn't seem necessary...but _handleMouseDragEnd sets it...\n window.removeEventListener(\"touchmove\", this._onTouchMove);\n window.removeEventListener(\"touchend\", this._onTouchEnd);\n };\n\n /** @internal */\n public static getDefaultClosedMapSize = (): Vector3d => {\n return Vector3d.create(96, 96);\n };\n\n /** @internal */\n public static getDefaultOpenedMapSize = (paddingX: number = 0, paddingY: number = 0): Vector3d => {\n return Vector3d.create(window.innerWidth / 3 - 2 * (window.innerWidth - paddingX), window.innerHeight / 3 - 2 * paddingY);\n };\n\n private _getClosedMapSize = (): Vector3d => {\n if (this.props.closeSize === undefined)\n return DrawingNavigationAid.getDefaultClosedMapSize();\n return this.props.closeSize;\n };\n\n private _getOpenedMapSize = (): Vector3d => {\n if (this.props.openSize === undefined)\n return DrawingNavigationAid.getDefaultOpenedMapSize(this._rootOffset.right, this._rootOffset.top);\n return this.props.openSize;\n };\n\n private _openLargeMap = () => {\n // istanbul ignore else\n if (this.state.mode === MapMode.Closed && this.state.animation === 1.0) {\n // istanbul ignore else\n if (this._rootElement.current) {\n const rect = this._rootElement.current.getBoundingClientRect();\n this._rootOffset = rect;\n }\n const startMapExtents = Vector3d.createFrom(this.state.mapExtents);\n const mapExtents = this._getOpenedMapSize();\n this.setState({\n mode: MapMode.Opened,\n isMoving: false, isPanning: false,\n mapExtents, startMapExtents,\n animation: 0,\n }, () => {\n this._animationFrame = setTimeout(this._animation);\n });\n }\n };\n\n private _closeLargeMap = () => {\n // istanbul ignore else\n if (this.state.mode === MapMode.Opened && this.state.animation === 1.0) {\n const startMapOrigin = this.state.mapOrigin;\n const mapOrigin = this.state.origin.clone();\n const startMapExtents = Vector3d.createFrom(this.state.mapExtents);\n const mapExtents = this._getClosedMapSize();\n const rect = this.state.rotateMinimapWithView || this._isViewport3D() ? this.state.extents : DrawingNavigationAid.findRotatedWindowDimensions(this.state.extents, this.state.rotation);\n const maxRectDim = Math.max(rect.y, rect.x);\n const maxExtentDim = Math.max(mapExtents.x, mapExtents.y);\n const drawingZoom = maxExtentDim / (3 * maxRectDim);\n const startDrawingZoom = this.state.drawingZoom;\n this.setState({\n mode: MapMode.Closed,\n startMapOrigin, mapOrigin,\n startDrawingZoom, drawingZoom,\n isMoving: false, isPanning: false,\n startMapExtents, mapExtents,\n panningDirection: Vector3d.createZero(),\n animation: 0,\n }, () => {\n this._animationFrame = setTimeout(this._animation, 16.667);\n });\n }\n };\n\n private _getPanVector = () => {\n const is3D = this._isViewport3D();\n const rect = this.state.rotateMinimapWithView || is3D ? this.state.extents : DrawingNavigationAid.findRotatedWindowDimensions(this.state.extents, this.state.rotation);\n\n const mapExtents = this.state.mapExtents.scale(1 / this.state.drawingZoom);\n\n const maxMagnitude = 80; // maximum acceleration\n const magnitudeTravel = 30; // How far, in pixels, that magnitude increases from 0 to max acceleration\n\n const diff = Vector3d.createFrom(this.state.origin.minus(this.state.mapOrigin));\n const diffVector = this.state.rotateMinimapWithView || is3D ? this.state.rotation.multiplyVector(diff) : diff;\n\n // capture any values\n const magnitudeVector = Vector3d.create(\n Math.max(0, Math.abs(diffVector.x) - (mapExtents.x - rect.x) / 2),\n Math.max(0, Math.abs(diffVector.y) - (mapExtents.y - rect.y) / 2),\n );\n if (magnitudeVector.isAlmostZero)\n return Vector3d.createZero();\n const magnitude = Math.min(magnitudeVector.magnitude() * this.state.drawingZoom, magnitudeTravel) / magnitudeTravel * maxMagnitude;\n\n const vect = Vector3d.createFrom(this.state.origin.minus(this.state.mapOrigin)); // vect will never be zero or magnitude would also be zero\n const norm = vect.normalize();\n return norm!.scale(magnitude); // norm is only undefined when vect is zero, in which it would have returned at magnitudeVector.isAlmostZero\n };\n\n private _handleWheel = (event: React.WheelEvent) => {\n // istanbul ignore else\n if (this.state.mode === MapMode.Opened && this.state.animation === 1) {\n const { mapOrigin, drawingZoom } = this.state;\n const mapSize = this._getOpenedMapSize();\n\n const mouseX = event.clientX - this._rootOffset.right + mapSize.x / 2;\n const mouseY = event.clientY - this._rootOffset.top - mapSize.y / 2;\n const is3D = this._isViewport3D();\n if (event.deltaY < 0) {\n const zoom = drawingZoom * 1.1;\n const vect = Vector3d.create(mouseX * 0.1 / zoom, -mouseY * 0.1 / zoom, 0);\n const offset = this.state.rotateMinimapWithView || is3D ? this.state.rotation.multiplyTransposeVector(vect) : vect;\n const m = mapOrigin.plus(offset);\n this.setState({ mapOrigin: m, drawingZoom: zoom });\n }\n if (event.deltaY > 0) {\n const zoom = drawingZoom / 1.1;\n const vect = Vector3d.create(mouseX * 0.1 / drawingZoom, -mouseY * 0.1 / drawingZoom, 0);\n const offset = this.state.rotateMinimapWithView || is3D ? this.state.rotation.multiplyTransposeVector(vect) : vect;\n const m = mapOrigin.minus(offset);\n this.setState({ mapOrigin: m, drawingZoom: zoom });\n }\n }\n };\n\n private _handleZoomIn = () => {\n const zoom = this.state.drawingZoom * 1.4;\n this.setState({ drawingZoom: zoom });\n };\n\n private _handleZoomOut = () => {\n const zoom = this.state.drawingZoom / 1.4;\n this.setState({ drawingZoom: zoom });\n };\n\n private _handleUnrotate = () => {\n const startRotation = this.state.rotation;\n const halfExtents = this.state.extents.scale(.5);\n const offset = this.state.rotateMinimapWithView || this._isViewport3D() ? Vector3d.createZero() : this.state.rotation.multiplyTransposeVector(halfExtents).minus(halfExtents);\n const startOrigin = this.state.origin;\n const origin = this.state.origin.plus(offset);\n const startMapOrigin = this.state.mapOrigin;\n const mapOrigin = this.state.mapOrigin.plus(offset);\n this.setState({ animation: 0, startOrigin, origin, startMapOrigin, mapOrigin, startRotation, rotation: Matrix3d.createIdentity() }, () => {\n this._animationFrame = setTimeout(this._animation, 16.667);\n });\n };\n\n /** @internal */\n public static findRotatedWindowDimensions = (extents: Vector3d, rotation: Matrix3d) => {\n const cos = rotation.at(0, 0);\n const sin = rotation.at(1, 0);\n // extents.x/y should be divided in half, but we don't have to do that immediately.\n const cosWidth = cos * extents.x;\n const sinHeight = sin * extents.y;\n\n const sinWidth = cos * extents.x;\n const cosHeight = sin * extents.y;\n\n const a = Math.atan2(sin, cos);\n\n if (a % Math.PI >= 0 && a % Math.PI < Math.PI / 2) {\n const y1 = -cosHeight - sinWidth;\n const x2 = cosWidth + sinHeight;\n const y3 = cosHeight + sinWidth;\n const x4 = -cosWidth - sinHeight;\n // Instead, divide total difference\n return Vector3d.create(Math.abs(x2 - x4) / 2, Math.abs(y1 - y3) / 2);\n } else {\n const x1 = -cosWidth + sinHeight;\n const y2 = -cosHeight + sinWidth;\n const x3 = cosWidth - sinHeight;\n const y4 = cosHeight - sinWidth;\n return Vector3d.create(Math.abs(x1 - x3) / 2, Math.abs(y2 - y4) / 2);\n }\n };\n}\n\n/** @internal */\nexport interface DrawingNavigationCanvasProps {\n view: ViewState | undefined;\n viewId?: string;\n origin: Point3d;\n extents: Vector3d;\n zoom: number;\n rotation: Matrix3d;\n viewManagerOverride?: ViewManager;\n screenViewportOverride?: typeof ScreenViewport;\n canvasSizeOverride?: boolean;\n}\n\n/** @internal */\nexport class DrawingNavigationCanvas extends React.Component<DrawingNavigationCanvasProps> {\n private _canvasElement = React.createRef<HTMLDivElement>();\n private _vp?: ScreenViewport;\n\n public override render(): React.ReactNode {\n return (\n <div className=\"drawing-canvas\"\n data-testid=\"drawing-canvas\"\n ref={this._canvasElement}>\n </div>\n );\n }\n\n public override componentDidMount() {\n if (this._canvasElement.current && this.props.view !== undefined) {\n const viewManager = this.props.viewManagerOverride ? this.props.viewManagerOverride : /* istanbul ignore next */ IModelApp.viewManager;\n /* istanbul ignore next */\n const screenViewport = this.props.screenViewportOverride ? this.props.screenViewportOverride : /* istanbul ignore next */ ScreenViewport;\n const previousView = viewManager.selectedView;\n this._vp = screenViewport.create(this._canvasElement.current, this.props.view);\n this.customizeViewport(this._vp);\n viewManager.addViewport(this._vp);\n void viewManager.setSelectedView(previousView); // switch to original viewport\n this._update();\n }\n }\n\n private customizeViewport(vp: ScreenViewport): void {\n /* istanbul ignore next */\n if (vp.logo.style)\n vp.logo.style.display = \"none\";\n\n /* istanbul ignore next */\n if (vp.viewFlags.acsTriad)\n vp.viewFlags = vp.viewFlags.with(\"acsTriad\", false);\n }\n\n private _update = () => {\n // istanbul ignore else\n if (this._vp) {\n const max = Math.max(this.props.extents.x, this.props.extents.y);\n this._vp.view.extentLimits = { max, min: Constant.oneMillimeter };\n this._vp.view.setOrigin(this.props.origin);\n this._vp.view.setRotation(this.props.rotation);\n this._vp.view.setExtents(this.props.extents);\n this._vp.applyViewState(this._vp.view);\n }\n };\n\n public override componentDidUpdate(oldProps: DrawingNavigationCanvasProps) {\n const viewManager = this.props.viewManagerOverride ? this.props.viewManagerOverride : /* istanbul ignore next */ IModelApp.viewManager;\n if (this.props.view !== undefined) {\n if (oldProps.view !== this.props.view) {\n const screenViewport = this.props.screenViewportOverride ? this.props.screenViewportOverride : /* istanbul ignore next */ ScreenViewport;\n if (oldProps !== undefined && oldProps.viewId !== \"\" && oldProps.viewId !== this.props.viewId && this._vp) {\n viewManager.dropViewport(this._vp, true);\n }\n // istanbul ignore else\n if (this._canvasElement.current &&\n (this.props.canvasSizeOverride ||\n ( /* istanbul ignore next */ this._canvasElement.current.clientWidth !== 0 && /* istanbul ignore next */ this._canvasElement.current.clientHeight !== 0))) {\n const previousView = viewManager.selectedView;\n this._vp = screenViewport.create(this._canvasElement.current, this.props.view.clone());\n this.customizeViewport(this._vp);\n viewManager.addViewport(this._vp);\n void viewManager.setSelectedView(previousView); // switch to original viewport\n this._update();\n }\n } else if (!this.props.origin.isExactEqual(oldProps.origin) || !this.props.extents.isExactEqual(oldProps.extents) || this.props.zoom !== oldProps.zoom || !this.props.rotation.isExactEqual(oldProps.rotation)) {\n this._update();\n }\n }\n }\n\n public override componentWillUnmount() {\n if (this._vp) {\n const viewManager = this.props.viewManagerOverride ? this.props.viewManagerOverride : /* istanbul ignore next */ IModelApp.viewManager;\n viewManager.dropViewport(this._vp, true);\n }\n }\n\n}\n"]}
@@ -0,0 +1,134 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/z-index";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
7
+
8
+ #components-drawing-portal {
9
+ @include uicore-z-index(dragged-widget);
10
+ }
11
+
12
+ .components-drawing-navigation-aid {
13
+ position: relative;
14
+ overflow: hidden;
15
+ box-shadow: 0 0 0 1px $buic-inputs-border, 0 0 0 2px $buic-text-color;
16
+ height: 96px;
17
+ width: 96px;
18
+
19
+ .drawing-canvas {
20
+ position: absolute;
21
+ left: 0px;
22
+ top: 0px;
23
+ width: 100%;
24
+ height: 100%;
25
+ min-width: 96px;
26
+ min-height: 96px;
27
+ }
28
+
29
+ .drawing-container {
30
+ position: absolute;
31
+ left: 0px;
32
+ top: 0px;
33
+ width: 100%;
34
+ height: 100%;
35
+
36
+ .drawing-view-window {
37
+ position: absolute;
38
+ left: 0px;
39
+ top: 0px;
40
+ border: white 1px solid;
41
+ background-color: rgba(0, 0, 0, 0.5);
42
+ }
43
+
44
+ .unrotate-button {
45
+ position: absolute;
46
+ background-color: $buic-background-control;
47
+ border: 1px solid $buic-background-toolbutton-stroke;
48
+ cursor: pointer;
49
+ border-radius: 3px;
50
+ top: 10px;
51
+ left: 0px;
52
+ right: 0px;
53
+ margin: auto;
54
+ font-size: 13px;
55
+ height: 20px;
56
+ width: 64px;
57
+ line-height: 20px;
58
+ text-align: center;
59
+
60
+ &:focus {
61
+ outline: none;
62
+ }
63
+ }
64
+
65
+ .close {
66
+ position: absolute;
67
+ cursor: pointer;
68
+ background-color: $buic-background-control;
69
+ border: 1px solid $buic-background-toolbutton-stroke;
70
+ border-radius: 3px;
71
+ right: 10px;
72
+ top: 10px;
73
+
74
+ .close-icon {
75
+ height: 32px;
76
+ width: 32px;
77
+ line-height: 32px;
78
+ text-align: center;
79
+ font-size: 18px;
80
+ transform: rotate(45deg);
81
+ }
82
+ }
83
+
84
+ .toggle-rotate-style {
85
+ position: absolute;
86
+ cursor: pointer;
87
+ background-color: $buic-background-control;
88
+ opacity: 0.5;
89
+ color: $buic-foreground-body;
90
+
91
+ &.checked {
92
+ color: $buic-foreground-primary;
93
+ }
94
+
95
+ &:hover {
96
+ opacity: 1;
97
+ }
98
+
99
+ border-radius: 3px;
100
+ bottom: 10px;
101
+ left: 10px;
102
+ height: 16px;
103
+ width: 16px;
104
+ font-size: 12px;
105
+ line-height: 16px;
106
+ text-align: center;
107
+ }
108
+
109
+ .zoom {
110
+ position: absolute;
111
+ border: 1px solid $buic-background-toolbutton-stroke;
112
+ border-radius: 3px;
113
+ right: 10px;
114
+ bottom: 10px;
115
+
116
+ .zoom-button {
117
+ cursor: pointer;
118
+ background-color: $buic-background-control;
119
+ height: 32px;
120
+ width: 32px;
121
+ line-height: 32px;
122
+ text-align: center;
123
+
124
+ &:first-child {
125
+ border-bottom: 1px solid $buic-background-toolbutton-stroke;
126
+ }
127
+
128
+ &:focus {
129
+ outline: none;
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
@@ -0,0 +1,27 @@
1
+ /** @packageDocumentation
2
+ * @module QuantityFormat
3
+ */
4
+ import "./FormatPanel.scss";
5
+ import * as React from "react";
6
+ import { FormatProps, FormatterSpec, UnitProps, UnitsProvider } from "@itwin/core-quantity";
7
+ import { CommonProps } from "@itwin/core-react";
8
+ /** Properties of [[FormatPanel]] component.
9
+ * @alpha
10
+ */
11
+ export interface FormatPanelProps extends CommonProps {
12
+ initialFormat: FormatProps;
13
+ unitsProvider: UnitsProvider;
14
+ persistenceUnit: Promise<UnitProps> | UnitProps;
15
+ showSample?: boolean;
16
+ initialMagnitude?: number;
17
+ enableMinimumProperties?: boolean;
18
+ onFormatChange?: (format: FormatProps) => void;
19
+ provideFormatSpec?: (formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) => Promise<FormatterSpec>;
20
+ providePrimaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;
21
+ provideSecondaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;
22
+ }
23
+ /** Component to show/edit Quantity Format.
24
+ * @alpha
25
+ */
26
+ export declare function FormatPanel(props: FormatPanelProps): JSX.Element;
27
+ //# sourceMappingURL=FormatPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatPanel.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAU,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,aAAa,EAAE,WAAW,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnI,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1H,wBAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CAC7H;AAOD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eAiElD"}
@@ -0,0 +1,77 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module QuantityFormat
7
+ */
8
+ import "./FormatPanel.scss";
9
+ import * as React from "react";
10
+ import { Format, FormatterSpec } from "@itwin/core-quantity";
11
+ import { FormatPrecision } from "./FormatPrecision";
12
+ import { FormatSample } from "./FormatSample";
13
+ import { FormatTypeOption } from "./FormatType";
14
+ import { FormatUnitLabel } from "./FormatUnitLabel";
15
+ import { FormatUnits } from "./FormatUnits";
16
+ import { MiscFormatOptions } from "./MiscFormatOptions";
17
+ async function generateFormatSpec(formatProps, persistenceUnit, unitsProvider) {
18
+ const actualFormat = await Format.createFromJSON("custom", unitsProvider, formatProps);
19
+ return FormatterSpec.create(actualFormat.name, actualFormat, unitsProvider, persistenceUnit);
20
+ }
21
+ /** Component to show/edit Quantity Format.
22
+ * @alpha
23
+ */
24
+ export function FormatPanel(props) {
25
+ const [formatSpec, setFormatSpec] = React.useState();
26
+ const { initialFormat, showSample, initialMagnitude, unitsProvider, persistenceUnit, onFormatChange, provideFormatSpec, enableMinimumProperties } = props;
27
+ const [formatProps, setFormatProps] = React.useState(initialFormat);
28
+ const [showOptions, setShowOptions] = React.useState(false);
29
+ React.useEffect(() => {
30
+ setFormatProps(initialFormat);
31
+ setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook
32
+ }, [initialFormat]);
33
+ const handleUserFormatChanges = React.useCallback((newProps) => {
34
+ setFormatProps(newProps);
35
+ setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook
36
+ onFormatChange && onFormatChange(newProps);
37
+ }, [onFormatChange]);
38
+ const isMounted = React.useRef(false);
39
+ // runs returned function only when component is unmounted.
40
+ React.useEffect(() => {
41
+ isMounted.current = true;
42
+ return (() => {
43
+ isMounted.current = false;
44
+ });
45
+ }, []);
46
+ React.useEffect(() => {
47
+ async function fetchFormatSpec() {
48
+ const pu = await persistenceUnit;
49
+ let newFormatSpec;
50
+ if (provideFormatSpec) {
51
+ newFormatSpec = await provideFormatSpec(formatProps, pu, unitsProvider);
52
+ }
53
+ else {
54
+ newFormatSpec = await generateFormatSpec(formatProps, pu, unitsProvider);
55
+ }
56
+ isMounted.current && setFormatSpec(newFormatSpec);
57
+ }
58
+ if (!formatSpec)
59
+ fetchFormatSpec(); // eslint-disable-line @typescript-eslint/no-floating-promises
60
+ }, [formatProps, formatSpec, persistenceUnit, provideFormatSpec, unitsProvider]);
61
+ const handleFormatChange = React.useCallback((newFormatProps) => {
62
+ handleUserFormatChanges(newFormatProps);
63
+ }, [handleUserFormatChanges]);
64
+ const handleShowOptions = React.useCallback((show) => {
65
+ setShowOptions(show);
66
+ }, []);
67
+ return (React.createElement("div", { className: "components-quantityFormat-panel" },
68
+ showSample &&
69
+ React.createElement(FormatSample, { formatSpec: formatSpec, initialMagnitude: initialMagnitude }),
70
+ React.createElement(FormatUnits, { unitsProvider: unitsProvider, persistenceUnit: formatSpec === null || formatSpec === void 0 ? void 0 : formatSpec.persistenceUnit, initialFormat: formatProps, onUnitsChange: handleFormatChange }),
71
+ React.createElement(FormatUnitLabel, { formatProps: formatProps, onUnitLabelChange: handleFormatChange }),
72
+ React.createElement(FormatTypeOption, { formatProps: formatProps, onChange: handleFormatChange }),
73
+ React.createElement(FormatPrecision, { formatProps: formatProps, onChange: handleFormatChange }),
74
+ props.providePrimaryChildren && props.providePrimaryChildren(formatProps, handleFormatChange),
75
+ React.createElement(MiscFormatOptions, { formatProps: formatProps, onChange: handleFormatChange, enableMinimumProperties: enableMinimumProperties, showOptions: showOptions, onShowHideOptions: handleShowOptions }, props.provideSecondaryChildren && props.provideSecondaryChildren(formatProps, handleFormatChange))));
76
+ }
77
+ //# sourceMappingURL=FormatPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatPanel.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPanel.tsx"],"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/** @packageDocumentation\n * @module QuantityFormat\n */\n\nimport \"./FormatPanel.scss\";\nimport * as React from \"react\";\nimport { Format, FormatProps, FormatterSpec, UnitProps, UnitsProvider } from \"@itwin/core-quantity\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { FormatPrecision } from \"./FormatPrecision\";\nimport { FormatSample } from \"./FormatSample\";\nimport { FormatTypeOption } from \"./FormatType\";\nimport { FormatUnitLabel } from \"./FormatUnitLabel\";\nimport { FormatUnits } from \"./FormatUnits\";\nimport { MiscFormatOptions } from \"./MiscFormatOptions\";\n\n/** Properties of [[FormatPanel]] component.\n * @alpha\n */\nexport interface FormatPanelProps extends CommonProps {\n initialFormat: FormatProps;\n unitsProvider: UnitsProvider;\n persistenceUnit: Promise<UnitProps> | UnitProps;\n showSample?: boolean;\n initialMagnitude?: number;\n // if true a only primary format properties are initially displayed and a \"More/Less\" link is added.\n enableMinimumProperties?: boolean;\n onFormatChange?: (format: FormatProps) => void;\n provideFormatSpec?: (formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) => Promise<FormatterSpec>;\n providePrimaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\n provideSecondaryChildren?: (formatProps: FormatProps, fireFormatChange: (newProps: FormatProps) => void) => React.ReactNode;\n}\n\nasync function generateFormatSpec(formatProps: FormatProps, persistenceUnit: UnitProps, unitsProvider: UnitsProvider) {\n const actualFormat = await Format.createFromJSON(\"custom\", unitsProvider, formatProps);\n return FormatterSpec.create(actualFormat.name, actualFormat, unitsProvider, persistenceUnit);\n}\n\n/** Component to show/edit Quantity Format.\n * @alpha\n */\nexport function FormatPanel(props: FormatPanelProps) {\n const [formatSpec, setFormatSpec] = React.useState<FormatterSpec>();\n const { initialFormat, showSample, initialMagnitude, unitsProvider, persistenceUnit, onFormatChange, provideFormatSpec, enableMinimumProperties } = props;\n const [formatProps, setFormatProps] = React.useState(initialFormat);\n const [showOptions, setShowOptions] = React.useState(false);\n\n React.useEffect(() => {\n setFormatProps(initialFormat);\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\n }, [initialFormat]);\n\n const handleUserFormatChanges = React.useCallback((newProps: FormatProps) => {\n setFormatProps(newProps);\n setFormatSpec(undefined); // this will trigger the new spec to be created in the useEffect hook\n onFormatChange && onFormatChange(newProps);\n }, [onFormatChange]);\n\n const isMounted = React.useRef(false);\n\n // runs returned function only when component is unmounted.\n React.useEffect(() => {\n isMounted.current = true;\n return (() => {\n isMounted.current = false;\n });\n }, []);\n\n React.useEffect(() => {\n async function fetchFormatSpec() {\n const pu = await persistenceUnit;\n let newFormatSpec: FormatterSpec;\n if (provideFormatSpec) {\n newFormatSpec = await provideFormatSpec(formatProps, pu, unitsProvider);\n } else {\n newFormatSpec = await generateFormatSpec(formatProps, pu, unitsProvider);\n }\n isMounted.current && setFormatSpec(newFormatSpec);\n }\n if (!formatSpec)\n fetchFormatSpec(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }, [formatProps, formatSpec, persistenceUnit, provideFormatSpec, unitsProvider]);\n\n const handleFormatChange = React.useCallback((newFormatProps: FormatProps) => {\n handleUserFormatChanges(newFormatProps);\n }, [handleUserFormatChanges]);\n\n const handleShowOptions = React.useCallback((show: boolean) => {\n setShowOptions(show);\n }, []);\n\n return (\n <div className=\"components-quantityFormat-panel\">\n {showSample &&\n <FormatSample formatSpec={formatSpec} initialMagnitude={initialMagnitude} />\n }\n <FormatUnits unitsProvider={unitsProvider} persistenceUnit={formatSpec?.persistenceUnit} initialFormat={formatProps} onUnitsChange={handleFormatChange} />\n <FormatUnitLabel formatProps={formatProps} onUnitLabelChange={handleFormatChange} />\n <FormatTypeOption formatProps={formatProps} onChange={handleFormatChange} />\n <FormatPrecision formatProps={formatProps} onChange={handleFormatChange} />\n {props.providePrimaryChildren && props.providePrimaryChildren(formatProps, handleFormatChange)}\n <MiscFormatOptions formatProps={formatProps} onChange={handleFormatChange} enableMinimumProperties={enableMinimumProperties} showOptions={showOptions} onShowHideOptions={handleShowOptions}>\n {props.provideSecondaryChildren && props.provideSecondaryChildren(formatProps, handleFormatChange)}\n </MiscFormatOptions>\n </div>\n );\n}\n"]}
@@ -0,0 +1,65 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/inputs/variables";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/select/select";
7
+ @import "~@itwin/itwinui-css/scss/style/typography";
8
+
9
+ .components-quantityFormat-panel {
10
+ display: grid;
11
+ grid-template-columns: auto 1fr;
12
+ row-gap: 0;
13
+ column-gap: 6px;
14
+ align-items: center;
15
+
16
+ >.uicore-label {
17
+ font-size: $iui-font-size;
18
+ margin: 4.4px 0;
19
+
20
+ /* match margin on other select controls so it spaces properly in grid */
21
+ &.uicore-disabled {
22
+ color: $buic-text-color-disabled;
23
+ }
24
+ }
25
+
26
+ >span.components-inline {
27
+ display: flex;
28
+ flex-direction: row;
29
+ align-items: center;
30
+ gap: 4px;
31
+ }
32
+
33
+ >label.core-checkbox.core-checkbox-no-label {
34
+ min-height: 1.57em;
35
+ }
36
+
37
+ >button.components-quantityFormat-more-button {
38
+ grid-column: 1 / span 2;
39
+ border: none;
40
+ outline: none;
41
+ background: none;
42
+ }
43
+
44
+ .components-quantityFormat-more-button-label {
45
+ margin-right: .25em;
46
+ }
47
+
48
+ >a.components-quantityFormat-more-less {
49
+ font-size: $iui-font-size;
50
+ color: $buic-foreground-alert;
51
+ -webkit-transition: text-decoration 1s ease;
52
+ -moz-transition: text-decoration 1s ease;
53
+ -o-transition: text-decoration 1s ease;
54
+ transition: text-decoration 0.1s ease;
55
+
56
+ &:hover {
57
+ text-decoration: underline;
58
+ cursor: pointer;
59
+ }
60
+ }
61
+
62
+ .iui-input {
63
+ padding: $uicore-iui-input-padding;
64
+ }
65
+ }
@@ -0,0 +1,18 @@
1
+ /** @packageDocumentation
2
+ * @module QuantityFormat
3
+ */
4
+ /// <reference types="react" />
5
+ import { CommonProps } from "@itwin/core-react";
6
+ import { FormatProps } from "@itwin/core-quantity";
7
+ /** Properties of [[FormatPrecision]] component.
8
+ * @alpha
9
+ */
10
+ export interface FormatPrecisionProps extends CommonProps {
11
+ formatProps: FormatProps;
12
+ onChange?: (format: FormatProps) => void;
13
+ }
14
+ /** Component to show/edit Quantity Format Precision.
15
+ * @alpha
16
+ */
17
+ export declare function FormatPrecision(props: FormatPrecisionProps): JSX.Element;
18
+ //# sourceMappingURL=FormatPrecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatPrecision.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPrecision.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAU,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAKvE;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAoB1D"}
@@ -0,0 +1,31 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module QuantityFormat
7
+ */
8
+ import * as React from "react";
9
+ import { Format, FormatType } from "@itwin/core-quantity";
10
+ import { DecimalPrecisionSelector } from "./misc/DecimalPrecision";
11
+ import { FractionPrecisionSelector } from "./misc/FractionPrecision";
12
+ import { UiIModelComponents } from "../UiIModelComponents";
13
+ /** Component to show/edit Quantity Format Precision.
14
+ * @alpha
15
+ */
16
+ export function FormatPrecision(props) {
17
+ var _a, _b;
18
+ const { formatProps, onChange } = props;
19
+ const handlePrecisionChange = React.useCallback((precision) => {
20
+ const newFormatProps = { ...formatProps, precision };
21
+ onChange && onChange(newFormatProps);
22
+ }, [formatProps, onChange]);
23
+ const formatType = Format.parseFormatType(formatProps.type, "format");
24
+ const label = React.useRef(UiIModelComponents.translate("QuantityFormat.labels.precision"));
25
+ return (React.createElement(React.Fragment, null,
26
+ React.createElement("span", { className: "uicore-label" }, label.current),
27
+ formatType === FormatType.Fractional ?
28
+ React.createElement(FractionPrecisionSelector, { "data-testid": "fraction-precision-selector", precision: (_a = formatProps.precision) !== null && _a !== void 0 ? _a : 0, onChange: handlePrecisionChange }) :
29
+ React.createElement(DecimalPrecisionSelector, { "data-testid": "decimal-precision-selector", precision: (_b = formatProps.precision) !== null && _b !== void 0 ? _b : 0, onChange: handlePrecisionChange })));
30
+ }
31
+ //# sourceMappingURL=FormatPrecision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatPrecision.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatPrecision.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAe,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAU3D;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;;IACzD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,CAAC;QACrD,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC5F,OAAO,CACL;QACE,8BAAM,SAAS,EAAE,cAAc,IAAG,KAAK,CAAC,OAAO,CAAQ;QACtD,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;YACrC,oBAAC,yBAAyB,mBAAa,6BAA6B,EAAC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAAC,CAAC;YACjJ,oBAAC,wBAAwB,mBAAa,4BAA4B,EAAC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EAAE,QAAQ,EAAE,qBAAqB,GAAI,CAE9I,CACJ,CAAC;AACJ,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 QuantityFormat\n */\n\nimport * as React from \"react\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { Format, FormatProps, FormatType } from \"@itwin/core-quantity\";\nimport { DecimalPrecisionSelector } from \"./misc/DecimalPrecision\";\nimport { FractionPrecisionSelector } from \"./misc/FractionPrecision\";\nimport { UiIModelComponents } from \"../UiIModelComponents\";\n\n/** Properties of [[FormatPrecision]] component.\n * @alpha\n */\nexport interface FormatPrecisionProps extends CommonProps {\n formatProps: FormatProps;\n onChange?: (format: FormatProps) => void;\n}\n\n/** Component to show/edit Quantity Format Precision.\n * @alpha\n */\nexport function FormatPrecision(props: FormatPrecisionProps) {\n const { formatProps, onChange } = props;\n\n const handlePrecisionChange = React.useCallback((precision: number) => {\n const newFormatProps = { ...formatProps, precision };\n onChange && onChange(newFormatProps);\n }, [formatProps, onChange]);\n\n const formatType = Format.parseFormatType(formatProps.type, \"format\");\n\n const label = React.useRef(UiIModelComponents.translate(\"QuantityFormat.labels.precision\"));\n return (\n <>\n <span className={\"uicore-label\"}>{label.current}</span>\n {formatType === FormatType.Fractional ?\n <FractionPrecisionSelector data-testid=\"fraction-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} /> :\n <DecimalPrecisionSelector data-testid=\"decimal-precision-selector\" precision={formatProps.precision ?? 0} onChange={handlePrecisionChange} />\n }\n </>\n );\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /** @packageDocumentation
2
+ * @module QuantityFormat
3
+ */
4
+ /// <reference types="react" />
5
+ import { FormatterSpec } from "@itwin/core-quantity";
6
+ import { CommonProps } from "@itwin/core-react";
7
+ /** Properties of [[FormatSample]] component.
8
+ * @alpha
9
+ */
10
+ export interface FormatSampleProps extends CommonProps {
11
+ formatSpec?: FormatterSpec;
12
+ initialMagnitude?: number;
13
+ hideLabels?: boolean;
14
+ }
15
+ /** Component to show the persistence value and formatted value given a FormatterSpec.
16
+ * @alpha
17
+ */
18
+ export declare function FormatSample(props: FormatSampleProps): JSX.Element;
19
+ //# sourceMappingURL=FormatSample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatSample.d.ts","sourceRoot":"","sources":["../../../../src/imodel-components-react/quantityformat/FormatSample.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,eAuDpD"}