@itwin/imodel-components-react 3.6.0-dev.8 → 3.7.0-dev.1

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 (346) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/imodel-components-react/UiIModelComponents.d.ts +28 -28
  4. package/lib/cjs/imodel-components-react/UiIModelComponents.js +79 -79
  5. package/lib/cjs/imodel-components-react/UiIModelComponents.js.map +1 -1
  6. package/lib/cjs/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  7. package/lib/cjs/imodel-components-react/color/AlphaSlider.js +186 -186
  8. package/lib/cjs/imodel-components-react/color/AlphaSlider.js.map +1 -1
  9. package/lib/cjs/imodel-components-react/color/AlphaSlider.scss +63 -63
  10. package/lib/cjs/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  11. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js +107 -107
  12. package/lib/cjs/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  13. package/lib/cjs/imodel-components-react/color/ColorPickerButton.scss +91 -91
  14. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
  15. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js +74 -74
  16. package/lib/cjs/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  17. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.d.ts +21 -21
  18. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js +145 -145
  19. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  20. package/lib/cjs/imodel-components-react/color/ColorPickerPanel.scss +93 -93
  21. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
  22. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js +137 -137
  23. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  24. package/lib/cjs/imodel-components-react/color/ColorPickerPopup.scss +64 -64
  25. package/lib/cjs/imodel-components-react/color/HueSlider.d.ts +22 -22
  26. package/lib/cjs/imodel-components-react/color/HueSlider.js +199 -199
  27. package/lib/cjs/imodel-components-react/color/HueSlider.js.map +1 -1
  28. package/lib/cjs/imodel-components-react/color/HueSlider.scss +61 -61
  29. package/lib/cjs/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  30. package/lib/cjs/imodel-components-react/color/SaturationPicker.js +213 -213
  31. package/lib/cjs/imodel-components-react/color/SaturationPicker.js.map +1 -1
  32. package/lib/cjs/imodel-components-react/color/SaturationPicker.scss +35 -35
  33. package/lib/cjs/imodel-components-react/color/Swatch.d.ts +22 -22
  34. package/lib/cjs/imodel-components-react/color/Swatch.js +60 -60
  35. package/lib/cjs/imodel-components-react/color/Swatch.js.map +1 -1
  36. package/lib/cjs/imodel-components-react/color/Swatch.scss +23 -23
  37. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  38. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js +23 -23
  39. package/lib/cjs/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  40. package/lib/cjs/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  41. package/lib/cjs/imodel-components-react/editors/ColorEditor.js +151 -151
  42. package/lib/cjs/imodel-components-react/editors/ColorEditor.js.map +1 -1
  43. package/lib/cjs/imodel-components-react/editors/ColorEditor.scss +18 -18
  44. package/lib/cjs/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  45. package/lib/cjs/imodel-components-react/editors/WeightEditor.js +160 -160
  46. package/lib/cjs/imodel-components-react/editors/WeightEditor.js.map +1 -1
  47. package/lib/cjs/imodel-components-react/editors/WeightEditor.scss +16 -16
  48. package/lib/cjs/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  49. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js +96 -96
  50. package/lib/cjs/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  51. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  52. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js +265 -265
  53. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  54. package/lib/cjs/imodel-components-react/inputs/QuantityNumberInput.scss +107 -107
  55. package/lib/cjs/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  56. package/lib/cjs/imodel-components-react/lineweight/Swatch.js +85 -85
  57. package/lib/cjs/imodel-components-react/lineweight/Swatch.js.map +1 -1
  58. package/lib/cjs/imodel-components-react/lineweight/Swatch.scss +48 -48
  59. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  60. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js +159 -159
  61. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  62. package/lib/cjs/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  63. package/lib/cjs/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  64. package/lib/cjs/imodel-components-react/navigationaids/Cube.js +127 -127
  65. package/lib/cjs/imodel-components-react/navigationaids/Cube.js.map +1 -1
  66. package/lib/cjs/imodel-components-react/navigationaids/Cube.scss +19 -19
  67. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  68. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  69. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js +634 -634
  70. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  71. package/lib/cjs/imodel-components-react/navigationaids/CubeNavigationAid.scss +180 -180
  72. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  73. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js +647 -647
  74. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  75. package/lib/cjs/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -133
  76. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  77. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js +99 -99
  78. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  79. package/lib/cjs/imodel-components-react/quantityformat/FormatPanel.scss +64 -64
  80. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  81. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js +53 -53
  82. package/lib/cjs/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  83. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  84. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js +83 -83
  85. package/lib/cjs/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  86. package/lib/cjs/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  87. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js +86 -86
  88. package/lib/cjs/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  89. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  90. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js +109 -109
  91. package/lib/cjs/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  92. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  93. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js +133 -133
  94. package/lib/cjs/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  95. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  96. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js +184 -184
  97. package/lib/cjs/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  98. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  99. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js +154 -154
  100. package/lib/cjs/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  101. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  102. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js +59 -59
  103. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  104. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  105. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js +47 -47
  106. package/lib/cjs/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  107. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  108. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js +54 -54
  109. package/lib/cjs/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  110. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  111. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js +48 -48
  112. package/lib/cjs/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  113. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  114. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js +50 -50
  115. package/lib/cjs/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  116. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  117. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +58 -58
  118. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  119. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  120. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js +47 -47
  121. package/lib/cjs/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  122. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  123. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js +56 -56
  124. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  125. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  126. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +95 -95
  127. package/lib/cjs/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  128. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  129. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js +119 -119
  130. package/lib/cjs/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  131. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  132. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js +143 -143
  133. package/lib/cjs/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  134. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  135. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js +69 -69
  136. package/lib/cjs/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  137. package/lib/cjs/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  138. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js +81 -81
  139. package/lib/cjs/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  140. package/lib/cjs/imodel-components-react/timeline/InlineEdit.scss +26 -26
  141. package/lib/cjs/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  142. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js +91 -91
  143. package/lib/cjs/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  144. package/lib/cjs/imodel-components-react/timeline/PlayerButton.scss +25 -25
  145. package/lib/cjs/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  146. package/lib/cjs/imodel-components-react/timeline/Scrubber.js +191 -191
  147. package/lib/cjs/imodel-components-react/timeline/Scrubber.js.map +1 -1
  148. package/lib/cjs/imodel-components-react/timeline/Scrubber.scss +106 -106
  149. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  150. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js +424 -424
  151. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  152. package/lib/cjs/imodel-components-react/timeline/SolarTimeline.scss +357 -357
  153. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  154. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js +54 -54
  155. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  156. package/lib/cjs/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  157. package/lib/cjs/imodel-components-react/timeline/Timeline.scss +164 -164
  158. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  159. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js +358 -358
  160. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  161. package/lib/cjs/imodel-components-react/timeline/TimelineComponent.scss +163 -163
  162. package/lib/cjs/imodel-components-react/timeline/interfaces.d.ts +174 -174
  163. package/lib/cjs/imodel-components-react/timeline/interfaces.js +45 -45
  164. package/lib/cjs/imodel-components-react/timeline/interfaces.js.map +1 -1
  165. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  166. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js +274 -274
  167. package/lib/cjs/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  168. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  169. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js +105 -105
  170. package/lib/cjs/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  171. package/lib/cjs/imodel-components-react.d.ts +82 -82
  172. package/lib/cjs/imodel-components-react.js +101 -101
  173. package/lib/cjs/imodel-components-react.js.map +1 -1
  174. package/lib/esm/imodel-components-react/UiIModelComponents.d.ts +28 -28
  175. package/lib/esm/imodel-components-react/UiIModelComponents.js +75 -75
  176. package/lib/esm/imodel-components-react/UiIModelComponents.js.map +1 -1
  177. package/lib/esm/imodel-components-react/color/AlphaSlider.d.ts +36 -36
  178. package/lib/esm/imodel-components-react/color/AlphaSlider.js +160 -160
  179. package/lib/esm/imodel-components-react/color/AlphaSlider.js.map +1 -1
  180. package/lib/esm/imodel-components-react/color/AlphaSlider.scss +63 -63
  181. package/lib/esm/imodel-components-react/color/ColorPickerButton.d.ts +37 -37
  182. package/lib/esm/imodel-components-react/color/ColorPickerButton.js +82 -82
  183. package/lib/esm/imodel-components-react/color/ColorPickerButton.js.map +1 -1
  184. package/lib/esm/imodel-components-react/color/ColorPickerButton.scss +91 -91
  185. package/lib/esm/imodel-components-react/color/ColorPickerDialog.d.ts +23 -23
  186. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js +51 -51
  187. package/lib/esm/imodel-components-react/color/ColorPickerDialog.js.map +1 -1
  188. package/lib/esm/imodel-components-react/color/ColorPickerPanel.d.ts +21 -21
  189. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js +122 -122
  190. package/lib/esm/imodel-components-react/color/ColorPickerPanel.js.map +1 -1
  191. package/lib/esm/imodel-components-react/color/ColorPickerPanel.scss +93 -93
  192. package/lib/esm/imodel-components-react/color/ColorPickerPopup.d.ts +44 -44
  193. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js +112 -112
  194. package/lib/esm/imodel-components-react/color/ColorPickerPopup.js.map +1 -1
  195. package/lib/esm/imodel-components-react/color/ColorPickerPopup.scss +64 -64
  196. package/lib/esm/imodel-components-react/color/HueSlider.d.ts +22 -22
  197. package/lib/esm/imodel-components-react/color/HueSlider.js +173 -173
  198. package/lib/esm/imodel-components-react/color/HueSlider.js.map +1 -1
  199. package/lib/esm/imodel-components-react/color/HueSlider.scss +61 -61
  200. package/lib/esm/imodel-components-react/color/SaturationPicker.d.ts +20 -20
  201. package/lib/esm/imodel-components-react/color/SaturationPicker.js +187 -187
  202. package/lib/esm/imodel-components-react/color/SaturationPicker.js.map +1 -1
  203. package/lib/esm/imodel-components-react/color/SaturationPicker.scss +35 -35
  204. package/lib/esm/imodel-components-react/color/Swatch.d.ts +22 -22
  205. package/lib/esm/imodel-components-react/color/Swatch.js +34 -34
  206. package/lib/esm/imodel-components-react/color/Swatch.js.map +1 -1
  207. package/lib/esm/imodel-components-react/color/Swatch.scss +23 -23
  208. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.d.ts +6 -6
  209. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js +19 -19
  210. package/lib/esm/imodel-components-react/color/getCSSColorFromDef.js.map +1 -1
  211. package/lib/esm/imodel-components-react/editors/ColorEditor.d.ts +44 -44
  212. package/lib/esm/imodel-components-react/editors/ColorEditor.js +124 -124
  213. package/lib/esm/imodel-components-react/editors/ColorEditor.js.map +1 -1
  214. package/lib/esm/imodel-components-react/editors/ColorEditor.scss +18 -18
  215. package/lib/esm/imodel-components-react/editors/WeightEditor.d.ts +47 -47
  216. package/lib/esm/imodel-components-react/editors/WeightEditor.js +133 -133
  217. package/lib/esm/imodel-components-react/editors/WeightEditor.js.map +1 -1
  218. package/lib/esm/imodel-components-react/editors/WeightEditor.scss +16 -16
  219. package/lib/esm/imodel-components-react/inputs/QuantityInput.d.ts +25 -25
  220. package/lib/esm/imodel-components-react/inputs/QuantityInput.js +70 -70
  221. package/lib/esm/imodel-components-react/inputs/QuantityInput.js.map +1 -1
  222. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.d.ts +44 -44
  223. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js +240 -240
  224. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.js.map +1 -1
  225. package/lib/esm/imodel-components-react/inputs/QuantityNumberInput.scss +107 -107
  226. package/lib/esm/imodel-components-react/lineweight/Swatch.d.ts +33 -33
  227. package/lib/esm/imodel-components-react/lineweight/Swatch.js +59 -59
  228. package/lib/esm/imodel-components-react/lineweight/Swatch.js.map +1 -1
  229. package/lib/esm/imodel-components-react/lineweight/Swatch.scss +48 -48
  230. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.d.ts +60 -60
  231. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js +133 -133
  232. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.js.map +1 -1
  233. package/lib/esm/imodel-components-react/lineweight/WeightPickerButton.scss +52 -52
  234. package/lib/esm/imodel-components-react/navigationaids/Cube.d.ts +45 -45
  235. package/lib/esm/imodel-components-react/navigationaids/Cube.js +100 -100
  236. package/lib/esm/imodel-components-react/navigationaids/Cube.js.map +1 -1
  237. package/lib/esm/imodel-components-react/navigationaids/Cube.scss +19 -19
  238. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts +174 -174
  239. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.d.ts.map +1 -1
  240. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js +606 -606
  241. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.js.map +1 -1
  242. package/lib/esm/imodel-components-react/navigationaids/CubeNavigationAid.scss +180 -180
  243. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.d.ts +145 -145
  244. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js +620 -620
  245. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.js.map +1 -1
  246. package/lib/esm/imodel-components-react/navigationaids/DrawingNavigationAid.scss +133 -133
  247. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.d.ts +26 -26
  248. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js +76 -76
  249. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.js.map +1 -1
  250. package/lib/esm/imodel-components-react/quantityformat/FormatPanel.scss +64 -64
  251. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.d.ts +17 -17
  252. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js +30 -30
  253. package/lib/esm/imodel-components-react/quantityformat/FormatPrecision.js.map +1 -1
  254. package/lib/esm/imodel-components-react/quantityformat/FormatSample.d.ts +18 -18
  255. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js +60 -60
  256. package/lib/esm/imodel-components-react/quantityformat/FormatSample.js.map +1 -1
  257. package/lib/esm/imodel-components-react/quantityformat/FormatType.d.ts +17 -17
  258. package/lib/esm/imodel-components-react/quantityformat/FormatType.js +63 -63
  259. package/lib/esm/imodel-components-react/quantityformat/FormatType.js.map +1 -1
  260. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.d.ts +17 -17
  261. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js +83 -83
  262. package/lib/esm/imodel-components-react/quantityformat/FormatUnitLabel.js.map +1 -1
  263. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.d.ts +19 -19
  264. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js +110 -110
  265. package/lib/esm/imodel-components-react/quantityformat/FormatUnits.js.map +1 -1
  266. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.d.ts +21 -21
  267. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js +158 -158
  268. package/lib/esm/imodel-components-react/quantityformat/MiscFormatOptions.js.map +1 -1
  269. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.d.ts +22 -22
  270. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js +131 -131
  271. package/lib/esm/imodel-components-react/quantityformat/QuantityFormatPanel.js.map +1 -1
  272. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.d.ts +17 -17
  273. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js +36 -36
  274. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalPrecision.js.map +1 -1
  275. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.d.ts +17 -17
  276. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js +24 -24
  277. package/lib/esm/imodel-components-react/quantityformat/misc/DecimalSeparator.js.map +1 -1
  278. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.d.ts +16 -16
  279. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js +31 -31
  280. package/lib/esm/imodel-components-react/quantityformat/misc/FractionPrecision.js.map +1 -1
  281. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.d.ts +18 -18
  282. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js +25 -25
  283. package/lib/esm/imodel-components-react/quantityformat/misc/ScientificType.js.map +1 -1
  284. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.d.ts +17 -17
  285. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js +27 -27
  286. package/lib/esm/imodel-components-react/quantityformat/misc/SignOption.js.map +1 -1
  287. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.d.ts +17 -17
  288. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js +35 -35
  289. package/lib/esm/imodel-components-react/quantityformat/misc/StationSeparatorSelector.js.map +1 -1
  290. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.d.ts +17 -17
  291. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js +24 -24
  292. package/lib/esm/imodel-components-react/quantityformat/misc/StationSizeSelector.js.map +1 -1
  293. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.d.ts +17 -17
  294. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js +33 -33
  295. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSelector.js.map +1 -1
  296. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.d.ts +17 -17
  297. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js +69 -69
  298. package/lib/esm/imodel-components-react/quantityformat/misc/ThousandsSeparator.js.map +1 -1
  299. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.d.ts +23 -23
  300. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js +96 -96
  301. package/lib/esm/imodel-components-react/quantityformat/misc/UnitDescr.js.map +1 -1
  302. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.d.ts +52 -52
  303. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js +139 -139
  304. package/lib/esm/imodel-components-react/timeline/BaseSolarDataProvider.js.map +1 -1
  305. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.d.ts +31 -31
  306. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js +65 -65
  307. package/lib/esm/imodel-components-react/timeline/BaseTimelineDataProvider.js.map +1 -1
  308. package/lib/esm/imodel-components-react/timeline/InlineEdit.d.ts +27 -27
  309. package/lib/esm/imodel-components-react/timeline/InlineEdit.js +55 -55
  310. package/lib/esm/imodel-components-react/timeline/InlineEdit.js.map +1 -1
  311. package/lib/esm/imodel-components-react/timeline/InlineEdit.scss +26 -26
  312. package/lib/esm/imodel-components-react/timeline/PlayerButton.d.ts +33 -33
  313. package/lib/esm/imodel-components-react/timeline/PlayerButton.js +64 -64
  314. package/lib/esm/imodel-components-react/timeline/PlayerButton.js.map +1 -1
  315. package/lib/esm/imodel-components-react/timeline/PlayerButton.scss +25 -25
  316. package/lib/esm/imodel-components-react/timeline/Scrubber.d.ts +54 -54
  317. package/lib/esm/imodel-components-react/timeline/Scrubber.js +164 -164
  318. package/lib/esm/imodel-components-react/timeline/Scrubber.js.map +1 -1
  319. package/lib/esm/imodel-components-react/timeline/Scrubber.scss +106 -106
  320. package/lib/esm/imodel-components-react/timeline/SolarTimeline.d.ts +77 -77
  321. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js +398 -398
  322. package/lib/esm/imodel-components-react/timeline/SolarTimeline.js.map +1 -1
  323. package/lib/esm/imodel-components-react/timeline/SolarTimeline.scss +357 -357
  324. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.d.ts +15 -15
  325. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js +28 -28
  326. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.js.map +1 -1
  327. package/lib/esm/imodel-components-react/timeline/SpeedTimeline.scss +39 -39
  328. package/lib/esm/imodel-components-react/timeline/Timeline.scss +164 -164
  329. package/lib/esm/imodel-components-react/timeline/TimelineComponent.d.ts +133 -133
  330. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js +332 -332
  331. package/lib/esm/imodel-components-react/timeline/TimelineComponent.js.map +1 -1
  332. package/lib/esm/imodel-components-react/timeline/TimelineComponent.scss +163 -163
  333. package/lib/esm/imodel-components-react/timeline/interfaces.d.ts +174 -174
  334. package/lib/esm/imodel-components-react/timeline/interfaces.js +42 -42
  335. package/lib/esm/imodel-components-react/timeline/interfaces.js.map +1 -1
  336. package/lib/esm/imodel-components-react/viewport/ViewportComponent.d.ts +42 -42
  337. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js +251 -251
  338. package/lib/esm/imodel-components-react/viewport/ViewportComponent.js.map +1 -1
  339. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.d.ts +106 -106
  340. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js +95 -95
  341. package/lib/esm/imodel-components-react/viewport/ViewportComponentEvents.js.map +1 -1
  342. package/lib/esm/imodel-components-react.d.ts +82 -82
  343. package/lib/esm/imodel-components-react.js +87 -87
  344. package/lib/esm/imodel-components-react.js.map +1 -1
  345. package/lib/public/locales/en/UiIModelComponents.json +139 -139
  346. package/package.json +20 -20
@@ -1,101 +1,101 @@
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 Cube
7
- */
8
- import "./Cube.scss";
9
- import classnames from "classnames";
10
- import * as React from "react";
11
- import { Matrix3d } from "@itwin/core-geometry";
12
- /** Cube Face enumeration
13
- * @public
14
- */
15
- export var Face;
16
- (function (Face) {
17
- Face["None"] = "";
18
- Face["Left"] = "left";
19
- Face["Right"] = "right";
20
- Face["Back"] = "back";
21
- Face["Front"] = "front";
22
- Face["Bottom"] = "bottom";
23
- Face["Top"] = "top";
24
- })(Face || (Face = {}));
25
- /** Cube React component used by the 3d Cube Navigation Aid
26
- * @public
27
- */
28
- export class Cube extends React.PureComponent {
29
- render() {
30
- const { faces, rotMatrix, className, ...props } = this.props;
31
- return (React.createElement("div", { className: classnames("components-cube-css3d", className), "data-testid": "components-cube", ...props }, [Face.Front, Face.Back, Face.Right, Face.Left, Face.Top, Face.Bottom]
32
- .map((face) => {
33
- const content = faces && faces[face];
34
- return (React.createElement(CubeFace, { key: face, rotMatrix: rotMatrix, face: face }, content));
35
- })));
36
- }
37
- }
38
- /** @internal */
39
- export class CubeFace extends React.Component {
40
- constructor() {
41
- super(...arguments);
42
- this._faceWidth = 0;
43
- }
44
- render() {
45
- const { rotMatrix, face, style, children, ...props } = this.props;
46
- if (face === Face.None)
47
- return null;
48
- const classes = classnames("face", this.getCSSClassNameFromFace(face));
49
- // orient face (flip because of y axis reversal, rotate as necessary)
50
- let reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);
51
- // Position face correctly (applies to rotation, as well as translation)
52
- let reposition = Matrix3d.createIdentity();
53
- switch (this.props.face) {
54
- case Face.Bottom:
55
- reposition = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, -1);
56
- reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);
57
- break;
58
- case Face.Right:
59
- reposition = Matrix3d.createRowValues(0, 0, 1, 0, 1, 0, -1, 0, 0);
60
- reorient = Matrix3d.createRowValues(0, 1, 0, 1, 0, 0, 0, 0, 1);
61
- break;
62
- case Face.Left:
63
- reposition = Matrix3d.createRowValues(0, 0, -1, 0, 1, 0, 1, 0, 0);
64
- reorient = Matrix3d.createRowValues(0, -1, 0, -1, 0, 0, 0, 0, 1);
65
- break;
66
- case Face.Back:
67
- reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, 1, 0, -1, 0);
68
- reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);
69
- break;
70
- case Face.Front:
71
- reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, -1, 0, 1, 0);
72
- reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);
73
- break;
74
- }
75
- const repositioned = rotMatrix.multiplyMatrixMatrix(reposition);
76
- const vect = repositioned.multiplyXYZ(0, 0, this._faceWidth);
77
- const m = repositioned.multiplyMatrixMatrix(reorient);
78
- const list = [
79
- m.at(0, 0), -m.at(1, 0), m.at(2, 0), 0,
80
- m.at(0, 1), -m.at(1, 1), m.at(2, 1), 0,
81
- m.at(0, 2), -m.at(1, 2), m.at(2, 2), 0,
82
- vect.at(0), -vect.at(1), vect.at(2) - this._faceWidth /* move back faceWidth so face is on screen level */, 1,
83
- ];
84
- const transform = `matrix3d(${list.join(", ")})`;
85
- const s = {
86
- transform,
87
- // eslint-disable-next-line @typescript-eslint/naming-convention
88
- WebkitTransform: transform,
89
- ...style,
90
- };
91
- return (React.createElement("div", { style: s, "data-testid": `components-cube-face-${face}`, className: classes, ref: (e) => { this._faceWidth = (e && e.clientWidth / 2) || 0; }, ...props }, children));
92
- }
93
- getCSSClassNameFromFace(face) {
94
- let className = "";
95
- // istanbul ignore else
96
- if (face !== Face.None)
97
- className = `cube-${face}`;
98
- return className;
99
- }
100
- }
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 Cube
7
+ */
8
+ import "./Cube.scss";
9
+ import classnames from "classnames";
10
+ import * as React from "react";
11
+ import { Matrix3d } from "@itwin/core-geometry";
12
+ /** Cube Face enumeration
13
+ * @public
14
+ */
15
+ export var Face;
16
+ (function (Face) {
17
+ Face["None"] = "";
18
+ Face["Left"] = "left";
19
+ Face["Right"] = "right";
20
+ Face["Back"] = "back";
21
+ Face["Front"] = "front";
22
+ Face["Bottom"] = "bottom";
23
+ Face["Top"] = "top";
24
+ })(Face || (Face = {}));
25
+ /** Cube React component used by the 3d Cube Navigation Aid
26
+ * @public
27
+ */
28
+ export class Cube extends React.PureComponent {
29
+ render() {
30
+ const { faces, rotMatrix, className, ...props } = this.props;
31
+ return (React.createElement("div", { className: classnames("components-cube-css3d", className), "data-testid": "components-cube", ...props }, [Face.Front, Face.Back, Face.Right, Face.Left, Face.Top, Face.Bottom]
32
+ .map((face) => {
33
+ const content = faces && faces[face];
34
+ return (React.createElement(CubeFace, { key: face, rotMatrix: rotMatrix, face: face }, content));
35
+ })));
36
+ }
37
+ }
38
+ /** @internal */
39
+ export class CubeFace extends React.Component {
40
+ constructor() {
41
+ super(...arguments);
42
+ this._faceWidth = 0;
43
+ }
44
+ render() {
45
+ const { rotMatrix, face, style, children, ...props } = this.props;
46
+ if (face === Face.None)
47
+ return null;
48
+ const classes = classnames("face", this.getCSSClassNameFromFace(face));
49
+ // orient face (flip because of y axis reversal, rotate as necessary)
50
+ let reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);
51
+ // Position face correctly (applies to rotation, as well as translation)
52
+ let reposition = Matrix3d.createIdentity();
53
+ switch (this.props.face) {
54
+ case Face.Bottom:
55
+ reposition = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, -1);
56
+ reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);
57
+ break;
58
+ case Face.Right:
59
+ reposition = Matrix3d.createRowValues(0, 0, 1, 0, 1, 0, -1, 0, 0);
60
+ reorient = Matrix3d.createRowValues(0, 1, 0, 1, 0, 0, 0, 0, 1);
61
+ break;
62
+ case Face.Left:
63
+ reposition = Matrix3d.createRowValues(0, 0, -1, 0, 1, 0, 1, 0, 0);
64
+ reorient = Matrix3d.createRowValues(0, -1, 0, -1, 0, 0, 0, 0, 1);
65
+ break;
66
+ case Face.Back:
67
+ reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, 1, 0, -1, 0);
68
+ reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);
69
+ break;
70
+ case Face.Front:
71
+ reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, -1, 0, 1, 0);
72
+ reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);
73
+ break;
74
+ }
75
+ const repositioned = rotMatrix.multiplyMatrixMatrix(reposition);
76
+ const vect = repositioned.multiplyXYZ(0, 0, this._faceWidth);
77
+ const m = repositioned.multiplyMatrixMatrix(reorient);
78
+ const list = [
79
+ m.at(0, 0), -m.at(1, 0), m.at(2, 0), 0,
80
+ m.at(0, 1), -m.at(1, 1), m.at(2, 1), 0,
81
+ m.at(0, 2), -m.at(1, 2), m.at(2, 2), 0,
82
+ vect.at(0), -vect.at(1), vect.at(2) - this._faceWidth /* move back faceWidth so face is on screen level */, 1,
83
+ ];
84
+ const transform = `matrix3d(${list.join(", ")})`;
85
+ const s = {
86
+ transform,
87
+ // eslint-disable-next-line @typescript-eslint/naming-convention
88
+ WebkitTransform: transform,
89
+ ...style,
90
+ };
91
+ return (React.createElement("div", { style: s, "data-testid": `components-cube-face-${face}`, className: classes, ref: (e) => { this._faceWidth = (e && e.clientWidth / 2) || 0; }, ...props }, children));
92
+ }
93
+ getCSSClassNameFromFace(face) {
94
+ let className = "";
95
+ // istanbul ignore else
96
+ if (face !== Face.None)
97
+ className = `cube-${face}`;
98
+ return className;
99
+ }
100
+ }
101
101
  //# sourceMappingURL=Cube.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cube.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/navigationaids/Cube.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Cube\r\n */\r\n\r\nimport \"./Cube.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Matrix3d } from \"@itwin/core-geometry\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\n\r\n/** Cube Face enumeration\r\n * @public\r\n */\r\nexport enum Face {\r\n None = \"\",\r\n Left = \"left\",\r\n Right = \"right\",\r\n Back = \"back\",\r\n Front = \"front\",\r\n Bottom = \"bottom\",\r\n Top = \"top\",\r\n}\r\n\r\n/** Properties for the [[Cube]] React component\r\n * @public\r\n */\r\nexport interface CubeProps extends React.AllHTMLAttributes<HTMLDivElement>, CommonProps {\r\n faces?: { [key: string]: React.ReactNode };\r\n rotMatrix: Matrix3d;\r\n}\r\n\r\n/** Cube React component used by the 3d Cube Navigation Aid\r\n * @public\r\n */\r\nexport class Cube extends React.PureComponent<CubeProps> {\r\n public override render(): React.ReactNode {\r\n const { faces, rotMatrix, className, ...props } = this.props;\r\n return (\r\n <div className={classnames(\"components-cube-css3d\", className)} data-testid=\"components-cube\" {...props}>\r\n {[Face.Front, Face.Back, Face.Right, Face.Left, Face.Top, Face.Bottom]\r\n .map((face: Face) => {\r\n const content = faces && faces[face];\r\n return (\r\n <CubeFace\r\n key={face}\r\n rotMatrix={rotMatrix}\r\n face={face}>\r\n {content}\r\n </CubeFace>\r\n );\r\n })}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface CubeFaceProps extends React.AllHTMLAttributes<HTMLDivElement> {\r\n rotMatrix: Matrix3d;\r\n face: Face;\r\n}\r\n\r\n/** @internal */\r\nexport class CubeFace extends React.Component<CubeFaceProps> {\r\n private _faceWidth: number = 0;\r\n public override render(): React.ReactNode {\r\n const { rotMatrix, face, style, children, ...props } = this.props;\r\n if (face === Face.None)\r\n return null;\r\n const classes = classnames(\"face\", this.getCSSClassNameFromFace(face));\r\n // orient face (flip because of y axis reversal, rotate as necessary)\r\n let reorient: Matrix3d = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);\r\n // Position face correctly (applies to rotation, as well as translation)\r\n let reposition: Matrix3d = Matrix3d.createIdentity();\r\n switch (this.props.face) {\r\n case Face.Bottom:\r\n reposition = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, -1);\r\n reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);\r\n break;\r\n case Face.Right:\r\n reposition = Matrix3d.createRowValues(0, 0, 1, 0, 1, 0, -1, 0, 0);\r\n reorient = Matrix3d.createRowValues(0, 1, 0, 1, 0, 0, 0, 0, 1);\r\n break;\r\n case Face.Left:\r\n reposition = Matrix3d.createRowValues(0, 0, -1, 0, 1, 0, 1, 0, 0);\r\n reorient = Matrix3d.createRowValues(0, -1, 0, -1, 0, 0, 0, 0, 1);\r\n break;\r\n case Face.Back:\r\n reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, 1, 0, -1, 0);\r\n reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);\r\n break;\r\n case Face.Front:\r\n reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, -1, 0, 1, 0);\r\n reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);\r\n break;\r\n }\r\n const repositioned = rotMatrix.multiplyMatrixMatrix(reposition);\r\n const vect = repositioned.multiplyXYZ(0, 0, this._faceWidth);\r\n const m = repositioned.multiplyMatrixMatrix(reorient);\r\n const list = [\r\n m.at(0, 0), -m.at(1, 0), m.at(2, 0), 0,\r\n m.at(0, 1), -m.at(1, 1), m.at(2, 1), 0,\r\n m.at(0, 2), -m.at(1, 2), m.at(2, 2), 0,\r\n vect.at(0), -vect.at(1), vect.at(2) - this._faceWidth /* move back faceWidth so face is on screen level */, 1,\r\n ];\r\n const transform = `matrix3d(${list.join(\", \")})`;\r\n const s: React.CSSProperties = {\r\n transform,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n WebkitTransform: transform,\r\n ...style,\r\n };\r\n\r\n return (\r\n <div style={s}\r\n data-testid={`components-cube-face-${face}`}\r\n className={classes}\r\n ref={(e) => { this._faceWidth = (e && e.clientWidth / 2) || 0; }}\r\n {...props}>\r\n {children}\r\n </div>\r\n );\r\n }\r\n\r\n private getCSSClassNameFromFace(face: Face): string {\r\n let className = \"\";\r\n\r\n // istanbul ignore else\r\n if (face !== Face.None)\r\n className = `cube-${face}`;\r\n\r\n return className;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Cube.js","sourceRoot":"","sources":["../../../../src/imodel-components-react/navigationaids/Cube.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 Cube\n */\n\nimport \"./Cube.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Matrix3d } from \"@itwin/core-geometry\";\nimport { CommonProps } from \"@itwin/core-react\";\n\n/** Cube Face enumeration\n * @public\n */\nexport enum Face {\n None = \"\",\n Left = \"left\",\n Right = \"right\",\n Back = \"back\",\n Front = \"front\",\n Bottom = \"bottom\",\n Top = \"top\",\n}\n\n/** Properties for the [[Cube]] React component\n * @public\n */\nexport interface CubeProps extends React.AllHTMLAttributes<HTMLDivElement>, CommonProps {\n faces?: { [key: string]: React.ReactNode };\n rotMatrix: Matrix3d;\n}\n\n/** Cube React component used by the 3d Cube Navigation Aid\n * @public\n */\nexport class Cube extends React.PureComponent<CubeProps> {\n public override render(): React.ReactNode {\n const { faces, rotMatrix, className, ...props } = this.props;\n return (\n <div className={classnames(\"components-cube-css3d\", className)} data-testid=\"components-cube\" {...props}>\n {[Face.Front, Face.Back, Face.Right, Face.Left, Face.Top, Face.Bottom]\n .map((face: Face) => {\n const content = faces && faces[face];\n return (\n <CubeFace\n key={face}\n rotMatrix={rotMatrix}\n face={face}>\n {content}\n </CubeFace>\n );\n })}\n </div>\n );\n }\n}\n\n/** @internal */\nexport interface CubeFaceProps extends React.AllHTMLAttributes<HTMLDivElement> {\n rotMatrix: Matrix3d;\n face: Face;\n}\n\n/** @internal */\nexport class CubeFace extends React.Component<CubeFaceProps> {\n private _faceWidth: number = 0;\n public override render(): React.ReactNode {\n const { rotMatrix, face, style, children, ...props } = this.props;\n if (face === Face.None)\n return null;\n const classes = classnames(\"face\", this.getCSSClassNameFromFace(face));\n // orient face (flip because of y axis reversal, rotate as necessary)\n let reorient: Matrix3d = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);\n // Position face correctly (applies to rotation, as well as translation)\n let reposition: Matrix3d = Matrix3d.createIdentity();\n switch (this.props.face) {\n case Face.Bottom:\n reposition = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, -1);\n reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);\n break;\n case Face.Right:\n reposition = Matrix3d.createRowValues(0, 0, 1, 0, 1, 0, -1, 0, 0);\n reorient = Matrix3d.createRowValues(0, 1, 0, 1, 0, 0, 0, 0, 1);\n break;\n case Face.Left:\n reposition = Matrix3d.createRowValues(0, 0, -1, 0, 1, 0, 1, 0, 0);\n reorient = Matrix3d.createRowValues(0, -1, 0, -1, 0, 0, 0, 0, 1);\n break;\n case Face.Back:\n reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, 1, 0, -1, 0);\n reorient = Matrix3d.createRowValues(-1, 0, 0, 0, 1, 0, 0, 0, 1);\n break;\n case Face.Front:\n reposition = Matrix3d.createRowValues(1, 0, 0, 0, 0, -1, 0, 1, 0);\n reorient = Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, 1);\n break;\n }\n const repositioned = rotMatrix.multiplyMatrixMatrix(reposition);\n const vect = repositioned.multiplyXYZ(0, 0, this._faceWidth);\n const m = repositioned.multiplyMatrixMatrix(reorient);\n const list = [\n m.at(0, 0), -m.at(1, 0), m.at(2, 0), 0,\n m.at(0, 1), -m.at(1, 1), m.at(2, 1), 0,\n m.at(0, 2), -m.at(1, 2), m.at(2, 2), 0,\n vect.at(0), -vect.at(1), vect.at(2) - this._faceWidth /* move back faceWidth so face is on screen level */, 1,\n ];\n const transform = `matrix3d(${list.join(\", \")})`;\n const s: React.CSSProperties = {\n transform,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WebkitTransform: transform,\n ...style,\n };\n\n return (\n <div style={s}\n data-testid={`components-cube-face-${face}`}\n className={classes}\n ref={(e) => { this._faceWidth = (e && e.clientWidth / 2) || 0; }}\n {...props}>\n {children}\n </div>\n );\n }\n\n private getCSSClassNameFromFace(face: Face): string {\n let className = \"\";\n\n // istanbul ignore else\n if (face !== Face.None)\n className = `cube-${face}`;\n\n return className;\n }\n}\n"]}
@@ -1,19 +1,19 @@
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
- $cube-width: 128px;
6
- $cube-side-width: 12px;
7
-
8
- .components-cube-css3d {
9
- width: $cube-width;
10
- height: $cube-width;
11
- perspective: 300px;
12
- transform-style: preserve-3d;
13
- .face {
14
- width: 100%;
15
- height: 100%;
16
- position: absolute;
17
- backface-visibility: inherit;
18
- }
19
- }
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
+ $cube-width: 128px;
6
+ $cube-side-width: 12px;
7
+
8
+ .components-cube-css3d {
9
+ width: $cube-width;
10
+ height: $cube-width;
11
+ perspective: 300px;
12
+ transform-style: preserve-3d;
13
+ .face {
14
+ width: 100%;
15
+ height: 100%;
16
+ position: absolute;
17
+ backface-visibility: inherit;
18
+ }
19
+ }
@@ -1,175 +1,175 @@
1
- /** @packageDocumentation
2
- * @module NavigationAids
3
- */
4
- import "./CubeNavigationAid.scss";
5
- import * as React from "react";
6
- import { Matrix3d, Vector3d } from "@itwin/core-geometry";
7
- import { IModelConnection, Viewport } from "@itwin/core-frontend";
8
- import { CommonProps } from "@itwin/core-react";
9
- import { Face } from "./Cube";
10
- /** @public */
11
- export declare enum CubeNavigationHitBoxX {
12
- None = 0,
13
- Right = 1,
14
- Left = -1
15
- }
16
- /** @internal
17
- * @deprecated Use [[CubeNavigationHitBoxX]] */
18
- export declare enum HitBoxX {
19
- None = 0,
20
- Right = 1,
21
- Left = -1
22
- }
23
- /** @public */
24
- export declare enum CubeNavigationHitBoxY {
25
- None = 0,
26
- Back = 1,
27
- Front = -1
28
- }
29
- /** @internal
30
- * @deprecated Use [[CubeNavigationHitBoxY]] */
31
- export declare enum HitBoxY {
32
- None = 0,
33
- Back = 1,
34
- Front = -1
35
- }
36
- /** @public */
37
- export declare enum CubeNavigationHitBoxZ {
38
- None = 0,
39
- Top = 1,
40
- Bottom = -1
41
- }
42
- /** @internal
43
- * @deprecated [[CubeNavigationHitBoxZ]] */
44
- export declare enum HitBoxZ {
45
- None = 0,
46
- Top = 1,
47
- Bottom = -1
48
- }
49
- /** @internal */
50
- export declare enum CubeHover {
51
- None = 0,
52
- Hover = 1,
53
- Active = 2
54
- }
55
- /** Properties for the [[CubeNavigationAid]] component
56
- * @public
57
- */
58
- export interface CubeNavigationAidProps extends CommonProps {
59
- iModelConnection: IModelConnection;
60
- viewport?: Viewport;
61
- /** @internal */
62
- onAnimationEnd?: () => void;
63
- /** @internal */
64
- animationTime?: number;
65
- }
66
- /** @public */
67
- interface CubeNavigationAidState {
68
- dragging: boolean;
69
- startRotMatrix: Matrix3d;
70
- endRotMatrix: Matrix3d;
71
- animation: number;
72
- hoverMap: {
73
- [key: string]: CubeHover;
74
- };
75
- face: Face;
76
- }
77
- /** Cube Navigation Aid Component
78
- * @public
79
- */
80
- export declare class CubeNavigationAid extends React.Component<CubeNavigationAidProps, CubeNavigationAidState> {
81
- private _start;
82
- /** @internal */
83
- readonly state: Readonly<CubeNavigationAidState>;
84
- private _lastTime;
85
- private _animationFrame;
86
- private _mounted;
87
- private _labels;
88
- /** @internal */
89
- componentDidMount(): void;
90
- /** @internal */
91
- componentWillUnmount(): void;
92
- private _handleViewRotationChangeEvent;
93
- private _animation;
94
- private _animationEnd;
95
- private static _animationFn;
96
- private static _isMatrixFace;
97
- render(): React.ReactNode;
98
- private _handleCellHoverChange;
99
- private _isInteractionLocked;
100
- private static _getMatrixFace;
101
- private static _interpolateRotMatrix;
102
- private static correctSmallNumber;
103
- /**
104
- * Snap coordinates of a vector to zero and to each other so that the vector prefers to be
105
- * * perpendicular to a face of the unit cube.
106
- * * or pass through a nearby vertex or edge of the unit cube.
107
- * @param zVector existing z vector.
108
- * @param tolerance tolerance to determine if a z vector component is close to zero or 1.
109
- */
110
- private static snapVectorToCubeFeatures;
111
- /**
112
- * Adjust a worldToView matrix to favor both
113
- * * direct view at faces, edges, and corners of a view cube.
114
- * * heads up
115
- * @param worldToView candidate matrix
116
- * @param tolerance tolerance for cleaning up fuzz. The default (1.0e-6) is appropriate if very dirty viewing operations are expected.
117
- * @param result optional result.
118
- */
119
- private static snapWorldToViewMatrixToCubeFeatures;
120
- private getArrowRotationAndFace;
121
- private _onArrowClick;
122
- private getArrowTitle;
123
- private _lastClientXY;
124
- private _processDrag;
125
- private _handleBoxMouseDown;
126
- private _onMouseMove;
127
- private _onMouseUp;
128
- private _handleBoxTouchStart;
129
- private _onTouchMove;
130
- private _onTouchEnd;
131
- private _handleFaceCellClick;
132
- private _animateRotation;
133
- private _setRotation;
134
- }
135
- /** @internal */
136
- export interface NavCubeFaceProps extends React.AllHTMLAttributes<HTMLDivElement> {
137
- face: Face;
138
- label: string;
139
- hoverMap: {
140
- [key: string]: CubeHover;
141
- };
142
- onFaceCellClick: (vector: Vector3d, face: Face) => void;
143
- onFaceCellHoverChange: (vector: Vector3d, state: CubeHover) => void;
144
- }
145
- /** @internal */
146
- export declare class NavCubeFace extends React.Component<NavCubeFaceProps> {
147
- render(): React.ReactNode;
148
- static faceCellToPos: (face: Face, x: number, y: number) => Vector3d;
149
- }
150
- /** @internal */
151
- export interface FaceCellProps extends React.AllHTMLAttributes<HTMLDivElement> {
152
- center?: boolean;
153
- onFaceCellClick: (vector: Vector3d, face: Face) => void;
154
- onFaceCellHoverChange: (vector: Vector3d, state: CubeHover) => void;
155
- hoverMap: {
156
- [key: string]: CubeHover;
157
- };
158
- vector: Vector3d;
159
- face: Face;
160
- }
161
- /** @internal */
162
- export declare class FaceCell extends React.Component<FaceCellProps> {
163
- private _startMouse;
164
- render(): React.ReactNode;
165
- private _handleMouseOver;
166
- private _handleMouseOut;
167
- private _handleMouseDown;
168
- private _handleMouseUp;
169
- private _handleTouchStart;
170
- private _handleTouchEnd;
171
- private handlePointerDown;
172
- private handlePointerUp;
173
- }
174
- export {};
1
+ /** @packageDocumentation
2
+ * @module NavigationAids
3
+ */
4
+ import "./CubeNavigationAid.scss";
5
+ import * as React from "react";
6
+ import { Matrix3d, Vector3d } from "@itwin/core-geometry";
7
+ import { IModelConnection, Viewport } from "@itwin/core-frontend";
8
+ import { CommonProps } from "@itwin/core-react";
9
+ import { Face } from "./Cube";
10
+ /** @public */
11
+ export declare enum CubeNavigationHitBoxX {
12
+ None = 0,
13
+ Right = 1,
14
+ Left = -1
15
+ }
16
+ /** @internal
17
+ * @deprecated in 2.x. Use [[CubeNavigationHitBoxX]] */
18
+ export declare enum HitBoxX {
19
+ None = 0,
20
+ Right = 1,
21
+ Left = -1
22
+ }
23
+ /** @public */
24
+ export declare enum CubeNavigationHitBoxY {
25
+ None = 0,
26
+ Back = 1,
27
+ Front = -1
28
+ }
29
+ /** @internal
30
+ * @deprecated in 2.x. Use [[CubeNavigationHitBoxY]] */
31
+ export declare enum HitBoxY {
32
+ None = 0,
33
+ Back = 1,
34
+ Front = -1
35
+ }
36
+ /** @public */
37
+ export declare enum CubeNavigationHitBoxZ {
38
+ None = 0,
39
+ Top = 1,
40
+ Bottom = -1
41
+ }
42
+ /** @internal
43
+ * @deprecated in 2.x. [[CubeNavigationHitBoxZ]] */
44
+ export declare enum HitBoxZ {
45
+ None = 0,
46
+ Top = 1,
47
+ Bottom = -1
48
+ }
49
+ /** @internal */
50
+ export declare enum CubeHover {
51
+ None = 0,
52
+ Hover = 1,
53
+ Active = 2
54
+ }
55
+ /** Properties for the [[CubeNavigationAid]] component
56
+ * @public
57
+ */
58
+ export interface CubeNavigationAidProps extends CommonProps {
59
+ iModelConnection: IModelConnection;
60
+ viewport?: Viewport;
61
+ /** @internal */
62
+ onAnimationEnd?: () => void;
63
+ /** @internal */
64
+ animationTime?: number;
65
+ }
66
+ /** @public */
67
+ interface CubeNavigationAidState {
68
+ dragging: boolean;
69
+ startRotMatrix: Matrix3d;
70
+ endRotMatrix: Matrix3d;
71
+ animation: number;
72
+ hoverMap: {
73
+ [key: string]: CubeHover;
74
+ };
75
+ face: Face;
76
+ }
77
+ /** Cube Navigation Aid Component
78
+ * @public
79
+ */
80
+ export declare class CubeNavigationAid extends React.Component<CubeNavigationAidProps, CubeNavigationAidState> {
81
+ private _start;
82
+ /** @internal */
83
+ readonly state: Readonly<CubeNavigationAidState>;
84
+ private _lastTime;
85
+ private _animationFrame;
86
+ private _mounted;
87
+ private _labels;
88
+ /** @internal */
89
+ componentDidMount(): void;
90
+ /** @internal */
91
+ componentWillUnmount(): void;
92
+ private _handleViewRotationChangeEvent;
93
+ private _animation;
94
+ private _animationEnd;
95
+ private static _animationFn;
96
+ private static _isMatrixFace;
97
+ render(): React.ReactNode;
98
+ private _handleCellHoverChange;
99
+ private _isInteractionLocked;
100
+ private static _getMatrixFace;
101
+ private static _interpolateRotMatrix;
102
+ private static correctSmallNumber;
103
+ /**
104
+ * Snap coordinates of a vector to zero and to each other so that the vector prefers to be
105
+ * * perpendicular to a face of the unit cube.
106
+ * * or pass through a nearby vertex or edge of the unit cube.
107
+ * @param zVector existing z vector.
108
+ * @param tolerance tolerance to determine if a z vector component is close to zero or 1.
109
+ */
110
+ private static snapVectorToCubeFeatures;
111
+ /**
112
+ * Adjust a worldToView matrix to favor both
113
+ * * direct view at faces, edges, and corners of a view cube.
114
+ * * heads up
115
+ * @param worldToView candidate matrix
116
+ * @param tolerance tolerance for cleaning up fuzz. The default (1.0e-6) is appropriate if very dirty viewing operations are expected.
117
+ * @param result optional result.
118
+ */
119
+ private static snapWorldToViewMatrixToCubeFeatures;
120
+ private getArrowRotationAndFace;
121
+ private _onArrowClick;
122
+ private getArrowTitle;
123
+ private _lastClientXY;
124
+ private _processDrag;
125
+ private _handleBoxMouseDown;
126
+ private _onMouseMove;
127
+ private _onMouseUp;
128
+ private _handleBoxTouchStart;
129
+ private _onTouchMove;
130
+ private _onTouchEnd;
131
+ private _handleFaceCellClick;
132
+ private _animateRotation;
133
+ private _setRotation;
134
+ }
135
+ /** @internal */
136
+ export interface NavCubeFaceProps extends React.AllHTMLAttributes<HTMLDivElement> {
137
+ face: Face;
138
+ label: string;
139
+ hoverMap: {
140
+ [key: string]: CubeHover;
141
+ };
142
+ onFaceCellClick: (vector: Vector3d, face: Face) => void;
143
+ onFaceCellHoverChange: (vector: Vector3d, state: CubeHover) => void;
144
+ }
145
+ /** @internal */
146
+ export declare class NavCubeFace extends React.Component<NavCubeFaceProps> {
147
+ render(): React.ReactNode;
148
+ static faceCellToPos: (face: Face, x: number, y: number) => Vector3d;
149
+ }
150
+ /** @internal */
151
+ export interface FaceCellProps extends React.AllHTMLAttributes<HTMLDivElement> {
152
+ center?: boolean;
153
+ onFaceCellClick: (vector: Vector3d, face: Face) => void;
154
+ onFaceCellHoverChange: (vector: Vector3d, state: CubeHover) => void;
155
+ hoverMap: {
156
+ [key: string]: CubeHover;
157
+ };
158
+ vector: Vector3d;
159
+ face: Face;
160
+ }
161
+ /** @internal */
162
+ export declare class FaceCell extends React.Component<FaceCellProps> {
163
+ private _startMouse;
164
+ render(): React.ReactNode;
165
+ private _handleMouseOver;
166
+ private _handleMouseOut;
167
+ private _handleMouseDown;
168
+ private _handleMouseUp;
169
+ private _handleTouchStart;
170
+ private _handleTouchEnd;
171
+ private handlePointerDown;
172
+ private handlePointerUp;
173
+ }
174
+ export {};
175
175
  //# sourceMappingURL=CubeNavigationAid.d.ts.map