@itwin/ecschema-rpcinterface-tests 5.6.0-dev.8 → 5.7.0-dev.2

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.
@@ -43208,6 +43208,19 @@ var TxnAction;
43208
43208
  })(TxnAction || (TxnAction = {}));
43209
43209
 
43210
43210
 
43211
+ /***/ }),
43212
+
43213
+ /***/ "../../core/common/lib/esm/TxnProps.js":
43214
+ /*!*********************************************!*\
43215
+ !*** ../../core/common/lib/esm/TxnProps.js ***!
43216
+ \*********************************************/
43217
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
43218
+
43219
+ "use strict";
43220
+ __webpack_require__.r(__webpack_exports__);
43221
+
43222
+
43223
+
43211
43224
  /***/ }),
43212
43225
 
43213
43226
  /***/ "../../core/common/lib/esm/ViewDetails.js":
@@ -44957,7 +44970,7 @@ class TextStyleSettings {
44957
44970
  listMarker;
44958
44971
  /** The frame settings of the [[TextAnnotation]]. */
44959
44972
  frame;
44960
- /** The margins to surround the document content. */
44973
+ /** Multiplier used to calculate the margins to surround the document content. */
44961
44974
  margins;
44962
44975
  /** The alignment of the text content. */
44963
44976
  justification;
@@ -45148,7 +45161,7 @@ __webpack_require__.r(__webpack_exports__);
45148
45161
  /* harmony export */ AnalysisStyleThematic: () => (/* reexport safe */ _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__.AnalysisStyleThematic),
45149
45162
  /* harmony export */ AreaPattern: () => (/* reexport safe */ _geometry_AreaPattern__WEBPACK_IMPORTED_MODULE_44__.AreaPattern),
45150
45163
  /* harmony export */ Atmosphere: () => (/* reexport safe */ _Atmosphere__WEBPACK_IMPORTED_MODULE_8__.Atmosphere),
45151
- /* harmony export */ B3dmHeader: () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_150__.B3dmHeader),
45164
+ /* harmony export */ B3dmHeader: () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_151__.B3dmHeader),
45152
45165
  /* harmony export */ BRepEntity: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.BRepEntity),
45153
45166
  /* harmony export */ BRepGeometryOperation: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.BRepGeometryOperation),
45154
45167
  /* harmony export */ BackendError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.BackendError),
@@ -45160,15 +45173,15 @@ __webpack_require__.r(__webpack_exports__);
45160
45173
  /* harmony export */ BaseLayerSettings: () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_81__.BaseLayerSettings),
45161
45174
  /* harmony export */ BaseMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.BaseMapLayerSettings),
45162
45175
  /* harmony export */ BatchType: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.BatchType),
45163
- /* harmony export */ BentleyCloudRpcConfiguration: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__.BentleyCloudRpcConfiguration),
45164
- /* harmony export */ BentleyCloudRpcManager: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__.BentleyCloudRpcManager),
45165
- /* harmony export */ BentleyCloudRpcProtocol: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcProtocol),
45176
+ /* harmony export */ BentleyCloudRpcConfiguration: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcConfiguration),
45177
+ /* harmony export */ BentleyCloudRpcManager: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcManager),
45178
+ /* harmony export */ BentleyCloudRpcProtocol: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_145__.BentleyCloudRpcProtocol),
45166
45179
  /* harmony export */ BisCodeSpec: () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_20__.BisCodeSpec),
45167
45180
  /* harmony export */ BlobOptionsBuilder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.BlobOptionsBuilder),
45168
45181
  /* harmony export */ BoundingSphere: () => (/* reexport safe */ _geometry_BoundingSphere__WEBPACK_IMPORTED_MODULE_45__.BoundingSphere),
45169
45182
  /* harmony export */ BriefcaseIdValue: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.BriefcaseIdValue),
45170
- /* harmony export */ CURRENT_INVOCATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.CURRENT_INVOCATION),
45171
- /* harmony export */ CURRENT_REQUEST: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.CURRENT_REQUEST),
45183
+ /* harmony export */ CURRENT_INVOCATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.CURRENT_INVOCATION),
45184
+ /* harmony export */ CURRENT_REQUEST: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.CURRENT_REQUEST),
45172
45185
  /* harmony export */ Camera: () => (/* reexport safe */ _Camera__WEBPACK_IMPORTED_MODULE_14__.Camera),
45173
45186
  /* harmony export */ Carto2DDegrees: () => (/* reexport safe */ _geometry_Projection__WEBPACK_IMPORTED_MODULE_56__.Carto2DDegrees),
45174
45187
  /* harmony export */ Cartographic: () => (/* reexport safe */ _geometry_Cartographic__WEBPACK_IMPORTED_MODULE_46__.Cartographic),
@@ -45190,19 +45203,19 @@ __webpack_require__.r(__webpack_exports__);
45190
45203
  /* harmony export */ ColorDef: () => (/* reexport safe */ _ColorDef__WEBPACK_IMPORTED_MODULE_22__.ColorDef),
45191
45204
  /* harmony export */ ColorIndex: () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_36__.ColorIndex),
45192
45205
  /* harmony export */ CommonLoggerCategory: () => (/* reexport safe */ _CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_23__.CommonLoggerCategory),
45193
- /* harmony export */ CompositeTileHeader: () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_151__.CompositeTileHeader),
45206
+ /* harmony export */ CompositeTileHeader: () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_152__.CompositeTileHeader),
45194
45207
  /* harmony export */ ConcreteEntityTypes: () => (/* reexport safe */ _EntityReference__WEBPACK_IMPORTED_MODULE_34__.ConcreteEntityTypes),
45195
45208
  /* harmony export */ ConflictingLocksError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ConflictingLocksError),
45196
- /* harmony export */ ContentFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.ContentFlags),
45197
- /* harmony export */ ContentIdProvider: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.ContentIdProvider),
45209
+ /* harmony export */ ContentFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.ContentFlags),
45210
+ /* harmony export */ ContentIdProvider: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.ContentIdProvider),
45198
45211
  /* harmony export */ ContextRealityModel: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModel),
45199
45212
  /* harmony export */ ContextRealityModelProps: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModelProps),
45200
45213
  /* harmony export */ ContextRealityModels: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModels),
45201
- /* harmony export */ Contour: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.Contour),
45202
- /* harmony export */ ContourDisplay: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourDisplay),
45203
- /* harmony export */ ContourGroup: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourGroup),
45204
- /* harmony export */ ContourStyle: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourStyle),
45205
- /* harmony export */ CurrentImdlVersion: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.CurrentImdlVersion),
45214
+ /* harmony export */ Contour: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.Contour),
45215
+ /* harmony export */ ContourDisplay: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourDisplay),
45216
+ /* harmony export */ ContourGroup: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourGroup),
45217
+ /* harmony export */ ContourStyle: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourStyle),
45218
+ /* harmony export */ CurrentImdlVersion: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.CurrentImdlVersion),
45206
45219
  /* harmony export */ CutStyle: () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_19__.CutStyle),
45207
45220
  /* harmony export */ DbQueryError: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbQueryError),
45208
45221
  /* harmony export */ DbRequestKind: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbRequestKind),
@@ -45210,8 +45223,8 @@ __webpack_require__.r(__webpack_exports__);
45210
45223
  /* harmony export */ DbResponseStatus: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbResponseStatus),
45211
45224
  /* harmony export */ DbValueFormat: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbValueFormat),
45212
45225
  /* harmony export */ DefaultSupportedTypes: () => (/* reexport safe */ _RealityDataAccessProps__WEBPACK_IMPORTED_MODULE_95__.DefaultSupportedTypes),
45213
- /* harmony export */ DevToolsRpcInterface: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__.DevToolsRpcInterface),
45214
- /* harmony export */ DevToolsStatsOptions: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__.DevToolsStatsOptions),
45226
+ /* harmony export */ DevToolsRpcInterface: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__.DevToolsRpcInterface),
45227
+ /* harmony export */ DevToolsStatsOptions: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__.DevToolsStatsOptions),
45215
45228
  /* harmony export */ DisplayStyle3dSettings: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.DisplayStyle3dSettings),
45216
45229
  /* harmony export */ DisplayStyleSettings: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.DisplayStyleSettings),
45217
45230
  /* harmony export */ DomainOptions: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.DomainOptions),
@@ -45219,9 +45232,9 @@ __webpack_require__.r(__webpack_exports__);
45219
45232
  /* harmony export */ ECSqlReader: () => (/* reexport safe */ _ECSqlReader__WEBPACK_IMPORTED_MODULE_90__.ECSqlReader),
45220
45233
  /* harmony export */ ECSqlSystemProperty: () => (/* reexport safe */ _ECSqlTypes__WEBPACK_IMPORTED_MODULE_29__.ECSqlSystemProperty),
45221
45234
  /* harmony export */ ECSqlValueType: () => (/* reexport safe */ _ECSqlTypes__WEBPACK_IMPORTED_MODULE_29__.ECSqlValueType),
45222
- /* harmony export */ Easing: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Easing),
45235
+ /* harmony export */ Easing: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Easing),
45223
45236
  /* harmony export */ EcefLocation: () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_69__.EcefLocation),
45224
- /* harmony export */ EdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.EdgeArgs),
45237
+ /* harmony export */ EdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.EdgeArgs),
45225
45238
  /* harmony export */ ElementGeometry: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.ElementGeometry),
45226
45239
  /* harmony export */ ElementGeometryChange: () => (/* reexport safe */ _ModelGeometryChanges__WEBPACK_IMPORTED_MODULE_92__.ElementGeometryChange),
45227
45240
  /* harmony export */ ElementGeometryOpcode: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.ElementGeometryOpcode),
@@ -45238,7 +45251,7 @@ __webpack_require__.r(__webpack_exports__);
45238
45251
  /* harmony export */ FeatureOverrideType: () => (/* reexport safe */ _EmphasizeElementsProps__WEBPACK_IMPORTED_MODULE_32__.FeatureOverrideType),
45239
45252
  /* harmony export */ FeatureOverrides: () => (/* reexport safe */ _FeatureSymbology__WEBPACK_IMPORTED_MODULE_37__.FeatureOverrides),
45240
45253
  /* harmony export */ FeatureTable: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.FeatureTable),
45241
- /* harmony export */ FeatureTableHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.FeatureTableHeader),
45254
+ /* harmony export */ FeatureTableHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.FeatureTableHeader),
45242
45255
  /* harmony export */ FieldRun: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.FieldRun),
45243
45256
  /* harmony export */ FillDisplay: () => (/* reexport safe */ _GeometryParams__WEBPACK_IMPORTED_MODULE_59__.FillDisplay),
45244
45257
  /* harmony export */ FillFlags: () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_62__.FillFlags),
@@ -45263,16 +45276,16 @@ __webpack_require__.r(__webpack_exports__);
45263
45276
  /* harmony export */ GeometryStreamFlags: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.GeometryStreamFlags),
45264
45277
  /* harmony export */ GeometryStreamIterator: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.GeometryStreamIterator),
45265
45278
  /* harmony export */ GeometrySummaryVerbosity: () => (/* reexport safe */ _GeometrySummary__WEBPACK_IMPORTED_MODULE_60__.GeometrySummaryVerbosity),
45266
- /* harmony export */ GlbHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GlbHeader),
45279
+ /* harmony export */ GlbHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GlbHeader),
45267
45280
  /* harmony export */ GlobeMode: () => (/* reexport safe */ _BackgroundMapSettings__WEBPACK_IMPORTED_MODULE_11__.GlobeMode),
45268
- /* harmony export */ GltfHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfHeader),
45269
- /* harmony export */ GltfV2ChunkTypes: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfV2ChunkTypes),
45270
- /* harmony export */ GltfVersions: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfVersions),
45281
+ /* harmony export */ GltfHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfHeader),
45282
+ /* harmony export */ GltfV2ChunkTypes: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfV2ChunkTypes),
45283
+ /* harmony export */ GltfVersions: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfVersions),
45271
45284
  /* harmony export */ Gradient: () => (/* reexport safe */ _Gradient__WEBPACK_IMPORTED_MODULE_61__.Gradient),
45272
45285
  /* harmony export */ GraphicParams: () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_62__.GraphicParams),
45273
45286
  /* harmony export */ GridFileDefinition: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.GridFileDefinition),
45274
45287
  /* harmony export */ GridFileTransform: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.GridFileTransform),
45275
- /* harmony export */ GridOrientationType: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.GridOrientationType),
45288
+ /* harmony export */ GridOrientationType: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.GridOrientationType),
45276
45289
  /* harmony export */ GroundPlane: () => (/* reexport safe */ _GroundPlane__WEBPACK_IMPORTED_MODULE_63__.GroundPlane),
45277
45290
  /* harmony export */ HSLColor: () => (/* reexport safe */ _HSLColor__WEBPACK_IMPORTED_MODULE_66__.HSLColor),
45278
45291
  /* harmony export */ HSVColor: () => (/* reexport safe */ _HSVColor__WEBPACK_IMPORTED_MODULE_67__.HSVColor),
@@ -45283,14 +45296,14 @@ __webpack_require__.r(__webpack_exports__);
45283
45296
  /* harmony export */ Hilite: () => (/* reexport safe */ _Hilite__WEBPACK_IMPORTED_MODULE_65__.Hilite),
45284
45297
  /* harmony export */ HorizontalCRS: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.HorizontalCRS),
45285
45298
  /* harmony export */ HorizontalCRSExtent: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.HorizontalCRSExtent),
45286
- /* harmony export */ I3dmHeader: () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_154__.I3dmHeader),
45299
+ /* harmony export */ I3dmHeader: () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_155__.I3dmHeader),
45287
45300
  /* harmony export */ IModel: () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_69__.IModel),
45288
45301
  /* harmony export */ IModelError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.IModelError),
45289
- /* harmony export */ IModelNotFoundResponse: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__.IModelNotFoundResponse),
45290
- /* harmony export */ IModelReadRpcInterface: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__.IModelReadRpcInterface),
45291
- /* harmony export */ IModelTileRpcInterface: () => (/* reexport safe */ _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelTileRpcInterface),
45302
+ /* harmony export */ IModelNotFoundResponse: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelNotFoundResponse),
45303
+ /* harmony export */ IModelReadRpcInterface: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelReadRpcInterface),
45304
+ /* harmony export */ IModelTileRpcInterface: () => (/* reexport safe */ _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_140__.IModelTileRpcInterface),
45292
45305
  /* harmony export */ IModelVersion: () => (/* reexport safe */ _IModelVersion__WEBPACK_IMPORTED_MODULE_71__.IModelVersion),
45293
- /* harmony export */ INSTANCE: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.INSTANCE),
45306
+ /* harmony export */ INSTANCE: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.INSTANCE),
45294
45307
  /* harmony export */ ImageBuffer: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageBuffer),
45295
45308
  /* harmony export */ ImageBufferFormat: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageBufferFormat),
45296
45309
  /* harmony export */ ImageGraphic: () => (/* reexport safe */ _geometry_ImageGraphic__WEBPACK_IMPORTED_MODULE_53__.ImageGraphic),
@@ -45298,10 +45311,10 @@ __webpack_require__.r(__webpack_exports__);
45298
45311
  /* harmony export */ ImageMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ImageMapLayerSettings),
45299
45312
  /* harmony export */ ImageSource: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageSource),
45300
45313
  /* harmony export */ ImageSourceFormat: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageSourceFormat),
45301
- /* harmony export */ ImdlFlags: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.ImdlFlags),
45302
- /* harmony export */ ImdlHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.ImdlHeader),
45314
+ /* harmony export */ ImdlFlags: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.ImdlFlags),
45315
+ /* harmony export */ ImdlHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.ImdlHeader),
45303
45316
  /* harmony export */ InternetConnectivityStatus: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.InternetConnectivityStatus),
45304
- /* harmony export */ Interpolation: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Interpolation),
45317
+ /* harmony export */ Interpolation: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Interpolation),
45305
45318
  /* harmony export */ IpcSession: () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_76__.IpcSession),
45306
45319
  /* harmony export */ IpcWebSocket: () => (/* reexport safe */ _ipc_IpcWebSocket__WEBPACK_IMPORTED_MODULE_74__.IpcWebSocket),
45307
45320
  /* harmony export */ IpcWebSocketBackend: () => (/* reexport safe */ _ipc_IpcWebSocket__WEBPACK_IMPORTED_MODULE_74__.IpcWebSocketBackend),
@@ -45319,11 +45332,11 @@ __webpack_require__.r(__webpack_exports__);
45319
45332
  /* harmony export */ MapImagerySettings: () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_81__.MapImagerySettings),
45320
45333
  /* harmony export */ MapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.MapLayerSettings),
45321
45334
  /* harmony export */ MapSubLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.MapSubLayerSettings),
45322
- /* harmony export */ MarshalingBinaryMarker: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.MarshalingBinaryMarker),
45335
+ /* harmony export */ MarshalingBinaryMarker: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.MarshalingBinaryMarker),
45323
45336
  /* harmony export */ MassPropertiesOperation: () => (/* reexport safe */ _MassProperties__WEBPACK_IMPORTED_MODULE_83__.MassPropertiesOperation),
45324
- /* harmony export */ MeshEdge: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshEdge),
45325
- /* harmony export */ MeshEdges: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshEdges),
45326
- /* harmony export */ MeshPolyline: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshPolyline),
45337
+ /* harmony export */ MeshEdge: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshEdge),
45338
+ /* harmony export */ MeshEdges: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshEdges),
45339
+ /* harmony export */ MeshPolyline: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshPolyline),
45327
45340
  /* harmony export */ ModelClipGroup: () => (/* reexport safe */ _ModelClipGroup__WEBPACK_IMPORTED_MODULE_85__.ModelClipGroup),
45328
45341
  /* harmony export */ ModelClipGroups: () => (/* reexport safe */ _ModelClipGroup__WEBPACK_IMPORTED_MODULE_85__.ModelClipGroups),
45329
45342
  /* harmony export */ ModelFeature: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.ModelFeature),
@@ -45331,21 +45344,21 @@ __webpack_require__.r(__webpack_exports__);
45331
45344
  /* harmony export */ ModelMapLayerDrapeTarget: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ModelMapLayerDrapeTarget),
45332
45345
  /* harmony export */ ModelMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ModelMapLayerSettings),
45333
45346
  /* harmony export */ MonochromeMode: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.MonochromeMode),
45334
- /* harmony export */ MultiModelPackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MultiModelPackedFeatureTable),
45347
+ /* harmony export */ MultiModelPackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MultiModelPackedFeatureTable),
45335
45348
  /* harmony export */ NoContentError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.NoContentError),
45336
45349
  /* harmony export */ NonUniformColor: () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_36__.NonUniformColor),
45337
45350
  /* harmony export */ NormalMapFlags: () => (/* reexport safe */ _MaterialProps__WEBPACK_IMPORTED_MODULE_84__.NormalMapFlags),
45338
45351
  /* harmony export */ Npc: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.Npc),
45339
45352
  /* harmony export */ NpcCenter: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.NpcCenter),
45340
45353
  /* harmony export */ NpcCorners: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.NpcCorners),
45341
- /* harmony export */ OPERATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.OPERATION),
45354
+ /* harmony export */ OPERATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.OPERATION),
45342
45355
  /* harmony export */ OctEncodedNormal: () => (/* reexport safe */ _OctEncodedNormal__WEBPACK_IMPORTED_MODULE_88__.OctEncodedNormal),
45343
45356
  /* harmony export */ OctEncodedNormalPair: () => (/* reexport safe */ _OctEncodedNormal__WEBPACK_IMPORTED_MODULE_88__.OctEncodedNormalPair),
45344
45357
  /* harmony export */ OverriddenBy: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.OverriddenBy),
45345
- /* harmony export */ POLICY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.POLICY),
45358
+ /* harmony export */ POLICY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.POLICY),
45346
45359
  /* harmony export */ PackedFeature: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.PackedFeature),
45347
- /* harmony export */ PackedFeatureModelTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PackedFeatureModelTable),
45348
- /* harmony export */ PackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PackedFeatureTable),
45360
+ /* harmony export */ PackedFeatureModelTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PackedFeatureModelTable),
45361
+ /* harmony export */ PackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PackedFeatureTable),
45349
45362
  /* harmony export */ Paragraph: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.Paragraph),
45350
45363
  /* harmony export */ Placement2d: () => (/* reexport safe */ _geometry_Placement__WEBPACK_IMPORTED_MODULE_55__.Placement2d),
45351
45364
  /* harmony export */ Placement3d: () => (/* reexport safe */ _geometry_Placement__WEBPACK_IMPORTED_MODULE_55__.Placement3d),
@@ -45353,9 +45366,9 @@ __webpack_require__.r(__webpack_exports__);
45353
45366
  /* harmony export */ PlanarClipMaskMode: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskMode),
45354
45367
  /* harmony export */ PlanarClipMaskPriority: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskPriority),
45355
45368
  /* harmony export */ PlanarClipMaskSettings: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskSettings),
45356
- /* harmony export */ PntsHeader: () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_156__.PntsHeader),
45369
+ /* harmony export */ PntsHeader: () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_157__.PntsHeader),
45357
45370
  /* harmony export */ PointCloudDisplaySettings: () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_96__.PointCloudDisplaySettings),
45358
- /* harmony export */ PolylineEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PolylineEdgeArgs),
45371
+ /* harmony export */ PolylineEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PolylineEdgeArgs),
45359
45372
  /* harmony export */ PolylineTypeFlags: () => (/* reexport safe */ _RenderPolyline__WEBPACK_IMPORTED_MODULE_97__.PolylineTypeFlags),
45360
45373
  /* harmony export */ PositionalVectorTransform: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.PositionalVectorTransform),
45361
45374
  /* harmony export */ PrimitiveTypeCode: () => (/* reexport safe */ _EntityProps__WEBPACK_IMPORTED_MODULE_33__.PrimitiveTypeCode),
@@ -45378,7 +45391,7 @@ __webpack_require__.r(__webpack_exports__);
45378
45391
  /* harmony export */ QueryOptionsBuilder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryOptionsBuilder),
45379
45392
  /* harmony export */ QueryParamType: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryParamType),
45380
45393
  /* harmony export */ QueryRowFormat: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryRowFormat),
45381
- /* harmony export */ REGISTRY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.REGISTRY),
45394
+ /* harmony export */ REGISTRY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.REGISTRY),
45382
45395
  /* harmony export */ Rank: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.Rank),
45383
45396
  /* harmony export */ RealityDataFormat: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.RealityDataFormat),
45384
45397
  /* harmony export */ RealityDataProvider: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.RealityDataProvider),
@@ -45386,62 +45399,62 @@ __webpack_require__.r(__webpack_exports__);
45386
45399
  /* harmony export */ RealityModelDisplaySettings: () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_96__.RealityModelDisplaySettings),
45387
45400
  /* harmony export */ RelatedElement: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.RelatedElement),
45388
45401
  /* harmony export */ RenderMaterial: () => (/* reexport safe */ _RenderMaterial__WEBPACK_IMPORTED_MODULE_98__.RenderMaterial),
45389
- /* harmony export */ RenderMaterialParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.RenderMaterialParams),
45390
- /* harmony export */ RenderMode: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_121__.RenderMode),
45402
+ /* harmony export */ RenderMaterialParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.RenderMaterialParams),
45403
+ /* harmony export */ RenderMode: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_122__.RenderMode),
45391
45404
  /* harmony export */ RenderSchedule: () => (/* reexport safe */ _RenderSchedule__WEBPACK_IMPORTED_MODULE_99__.RenderSchedule),
45392
45405
  /* harmony export */ RenderTexture: () => (/* reexport safe */ _RenderTexture__WEBPACK_IMPORTED_MODULE_100__.RenderTexture),
45393
- /* harmony export */ RenderTextureParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.RenderTextureParams),
45394
- /* harmony export */ ResponseLike: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.ResponseLike),
45406
+ /* harmony export */ RenderTextureParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.RenderTextureParams),
45407
+ /* harmony export */ ResponseLike: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.ResponseLike),
45395
45408
  /* harmony export */ RgbColor: () => (/* reexport safe */ _RgbColor__WEBPACK_IMPORTED_MODULE_101__.RgbColor),
45396
- /* harmony export */ RpcConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcConfiguration),
45397
- /* harmony export */ RpcContentType: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcContentType),
45398
- /* harmony export */ RpcControlChannel: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcControlChannel),
45399
- /* harmony export */ RpcControlResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcControlResponse),
45400
- /* harmony export */ RpcDefaultConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDefaultConfiguration),
45401
- /* harmony export */ RpcDirectProtocol: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDirectProtocol),
45402
- /* harmony export */ RpcDirectRequest: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDirectRequest),
45403
- /* harmony export */ RpcEndpoint: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcEndpoint),
45404
- /* harmony export */ RpcInterface: () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_142__.RpcInterface),
45405
- /* harmony export */ RpcInvocation: () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_125__.RpcInvocation),
45409
+ /* harmony export */ RpcConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcConfiguration),
45410
+ /* harmony export */ RpcContentType: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcContentType),
45411
+ /* harmony export */ RpcControlChannel: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcControlChannel),
45412
+ /* harmony export */ RpcControlResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcControlResponse),
45413
+ /* harmony export */ RpcDefaultConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDefaultConfiguration),
45414
+ /* harmony export */ RpcDirectProtocol: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDirectProtocol),
45415
+ /* harmony export */ RpcDirectRequest: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDirectRequest),
45416
+ /* harmony export */ RpcEndpoint: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcEndpoint),
45417
+ /* harmony export */ RpcInterface: () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_143__.RpcInterface),
45418
+ /* harmony export */ RpcInvocation: () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_126__.RpcInvocation),
45406
45419
  /* harmony export */ RpcManager: () => (/* reexport safe */ _RpcManager__WEBPACK_IMPORTED_MODULE_102__.RpcManager),
45407
- /* harmony export */ RpcMarshaling: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.RpcMarshaling),
45408
- /* harmony export */ RpcMultipart: () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_146__.RpcMultipart),
45409
- /* harmony export */ RpcNotFoundResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcNotFoundResponse),
45410
- /* harmony export */ RpcOpenAPIDescription: () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_145__.RpcOpenAPIDescription),
45411
- /* harmony export */ RpcOperation: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__.RpcOperation),
45412
- /* harmony export */ RpcOperationPolicy: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__.RpcOperationPolicy),
45413
- /* harmony export */ RpcPendingQueue: () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_129__.RpcPendingQueue),
45414
- /* harmony export */ RpcPendingResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcPendingResponse),
45415
- /* harmony export */ RpcProtocol: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcProtocol),
45416
- /* harmony export */ RpcProtocolEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcProtocolEvent),
45417
- /* harmony export */ RpcProtocolVersion: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcProtocolVersion),
45418
- /* harmony export */ RpcPushChannel: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushChannel),
45419
- /* harmony export */ RpcPushConnection: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushConnection),
45420
- /* harmony export */ RpcPushService: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushService),
45421
- /* harmony export */ RpcPushSubscription: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushSubscription),
45422
- /* harmony export */ RpcPushTransport: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushTransport),
45423
- /* harmony export */ RpcRegistry: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.RpcRegistry),
45424
- /* harmony export */ RpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.RpcRequest),
45425
- /* harmony export */ RpcRequestEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcRequestEvent),
45426
- /* harmony export */ RpcRequestFulfillment: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcRequestFulfillment),
45427
- /* harmony export */ RpcRequestStatus: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcRequestStatus),
45428
- /* harmony export */ RpcResponseCacheControl: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcResponseCacheControl),
45429
- /* harmony export */ RpcRoutingMap: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcRoutingMap),
45430
- /* harmony export */ RpcRoutingToken: () => (/* reexport safe */ _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_134__.RpcRoutingToken),
45431
- /* harmony export */ RpcSerializedValue: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.RpcSerializedValue),
45432
- /* harmony export */ RpcSessionInvocation: () => (/* reexport safe */ _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_126__.RpcSessionInvocation),
45420
+ /* harmony export */ RpcMarshaling: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.RpcMarshaling),
45421
+ /* harmony export */ RpcMultipart: () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_147__.RpcMultipart),
45422
+ /* harmony export */ RpcNotFoundResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcNotFoundResponse),
45423
+ /* harmony export */ RpcOpenAPIDescription: () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_146__.RpcOpenAPIDescription),
45424
+ /* harmony export */ RpcOperation: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__.RpcOperation),
45425
+ /* harmony export */ RpcOperationPolicy: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__.RpcOperationPolicy),
45426
+ /* harmony export */ RpcPendingQueue: () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_130__.RpcPendingQueue),
45427
+ /* harmony export */ RpcPendingResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcPendingResponse),
45428
+ /* harmony export */ RpcProtocol: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcProtocol),
45429
+ /* harmony export */ RpcProtocolEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcProtocolEvent),
45430
+ /* harmony export */ RpcProtocolVersion: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcProtocolVersion),
45431
+ /* harmony export */ RpcPushChannel: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushChannel),
45432
+ /* harmony export */ RpcPushConnection: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushConnection),
45433
+ /* harmony export */ RpcPushService: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushService),
45434
+ /* harmony export */ RpcPushSubscription: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushSubscription),
45435
+ /* harmony export */ RpcPushTransport: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushTransport),
45436
+ /* harmony export */ RpcRegistry: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.RpcRegistry),
45437
+ /* harmony export */ RpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.RpcRequest),
45438
+ /* harmony export */ RpcRequestEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcRequestEvent),
45439
+ /* harmony export */ RpcRequestFulfillment: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcRequestFulfillment),
45440
+ /* harmony export */ RpcRequestStatus: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcRequestStatus),
45441
+ /* harmony export */ RpcResponseCacheControl: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcResponseCacheControl),
45442
+ /* harmony export */ RpcRoutingMap: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcRoutingMap),
45443
+ /* harmony export */ RpcRoutingToken: () => (/* reexport safe */ _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_135__.RpcRoutingToken),
45444
+ /* harmony export */ RpcSerializedValue: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.RpcSerializedValue),
45445
+ /* harmony export */ RpcSessionInvocation: () => (/* reexport safe */ _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_127__.RpcSessionInvocation),
45433
45446
  /* harmony export */ Run: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.Run),
45434
45447
  /* harmony export */ SchemaState: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.SchemaState),
45435
45448
  /* harmony export */ SectionType: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.SectionType),
45436
45449
  /* harmony export */ ServerError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ServerError),
45437
45450
  /* harmony export */ ServerTimeoutError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ServerTimeoutError),
45438
- /* harmony export */ SilhouetteEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.SilhouetteEdgeArgs),
45451
+ /* harmony export */ SilhouetteEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.SilhouetteEdgeArgs),
45439
45452
  /* harmony export */ SkyBox: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyBox),
45440
45453
  /* harmony export */ SkyBoxImageType: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyBoxImageType),
45441
45454
  /* harmony export */ SkyCube: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyCube),
45442
45455
  /* harmony export */ SkyGradient: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyGradient),
45443
45456
  /* harmony export */ SkySphere: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkySphere),
45444
- /* harmony export */ SnapshotIModelRpcInterface: () => (/* reexport safe */ _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_140__.SnapshotIModelRpcInterface),
45457
+ /* harmony export */ SnapshotIModelRpcInterface: () => (/* reexport safe */ _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_141__.SnapshotIModelRpcInterface),
45445
45458
  /* harmony export */ SolarLight: () => (/* reexport safe */ _LightSettings__WEBPACK_IMPORTED_MODULE_78__.SolarLight),
45446
45459
  /* harmony export */ SolarShadowSettings: () => (/* reexport safe */ _SolarShadows__WEBPACK_IMPORTED_MODULE_106__.SolarShadowSettings),
45447
45460
  /* harmony export */ SpatialClassifier: () => (/* reexport safe */ _SpatialClassification__WEBPACK_IMPORTED_MODULE_107__.SpatialClassifier),
@@ -45456,7 +45469,7 @@ __webpack_require__.r(__webpack_exports__);
45456
45469
  /* harmony export */ TabRun: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TabRun),
45457
45470
  /* harmony export */ TerrainHeightOriginMode: () => (/* reexport safe */ _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__.TerrainHeightOriginMode),
45458
45471
  /* harmony export */ TerrainSettings: () => (/* reexport safe */ _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__.TerrainSettings),
45459
- /* harmony export */ TestRpcManager: () => (/* reexport safe */ _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_141__.TestRpcManager),
45472
+ /* harmony export */ TestRpcManager: () => (/* reexport safe */ _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_142__.TestRpcManager),
45460
45473
  /* harmony export */ TextAnnotation: () => (/* reexport safe */ _annotation_TextAnnotation__WEBPACK_IMPORTED_MODULE_2__.TextAnnotation),
45461
45474
  /* harmony export */ TextBlock: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TextBlock),
45462
45475
  /* harmony export */ TextBlockComponent: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TextBlockComponent),
@@ -45466,65 +45479,65 @@ __webpack_require__.r(__webpack_exports__);
45466
45479
  /* harmony export */ TextureMapUnits: () => (/* reexport safe */ _MaterialProps__WEBPACK_IMPORTED_MODULE_84__.TextureMapUnits),
45467
45480
  /* harmony export */ TextureMapping: () => (/* reexport safe */ _TextureMapping__WEBPACK_IMPORTED_MODULE_112__.TextureMapping),
45468
45481
  /* harmony export */ TextureTransparency: () => (/* reexport safe */ _TextureProps__WEBPACK_IMPORTED_MODULE_113__.TextureTransparency),
45469
- /* harmony export */ ThematicDisplay: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplay),
45470
- /* harmony export */ ThematicDisplayMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplayMode),
45471
- /* harmony export */ ThematicDisplaySensor: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplaySensor),
45472
- /* harmony export */ ThematicDisplaySensorSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplaySensorSettings),
45473
- /* harmony export */ ThematicGradientColorScheme: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientColorScheme),
45474
- /* harmony export */ ThematicGradientMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientMode),
45475
- /* harmony export */ ThematicGradientSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientSettings),
45476
- /* harmony export */ ThematicGradientTransparencyMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientTransparencyMode),
45477
- /* harmony export */ TileContentSource: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_117__.TileContentSource),
45478
- /* harmony export */ TileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileFormat),
45479
- /* harmony export */ TileHeader: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileHeader),
45480
- /* harmony export */ TileMetadataReader: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TileMetadataReader),
45481
- /* harmony export */ TileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TileOptions),
45482
- /* harmony export */ TileReadError: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileReadError),
45483
- /* harmony export */ TileReadStatus: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileReadStatus),
45484
- /* harmony export */ TreeFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TreeFlags),
45485
- /* harmony export */ Tween: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Tween),
45486
- /* harmony export */ Tweens: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Tweens),
45487
- /* harmony export */ TxnAction: () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_119__.TxnAction),
45482
+ /* harmony export */ ThematicDisplay: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplay),
45483
+ /* harmony export */ ThematicDisplayMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplayMode),
45484
+ /* harmony export */ ThematicDisplaySensor: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplaySensor),
45485
+ /* harmony export */ ThematicDisplaySensorSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplaySensorSettings),
45486
+ /* harmony export */ ThematicGradientColorScheme: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientColorScheme),
45487
+ /* harmony export */ ThematicGradientMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientMode),
45488
+ /* harmony export */ ThematicGradientSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientSettings),
45489
+ /* harmony export */ ThematicGradientTransparencyMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientTransparencyMode),
45490
+ /* harmony export */ TileContentSource: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_118__.TileContentSource),
45491
+ /* harmony export */ TileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileFormat),
45492
+ /* harmony export */ TileHeader: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileHeader),
45493
+ /* harmony export */ TileMetadataReader: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TileMetadataReader),
45494
+ /* harmony export */ TileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TileOptions),
45495
+ /* harmony export */ TileReadError: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileReadError),
45496
+ /* harmony export */ TileReadStatus: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileReadStatus),
45497
+ /* harmony export */ TreeFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TreeFlags),
45498
+ /* harmony export */ Tween: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Tween),
45499
+ /* harmony export */ Tweens: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Tweens),
45500
+ /* harmony export */ TxnAction: () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_120__.TxnAction),
45488
45501
  /* harmony export */ TypeDefinition: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.TypeDefinition),
45489
45502
  /* harmony export */ TypeOfChange: () => (/* reexport safe */ _ChangedElements__WEBPACK_IMPORTED_MODULE_16__.TypeOfChange),
45490
45503
  /* harmony export */ VerticalCRS: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.VerticalCRS),
45491
- /* harmony export */ ViewDetails: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.ViewDetails),
45492
- /* harmony export */ ViewDetails3d: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.ViewDetails3d),
45493
- /* harmony export */ ViewFlags: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_121__.ViewFlags),
45504
+ /* harmony export */ ViewDetails: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.ViewDetails),
45505
+ /* harmony export */ ViewDetails3d: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.ViewDetails3d),
45506
+ /* harmony export */ ViewFlags: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_122__.ViewFlags),
45494
45507
  /* harmony export */ ViewStoreError: () => (/* reexport safe */ _ITwinCoreErrors__WEBPACK_IMPORTED_MODULE_72__.ViewStoreError),
45495
- /* harmony export */ ViewStoreRpc: () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_122__.ViewStoreRpc),
45496
- /* harmony export */ WEB_RPC_CONSTANTS: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.WEB_RPC_CONSTANTS),
45497
- /* harmony export */ WebAppRpcLogging: () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_149__.WebAppRpcLogging),
45498
- /* harmony export */ WebAppRpcProtocol: () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_147__.WebAppRpcProtocol),
45499
- /* harmony export */ WebAppRpcRequest: () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_148__.WebAppRpcRequest),
45500
- /* harmony export */ WhiteOnWhiteReversalSettings: () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_160__.WhiteOnWhiteReversalSettings),
45508
+ /* harmony export */ ViewStoreRpc: () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_123__.ViewStoreRpc),
45509
+ /* harmony export */ WEB_RPC_CONSTANTS: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.WEB_RPC_CONSTANTS),
45510
+ /* harmony export */ WebAppRpcLogging: () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_150__.WebAppRpcLogging),
45511
+ /* harmony export */ WebAppRpcProtocol: () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_148__.WebAppRpcProtocol),
45512
+ /* harmony export */ WebAppRpcRequest: () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_149__.WebAppRpcRequest),
45513
+ /* harmony export */ WhiteOnWhiteReversalSettings: () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_161__.WhiteOnWhiteReversalSettings),
45501
45514
  /* harmony export */ WorkspaceError: () => (/* reexport safe */ _ITwinCoreErrors__WEBPACK_IMPORTED_MODULE_72__.WorkspaceError),
45502
45515
  /* harmony export */ XyzRotation: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.XyzRotation),
45503
- /* harmony export */ aggregateLoad: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.aggregateLoad),
45504
- /* harmony export */ bisectTileRange2d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.bisectTileRange2d),
45505
- /* harmony export */ bisectTileRange3d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.bisectTileRange3d),
45516
+ /* harmony export */ aggregateLoad: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.aggregateLoad),
45517
+ /* harmony export */ bisectTileRange2d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.bisectTileRange2d),
45518
+ /* harmony export */ bisectTileRange3d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.bisectTileRange3d),
45506
45519
  /* harmony export */ calculateSolarAngles: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarAngles),
45507
45520
  /* harmony export */ calculateSolarDirection: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarDirection),
45508
45521
  /* harmony export */ calculateSolarDirectionFromAngles: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarDirectionFromAngles),
45509
45522
  /* harmony export */ calculateSunriseOrSunset: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSunriseOrSunset),
45510
- /* harmony export */ compareIModelTileTreeIds: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.compareIModelTileTreeIds),
45511
- /* harmony export */ computeChildTileProps: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeChildTileProps),
45512
- /* harmony export */ computeChildTileRanges: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeChildTileRanges),
45513
- /* harmony export */ computeTileChordTolerance: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeTileChordTolerance),
45514
- /* harmony export */ decodeTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.decodeTileContentDescription),
45515
- /* harmony export */ defaultTileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.defaultTileOptions),
45516
- /* harmony export */ formatFieldValue: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.formatFieldValue),
45523
+ /* harmony export */ compareIModelTileTreeIds: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.compareIModelTileTreeIds),
45524
+ /* harmony export */ computeChildTileProps: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeChildTileProps),
45525
+ /* harmony export */ computeChildTileRanges: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeChildTileRanges),
45526
+ /* harmony export */ computeTileChordTolerance: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeTileChordTolerance),
45527
+ /* harmony export */ decodeTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.decodeTileContentDescription),
45528
+ /* harmony export */ defaultTileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.defaultTileOptions),
45529
+ /* harmony export */ formatFieldValue: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.formatFieldValue),
45517
45530
  /* harmony export */ getMarkerText: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.getMarkerText),
45518
- /* harmony export */ getMaximumMajorTileFormatVersion: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.getMaximumMajorTileFormatVersion),
45531
+ /* harmony export */ getMaximumMajorTileFormatVersion: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.getMaximumMajorTileFormatVersion),
45519
45532
  /* harmony export */ getPullChangesIpcChannel: () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_77__.getPullChangesIpcChannel),
45520
- /* harmony export */ getTileObjectReference: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_117__.getTileObjectReference),
45521
- /* harmony export */ iModelTileTreeIdToString: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.iModelTileTreeIdToString),
45533
+ /* harmony export */ getTileObjectReference: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_118__.getTileObjectReference),
45534
+ /* harmony export */ iModelTileTreeIdToString: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.iModelTileTreeIdToString),
45522
45535
  /* harmony export */ iTwinChannel: () => (/* reexport safe */ _ipc_IpcSocket__WEBPACK_IMPORTED_MODULE_73__.iTwinChannel),
45523
- /* harmony export */ initializeRpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.initializeRpcRequest),
45536
+ /* harmony export */ initializeRpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.initializeRpcRequest),
45524
45537
  /* harmony export */ ipcAppChannels: () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_77__.ipcAppChannels),
45525
45538
  /* harmony export */ isBinaryImageSource: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.isBinaryImageSource),
45526
- /* harmony export */ isKnownFieldPropertyType: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.isKnownFieldPropertyType),
45527
- /* harmony export */ isKnownTileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.isKnownTileFormat),
45539
+ /* harmony export */ isKnownFieldPropertyType: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.isKnownFieldPropertyType),
45540
+ /* harmony export */ isKnownTileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.isKnownTileFormat),
45528
45541
  /* harmony export */ isPlacement2dProps: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.isPlacement2dProps),
45529
45542
  /* harmony export */ isPlacement3dProps: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.isPlacement3dProps),
45530
45543
  /* harmony export */ isPowerOfTwo: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.isPowerOfTwo),
@@ -45532,14 +45545,14 @@ __webpack_require__.r(__webpack_exports__);
45532
45545
  /* harmony export */ mapToGeoServiceStatus: () => (/* reexport safe */ _GeoCoordinateServices__WEBPACK_IMPORTED_MODULE_42__.mapToGeoServiceStatus),
45533
45546
  /* harmony export */ nativeAppIpcStrings: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.nativeAppIpcStrings),
45534
45547
  /* harmony export */ nextHighestPowerOfTwo: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.nextHighestPowerOfTwo),
45535
- /* harmony export */ nextPoint3d64FromByteStream: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.nextPoint3d64FromByteStream),
45536
- /* harmony export */ parseTileTreeIdAndContentId: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.parseTileTreeIdAndContentId),
45548
+ /* harmony export */ nextPoint3d64FromByteStream: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.nextPoint3d64FromByteStream),
45549
+ /* harmony export */ parseTileTreeIdAndContentId: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.parseTileTreeIdAndContentId),
45537
45550
  /* harmony export */ readElementMeshes: () => (/* reexport safe */ _ElementMesh__WEBPACK_IMPORTED_MODULE_30__.readElementMeshes),
45538
- /* harmony export */ readTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.readTileContentDescription),
45551
+ /* harmony export */ readTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.readTileContentDescription),
45539
45552
  /* harmony export */ rpcOverIpcStrings: () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_76__.rpcOverIpcStrings),
45540
45553
  /* harmony export */ terminatorShapes: () => (/* reexport safe */ _annotation_TextStyle__WEBPACK_IMPORTED_MODULE_7__.terminatorShapes),
45541
45554
  /* harmony export */ textAnnotationFrameShapes: () => (/* reexport safe */ _annotation_TextStyle__WEBPACK_IMPORTED_MODULE_7__.textAnnotationFrameShapes),
45542
- /* harmony export */ tileFormatFromNumber: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.tileFormatFromNumber),
45555
+ /* harmony export */ tileFormatFromNumber: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.tileFormatFromNumber),
45543
45556
  /* harmony export */ traverseTextBlockComponent: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.traverseTextBlockComponent)
45544
45557
  /* harmony export */ });
45545
45558
  /* harmony import */ var _AmbientOcclusion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AmbientOcclusion */ "../../core/common/lib/esm/AmbientOcclusion.js");
@@ -45656,54 +45669,55 @@ __webpack_require__.r(__webpack_exports__);
45656
45669
  /* harmony import */ var _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./TerrainSettings */ "../../core/common/lib/esm/TerrainSettings.js");
45657
45670
  /* harmony import */ var _TextureMapping__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./TextureMapping */ "../../core/common/lib/esm/TextureMapping.js");
45658
45671
  /* harmony import */ var _TextureProps__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./TextureProps */ "../../core/common/lib/esm/TextureProps.js");
45659
- /* harmony import */ var _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./ThematicDisplay */ "../../core/common/lib/esm/ThematicDisplay.js");
45660
- /* harmony import */ var _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./ContourDisplay */ "../../core/common/lib/esm/ContourDisplay.js");
45661
- /* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./Thumbnail */ "../../core/common/lib/esm/Thumbnail.js");
45662
- /* harmony import */ var _TileProps__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./TileProps */ "../../core/common/lib/esm/TileProps.js");
45663
- /* harmony import */ var _Tween__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./Tween */ "../../core/common/lib/esm/Tween.js");
45664
- /* harmony import */ var _TxnAction__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./TxnAction */ "../../core/common/lib/esm/TxnAction.js");
45665
- /* harmony import */ var _ViewDetails__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./ViewDetails */ "../../core/common/lib/esm/ViewDetails.js");
45666
- /* harmony import */ var _ViewFlags__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./ViewFlags */ "../../core/common/lib/esm/ViewFlags.js");
45667
- /* harmony import */ var _ViewProps__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewProps */ "../../core/common/lib/esm/ViewProps.js");
45668
- /* harmony import */ var _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./rpc/core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
45669
- /* harmony import */ var _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./rpc/core/RpcControl */ "../../core/common/lib/esm/rpc/core/RpcControl.js");
45670
- /* harmony import */ var _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./rpc/core/RpcInvocation */ "../../core/common/lib/esm/rpc/core/RpcInvocation.js");
45671
- /* harmony import */ var _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./rpc/core/RpcSessionInvocation */ "../../core/common/lib/esm/rpc/core/RpcSessionInvocation.js");
45672
- /* harmony import */ var _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./rpc/core/RpcMarshaling */ "../../core/common/lib/esm/rpc/core/RpcMarshaling.js");
45673
- /* harmony import */ var _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./rpc/core/RpcOperation */ "../../core/common/lib/esm/rpc/core/RpcOperation.js");
45674
- /* harmony import */ var _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./rpc/core/RpcPendingQueue */ "../../core/common/lib/esm/rpc/core/RpcPendingQueue.js");
45675
- /* harmony import */ var _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./rpc/core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
45676
- /* harmony import */ var _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./rpc/core/RpcRegistry */ "../../core/common/lib/esm/rpc/core/RpcRegistry.js");
45677
- /* harmony import */ var _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./rpc/core/RpcRequest */ "../../core/common/lib/esm/rpc/core/RpcRequest.js");
45678
- /* harmony import */ var _rpc_core_RpcRequestContext__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./rpc/core/RpcRequestContext */ "../../core/common/lib/esm/rpc/core/RpcRequestContext.js");
45679
- /* harmony import */ var _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./rpc/core/RpcRoutingToken */ "../../core/common/lib/esm/rpc/core/RpcRoutingToken.js");
45680
- /* harmony import */ var _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./rpc/core/RpcPush */ "../../core/common/lib/esm/rpc/core/RpcPush.js");
45681
- /* harmony import */ var _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./rpc/core/RpcConfiguration */ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js");
45682
- /* harmony import */ var _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/DevToolsRpcInterface */ "../../core/common/lib/esm/rpc/DevToolsRpcInterface.js");
45683
- /* harmony import */ var _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/IModelReadRpcInterface */ "../../core/common/lib/esm/rpc/IModelReadRpcInterface.js");
45684
- /* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
45685
- /* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
45686
- /* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
45687
- /* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
45688
- /* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
45689
- /* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
45690
- /* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
45691
- /* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
45692
- /* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
45693
- /* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
45694
- /* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
45695
- /* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
45696
- /* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
45697
- /* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
45698
- /* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
45699
- /* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
45700
- /* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
45701
- /* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
45702
- /* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
45703
- /* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
45704
- /* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
45705
- /* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
45706
- /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
45672
+ /* harmony import */ var _TxnProps__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./TxnProps */ "../../core/common/lib/esm/TxnProps.js");
45673
+ /* harmony import */ var _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./ThematicDisplay */ "../../core/common/lib/esm/ThematicDisplay.js");
45674
+ /* harmony import */ var _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./ContourDisplay */ "../../core/common/lib/esm/ContourDisplay.js");
45675
+ /* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./Thumbnail */ "../../core/common/lib/esm/Thumbnail.js");
45676
+ /* harmony import */ var _TileProps__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./TileProps */ "../../core/common/lib/esm/TileProps.js");
45677
+ /* harmony import */ var _Tween__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./Tween */ "../../core/common/lib/esm/Tween.js");
45678
+ /* harmony import */ var _TxnAction__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./TxnAction */ "../../core/common/lib/esm/TxnAction.js");
45679
+ /* harmony import */ var _ViewDetails__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./ViewDetails */ "../../core/common/lib/esm/ViewDetails.js");
45680
+ /* harmony import */ var _ViewFlags__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewFlags */ "../../core/common/lib/esm/ViewFlags.js");
45681
+ /* harmony import */ var _ViewProps__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./ViewProps */ "../../core/common/lib/esm/ViewProps.js");
45682
+ /* harmony import */ var _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./rpc/core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
45683
+ /* harmony import */ var _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./rpc/core/RpcControl */ "../../core/common/lib/esm/rpc/core/RpcControl.js");
45684
+ /* harmony import */ var _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./rpc/core/RpcInvocation */ "../../core/common/lib/esm/rpc/core/RpcInvocation.js");
45685
+ /* harmony import */ var _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./rpc/core/RpcSessionInvocation */ "../../core/common/lib/esm/rpc/core/RpcSessionInvocation.js");
45686
+ /* harmony import */ var _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./rpc/core/RpcMarshaling */ "../../core/common/lib/esm/rpc/core/RpcMarshaling.js");
45687
+ /* harmony import */ var _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./rpc/core/RpcOperation */ "../../core/common/lib/esm/rpc/core/RpcOperation.js");
45688
+ /* harmony import */ var _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./rpc/core/RpcPendingQueue */ "../../core/common/lib/esm/rpc/core/RpcPendingQueue.js");
45689
+ /* harmony import */ var _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./rpc/core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
45690
+ /* harmony import */ var _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./rpc/core/RpcRegistry */ "../../core/common/lib/esm/rpc/core/RpcRegistry.js");
45691
+ /* harmony import */ var _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./rpc/core/RpcRequest */ "../../core/common/lib/esm/rpc/core/RpcRequest.js");
45692
+ /* harmony import */ var _rpc_core_RpcRequestContext__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./rpc/core/RpcRequestContext */ "../../core/common/lib/esm/rpc/core/RpcRequestContext.js");
45693
+ /* harmony import */ var _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./rpc/core/RpcRoutingToken */ "../../core/common/lib/esm/rpc/core/RpcRoutingToken.js");
45694
+ /* harmony import */ var _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./rpc/core/RpcPush */ "../../core/common/lib/esm/rpc/core/RpcPush.js");
45695
+ /* harmony import */ var _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/core/RpcConfiguration */ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js");
45696
+ /* harmony import */ var _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/DevToolsRpcInterface */ "../../core/common/lib/esm/rpc/DevToolsRpcInterface.js");
45697
+ /* harmony import */ var _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/IModelReadRpcInterface */ "../../core/common/lib/esm/rpc/IModelReadRpcInterface.js");
45698
+ /* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
45699
+ /* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
45700
+ /* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
45701
+ /* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
45702
+ /* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
45703
+ /* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
45704
+ /* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
45705
+ /* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
45706
+ /* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
45707
+ /* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
45708
+ /* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
45709
+ /* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
45710
+ /* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
45711
+ /* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
45712
+ /* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
45713
+ /* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
45714
+ /* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
45715
+ /* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
45716
+ /* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
45717
+ /* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
45718
+ /* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
45719
+ /* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
45720
+ /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
45707
45721
  /*---------------------------------------------------------------------------------------------
45708
45722
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
45709
45723
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -45868,6 +45882,7 @@ __webpack_require__.r(__webpack_exports__);
45868
45882
 
45869
45883
 
45870
45884
 
45885
+
45871
45886
 
45872
45887
 
45873
45888
  /** @docs-package-description
@@ -63738,6 +63753,18 @@ class JsonParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_2__.AbstractPa
63738
63753
  throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'uomSeparator' attribute. It should be of type 'string'.`);
63739
63754
  if (undefined !== jsonObj.scientificType && typeof (jsonObj.scientificType) !== "string")
63740
63755
  throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'scientificType' attribute. It should be of type 'string'.`);
63756
+ if (undefined !== jsonObj.ratioType && typeof (jsonObj.ratioType) !== "string")
63757
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'ratioType' attribute. It should be of type 'string'.`);
63758
+ if (undefined !== jsonObj.ratioSeparator && typeof (jsonObj.ratioSeparator) !== "string")
63759
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'ratioSeparator' attribute. It should be of type 'string'.`);
63760
+ if (undefined !== jsonObj.ratioFormatType && typeof (jsonObj.ratioFormatType) !== "string")
63761
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'ratioFormatType' attribute. It should be of type 'string'.`);
63762
+ // Validate EC version if ratio properties exist - they require EC version 3.3+
63763
+ if (jsonObj.ratioType !== undefined || jsonObj.ratioSeparator !== undefined || jsonObj.ratioFormatType !== undefined) {
63764
+ if (this._ecSpecVersion === undefined || this._ecSpecVersion.readVersion < 3 || (this._ecSpecVersion.readVersion === 3 && this._ecSpecVersion.writeVersion < 3)) {
63765
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has ratio properties that require EC version 3.3 or newer.`);
63766
+ }
63767
+ }
63741
63768
  if (undefined !== jsonObj.stationOffsetSize && typeof (jsonObj.stationOffsetSize) !== "number")
63742
63769
  throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_0__.ECSchemaStatus.InvalidECJson, `The Format ${this._currentItemFullName} has an invalid 'stationOffsetSize' attribute. It should be of type 'number'.`);
63743
63770
  if (undefined !== jsonObj.stationSeparator && typeof (jsonObj.stationSeparator) !== "string")
@@ -64451,6 +64478,15 @@ class XmlParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_5__.AbstractPar
64451
64478
  const thousandSeparator = this.getOptionalAttribute(xmlElement, "thousandSeparator");
64452
64479
  const uomSeparator = this.getOptionalAttribute(xmlElement, "uomSeparator");
64453
64480
  const scientificType = this.getOptionalAttribute(xmlElement, "scientificType");
64481
+ const ratioType = this.getOptionalAttribute(xmlElement, "ratioType");
64482
+ const ratioSeparator = this.getOptionalAttribute(xmlElement, "ratioSeparator");
64483
+ const ratioFormatType = this.getOptionalAttribute(xmlElement, "ratioFormatType");
64484
+ // Validate EC version if ratio properties exist - they require EC version 3.3+
64485
+ if (ratioType !== undefined || ratioSeparator !== undefined || ratioFormatType !== undefined) {
64486
+ if (this._ecSpecVersion === undefined || this._ecSpecVersion.readVersion < 3 || (this._ecSpecVersion.readVersion === 3 && this._ecSpecVersion.writeVersion < 3)) {
64487
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidSchemaXML, `The Format ${this._currentItemFullName} has ratio properties that require EC version 3.3 or newer.`);
64488
+ }
64489
+ }
64454
64490
  const stationOffsetSize = this.getOptionalIntAttribute(xmlElement, "stationOffsetSize", `The Format ${this._currentItemFullName} has an invalid 'stationOffsetSize' attribute. It should be a numeric value.`);
64455
64491
  const stationSeparator = this.getOptionalAttribute(xmlElement, "stationSeparator");
64456
64492
  let composite;
@@ -64493,6 +64529,9 @@ class XmlParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_5__.AbstractPar
64493
64529
  thousandSeparator,
64494
64530
  uomSeparator,
64495
64531
  scientificType,
64532
+ ratioType,
64533
+ ratioSeparator,
64534
+ ratioFormatType,
64496
64535
  stationOffsetSize,
64497
64536
  stationSeparator,
64498
64537
  composite,
@@ -66236,7 +66275,7 @@ class SchemaFormatsProvider {
66236
66275
  // If no matching presentation format was found, use persistence unit format if it matches unit system.
66237
66276
  const persistenceUnit = await kindOfQuantity.persistenceUnit;
66238
66277
  const persistenceUnitSystem = await persistenceUnit?.unitSystem;
66239
- if (persistenceUnitSystem && unitSystemMatchers.some((matcher) => matcher(persistenceUnitSystem))) {
66278
+ if (persistenceUnit && persistenceUnitSystem && unitSystemMatchers.some((matcher) => matcher(persistenceUnitSystem))) {
66240
66279
  this._formatsRetrieved.add(itemKey.fullName);
66241
66280
  const props = getPersistenceUnitFormatProps(persistenceUnit);
66242
66281
  return this.convertToFormatDefinition(props, kindOfQuantity);
@@ -68833,6 +68872,7 @@ __webpack_require__.r(__webpack_exports__);
68833
68872
 
68834
68873
 
68835
68874
 
68875
+ const loggingCategory = "ECClass";
68836
68876
  /**
68837
68877
  * A common abstract class for all of the ECClass types.
68838
68878
  * @public @preview
@@ -68887,7 +68927,13 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
68887
68927
  async getDerivedClasses() {
68888
68928
  const derivedClasses = [];
68889
68929
  for (const derivedClassKey of this.schema.context.classHierarchy.getDerivedClassKeys(this.key)) {
68890
- const derivedClass = await this.schema.context.getSchemaItem(derivedClassKey, ECClass);
68930
+ let derivedClass = await this.schema.getItem(derivedClassKey.name, ECClass); // if the derived class is in the same schema this will get it without going to the context
68931
+ if (derivedClass) {
68932
+ derivedClasses.push(derivedClass);
68933
+ continue;
68934
+ }
68935
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logInfo(loggingCategory, `Derived class ${derivedClassKey.name} not found in schema ${this.schema.name}, looking in schema context.`);
68936
+ derivedClass = await this.schema.context.getSchemaItem(derivedClassKey, ECClass);
68891
68937
  if (derivedClass)
68892
68938
  derivedClasses.push(derivedClass);
68893
68939
  }
@@ -69275,18 +69321,56 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
69275
69321
  */
69276
69322
  async *getAllBaseClasses() {
69277
69323
  for (const baseClassKey of this.schema.context.classHierarchy.getBaseClassKeys(this.key)) {
69278
- const baseClass = await this.schema.lookupItem(baseClassKey, ECClass);
69324
+ const baseClass = await this.getClassFromReferencesRecursively(baseClassKey); // Search in schema ref tree all the way to the top
69279
69325
  if (baseClass)
69280
69326
  yield baseClass;
69281
69327
  }
69282
69328
  }
69329
+ /**
69330
+ * gets a class from this schema or its references recursively using the item key
69331
+ * @param itemKey
69332
+ * @returns ECClass if it could be found, undefined otherwise
69333
+ * @internal
69334
+ */
69335
+ async getClassFromReferencesRecursively(itemKey) {
69336
+ const schemaList = [this.schema];
69337
+ while (schemaList.length > 0) {
69338
+ const currentSchema = schemaList.shift();
69339
+ if (currentSchema.schemaKey.compareByName(itemKey.schemaKey)) {
69340
+ const baseClass = await currentSchema.getItem(itemKey.name, ECClass);
69341
+ schemaList.splice(0); // clear the list
69342
+ return baseClass;
69343
+ }
69344
+ schemaList.push(...currentSchema.references);
69345
+ }
69346
+ return undefined;
69347
+ }
69283
69348
  *getAllBaseClassesSync() {
69284
69349
  for (const baseClassKey of this.schema.context.classHierarchy.getBaseClassKeys(this.key)) {
69285
- const baseClass = this.schema.lookupItemSync(baseClassKey, ECClass);
69350
+ const baseClass = this.getClassFromReferencesRecursivelySync(baseClassKey); // Search in schema ref tree all the way to the top
69286
69351
  if (baseClass)
69287
69352
  yield baseClass;
69288
69353
  }
69289
69354
  }
69355
+ /**
69356
+ * gets a class from this schema or its references recursively using the item key synchronously
69357
+ * @param itemKey
69358
+ * @returns ECClass if it could be found, undefined otherwise
69359
+ * @internal
69360
+ */
69361
+ getClassFromReferencesRecursivelySync(itemKey) {
69362
+ const schemaList = [this.schema];
69363
+ while (schemaList.length > 0) {
69364
+ const currentSchema = schemaList.shift();
69365
+ if (currentSchema.schemaKey.compareByName(itemKey.schemaKey)) {
69366
+ const baseClass = currentSchema.getItemSync(itemKey.name, ECClass);
69367
+ schemaList.splice(0); // clear the list
69368
+ return baseClass;
69369
+ }
69370
+ schemaList.push(...currentSchema.references);
69371
+ }
69372
+ return undefined;
69373
+ }
69290
69374
  /**
69291
69375
  *
69292
69376
  * @param cache
@@ -70422,6 +70506,9 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
70422
70506
  get stationSeparator() { return this._base.stationSeparator; }
70423
70507
  get stationOffsetSize() { return this._base.stationOffsetSize; }
70424
70508
  get stationBaseFactor() { return this._base.stationBaseFactor; }
70509
+ get ratioType() { return this._base.ratioType; }
70510
+ get ratioSeparator() { return this._base.ratioSeparator; }
70511
+ get ratioFormatType() { return this._base.ratioFormatType; }
70425
70512
  get formatTraits() { return this._base.formatTraits; }
70426
70513
  get spacer() { return this._base.spacer; }
70427
70514
  get includeZero() { return this._base.includeZero; }
@@ -70443,10 +70530,13 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
70443
70530
  addUnit(unit, label) {
70444
70531
  if (undefined === this._units)
70445
70532
  this._units = [];
70446
- else { // Validate that a duplicate is not added.
70447
- for (const existingUnit of this._units) {
70448
- if (unit.fullName.toLowerCase() === existingUnit[0].fullName.toLowerCase())
70449
- throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has duplicate units, '${unit.fullName}'.`); // TODO: Validation - this should be a validation error not a hard failure.
70533
+ else {
70534
+ const isDuplicateAllowed = this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio;
70535
+ if (!isDuplicateAllowed) {
70536
+ for (const existingUnit of this._units) {
70537
+ if (unit.fullName.toLowerCase() === existingUnit[0].fullName.toLowerCase())
70538
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has duplicate units, '${unit.fullName}'.`); // TODO: Validation - this should be a validation error not a hard failure.
70539
+ }
70450
70540
  }
70451
70541
  }
70452
70542
  this._units.push([unit, label]);
@@ -70471,37 +70561,87 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
70471
70561
  if (formatProps.composite.units.length <= 0 || formatProps.composite.units.length > 4)
70472
70562
  throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has an invalid 'Composite' attribute. It should have 1-4 units.`);
70473
70563
  }
70564
+ // For Ratio formats: validate that composite is provided
70565
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio) {
70566
+ const hasComposite = undefined !== formatProps.composite && formatProps.composite.units.length > 0;
70567
+ if (!hasComposite) {
70568
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} is 'Ratio' type and must have 'composite' units.`);
70569
+ }
70570
+ }
70474
70571
  }
70475
70572
  fromJSONSync(formatProps) {
70476
70573
  super.fromJSONSync(formatProps);
70477
70574
  this.typecheck(formatProps);
70478
- if (undefined === formatProps.composite)
70479
- return;
70480
- // Units are separated from the rest of the deserialization because of the need to have separate sync and async implementation
70481
- for (const unit of formatProps.composite.units) {
70482
- const newUnit = this.schema.lookupItemSync(unit.name);
70483
- if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
70484
- throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
70485
- if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit))
70486
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
70487
- else if (_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit))
70488
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
70575
+ // Process composite units
70576
+ if (undefined !== formatProps.composite) {
70577
+ for (const unit of formatProps.composite.units) {
70578
+ const newUnit = this.schema.lookupItemSync(unit.name);
70579
+ if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
70580
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
70581
+ const lazyUnit = _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit)
70582
+ ? new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit)
70583
+ : new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit);
70584
+ this.addUnit(lazyUnit, unit.label);
70585
+ }
70586
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
70587
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && this._units && this._units.length === 2) {
70588
+ const unit1Item = this.schema.lookupItemSync(this._units[0][0].fullName);
70589
+ const unit2Item = this.schema.lookupItemSync(this._units[1][0].fullName);
70590
+ if (!unit1Item || !unit2Item || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unit1Item) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(unit1Item)) || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unit2Item) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(unit2Item)))
70591
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has invalid units.`);
70592
+ const getPhenomenon = (unitItem) => {
70593
+ if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unitItem)) {
70594
+ return unitItem.phenomenon;
70595
+ }
70596
+ const invertsUnit = unitItem.invertsUnit;
70597
+ if (invertsUnit) {
70598
+ const resolvedUnit = this.schema.lookupItemSync(invertsUnit.fullName);
70599
+ return resolvedUnit && _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(resolvedUnit) ? resolvedUnit.phenomenon : undefined;
70600
+ }
70601
+ return undefined;
70602
+ };
70603
+ const phenomenon1 = getPhenomenon(unit1Item);
70604
+ const phenomenon2 = getPhenomenon(unit2Item);
70605
+ if (phenomenon1?.fullName !== phenomenon2?.fullName) {
70606
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has 2-unit composite with different phenomena. Both units must have the same phenomenon.`);
70607
+ }
70608
+ }
70489
70609
  }
70490
70610
  }
70491
70611
  async fromJSON(formatProps) {
70492
70612
  await super.fromJSON(formatProps);
70493
70613
  this.typecheck(formatProps);
70494
- if (undefined === formatProps.composite)
70495
- return;
70496
- // Units are separated from the rest of the deserialization because of the need to have separate sync and async implementation
70497
- for (const unit of formatProps.composite.units) {
70498
- const newUnit = await this.schema.lookupItem(unit.name);
70499
- if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
70500
- throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
70501
- if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit))
70502
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
70503
- else if (_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit))
70504
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
70614
+ // Process composite units
70615
+ if (undefined !== formatProps.composite) {
70616
+ for (const unit of formatProps.composite.units) {
70617
+ const newUnit = await this.schema.lookupItem(unit.name);
70618
+ if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
70619
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
70620
+ const lazyUnit = _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit)
70621
+ ? new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit)
70622
+ : new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit);
70623
+ this.addUnit(lazyUnit, unit.label);
70624
+ }
70625
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
70626
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && this._units && this._units.length === 2) {
70627
+ const unit1Item = await this.schema.lookupItem(this._units[0][0].fullName);
70628
+ const unit2Item = await this.schema.lookupItem(this._units[1][0].fullName);
70629
+ if (!unit1Item || !unit2Item || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unit1Item) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(unit1Item)) || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unit2Item) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(unit2Item)))
70630
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has invalid units.`);
70631
+ // Helper to extract phenomenon from Unit or InvertedUnit
70632
+ const getPhenomenon = async (unitItem) => {
70633
+ if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unitItem)) {
70634
+ return unitItem.phenomenon;
70635
+ }
70636
+ const invertsUnit = await unitItem.invertsUnit;
70637
+ return invertsUnit ? invertsUnit.phenomenon : undefined;
70638
+ };
70639
+ const phenomenon1 = await getPhenomenon(unit1Item);
70640
+ const phenomenon2 = await getPhenomenon(unit2Item);
70641
+ if (phenomenon1?.fullName !== phenomenon2?.fullName) {
70642
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has 2-unit composite with different phenomena. Both units must have the same phenomenon.`);
70643
+ }
70644
+ }
70505
70645
  }
70506
70646
  }
70507
70647
  /**
@@ -70538,6 +70678,15 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
70538
70678
  if (" " !== this.stationSeparator)
70539
70679
  schemaJson.stationSeparator = this.stationSeparator;
70540
70680
  }
70681
+ // Only include ratio properties for EC version 3.3+
70682
+ if (_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio === this.type && this.schema.originalECSpecMajorVersion === 3 && this.schema.originalECSpecMinorVersion !== undefined && this.schema.originalECSpecMinorVersion >= 3) {
70683
+ if (undefined !== this.ratioType)
70684
+ schemaJson.ratioType = this.ratioType;
70685
+ if (undefined !== this.ratioSeparator)
70686
+ schemaJson.ratioSeparator = this.ratioSeparator;
70687
+ if (undefined !== this.ratioFormatType)
70688
+ schemaJson.ratioFormatType = this.ratioFormatType;
70689
+ }
70541
70690
  if (undefined === this.units)
70542
70691
  return schemaJson;
70543
70692
  schemaJson.composite = {};
@@ -70569,6 +70718,15 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
70569
70718
  itemElement.setAttribute("minWidth", this.minWidth.toString());
70570
70719
  if (undefined !== this.scientificType)
70571
70720
  itemElement.setAttribute("scientificType", this.scientificType);
70721
+ // Only include ratio properties for EC version 3.3+
70722
+ if (this.schema.originalECSpecMajorVersion === 3 && this.schema.originalECSpecMinorVersion !== undefined && this.schema.originalECSpecMinorVersion >= 3) {
70723
+ if (undefined !== this.ratioType)
70724
+ itemElement.setAttribute("ratioType", this.ratioType);
70725
+ if (undefined !== this.ratioSeparator)
70726
+ itemElement.setAttribute("ratioSeparator", this.ratioSeparator);
70727
+ if (undefined !== this.ratioFormatType)
70728
+ itemElement.setAttribute("ratioFormatType", this.ratioFormatType);
70729
+ }
70572
70730
  if (undefined !== this.stationOffsetSize)
70573
70731
  itemElement.setAttribute("stationOffsetSize", this.stationOffsetSize.toString());
70574
70732
  const formatTraits = (0,_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.formatTraitsToArray)(this.formatTraits);
@@ -71315,6 +71473,9 @@ class OverrideFormat {
71315
71473
  get type() { return this.parent.type; }
71316
71474
  get minWidth() { return this.parent.minWidth; }
71317
71475
  get scientificType() { return this.parent.scientificType; }
71476
+ get ratioType() { return this.parent.ratioType; }
71477
+ get ratioSeparator() { return this.parent.ratioSeparator; }
71478
+ get ratioFormatType() { return this.parent.ratioFormatType; }
71318
71479
  get showSignOption() { return this.parent.showSignOption; }
71319
71480
  get decimalSeparator() { return this.parent.decimalSeparator; }
71320
71481
  get thousandSeparator() { return this.parent.thousandSeparator; }
@@ -71339,7 +71500,7 @@ class OverrideFormat {
71339
71500
  for (const [unit, unitLabel] of this._units) {
71340
71501
  const unitSchema = koqSchema.context.getSchemaSync(unit.schemaKey);
71341
71502
  if (unitSchema === undefined)
71342
- throw new _Exception__WEBPACK_IMPORTED_MODULE_3__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_3__.ECSchemaStatus.InvalidECJson, `The unit schema ${unit.schemaKey} is not found in the context.`);
71503
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_3__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_3__.ECSchemaStatus.InvalidECJson, `The unit schema ${unit.schemaKey.toString()} is not found in the context.`);
71343
71504
  fullName += "[";
71344
71505
  fullName += _Deserialization_XmlSerializationUtils__WEBPACK_IMPORTED_MODULE_0__.XmlSerializationUtils.createXmlTypedName(koqSchema, unitSchema, unit.name);
71345
71506
  if (unitLabel !== undefined)
@@ -82469,6 +82630,57 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
82469
82630
  * @see [[BriefcaseConnection.pushChanges]].
82470
82631
  */
82471
82632
  onChangesPushed = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82633
+ /** Event raised before pull merge process begins.
82634
+ * @alpha
82635
+ */
82636
+ onPullMergeBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82637
+ /** Event raised before a rebase operation begins.
82638
+ * @alpha
82639
+ */
82640
+ onRebaseBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82641
+ /** Event raised before a transaction is rebased.
82642
+ * @alpha
82643
+ */
82644
+ onRebaseTxnBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82645
+ /**
82646
+ * Event raised after a transaction is rebased.
82647
+ * @alpha
82648
+ */
82649
+ onRebaseTxnEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82650
+ /**
82651
+ * Event raised after a rebase operation ends.
82652
+ * @alpha
82653
+ */
82654
+ onRebaseEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82655
+ /**
82656
+ * Event raised after the pull merge process ends.
82657
+ * @alpha
82658
+ */
82659
+ onPullMergeEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82660
+ /** Event raised before incoming changes are applied.
82661
+ * @alpha
82662
+ */
82663
+ onApplyIncomingChangesBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82664
+ /** Event raised after incoming changes are applied.
82665
+ * @alpha
82666
+ */
82667
+ onApplyIncomingChangesEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82668
+ /** Event raised before local changes are reversed.
82669
+ * @alpha
82670
+ */
82671
+ onReverseLocalChangesBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82672
+ /** Event raised after local changes are reversed.
82673
+ * @alpha
82674
+ */
82675
+ onReverseLocalChangesEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82676
+ /** Event raised before downloading changesets begins.
82677
+ * @alpha
82678
+ */
82679
+ onDownloadChangesetsBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82680
+ /** Event raised after downloading changesets ends.
82681
+ * @alpha
82682
+ */
82683
+ onDownloadChangesetsEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
82472
82684
  /** @internal */
82473
82685
  constructor(iModel) {
82474
82686
  super(iModel.key);
@@ -82480,16 +82692,28 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
82480
82692
  if (this._cleanup) {
82481
82693
  this._cleanup();
82482
82694
  this._cleanup = undefined;
82483
- this.onElementsChanged.clear();
82484
- this.onModelsChanged.clear();
82485
- this.onModelGeometryChanged.clear();
82486
- this.onCommit.clear();
82487
- this.onCommitted.clear();
82488
- this.onChangesApplied.clear();
82489
- this.onBeforeUndoRedo.clear();
82490
82695
  this.onAfterUndoRedo.clear();
82696
+ this.onApplyIncomingChangesBegin.clear();
82697
+ this.onApplyIncomingChangesEnd.clear();
82698
+ this.onBeforeUndoRedo.clear();
82699
+ this.onChangesApplied.clear();
82491
82700
  this.onChangesPulled.clear();
82492
82701
  this.onChangesPushed.clear();
82702
+ this.onCommit.clear();
82703
+ this.onCommitted.clear();
82704
+ this.onDownloadChangesetsBegin.clear();
82705
+ this.onDownloadChangesetsEnd.clear();
82706
+ this.onElementsChanged.clear();
82707
+ this.onModelGeometryChanged.clear();
82708
+ this.onModelsChanged.clear();
82709
+ this.onPullMergeBegin.clear();
82710
+ this.onPullMergeEnd.clear();
82711
+ this.onRebaseBegin.clear();
82712
+ this.onRebaseEnd.clear();
82713
+ this.onRebaseTxnBegin.clear();
82714
+ this.onRebaseTxnEnd.clear();
82715
+ this.onReverseLocalChangesBegin.clear();
82716
+ this.onReverseLocalChangesEnd.clear();
82493
82717
  }
82494
82718
  }
82495
82719
  /** Query if the briefcase has any pending Txns waiting to be pushed. */
@@ -82638,6 +82862,54 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
82638
82862
  notifyGeographicCoordinateSystemChanged(gcs) {
82639
82863
  this._iModel.geographicCoordinateSystem = gcs ? new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.GeographicCRS(gcs) : undefined;
82640
82864
  }
82865
+ /** @internal */
82866
+ notifyPullMergeBegin(changeset) {
82867
+ this.onPullMergeBegin.raiseEvent(changeset);
82868
+ }
82869
+ /** @internal */
82870
+ notifyPullMergeEnd(changeset) {
82871
+ this.onPullMergeEnd.raiseEvent(changeset);
82872
+ }
82873
+ /** @internal */
82874
+ notifyApplyIncomingChangesBegin(changes) {
82875
+ this.onApplyIncomingChangesBegin.raiseEvent(changes);
82876
+ }
82877
+ /** @internal */
82878
+ notifyApplyIncomingChangesEnd(changes) {
82879
+ this.onApplyIncomingChangesEnd.raiseEvent(changes);
82880
+ }
82881
+ /** @internal */
82882
+ notifyReverseLocalChangesBegin() {
82883
+ this.onReverseLocalChangesBegin.raiseEvent();
82884
+ }
82885
+ /** @internal */
82886
+ notifyReverseLocalChangesEnd(txns) {
82887
+ this.onReverseLocalChangesEnd.raiseEvent(txns);
82888
+ }
82889
+ /** @internal */
82890
+ notifyDownloadChangesetsBegin() {
82891
+ this.onDownloadChangesetsBegin.raiseEvent();
82892
+ }
82893
+ /** @internal */
82894
+ notifyDownloadChangesetsEnd() {
82895
+ this.onDownloadChangesetsEnd.raiseEvent();
82896
+ }
82897
+ /** @internal */
82898
+ notifyRebaseBegin(txns) {
82899
+ this.onRebaseBegin.raiseEvent(txns);
82900
+ }
82901
+ /** @internal */
82902
+ notifyRebaseEnd(txns) {
82903
+ this.onRebaseEnd.raiseEvent(txns);
82904
+ }
82905
+ /** @internal */
82906
+ notifyRebaseTxnBegin(txn) {
82907
+ this.onRebaseTxnBegin.raiseEvent(txn);
82908
+ }
82909
+ /** @internal */
82910
+ notifyRebaseTxnEnd(txn) {
82911
+ this.onRebaseTxnEnd.raiseEvent(txn);
82912
+ }
82641
82913
  }
82642
82914
 
82643
82915
 
@@ -108185,7 +108457,9 @@ function createMeshArgs(mesh) {
108185
108457
  if (!mesh.triangles || mesh.triangles.isEmpty || mesh.points.length === 0)
108186
108458
  return undefined;
108187
108459
  const texture = mesh.displayParams.textureMapping?.texture;
108188
- const textureMapping = texture && mesh.uvParams.length > 0 ? { texture, uvParams: mesh.uvParams } : undefined;
108460
+ const useConstantLod = mesh.displayParams.textureMapping?.params?.useConstantLod;
108461
+ const constantLodParams = mesh.displayParams.textureMapping?.params?.constantLodParams;
108462
+ const textureMapping = texture && mesh.uvParams.length > 0 ? { texture, uvParams: mesh.uvParams, useConstantLod, constantLodParams } : undefined;
108189
108463
  const colors = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorIndex();
108190
108464
  mesh.colorMap.toColorIndex(colors, mesh.colors);
108191
108465
  const features = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureIndex();
@@ -149964,7 +150238,7 @@ function readPnts(stream, dataOffset, pnts) {
149964
150238
  }
149965
150239
  async function decodeDracoPointCloud(buf) {
149966
150240
  try {
149967
- const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4_node_modules_loaders_gl_draco_di-40e622").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@4.3.4/node_modules/@loaders.gl/draco/dist/index.js"))).DracoLoader;
150241
+ const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4__loaders_gl_core_4_3_4_node_modu-4c1fc9").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@4.3.4_@loaders.gl+core@4.3.4/node_modules/@loaders.gl/draco/dist/index.js"))).DracoLoader;
149968
150242
  const mesh = await dracoLoader.parse(buf, {});
149969
150243
  if (mesh.topology !== "point-list")
149970
150244
  return undefined;
@@ -161403,14 +161677,47 @@ class GltfReader {
161403
161677
  }
161404
161678
  }
161405
161679
  createDisplayParams(material, hasBakedLighting, isPointPrimitive = false) {
161680
+ let constantLodParamProps;
161681
+ let normalMapUseConstantLod = false;
161682
+ if (!(0,_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.isGltf1Material)(material)) {
161683
+ // NOTE: EXT_textureInfo_constant_lod is not supported for occlusionTexture and metallicRoughnessTexture
161684
+ // Use the same texture fallback logic as extractTextureId
161685
+ const textureInfo = material.pbrMetallicRoughness?.baseColorTexture ?? material.emissiveTexture;
161686
+ const extConstantLod = textureInfo?.extensions?.EXT_textureInfo_constant_lod;
161687
+ const offset = extConstantLod?.offset;
161688
+ extConstantLod ? constantLodParamProps = {
161689
+ repetitions: extConstantLod?.repetitions,
161690
+ offset: offset ? { x: offset[0], y: offset[1] } : undefined,
161691
+ minDistClamp: extConstantLod?.minClampDistance,
161692
+ maxDistClamp: extConstantLod?.maxClampDistance,
161693
+ } : undefined;
161694
+ // Normal map only uses constant LOD if both the base texture and normal texture have the extension
161695
+ normalMapUseConstantLod = extConstantLod !== undefined && material.normalTexture?.extensions?.EXT_textureInfo_constant_lod !== undefined;
161696
+ }
161406
161697
  const isTransparent = this.isMaterialTransparent(material);
161407
161698
  const textureId = this.extractTextureId(material);
161408
161699
  const normalMapId = this.extractNormalMapId(material);
161409
- let textureMapping = (undefined !== textureId || undefined !== normalMapId) ? this.findTextureMapping(textureId, isTransparent, normalMapId) : undefined;
161700
+ let textureMapping = (undefined !== textureId || undefined !== normalMapId) ? this.findTextureMapping(textureId, isTransparent, normalMapId, constantLodParamProps, normalMapUseConstantLod) : undefined;
161410
161701
  const color = colorFromMaterial(material, isTransparent);
161411
161702
  let renderMaterial;
161412
- if (undefined !== textureMapping && undefined !== textureMapping.normalMapParams) {
161413
- const args = { diffuse: { color }, specular: { color: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white }, textureMapping };
161703
+ if (undefined !== textureMapping) {
161704
+ // Convert result of findTextureMapping (TextureMapping object) to MaterialTextureMappingProps interface
161705
+ const textureMappingProps = {
161706
+ texture: textureMapping.texture,
161707
+ normalMapParams: textureMapping.normalMapParams,
161708
+ mode: textureMapping.params.mode,
161709
+ transform: textureMapping.params.textureMatrix,
161710
+ weight: textureMapping.params.weight,
161711
+ worldMapping: textureMapping.params.worldMapping,
161712
+ useConstantLod: textureMapping.params.useConstantLod,
161713
+ constantLodProps: textureMapping.params.useConstantLod ? {
161714
+ repetitions: textureMapping.params.constantLodParams.repetitions,
161715
+ offset: textureMapping.params.constantLodParams.offset,
161716
+ minDistClamp: textureMapping.params.constantLodParams.minDistClamp,
161717
+ maxDistClamp: textureMapping.params.constantLodParams.maxDistClamp,
161718
+ } : undefined,
161719
+ };
161720
+ const args = { diffuse: { color }, specular: { color: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white }, textureMapping: textureMappingProps };
161414
161721
  renderMaterial = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.renderSystem.createRenderMaterial(args);
161415
161722
  // DisplayParams doesn't want a separate texture mapping if the material already has one.
161416
161723
  textureMapping = undefined;
@@ -161422,7 +161729,30 @@ class GltfReader {
161422
161729
  width = pointStyle.diameter;
161423
161730
  }
161424
161731
  }
161425
- return new _common_internal_render_DisplayParams__WEBPACK_IMPORTED_MODULE_8__.DisplayParams(_common_internal_render_DisplayParams__WEBPACK_IMPORTED_MODULE_8__.DisplayParams.Type.Mesh, color, color, width, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Solid, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.None, renderMaterial, undefined, hasBakedLighting, textureMapping);
161732
+ // Process BENTLEY_materials_planar_fill extension
161733
+ let fillFlags = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.None;
161734
+ if (!(0,_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.isGltf1Material)(material)) {
161735
+ const planarFill = material.extensions?.BENTLEY_materials_planar_fill;
161736
+ if (planarFill) {
161737
+ // Map wireframeFill: 0=NONE (no fill flags), 1=ALWAYS (Always flag), 2=TOGGLE (ByView flag)
161738
+ const wireframeFill = planarFill.wireframeFill ?? 0;
161739
+ if (wireframeFill === 1) {
161740
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Always;
161741
+ }
161742
+ else if (wireframeFill === 2) {
161743
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.ByView;
161744
+ }
161745
+ // Map backgroundFill to Background flag
161746
+ if (planarFill.backgroundFill === true) {
161747
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Background;
161748
+ }
161749
+ // Map behind to Behind flag
161750
+ if (planarFill.behind === true) {
161751
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Behind;
161752
+ }
161753
+ }
161754
+ }
161755
+ return new _common_internal_render_DisplayParams__WEBPACK_IMPORTED_MODULE_8__.DisplayParams(_common_internal_render_DisplayParams__WEBPACK_IMPORTED_MODULE_8__.DisplayParams.Type.Mesh, color, color, width, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels.Solid, fillFlags, renderMaterial, undefined, hasBakedLighting, textureMapping);
161426
161756
  }
161427
161757
  readMeshPrimitives(node, featureTable, thisTransform, thisBias, instances) {
161428
161758
  const meshes = [];
@@ -162224,7 +162554,7 @@ class GltfReader {
162224
162554
  if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ProcessDetector.isIEBrowser) {
162225
162555
  throw new Error("Unsupported browser for Draco decoding");
162226
162556
  }
162227
- const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4_node_modules_loaders_gl_draco_di-40e622").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@4.3.4/node_modules/@loaders.gl/draco/dist/index.js"))).DracoLoader;
162557
+ const dracoLoader = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_loaders_gl_draco_4_3_4__loaders_gl_core_4_3_4_node_modu-4c1fc9").then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@4.3.4_@loaders.gl+core@4.3.4/node_modules/@loaders.gl/draco/dist/index.js"))).DracoLoader;
162228
162558
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
162229
162559
  }
162230
162560
  catch (err) {
@@ -162368,7 +162698,7 @@ class GltfReader {
162368
162698
  });
162369
162699
  return renderTexture ?? false;
162370
162700
  }
162371
- findTextureMapping(id, isTransparent, normalMapId) {
162701
+ findTextureMapping(id, isTransparent, normalMapId, constantLodParamProps, normalMapUseConstantLod = false) {
162372
162702
  if (undefined === id && undefined === normalMapId)
162373
162703
  return undefined;
162374
162704
  let texture;
@@ -162390,16 +162720,18 @@ class GltfReader {
162390
162720
  nMap = {
162391
162721
  normalMap,
162392
162722
  greenUp,
162723
+ useConstantLod: normalMapUseConstantLod,
162393
162724
  };
162394
162725
  }
162395
162726
  else {
162396
162727
  texture = normalMap;
162397
- nMap = { greenUp };
162728
+ nMap = { greenUp, useConstantLod: normalMapUseConstantLod };
162398
162729
  }
162399
162730
  }
162400
162731
  if (!texture)
162401
162732
  return undefined;
162402
- const textureMapping = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping(texture, new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping.Params());
162733
+ const useConstantLod = constantLodParamProps !== undefined;
162734
+ const textureMapping = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping(texture, new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping.Params({ useConstantLod, constantLodProps: constantLodParamProps }));
162403
162735
  textureMapping.normalMapParams = nMap;
162404
162736
  return textureMapping;
162405
162737
  }
@@ -162436,7 +162768,7 @@ async function readGltfTemplate(args) {
162436
162768
  }
162437
162769
  /** Produce a [[RenderGraphic]] from a [glTF](https://www.khronos.org/gltf/) asset suitable for use in [view decorations]($docs/learning/frontend/ViewDecorations).
162438
162770
  * @returns a graphic produced from the glTF asset's default scene, or `undefined` if a graphic could not be produced from the asset.
162439
- * The returned graphic also includes the bounding boxes of the glTF model in world and local coordiantes.
162771
+ * The returned graphic also includes the bounding boxes of the glTF model in world and local coordinates.
162440
162772
  * @note Support for the full [glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html) is currently a work in progress.
162441
162773
  * If a particular glTF asset fails to load and/or display properly, please
162442
162774
  * [submit an issue](https://github.com/iTwin/itwinjs-core/issues).
@@ -162464,6 +162796,7 @@ class GltfGraphicsReader extends GltfReader {
162464
162796
  _contentRange;
162465
162797
  _transform;
162466
162798
  _isLeaf;
162799
+ _useViewportRenderMode;
162467
162800
  binaryData; // strictly for tests
162468
162801
  meshes; // strictly for tests
162469
162802
  constructor(props, args) {
@@ -162477,6 +162810,7 @@ class GltfGraphicsReader extends GltfReader {
162477
162810
  this._contentRange = args.contentRange;
162478
162811
  this._transform = args.transform;
162479
162812
  this._isLeaf = true !== args.hasChildren;
162813
+ this._useViewportRenderMode = args.useViewportRenderMode ?? false;
162480
162814
  this.binaryData = props.binaryData;
162481
162815
  const pickableId = args.pickableOptions?.id;
162482
162816
  if (pickableId) {
@@ -162487,7 +162821,8 @@ class GltfGraphicsReader extends GltfReader {
162487
162821
  get viewFlagOverrides() {
162488
162822
  return {
162489
162823
  whiteOnWhiteReversal: false,
162490
- renderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode.SmoothShade,
162824
+ // Don't override renderMode if using viewport's render mode - let the viewport control it.
162825
+ renderMode: this._useViewportRenderMode ? undefined : _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode.SmoothShade,
162491
162826
  };
162492
162827
  }
162493
162828
  get meshElementIdToFeatureIndex() {
@@ -304095,6 +304430,8 @@ class BaseFormat {
304095
304430
  _stationOffsetSize; // required when type is station; positive integer > 0
304096
304431
  _stationBaseFactor; // optional positive integer base factor for station formatting; default is 1
304097
304432
  _ratioType; // required if type is ratio; options: oneToN, NToOne, ValueBased, useGreatestCommonDivisor
304433
+ _ratioFormatType; // defaults to Decimal if not specified
304434
+ _ratioSeparator; // default is ":"; separator character used in ratio formatting
304098
304435
  _azimuthBase; // value always clockwise from north
304099
304436
  _azimuthBaseUnit; // unit for azimuthBase value
304100
304437
  _azimuthCounterClockwise; // if set to true, azimuth values are returned counter-clockwise from base
@@ -304116,6 +304453,10 @@ class BaseFormat {
304116
304453
  set scientificType(scientificType) { this._scientificType = scientificType; }
304117
304454
  get ratioType() { return this._ratioType; }
304118
304455
  set ratioType(ratioType) { this._ratioType = ratioType; }
304456
+ get ratioFormatType() { return this._ratioFormatType; }
304457
+ set ratioFormatType(ratioFormatType) { this._ratioFormatType = ratioFormatType; }
304458
+ get ratioSeparator() { return this._ratioSeparator; }
304459
+ set ratioSeparator(ratioSeparator) { this._ratioSeparator = ratioSeparator; }
304119
304460
  get showSignOption() { return this._showSignOption; }
304120
304461
  set showSignOption(showSignOption) { this._showSignOption = showSignOption; }
304121
304462
  get decimalSeparator() { return this._decimalSeparator; }
@@ -304184,6 +304525,22 @@ class BaseFormat {
304184
304525
  if (undefined === formatProps.ratioType)
304185
304526
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} is 'Ratio' type therefore the attribute 'ratioType' is required.`);
304186
304527
  this._ratioType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseRatioType)(formatProps.ratioType, this.name);
304528
+ if (undefined !== formatProps.ratioSeparator) {
304529
+ if (typeof (formatProps.ratioSeparator) !== "string")
304530
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} has an invalid 'ratioSeparator' attribute. It should be of type 'string'.`);
304531
+ if (formatProps.ratioSeparator.length !== 1)
304532
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} has an invalid 'ratioSeparator' attribute. It should be a one character string.`);
304533
+ this._ratioSeparator = formatProps.ratioSeparator;
304534
+ }
304535
+ else {
304536
+ this._ratioSeparator = ":"; // Apply default
304537
+ }
304538
+ if (undefined !== formatProps.ratioFormatType) {
304539
+ this._ratioFormatType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseRatioFormatType)(formatProps.ratioFormatType, this.name);
304540
+ }
304541
+ else {
304542
+ this._ratioFormatType = _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioFormatType.Decimal; // Apply default
304543
+ }
304187
304544
  }
304188
304545
  if (undefined !== formatProps.roundFactor) { // optional; default is 0.0
304189
304546
  if (typeof (formatProps.roundFactor) !== "number")
@@ -304308,6 +304665,8 @@ class Format extends BaseFormat {
304308
304665
  newFormat._azimuthBaseUnit = this._azimuthBaseUnit;
304309
304666
  newFormat._azimuthCounterClockwise = this._azimuthCounterClockwise;
304310
304667
  newFormat._ratioType = this._ratioType;
304668
+ newFormat._ratioFormatType = this._ratioFormatType;
304669
+ newFormat._ratioSeparator = this._ratioSeparator;
304311
304670
  newFormat._revolutionUnit = this._revolutionUnit;
304312
304671
  newFormat._customProps = this._customProps;
304313
304672
  this._units && (newFormat._units = [...this._units]);
@@ -304368,25 +304727,28 @@ class Format extends BaseFormat {
304368
304727
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} has a Composite with an invalid 'units' attribute. It must be of type 'array'`);
304369
304728
  }
304370
304729
  if (jsonObj.composite.units.length > 0 && jsonObj.composite.units.length <= 4) { // Composite requires 1-4 units
304371
- for (const nextUnit of jsonObj.composite.units) {
304372
- if (this._units) {
304373
- for (const existingUnit of this._units) {
304374
- const unitObj = existingUnit[0].name;
304375
- if (unitObj.toLowerCase() === nextUnit.unit.name.toLowerCase()) {
304376
- throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The unit ${unitObj} has a duplicate name.`);
304377
- }
304730
+ const isDuplicateAllowed = this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio;
304731
+ const seenUnits = new Set();
304732
+ this._units = [];
304733
+ for (const unitSpec of jsonObj.composite.units) {
304734
+ if (!isDuplicateAllowed) {
304735
+ const unitName = unitSpec.unit.name.toLowerCase();
304736
+ const existingName = seenUnits.has(unitName);
304737
+ if (existingName) {
304738
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} contains duplicate units: '${unitSpec.unit.name}'`);
304378
304739
  }
304740
+ seenUnits.add(unitName);
304379
304741
  }
304380
- if (undefined === this._units) {
304381
- this._units = [];
304382
- }
304383
- this._units.push([nextUnit.unit, nextUnit.label]);
304742
+ this._units.push([unitSpec.unit, unitSpec.label]);
304384
304743
  }
304385
304744
  }
304386
304745
  }
304387
304746
  if (undefined === this.units || this.units.length === 0)
304388
304747
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} has a Composite with no valid 'units'`);
304389
304748
  }
304749
+ if (this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio && (!this._units || this._units.length === 0)) {
304750
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${this.name} is 'Ratio' type and must have 'composite' units.`);
304751
+ }
304390
304752
  if (this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth || this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing) {
304391
304753
  this._azimuthBaseUnit = jsonObj.azimuthBaseUnit;
304392
304754
  this._revolutionUnit = jsonObj.revolutionUnit;
@@ -304453,6 +304815,8 @@ class Format extends BaseFormat {
304453
304815
  uomSeparator: this.uomSeparator,
304454
304816
  scientificType: this.scientificType ? this.scientificType : undefined,
304455
304817
  ratioType: this.ratioType,
304818
+ ratioFormatType: this.ratioFormatType,
304819
+ ratioSeparator: this.ratioSeparator,
304456
304820
  stationOffsetSize: this.stationOffsetSize,
304457
304821
  stationSeparator: this.stationSeparator,
304458
304822
  stationBaseFactor: this.stationBaseFactor,
@@ -304497,6 +304861,15 @@ async function resolveFormatProps(formatName, unitsProvider, jsonObj) {
304497
304861
  const unit = await resolveCompositeUnit(unitsProvider, entry.name);
304498
304862
  return { unit, label: entry.label };
304499
304863
  }));
304864
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
304865
+ const formatType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseFormatType)(jsonObj.type, formatName);
304866
+ if (formatType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio && units.length === 2) {
304867
+ const phenomenon1 = units[0].unit.phenomenon;
304868
+ const phenomenon2 = units[1].unit.phenomenon;
304869
+ if (phenomenon1 !== phenomenon2) {
304870
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The Format ${formatName} has 2-unit composite with different phenomena. Both units must have the same phenomenon. Found '${phenomenon1}' and '${phenomenon2}'.`);
304871
+ }
304872
+ }
304500
304873
  }
304501
304874
  let azimuthBaseUnit, revolutionUnit;
304502
304875
  const type = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseFormatType)(jsonObj.type, formatName);
@@ -304537,6 +304910,7 @@ __webpack_require__.r(__webpack_exports__);
304537
304910
  /* harmony export */ FormatTraits: () => (/* binding */ FormatTraits),
304538
304911
  /* harmony export */ FormatType: () => (/* binding */ FormatType),
304539
304912
  /* harmony export */ FractionalPrecision: () => (/* binding */ FractionalPrecision),
304913
+ /* harmony export */ RatioFormatType: () => (/* binding */ RatioFormatType),
304540
304914
  /* harmony export */ RatioType: () => (/* binding */ RatioType),
304541
304915
  /* harmony export */ ScientificType: () => (/* binding */ ScientificType),
304542
304916
  /* harmony export */ ShowSignOption: () => (/* binding */ ShowSignOption),
@@ -304550,6 +304924,7 @@ __webpack_require__.r(__webpack_exports__);
304550
304924
  /* harmony export */ parseFormatType: () => (/* binding */ parseFormatType),
304551
304925
  /* harmony export */ parseFractionalPrecision: () => (/* binding */ parseFractionalPrecision),
304552
304926
  /* harmony export */ parsePrecision: () => (/* binding */ parsePrecision),
304927
+ /* harmony export */ parseRatioFormatType: () => (/* binding */ parseRatioFormatType),
304553
304928
  /* harmony export */ parseRatioType: () => (/* binding */ parseRatioType),
304554
304929
  /* harmony export */ parseScientificType: () => (/* binding */ parseScientificType),
304555
304930
  /* harmony export */ parseShowSignOption: () => (/* binding */ parseShowSignOption),
@@ -304694,6 +305069,16 @@ var RatioType;
304694
305069
  /** scales the input ratio to its simplest integer form using the greatest common divisor (GCD) of the values. e.g. 0.3 turns into 3:10 */
304695
305070
  RatioType["UseGreatestCommonDivisor"] = "UseGreatestCommonDivisor";
304696
305071
  })(RatioType || (RatioType = {}));
305072
+ /** The format type for the numbers within a ratio.
305073
+ * @beta
305074
+ */
305075
+ var RatioFormatType;
305076
+ (function (RatioFormatType) {
305077
+ /** Decimal display (ie 2.125) */
305078
+ RatioFormatType["Decimal"] = "Decimal";
305079
+ /** Fractional display (ie 2-1/8) */
305080
+ RatioFormatType["Fractional"] = "Fractional";
305081
+ })(RatioFormatType || (RatioFormatType = {}));
304697
305082
  /** Determines how the sign of values are displayed
304698
305083
  * @beta */
304699
305084
  var ShowSignOption;
@@ -304739,6 +305124,18 @@ function parseRatioType(ratioType, formatName) {
304739
305124
  }
304740
305125
  throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityStatus.InvalidJson, `The Format ${formatName} has an invalid 'ratioType' attribute.`);
304741
305126
  }
305127
+ /** @beta */
305128
+ function parseRatioFormatType(ratioFormatType, formatName) {
305129
+ const normalizedValue = ratioFormatType.toLowerCase();
305130
+ for (const key in RatioFormatType) {
305131
+ if (RatioFormatType.hasOwnProperty(key)) {
305132
+ const enumValue = RatioFormatType[key];
305133
+ if (enumValue.toLowerCase() === normalizedValue)
305134
+ return enumValue;
305135
+ }
305136
+ }
305137
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityStatus.InvalidJson, `The Format ${formatName} has an invalid 'ratioFormatType' attribute.`);
305138
+ }
304742
305139
  /** @beta */
304743
305140
  function parseShowSignOption(showSignOption, formatName) {
304744
305141
  switch (showSignOption.toLowerCase()) {
@@ -304900,10 +305297,18 @@ function parsePrecision(precision, type, formatName) {
304900
305297
  case FormatType.Decimal:
304901
305298
  case FormatType.Scientific:
304902
305299
  case FormatType.Station:
304903
- case FormatType.Ratio:
304904
305300
  case FormatType.Bearing:
304905
305301
  case FormatType.Azimuth:
304906
305302
  return parseDecimalPrecision(precision, formatName);
305303
+ case FormatType.Ratio:
305304
+ // Ratio type can use either decimal or fractional precision depending on ratioFormatType
305305
+ // Try decimal first, if it fails, try fractional
305306
+ try {
305307
+ return parseDecimalPrecision(precision, formatName);
305308
+ }
305309
+ catch {
305310
+ return parseFractionalPrecision(precision, formatName);
305311
+ }
304907
305312
  case FormatType.Fractional:
304908
305313
  return parseFractionalPrecision(precision, formatName);
304909
305314
  default:
@@ -304927,8 +305332,9 @@ __webpack_require__.r(__webpack_exports__);
304927
305332
  /* harmony export */ });
304928
305333
  /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Constants */ "../../core/quantity/lib/esm/Constants.js");
304929
305334
  /* harmony import */ var _Exception__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Exception */ "../../core/quantity/lib/esm/Exception.js");
304930
- /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
304931
- /* harmony import */ var _Quantity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Quantity */ "../../core/quantity/lib/esm/Quantity.js");
305335
+ /* harmony import */ var _FormatterSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormatterSpec */ "../../core/quantity/lib/esm/Formatter/FormatterSpec.js");
305336
+ /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
305337
+ /* harmony import */ var _Quantity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Quantity */ "../../core/quantity/lib/esm/Quantity.js");
304932
305338
  /*---------------------------------------------------------------------------------------------
304933
305339
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
304934
305340
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -304940,6 +305346,7 @@ __webpack_require__.r(__webpack_exports__);
304940
305346
 
304941
305347
 
304942
305348
 
305349
+
304943
305350
  /** rounding additive
304944
305351
  * @internal
304945
305352
  */
@@ -305040,7 +305447,7 @@ class Formatter {
305040
305447
  static integerPartToText(wholePart, spec) {
305041
305448
  // build invariant string represent wholePart
305042
305449
  let formattedValue = wholePart.toFixed(0);
305043
- if ((formattedValue.length > 3) && (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.Use1000Separator) && (spec.format.thousandSeparator.length > 0))) {
305450
+ if ((formattedValue.length > 3) && (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.Use1000Separator) && (spec.format.thousandSeparator.length > 0))) {
305044
305451
  let numSeparators = Math.floor(formattedValue.length / 3);
305045
305452
  let groupLength = formattedValue.length % 3;
305046
305453
  if (groupLength === 0) {
@@ -305087,7 +305494,7 @@ class Formatter {
305087
305494
  else {
305088
305495
  componentText = Formatter.formatMagnitude(compositeValue, spec);
305089
305496
  }
305090
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ShowUnitLabel)) {
305497
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel)) {
305091
305498
  componentText = componentText + spec.format.uomSeparator + label;
305092
305499
  }
305093
305500
  return componentText;
@@ -305107,12 +305514,11 @@ class Formatter {
305107
305514
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format ${spec.format.name} has a invalid unit specification.`);
305108
305515
  if (i > 0 && unitConversion.offset !== 0) // offset should only ever be defined for major unit
305109
305516
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format ${spec.format.name} has a invalid unit specification.`);
305110
- let unitValue = 0.0;
305111
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio) {
305112
- if (1 !== (spec.format.units?.length ?? 0))
305113
- throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format '${spec.format.name}' with type 'ratio' must have exactly one unit.`);
305517
+ // Handle ratio format with composite units
305518
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio) {
305519
+ let ratioUnitValue = 0.0;
305114
305520
  try {
305115
- unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
305521
+ ratioUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
305116
305522
  }
305117
305523
  catch (e) {
305118
305524
  // The "InvertingZero" error is thrown when the value is zero and the conversion factor is inverted.
@@ -305120,12 +305526,13 @@ class Formatter {
305120
305526
  if (e instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && e.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
305121
305527
  return { componentText: "1:0", isNegative: false };
305122
305528
  }
305529
+ throw e;
305123
305530
  }
305124
- compositeStrings.push(this.formatRatio(unitValue, spec));
305125
- isNegative = unitValue < 0;
305531
+ compositeStrings.push(this.formatRatio(ratioUnitValue, spec));
305532
+ isNegative = ratioUnitValue < 0;
305126
305533
  continue;
305127
305534
  }
305128
- unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
305535
+ let unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
305129
305536
  if (0 === i) {
305130
305537
  // Only set isNegative from the first (major) unit conversion
305131
305538
  isNegative = unitValue < 0;
@@ -305133,16 +305540,16 @@ class Formatter {
305133
305540
  // but use higher precision if the format specifies it
305134
305541
  const precisionScale = Math.pow(10, Math.max(8, spec.format.precision));
305135
305542
  unitValue = Math.floor(unitValue * precisionScale + FPV_ROUNDFACTOR) / precisionScale;
305136
- if ((Math.abs(unitValue) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ZeroEmpty))
305543
+ if ((Math.abs(unitValue) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ZeroEmpty))
305137
305544
  return { componentText: "", isNegative: false };
305138
305545
  }
305139
305546
  if (i < (spec.format.units?.length ?? 0) - 1) {
305140
305547
  let wholePart = Math.trunc(unitValue);
305141
305548
  // Check if the remaining fractional part will round up to a full unit in the next (smaller) component
305142
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Fractional && i === spec.unitConversions.length - 2) {
305549
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional && i === spec.unitConversions.length - 2) {
305143
305550
  // For the second-to-last unit with fractional formatting, check if rounding causes carry-over
305144
305551
  const fractionalPart = unitValue - wholePart;
305145
- const nextUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(fractionalPart, spec.unitConversions[i + 1].conversion);
305552
+ const nextUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(fractionalPart, spec.unitConversions[i + 1].conversion);
305146
305553
  // Create a FractionalNumeric to determine what the rounded value would be
305147
305554
  const fn = new FractionalNumeric(Math.abs(nextUnitValue), spec.format.precision, true);
305148
305555
  // If the fractional numeric rounds to a whole unit (integral part increased due to rounding)
@@ -305172,18 +305579,18 @@ class Formatter {
305172
305579
  */
305173
305580
  static formatMagnitude(magnitude, spec) {
305174
305581
  let posMagnitude = Math.abs(magnitude);
305175
- if ((Math.abs(posMagnitude) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ZeroEmpty))
305582
+ if ((Math.abs(posMagnitude) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ZeroEmpty))
305176
305583
  return "";
305177
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ApplyRounding))
305584
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ApplyRounding))
305178
305585
  posMagnitude = Math.abs(Formatter.roundDouble(magnitude, spec.format.roundFactor));
305179
- const isSci = ((posMagnitude > 1.0e12) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Scientific);
305180
- const isDecimal = (isSci || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Decimal || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio;
305181
- const isFractional = (!isDecimal && spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Fractional);
305586
+ const isSci = ((posMagnitude > 1.0e12) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Scientific);
305587
+ const isDecimal = (isSci || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Decimal || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio;
305588
+ const isFractional = (!isDecimal && spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional);
305182
305589
  /* const usesStops = spec.format.type === FormatType.Station; */
305183
- const isPrecisionZero = spec.format.precision === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.DecimalPrecision.Zero;
305184
- const isKeepSingleZero = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepSingleZero);
305590
+ const isPrecisionZero = spec.format.precision === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.DecimalPrecision.Zero;
305591
+ const isKeepSingleZero = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepSingleZero);
305185
305592
  const precisionScale = Math.pow(10.0, spec.format.precision);
305186
- const isKeepTrailingZeroes = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.TrailZeroes);
305593
+ const isKeepTrailingZeroes = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.TrailZeroes);
305187
305594
  let expInt = 0.0;
305188
305595
  if (isSci && (posMagnitude !== 0.0)) {
305189
305596
  let exp = Math.log10(posMagnitude);
@@ -305193,10 +305600,10 @@ class Formatter {
305193
305600
  negativeExp = true;
305194
305601
  }
305195
305602
  expInt = Math.floor(exp);
305196
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Scientific) {
305197
- if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ScientificType.ZeroNormalized && posMagnitude > 1.0)
305603
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Scientific) {
305604
+ if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ScientificType.ZeroNormalized && posMagnitude > 1.0)
305198
305605
  expInt += 1.0;
305199
- else if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ScientificType.Normalized && posMagnitude < 1.0)
305606
+ else if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ScientificType.Normalized && posMagnitude < 1.0)
305200
305607
  expInt += 1.0;
305201
305608
  if (negativeExp)
305202
305609
  expInt = -expInt;
@@ -305218,7 +305625,7 @@ class Formatter {
305218
305625
  }
305219
305626
  formattedValue = Formatter.integerPartToText(wholePart, spec);
305220
305627
  if (isPrecisionZero) {
305221
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint) && !isKeepSingleZero)
305628
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint) && !isKeepSingleZero)
305222
305629
  formattedValue = formattedValue + spec.format.decimalSeparator;
305223
305630
  else if (isKeepSingleZero)
305224
305631
  formattedValue = `${formattedValue + spec.format.decimalSeparator}0`;
@@ -305233,7 +305640,7 @@ class Formatter {
305233
305640
  if (fractionString.length > 0)
305234
305641
  formattedValue = formattedValue + spec.format.decimalSeparator + fractionString;
305235
305642
  else {
305236
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint))
305643
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint))
305237
305644
  formattedValue = formattedValue + spec.format.decimalSeparator + (isKeepSingleZero ? "0" : "");
305238
305645
  }
305239
305646
  }
@@ -305246,7 +305653,7 @@ class Formatter {
305246
305653
  const fn = new FractionalNumeric(posMagnitude, spec.format.precision, true);
305247
305654
  formattedValue = fn.getIntegralString();
305248
305655
  if (!fn.isZero && fn.hasFractionPart) {
305249
- const wholeFractionSeparator = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.FractionDash) ? "-" : " ";
305656
+ const wholeFractionSeparator = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.FractionDash) ? "-" : " ";
305250
305657
  const fractionString = `${fn.getNumeratorString()}/${fn.getDenominatorString()}`;
305251
305658
  formattedValue = formattedValue + wholeFractionSeparator + fractionString;
305252
305659
  }
@@ -305275,7 +305682,7 @@ class Formatter {
305275
305682
  else {
305276
305683
  if (isKeepTrailingZeroes)
305277
305684
  fractionString = spec.format.decimalSeparator + "".padEnd(spec.format.precision, "0");
305278
- else if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint))
305685
+ else if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint))
305279
305686
  fractionString = spec.format.decimalSeparator;
305280
305687
  formattedValue = stationString + fractionString;
305281
305688
  }
@@ -305304,21 +305711,21 @@ class Formatter {
305304
305711
  let prefix = "";
305305
305712
  let suffix = "";
305306
305713
  switch (showSignOption) {
305307
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.NegativeParentheses:
305714
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.NegativeParentheses:
305308
305715
  if (isNegative) {
305309
305716
  prefix = "(";
305310
305717
  suffix = ")";
305311
305718
  }
305312
305719
  break;
305313
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.OnlyNegative:
305314
- if (isNegative && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
305720
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.OnlyNegative:
305721
+ if (isNegative && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
305315
305722
  prefix = "-";
305316
305723
  }
305317
305724
  break;
305318
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.SignAlways:
305725
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.SignAlways:
305319
305726
  prefix = isNegative ? "-" : "+";
305320
305727
  break;
305321
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.NoSign:
305728
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.NoSign:
305322
305729
  default:
305323
305730
  break;
305324
305731
  }
@@ -305334,14 +305741,20 @@ class Formatter {
305334
305741
  let suffix = "";
305335
305742
  let formattedValue = "";
305336
305743
  // Handle bearing/azimuth special formatting
305337
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
305744
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
305338
305745
  const result = this.processBearingAndAzimuth(magnitude, spec);
305339
305746
  magnitude = result.magnitude;
305340
305747
  prefix = result.prefix ?? "";
305341
305748
  suffix = result.suffix ?? "";
305342
305749
  }
305343
305750
  let formattedMagnitude = "";
305344
- if (spec.format.hasUnits) {
305751
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && spec.unitConversions.length >= 3) {
305752
+ // Handle ratio formatting separately when 2-unit composite provides 3 conversion specs
305753
+ const ratioResult = this.formatRatioQuantity(magnitude, spec);
305754
+ formattedMagnitude = ratioResult.componentText;
305755
+ valueIsNegative = ratioResult.isNegative;
305756
+ }
305757
+ else if (spec.format.hasUnits) {
305345
305758
  const compositeResult = Formatter.formatComposite(magnitude, spec);
305346
305759
  formattedMagnitude = compositeResult.componentText;
305347
305760
  // Override the sign detection with the composite conversion result
@@ -305350,8 +305763,8 @@ class Formatter {
305350
305763
  else {
305351
305764
  // unitless quantity
305352
305765
  formattedMagnitude = Formatter.formatMagnitude(magnitude, spec);
305353
- if (formattedMagnitude.length > 0 && spec.unitConversions.length > 0 && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ShowUnitLabel)) {
305354
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.PrependUnitLabel))
305766
+ if (formattedMagnitude.length > 0 && spec.unitConversions.length > 0 && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel)) {
305767
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.PrependUnitLabel))
305355
305768
  formattedMagnitude = spec.unitConversions[0].label + spec.format.uomSeparator + formattedMagnitude;
305356
305769
  else
305357
305770
  formattedMagnitude = formattedMagnitude + spec.format.uomSeparator + spec.unitConversions[0].label;
@@ -305371,12 +305784,12 @@ class Formatter {
305371
305784
  }
305372
305785
  static processBearingAndAzimuth(magnitude, spec) {
305373
305786
  const type = spec.format.type;
305374
- if (type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing && type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth)
305787
+ if (type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing && type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth)
305375
305788
  return { magnitude };
305376
305789
  const revolution = this.getRevolution(spec);
305377
305790
  magnitude = this.normalizeAngle(magnitude, revolution);
305378
305791
  const quarterRevolution = revolution / 4;
305379
- if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing) {
305792
+ if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing) {
305380
305793
  let quadrant = 0;
305381
305794
  while (magnitude > quarterRevolution) {
305382
305795
  magnitude -= quarterRevolution;
@@ -305403,7 +305816,7 @@ class Formatter {
305403
305816
  if (quadrant === 2 && spec.unitConversions.length > 0) {
305404
305817
  // To determine if value is small, we need to convert it to the smallest unit presented and use the provided precision on it
305405
305818
  const unitConversion = spec.unitConversions[spec.unitConversions.length - 1].conversion;
305406
- const smallestFormattedDelta = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)((quarterRevolution - magnitude), unitConversion) + this.FPV_MINTHRESHOLD;
305819
+ const smallestFormattedDelta = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)((quarterRevolution - magnitude), unitConversion) + this.FPV_MINTHRESHOLD;
305407
305820
  const precisionScale = Math.pow(10.0, spec.format.precision);
305408
305821
  const floor = Math.floor((smallestFormattedDelta) * precisionScale + FPV_ROUNDFACTOR) / precisionScale;
305409
305822
  if (floor === 0) {
@@ -305412,13 +305825,13 @@ class Formatter {
305412
305825
  }
305413
305826
  return { magnitude, prefix, suffix };
305414
305827
  }
305415
- if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
305828
+ if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
305416
305829
  let azimuthBase = 0; // default base is North
305417
305830
  if (spec.format.azimuthBase !== undefined) {
305418
305831
  if (spec.azimuthBaseConversion === undefined) {
305419
305832
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.MissingRequiredProperty, `Missing azimuth base conversion for interpreting ${spec.name}'s azimuth base.`);
305420
305833
  }
305421
- const azBaseQuantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.azimuthBaseUnit, spec.format.azimuthBase);
305834
+ const azBaseQuantity = new _Quantity__WEBPACK_IMPORTED_MODULE_4__.Quantity(spec.format.azimuthBaseUnit, spec.format.azimuthBase);
305422
305835
  const azBaseConverted = azBaseQuantity.convertTo(spec.persistenceUnit, spec.azimuthBaseConversion);
305423
305836
  if (azBaseConverted === undefined || !azBaseConverted.isValid) {
305424
305837
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.UnsupportedUnit, `Failed to convert azimuth base unit to ${spec.persistenceUnit.name}.`);
@@ -305448,40 +305861,87 @@ class Formatter {
305448
305861
  if (spec.revolutionConversion === undefined) {
305449
305862
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.MissingRequiredProperty, `Missing revolution unit conversion for calculating ${spec.name}'s revolution.`);
305450
305863
  }
305451
- const revolution = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.revolutionUnit, 1.0);
305864
+ const revolution = new _Quantity__WEBPACK_IMPORTED_MODULE_4__.Quantity(spec.format.revolutionUnit, 1.0);
305452
305865
  const converted = revolution.convertTo(spec.persistenceUnit, spec.revolutionConversion);
305453
305866
  if (converted === undefined || !converted.isValid) {
305454
305867
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.UnsupportedUnit, `Failed to convert revolution unit to ${spec.persistenceUnit.name}.`);
305455
305868
  }
305456
305869
  return converted.magnitude;
305457
305870
  }
305871
+ static formatRatioPart(value, spec, side) {
305872
+ const formatType = spec.format.ratioFormatType === "Fractional" ? _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional : _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Decimal;
305873
+ const tempFormat = spec.format.clone({ type: formatType });
305874
+ const tempSpec = new _FormatterSpec__WEBPACK_IMPORTED_MODULE_2__.FormatterSpec(spec.name, tempFormat, spec.unitConversions, spec.persistenceUnit);
305875
+ let formattedValue = this.formatMagnitude(value, tempSpec);
305876
+ // For fractional ratio formatting, suppress leading "0" if the value is purely fractional
305877
+ if (formatType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional && formattedValue.startsWith("0 ")) {
305878
+ formattedValue = formattedValue.substring(2); // Remove "0 " prefix
305879
+ }
305880
+ // Add unit label if ShowUnitLabel trait is set
305881
+ // unitConversions[0] = ratio scale factor, [1] = numerator unit, [2] = denominator unit
305882
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel) && spec.unitConversions.length >= 3) {
305883
+ const labelToAdd = side === "numerator" ? spec.unitConversions[1].label : spec.unitConversions[2].label;
305884
+ formattedValue = formattedValue + labelToAdd;
305885
+ }
305886
+ return formattedValue;
305887
+ }
305888
+ /** Format a ratio quantity value (separate from composite formatting) */
305889
+ static formatRatioQuantity(magnitude, spec) {
305890
+ const unitConversion = spec.unitConversions[0].conversion;
305891
+ let unitValue = 0.0;
305892
+ try {
305893
+ unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(magnitude, unitConversion) + this.FPV_MINTHRESHOLD;
305894
+ }
305895
+ catch (e) {
305896
+ // The "InvertingZero" error is thrown when the value is zero and the conversion factor is inverted.
305897
+ // For ratio, we return "1:0" as the formatted value.
305898
+ if (e instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && e.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
305899
+ return { componentText: "1:0", isNegative: false };
305900
+ }
305901
+ throw e;
305902
+ }
305903
+ const componentText = this.formatRatio(unitValue, spec);
305904
+ const isNegative = unitValue < 0;
305905
+ return { componentText, isNegative };
305906
+ }
305458
305907
  static formatRatio(magnitude, spec) {
305459
305908
  if (null === spec.format.ratioType)
305460
305909
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format ${spec.format.name} must have a ratio type specified.`);
305461
305910
  const precisionScale = Math.pow(10.0, spec.format.precision);
305911
+ const separator = spec.format.ratioSeparator;
305462
305912
  let reciprocal = 0;
305913
+ // Helper to get unit labels if ShowUnitLabel is set
305914
+ const getUnitLabels = () => {
305915
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel) && spec.unitConversions.length >= 3) {
305916
+ return { numeratorLabel: spec.unitConversions[1].label, denominatorLabel: spec.unitConversions[2].label };
305917
+ }
305918
+ return { numeratorLabel: "", denominatorLabel: "" };
305919
+ };
305920
+ const { numeratorLabel, denominatorLabel } = getUnitLabels();
305463
305921
  if (magnitude === 0.0)
305464
- return "0:1";
305922
+ return `0${separator}1`;
305465
305923
  else
305466
305924
  reciprocal = 1.0 / magnitude;
305467
305925
  switch (spec.format.ratioType) {
305468
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.OneToN:
305469
- return `1:${this.formatMagnitude(reciprocal, spec)}`;
305470
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.NToOne:
305471
- return `${this.formatMagnitude(magnitude, spec)}:1`;
305472
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.ValueBased:
305473
- if (magnitude > 1.0)
305474
- return `${this.formatMagnitude(magnitude, spec)}:1`;
305475
- else
305476
- return `1:${this.formatMagnitude(reciprocal, spec)}`;
305477
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.UseGreatestCommonDivisor:
305926
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.OneToN:
305927
+ return `1${numeratorLabel}${separator}${this.formatRatioPart(reciprocal, spec, "denominator")}`;
305928
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.NToOne:
305929
+ return `${this.formatRatioPart(magnitude, spec, "numerator")}${separator}1${denominatorLabel}`;
305930
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.ValueBased:
305931
+ if (magnitude > 1.0) {
305932
+ return `${this.formatRatioPart(magnitude, spec, "numerator")}${separator}1${denominatorLabel}`;
305933
+ }
305934
+ else {
305935
+ return `1${numeratorLabel}${separator}${this.formatRatioPart(reciprocal, spec, "denominator")}`;
305936
+ }
305937
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.UseGreatestCommonDivisor:
305478
305938
  magnitude = Math.round(magnitude * precisionScale) / precisionScale;
305479
305939
  let numerator = magnitude * precisionScale;
305480
305940
  let denominator = precisionScale;
305481
305941
  const gcd = FractionalNumeric.getGreatestCommonFactor(numerator, denominator);
305482
305942
  numerator /= gcd;
305483
305943
  denominator /= gcd;
305484
- return `${this.formatMagnitude(numerator, spec)}:${this.formatMagnitude(denominator, spec)}`;
305944
+ return `${this.formatRatioPart(numerator, spec, "numerator")}${separator}${this.formatRatioPart(denominator, spec, "denominator")}`;
305485
305945
  default:
305486
305946
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format ${spec.format.name} has an invalid ratio type specified.`);
305487
305947
  }
@@ -305502,7 +305962,8 @@ __webpack_require__.r(__webpack_exports__);
305502
305962
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
305503
305963
  /* harmony export */ FormatterSpec: () => (/* binding */ FormatterSpec)
305504
305964
  /* harmony export */ });
305505
- /* harmony import */ var _Formatter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Formatter */ "../../core/quantity/lib/esm/Formatter/Formatter.js");
305965
+ /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
305966
+ /* harmony import */ var _Formatter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Formatter */ "../../core/quantity/lib/esm/Formatter/Formatter.js");
305506
305967
  /*---------------------------------------------------------------------------------------------
305507
305968
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
305508
305969
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -305511,6 +305972,7 @@ __webpack_require__.r(__webpack_exports__);
305511
305972
  * @module Quantity
305512
305973
  */
305513
305974
 
305975
+
305514
305976
  // cSpell:ignore ZERONORMALIZED, nosign, onlynegative, signalways, negativeparentheses
305515
305977
  // cSpell:ignore trailzeroes, keepsinglezero, zeroempty, keepdecimalpoint, applyrounding, fractiondash, showunitlabel, prependunitlabel, exponentonlynegative
305516
305978
  /** A class that contains both formatting information and the conversion factors necessary to convert from an input unit to the units specified in the format.
@@ -305557,6 +306019,49 @@ class FormatterSpec {
305557
306019
  get persistenceUnit() { return this._persistenceUnit; }
305558
306020
  get azimuthBaseConversion() { return this._azimuthBaseConversion; }
305559
306021
  get revolutionConversion() { return this._revolutionConversion; }
306022
+ /** Build conversion specs for ratio format with 2 composite units (numerator/denominator). */
306023
+ static async getRatioUnitConversions(units, unitsProvider, persistenceUnit) {
306024
+ const conversions = [];
306025
+ const [numeratorUnit, numeratorLabel] = units[0];
306026
+ const [denominatorUnit, denominatorLabel] = units[1];
306027
+ // Compute ratio scale: how many numerator units per denominator unit (e.g., IN:FT = 12)
306028
+ const denominatorToNumerator = await unitsProvider.getConversion(denominatorUnit, numeratorUnit);
306029
+ const displayRatioScale = denominatorToNumerator.factor;
306030
+ // Avoid double-scaling: if persistence unit already encodes the display ratio, use factor 1.
306031
+ // Check by name heuristic (e.g., IN_PER_FT with ratioUnits [IN, FT] → no scaling needed)
306032
+ const persistenceName = persistenceUnit.name.toUpperCase();
306033
+ const numName = numeratorUnit.name.toUpperCase().split(".").pop() ?? "";
306034
+ const denName = denominatorUnit.name.toUpperCase().split(".").pop() ?? "";
306035
+ // Split by word boundaries (underscores, dots) and check for exact token matches
306036
+ const persistenceTokens = persistenceName.split(/[._]/);
306037
+ const isPersistenceMatchingRatio = persistenceTokens.includes(numName) && persistenceTokens.includes(denName);
306038
+ const ratioScaleFactor = isPersistenceMatchingRatio ? 1.0 : displayRatioScale;
306039
+ // First conversion spec: effective ratio unit conversion
306040
+ const ratioConversionSpec = {
306041
+ name: `${numeratorUnit.name}_per_${denominatorUnit.name}`,
306042
+ label: "",
306043
+ system: numeratorUnit.system,
306044
+ conversion: { factor: ratioScaleFactor, offset: 0.0 },
306045
+ };
306046
+ conversions.push(ratioConversionSpec);
306047
+ // Numerator unit for label lookup
306048
+ const numeratorSpec = {
306049
+ name: numeratorUnit.name,
306050
+ label: numeratorLabel?.length ? numeratorLabel : numeratorUnit.label,
306051
+ system: numeratorUnit.system,
306052
+ conversion: { factor: 1.0, offset: 0.0 },
306053
+ };
306054
+ conversions.push(numeratorSpec);
306055
+ // Denominator unit for label lookup
306056
+ const denominatorSpec = {
306057
+ name: denominatorUnit.name,
306058
+ label: denominatorLabel?.length ? denominatorLabel : denominatorUnit.label,
306059
+ system: denominatorUnit.system,
306060
+ conversion: { factor: 1.0, offset: 0.0 },
306061
+ };
306062
+ conversions.push(denominatorSpec);
306063
+ return conversions;
306064
+ }
305560
306065
  /** Get an array of UnitConversionSpecs, one for each unit that is to be shown in the formatted quantity string. */
305561
306066
  static async getUnitConversions(format, unitsProvider, inputUnit) {
305562
306067
  const conversions = [];
@@ -305570,6 +306075,10 @@ class FormatterSpec {
305570
306075
  throw new Error("Formatter Spec needs persistence unit to be specified");
305571
306076
  }
305572
306077
  }
306078
+ // Handle 2-unit composite for ratio formats (scale factors)
306079
+ if (format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_0__.FormatType.Ratio && format.units && format.units.length === 2) {
306080
+ return FormatterSpec.getRatioUnitConversions(format.units, unitsProvider, persistenceUnit);
306081
+ }
305573
306082
  if (format.units) {
305574
306083
  let convertFromUnit = inputUnit;
305575
306084
  for (const unit of format.units) {
@@ -305626,7 +306135,7 @@ class FormatterSpec {
305626
306135
  }
305627
306136
  /** Format a quantity value. */
305628
306137
  applyFormatting(magnitude) {
305629
- return _Formatter__WEBPACK_IMPORTED_MODULE_0__.Formatter.formatQuantity(magnitude, this);
306138
+ return _Formatter__WEBPACK_IMPORTED_MODULE_1__.Formatter.formatQuantity(magnitude, this);
305630
306139
  }
305631
306140
  }
305632
306141
 
@@ -305734,13 +306243,14 @@ var ParseError;
305734
306243
  ParseError[ParseError["BearingPrefixOrSuffixMissing"] = 7] = "BearingPrefixOrSuffixMissing";
305735
306244
  ParseError[ParseError["MathematicOperationFoundButIsNotAllowed"] = 8] = "MathematicOperationFoundButIsNotAllowed";
305736
306245
  ParseError[ParseError["BearingAngleOutOfRange"] = 9] = "BearingAngleOutOfRange";
306246
+ ParseError[ParseError["InvalidMathResult"] = 10] = "InvalidMathResult";
305737
306247
  })(ParseError || (ParseError = {}));
305738
306248
  var Operator;
305739
306249
  (function (Operator) {
305740
306250
  Operator["addition"] = "+";
305741
306251
  Operator["subtraction"] = "-";
305742
306252
  Operator["multiplication"] = "*";
305743
- Operator["division"] = "/"; // unsupported but we recognize it during parsing
306253
+ Operator["division"] = "/";
305744
306254
  })(Operator || (Operator = {}));
305745
306255
  function isOperator(char) {
305746
306256
  if (typeof char === "number") {
@@ -306495,36 +307005,107 @@ class Parser {
306495
307005
  magnitude = this.normalizeAngle(magnitude, revolution);
306496
307006
  return { ok: true, value: magnitude };
306497
307007
  }
307008
+ /**
307009
+ * Parse a ratio part string (numerator or denominator) to extract the numeric value and optional unit label.
307010
+ * This method processes tokens without applying unit conversions, allowing the ratio format
307011
+ * handler to manage conversions at the ratio level.
307012
+ *
307013
+ *
307014
+ * @note Fractions are already handled by parseQuantitySpecification, which converts them to
307015
+ * single numeric tokens (e.g., "1/2" becomes 0.5).
307016
+ *
307017
+ * @param partStr The string to parse, which may contain a number, fraction, or mixed fraction with optional unit label.
307018
+ * @param format The format specification used for token parsing.
307019
+ * @returns An object containing the parsed numeric value and optional unit label. Returns NaN for value if no number is found.
307020
+ */
307021
+ static parseRatioPart(partStr, format) {
307022
+ partStr = partStr.trim();
307023
+ // Parse tokens - fractions are automatically converted to decimal values by parseQuantitySpecification
307024
+ const tempFormat = format.clone({ type: _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Decimal });
307025
+ const tokens = Parser.parseQuantitySpecification(partStr, tempFormat);
307026
+ let value = NaN;
307027
+ let unitLabel;
307028
+ // Pre-process: merge negative operators with following numbers
307029
+ const processedTokens = [];
307030
+ for (let i = 0; i < tokens.length; i++) {
307031
+ const token = tokens[i];
307032
+ if (token.isOperator && i === 0 && token.value === "-" &&
307033
+ i + 1 < tokens.length && tokens[i + 1].isNumber) {
307034
+ // Merge negative sign with number
307035
+ processedTokens.push(new ParseToken(-tokens[i + 1].value));
307036
+ i++; // Skip the number token since we consumed it
307037
+ }
307038
+ else {
307039
+ processedTokens.push(token);
307040
+ }
307041
+ }
307042
+ // Extract numeric value and unit label from processed tokens
307043
+ for (const token of processedTokens) {
307044
+ if (token.isNumber && isNaN(value)) {
307045
+ value = token.value;
307046
+ }
307047
+ else if (token.isString && !token.isOperator) {
307048
+ // String token that's not an operator - treat as unit label
307049
+ unitLabel = token.value;
307050
+ }
307051
+ }
307052
+ return { value, unitLabel };
307053
+ }
306498
307054
  static parseRatioFormat(inString, spec) {
306499
307055
  if (!inString)
306500
307056
  return { ok: false, error: ParseError.NoValueOrUnitFoundInString };
306501
- const parts = inString.split(":");
307057
+ const separator = spec.format.ratioSeparator ?? ":";
307058
+ const parts = inString.split(separator);
306502
307059
  if (parts.length > 2)
306503
307060
  return { ok: false, error: ParseError.UnableToConvertParseTokensToQuantity };
306504
- const numerator = parseFloat(parts[0]);
306505
- let denominator;
306506
- if (parts.length === 1) {
306507
- denominator = 1.0;
306508
- }
306509
- else {
306510
- denominator = parseFloat(parts[1]);
307061
+ // If the string doesn't contain the expected separator but contains other ratio-like separators,
307062
+ // return an error since the wrong separator was used
307063
+ if (parts.length === 1 && !inString.includes(separator)) {
307064
+ // Check if the string contains other common ratio separators
307065
+ const otherSeparators = [":", "=", "/"];
307066
+ for (const otherSep of otherSeparators) {
307067
+ if (otherSep !== separator && inString.includes(otherSep)) {
307068
+ // The string looks like a ratio but uses the wrong separator
307069
+ return { ok: false, error: ParseError.UnableToConvertParseTokensToQuantity };
307070
+ }
307071
+ }
307072
+ // Parse as a regular quantity value (numerator only, denominator = 1)
307073
+ const result = this.parseAndProcessTokens(inString, spec.format, spec.unitConversions);
307074
+ return result;
306511
307075
  }
306512
- if (isNaN(numerator) || isNaN(denominator))
307076
+ // Parse numerator and denominator parts which may include unit labels
307077
+ const numeratorPart = this.parseRatioPart(parts[0], spec.format);
307078
+ const denominatorPart = parts.length === 1 ? { value: 1.0 } : this.parseRatioPart(parts[1], spec.format);
307079
+ if (isNaN(numeratorPart.value) || isNaN(denominatorPart.value))
306513
307080
  return { ok: false, error: ParseError.NoValueOrUnitFoundInString };
307081
+ // Handle 2-unit composite case - simpler conversion using the pre-computed scale factor
307082
+ if (spec.format.units && spec.format.units.length === 2 && spec.unitConversions.length >= 3) {
307083
+ const ratioConvSpec = spec.unitConversions[0];
307084
+ const scaleFactor = ratioConvSpec.conversion.factor;
307085
+ if (denominatorPart.value === 0) {
307086
+ return { ok: false, error: ParseError.InvalidMathResult };
307087
+ }
307088
+ // The ratio value is numerator/denominator in the display units (e.g., 12 for 12"=1')
307089
+ // Divide by scale factor to get persistence unit value (e.g., 12/12 = 1.0)
307090
+ const ratioValue = numeratorPart.value / denominatorPart.value;
307091
+ const convertedValue = ratioValue / scaleFactor;
307092
+ return { ok: true, value: convertedValue };
307093
+ }
307094
+ // Original flow for 1-unit composite - use Quantity.convertTo for proper unit conversion
306514
307095
  const defaultUnit = spec.format.units && spec.format.units.length > 0 ? spec.format.units[0][0] : undefined;
306515
307096
  const unitConversion = defaultUnit ? Parser.tryFindUnitConversion(defaultUnit.label, spec.unitConversions, defaultUnit) : undefined;
306516
307097
  if (!unitConversion) {
306517
307098
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.MissingRequiredProperty, `Missing input unit or unit conversion for interpreting ${spec.format.name}.`);
306518
307099
  }
306519
- if (denominator === 0) {
306520
- if (unitConversion.inversion && numerator === 1)
307100
+ if (denominatorPart.value === 0) {
307101
+ if (unitConversion.inversion && numeratorPart.value === 1)
306521
307102
  return { ok: true, value: 0.0 };
306522
307103
  else
306523
- return { ok: false, error: ParseError.MathematicOperationFoundButIsNotAllowed };
307104
+ return { ok: false, error: ParseError.InvalidMathResult };
306524
307105
  }
306525
307106
  let quantity;
306526
307107
  if (spec.format.units && spec.outUnit) {
306527
- quantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.units[0][0], numerator / denominator);
307108
+ quantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.units[0][0], numeratorPart.value / denominatorPart.value);
306528
307109
  }
306529
307110
  else {
306530
307111
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.MissingRequiredProperty, "Missing presentation unit or persistence unit for ratio format.");
@@ -306536,7 +307117,7 @@ class Parser {
306536
307117
  catch (err) {
306537
307118
  // for input of "0:N" with reversed unit
306538
307119
  if (err instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && err.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
306539
- return { ok: false, error: ParseError.MathematicOperationFoundButIsNotAllowed };
307120
+ return { ok: false, error: ParseError.InvalidMathResult };
306540
307121
  }
306541
307122
  }
306542
307123
  if (converted === undefined || !converted.isValid) {
@@ -306662,7 +307243,8 @@ __webpack_require__.r(__webpack_exports__);
306662
307243
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
306663
307244
  /* harmony export */ ParserSpec: () => (/* binding */ ParserSpec)
306664
307245
  /* harmony export */ });
306665
- /* harmony import */ var _Parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Parser */ "../../core/quantity/lib/esm/Parser.js");
307246
+ /* harmony import */ var _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Formatter/FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
307247
+ /* harmony import */ var _Parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Parser */ "../../core/quantity/lib/esm/Parser.js");
306666
307248
  /*---------------------------------------------------------------------------------------------
306667
307249
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
306668
307250
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -306671,6 +307253,7 @@ __webpack_require__.r(__webpack_exports__);
306671
307253
  * @module Quantity
306672
307254
  */
306673
307255
 
307256
+
306674
307257
  /** A ParserSpec holds information needed to parse a string into a quantity synchronously.
306675
307258
  * @beta
306676
307259
  */
@@ -306696,6 +307279,51 @@ class ParserSpec {
306696
307279
  get outUnit() { return this._outUnit; }
306697
307280
  get azimuthBaseConversion() { return this._azimuthBaseConversion; }
306698
307281
  get revolutionConversion() { return this._revolutionConversion; }
307282
+ /** Build conversion specs for ratio format with 2 composite units (numerator/denominator). */
307283
+ static async getRatioUnitConversions(units, unitsProvider, outUnit, altUnitLabelsProvider) {
307284
+ const conversions = [];
307285
+ const [numeratorUnit, numeratorLabel] = units[0];
307286
+ const [denominatorUnit, denominatorLabel] = units[1];
307287
+ // Compute ratio scale: how many numerator units per denominator unit (e.g., IN:FT = 12)
307288
+ const denominatorToNumerator = await unitsProvider.getConversion(denominatorUnit, numeratorUnit);
307289
+ const displayRatioScale = denominatorToNumerator.factor;
307290
+ // Avoid double-scaling: if persistence unit already encodes the display ratio, use factor 1.
307291
+ // Check by name heuristic (e.g., IN_PER_FT with ratioUnits [IN, FT] → no scaling needed)
307292
+ const persistenceName = outUnit.name.toUpperCase();
307293
+ const numName = numeratorUnit.name.toUpperCase().split(".").pop() ?? "";
307294
+ const denName = denominatorUnit.name.toUpperCase().split(".").pop() ?? "";
307295
+ // Split by word boundaries (underscores, dots) and check for exact token matches
307296
+ const persistenceTokens = persistenceName.split(/[._]/);
307297
+ const isPersistenceMatchingRatio = persistenceTokens.includes(numName) && persistenceTokens.includes(denName);
307298
+ const ratioScaleFactor = isPersistenceMatchingRatio ? 1.0 : displayRatioScale;
307299
+ // First conversion spec: effective ratio unit conversion
307300
+ const ratioConversionSpec = {
307301
+ name: `${numeratorUnit.name}_per_${denominatorUnit.name}`,
307302
+ label: "",
307303
+ system: numeratorUnit.system,
307304
+ conversion: { factor: ratioScaleFactor, offset: 0.0 },
307305
+ };
307306
+ conversions.push(ratioConversionSpec);
307307
+ // Numerator unit for label lookup
307308
+ const numeratorSpec = {
307309
+ name: numeratorUnit.name,
307310
+ label: numeratorLabel?.length ? numeratorLabel : numeratorUnit.label,
307311
+ system: numeratorUnit.system,
307312
+ conversion: { factor: 1.0, offset: 0.0 },
307313
+ parseLabels: altUnitLabelsProvider?.getAlternateUnitLabels(numeratorUnit),
307314
+ };
307315
+ conversions.push(numeratorSpec);
307316
+ // Denominator unit for label lookup
307317
+ const denominatorSpec = {
307318
+ name: denominatorUnit.name,
307319
+ label: denominatorLabel?.length ? denominatorLabel : denominatorUnit.label,
307320
+ system: denominatorUnit.system,
307321
+ conversion: { factor: 1.0, offset: 0.0 },
307322
+ parseLabels: altUnitLabelsProvider?.getAlternateUnitLabels(denominatorUnit),
307323
+ };
307324
+ conversions.push(denominatorSpec);
307325
+ return conversions;
307326
+ }
306699
307327
  /** Static async method to create a ParserSpec given the format and unit of the quantity that will be passed to the Parser. The input unit will
306700
307328
  * be used to generate conversion information for each unit specified in the Format. This method is async due to the fact that the units provider must make
306701
307329
  * async calls to lookup unit definitions.
@@ -306704,7 +307332,14 @@ class ParserSpec {
306704
307332
  * @param outUnit The unit a value will be formatted to. This unit is often referred to as persistence unit.
306705
307333
  */
306706
307334
  static async create(format, unitsProvider, outUnit, altUnitLabelsProvider) {
306707
- const conversions = await _Parser__WEBPACK_IMPORTED_MODULE_0__.Parser.createUnitConversionSpecsForUnit(unitsProvider, outUnit, altUnitLabelsProvider);
307335
+ let conversions;
307336
+ // For ratio formats with 2 composite units, use private helper method
307337
+ if (format.type === _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_0__.FormatType.Ratio && format.units && format.units.length === 2) {
307338
+ conversions = await ParserSpec.getRatioUnitConversions(format.units, unitsProvider, outUnit, altUnitLabelsProvider);
307339
+ }
307340
+ else {
307341
+ conversions = await _Parser__WEBPACK_IMPORTED_MODULE_1__.Parser.createUnitConversionSpecsForUnit(unitsProvider, outUnit, altUnitLabelsProvider);
307342
+ }
306708
307343
  const spec = new ParserSpec(outUnit, format, conversions);
306709
307344
  if (format.azimuthBaseUnit !== undefined) {
306710
307345
  if (outUnit !== undefined) {
@@ -306726,7 +307361,7 @@ class ParserSpec {
306726
307361
  }
306727
307362
  /** Do the parsing. Done this way to allow Custom Parser Specs to parse custom formatted strings into their quantities. */
306728
307363
  parseToQuantityValue(inString) {
306729
- return _Parser__WEBPACK_IMPORTED_MODULE_0__.Parser.parseQuantityString(inString, this);
307364
+ return _Parser__WEBPACK_IMPORTED_MODULE_1__.Parser.parseQuantityString(inString, this);
306730
307365
  }
306731
307366
  }
306732
307367
 
@@ -306924,6 +307559,7 @@ __webpack_require__.r(__webpack_exports__);
306924
307559
  /* harmony export */ QuantityConstants: () => (/* reexport safe */ _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants),
306925
307560
  /* harmony export */ QuantityError: () => (/* reexport safe */ _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError),
306926
307561
  /* harmony export */ QuantityStatus: () => (/* reexport safe */ _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus),
307562
+ /* harmony export */ RatioFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.RatioFormatType),
306927
307563
  /* harmony export */ RatioType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.RatioType),
306928
307564
  /* harmony export */ ScientificType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.ScientificType),
306929
307565
  /* harmony export */ ShowSignOption: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.ShowSignOption),
@@ -306942,6 +307578,7 @@ __webpack_require__.r(__webpack_exports__);
306942
307578
  /* harmony export */ parseFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseFormatType),
306943
307579
  /* harmony export */ parseFractionalPrecision: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseFractionalPrecision),
306944
307580
  /* harmony export */ parsePrecision: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parsePrecision),
307581
+ /* harmony export */ parseRatioFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseRatioFormatType),
306945
307582
  /* harmony export */ parseRatioType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseRatioType),
306946
307583
  /* harmony export */ parseScientificType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseScientificType),
306947
307584
  /* harmony export */ parseShowSignOption: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseShowSignOption),
@@ -320651,7 +321288,7 @@ var loadLanguages = instance.loadLanguages;
320651
321288
  /***/ ((module) => {
320652
321289
 
320653
321290
  "use strict";
320654
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.6.0-dev.8","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"5.2.2-dev.2","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
321291
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.7.0-dev.2","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^4.3.4","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
320655
321292
 
320656
321293
  /***/ })
320657
321294