@itwin/core-frontend 5.1.0-dev.9 → 5.2.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 (721) hide show
  1. package/CHANGELOG.md +92 -1
  2. package/lib/cjs/AccuDraw.js +2 -2
  3. package/lib/cjs/AccuDraw.js.map +1 -1
  4. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  5. package/lib/cjs/AccuSnap.js +15 -6
  6. package/lib/cjs/AccuSnap.js.map +1 -1
  7. package/lib/cjs/AuxCoordSys.js +1 -1
  8. package/lib/cjs/AuxCoordSys.js.map +1 -1
  9. package/lib/cjs/DisplayStyleState.d.ts +37 -0
  10. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  11. package/lib/cjs/DisplayStyleState.js +65 -0
  12. package/lib/cjs/DisplayStyleState.js.map +1 -1
  13. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  14. package/lib/cjs/DrawingViewState.js +1 -0
  15. package/lib/cjs/DrawingViewState.js.map +1 -1
  16. package/lib/cjs/GraphicalEditingScope.d.ts +1 -1
  17. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  18. package/lib/cjs/GraphicalEditingScope.js +1 -1
  19. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  20. package/lib/cjs/HitDetail.d.ts +1 -1
  21. package/lib/cjs/HitDetail.d.ts.map +1 -1
  22. package/lib/cjs/HitDetail.js.map +1 -1
  23. package/lib/cjs/IModelApp.d.ts +19 -4
  24. package/lib/cjs/IModelApp.d.ts.map +1 -1
  25. package/lib/cjs/IModelApp.js +21 -2
  26. package/lib/cjs/IModelApp.js.map +1 -1
  27. package/lib/cjs/IModelConnection.d.ts +8 -9
  28. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  29. package/lib/cjs/IModelConnection.js +52 -24
  30. package/lib/cjs/IModelConnection.js.map +1 -1
  31. package/lib/cjs/IpcApp.d.ts +2 -1
  32. package/lib/cjs/IpcApp.d.ts.map +1 -1
  33. package/lib/cjs/IpcApp.js +4 -2
  34. package/lib/cjs/IpcApp.js.map +1 -1
  35. package/lib/cjs/RealityDataSource.d.ts +65 -3
  36. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  37. package/lib/cjs/RealityDataSource.js +79 -3
  38. package/lib/cjs/RealityDataSource.js.map +1 -1
  39. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js +1 -1
  40. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  41. package/lib/cjs/SelectionSet.d.ts +7 -7
  42. package/lib/cjs/SelectionSet.js +3 -3
  43. package/lib/cjs/SelectionSet.js.map +1 -1
  44. package/lib/cjs/SheetViewState.d.ts +2 -0
  45. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  46. package/lib/cjs/SheetViewState.js +25 -3
  47. package/lib/cjs/SheetViewState.js.map +1 -1
  48. package/lib/cjs/ViewState.d.ts +1 -1
  49. package/lib/cjs/ViewState.js +1 -1
  50. package/lib/cjs/ViewState.js.map +1 -1
  51. package/lib/cjs/Viewport.d.ts +6 -4
  52. package/lib/cjs/Viewport.d.ts.map +1 -1
  53. package/lib/cjs/Viewport.js +23 -3
  54. package/lib/cjs/Viewport.js.map +1 -1
  55. package/lib/cjs/common/gltf/GltfSchema.d.ts +18 -0
  56. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -1
  57. package/lib/cjs/common/gltf/GltfSchema.js +1 -0
  58. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  59. package/lib/cjs/common/imdl/CompactEdges.d.ts +11 -0
  60. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -1
  61. package/lib/cjs/common/imdl/CompactEdges.js +9 -6
  62. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  63. package/lib/cjs/common/imdl/ImdlSchema.d.ts +5 -1
  64. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -1
  65. package/lib/cjs/common/imdl/ImdlSchema.js +4 -0
  66. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  67. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  68. package/lib/cjs/common/imdl/ParseImdlDocument.js +11 -9
  69. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  70. package/lib/cjs/common/internal/render/EdgeParams.d.ts +7 -2
  71. package/lib/cjs/common/internal/render/EdgeParams.d.ts.map +1 -1
  72. package/lib/cjs/common/internal/render/EdgeParams.js +30 -8
  73. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  74. package/lib/cjs/common/internal/render/MeshPrimitives.d.ts +2 -1
  75. package/lib/cjs/common/internal/render/MeshPrimitives.d.ts.map +1 -1
  76. package/lib/cjs/common/internal/render/MeshPrimitives.js +5 -7
  77. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  78. package/lib/cjs/common/internal/render/PolylineParams.d.ts +8 -3
  79. package/lib/cjs/common/internal/render/PolylineParams.d.ts.map +1 -1
  80. package/lib/cjs/common/internal/render/PolylineParams.js +6 -9
  81. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  82. package/lib/cjs/common/internal/render/VertexTableSplitter.d.ts.map +1 -1
  83. package/lib/cjs/common/internal/render/VertexTableSplitter.js +9 -7
  84. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  85. package/lib/cjs/core-frontend.d.ts +2 -2
  86. package/lib/cjs/core-frontend.d.ts.map +1 -1
  87. package/lib/cjs/core-frontend.js +1 -1
  88. package/lib/cjs/core-frontend.js.map +1 -1
  89. package/lib/cjs/extension/ExtensionRuntime.js +15 -2
  90. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  91. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  92. package/lib/cjs/internal/GoogleMapsDecorator.d.ts +53 -0
  93. package/lib/cjs/internal/GoogleMapsDecorator.d.ts.map +1 -0
  94. package/lib/cjs/internal/GoogleMapsDecorator.js +132 -0
  95. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -0
  96. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.d.ts +83 -0
  97. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.d.ts.map +1 -0
  98. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js +201 -0
  99. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -0
  100. package/lib/cjs/internal/ScriptUtils.d.ts +5 -0
  101. package/lib/cjs/internal/ScriptUtils.d.ts.map +1 -0
  102. package/lib/cjs/internal/ScriptUtils.js +120 -0
  103. package/lib/cjs/internal/ScriptUtils.js.map +1 -0
  104. package/lib/cjs/internal/cross-package.d.ts +1 -0
  105. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  106. package/lib/cjs/internal/cross-package.js +4 -1
  107. package/lib/cjs/internal/cross-package.js.map +1 -1
  108. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts +1 -1
  109. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  110. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js +1 -1
  111. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  112. package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts +2 -2
  113. package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  114. package/lib/cjs/internal/render/webgl/AttributeBuffers.js +2 -2
  115. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  116. package/lib/cjs/internal/render/webgl/BatchUniforms.js +1 -1
  117. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  118. package/lib/cjs/internal/render/webgl/BranchStack.d.ts +2 -2
  119. package/lib/cjs/internal/render/webgl/BranchStack.d.ts.map +1 -1
  120. package/lib/cjs/internal/render/webgl/BranchStack.js +3 -2
  121. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  122. package/lib/cjs/internal/render/webgl/BranchState.d.ts +4 -2
  123. package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
  124. package/lib/cjs/internal/render/webgl/BranchState.js +4 -1
  125. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  126. package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts +2 -2
  127. package/lib/cjs/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
  128. package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
  129. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  130. package/lib/cjs/internal/render/webgl/ClippingProgram.d.ts +1 -1
  131. package/lib/cjs/internal/render/webgl/ClippingProgram.d.ts.map +1 -1
  132. package/lib/cjs/internal/render/webgl/ClippingProgram.js +1 -1
  133. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  134. package/lib/cjs/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
  135. package/lib/cjs/internal/render/webgl/ContourUniforms.js +2 -3
  136. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  137. package/lib/cjs/internal/render/webgl/Contours.js +8 -8
  138. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  139. package/lib/cjs/internal/render/webgl/EdgeGeometry.d.ts +8 -6
  140. package/lib/cjs/internal/render/webgl/EdgeGeometry.d.ts.map +1 -1
  141. package/lib/cjs/internal/render/webgl/EdgeGeometry.js +21 -7
  142. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  143. package/lib/cjs/internal/render/webgl/Graphic.d.ts +2 -1
  144. package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
  145. package/lib/cjs/internal/render/webgl/Graphic.js +2 -0
  146. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  147. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.d.ts +6 -1
  148. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  149. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js +19 -4
  150. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  151. package/lib/cjs/internal/render/webgl/Mesh.d.ts +1 -1
  152. package/lib/cjs/internal/render/webgl/Mesh.d.ts.map +1 -1
  153. package/lib/cjs/internal/render/webgl/Mesh.js +13 -6
  154. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  155. package/lib/cjs/internal/render/webgl/SceneCompositor.js +2 -1
  156. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  157. package/lib/cjs/internal/render/webgl/ShaderProgram.d.ts +2 -2
  158. package/lib/cjs/internal/render/webgl/ShaderProgram.d.ts.map +1 -1
  159. package/lib/cjs/internal/render/webgl/ShaderProgram.js +2 -2
  160. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  161. package/lib/cjs/internal/render/webgl/Target.d.ts +2 -1
  162. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  163. package/lib/cjs/internal/render/webgl/Target.js +3 -1
  164. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  165. package/lib/cjs/internal/render/webgl/Technique.d.ts +3 -3
  166. package/lib/cjs/internal/render/webgl/Technique.d.ts.map +1 -1
  167. package/lib/cjs/internal/render/webgl/Technique.js +3 -3
  168. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  169. package/lib/cjs/internal/tile/ClassifierTileTree.js +3 -1
  170. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  171. package/lib/cjs/internal/tile/IModelTile.d.ts +1 -0
  172. package/lib/cjs/internal/tile/IModelTile.d.ts.map +1 -1
  173. package/lib/cjs/internal/tile/IModelTile.js +4 -0
  174. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  175. package/lib/cjs/internal/tile/IModelTileTree.d.ts +4 -2
  176. package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -1
  177. package/lib/cjs/internal/tile/IModelTileTree.js +58 -0
  178. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  179. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  180. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
  181. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  182. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts +4 -1
  183. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  184. package/lib/cjs/internal/tile/OrbitGtTileTree.js +4 -0
  185. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  186. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  187. package/lib/cjs/internal/tile/PrimaryTileTree.js +5 -4
  188. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  189. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +26 -7
  190. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  191. package/lib/cjs/internal/tile/RealityModelTileTree.js +48 -21
  192. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  193. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +2 -2
  194. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  195. package/lib/cjs/internal/tile/RealityTileLoader.js +10 -2
  196. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  197. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
  198. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  199. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  200. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  201. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
  202. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  203. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
  204. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  205. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
  206. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  207. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  208. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  209. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
  210. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  211. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +1 -1
  212. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  213. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
  214. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  215. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
  216. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  217. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts +7 -0
  218. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  219. package/lib/cjs/internal/tile/map/WmtsCapabilities.js +17 -0
  220. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  221. package/lib/cjs/internal/webgl.d.ts +1 -1
  222. package/lib/cjs/internal/webgl.d.ts.map +1 -1
  223. package/lib/cjs/internal/webgl.js.map +1 -1
  224. package/lib/cjs/properties/AngleDescription.d.ts +4 -1
  225. package/lib/cjs/properties/AngleDescription.d.ts.map +1 -1
  226. package/lib/cjs/properties/AngleDescription.js +10 -2
  227. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  228. package/lib/cjs/properties/FormattedQuantityDescription.d.ts +11 -1
  229. package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
  230. package/lib/cjs/properties/FormattedQuantityDescription.js +7 -2
  231. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  232. package/lib/cjs/properties/LengthDescription.d.ts +12 -3
  233. package/lib/cjs/properties/LengthDescription.d.ts.map +1 -1
  234. package/lib/cjs/properties/LengthDescription.js +30 -6
  235. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  236. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +103 -7
  237. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  238. package/lib/cjs/quantity-formatting/QuantityFormatter.js +210 -23
  239. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  240. package/lib/cjs/render/Decorations.d.ts +1 -1
  241. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  242. package/lib/cjs/render/Decorations.js +1 -1
  243. package/lib/cjs/render/Decorations.js.map +1 -1
  244. package/lib/cjs/render/GraphicBranch.d.ts +4 -2
  245. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  246. package/lib/cjs/render/GraphicBranch.js +1 -1
  247. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  248. package/lib/cjs/render/MeshArgs.d.ts +8 -3
  249. package/lib/cjs/render/MeshArgs.d.ts.map +1 -1
  250. package/lib/cjs/render/MeshArgs.js.map +1 -1
  251. package/lib/cjs/render/RenderGraphic.d.ts +1 -1
  252. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  253. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  254. package/lib/cjs/render/RenderSystem.d.ts +2 -2
  255. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  256. package/lib/cjs/render/RenderSystem.js.map +1 -1
  257. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +1 -1
  258. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  259. package/lib/cjs/request/Request.d.ts +2 -2
  260. package/lib/cjs/request/Request.js.map +1 -1
  261. package/lib/cjs/tile/GltfReader.d.ts +6 -2
  262. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  263. package/lib/cjs/tile/GltfReader.js +154 -18
  264. package/lib/cjs/tile/GltfReader.js.map +1 -1
  265. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  266. package/lib/cjs/tile/RealityTile.d.ts +9 -0
  267. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  268. package/lib/cjs/tile/RealityTile.js +12 -0
  269. package/lib/cjs/tile/RealityTile.js.map +1 -1
  270. package/lib/cjs/tile/RealityTileTree.d.ts +4 -0
  271. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  272. package/lib/cjs/tile/RealityTileTree.js +4 -0
  273. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  274. package/lib/cjs/tile/Tile.d.ts +1 -1
  275. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  276. package/lib/cjs/tile/Tile.js +1 -1
  277. package/lib/cjs/tile/Tile.js.map +1 -1
  278. package/lib/cjs/tile/TileAdmin.d.ts +10 -0
  279. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  280. package/lib/cjs/tile/TileAdmin.js +3 -0
  281. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  282. package/lib/cjs/tile/TileGeometryCollector.d.ts +5 -0
  283. package/lib/cjs/tile/TileGeometryCollector.d.ts.map +1 -1
  284. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  285. package/lib/cjs/tile/TileTree.d.ts +15 -2
  286. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  287. package/lib/cjs/tile/TileTree.js +14 -1
  288. package/lib/cjs/tile/TileTree.js.map +1 -1
  289. package/lib/cjs/tile/TileTreeReference.d.ts +17 -3
  290. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  291. package/lib/cjs/tile/TileTreeReference.js +11 -5
  292. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  293. package/lib/cjs/tile/map/CesiumTerrainProvider.js +1 -1
  294. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  295. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -2
  296. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  297. package/lib/cjs/tile/map/ImageryTileTree.js +2 -2
  298. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  299. package/lib/cjs/tile/map/MapCartoRectangle.d.ts +10 -0
  300. package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
  301. package/lib/cjs/tile/map/MapCartoRectangle.js +12 -0
  302. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  303. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +3 -3
  304. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  305. package/lib/cjs/tile/map/MapLayerImageryProvider.js +9 -5
  306. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  307. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  308. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  309. package/lib/cjs/tile/map/MapTileTree.js +1 -1
  310. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  311. package/lib/cjs/tile/map/QuadId.d.ts +15 -0
  312. package/lib/cjs/tile/map/QuadId.d.ts.map +1 -1
  313. package/lib/cjs/tile/map/QuadId.js +12 -0
  314. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  315. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +1 -1
  316. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  317. package/lib/cjs/tile/map/TerrainMeshProvider.js +1 -1
  318. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  319. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  320. package/lib/cjs/tools/ClipViewTool.js +18 -7
  321. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  322. package/lib/cjs/tools/ElementSetTool.d.ts +9 -1
  323. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  324. package/lib/cjs/tools/ElementSetTool.js +130 -7
  325. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  326. package/lib/cjs/tools/IdleTool.d.ts.map +1 -1
  327. package/lib/cjs/tools/IdleTool.js +4 -1
  328. package/lib/cjs/tools/IdleTool.js.map +1 -1
  329. package/lib/cjs/tools/MeasureTool.d.ts +9 -0
  330. package/lib/cjs/tools/MeasureTool.d.ts.map +1 -1
  331. package/lib/cjs/tools/MeasureTool.js +57 -24
  332. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  333. package/lib/cjs/tools/PrimitiveTool.d.ts +1 -1
  334. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  335. package/lib/cjs/tools/PrimitiveTool.js +4 -3
  336. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  337. package/lib/cjs/tools/SelectTool.d.ts +2 -2
  338. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  339. package/lib/cjs/tools/SelectTool.js +26 -97
  340. package/lib/cjs/tools/SelectTool.js.map +1 -1
  341. package/lib/cjs/tools/Tool.d.ts +10 -1
  342. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  343. package/lib/cjs/tools/Tool.js +27 -4
  344. package/lib/cjs/tools/Tool.js.map +1 -1
  345. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  346. package/lib/cjs/tools/ToolAdmin.js +51 -16
  347. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  348. package/lib/cjs/tools/ToolAssistance.d.ts +1 -1
  349. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  350. package/lib/cjs/tools/ToolSettings.d.ts +5 -0
  351. package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
  352. package/lib/cjs/tools/ToolSettings.js +5 -0
  353. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  354. package/lib/cjs/tools/ViewTool.d.ts +1 -2
  355. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  356. package/lib/cjs/tools/ViewTool.js +143 -84
  357. package/lib/cjs/tools/ViewTool.js.map +1 -1
  358. package/lib/esm/AccuDraw.js +2 -2
  359. package/lib/esm/AccuDraw.js.map +1 -1
  360. package/lib/esm/AccuSnap.d.ts.map +1 -1
  361. package/lib/esm/AccuSnap.js +15 -6
  362. package/lib/esm/AccuSnap.js.map +1 -1
  363. package/lib/esm/AuxCoordSys.js +1 -1
  364. package/lib/esm/AuxCoordSys.js.map +1 -1
  365. package/lib/esm/DisplayStyleState.d.ts +37 -0
  366. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  367. package/lib/esm/DisplayStyleState.js +65 -0
  368. package/lib/esm/DisplayStyleState.js.map +1 -1
  369. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  370. package/lib/esm/DrawingViewState.js +1 -0
  371. package/lib/esm/DrawingViewState.js.map +1 -1
  372. package/lib/esm/GraphicalEditingScope.d.ts +1 -1
  373. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  374. package/lib/esm/GraphicalEditingScope.js +1 -1
  375. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  376. package/lib/esm/HitDetail.d.ts +1 -1
  377. package/lib/esm/HitDetail.d.ts.map +1 -1
  378. package/lib/esm/HitDetail.js.map +1 -1
  379. package/lib/esm/IModelApp.d.ts +19 -4
  380. package/lib/esm/IModelApp.d.ts.map +1 -1
  381. package/lib/esm/IModelApp.js +22 -3
  382. package/lib/esm/IModelApp.js.map +1 -1
  383. package/lib/esm/IModelConnection.d.ts +8 -9
  384. package/lib/esm/IModelConnection.d.ts.map +1 -1
  385. package/lib/esm/IModelConnection.js +53 -25
  386. package/lib/esm/IModelConnection.js.map +1 -1
  387. package/lib/esm/IpcApp.d.ts +2 -1
  388. package/lib/esm/IpcApp.d.ts.map +1 -1
  389. package/lib/esm/IpcApp.js +4 -2
  390. package/lib/esm/IpcApp.js.map +1 -1
  391. package/lib/esm/RealityDataSource.d.ts +65 -3
  392. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  393. package/lib/esm/RealityDataSource.js +77 -3
  394. package/lib/esm/RealityDataSource.js.map +1 -1
  395. package/lib/esm/RealityDataSourceTilesetUrlImpl.js +1 -1
  396. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  397. package/lib/esm/SelectionSet.d.ts +7 -7
  398. package/lib/esm/SelectionSet.js +3 -3
  399. package/lib/esm/SelectionSet.js.map +1 -1
  400. package/lib/esm/SheetViewState.d.ts +2 -0
  401. package/lib/esm/SheetViewState.d.ts.map +1 -1
  402. package/lib/esm/SheetViewState.js +25 -3
  403. package/lib/esm/SheetViewState.js.map +1 -1
  404. package/lib/esm/ViewState.d.ts +1 -1
  405. package/lib/esm/ViewState.js +1 -1
  406. package/lib/esm/ViewState.js.map +1 -1
  407. package/lib/esm/Viewport.d.ts +6 -4
  408. package/lib/esm/Viewport.d.ts.map +1 -1
  409. package/lib/esm/Viewport.js +23 -3
  410. package/lib/esm/Viewport.js.map +1 -1
  411. package/lib/esm/common/gltf/GltfSchema.d.ts +18 -0
  412. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -1
  413. package/lib/esm/common/gltf/GltfSchema.js +1 -0
  414. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  415. package/lib/esm/common/imdl/CompactEdges.d.ts +11 -0
  416. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -1
  417. package/lib/esm/common/imdl/CompactEdges.js +8 -6
  418. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  419. package/lib/esm/common/imdl/ImdlSchema.d.ts +5 -1
  420. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -1
  421. package/lib/esm/common/imdl/ImdlSchema.js +4 -0
  422. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  423. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  424. package/lib/esm/common/imdl/ParseImdlDocument.js +11 -9
  425. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  426. package/lib/esm/common/internal/render/EdgeParams.d.ts +7 -2
  427. package/lib/esm/common/internal/render/EdgeParams.d.ts.map +1 -1
  428. package/lib/esm/common/internal/render/EdgeParams.js +31 -9
  429. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  430. package/lib/esm/common/internal/render/MeshPrimitives.d.ts +2 -1
  431. package/lib/esm/common/internal/render/MeshPrimitives.d.ts.map +1 -1
  432. package/lib/esm/common/internal/render/MeshPrimitives.js +5 -7
  433. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  434. package/lib/esm/common/internal/render/PolylineParams.d.ts +8 -3
  435. package/lib/esm/common/internal/render/PolylineParams.d.ts.map +1 -1
  436. package/lib/esm/common/internal/render/PolylineParams.js +5 -8
  437. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  438. package/lib/esm/common/internal/render/VertexTableSplitter.d.ts.map +1 -1
  439. package/lib/esm/common/internal/render/VertexTableSplitter.js +9 -7
  440. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  441. package/lib/esm/core-frontend.d.ts +2 -2
  442. package/lib/esm/core-frontend.d.ts.map +1 -1
  443. package/lib/esm/core-frontend.js +1 -1
  444. package/lib/esm/core-frontend.js.map +1 -1
  445. package/lib/esm/extension/ExtensionRuntime.js +15 -2
  446. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  447. package/lib/esm/extension/providers/ExtensionLoadScript.js +1 -1
  448. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  449. package/lib/esm/internal/GoogleMapsDecorator.d.ts +53 -0
  450. package/lib/esm/internal/GoogleMapsDecorator.d.ts.map +1 -0
  451. package/lib/esm/internal/GoogleMapsDecorator.js +126 -0
  452. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -0
  453. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.d.ts +83 -0
  454. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.d.ts.map +1 -0
  455. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js +197 -0
  456. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -0
  457. package/lib/esm/internal/ScriptUtils.d.ts +5 -0
  458. package/lib/esm/internal/ScriptUtils.d.ts.map +1 -0
  459. package/lib/esm/internal/ScriptUtils.js +117 -0
  460. package/lib/esm/internal/ScriptUtils.js.map +1 -0
  461. package/lib/esm/internal/cross-package.d.ts +1 -0
  462. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  463. package/lib/esm/internal/cross-package.js +1 -0
  464. package/lib/esm/internal/cross-package.js.map +1 -1
  465. package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts +1 -1
  466. package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  467. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js +1 -1
  468. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  469. package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts +2 -2
  470. package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  471. package/lib/esm/internal/render/webgl/AttributeBuffers.js +2 -2
  472. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  473. package/lib/esm/internal/render/webgl/BatchUniforms.js +1 -1
  474. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  475. package/lib/esm/internal/render/webgl/BranchStack.d.ts +2 -2
  476. package/lib/esm/internal/render/webgl/BranchStack.d.ts.map +1 -1
  477. package/lib/esm/internal/render/webgl/BranchStack.js +3 -2
  478. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  479. package/lib/esm/internal/render/webgl/BranchState.d.ts +4 -2
  480. package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
  481. package/lib/esm/internal/render/webgl/BranchState.js +4 -1
  482. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  483. package/lib/esm/internal/render/webgl/BranchUniforms.d.ts +2 -2
  484. package/lib/esm/internal/render/webgl/BranchUniforms.d.ts.map +1 -1
  485. package/lib/esm/internal/render/webgl/BranchUniforms.js +2 -2
  486. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  487. package/lib/esm/internal/render/webgl/ClippingProgram.d.ts +1 -1
  488. package/lib/esm/internal/render/webgl/ClippingProgram.d.ts.map +1 -1
  489. package/lib/esm/internal/render/webgl/ClippingProgram.js +1 -1
  490. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  491. package/lib/esm/internal/render/webgl/ContourUniforms.d.ts.map +1 -1
  492. package/lib/esm/internal/render/webgl/ContourUniforms.js +2 -3
  493. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  494. package/lib/esm/internal/render/webgl/Contours.js +8 -8
  495. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  496. package/lib/esm/internal/render/webgl/EdgeGeometry.d.ts +8 -6
  497. package/lib/esm/internal/render/webgl/EdgeGeometry.d.ts.map +1 -1
  498. package/lib/esm/internal/render/webgl/EdgeGeometry.js +21 -7
  499. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  500. package/lib/esm/internal/render/webgl/Graphic.d.ts +2 -1
  501. package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
  502. package/lib/esm/internal/render/webgl/Graphic.js +2 -0
  503. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  504. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.d.ts +6 -1
  505. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  506. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js +19 -4
  507. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  508. package/lib/esm/internal/render/webgl/Mesh.d.ts +1 -1
  509. package/lib/esm/internal/render/webgl/Mesh.d.ts.map +1 -1
  510. package/lib/esm/internal/render/webgl/Mesh.js +14 -7
  511. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  512. package/lib/esm/internal/render/webgl/SceneCompositor.js +2 -1
  513. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  514. package/lib/esm/internal/render/webgl/ShaderProgram.d.ts +2 -2
  515. package/lib/esm/internal/render/webgl/ShaderProgram.d.ts.map +1 -1
  516. package/lib/esm/internal/render/webgl/ShaderProgram.js +2 -2
  517. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  518. package/lib/esm/internal/render/webgl/Target.d.ts +2 -1
  519. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  520. package/lib/esm/internal/render/webgl/Target.js +3 -1
  521. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  522. package/lib/esm/internal/render/webgl/Technique.d.ts +3 -3
  523. package/lib/esm/internal/render/webgl/Technique.d.ts.map +1 -1
  524. package/lib/esm/internal/render/webgl/Technique.js +3 -3
  525. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  526. package/lib/esm/internal/tile/ClassifierTileTree.js +3 -1
  527. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  528. package/lib/esm/internal/tile/IModelTile.d.ts +1 -0
  529. package/lib/esm/internal/tile/IModelTile.d.ts.map +1 -1
  530. package/lib/esm/internal/tile/IModelTile.js +4 -0
  531. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  532. package/lib/esm/internal/tile/IModelTileTree.d.ts +4 -2
  533. package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -1
  534. package/lib/esm/internal/tile/IModelTileTree.js +60 -2
  535. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  536. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  537. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +8 -0
  538. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  539. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts +4 -1
  540. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  541. package/lib/esm/internal/tile/OrbitGtTileTree.js +5 -1
  542. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  543. package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  544. package/lib/esm/internal/tile/PrimaryTileTree.js +5 -4
  545. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  546. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +26 -7
  547. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  548. package/lib/esm/internal/tile/RealityModelTileTree.js +48 -22
  549. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  550. package/lib/esm/internal/tile/RealityTileLoader.d.ts +2 -2
  551. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  552. package/lib/esm/internal/tile/RealityTileLoader.js +10 -2
  553. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  554. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
  555. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  556. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +1 -1
  557. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  558. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
  559. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  560. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +1 -1
  561. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  562. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
  563. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  564. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +1 -1
  565. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  566. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
  567. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  568. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +1 -1
  569. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  570. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +4 -0
  571. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -1
  572. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +52 -11
  573. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  574. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts +7 -0
  575. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  576. package/lib/esm/internal/tile/map/WmtsCapabilities.js +17 -0
  577. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  578. package/lib/esm/internal/webgl.d.ts +1 -1
  579. package/lib/esm/internal/webgl.d.ts.map +1 -1
  580. package/lib/esm/internal/webgl.js.map +1 -1
  581. package/lib/esm/properties/AngleDescription.d.ts +4 -1
  582. package/lib/esm/properties/AngleDescription.d.ts.map +1 -1
  583. package/lib/esm/properties/AngleDescription.js +10 -2
  584. package/lib/esm/properties/AngleDescription.js.map +1 -1
  585. package/lib/esm/properties/FormattedQuantityDescription.d.ts +11 -1
  586. package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
  587. package/lib/esm/properties/FormattedQuantityDescription.js +7 -2
  588. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  589. package/lib/esm/properties/LengthDescription.d.ts +12 -3
  590. package/lib/esm/properties/LengthDescription.d.ts.map +1 -1
  591. package/lib/esm/properties/LengthDescription.js +30 -6
  592. package/lib/esm/properties/LengthDescription.js.map +1 -1
  593. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +103 -7
  594. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  595. package/lib/esm/quantity-formatting/QuantityFormatter.js +208 -23
  596. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  597. package/lib/esm/render/Decorations.d.ts +1 -1
  598. package/lib/esm/render/Decorations.d.ts.map +1 -1
  599. package/lib/esm/render/Decorations.js +1 -1
  600. package/lib/esm/render/Decorations.js.map +1 -1
  601. package/lib/esm/render/GraphicBranch.d.ts +4 -2
  602. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  603. package/lib/esm/render/GraphicBranch.js +1 -1
  604. package/lib/esm/render/GraphicBranch.js.map +1 -1
  605. package/lib/esm/render/MeshArgs.d.ts +8 -3
  606. package/lib/esm/render/MeshArgs.d.ts.map +1 -1
  607. package/lib/esm/render/MeshArgs.js.map +1 -1
  608. package/lib/esm/render/RenderGraphic.d.ts +1 -1
  609. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  610. package/lib/esm/render/RenderGraphic.js.map +1 -1
  611. package/lib/esm/render/RenderSystem.d.ts +2 -2
  612. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  613. package/lib/esm/render/RenderSystem.js.map +1 -1
  614. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +1 -1
  615. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  616. package/lib/esm/request/Request.d.ts +2 -2
  617. package/lib/esm/request/Request.js.map +1 -1
  618. package/lib/esm/tile/GltfReader.d.ts +6 -2
  619. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  620. package/lib/esm/tile/GltfReader.js +154 -19
  621. package/lib/esm/tile/GltfReader.js.map +1 -1
  622. package/lib/esm/tile/ImdlReader.js.map +1 -1
  623. package/lib/esm/tile/RealityTile.d.ts +9 -0
  624. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  625. package/lib/esm/tile/RealityTile.js +12 -0
  626. package/lib/esm/tile/RealityTile.js.map +1 -1
  627. package/lib/esm/tile/RealityTileTree.d.ts +4 -0
  628. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  629. package/lib/esm/tile/RealityTileTree.js +4 -0
  630. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  631. package/lib/esm/tile/Tile.d.ts +1 -1
  632. package/lib/esm/tile/Tile.d.ts.map +1 -1
  633. package/lib/esm/tile/Tile.js +1 -1
  634. package/lib/esm/tile/Tile.js.map +1 -1
  635. package/lib/esm/tile/TileAdmin.d.ts +10 -0
  636. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  637. package/lib/esm/tile/TileAdmin.js +3 -0
  638. package/lib/esm/tile/TileAdmin.js.map +1 -1
  639. package/lib/esm/tile/TileGeometryCollector.d.ts +5 -0
  640. package/lib/esm/tile/TileGeometryCollector.d.ts.map +1 -1
  641. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  642. package/lib/esm/tile/TileTree.d.ts +15 -2
  643. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  644. package/lib/esm/tile/TileTree.js +14 -1
  645. package/lib/esm/tile/TileTree.js.map +1 -1
  646. package/lib/esm/tile/TileTreeReference.d.ts +17 -3
  647. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  648. package/lib/esm/tile/TileTreeReference.js +11 -5
  649. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  650. package/lib/esm/tile/map/CesiumTerrainProvider.js +1 -1
  651. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  652. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -2
  653. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  654. package/lib/esm/tile/map/ImageryTileTree.js +2 -2
  655. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  656. package/lib/esm/tile/map/MapCartoRectangle.d.ts +10 -0
  657. package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
  658. package/lib/esm/tile/map/MapCartoRectangle.js +12 -0
  659. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  660. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +3 -3
  661. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  662. package/lib/esm/tile/map/MapLayerImageryProvider.js +9 -5
  663. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  664. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  665. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  666. package/lib/esm/tile/map/MapTileTree.js +1 -1
  667. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  668. package/lib/esm/tile/map/QuadId.d.ts +15 -0
  669. package/lib/esm/tile/map/QuadId.d.ts.map +1 -1
  670. package/lib/esm/tile/map/QuadId.js +12 -0
  671. package/lib/esm/tile/map/QuadId.js.map +1 -1
  672. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +1 -1
  673. package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  674. package/lib/esm/tile/map/TerrainMeshProvider.js +1 -1
  675. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  676. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  677. package/lib/esm/tools/ClipViewTool.js +18 -7
  678. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  679. package/lib/esm/tools/ElementSetTool.d.ts +9 -1
  680. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  681. package/lib/esm/tools/ElementSetTool.js +132 -9
  682. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  683. package/lib/esm/tools/IdleTool.d.ts.map +1 -1
  684. package/lib/esm/tools/IdleTool.js +4 -1
  685. package/lib/esm/tools/IdleTool.js.map +1 -1
  686. package/lib/esm/tools/MeasureTool.d.ts +9 -0
  687. package/lib/esm/tools/MeasureTool.d.ts.map +1 -1
  688. package/lib/esm/tools/MeasureTool.js +57 -24
  689. package/lib/esm/tools/MeasureTool.js.map +1 -1
  690. package/lib/esm/tools/PrimitiveTool.d.ts +1 -1
  691. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  692. package/lib/esm/tools/PrimitiveTool.js +4 -3
  693. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  694. package/lib/esm/tools/SelectTool.d.ts +2 -2
  695. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  696. package/lib/esm/tools/SelectTool.js +26 -97
  697. package/lib/esm/tools/SelectTool.js.map +1 -1
  698. package/lib/esm/tools/Tool.d.ts +10 -1
  699. package/lib/esm/tools/Tool.d.ts.map +1 -1
  700. package/lib/esm/tools/Tool.js +27 -4
  701. package/lib/esm/tools/Tool.js.map +1 -1
  702. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  703. package/lib/esm/tools/ToolAdmin.js +51 -16
  704. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  705. package/lib/esm/tools/ToolAssistance.d.ts +1 -1
  706. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  707. package/lib/esm/tools/ToolSettings.d.ts +5 -0
  708. package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
  709. package/lib/esm/tools/ToolSettings.js +5 -0
  710. package/lib/esm/tools/ToolSettings.js.map +1 -1
  711. package/lib/esm/tools/ViewTool.d.ts +1 -2
  712. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  713. package/lib/esm/tools/ViewTool.js +143 -84
  714. package/lib/esm/tools/ViewTool.js.map +1 -1
  715. package/lib/public/images/google_on_non_white.png +0 -0
  716. package/lib/public/images/google_on_non_white_hdpi.png +0 -0
  717. package/lib/public/images/google_on_white.png +0 -0
  718. package/lib/public/images/google_on_white_hdpi.png +0 -0
  719. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  720. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  721. package/package.json +25 -22
@@ -16,11 +16,19 @@ const FormattedQuantityDescription_1 = require("./FormattedQuantityDescription")
16
16
  * @beta
17
17
  */
18
18
  class LengthDescription extends FormattedQuantityDescription_1.FormattedQuantityDescription {
19
- constructor(name, displayLabel, iconSpec) {
19
+ constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
20
20
  const defaultName = "length";
21
- super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
21
+ super({
22
+ name: name ? name : defaultName,
23
+ displayLabel: displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
24
+ kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
25
+ iconSpec,
26
+ });
22
27
  }
23
28
  get formatterQuantityType() { return QuantityFormatter_1.QuantityType.Length; }
29
+ /**
30
+ * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
31
+ */
24
32
  get quantityType() { return "Length"; }
25
33
  get parseError() { return IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
26
34
  }
@@ -30,11 +38,19 @@ exports.LengthDescription = LengthDescription;
30
38
  * @beta
31
39
  */
32
40
  class SurveyLengthDescription extends FormattedQuantityDescription_1.FormattedQuantityDescription {
33
- constructor(name, displayLabel, iconSpec) {
41
+ constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
34
42
  const defaultName = "surveyLength";
35
- super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
43
+ super({
44
+ name: name ? name : defaultName,
45
+ displayLabel: displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
46
+ kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
47
+ iconSpec,
48
+ });
36
49
  }
37
50
  get formatterQuantityType() { return QuantityFormatter_1.QuantityType.LengthSurvey; }
51
+ /**
52
+ * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
53
+ */
38
54
  get quantityType() { return "LengthSurvey"; }
39
55
  get parseError() { return IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
40
56
  }
@@ -44,11 +60,19 @@ exports.SurveyLengthDescription = SurveyLengthDescription;
44
60
  * @beta
45
61
  */
46
62
  class EngineeringLengthDescription extends FormattedQuantityDescription_1.FormattedQuantityDescription {
47
- constructor(name, displayLabel, iconSpec) {
63
+ constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
48
64
  const defaultName = "engineeringLength";
49
- super(name ? name : defaultName, displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"), iconSpec);
65
+ super({
66
+ name: name ? name : defaultName,
67
+ displayLabel: displayLabel ? displayLabel : IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
68
+ kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
69
+ iconSpec,
70
+ });
50
71
  }
51
72
  get formatterQuantityType() { return QuantityFormatter_1.QuantityType.LengthEngineering; }
73
+ /**
74
+ * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.
75
+ */
52
76
  get quantityType() { return "LengthEngineering"; }
53
77
  get parseError() { return IModelApp_1.IModelApp.localization.getLocalizedString("iModelJs:Properties.UnableToParseLength"); }
54
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LengthDescription.js","sourceRoot":"","sources":["../../../src/properties/LengthDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAAyC;AACzC,gFAAwE;AACxE,iFAA8E;AAE9E;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,2DAA4B;IACjE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB;QACjE,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,KAAK,CACH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EACzB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EACrG,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,IAAW,YAAY,KAAa,OAAO,QAAQ,CAAC,CAAC,CAAC;IAEtD,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAdD,8CAcC;AAED;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,2DAA4B;IACvE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB;QACjE,MAAM,WAAW,GAAG,cAAc,CAAC;QACnC,KAAK,CACH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EACzB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EACrG,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IACtF,IAAW,YAAY,KAAa,OAAO,cAAc,CAAC,CAAC,CAAC;IAE5D,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAdD,0DAcC;AAED;;;GAGG;AACH,MAAa,4BAA6B,SAAQ,2DAA4B;IAE5E,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB;QACjE,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,KAAK,CACH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EACzB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EACrG,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3F,IAAW,YAAY,KAAa,OAAO,mBAAmB,CAAC,CAAC,CAAC;IAEjE,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAfD,oEAeC","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 Properties\n */\n\nimport { IModelApp } from \"../IModelApp\";\nimport { QuantityType } from \"../quantity-formatting/QuantityFormatter\";\nimport { FormattedQuantityDescription } from \"./FormattedQuantityDescription\";\n\n/**\n * Length Property Description\n * @beta\n */\nexport class LengthDescription extends FormattedQuantityDescription {\n constructor(name?: string, displayLabel?: string, iconSpec?: string) {\n const defaultName = \"length\";\n super(\n name ? name : defaultName,\n displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n iconSpec,\n );\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.Length; }\n public get quantityType(): string { return \"Length\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n\n/**\n * Survey Length Property Description\n * @beta\n */\nexport class SurveyLengthDescription extends FormattedQuantityDescription {\n constructor(name?: string, displayLabel?: string, iconSpec?: string) {\n const defaultName = \"surveyLength\";\n super(\n name ? name : defaultName,\n displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n iconSpec,\n );\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.LengthSurvey; }\n public get quantityType(): string { return \"LengthSurvey\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n\n/**\n * Engineering Length Property Description\n * @beta\n */\nexport class EngineeringLengthDescription extends FormattedQuantityDescription {\n\n constructor(name?: string, displayLabel?: string, iconSpec?: string) {\n const defaultName = \"engineeringLength\";\n super(\n name ? name : defaultName,\n displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n iconSpec,\n );\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.LengthEngineering; }\n public get quantityType(): string { return \"LengthEngineering\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n"]}
1
+ {"version":3,"file":"LengthDescription.js","sourceRoot":"","sources":["../../../src/properties/LengthDescription.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,4CAAyC;AACzC,gFAAwE;AACxE,iFAA8E;AAE9E;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,2DAA4B;IACjE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB,EAAE,kBAA2B;QAC9F,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,KAAK,CAAC;YACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;YAC/B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;YACnH,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;YAC/E,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF;;OAEG;IACH,IAAW,YAAY,KAAa,OAAO,QAAQ,CAAC,CAAC,CAAC;IAEtD,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAlBD,8CAkBC;AAED;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,2DAA4B;IACvE,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB,EAAE,kBAA2B;QAC9F,MAAM,WAAW,GAAG,cAAc,CAAC;QACnC,KAAK,CAAC;YACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;YAC/B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;YACnH,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;YAC/E,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IACtF;;OAEG;IACH,IAAW,YAAY,KAAa,OAAO,cAAc,CAAC,CAAC,CAAC;IAE5D,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAlBD,0DAkBC;AAED;;;GAGG;AACH,MAAa,4BAA6B,SAAQ,2DAA4B;IAE5E,YAAY,IAAa,EAAE,YAAqB,EAAE,QAAiB,EAAE,kBAA2B;QAC9F,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,KAAK,CAAC;YACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;YAC/B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;YACnH,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;YAC/E,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,IAAW,qBAAqB,KAAmB,OAAO,gCAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3F;;OAEG;IACH,IAAW,YAAY,KAAa,OAAO,mBAAmB,CAAC,CAAC,CAAC;IAEjE,IAAW,UAAU,KAAa,OAAO,qBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC;CACjI;AAnBD,oEAmBC","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 Properties\n */\n\nimport { IModelApp } from \"../IModelApp\";\nimport { QuantityType } from \"../quantity-formatting/QuantityFormatter\";\nimport { FormattedQuantityDescription } from \"./FormattedQuantityDescription\";\n\n/**\n * Length Property Description\n * @beta\n */\nexport class LengthDescription extends FormattedQuantityDescription {\n constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string) {\n const defaultName = \"length\";\n super({\n name: name ? name : defaultName,\n displayLabel: displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : \"AecUnits.LENGTH\",\n iconSpec,\n });\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.Length; }\n /**\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.\n */\n public get quantityType(): string { return \"Length\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n\n/**\n * Survey Length Property Description\n * @beta\n */\nexport class SurveyLengthDescription extends FormattedQuantityDescription {\n constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string) {\n const defaultName = \"surveyLength\";\n super({\n name: name ? name : defaultName,\n displayLabel: displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : \"AecUnits.LENGTH\",\n iconSpec,\n });\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.LengthSurvey; }\n /**\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.\n */\n public get quantityType(): string { return \"LengthSurvey\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n\n/**\n * Engineering Length Property Description\n * @beta\n */\nexport class EngineeringLengthDescription extends FormattedQuantityDescription {\n\n constructor(name?: string, displayLabel?: string, iconSpec?: string, kindOfQuantityName?: string) {\n const defaultName = \"engineeringLength\";\n super({\n name: name ? name : defaultName,\n displayLabel: displayLabel ? displayLabel : IModelApp.localization.getLocalizedString(\"iModelJs:Properties.Length\"),\n kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : \"AecUnits.LENGTH\",\n iconSpec,\n });\n }\n\n public get formatterQuantityType(): QuantityType { return QuantityType.LengthEngineering; }\n /**\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use the `kindOfQuantityName` property instead.\n */\n public get quantityType(): string { return \"LengthEngineering\"; }\n\n public get parseError(): string { return IModelApp.localization.getLocalizedString(\"iModelJs:Properties.UnableToParseLength\"); }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module QuantityFormatting
3
3
  */
4
- import { BeUiEvent } from "@itwin/core-bentley";
5
- import { AlternateUnitLabelsProvider, FormatProps, FormatterSpec, ParserSpec, QuantityParseResult, UnitConversionProps, UnitProps, UnitsProvider, UnitSystemKey } from "@itwin/core-quantity";
4
+ import { BeEvent, BeUiEvent } from "@itwin/core-bentley";
5
+ import { AlternateUnitLabelsProvider, FormatDefinition, FormatProps, FormatsChangedArgs, FormatsProvider, FormatterSpec, ParserSpec, QuantityParseResult, UnitConversionProps, UnitProps, UnitsProvider, UnitSystemKey } from "@itwin/core-quantity";
6
6
  import { IModelConnection } from "../IModelConnection";
7
7
  import { CustomFormatPropEditorSpec } from "./QuantityTypesEditorSpecs";
8
8
  /**
@@ -42,6 +42,18 @@ export type QuantityTypeKey = string;
42
42
  * @public
43
43
  */
44
44
  export type UnitNameKey = string;
45
+ /**
46
+ * Interface for the properties required to create a FormatterSpec or ParserSpec.
47
+ * @beta
48
+ */
49
+ export interface CreateFormattingSpecProps {
50
+ /** The name of the persistence unit. */
51
+ persistenceUnitName: string;
52
+ /** The format properties to use for the spec. */
53
+ formatProps: FormatProps;
54
+ /** Optional name for the format. */
55
+ formatName?: string;
56
+ }
45
57
  /**
46
58
  * Class that contains alternate Unit Labels. These labels are used when parsing strings to quantities.
47
59
  * One use case is to allow a "^", which is easily input, to be used to specify "°".
@@ -116,6 +128,14 @@ export interface OverrideFormatEntry {
116
128
  /** Override format for "usSurvey" unit system */
117
129
  usSurvey?: FormatProps;
118
130
  }
131
+ /**
132
+ * Entries returned when looking up specs from the [[QuantityFormatter._formatSpecsRegistry]]
133
+ * @beta
134
+ */
135
+ export interface FormattingSpecEntry {
136
+ formatterSpec: FormatterSpec;
137
+ parserSpec: ParserSpec;
138
+ }
119
139
  /** Interface that defines the functions required to be implemented to provide custom formatting and parsing of a custom quantity type.
120
140
  * @public
121
141
  */
@@ -181,12 +201,37 @@ export interface UnitFormattingSettingsProvider {
181
201
  * should trigger reloading of the overrides when the "active" imodel changes. */
182
202
  readonly maintainOverridesPerIModel: boolean;
183
203
  }
204
+ /**
205
+ * A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
206
+ * Maps each KindOfQuantity to a [[QuantityType]].
207
+ * When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
208
+ * @internal
209
+ */
210
+ export declare class QuantityTypeFormatsProvider implements FormatsProvider {
211
+ onFormatsChanged: BeEvent<(args: FormatsChangedArgs) => void>;
212
+ constructor();
213
+ private _kindOfQuantityMap;
214
+ getFormat(name: string): Promise<FormatDefinition | undefined>;
215
+ }
216
+ /**
217
+ * An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
218
+ * Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
219
+ * @internal
220
+ */
221
+ export declare class FormatsProviderManager implements FormatsProvider {
222
+ private _formatsProvider;
223
+ onFormatsChanged: BeEvent<(args: FormatsChangedArgs) => void>;
224
+ constructor(_formatsProvider: FormatsProvider);
225
+ getFormat(name: string): Promise<FormatDefinition | undefined>;
226
+ get formatsProvider(): FormatsProvider;
227
+ set formatsProvider(formatsProvider: FormatsProvider);
228
+ }
184
229
  /** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
185
230
  * the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
186
231
  * parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
187
232
  * provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
188
- * the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]$(core-quantity), and provide methods
189
- * to generate both a [FormatterSpec]$(core-quantity) and a [ParserSpec]$(core-quantity). There are built-in quantity types that are
233
+ * the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
234
+ * to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
190
235
  * identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
191
236
  * by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
192
237
  *
@@ -197,6 +242,10 @@ export declare class QuantityFormatter implements UnitsProvider {
197
242
  private _alternateUnitLabelsRegistry;
198
243
  /** Registry containing available quantity type definitions. */
199
244
  protected _quantityTypeRegistry: Map<QuantityTypeKey, QuantityTypeDefinition>;
245
+ /** Registry containing available FormatterSpec and ParserSpec, mapped by keys.
246
+ * @beta
247
+ */
248
+ protected _formatSpecsRegistry: Map<string, FormattingSpecEntry>;
200
249
  /** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
201
250
  protected _activeUnitSystem: UnitSystemKey;
202
251
  /** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
@@ -219,12 +268,14 @@ export declare class QuantityFormatter implements UnitsProvider {
219
268
  readonly onQuantityFormatsChanged: BeUiEvent<QuantityFormatsChangedArgs>;
220
269
  /** Fired when the active UnitsProvider is updated. This will allow cached Formatter and Parser specs to be updated if necessary. */
221
270
  readonly onUnitsProviderChanged: BeUiEvent<void>;
271
+ private _removeFormatsProviderListener?;
222
272
  /**
223
273
  * constructor
224
274
  * @param showMetricOrUnitSystem - Pass in `true` to show Metric formatted quantity values. Defaults to Imperial. To explicitly
225
275
  * set it to a specific unit system pass a UnitSystemKey.
226
276
  */
227
277
  constructor(showMetricOrUnitSystem?: boolean | UnitSystemKey);
278
+ [Symbol.dispose](): void;
228
279
  private getOverrideFormatPropsByQuantityType;
229
280
  /** Method used to register all QuantityTypes defined in QuantityType enum. */
230
281
  protected initializeQuantityTypesRegistry(): Promise<void>;
@@ -314,18 +365,38 @@ export declare class QuantityFormatter implements UnitsProvider {
314
365
  * @return A FormatterSpec Promise.
315
366
  */
316
367
  getParserSpecByQuantityType(type: QuantityTypeArg, isImperial?: boolean): Promise<ParserSpec | undefined>;
368
+ /** Generates a formatted string asynchronously for a quantity given the provided properties.
369
+ * @param props - an object containing value, valueUnitName, and kindOfQuantityName.
370
+ * @return A promise resolving to a formatted string.
371
+ */
372
+ formatQuantity(props: {
373
+ value: number;
374
+ valueUnitName: string;
375
+ kindOfQuantityName: string;
376
+ }): Promise<string>;
317
377
  /** Generates a formatted string for a quantity given its format spec.
318
378
  * @param magnitude The magnitude of the quantity.
319
379
  * @param formatSpec The format specification. See methods getFormatterSpecByQuantityType and findFormatterSpecByQuantityType.
320
- * @return the formatted string.
380
+ * @return a formatted string.
381
+ */
382
+ formatQuantity(magnitude: number, formatSpec?: FormatterSpec): string;
383
+ private formatQuantityAsync;
384
+ /** Parse input string asynchronously into a quantity given the provided properties.
385
+ * @param props - an object containing value, valueUnitName, and kindOfQuantityName.
386
+ * @return Promise resolving to a QuantityParseResult object containing either the parsed value or an error value if unsuccessful.
321
387
  */
322
- formatQuantity(magnitude: number, formatSpec: FormatterSpec | undefined): string;
388
+ parseToQuantityValue(props: {
389
+ value: string;
390
+ valueUnitName: string;
391
+ kindOfQuantityName: string;
392
+ }): Promise<QuantityParseResult>;
323
393
  /** Parse input string into quantity given the ParserSpec
324
394
  * @param inString The magnitude of the quantity.
325
395
  * @param parserSpec The parse specification the defines the expected format of the string and the conversion to the output unit.
326
396
  * @return QuantityParseResult object containing either the parsed value or an error value if unsuccessful.
327
397
  */
328
- parseToQuantityValue(inString: string, parserSpec: ParserSpec | undefined): QuantityParseResult;
398
+ parseToQuantityValue(inString: string, parserSpec?: ParserSpec): QuantityParseResult;
399
+ private parseToQuantityValueAsync;
329
400
  /**
330
401
  * Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
331
402
  * unit system names that have been used in the past.
@@ -345,5 +416,30 @@ export declare class QuantityFormatter implements UnitsProvider {
345
416
  findUnitByName(unitName: string): Promise<UnitProps>;
346
417
  /** Returns data needed to convert from one Unit to another in the same Unit Family/Phenomenon. */
347
418
  getConversion(fromUnit: UnitProps, toUnit: UnitProps): Promise<UnitConversionProps>;
419
+ /**
420
+ * Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
421
+ * @beta
422
+ * @param props - A [[CreateFormattingSpecProps]] interface.
423
+ */
424
+ createFormatterSpec(props: CreateFormattingSpecProps): Promise<FormatterSpec>;
425
+ /**
426
+ * Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
427
+ * @beta
428
+ * @param props - A [[CreateFormattingSpecProps]] object.
429
+ */
430
+ createParserSpec(props: CreateFormattingSpecProps): Promise<ParserSpec>;
431
+ /**
432
+ * @beta
433
+ * Returns a [[FormattingSpecEntry]] for a given name, typically a KindOfQuantity full name.
434
+ */
435
+ getSpecsByName(name: string): FormattingSpecEntry | undefined;
436
+ /**
437
+ * Populates the registry with a new FormatterSpec and ParserSpec entry for the given format name.
438
+ * @beta
439
+ * @param name The key used to identify the formatter and parser spec
440
+ * @param persistenceUnitName The name of the persistence unit
441
+ * @param formatProps If not supplied, tries to retrieve the [[FormatProps]] from [[IModelApp.formatsProvider]]
442
+ */
443
+ addFormattingSpecsToRegistry(name: string, persistenceUnitName: string, formatProps?: FormatProps): Promise<void>;
348
444
  }
349
445
  //# sourceMappingURL=QuantityFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityFormatter.d.ts","sourceRoot":"","sources":["../../../src/quantity-formatting/QuantityFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuantityFormatter.d.ts","sourceRoot":"","sources":["../../../src/quantity-formatting/QuantityFormatter.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @module QuantityFormatting
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.QuantityFormatter = exports.AlternateUnitLabelsRegistry = exports.QuantityType = void 0;
10
+ exports.QuantityFormatter = exports.FormatsProviderManager = exports.QuantityTypeFormatsProvider = exports.AlternateUnitLabelsRegistry = exports.QuantityType = void 0;
11
11
  exports.getQuantityTypeKey = getQuantityTypeKey;
12
12
  exports.isCustomQuantityTypeDefinition = isCustomQuantityTypeDefinition;
13
13
  const core_bentley_1 = require("@itwin/core-bentley");
@@ -141,12 +141,68 @@ class StandardQuantityTypeDefinition {
141
141
  return core_quantity_1.ParserSpec.create(format, unitsProvider, this.persistenceUnit, alternateUnitLabelsProvider);
142
142
  }
143
143
  }
144
+ /**
145
+ * A default formatsProvider, that provides a limited set of [[FormatDefinition]], associated to a few [[KindOfQuantity]].
146
+ * Maps each KindOfQuantity to a [[QuantityType]].
147
+ * When retrieving a valid [[KindOfQuantity]], returns the [[FormatProps]] for the associated [[QuantityType]].
148
+ * @internal
149
+ */
150
+ class QuantityTypeFormatsProvider {
151
+ onFormatsChanged = new core_bentley_1.BeEvent();
152
+ constructor() {
153
+ IModelApp_1.IModelApp.quantityFormatter.onActiveFormattingUnitSystemChanged.addListener(() => {
154
+ this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
155
+ });
156
+ }
157
+ _kindOfQuantityMap = new Map([
158
+ ["AecUnits.LENGTH", QuantityType.Length],
159
+ ["AecUnits.ANGLE", QuantityType.Angle],
160
+ ["AecUnits.AREA", QuantityType.Area],
161
+ ["AecUnits.VOLUME", QuantityType.Volume],
162
+ ["RoadRailUnits.STATION", QuantityType.Stationing],
163
+ ["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
164
+ ]);
165
+ async getFormat(name) {
166
+ const quantityType = this._kindOfQuantityMap.get(name);
167
+ if (!quantityType)
168
+ return undefined;
169
+ return IModelApp_1.IModelApp.quantityFormatter.getFormatPropsByQuantityType(quantityType);
170
+ }
171
+ }
172
+ exports.QuantityTypeFormatsProvider = QuantityTypeFormatsProvider;
173
+ /**
174
+ * An implementation of the [[FormatsProvider]] interface that forwards calls to getFormats to the underlying FormatsProvider.
175
+ * Also fires the onFormatsChanged event when the underlying FormatsProvider fires its own onFormatsChanged event.
176
+ * @internal
177
+ */
178
+ class FormatsProviderManager {
179
+ _formatsProvider;
180
+ onFormatsChanged = new core_bentley_1.BeEvent();
181
+ constructor(_formatsProvider) {
182
+ this._formatsProvider = _formatsProvider;
183
+ this._formatsProvider.onFormatsChanged.addListener((args) => {
184
+ this.onFormatsChanged.raiseEvent(args);
185
+ });
186
+ }
187
+ async getFormat(name) {
188
+ return this._formatsProvider.getFormat(name);
189
+ }
190
+ get formatsProvider() { return this; }
191
+ set formatsProvider(formatsProvider) {
192
+ this._formatsProvider = formatsProvider;
193
+ this._formatsProvider.onFormatsChanged.addListener((args) => {
194
+ this.onFormatsChanged.raiseEvent(args);
195
+ });
196
+ this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
197
+ }
198
+ }
199
+ exports.FormatsProviderManager = FormatsProviderManager;
144
200
  /** Class that supports formatting quantity values into strings and parsing strings into quantity values. This class also maintains
145
201
  * the "active" unit system and caches FormatterSpecs and ParserSpecs for the "active" unit system to allow synchronous access to
146
202
  * parsing and formatting values. The support unit systems are defined by [[UnitSystemKey]] and is kept in synch with the unit systems
147
203
  * provided by the Presentation Manager on the backend. The QuantityFormatter contains a registry of quantity type definitions. These definitions implement
148
- * the [[QuantityTypeDefinition]] interface, which among other things, provide default [FormatProps]$(core-quantity), and provide methods
149
- * to generate both a [FormatterSpec]$(core-quantity) and a [ParserSpec]$(core-quantity). There are built-in quantity types that are
204
+ * the [[QuantityTypeDefinition]] interface, which among other things, provide default [[FormatProps]], and provide methods
205
+ * to generate both a [[FormatterSpec]] and a [[ParserSpec]]. There are built-in quantity types that are
150
206
  * identified by the [[QuantityType]] enum. [[CustomQuantityTypeDefinition]] can be registered to extend the available quantity types available
151
207
  * by frontend tools. The QuantityFormatter also allows the default formats to be overriden.
152
208
  *
@@ -157,6 +213,10 @@ class QuantityFormatter {
157
213
  _alternateUnitLabelsRegistry = new AlternateUnitLabelsRegistry((0, BasicUnitsProvider_1.getDefaultAlternateUnitLabels)());
158
214
  /** Registry containing available quantity type definitions. */
159
215
  _quantityTypeRegistry = new Map();
216
+ /** Registry containing available FormatterSpec and ParserSpec, mapped by keys.
217
+ * @beta
218
+ */
219
+ _formatSpecsRegistry = new Map();
160
220
  /** Active UnitSystem key - must be one of "imperial", "metric", "usCustomary", or "usSurvey". */
161
221
  _activeUnitSystem = "imperial";
162
222
  /** Map of FormatSpecs for all available QuantityTypes and the active Unit System */
@@ -183,6 +243,7 @@ class QuantityFormatter {
183
243
  onQuantityFormatsChanged = new core_bentley_1.BeUiEvent();
184
244
  /** Fired when the active UnitsProvider is updated. This will allow cached Formatter and Parser specs to be updated if necessary. */
185
245
  onUnitsProviderChanged = new core_bentley_1.BeUiEvent();
246
+ _removeFormatsProviderListener;
186
247
  /**
187
248
  * constructor
188
249
  * @param showMetricOrUnitSystem - Pass in `true` to show Metric formatted quantity values. Defaults to Imperial. To explicitly
@@ -196,6 +257,12 @@ class QuantityFormatter {
196
257
  this._activeUnitSystem = showMetricOrUnitSystem;
197
258
  }
198
259
  }
260
+ [Symbol.dispose]() {
261
+ if (this._removeFormatsProviderListener) {
262
+ this._removeFormatsProviderListener();
263
+ this._removeFormatsProviderListener = undefined;
264
+ }
265
+ }
199
266
  getOverrideFormatPropsByQuantityType(quantityTypeKey, unitSystem) {
200
267
  const requestedUnitSystem = unitSystem ?? this.activeUnitSystem;
201
268
  const overrideMap = this._overrideFormatPropsByUnitSystem.get(requestedUnitSystem);
@@ -321,6 +388,46 @@ class QuantityFormatter {
321
388
  */
322
389
  async onInitialized() {
323
390
  await this.initializeQuantityTypesRegistry();
391
+ const initialKoQs = [["AecUnits.LENGTH", "Units.M"], ["AecUnits.ANGLE", "Units.RAD"], ["AecUnits.AREA", "Units.SQ_M"], ["AecUnits.VOLUME", "Units.CUB_M"], ["RoadRailUnits.STATION", "Units.M"], ["RoadRailUnits.LENGTH", "Units.M"]];
392
+ for (const entry of initialKoQs) {
393
+ try {
394
+ await this.addFormattingSpecsToRegistry(entry[0], entry[1]);
395
+ }
396
+ catch (err) {
397
+ core_bentley_1.Logger.logWarning(`${FrontendLoggerCategory_1.FrontendLoggerCategory.Package}.QuantityFormatter`, err.toString());
398
+ }
399
+ }
400
+ this._removeFormatsProviderListener = IModelApp_1.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
401
+ if (args.formatsChanged === "all") {
402
+ for (const [name, entry] of this._formatSpecsRegistry.entries()) {
403
+ const formatProps = await IModelApp_1.IModelApp.formatsProvider.getFormat(name);
404
+ if (formatProps) {
405
+ const persistenceUnitName = entry.formatterSpec.persistenceUnit.name;
406
+ await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
407
+ }
408
+ else {
409
+ this._formatSpecsRegistry.delete(name); // clear the specs if format was removed, or no longer exists.
410
+ }
411
+ }
412
+ }
413
+ else {
414
+ for (const name of args.formatsChanged) {
415
+ if (this._formatSpecsRegistry.has(name)) {
416
+ const formatProps = await IModelApp_1.IModelApp.formatsProvider.getFormat(name);
417
+ if (formatProps) {
418
+ const existingEntry = this._formatSpecsRegistry.get(name);
419
+ if (existingEntry) {
420
+ const persistenceUnitName = existingEntry.formatterSpec.persistenceUnit.name;
421
+ await this.addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps);
422
+ }
423
+ }
424
+ else {
425
+ this._formatSpecsRegistry.delete(name);
426
+ }
427
+ }
428
+ }
429
+ }
430
+ });
324
431
  // initialize default format and parsing specs
325
432
  await this.loadFormatAndParsingMapsForSystem();
326
433
  }
@@ -550,26 +657,49 @@ class QuantityFormatter {
550
657
  requestedSystem = isImperial ? "imperial" : "metric";
551
658
  return this.getParserSpecByQuantityTypeAndSystem(type, requestedSystem);
552
659
  }
553
- /** Generates a formatted string for a quantity given its format spec.
554
- * @param magnitude The magnitude of the quantity.
555
- * @param formatSpec The format specification. See methods getFormatterSpecByQuantityType and findFormatterSpecByQuantityType.
556
- * @return the formatted string.
557
- */
558
- formatQuantity(magnitude, formatSpec) {
559
- /** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
560
- if (formatSpec)
561
- return formatSpec.applyFormatting(magnitude);
562
- return magnitude.toString();
563
- }
564
- /** Parse input string into quantity given the ParserSpec
565
- * @param inString The magnitude of the quantity.
566
- * @param parserSpec The parse specification the defines the expected format of the string and the conversion to the output unit.
567
- * @return QuantityParseResult object containing either the parsed value or an error value if unsuccessful.
568
- */
569
- parseToQuantityValue(inString, parserSpec) {
570
- if (parserSpec)
571
- return parserSpec.parseToQuantityValue(inString);
572
- return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
660
+ formatQuantity(args, spec) {
661
+ if (typeof args === "number") {
662
+ /** Format a quantity value. Default FormatterSpec implementation uses Formatter.formatQuantity. */
663
+ const magnitude = args;
664
+ if (spec)
665
+ return spec.applyFormatting(magnitude);
666
+ return magnitude.toString();
667
+ }
668
+ return this.formatQuantityAsync(args);
669
+ }
670
+ async formatQuantityAsync(args) {
671
+ const { value, valueUnitName, kindOfQuantityName } = args;
672
+ const formatProps = await IModelApp_1.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
673
+ if (!formatProps)
674
+ return value.toString();
675
+ const formatSpec = await this.createFormatterSpec({
676
+ persistenceUnitName: valueUnitName,
677
+ formatProps,
678
+ formatName: kindOfQuantityName,
679
+ });
680
+ return formatSpec.applyFormatting(value);
681
+ }
682
+ parseToQuantityValue(args, parserSpec) {
683
+ if (typeof args === "string") {
684
+ /** Parse a quantity value. Default ParserSpec implementation uses ParserSpec.parseToQuantityValue. */
685
+ const inString = args;
686
+ if (parserSpec)
687
+ return parserSpec.parseToQuantityValue(inString);
688
+ return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
689
+ }
690
+ return this.parseToQuantityValueAsync(args);
691
+ }
692
+ async parseToQuantityValueAsync(args) {
693
+ const { value, valueUnitName, kindOfQuantityName } = args;
694
+ const formatProps = await IModelApp_1.IModelApp.formatsProvider.getFormat(kindOfQuantityName);
695
+ if (!formatProps)
696
+ return { ok: false, error: core_quantity_1.ParseError.InvalidParserSpec };
697
+ const parserSpec = await this.createParserSpec({
698
+ persistenceUnitName: valueUnitName,
699
+ formatProps,
700
+ formatName: kindOfQuantityName,
701
+ });
702
+ return parserSpec.parseToQuantityValue(value);
573
703
  }
574
704
  /**
575
705
  * Get a UnitSystemKey from a string that may have been entered via a key-in. Supports different variation of
@@ -639,6 +769,63 @@ class QuantityFormatter {
639
769
  async getConversion(fromUnit, toUnit) {
640
770
  return this._unitsProvider.getConversion(fromUnit, toUnit);
641
771
  }
772
+ /**
773
+ * Creates a [[FormatterSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
774
+ * @beta
775
+ * @param props - A [[CreateFormattingSpecProps]] interface.
776
+ */
777
+ async createFormatterSpec(props) {
778
+ const { persistenceUnitName, formatProps, formatName } = props;
779
+ const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
780
+ const format = await core_quantity_1.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
781
+ return core_quantity_1.FormatterSpec.create(`${format.name}_format_spec`, format, this._unitsProvider, persistenceUnitProps);
782
+ }
783
+ /**
784
+ * Creates a [[ParserSpec]] for a given persistence unit name and format properties, using the [[UnitsProvider]] to resolve the persistence unit.
785
+ * @beta
786
+ * @param props - A [[CreateFormattingSpecProps]] object.
787
+ */
788
+ async createParserSpec(props) {
789
+ const { persistenceUnitName, formatProps, formatName } = props;
790
+ const persistenceUnitProps = await this._unitsProvider.findUnitByName(persistenceUnitName);
791
+ const format = await core_quantity_1.Format.createFromJSON(formatName ?? "temp", this._unitsProvider, formatProps);
792
+ return core_quantity_1.ParserSpec.create(format, this._unitsProvider, persistenceUnitProps);
793
+ }
794
+ /**
795
+ * @beta
796
+ * Returns a [[FormattingSpecEntry]] for a given name, typically a KindOfQuantity full name.
797
+ */
798
+ getSpecsByName(name) {
799
+ return this._formatSpecsRegistry.get(name);
800
+ }
801
+ /**
802
+ * Populates the registry with a new FormatterSpec and ParserSpec entry for the given format name.
803
+ * @beta
804
+ * @param name The key used to identify the formatter and parser spec
805
+ * @param persistenceUnitName The name of the persistence unit
806
+ * @param formatProps If not supplied, tries to retrieve the [[FormatProps]] from [[IModelApp.formatsProvider]]
807
+ */
808
+ async addFormattingSpecsToRegistry(name, persistenceUnitName, formatProps) {
809
+ if (!formatProps) {
810
+ formatProps = await IModelApp_1.IModelApp.formatsProvider.getFormat(name);
811
+ }
812
+ if (formatProps) {
813
+ const formatterSpec = await this.createFormatterSpec({
814
+ persistenceUnitName,
815
+ formatProps,
816
+ formatName: name,
817
+ });
818
+ const parserSpec = await this.createParserSpec({
819
+ persistenceUnitName,
820
+ formatProps,
821
+ formatName: name,
822
+ });
823
+ this._formatSpecsRegistry.set(name, { formatterSpec, parserSpec });
824
+ }
825
+ else {
826
+ throw new Error(`Unable to find format properties for ${name} with persistence unit ${persistenceUnitName}`);
827
+ }
828
+ }
642
829
  }
643
830
  exports.QuantityFormatter = QuantityFormatter;
644
831
  // ========================================================================================================================================