@itwin/rpcinterface-full-stack-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.
@@ -79817,6 +79817,19 @@ var TxnAction;
79817
79817
  })(TxnAction || (TxnAction = {}));
79818
79818
 
79819
79819
 
79820
+ /***/ }),
79821
+
79822
+ /***/ "../../core/common/lib/esm/TxnProps.js":
79823
+ /*!*********************************************!*\
79824
+ !*** ../../core/common/lib/esm/TxnProps.js ***!
79825
+ \*********************************************/
79826
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
79827
+
79828
+ "use strict";
79829
+ __webpack_require__.r(__webpack_exports__);
79830
+
79831
+
79832
+
79820
79833
  /***/ }),
79821
79834
 
79822
79835
  /***/ "../../core/common/lib/esm/ViewDetails.js":
@@ -81566,7 +81579,7 @@ class TextStyleSettings {
81566
81579
  listMarker;
81567
81580
  /** The frame settings of the [[TextAnnotation]]. */
81568
81581
  frame;
81569
- /** The margins to surround the document content. */
81582
+ /** Multiplier used to calculate the margins to surround the document content. */
81570
81583
  margins;
81571
81584
  /** The alignment of the text content. */
81572
81585
  justification;
@@ -81757,7 +81770,7 @@ __webpack_require__.r(__webpack_exports__);
81757
81770
  /* harmony export */ AnalysisStyleThematic: () => (/* reexport safe */ _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__.AnalysisStyleThematic),
81758
81771
  /* harmony export */ AreaPattern: () => (/* reexport safe */ _geometry_AreaPattern__WEBPACK_IMPORTED_MODULE_44__.AreaPattern),
81759
81772
  /* harmony export */ Atmosphere: () => (/* reexport safe */ _Atmosphere__WEBPACK_IMPORTED_MODULE_8__.Atmosphere),
81760
- /* harmony export */ B3dmHeader: () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_150__.B3dmHeader),
81773
+ /* harmony export */ B3dmHeader: () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_151__.B3dmHeader),
81761
81774
  /* harmony export */ BRepEntity: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.BRepEntity),
81762
81775
  /* harmony export */ BRepGeometryOperation: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.BRepGeometryOperation),
81763
81776
  /* harmony export */ BackendError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.BackendError),
@@ -81769,15 +81782,15 @@ __webpack_require__.r(__webpack_exports__);
81769
81782
  /* harmony export */ BaseLayerSettings: () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_81__.BaseLayerSettings),
81770
81783
  /* harmony export */ BaseMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.BaseMapLayerSettings),
81771
81784
  /* harmony export */ BatchType: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.BatchType),
81772
- /* harmony export */ BentleyCloudRpcConfiguration: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__.BentleyCloudRpcConfiguration),
81773
- /* harmony export */ BentleyCloudRpcManager: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__.BentleyCloudRpcManager),
81774
- /* harmony export */ BentleyCloudRpcProtocol: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcProtocol),
81785
+ /* harmony export */ BentleyCloudRpcConfiguration: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcConfiguration),
81786
+ /* harmony export */ BentleyCloudRpcManager: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__.BentleyCloudRpcManager),
81787
+ /* harmony export */ BentleyCloudRpcProtocol: () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_145__.BentleyCloudRpcProtocol),
81775
81788
  /* harmony export */ BisCodeSpec: () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_20__.BisCodeSpec),
81776
81789
  /* harmony export */ BlobOptionsBuilder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.BlobOptionsBuilder),
81777
81790
  /* harmony export */ BoundingSphere: () => (/* reexport safe */ _geometry_BoundingSphere__WEBPACK_IMPORTED_MODULE_45__.BoundingSphere),
81778
81791
  /* harmony export */ BriefcaseIdValue: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.BriefcaseIdValue),
81779
- /* harmony export */ CURRENT_INVOCATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.CURRENT_INVOCATION),
81780
- /* harmony export */ CURRENT_REQUEST: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.CURRENT_REQUEST),
81792
+ /* harmony export */ CURRENT_INVOCATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.CURRENT_INVOCATION),
81793
+ /* harmony export */ CURRENT_REQUEST: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.CURRENT_REQUEST),
81781
81794
  /* harmony export */ Camera: () => (/* reexport safe */ _Camera__WEBPACK_IMPORTED_MODULE_14__.Camera),
81782
81795
  /* harmony export */ Carto2DDegrees: () => (/* reexport safe */ _geometry_Projection__WEBPACK_IMPORTED_MODULE_56__.Carto2DDegrees),
81783
81796
  /* harmony export */ Cartographic: () => (/* reexport safe */ _geometry_Cartographic__WEBPACK_IMPORTED_MODULE_46__.Cartographic),
@@ -81799,19 +81812,19 @@ __webpack_require__.r(__webpack_exports__);
81799
81812
  /* harmony export */ ColorDef: () => (/* reexport safe */ _ColorDef__WEBPACK_IMPORTED_MODULE_22__.ColorDef),
81800
81813
  /* harmony export */ ColorIndex: () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_36__.ColorIndex),
81801
81814
  /* harmony export */ CommonLoggerCategory: () => (/* reexport safe */ _CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_23__.CommonLoggerCategory),
81802
- /* harmony export */ CompositeTileHeader: () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_151__.CompositeTileHeader),
81815
+ /* harmony export */ CompositeTileHeader: () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_152__.CompositeTileHeader),
81803
81816
  /* harmony export */ ConcreteEntityTypes: () => (/* reexport safe */ _EntityReference__WEBPACK_IMPORTED_MODULE_34__.ConcreteEntityTypes),
81804
81817
  /* harmony export */ ConflictingLocksError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ConflictingLocksError),
81805
- /* harmony export */ ContentFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.ContentFlags),
81806
- /* harmony export */ ContentIdProvider: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.ContentIdProvider),
81818
+ /* harmony export */ ContentFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.ContentFlags),
81819
+ /* harmony export */ ContentIdProvider: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.ContentIdProvider),
81807
81820
  /* harmony export */ ContextRealityModel: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModel),
81808
81821
  /* harmony export */ ContextRealityModelProps: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModelProps),
81809
81822
  /* harmony export */ ContextRealityModels: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.ContextRealityModels),
81810
- /* harmony export */ Contour: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.Contour),
81811
- /* harmony export */ ContourDisplay: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourDisplay),
81812
- /* harmony export */ ContourGroup: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourGroup),
81813
- /* harmony export */ ContourStyle: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__.ContourStyle),
81814
- /* harmony export */ CurrentImdlVersion: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.CurrentImdlVersion),
81823
+ /* harmony export */ Contour: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.Contour),
81824
+ /* harmony export */ ContourDisplay: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourDisplay),
81825
+ /* harmony export */ ContourGroup: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourGroup),
81826
+ /* harmony export */ ContourStyle: () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__.ContourStyle),
81827
+ /* harmony export */ CurrentImdlVersion: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.CurrentImdlVersion),
81815
81828
  /* harmony export */ CutStyle: () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_19__.CutStyle),
81816
81829
  /* harmony export */ DbQueryError: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbQueryError),
81817
81830
  /* harmony export */ DbRequestKind: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbRequestKind),
@@ -81819,8 +81832,8 @@ __webpack_require__.r(__webpack_exports__);
81819
81832
  /* harmony export */ DbResponseStatus: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbResponseStatus),
81820
81833
  /* harmony export */ DbValueFormat: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.DbValueFormat),
81821
81834
  /* harmony export */ DefaultSupportedTypes: () => (/* reexport safe */ _RealityDataAccessProps__WEBPACK_IMPORTED_MODULE_95__.DefaultSupportedTypes),
81822
- /* harmony export */ DevToolsRpcInterface: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__.DevToolsRpcInterface),
81823
- /* harmony export */ DevToolsStatsOptions: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__.DevToolsStatsOptions),
81835
+ /* harmony export */ DevToolsRpcInterface: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__.DevToolsRpcInterface),
81836
+ /* harmony export */ DevToolsStatsOptions: () => (/* reexport safe */ _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__.DevToolsStatsOptions),
81824
81837
  /* harmony export */ DisplayStyle3dSettings: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.DisplayStyle3dSettings),
81825
81838
  /* harmony export */ DisplayStyleSettings: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.DisplayStyleSettings),
81826
81839
  /* harmony export */ DomainOptions: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.DomainOptions),
@@ -81828,9 +81841,9 @@ __webpack_require__.r(__webpack_exports__);
81828
81841
  /* harmony export */ ECSqlReader: () => (/* reexport safe */ _ECSqlReader__WEBPACK_IMPORTED_MODULE_90__.ECSqlReader),
81829
81842
  /* harmony export */ ECSqlSystemProperty: () => (/* reexport safe */ _ECSqlTypes__WEBPACK_IMPORTED_MODULE_29__.ECSqlSystemProperty),
81830
81843
  /* harmony export */ ECSqlValueType: () => (/* reexport safe */ _ECSqlTypes__WEBPACK_IMPORTED_MODULE_29__.ECSqlValueType),
81831
- /* harmony export */ Easing: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Easing),
81844
+ /* harmony export */ Easing: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Easing),
81832
81845
  /* harmony export */ EcefLocation: () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_69__.EcefLocation),
81833
- /* harmony export */ EdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.EdgeArgs),
81846
+ /* harmony export */ EdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.EdgeArgs),
81834
81847
  /* harmony export */ ElementGeometry: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.ElementGeometry),
81835
81848
  /* harmony export */ ElementGeometryChange: () => (/* reexport safe */ _ModelGeometryChanges__WEBPACK_IMPORTED_MODULE_92__.ElementGeometryChange),
81836
81849
  /* harmony export */ ElementGeometryOpcode: () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_48__.ElementGeometryOpcode),
@@ -81847,7 +81860,7 @@ __webpack_require__.r(__webpack_exports__);
81847
81860
  /* harmony export */ FeatureOverrideType: () => (/* reexport safe */ _EmphasizeElementsProps__WEBPACK_IMPORTED_MODULE_32__.FeatureOverrideType),
81848
81861
  /* harmony export */ FeatureOverrides: () => (/* reexport safe */ _FeatureSymbology__WEBPACK_IMPORTED_MODULE_37__.FeatureOverrides),
81849
81862
  /* harmony export */ FeatureTable: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.FeatureTable),
81850
- /* harmony export */ FeatureTableHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.FeatureTableHeader),
81863
+ /* harmony export */ FeatureTableHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.FeatureTableHeader),
81851
81864
  /* harmony export */ FieldRun: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.FieldRun),
81852
81865
  /* harmony export */ FillDisplay: () => (/* reexport safe */ _GeometryParams__WEBPACK_IMPORTED_MODULE_59__.FillDisplay),
81853
81866
  /* harmony export */ FillFlags: () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_62__.FillFlags),
@@ -81872,16 +81885,16 @@ __webpack_require__.r(__webpack_exports__);
81872
81885
  /* harmony export */ GeometryStreamFlags: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.GeometryStreamFlags),
81873
81886
  /* harmony export */ GeometryStreamIterator: () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_52__.GeometryStreamIterator),
81874
81887
  /* harmony export */ GeometrySummaryVerbosity: () => (/* reexport safe */ _GeometrySummary__WEBPACK_IMPORTED_MODULE_60__.GeometrySummaryVerbosity),
81875
- /* harmony export */ GlbHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GlbHeader),
81888
+ /* harmony export */ GlbHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GlbHeader),
81876
81889
  /* harmony export */ GlobeMode: () => (/* reexport safe */ _BackgroundMapSettings__WEBPACK_IMPORTED_MODULE_11__.GlobeMode),
81877
- /* harmony export */ GltfHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfHeader),
81878
- /* harmony export */ GltfV2ChunkTypes: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfV2ChunkTypes),
81879
- /* harmony export */ GltfVersions: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__.GltfVersions),
81890
+ /* harmony export */ GltfHeader: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfHeader),
81891
+ /* harmony export */ GltfV2ChunkTypes: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfV2ChunkTypes),
81892
+ /* harmony export */ GltfVersions: () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__.GltfVersions),
81880
81893
  /* harmony export */ Gradient: () => (/* reexport safe */ _Gradient__WEBPACK_IMPORTED_MODULE_61__.Gradient),
81881
81894
  /* harmony export */ GraphicParams: () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_62__.GraphicParams),
81882
81895
  /* harmony export */ GridFileDefinition: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.GridFileDefinition),
81883
81896
  /* harmony export */ GridFileTransform: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.GridFileTransform),
81884
- /* harmony export */ GridOrientationType: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.GridOrientationType),
81897
+ /* harmony export */ GridOrientationType: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.GridOrientationType),
81885
81898
  /* harmony export */ GroundPlane: () => (/* reexport safe */ _GroundPlane__WEBPACK_IMPORTED_MODULE_63__.GroundPlane),
81886
81899
  /* harmony export */ HSLColor: () => (/* reexport safe */ _HSLColor__WEBPACK_IMPORTED_MODULE_66__.HSLColor),
81887
81900
  /* harmony export */ HSVColor: () => (/* reexport safe */ _HSVColor__WEBPACK_IMPORTED_MODULE_67__.HSVColor),
@@ -81892,14 +81905,14 @@ __webpack_require__.r(__webpack_exports__);
81892
81905
  /* harmony export */ Hilite: () => (/* reexport safe */ _Hilite__WEBPACK_IMPORTED_MODULE_65__.Hilite),
81893
81906
  /* harmony export */ HorizontalCRS: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.HorizontalCRS),
81894
81907
  /* harmony export */ HorizontalCRSExtent: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.HorizontalCRSExtent),
81895
- /* harmony export */ I3dmHeader: () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_154__.I3dmHeader),
81908
+ /* harmony export */ I3dmHeader: () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_155__.I3dmHeader),
81896
81909
  /* harmony export */ IModel: () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_69__.IModel),
81897
81910
  /* harmony export */ IModelError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.IModelError),
81898
- /* harmony export */ IModelNotFoundResponse: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__.IModelNotFoundResponse),
81899
- /* harmony export */ IModelReadRpcInterface: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__.IModelReadRpcInterface),
81900
- /* harmony export */ IModelTileRpcInterface: () => (/* reexport safe */ _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelTileRpcInterface),
81911
+ /* harmony export */ IModelNotFoundResponse: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelNotFoundResponse),
81912
+ /* harmony export */ IModelReadRpcInterface: () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__.IModelReadRpcInterface),
81913
+ /* harmony export */ IModelTileRpcInterface: () => (/* reexport safe */ _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_140__.IModelTileRpcInterface),
81901
81914
  /* harmony export */ IModelVersion: () => (/* reexport safe */ _IModelVersion__WEBPACK_IMPORTED_MODULE_71__.IModelVersion),
81902
- /* harmony export */ INSTANCE: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.INSTANCE),
81915
+ /* harmony export */ INSTANCE: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.INSTANCE),
81903
81916
  /* harmony export */ ImageBuffer: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageBuffer),
81904
81917
  /* harmony export */ ImageBufferFormat: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageBufferFormat),
81905
81918
  /* harmony export */ ImageGraphic: () => (/* reexport safe */ _geometry_ImageGraphic__WEBPACK_IMPORTED_MODULE_53__.ImageGraphic),
@@ -81907,10 +81920,10 @@ __webpack_require__.r(__webpack_exports__);
81907
81920
  /* harmony export */ ImageMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ImageMapLayerSettings),
81908
81921
  /* harmony export */ ImageSource: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageSource),
81909
81922
  /* harmony export */ ImageSourceFormat: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.ImageSourceFormat),
81910
- /* harmony export */ ImdlFlags: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.ImdlFlags),
81911
- /* harmony export */ ImdlHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__.ImdlHeader),
81923
+ /* harmony export */ ImdlFlags: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.ImdlFlags),
81924
+ /* harmony export */ ImdlHeader: () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__.ImdlHeader),
81912
81925
  /* harmony export */ InternetConnectivityStatus: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.InternetConnectivityStatus),
81913
- /* harmony export */ Interpolation: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Interpolation),
81926
+ /* harmony export */ Interpolation: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Interpolation),
81914
81927
  /* harmony export */ IpcSession: () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_76__.IpcSession),
81915
81928
  /* harmony export */ IpcWebSocket: () => (/* reexport safe */ _ipc_IpcWebSocket__WEBPACK_IMPORTED_MODULE_74__.IpcWebSocket),
81916
81929
  /* harmony export */ IpcWebSocketBackend: () => (/* reexport safe */ _ipc_IpcWebSocket__WEBPACK_IMPORTED_MODULE_74__.IpcWebSocketBackend),
@@ -81928,11 +81941,11 @@ __webpack_require__.r(__webpack_exports__);
81928
81941
  /* harmony export */ MapImagerySettings: () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_81__.MapImagerySettings),
81929
81942
  /* harmony export */ MapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.MapLayerSettings),
81930
81943
  /* harmony export */ MapSubLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.MapSubLayerSettings),
81931
- /* harmony export */ MarshalingBinaryMarker: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.MarshalingBinaryMarker),
81944
+ /* harmony export */ MarshalingBinaryMarker: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.MarshalingBinaryMarker),
81932
81945
  /* harmony export */ MassPropertiesOperation: () => (/* reexport safe */ _MassProperties__WEBPACK_IMPORTED_MODULE_83__.MassPropertiesOperation),
81933
- /* harmony export */ MeshEdge: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshEdge),
81934
- /* harmony export */ MeshEdges: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshEdges),
81935
- /* harmony export */ MeshPolyline: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MeshPolyline),
81946
+ /* harmony export */ MeshEdge: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshEdge),
81947
+ /* harmony export */ MeshEdges: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshEdges),
81948
+ /* harmony export */ MeshPolyline: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MeshPolyline),
81936
81949
  /* harmony export */ ModelClipGroup: () => (/* reexport safe */ _ModelClipGroup__WEBPACK_IMPORTED_MODULE_85__.ModelClipGroup),
81937
81950
  /* harmony export */ ModelClipGroups: () => (/* reexport safe */ _ModelClipGroup__WEBPACK_IMPORTED_MODULE_85__.ModelClipGroups),
81938
81951
  /* harmony export */ ModelFeature: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.ModelFeature),
@@ -81940,21 +81953,21 @@ __webpack_require__.r(__webpack_exports__);
81940
81953
  /* harmony export */ ModelMapLayerDrapeTarget: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ModelMapLayerDrapeTarget),
81941
81954
  /* harmony export */ ModelMapLayerSettings: () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_82__.ModelMapLayerSettings),
81942
81955
  /* harmony export */ MonochromeMode: () => (/* reexport safe */ _DisplayStyleSettings__WEBPACK_IMPORTED_MODULE_25__.MonochromeMode),
81943
- /* harmony export */ MultiModelPackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.MultiModelPackedFeatureTable),
81956
+ /* harmony export */ MultiModelPackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.MultiModelPackedFeatureTable),
81944
81957
  /* harmony export */ NoContentError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.NoContentError),
81945
81958
  /* harmony export */ NonUniformColor: () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_36__.NonUniformColor),
81946
81959
  /* harmony export */ NormalMapFlags: () => (/* reexport safe */ _MaterialProps__WEBPACK_IMPORTED_MODULE_84__.NormalMapFlags),
81947
81960
  /* harmony export */ Npc: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.Npc),
81948
81961
  /* harmony export */ NpcCenter: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.NpcCenter),
81949
81962
  /* harmony export */ NpcCorners: () => (/* reexport safe */ _Frustum__WEBPACK_IMPORTED_MODULE_40__.NpcCorners),
81950
- /* harmony export */ OPERATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.OPERATION),
81963
+ /* harmony export */ OPERATION: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.OPERATION),
81951
81964
  /* harmony export */ OctEncodedNormal: () => (/* reexport safe */ _OctEncodedNormal__WEBPACK_IMPORTED_MODULE_88__.OctEncodedNormal),
81952
81965
  /* harmony export */ OctEncodedNormalPair: () => (/* reexport safe */ _OctEncodedNormal__WEBPACK_IMPORTED_MODULE_88__.OctEncodedNormalPair),
81953
81966
  /* harmony export */ OverriddenBy: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.OverriddenBy),
81954
- /* harmony export */ POLICY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.POLICY),
81967
+ /* harmony export */ POLICY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.POLICY),
81955
81968
  /* harmony export */ PackedFeature: () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_38__.PackedFeature),
81956
- /* harmony export */ PackedFeatureModelTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PackedFeatureModelTable),
81957
- /* harmony export */ PackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PackedFeatureTable),
81969
+ /* harmony export */ PackedFeatureModelTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PackedFeatureModelTable),
81970
+ /* harmony export */ PackedFeatureTable: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PackedFeatureTable),
81958
81971
  /* harmony export */ Paragraph: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.Paragraph),
81959
81972
  /* harmony export */ Placement2d: () => (/* reexport safe */ _geometry_Placement__WEBPACK_IMPORTED_MODULE_55__.Placement2d),
81960
81973
  /* harmony export */ Placement3d: () => (/* reexport safe */ _geometry_Placement__WEBPACK_IMPORTED_MODULE_55__.Placement3d),
@@ -81962,9 +81975,9 @@ __webpack_require__.r(__webpack_exports__);
81962
81975
  /* harmony export */ PlanarClipMaskMode: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskMode),
81963
81976
  /* harmony export */ PlanarClipMaskPriority: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskPriority),
81964
81977
  /* harmony export */ PlanarClipMaskSettings: () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_91__.PlanarClipMaskSettings),
81965
- /* harmony export */ PntsHeader: () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_156__.PntsHeader),
81978
+ /* harmony export */ PntsHeader: () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_157__.PntsHeader),
81966
81979
  /* harmony export */ PointCloudDisplaySettings: () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_96__.PointCloudDisplaySettings),
81967
- /* harmony export */ PolylineEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.PolylineEdgeArgs),
81980
+ /* harmony export */ PolylineEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.PolylineEdgeArgs),
81968
81981
  /* harmony export */ PolylineTypeFlags: () => (/* reexport safe */ _RenderPolyline__WEBPACK_IMPORTED_MODULE_97__.PolylineTypeFlags),
81969
81982
  /* harmony export */ PositionalVectorTransform: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.PositionalVectorTransform),
81970
81983
  /* harmony export */ PrimitiveTypeCode: () => (/* reexport safe */ _EntityProps__WEBPACK_IMPORTED_MODULE_33__.PrimitiveTypeCode),
@@ -81987,7 +82000,7 @@ __webpack_require__.r(__webpack_exports__);
81987
82000
  /* harmony export */ QueryOptionsBuilder: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryOptionsBuilder),
81988
82001
  /* harmony export */ QueryParamType: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryParamType),
81989
82002
  /* harmony export */ QueryRowFormat: () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_89__.QueryRowFormat),
81990
- /* harmony export */ REGISTRY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.REGISTRY),
82003
+ /* harmony export */ REGISTRY: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.REGISTRY),
81991
82004
  /* harmony export */ Rank: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.Rank),
81992
82005
  /* harmony export */ RealityDataFormat: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.RealityDataFormat),
81993
82006
  /* harmony export */ RealityDataProvider: () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_24__.RealityDataProvider),
@@ -81995,62 +82008,62 @@ __webpack_require__.r(__webpack_exports__);
81995
82008
  /* harmony export */ RealityModelDisplaySettings: () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_96__.RealityModelDisplaySettings),
81996
82009
  /* harmony export */ RelatedElement: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.RelatedElement),
81997
82010
  /* harmony export */ RenderMaterial: () => (/* reexport safe */ _RenderMaterial__WEBPACK_IMPORTED_MODULE_98__.RenderMaterial),
81998
- /* harmony export */ RenderMaterialParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.RenderMaterialParams),
81999
- /* harmony export */ RenderMode: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_121__.RenderMode),
82011
+ /* harmony export */ RenderMaterialParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.RenderMaterialParams),
82012
+ /* harmony export */ RenderMode: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_122__.RenderMode),
82000
82013
  /* harmony export */ RenderSchedule: () => (/* reexport safe */ _RenderSchedule__WEBPACK_IMPORTED_MODULE_99__.RenderSchedule),
82001
82014
  /* harmony export */ RenderTexture: () => (/* reexport safe */ _RenderTexture__WEBPACK_IMPORTED_MODULE_100__.RenderTexture),
82002
- /* harmony export */ RenderTextureParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.RenderTextureParams),
82003
- /* harmony export */ ResponseLike: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.ResponseLike),
82015
+ /* harmony export */ RenderTextureParams: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.RenderTextureParams),
82016
+ /* harmony export */ ResponseLike: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.ResponseLike),
82004
82017
  /* harmony export */ RgbColor: () => (/* reexport safe */ _RgbColor__WEBPACK_IMPORTED_MODULE_101__.RgbColor),
82005
- /* harmony export */ RpcConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcConfiguration),
82006
- /* harmony export */ RpcContentType: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcContentType),
82007
- /* harmony export */ RpcControlChannel: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcControlChannel),
82008
- /* harmony export */ RpcControlResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcControlResponse),
82009
- /* harmony export */ RpcDefaultConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDefaultConfiguration),
82010
- /* harmony export */ RpcDirectProtocol: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDirectProtocol),
82011
- /* harmony export */ RpcDirectRequest: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcDirectRequest),
82012
- /* harmony export */ RpcEndpoint: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcEndpoint),
82013
- /* harmony export */ RpcInterface: () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_142__.RpcInterface),
82014
- /* harmony export */ RpcInvocation: () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_125__.RpcInvocation),
82018
+ /* harmony export */ RpcConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcConfiguration),
82019
+ /* harmony export */ RpcContentType: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcContentType),
82020
+ /* harmony export */ RpcControlChannel: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcControlChannel),
82021
+ /* harmony export */ RpcControlResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcControlResponse),
82022
+ /* harmony export */ RpcDefaultConfiguration: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDefaultConfiguration),
82023
+ /* harmony export */ RpcDirectProtocol: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDirectProtocol),
82024
+ /* harmony export */ RpcDirectRequest: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcDirectRequest),
82025
+ /* harmony export */ RpcEndpoint: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcEndpoint),
82026
+ /* harmony export */ RpcInterface: () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_143__.RpcInterface),
82027
+ /* harmony export */ RpcInvocation: () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_126__.RpcInvocation),
82015
82028
  /* harmony export */ RpcManager: () => (/* reexport safe */ _RpcManager__WEBPACK_IMPORTED_MODULE_102__.RpcManager),
82016
- /* harmony export */ RpcMarshaling: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.RpcMarshaling),
82017
- /* harmony export */ RpcMultipart: () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_146__.RpcMultipart),
82018
- /* harmony export */ RpcNotFoundResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcNotFoundResponse),
82019
- /* harmony export */ RpcOpenAPIDescription: () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_145__.RpcOpenAPIDescription),
82020
- /* harmony export */ RpcOperation: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__.RpcOperation),
82021
- /* harmony export */ RpcOperationPolicy: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__.RpcOperationPolicy),
82022
- /* harmony export */ RpcPendingQueue: () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_129__.RpcPendingQueue),
82023
- /* harmony export */ RpcPendingResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__.RpcPendingResponse),
82024
- /* harmony export */ RpcProtocol: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcProtocol),
82025
- /* harmony export */ RpcProtocolEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcProtocolEvent),
82026
- /* harmony export */ RpcProtocolVersion: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcProtocolVersion),
82027
- /* harmony export */ RpcPushChannel: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushChannel),
82028
- /* harmony export */ RpcPushConnection: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushConnection),
82029
- /* harmony export */ RpcPushService: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushService),
82030
- /* harmony export */ RpcPushSubscription: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushSubscription),
82031
- /* harmony export */ RpcPushTransport: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__.RpcPushTransport),
82032
- /* harmony export */ RpcRegistry: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__.RpcRegistry),
82033
- /* harmony export */ RpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.RpcRequest),
82034
- /* harmony export */ RpcRequestEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcRequestEvent),
82035
- /* harmony export */ RpcRequestFulfillment: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__.RpcRequestFulfillment),
82036
- /* harmony export */ RpcRequestStatus: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcRequestStatus),
82037
- /* harmony export */ RpcResponseCacheControl: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.RpcResponseCacheControl),
82038
- /* harmony export */ RpcRoutingMap: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__.RpcRoutingMap),
82039
- /* harmony export */ RpcRoutingToken: () => (/* reexport safe */ _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_134__.RpcRoutingToken),
82040
- /* harmony export */ RpcSerializedValue: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__.RpcSerializedValue),
82041
- /* harmony export */ RpcSessionInvocation: () => (/* reexport safe */ _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_126__.RpcSessionInvocation),
82029
+ /* harmony export */ RpcMarshaling: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.RpcMarshaling),
82030
+ /* harmony export */ RpcMultipart: () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_147__.RpcMultipart),
82031
+ /* harmony export */ RpcNotFoundResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcNotFoundResponse),
82032
+ /* harmony export */ RpcOpenAPIDescription: () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_146__.RpcOpenAPIDescription),
82033
+ /* harmony export */ RpcOperation: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__.RpcOperation),
82034
+ /* harmony export */ RpcOperationPolicy: () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__.RpcOperationPolicy),
82035
+ /* harmony export */ RpcPendingQueue: () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_130__.RpcPendingQueue),
82036
+ /* harmony export */ RpcPendingResponse: () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__.RpcPendingResponse),
82037
+ /* harmony export */ RpcProtocol: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcProtocol),
82038
+ /* harmony export */ RpcProtocolEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcProtocolEvent),
82039
+ /* harmony export */ RpcProtocolVersion: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcProtocolVersion),
82040
+ /* harmony export */ RpcPushChannel: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushChannel),
82041
+ /* harmony export */ RpcPushConnection: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushConnection),
82042
+ /* harmony export */ RpcPushService: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushService),
82043
+ /* harmony export */ RpcPushSubscription: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushSubscription),
82044
+ /* harmony export */ RpcPushTransport: () => (/* reexport safe */ _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__.RpcPushTransport),
82045
+ /* harmony export */ RpcRegistry: () => (/* reexport safe */ _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__.RpcRegistry),
82046
+ /* harmony export */ RpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.RpcRequest),
82047
+ /* harmony export */ RpcRequestEvent: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcRequestEvent),
82048
+ /* harmony export */ RpcRequestFulfillment: () => (/* reexport safe */ _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__.RpcRequestFulfillment),
82049
+ /* harmony export */ RpcRequestStatus: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcRequestStatus),
82050
+ /* harmony export */ RpcResponseCacheControl: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.RpcResponseCacheControl),
82051
+ /* harmony export */ RpcRoutingMap: () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__.RpcRoutingMap),
82052
+ /* harmony export */ RpcRoutingToken: () => (/* reexport safe */ _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_135__.RpcRoutingToken),
82053
+ /* harmony export */ RpcSerializedValue: () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__.RpcSerializedValue),
82054
+ /* harmony export */ RpcSessionInvocation: () => (/* reexport safe */ _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_127__.RpcSessionInvocation),
82042
82055
  /* harmony export */ Run: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.Run),
82043
82056
  /* harmony export */ SchemaState: () => (/* reexport safe */ _BriefcaseTypes__WEBPACK_IMPORTED_MODULE_13__.SchemaState),
82044
82057
  /* harmony export */ SectionType: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.SectionType),
82045
82058
  /* harmony export */ ServerError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ServerError),
82046
82059
  /* harmony export */ ServerTimeoutError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_70__.ServerTimeoutError),
82047
- /* harmony export */ SilhouetteEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.SilhouetteEdgeArgs),
82060
+ /* harmony export */ SilhouetteEdgeArgs: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.SilhouetteEdgeArgs),
82048
82061
  /* harmony export */ SkyBox: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyBox),
82049
82062
  /* harmony export */ SkyBoxImageType: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyBoxImageType),
82050
82063
  /* harmony export */ SkyCube: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyCube),
82051
82064
  /* harmony export */ SkyGradient: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkyGradient),
82052
82065
  /* harmony export */ SkySphere: () => (/* reexport safe */ _SkyBox__WEBPACK_IMPORTED_MODULE_104__.SkySphere),
82053
- /* harmony export */ SnapshotIModelRpcInterface: () => (/* reexport safe */ _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_140__.SnapshotIModelRpcInterface),
82066
+ /* harmony export */ SnapshotIModelRpcInterface: () => (/* reexport safe */ _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_141__.SnapshotIModelRpcInterface),
82054
82067
  /* harmony export */ SolarLight: () => (/* reexport safe */ _LightSettings__WEBPACK_IMPORTED_MODULE_78__.SolarLight),
82055
82068
  /* harmony export */ SolarShadowSettings: () => (/* reexport safe */ _SolarShadows__WEBPACK_IMPORTED_MODULE_106__.SolarShadowSettings),
82056
82069
  /* harmony export */ SpatialClassifier: () => (/* reexport safe */ _SpatialClassification__WEBPACK_IMPORTED_MODULE_107__.SpatialClassifier),
@@ -82065,7 +82078,7 @@ __webpack_require__.r(__webpack_exports__);
82065
82078
  /* harmony export */ TabRun: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TabRun),
82066
82079
  /* harmony export */ TerrainHeightOriginMode: () => (/* reexport safe */ _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__.TerrainHeightOriginMode),
82067
82080
  /* harmony export */ TerrainSettings: () => (/* reexport safe */ _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__.TerrainSettings),
82068
- /* harmony export */ TestRpcManager: () => (/* reexport safe */ _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_141__.TestRpcManager),
82081
+ /* harmony export */ TestRpcManager: () => (/* reexport safe */ _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_142__.TestRpcManager),
82069
82082
  /* harmony export */ TextAnnotation: () => (/* reexport safe */ _annotation_TextAnnotation__WEBPACK_IMPORTED_MODULE_2__.TextAnnotation),
82070
82083
  /* harmony export */ TextBlock: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TextBlock),
82071
82084
  /* harmony export */ TextBlockComponent: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.TextBlockComponent),
@@ -82075,65 +82088,65 @@ __webpack_require__.r(__webpack_exports__);
82075
82088
  /* harmony export */ TextureMapUnits: () => (/* reexport safe */ _MaterialProps__WEBPACK_IMPORTED_MODULE_84__.TextureMapUnits),
82076
82089
  /* harmony export */ TextureMapping: () => (/* reexport safe */ _TextureMapping__WEBPACK_IMPORTED_MODULE_112__.TextureMapping),
82077
82090
  /* harmony export */ TextureTransparency: () => (/* reexport safe */ _TextureProps__WEBPACK_IMPORTED_MODULE_113__.TextureTransparency),
82078
- /* harmony export */ ThematicDisplay: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplay),
82079
- /* harmony export */ ThematicDisplayMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplayMode),
82080
- /* harmony export */ ThematicDisplaySensor: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplaySensor),
82081
- /* harmony export */ ThematicDisplaySensorSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicDisplaySensorSettings),
82082
- /* harmony export */ ThematicGradientColorScheme: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientColorScheme),
82083
- /* harmony export */ ThematicGradientMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientMode),
82084
- /* harmony export */ ThematicGradientSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientSettings),
82085
- /* harmony export */ ThematicGradientTransparencyMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__.ThematicGradientTransparencyMode),
82086
- /* harmony export */ TileContentSource: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_117__.TileContentSource),
82087
- /* harmony export */ TileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileFormat),
82088
- /* harmony export */ TileHeader: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileHeader),
82089
- /* harmony export */ TileMetadataReader: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TileMetadataReader),
82090
- /* harmony export */ TileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TileOptions),
82091
- /* harmony export */ TileReadError: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileReadError),
82092
- /* harmony export */ TileReadStatus: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.TileReadStatus),
82093
- /* harmony export */ TreeFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.TreeFlags),
82094
- /* harmony export */ Tween: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Tween),
82095
- /* harmony export */ Tweens: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_118__.Tweens),
82096
- /* harmony export */ TxnAction: () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_119__.TxnAction),
82091
+ /* harmony export */ ThematicDisplay: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplay),
82092
+ /* harmony export */ ThematicDisplayMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplayMode),
82093
+ /* harmony export */ ThematicDisplaySensor: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplaySensor),
82094
+ /* harmony export */ ThematicDisplaySensorSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicDisplaySensorSettings),
82095
+ /* harmony export */ ThematicGradientColorScheme: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientColorScheme),
82096
+ /* harmony export */ ThematicGradientMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientMode),
82097
+ /* harmony export */ ThematicGradientSettings: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientSettings),
82098
+ /* harmony export */ ThematicGradientTransparencyMode: () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__.ThematicGradientTransparencyMode),
82099
+ /* harmony export */ TileContentSource: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_118__.TileContentSource),
82100
+ /* harmony export */ TileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileFormat),
82101
+ /* harmony export */ TileHeader: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileHeader),
82102
+ /* harmony export */ TileMetadataReader: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TileMetadataReader),
82103
+ /* harmony export */ TileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TileOptions),
82104
+ /* harmony export */ TileReadError: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileReadError),
82105
+ /* harmony export */ TileReadStatus: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.TileReadStatus),
82106
+ /* harmony export */ TreeFlags: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.TreeFlags),
82107
+ /* harmony export */ Tween: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Tween),
82108
+ /* harmony export */ Tweens: () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_119__.Tweens),
82109
+ /* harmony export */ TxnAction: () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_120__.TxnAction),
82097
82110
  /* harmony export */ TypeDefinition: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.TypeDefinition),
82098
82111
  /* harmony export */ TypeOfChange: () => (/* reexport safe */ _ChangedElements__WEBPACK_IMPORTED_MODULE_16__.TypeOfChange),
82099
82112
  /* harmony export */ VerticalCRS: () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_47__.VerticalCRS),
82100
- /* harmony export */ ViewDetails: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.ViewDetails),
82101
- /* harmony export */ ViewDetails3d: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_120__.ViewDetails3d),
82102
- /* harmony export */ ViewFlags: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_121__.ViewFlags),
82113
+ /* harmony export */ ViewDetails: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.ViewDetails),
82114
+ /* harmony export */ ViewDetails3d: () => (/* reexport safe */ _ViewDetails__WEBPACK_IMPORTED_MODULE_121__.ViewDetails3d),
82115
+ /* harmony export */ ViewFlags: () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_122__.ViewFlags),
82103
82116
  /* harmony export */ ViewStoreError: () => (/* reexport safe */ _ITwinCoreErrors__WEBPACK_IMPORTED_MODULE_72__.ViewStoreError),
82104
- /* harmony export */ ViewStoreRpc: () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_122__.ViewStoreRpc),
82105
- /* harmony export */ WEB_RPC_CONSTANTS: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__.WEB_RPC_CONSTANTS),
82106
- /* harmony export */ WebAppRpcLogging: () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_149__.WebAppRpcLogging),
82107
- /* harmony export */ WebAppRpcProtocol: () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_147__.WebAppRpcProtocol),
82108
- /* harmony export */ WebAppRpcRequest: () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_148__.WebAppRpcRequest),
82109
- /* harmony export */ WhiteOnWhiteReversalSettings: () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_160__.WhiteOnWhiteReversalSettings),
82117
+ /* harmony export */ ViewStoreRpc: () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_123__.ViewStoreRpc),
82118
+ /* harmony export */ WEB_RPC_CONSTANTS: () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__.WEB_RPC_CONSTANTS),
82119
+ /* harmony export */ WebAppRpcLogging: () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_150__.WebAppRpcLogging),
82120
+ /* harmony export */ WebAppRpcProtocol: () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_148__.WebAppRpcProtocol),
82121
+ /* harmony export */ WebAppRpcRequest: () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_149__.WebAppRpcRequest),
82122
+ /* harmony export */ WhiteOnWhiteReversalSettings: () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_161__.WhiteOnWhiteReversalSettings),
82110
82123
  /* harmony export */ WorkspaceError: () => (/* reexport safe */ _ITwinCoreErrors__WEBPACK_IMPORTED_MODULE_72__.WorkspaceError),
82111
82124
  /* harmony export */ XyzRotation: () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_50__.XyzRotation),
82112
- /* harmony export */ aggregateLoad: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.aggregateLoad),
82113
- /* harmony export */ bisectTileRange2d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.bisectTileRange2d),
82114
- /* harmony export */ bisectTileRange3d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.bisectTileRange3d),
82125
+ /* harmony export */ aggregateLoad: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.aggregateLoad),
82126
+ /* harmony export */ bisectTileRange2d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.bisectTileRange2d),
82127
+ /* harmony export */ bisectTileRange3d: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.bisectTileRange3d),
82115
82128
  /* harmony export */ calculateSolarAngles: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarAngles),
82116
82129
  /* harmony export */ calculateSolarDirection: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarDirection),
82117
82130
  /* harmony export */ calculateSolarDirectionFromAngles: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSolarDirectionFromAngles),
82118
82131
  /* harmony export */ calculateSunriseOrSunset: () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_105__.calculateSunriseOrSunset),
82119
- /* harmony export */ compareIModelTileTreeIds: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.compareIModelTileTreeIds),
82120
- /* harmony export */ computeChildTileProps: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeChildTileProps),
82121
- /* harmony export */ computeChildTileRanges: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeChildTileRanges),
82122
- /* harmony export */ computeTileChordTolerance: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.computeTileChordTolerance),
82123
- /* harmony export */ decodeTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.decodeTileContentDescription),
82124
- /* harmony export */ defaultTileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.defaultTileOptions),
82125
- /* harmony export */ formatFieldValue: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.formatFieldValue),
82132
+ /* harmony export */ compareIModelTileTreeIds: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.compareIModelTileTreeIds),
82133
+ /* harmony export */ computeChildTileProps: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeChildTileProps),
82134
+ /* harmony export */ computeChildTileRanges: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeChildTileRanges),
82135
+ /* harmony export */ computeTileChordTolerance: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.computeTileChordTolerance),
82136
+ /* harmony export */ decodeTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.decodeTileContentDescription),
82137
+ /* harmony export */ defaultTileOptions: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.defaultTileOptions),
82138
+ /* harmony export */ formatFieldValue: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.formatFieldValue),
82126
82139
  /* harmony export */ getMarkerText: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.getMarkerText),
82127
- /* harmony export */ getMaximumMajorTileFormatVersion: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.getMaximumMajorTileFormatVersion),
82140
+ /* harmony export */ getMaximumMajorTileFormatVersion: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.getMaximumMajorTileFormatVersion),
82128
82141
  /* harmony export */ getPullChangesIpcChannel: () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_77__.getPullChangesIpcChannel),
82129
- /* harmony export */ getTileObjectReference: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_117__.getTileObjectReference),
82130
- /* harmony export */ iModelTileTreeIdToString: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.iModelTileTreeIdToString),
82142
+ /* harmony export */ getTileObjectReference: () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_118__.getTileObjectReference),
82143
+ /* harmony export */ iModelTileTreeIdToString: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.iModelTileTreeIdToString),
82131
82144
  /* harmony export */ iTwinChannel: () => (/* reexport safe */ _ipc_IpcSocket__WEBPACK_IMPORTED_MODULE_73__.iTwinChannel),
82132
- /* harmony export */ initializeRpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__.initializeRpcRequest),
82145
+ /* harmony export */ initializeRpcRequest: () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__.initializeRpcRequest),
82133
82146
  /* harmony export */ ipcAppChannels: () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_77__.ipcAppChannels),
82134
82147
  /* harmony export */ isBinaryImageSource: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.isBinaryImageSource),
82135
- /* harmony export */ isKnownFieldPropertyType: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__.isKnownFieldPropertyType),
82136
- /* harmony export */ isKnownTileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.isKnownTileFormat),
82148
+ /* harmony export */ isKnownFieldPropertyType: () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__.isKnownFieldPropertyType),
82149
+ /* harmony export */ isKnownTileFormat: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.isKnownTileFormat),
82137
82150
  /* harmony export */ isPlacement2dProps: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.isPlacement2dProps),
82138
82151
  /* harmony export */ isPlacement3dProps: () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_31__.isPlacement3dProps),
82139
82152
  /* harmony export */ isPowerOfTwo: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.isPowerOfTwo),
@@ -82141,14 +82154,14 @@ __webpack_require__.r(__webpack_exports__);
82141
82154
  /* harmony export */ mapToGeoServiceStatus: () => (/* reexport safe */ _GeoCoordinateServices__WEBPACK_IMPORTED_MODULE_42__.mapToGeoServiceStatus),
82142
82155
  /* harmony export */ nativeAppIpcStrings: () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_87__.nativeAppIpcStrings),
82143
82156
  /* harmony export */ nextHighestPowerOfTwo: () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_68__.nextHighestPowerOfTwo),
82144
- /* harmony export */ nextPoint3d64FromByteStream: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.nextPoint3d64FromByteStream),
82145
- /* harmony export */ parseTileTreeIdAndContentId: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.parseTileTreeIdAndContentId),
82157
+ /* harmony export */ nextPoint3d64FromByteStream: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.nextPoint3d64FromByteStream),
82158
+ /* harmony export */ parseTileTreeIdAndContentId: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.parseTileTreeIdAndContentId),
82146
82159
  /* harmony export */ readElementMeshes: () => (/* reexport safe */ _ElementMesh__WEBPACK_IMPORTED_MODULE_30__.readElementMeshes),
82147
- /* harmony export */ readTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__.readTileContentDescription),
82160
+ /* harmony export */ readTileContentDescription: () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__.readTileContentDescription),
82148
82161
  /* harmony export */ rpcOverIpcStrings: () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_76__.rpcOverIpcStrings),
82149
82162
  /* harmony export */ terminatorShapes: () => (/* reexport safe */ _annotation_TextStyle__WEBPACK_IMPORTED_MODULE_7__.terminatorShapes),
82150
82163
  /* harmony export */ textAnnotationFrameShapes: () => (/* reexport safe */ _annotation_TextStyle__WEBPACK_IMPORTED_MODULE_7__.textAnnotationFrameShapes),
82151
- /* harmony export */ tileFormatFromNumber: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__.tileFormatFromNumber),
82164
+ /* harmony export */ tileFormatFromNumber: () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__.tileFormatFromNumber),
82152
82165
  /* harmony export */ traverseTextBlockComponent: () => (/* reexport safe */ _annotation_TextBlock__WEBPACK_IMPORTED_MODULE_3__.traverseTextBlockComponent)
82153
82166
  /* harmony export */ });
82154
82167
  /* harmony import */ var _AmbientOcclusion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AmbientOcclusion */ "../../core/common/lib/esm/AmbientOcclusion.js");
@@ -82265,54 +82278,55 @@ __webpack_require__.r(__webpack_exports__);
82265
82278
  /* harmony import */ var _TerrainSettings__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./TerrainSettings */ "../../core/common/lib/esm/TerrainSettings.js");
82266
82279
  /* harmony import */ var _TextureMapping__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./TextureMapping */ "../../core/common/lib/esm/TextureMapping.js");
82267
82280
  /* harmony import */ var _TextureProps__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./TextureProps */ "../../core/common/lib/esm/TextureProps.js");
82268
- /* harmony import */ var _ThematicDisplay__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./ThematicDisplay */ "../../core/common/lib/esm/ThematicDisplay.js");
82269
- /* harmony import */ var _ContourDisplay__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./ContourDisplay */ "../../core/common/lib/esm/ContourDisplay.js");
82270
- /* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./Thumbnail */ "../../core/common/lib/esm/Thumbnail.js");
82271
- /* harmony import */ var _TileProps__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./TileProps */ "../../core/common/lib/esm/TileProps.js");
82272
- /* harmony import */ var _Tween__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./Tween */ "../../core/common/lib/esm/Tween.js");
82273
- /* harmony import */ var _TxnAction__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./TxnAction */ "../../core/common/lib/esm/TxnAction.js");
82274
- /* harmony import */ var _ViewDetails__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./ViewDetails */ "../../core/common/lib/esm/ViewDetails.js");
82275
- /* harmony import */ var _ViewFlags__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./ViewFlags */ "../../core/common/lib/esm/ViewFlags.js");
82276
- /* harmony import */ var _ViewProps__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewProps */ "../../core/common/lib/esm/ViewProps.js");
82277
- /* harmony import */ var _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./rpc/core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
82278
- /* harmony import */ var _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./rpc/core/RpcControl */ "../../core/common/lib/esm/rpc/core/RpcControl.js");
82279
- /* harmony import */ var _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./rpc/core/RpcInvocation */ "../../core/common/lib/esm/rpc/core/RpcInvocation.js");
82280
- /* harmony import */ var _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./rpc/core/RpcSessionInvocation */ "../../core/common/lib/esm/rpc/core/RpcSessionInvocation.js");
82281
- /* harmony import */ var _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./rpc/core/RpcMarshaling */ "../../core/common/lib/esm/rpc/core/RpcMarshaling.js");
82282
- /* harmony import */ var _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./rpc/core/RpcOperation */ "../../core/common/lib/esm/rpc/core/RpcOperation.js");
82283
- /* harmony import */ var _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./rpc/core/RpcPendingQueue */ "../../core/common/lib/esm/rpc/core/RpcPendingQueue.js");
82284
- /* harmony import */ var _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./rpc/core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
82285
- /* harmony import */ var _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./rpc/core/RpcRegistry */ "../../core/common/lib/esm/rpc/core/RpcRegistry.js");
82286
- /* harmony import */ var _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./rpc/core/RpcRequest */ "../../core/common/lib/esm/rpc/core/RpcRequest.js");
82287
- /* harmony import */ var _rpc_core_RpcRequestContext__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./rpc/core/RpcRequestContext */ "../../core/common/lib/esm/rpc/core/RpcRequestContext.js");
82288
- /* harmony import */ var _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./rpc/core/RpcRoutingToken */ "../../core/common/lib/esm/rpc/core/RpcRoutingToken.js");
82289
- /* harmony import */ var _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./rpc/core/RpcPush */ "../../core/common/lib/esm/rpc/core/RpcPush.js");
82290
- /* harmony import */ var _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./rpc/core/RpcConfiguration */ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js");
82291
- /* harmony import */ var _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/DevToolsRpcInterface */ "../../core/common/lib/esm/rpc/DevToolsRpcInterface.js");
82292
- /* harmony import */ var _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/IModelReadRpcInterface */ "../../core/common/lib/esm/rpc/IModelReadRpcInterface.js");
82293
- /* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
82294
- /* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
82295
- /* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
82296
- /* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
82297
- /* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
82298
- /* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
82299
- /* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
82300
- /* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
82301
- /* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
82302
- /* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
82303
- /* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
82304
- /* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
82305
- /* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
82306
- /* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
82307
- /* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
82308
- /* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
82309
- /* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
82310
- /* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
82311
- /* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
82312
- /* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
82313
- /* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
82314
- /* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
82315
- /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
82281
+ /* harmony import */ var _TxnProps__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./TxnProps */ "../../core/common/lib/esm/TxnProps.js");
82282
+ /* harmony import */ var _ThematicDisplay__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./ThematicDisplay */ "../../core/common/lib/esm/ThematicDisplay.js");
82283
+ /* harmony import */ var _ContourDisplay__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./ContourDisplay */ "../../core/common/lib/esm/ContourDisplay.js");
82284
+ /* harmony import */ var _Thumbnail__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./Thumbnail */ "../../core/common/lib/esm/Thumbnail.js");
82285
+ /* harmony import */ var _TileProps__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./TileProps */ "../../core/common/lib/esm/TileProps.js");
82286
+ /* harmony import */ var _Tween__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./Tween */ "../../core/common/lib/esm/Tween.js");
82287
+ /* harmony import */ var _TxnAction__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./TxnAction */ "../../core/common/lib/esm/TxnAction.js");
82288
+ /* harmony import */ var _ViewDetails__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./ViewDetails */ "../../core/common/lib/esm/ViewDetails.js");
82289
+ /* harmony import */ var _ViewFlags__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewFlags */ "../../core/common/lib/esm/ViewFlags.js");
82290
+ /* harmony import */ var _ViewProps__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./ViewProps */ "../../core/common/lib/esm/ViewProps.js");
82291
+ /* harmony import */ var _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./rpc/core/RpcConstants */ "../../core/common/lib/esm/rpc/core/RpcConstants.js");
82292
+ /* harmony import */ var _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./rpc/core/RpcControl */ "../../core/common/lib/esm/rpc/core/RpcControl.js");
82293
+ /* harmony import */ var _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./rpc/core/RpcInvocation */ "../../core/common/lib/esm/rpc/core/RpcInvocation.js");
82294
+ /* harmony import */ var _rpc_core_RpcSessionInvocation__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./rpc/core/RpcSessionInvocation */ "../../core/common/lib/esm/rpc/core/RpcSessionInvocation.js");
82295
+ /* harmony import */ var _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./rpc/core/RpcMarshaling */ "../../core/common/lib/esm/rpc/core/RpcMarshaling.js");
82296
+ /* harmony import */ var _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./rpc/core/RpcOperation */ "../../core/common/lib/esm/rpc/core/RpcOperation.js");
82297
+ /* harmony import */ var _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./rpc/core/RpcPendingQueue */ "../../core/common/lib/esm/rpc/core/RpcPendingQueue.js");
82298
+ /* harmony import */ var _rpc_core_RpcProtocol__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./rpc/core/RpcProtocol */ "../../core/common/lib/esm/rpc/core/RpcProtocol.js");
82299
+ /* harmony import */ var _rpc_core_RpcRegistry__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./rpc/core/RpcRegistry */ "../../core/common/lib/esm/rpc/core/RpcRegistry.js");
82300
+ /* harmony import */ var _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./rpc/core/RpcRequest */ "../../core/common/lib/esm/rpc/core/RpcRequest.js");
82301
+ /* harmony import */ var _rpc_core_RpcRequestContext__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./rpc/core/RpcRequestContext */ "../../core/common/lib/esm/rpc/core/RpcRequestContext.js");
82302
+ /* harmony import */ var _rpc_core_RpcRoutingToken__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./rpc/core/RpcRoutingToken */ "../../core/common/lib/esm/rpc/core/RpcRoutingToken.js");
82303
+ /* harmony import */ var _rpc_core_RpcPush__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./rpc/core/RpcPush */ "../../core/common/lib/esm/rpc/core/RpcPush.js");
82304
+ /* harmony import */ var _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/core/RpcConfiguration */ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js");
82305
+ /* harmony import */ var _rpc_DevToolsRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/DevToolsRpcInterface */ "../../core/common/lib/esm/rpc/DevToolsRpcInterface.js");
82306
+ /* harmony import */ var _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/IModelReadRpcInterface */ "../../core/common/lib/esm/rpc/IModelReadRpcInterface.js");
82307
+ /* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
82308
+ /* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
82309
+ /* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
82310
+ /* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
82311
+ /* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
82312
+ /* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
82313
+ /* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
82314
+ /* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
82315
+ /* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
82316
+ /* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
82317
+ /* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
82318
+ /* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
82319
+ /* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
82320
+ /* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
82321
+ /* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
82322
+ /* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
82323
+ /* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
82324
+ /* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
82325
+ /* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
82326
+ /* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
82327
+ /* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
82328
+ /* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
82329
+ /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
82316
82330
  /*---------------------------------------------------------------------------------------------
82317
82331
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
82318
82332
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -82477,6 +82491,7 @@ __webpack_require__.r(__webpack_exports__);
82477
82491
 
82478
82492
 
82479
82493
 
82494
+
82480
82495
 
82481
82496
 
82482
82497
  /** @docs-package-description
@@ -100347,6 +100362,18 @@ class JsonParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_2__.AbstractPa
100347
100362
  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'.`);
100348
100363
  if (undefined !== jsonObj.scientificType && typeof (jsonObj.scientificType) !== "string")
100349
100364
  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'.`);
100365
+ if (undefined !== jsonObj.ratioType && typeof (jsonObj.ratioType) !== "string")
100366
+ 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'.`);
100367
+ if (undefined !== jsonObj.ratioSeparator && typeof (jsonObj.ratioSeparator) !== "string")
100368
+ 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'.`);
100369
+ if (undefined !== jsonObj.ratioFormatType && typeof (jsonObj.ratioFormatType) !== "string")
100370
+ 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'.`);
100371
+ // Validate EC version if ratio properties exist - they require EC version 3.3+
100372
+ if (jsonObj.ratioType !== undefined || jsonObj.ratioSeparator !== undefined || jsonObj.ratioFormatType !== undefined) {
100373
+ if (this._ecSpecVersion === undefined || this._ecSpecVersion.readVersion < 3 || (this._ecSpecVersion.readVersion === 3 && this._ecSpecVersion.writeVersion < 3)) {
100374
+ 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.`);
100375
+ }
100376
+ }
100350
100377
  if (undefined !== jsonObj.stationOffsetSize && typeof (jsonObj.stationOffsetSize) !== "number")
100351
100378
  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'.`);
100352
100379
  if (undefined !== jsonObj.stationSeparator && typeof (jsonObj.stationSeparator) !== "string")
@@ -101060,6 +101087,15 @@ class XmlParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_5__.AbstractPar
101060
101087
  const thousandSeparator = this.getOptionalAttribute(xmlElement, "thousandSeparator");
101061
101088
  const uomSeparator = this.getOptionalAttribute(xmlElement, "uomSeparator");
101062
101089
  const scientificType = this.getOptionalAttribute(xmlElement, "scientificType");
101090
+ const ratioType = this.getOptionalAttribute(xmlElement, "ratioType");
101091
+ const ratioSeparator = this.getOptionalAttribute(xmlElement, "ratioSeparator");
101092
+ const ratioFormatType = this.getOptionalAttribute(xmlElement, "ratioFormatType");
101093
+ // Validate EC version if ratio properties exist - they require EC version 3.3+
101094
+ if (ratioType !== undefined || ratioSeparator !== undefined || ratioFormatType !== undefined) {
101095
+ if (this._ecSpecVersion === undefined || this._ecSpecVersion.readVersion < 3 || (this._ecSpecVersion.readVersion === 3 && this._ecSpecVersion.writeVersion < 3)) {
101096
+ 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.`);
101097
+ }
101098
+ }
101063
101099
  const stationOffsetSize = this.getOptionalIntAttribute(xmlElement, "stationOffsetSize", `The Format ${this._currentItemFullName} has an invalid 'stationOffsetSize' attribute. It should be a numeric value.`);
101064
101100
  const stationSeparator = this.getOptionalAttribute(xmlElement, "stationSeparator");
101065
101101
  let composite;
@@ -101102,6 +101138,9 @@ class XmlParser extends _AbstractParser__WEBPACK_IMPORTED_MODULE_5__.AbstractPar
101102
101138
  thousandSeparator,
101103
101139
  uomSeparator,
101104
101140
  scientificType,
101141
+ ratioType,
101142
+ ratioSeparator,
101143
+ ratioFormatType,
101105
101144
  stationOffsetSize,
101106
101145
  stationSeparator,
101107
101146
  composite,
@@ -102845,7 +102884,7 @@ class SchemaFormatsProvider {
102845
102884
  // If no matching presentation format was found, use persistence unit format if it matches unit system.
102846
102885
  const persistenceUnit = await kindOfQuantity.persistenceUnit;
102847
102886
  const persistenceUnitSystem = await persistenceUnit?.unitSystem;
102848
- if (persistenceUnitSystem && unitSystemMatchers.some((matcher) => matcher(persistenceUnitSystem))) {
102887
+ if (persistenceUnit && persistenceUnitSystem && unitSystemMatchers.some((matcher) => matcher(persistenceUnitSystem))) {
102849
102888
  this._formatsRetrieved.add(itemKey.fullName);
102850
102889
  const props = getPersistenceUnitFormatProps(persistenceUnit);
102851
102890
  return this.convertToFormatDefinition(props, kindOfQuantity);
@@ -105442,6 +105481,7 @@ __webpack_require__.r(__webpack_exports__);
105442
105481
 
105443
105482
 
105444
105483
 
105484
+ const loggingCategory = "ECClass";
105445
105485
  /**
105446
105486
  * A common abstract class for all of the ECClass types.
105447
105487
  * @public @preview
@@ -105496,7 +105536,13 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
105496
105536
  async getDerivedClasses() {
105497
105537
  const derivedClasses = [];
105498
105538
  for (const derivedClassKey of this.schema.context.classHierarchy.getDerivedClassKeys(this.key)) {
105499
- const derivedClass = await this.schema.context.getSchemaItem(derivedClassKey, ECClass);
105539
+ 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
105540
+ if (derivedClass) {
105541
+ derivedClasses.push(derivedClass);
105542
+ continue;
105543
+ }
105544
+ _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.`);
105545
+ derivedClass = await this.schema.context.getSchemaItem(derivedClassKey, ECClass);
105500
105546
  if (derivedClass)
105501
105547
  derivedClasses.push(derivedClass);
105502
105548
  }
@@ -105884,18 +105930,56 @@ class ECClass extends _SchemaItem__WEBPACK_IMPORTED_MODULE_9__.SchemaItem {
105884
105930
  */
105885
105931
  async *getAllBaseClasses() {
105886
105932
  for (const baseClassKey of this.schema.context.classHierarchy.getBaseClassKeys(this.key)) {
105887
- const baseClass = await this.schema.lookupItem(baseClassKey, ECClass);
105933
+ const baseClass = await this.getClassFromReferencesRecursively(baseClassKey); // Search in schema ref tree all the way to the top
105888
105934
  if (baseClass)
105889
105935
  yield baseClass;
105890
105936
  }
105891
105937
  }
105938
+ /**
105939
+ * gets a class from this schema or its references recursively using the item key
105940
+ * @param itemKey
105941
+ * @returns ECClass if it could be found, undefined otherwise
105942
+ * @internal
105943
+ */
105944
+ async getClassFromReferencesRecursively(itemKey) {
105945
+ const schemaList = [this.schema];
105946
+ while (schemaList.length > 0) {
105947
+ const currentSchema = schemaList.shift();
105948
+ if (currentSchema.schemaKey.compareByName(itemKey.schemaKey)) {
105949
+ const baseClass = await currentSchema.getItem(itemKey.name, ECClass);
105950
+ schemaList.splice(0); // clear the list
105951
+ return baseClass;
105952
+ }
105953
+ schemaList.push(...currentSchema.references);
105954
+ }
105955
+ return undefined;
105956
+ }
105892
105957
  *getAllBaseClassesSync() {
105893
105958
  for (const baseClassKey of this.schema.context.classHierarchy.getBaseClassKeys(this.key)) {
105894
- const baseClass = this.schema.lookupItemSync(baseClassKey, ECClass);
105959
+ const baseClass = this.getClassFromReferencesRecursivelySync(baseClassKey); // Search in schema ref tree all the way to the top
105895
105960
  if (baseClass)
105896
105961
  yield baseClass;
105897
105962
  }
105898
105963
  }
105964
+ /**
105965
+ * gets a class from this schema or its references recursively using the item key synchronously
105966
+ * @param itemKey
105967
+ * @returns ECClass if it could be found, undefined otherwise
105968
+ * @internal
105969
+ */
105970
+ getClassFromReferencesRecursivelySync(itemKey) {
105971
+ const schemaList = [this.schema];
105972
+ while (schemaList.length > 0) {
105973
+ const currentSchema = schemaList.shift();
105974
+ if (currentSchema.schemaKey.compareByName(itemKey.schemaKey)) {
105975
+ const baseClass = currentSchema.getItemSync(itemKey.name, ECClass);
105976
+ schemaList.splice(0); // clear the list
105977
+ return baseClass;
105978
+ }
105979
+ schemaList.push(...currentSchema.references);
105980
+ }
105981
+ return undefined;
105982
+ }
105899
105983
  /**
105900
105984
  *
105901
105985
  * @param cache
@@ -107031,6 +107115,9 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
107031
107115
  get stationSeparator() { return this._base.stationSeparator; }
107032
107116
  get stationOffsetSize() { return this._base.stationOffsetSize; }
107033
107117
  get stationBaseFactor() { return this._base.stationBaseFactor; }
107118
+ get ratioType() { return this._base.ratioType; }
107119
+ get ratioSeparator() { return this._base.ratioSeparator; }
107120
+ get ratioFormatType() { return this._base.ratioFormatType; }
107034
107121
  get formatTraits() { return this._base.formatTraits; }
107035
107122
  get spacer() { return this._base.spacer; }
107036
107123
  get includeZero() { return this._base.includeZero; }
@@ -107052,10 +107139,13 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
107052
107139
  addUnit(unit, label) {
107053
107140
  if (undefined === this._units)
107054
107141
  this._units = [];
107055
- else { // Validate that a duplicate is not added.
107056
- for (const existingUnit of this._units) {
107057
- if (unit.fullName.toLowerCase() === existingUnit[0].fullName.toLowerCase())
107058
- 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.
107142
+ else {
107143
+ const isDuplicateAllowed = this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio;
107144
+ if (!isDuplicateAllowed) {
107145
+ for (const existingUnit of this._units) {
107146
+ if (unit.fullName.toLowerCase() === existingUnit[0].fullName.toLowerCase())
107147
+ 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.
107148
+ }
107059
107149
  }
107060
107150
  }
107061
107151
  this._units.push([unit, label]);
@@ -107080,37 +107170,87 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
107080
107170
  if (formatProps.composite.units.length <= 0 || formatProps.composite.units.length > 4)
107081
107171
  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.`);
107082
107172
  }
107173
+ // For Ratio formats: validate that composite is provided
107174
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio) {
107175
+ const hasComposite = undefined !== formatProps.composite && formatProps.composite.units.length > 0;
107176
+ if (!hasComposite) {
107177
+ 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.`);
107178
+ }
107179
+ }
107083
107180
  }
107084
107181
  fromJSONSync(formatProps) {
107085
107182
  super.fromJSONSync(formatProps);
107086
107183
  this.typecheck(formatProps);
107087
- if (undefined === formatProps.composite)
107088
- return;
107089
- // Units are separated from the rest of the deserialization because of the need to have separate sync and async implementation
107090
- for (const unit of formatProps.composite.units) {
107091
- const newUnit = this.schema.lookupItemSync(unit.name);
107092
- if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
107093
- throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
107094
- if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit))
107095
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
107096
- else if (_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit))
107097
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
107184
+ // Process composite units
107185
+ if (undefined !== formatProps.composite) {
107186
+ for (const unit of formatProps.composite.units) {
107187
+ const newUnit = this.schema.lookupItemSync(unit.name);
107188
+ if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
107189
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
107190
+ const lazyUnit = _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit)
107191
+ ? new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit)
107192
+ : new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit);
107193
+ this.addUnit(lazyUnit, unit.label);
107194
+ }
107195
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
107196
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && this._units && this._units.length === 2) {
107197
+ const unit1Item = this.schema.lookupItemSync(this._units[0][0].fullName);
107198
+ const unit2Item = this.schema.lookupItemSync(this._units[1][0].fullName);
107199
+ 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)))
107200
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has invalid units.`);
107201
+ const getPhenomenon = (unitItem) => {
107202
+ if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unitItem)) {
107203
+ return unitItem.phenomenon;
107204
+ }
107205
+ const invertsUnit = unitItem.invertsUnit;
107206
+ if (invertsUnit) {
107207
+ const resolvedUnit = this.schema.lookupItemSync(invertsUnit.fullName);
107208
+ return resolvedUnit && _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(resolvedUnit) ? resolvedUnit.phenomenon : undefined;
107209
+ }
107210
+ return undefined;
107211
+ };
107212
+ const phenomenon1 = getPhenomenon(unit1Item);
107213
+ const phenomenon2 = getPhenomenon(unit2Item);
107214
+ if (phenomenon1?.fullName !== phenomenon2?.fullName) {
107215
+ 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.`);
107216
+ }
107217
+ }
107098
107218
  }
107099
107219
  }
107100
107220
  async fromJSON(formatProps) {
107101
107221
  await super.fromJSON(formatProps);
107102
107222
  this.typecheck(formatProps);
107103
- if (undefined === formatProps.composite)
107104
- return;
107105
- // Units are separated from the rest of the deserialization because of the need to have separate sync and async implementation
107106
- for (const unit of formatProps.composite.units) {
107107
- const newUnit = await this.schema.lookupItem(unit.name);
107108
- if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
107109
- throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
107110
- if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit))
107111
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
107112
- else if (_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit))
107113
- this.addUnit(new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit), unit.label);
107223
+ // Process composite units
107224
+ if (undefined !== formatProps.composite) {
107225
+ for (const unit of formatProps.composite.units) {
107226
+ const newUnit = await this.schema.lookupItem(unit.name);
107227
+ if (undefined === newUnit || (!_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit) && !_InvertedUnit__WEBPACK_IMPORTED_MODULE_4__.InvertedUnit.isInvertedUnit(newUnit)))
107228
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, ``);
107229
+ const lazyUnit = _Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(newUnit)
107230
+ ? new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit)
107231
+ : new _DelayedPromise__WEBPACK_IMPORTED_MODULE_7__.DelayedPromiseWithProps(newUnit.key, async () => newUnit);
107232
+ this.addUnit(lazyUnit, unit.label);
107233
+ }
107234
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
107235
+ if (this.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && this._units && this._units.length === 2) {
107236
+ const unit1Item = await this.schema.lookupItem(this._units[0][0].fullName);
107237
+ const unit2Item = await this.schema.lookupItem(this._units[1][0].fullName);
107238
+ 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)))
107239
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaError(_Exception__WEBPACK_IMPORTED_MODULE_2__.ECSchemaStatus.InvalidECJson, `The Format ${this.fullName} has invalid units.`);
107240
+ // Helper to extract phenomenon from Unit or InvertedUnit
107241
+ const getPhenomenon = async (unitItem) => {
107242
+ if (_Unit__WEBPACK_IMPORTED_MODULE_6__.Unit.isUnit(unitItem)) {
107243
+ return unitItem.phenomenon;
107244
+ }
107245
+ const invertsUnit = await unitItem.invertsUnit;
107246
+ return invertsUnit ? invertsUnit.phenomenon : undefined;
107247
+ };
107248
+ const phenomenon1 = await getPhenomenon(unit1Item);
107249
+ const phenomenon2 = await getPhenomenon(unit2Item);
107250
+ if (phenomenon1?.fullName !== phenomenon2?.fullName) {
107251
+ 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.`);
107252
+ }
107253
+ }
107114
107254
  }
107115
107255
  }
107116
107256
  /**
@@ -107147,6 +107287,15 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
107147
107287
  if (" " !== this.stationSeparator)
107148
107288
  schemaJson.stationSeparator = this.stationSeparator;
107149
107289
  }
107290
+ // Only include ratio properties for EC version 3.3+
107291
+ if (_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio === this.type && this.schema.originalECSpecMajorVersion === 3 && this.schema.originalECSpecMinorVersion !== undefined && this.schema.originalECSpecMinorVersion >= 3) {
107292
+ if (undefined !== this.ratioType)
107293
+ schemaJson.ratioType = this.ratioType;
107294
+ if (undefined !== this.ratioSeparator)
107295
+ schemaJson.ratioSeparator = this.ratioSeparator;
107296
+ if (undefined !== this.ratioFormatType)
107297
+ schemaJson.ratioFormatType = this.ratioFormatType;
107298
+ }
107150
107299
  if (undefined === this.units)
107151
107300
  return schemaJson;
107152
107301
  schemaJson.composite = {};
@@ -107178,6 +107327,15 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_5__.SchemaItem {
107178
107327
  itemElement.setAttribute("minWidth", this.minWidth.toString());
107179
107328
  if (undefined !== this.scientificType)
107180
107329
  itemElement.setAttribute("scientificType", this.scientificType);
107330
+ // Only include ratio properties for EC version 3.3+
107331
+ if (this.schema.originalECSpecMajorVersion === 3 && this.schema.originalECSpecMinorVersion !== undefined && this.schema.originalECSpecMinorVersion >= 3) {
107332
+ if (undefined !== this.ratioType)
107333
+ itemElement.setAttribute("ratioType", this.ratioType);
107334
+ if (undefined !== this.ratioSeparator)
107335
+ itemElement.setAttribute("ratioSeparator", this.ratioSeparator);
107336
+ if (undefined !== this.ratioFormatType)
107337
+ itemElement.setAttribute("ratioFormatType", this.ratioFormatType);
107338
+ }
107181
107339
  if (undefined !== this.stationOffsetSize)
107182
107340
  itemElement.setAttribute("stationOffsetSize", this.stationOffsetSize.toString());
107183
107341
  const formatTraits = (0,_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_3__.formatTraitsToArray)(this.formatTraits);
@@ -107924,6 +108082,9 @@ class OverrideFormat {
107924
108082
  get type() { return this.parent.type; }
107925
108083
  get minWidth() { return this.parent.minWidth; }
107926
108084
  get scientificType() { return this.parent.scientificType; }
108085
+ get ratioType() { return this.parent.ratioType; }
108086
+ get ratioSeparator() { return this.parent.ratioSeparator; }
108087
+ get ratioFormatType() { return this.parent.ratioFormatType; }
107927
108088
  get showSignOption() { return this.parent.showSignOption; }
107928
108089
  get decimalSeparator() { return this.parent.decimalSeparator; }
107929
108090
  get thousandSeparator() { return this.parent.thousandSeparator; }
@@ -107948,7 +108109,7 @@ class OverrideFormat {
107948
108109
  for (const [unit, unitLabel] of this._units) {
107949
108110
  const unitSchema = koqSchema.context.getSchemaSync(unit.schemaKey);
107950
108111
  if (unitSchema === undefined)
107951
- 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.`);
108112
+ 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.`);
107952
108113
  fullName += "[";
107953
108114
  fullName += _Deserialization_XmlSerializationUtils__WEBPACK_IMPORTED_MODULE_0__.XmlSerializationUtils.createXmlTypedName(koqSchema, unitSchema, unit.name);
107954
108115
  if (unitLabel !== undefined)
@@ -119078,6 +119239,57 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
119078
119239
  * @see [[BriefcaseConnection.pushChanges]].
119079
119240
  */
119080
119241
  onChangesPushed = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119242
+ /** Event raised before pull merge process begins.
119243
+ * @alpha
119244
+ */
119245
+ onPullMergeBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119246
+ /** Event raised before a rebase operation begins.
119247
+ * @alpha
119248
+ */
119249
+ onRebaseBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119250
+ /** Event raised before a transaction is rebased.
119251
+ * @alpha
119252
+ */
119253
+ onRebaseTxnBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119254
+ /**
119255
+ * Event raised after a transaction is rebased.
119256
+ * @alpha
119257
+ */
119258
+ onRebaseTxnEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119259
+ /**
119260
+ * Event raised after a rebase operation ends.
119261
+ * @alpha
119262
+ */
119263
+ onRebaseEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119264
+ /**
119265
+ * Event raised after the pull merge process ends.
119266
+ * @alpha
119267
+ */
119268
+ onPullMergeEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119269
+ /** Event raised before incoming changes are applied.
119270
+ * @alpha
119271
+ */
119272
+ onApplyIncomingChangesBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119273
+ /** Event raised after incoming changes are applied.
119274
+ * @alpha
119275
+ */
119276
+ onApplyIncomingChangesEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119277
+ /** Event raised before local changes are reversed.
119278
+ * @alpha
119279
+ */
119280
+ onReverseLocalChangesBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119281
+ /** Event raised after local changes are reversed.
119282
+ * @alpha
119283
+ */
119284
+ onReverseLocalChangesEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119285
+ /** Event raised before downloading changesets begins.
119286
+ * @alpha
119287
+ */
119288
+ onDownloadChangesetsBegin = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119289
+ /** Event raised after downloading changesets ends.
119290
+ * @alpha
119291
+ */
119292
+ onDownloadChangesetsEnd = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
119081
119293
  /** @internal */
119082
119294
  constructor(iModel) {
119083
119295
  super(iModel.key);
@@ -119089,16 +119301,28 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
119089
119301
  if (this._cleanup) {
119090
119302
  this._cleanup();
119091
119303
  this._cleanup = undefined;
119092
- this.onElementsChanged.clear();
119093
- this.onModelsChanged.clear();
119094
- this.onModelGeometryChanged.clear();
119095
- this.onCommit.clear();
119096
- this.onCommitted.clear();
119097
- this.onChangesApplied.clear();
119098
- this.onBeforeUndoRedo.clear();
119099
119304
  this.onAfterUndoRedo.clear();
119305
+ this.onApplyIncomingChangesBegin.clear();
119306
+ this.onApplyIncomingChangesEnd.clear();
119307
+ this.onBeforeUndoRedo.clear();
119308
+ this.onChangesApplied.clear();
119100
119309
  this.onChangesPulled.clear();
119101
119310
  this.onChangesPushed.clear();
119311
+ this.onCommit.clear();
119312
+ this.onCommitted.clear();
119313
+ this.onDownloadChangesetsBegin.clear();
119314
+ this.onDownloadChangesetsEnd.clear();
119315
+ this.onElementsChanged.clear();
119316
+ this.onModelGeometryChanged.clear();
119317
+ this.onModelsChanged.clear();
119318
+ this.onPullMergeBegin.clear();
119319
+ this.onPullMergeEnd.clear();
119320
+ this.onRebaseBegin.clear();
119321
+ this.onRebaseEnd.clear();
119322
+ this.onRebaseTxnBegin.clear();
119323
+ this.onRebaseTxnEnd.clear();
119324
+ this.onReverseLocalChangesBegin.clear();
119325
+ this.onReverseLocalChangesEnd.clear();
119102
119326
  }
119103
119327
  }
119104
119328
  /** Query if the briefcase has any pending Txns waiting to be pushed. */
@@ -119247,6 +119471,54 @@ class BriefcaseTxns extends BriefcaseNotificationHandler {
119247
119471
  notifyGeographicCoordinateSystemChanged(gcs) {
119248
119472
  this._iModel.geographicCoordinateSystem = gcs ? new _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.GeographicCRS(gcs) : undefined;
119249
119473
  }
119474
+ /** @internal */
119475
+ notifyPullMergeBegin(changeset) {
119476
+ this.onPullMergeBegin.raiseEvent(changeset);
119477
+ }
119478
+ /** @internal */
119479
+ notifyPullMergeEnd(changeset) {
119480
+ this.onPullMergeEnd.raiseEvent(changeset);
119481
+ }
119482
+ /** @internal */
119483
+ notifyApplyIncomingChangesBegin(changes) {
119484
+ this.onApplyIncomingChangesBegin.raiseEvent(changes);
119485
+ }
119486
+ /** @internal */
119487
+ notifyApplyIncomingChangesEnd(changes) {
119488
+ this.onApplyIncomingChangesEnd.raiseEvent(changes);
119489
+ }
119490
+ /** @internal */
119491
+ notifyReverseLocalChangesBegin() {
119492
+ this.onReverseLocalChangesBegin.raiseEvent();
119493
+ }
119494
+ /** @internal */
119495
+ notifyReverseLocalChangesEnd(txns) {
119496
+ this.onReverseLocalChangesEnd.raiseEvent(txns);
119497
+ }
119498
+ /** @internal */
119499
+ notifyDownloadChangesetsBegin() {
119500
+ this.onDownloadChangesetsBegin.raiseEvent();
119501
+ }
119502
+ /** @internal */
119503
+ notifyDownloadChangesetsEnd() {
119504
+ this.onDownloadChangesetsEnd.raiseEvent();
119505
+ }
119506
+ /** @internal */
119507
+ notifyRebaseBegin(txns) {
119508
+ this.onRebaseBegin.raiseEvent(txns);
119509
+ }
119510
+ /** @internal */
119511
+ notifyRebaseEnd(txns) {
119512
+ this.onRebaseEnd.raiseEvent(txns);
119513
+ }
119514
+ /** @internal */
119515
+ notifyRebaseTxnBegin(txn) {
119516
+ this.onRebaseTxnBegin.raiseEvent(txn);
119517
+ }
119518
+ /** @internal */
119519
+ notifyRebaseTxnEnd(txn) {
119520
+ this.onRebaseTxnEnd.raiseEvent(txn);
119521
+ }
119250
119522
  }
119251
119523
 
119252
119524
 
@@ -144794,7 +145066,9 @@ function createMeshArgs(mesh) {
144794
145066
  if (!mesh.triangles || mesh.triangles.isEmpty || mesh.points.length === 0)
144795
145067
  return undefined;
144796
145068
  const texture = mesh.displayParams.textureMapping?.texture;
144797
- const textureMapping = texture && mesh.uvParams.length > 0 ? { texture, uvParams: mesh.uvParams } : undefined;
145069
+ const useConstantLod = mesh.displayParams.textureMapping?.params?.useConstantLod;
145070
+ const constantLodParams = mesh.displayParams.textureMapping?.params?.constantLodParams;
145071
+ const textureMapping = texture && mesh.uvParams.length > 0 ? { texture, uvParams: mesh.uvParams, useConstantLod, constantLodParams } : undefined;
144798
145072
  const colors = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorIndex();
144799
145073
  mesh.colorMap.toColorIndex(colors, mesh.colors);
144800
145074
  const features = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureIndex();
@@ -186573,7 +186847,7 @@ function readPnts(stream, dataOffset, pnts) {
186573
186847
  }
186574
186848
  async function decodeDracoPointCloud(buf) {
186575
186849
  try {
186576
- 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;
186850
+ 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;
186577
186851
  const mesh = await dracoLoader.parse(buf, {});
186578
186852
  if (mesh.topology !== "point-list")
186579
186853
  return undefined;
@@ -198012,14 +198286,47 @@ class GltfReader {
198012
198286
  }
198013
198287
  }
198014
198288
  createDisplayParams(material, hasBakedLighting, isPointPrimitive = false) {
198289
+ let constantLodParamProps;
198290
+ let normalMapUseConstantLod = false;
198291
+ if (!(0,_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.isGltf1Material)(material)) {
198292
+ // NOTE: EXT_textureInfo_constant_lod is not supported for occlusionTexture and metallicRoughnessTexture
198293
+ // Use the same texture fallback logic as extractTextureId
198294
+ const textureInfo = material.pbrMetallicRoughness?.baseColorTexture ?? material.emissiveTexture;
198295
+ const extConstantLod = textureInfo?.extensions?.EXT_textureInfo_constant_lod;
198296
+ const offset = extConstantLod?.offset;
198297
+ extConstantLod ? constantLodParamProps = {
198298
+ repetitions: extConstantLod?.repetitions,
198299
+ offset: offset ? { x: offset[0], y: offset[1] } : undefined,
198300
+ minDistClamp: extConstantLod?.minClampDistance,
198301
+ maxDistClamp: extConstantLod?.maxClampDistance,
198302
+ } : undefined;
198303
+ // Normal map only uses constant LOD if both the base texture and normal texture have the extension
198304
+ normalMapUseConstantLod = extConstantLod !== undefined && material.normalTexture?.extensions?.EXT_textureInfo_constant_lod !== undefined;
198305
+ }
198015
198306
  const isTransparent = this.isMaterialTransparent(material);
198016
198307
  const textureId = this.extractTextureId(material);
198017
198308
  const normalMapId = this.extractNormalMapId(material);
198018
- let textureMapping = (undefined !== textureId || undefined !== normalMapId) ? this.findTextureMapping(textureId, isTransparent, normalMapId) : undefined;
198309
+ let textureMapping = (undefined !== textureId || undefined !== normalMapId) ? this.findTextureMapping(textureId, isTransparent, normalMapId, constantLodParamProps, normalMapUseConstantLod) : undefined;
198019
198310
  const color = colorFromMaterial(material, isTransparent);
198020
198311
  let renderMaterial;
198021
- if (undefined !== textureMapping && undefined !== textureMapping.normalMapParams) {
198022
- const args = { diffuse: { color }, specular: { color: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white }, textureMapping };
198312
+ if (undefined !== textureMapping) {
198313
+ // Convert result of findTextureMapping (TextureMapping object) to MaterialTextureMappingProps interface
198314
+ const textureMappingProps = {
198315
+ texture: textureMapping.texture,
198316
+ normalMapParams: textureMapping.normalMapParams,
198317
+ mode: textureMapping.params.mode,
198318
+ transform: textureMapping.params.textureMatrix,
198319
+ weight: textureMapping.params.weight,
198320
+ worldMapping: textureMapping.params.worldMapping,
198321
+ useConstantLod: textureMapping.params.useConstantLod,
198322
+ constantLodProps: textureMapping.params.useConstantLod ? {
198323
+ repetitions: textureMapping.params.constantLodParams.repetitions,
198324
+ offset: textureMapping.params.constantLodParams.offset,
198325
+ minDistClamp: textureMapping.params.constantLodParams.minDistClamp,
198326
+ maxDistClamp: textureMapping.params.constantLodParams.maxDistClamp,
198327
+ } : undefined,
198328
+ };
198329
+ const args = { diffuse: { color }, specular: { color: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.white }, textureMapping: textureMappingProps };
198023
198330
  renderMaterial = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.renderSystem.createRenderMaterial(args);
198024
198331
  // DisplayParams doesn't want a separate texture mapping if the material already has one.
198025
198332
  textureMapping = undefined;
@@ -198031,7 +198338,30 @@ class GltfReader {
198031
198338
  width = pointStyle.diameter;
198032
198339
  }
198033
198340
  }
198034
- 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);
198341
+ // Process BENTLEY_materials_planar_fill extension
198342
+ let fillFlags = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.None;
198343
+ if (!(0,_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.isGltf1Material)(material)) {
198344
+ const planarFill = material.extensions?.BENTLEY_materials_planar_fill;
198345
+ if (planarFill) {
198346
+ // Map wireframeFill: 0=NONE (no fill flags), 1=ALWAYS (Always flag), 2=TOGGLE (ByView flag)
198347
+ const wireframeFill = planarFill.wireframeFill ?? 0;
198348
+ if (wireframeFill === 1) {
198349
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Always;
198350
+ }
198351
+ else if (wireframeFill === 2) {
198352
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.ByView;
198353
+ }
198354
+ // Map backgroundFill to Background flag
198355
+ if (planarFill.backgroundFill === true) {
198356
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Background;
198357
+ }
198358
+ // Map behind to Behind flag
198359
+ if (planarFill.behind === true) {
198360
+ fillFlags |= _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags.Behind;
198361
+ }
198362
+ }
198363
+ }
198364
+ 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);
198035
198365
  }
198036
198366
  readMeshPrimitives(node, featureTable, thisTransform, thisBias, instances) {
198037
198367
  const meshes = [];
@@ -198833,7 +199163,7 @@ class GltfReader {
198833
199163
  if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ProcessDetector.isIEBrowser) {
198834
199164
  throw new Error("Unsupported browser for Draco decoding");
198835
199165
  }
198836
- 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;
199166
+ 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;
198837
199167
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
198838
199168
  }
198839
199169
  catch (err) {
@@ -198977,7 +199307,7 @@ class GltfReader {
198977
199307
  });
198978
199308
  return renderTexture ?? false;
198979
199309
  }
198980
- findTextureMapping(id, isTransparent, normalMapId) {
199310
+ findTextureMapping(id, isTransparent, normalMapId, constantLodParamProps, normalMapUseConstantLod = false) {
198981
199311
  if (undefined === id && undefined === normalMapId)
198982
199312
  return undefined;
198983
199313
  let texture;
@@ -198999,16 +199329,18 @@ class GltfReader {
198999
199329
  nMap = {
199000
199330
  normalMap,
199001
199331
  greenUp,
199332
+ useConstantLod: normalMapUseConstantLod,
199002
199333
  };
199003
199334
  }
199004
199335
  else {
199005
199336
  texture = normalMap;
199006
- nMap = { greenUp };
199337
+ nMap = { greenUp, useConstantLod: normalMapUseConstantLod };
199007
199338
  }
199008
199339
  }
199009
199340
  if (!texture)
199010
199341
  return undefined;
199011
- const textureMapping = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping(texture, new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapping.Params());
199342
+ const useConstantLod = constantLodParamProps !== undefined;
199343
+ 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 }));
199012
199344
  textureMapping.normalMapParams = nMap;
199013
199345
  return textureMapping;
199014
199346
  }
@@ -199045,7 +199377,7 @@ async function readGltfTemplate(args) {
199045
199377
  }
199046
199378
  /** Produce a [[RenderGraphic]] from a [glTF](https://www.khronos.org/gltf/) asset suitable for use in [view decorations]($docs/learning/frontend/ViewDecorations).
199047
199379
  * @returns a graphic produced from the glTF asset's default scene, or `undefined` if a graphic could not be produced from the asset.
199048
- * The returned graphic also includes the bounding boxes of the glTF model in world and local coordiantes.
199380
+ * The returned graphic also includes the bounding boxes of the glTF model in world and local coordinates.
199049
199381
  * @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.
199050
199382
  * If a particular glTF asset fails to load and/or display properly, please
199051
199383
  * [submit an issue](https://github.com/iTwin/itwinjs-core/issues).
@@ -199073,6 +199405,7 @@ class GltfGraphicsReader extends GltfReader {
199073
199405
  _contentRange;
199074
199406
  _transform;
199075
199407
  _isLeaf;
199408
+ _useViewportRenderMode;
199076
199409
  binaryData; // strictly for tests
199077
199410
  meshes; // strictly for tests
199078
199411
  constructor(props, args) {
@@ -199086,6 +199419,7 @@ class GltfGraphicsReader extends GltfReader {
199086
199419
  this._contentRange = args.contentRange;
199087
199420
  this._transform = args.transform;
199088
199421
  this._isLeaf = true !== args.hasChildren;
199422
+ this._useViewportRenderMode = args.useViewportRenderMode ?? false;
199089
199423
  this.binaryData = props.binaryData;
199090
199424
  const pickableId = args.pickableOptions?.id;
199091
199425
  if (pickableId) {
@@ -199096,7 +199430,8 @@ class GltfGraphicsReader extends GltfReader {
199096
199430
  get viewFlagOverrides() {
199097
199431
  return {
199098
199432
  whiteOnWhiteReversal: false,
199099
- renderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode.SmoothShade,
199433
+ // Don't override renderMode if using viewport's render mode - let the viewport control it.
199434
+ renderMode: this._useViewportRenderMode ? undefined : _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode.SmoothShade,
199100
199435
  };
199101
199436
  }
199102
199437
  get meshElementIdToFeatureIndex() {
@@ -340704,6 +341039,8 @@ class BaseFormat {
340704
341039
  _stationOffsetSize; // required when type is station; positive integer > 0
340705
341040
  _stationBaseFactor; // optional positive integer base factor for station formatting; default is 1
340706
341041
  _ratioType; // required if type is ratio; options: oneToN, NToOne, ValueBased, useGreatestCommonDivisor
341042
+ _ratioFormatType; // defaults to Decimal if not specified
341043
+ _ratioSeparator; // default is ":"; separator character used in ratio formatting
340707
341044
  _azimuthBase; // value always clockwise from north
340708
341045
  _azimuthBaseUnit; // unit for azimuthBase value
340709
341046
  _azimuthCounterClockwise; // if set to true, azimuth values are returned counter-clockwise from base
@@ -340725,6 +341062,10 @@ class BaseFormat {
340725
341062
  set scientificType(scientificType) { this._scientificType = scientificType; }
340726
341063
  get ratioType() { return this._ratioType; }
340727
341064
  set ratioType(ratioType) { this._ratioType = ratioType; }
341065
+ get ratioFormatType() { return this._ratioFormatType; }
341066
+ set ratioFormatType(ratioFormatType) { this._ratioFormatType = ratioFormatType; }
341067
+ get ratioSeparator() { return this._ratioSeparator; }
341068
+ set ratioSeparator(ratioSeparator) { this._ratioSeparator = ratioSeparator; }
340728
341069
  get showSignOption() { return this._showSignOption; }
340729
341070
  set showSignOption(showSignOption) { this._showSignOption = showSignOption; }
340730
341071
  get decimalSeparator() { return this._decimalSeparator; }
@@ -340793,6 +341134,22 @@ class BaseFormat {
340793
341134
  if (undefined === formatProps.ratioType)
340794
341135
  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.`);
340795
341136
  this._ratioType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseRatioType)(formatProps.ratioType, this.name);
341137
+ if (undefined !== formatProps.ratioSeparator) {
341138
+ if (typeof (formatProps.ratioSeparator) !== "string")
341139
+ 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'.`);
341140
+ if (formatProps.ratioSeparator.length !== 1)
341141
+ 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.`);
341142
+ this._ratioSeparator = formatProps.ratioSeparator;
341143
+ }
341144
+ else {
341145
+ this._ratioSeparator = ":"; // Apply default
341146
+ }
341147
+ if (undefined !== formatProps.ratioFormatType) {
341148
+ this._ratioFormatType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseRatioFormatType)(formatProps.ratioFormatType, this.name);
341149
+ }
341150
+ else {
341151
+ this._ratioFormatType = _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioFormatType.Decimal; // Apply default
341152
+ }
340796
341153
  }
340797
341154
  if (undefined !== formatProps.roundFactor) { // optional; default is 0.0
340798
341155
  if (typeof (formatProps.roundFactor) !== "number")
@@ -340917,6 +341274,8 @@ class Format extends BaseFormat {
340917
341274
  newFormat._azimuthBaseUnit = this._azimuthBaseUnit;
340918
341275
  newFormat._azimuthCounterClockwise = this._azimuthCounterClockwise;
340919
341276
  newFormat._ratioType = this._ratioType;
341277
+ newFormat._ratioFormatType = this._ratioFormatType;
341278
+ newFormat._ratioSeparator = this._ratioSeparator;
340920
341279
  newFormat._revolutionUnit = this._revolutionUnit;
340921
341280
  newFormat._customProps = this._customProps;
340922
341281
  this._units && (newFormat._units = [...this._units]);
@@ -340977,25 +341336,28 @@ class Format extends BaseFormat {
340977
341336
  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'`);
340978
341337
  }
340979
341338
  if (jsonObj.composite.units.length > 0 && jsonObj.composite.units.length <= 4) { // Composite requires 1-4 units
340980
- for (const nextUnit of jsonObj.composite.units) {
340981
- if (this._units) {
340982
- for (const existingUnit of this._units) {
340983
- const unitObj = existingUnit[0].name;
340984
- if (unitObj.toLowerCase() === nextUnit.unit.name.toLowerCase()) {
340985
- throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidJson, `The unit ${unitObj} has a duplicate name.`);
340986
- }
341339
+ const isDuplicateAllowed = this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio;
341340
+ const seenUnits = new Set();
341341
+ this._units = [];
341342
+ for (const unitSpec of jsonObj.composite.units) {
341343
+ if (!isDuplicateAllowed) {
341344
+ const unitName = unitSpec.unit.name.toLowerCase();
341345
+ const existingName = seenUnits.has(unitName);
341346
+ if (existingName) {
341347
+ 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}'`);
340987
341348
  }
341349
+ seenUnits.add(unitName);
340988
341350
  }
340989
- if (undefined === this._units) {
340990
- this._units = [];
340991
- }
340992
- this._units.push([nextUnit.unit, nextUnit.label]);
341351
+ this._units.push([unitSpec.unit, unitSpec.label]);
340993
341352
  }
340994
341353
  }
340995
341354
  }
340996
341355
  if (undefined === this.units || this.units.length === 0)
340997
341356
  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'`);
340998
341357
  }
341358
+ if (this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio && (!this._units || this._units.length === 0)) {
341359
+ 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.`);
341360
+ }
340999
341361
  if (this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth || this.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing) {
341000
341362
  this._azimuthBaseUnit = jsonObj.azimuthBaseUnit;
341001
341363
  this._revolutionUnit = jsonObj.revolutionUnit;
@@ -341062,6 +341424,8 @@ class Format extends BaseFormat {
341062
341424
  uomSeparator: this.uomSeparator,
341063
341425
  scientificType: this.scientificType ? this.scientificType : undefined,
341064
341426
  ratioType: this.ratioType,
341427
+ ratioFormatType: this.ratioFormatType,
341428
+ ratioSeparator: this.ratioSeparator,
341065
341429
  stationOffsetSize: this.stationOffsetSize,
341066
341430
  stationSeparator: this.stationSeparator,
341067
341431
  stationBaseFactor: this.stationBaseFactor,
@@ -341106,6 +341470,15 @@ async function resolveFormatProps(formatName, unitsProvider, jsonObj) {
341106
341470
  const unit = await resolveCompositeUnit(unitsProvider, entry.name);
341107
341471
  return { unit, label: entry.label };
341108
341472
  }));
341473
+ // For Ratio formats with 2 units: validate both units have the same phenomenon
341474
+ const formatType = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseFormatType)(jsonObj.type, formatName);
341475
+ if (formatType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio && units.length === 2) {
341476
+ const phenomenon1 = units[0].unit.phenomenon;
341477
+ const phenomenon2 = units[1].unit.phenomenon;
341478
+ if (phenomenon1 !== phenomenon2) {
341479
+ 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}'.`);
341480
+ }
341481
+ }
341109
341482
  }
341110
341483
  let azimuthBaseUnit, revolutionUnit;
341111
341484
  const type = (0,_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.parseFormatType)(jsonObj.type, formatName);
@@ -341146,6 +341519,7 @@ __webpack_require__.r(__webpack_exports__);
341146
341519
  /* harmony export */ FormatTraits: () => (/* binding */ FormatTraits),
341147
341520
  /* harmony export */ FormatType: () => (/* binding */ FormatType),
341148
341521
  /* harmony export */ FractionalPrecision: () => (/* binding */ FractionalPrecision),
341522
+ /* harmony export */ RatioFormatType: () => (/* binding */ RatioFormatType),
341149
341523
  /* harmony export */ RatioType: () => (/* binding */ RatioType),
341150
341524
  /* harmony export */ ScientificType: () => (/* binding */ ScientificType),
341151
341525
  /* harmony export */ ShowSignOption: () => (/* binding */ ShowSignOption),
@@ -341159,6 +341533,7 @@ __webpack_require__.r(__webpack_exports__);
341159
341533
  /* harmony export */ parseFormatType: () => (/* binding */ parseFormatType),
341160
341534
  /* harmony export */ parseFractionalPrecision: () => (/* binding */ parseFractionalPrecision),
341161
341535
  /* harmony export */ parsePrecision: () => (/* binding */ parsePrecision),
341536
+ /* harmony export */ parseRatioFormatType: () => (/* binding */ parseRatioFormatType),
341162
341537
  /* harmony export */ parseRatioType: () => (/* binding */ parseRatioType),
341163
341538
  /* harmony export */ parseScientificType: () => (/* binding */ parseScientificType),
341164
341539
  /* harmony export */ parseShowSignOption: () => (/* binding */ parseShowSignOption),
@@ -341303,6 +341678,16 @@ var RatioType;
341303
341678
  /** 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 */
341304
341679
  RatioType["UseGreatestCommonDivisor"] = "UseGreatestCommonDivisor";
341305
341680
  })(RatioType || (RatioType = {}));
341681
+ /** The format type for the numbers within a ratio.
341682
+ * @beta
341683
+ */
341684
+ var RatioFormatType;
341685
+ (function (RatioFormatType) {
341686
+ /** Decimal display (ie 2.125) */
341687
+ RatioFormatType["Decimal"] = "Decimal";
341688
+ /** Fractional display (ie 2-1/8) */
341689
+ RatioFormatType["Fractional"] = "Fractional";
341690
+ })(RatioFormatType || (RatioFormatType = {}));
341306
341691
  /** Determines how the sign of values are displayed
341307
341692
  * @beta */
341308
341693
  var ShowSignOption;
@@ -341348,6 +341733,18 @@ function parseRatioType(ratioType, formatName) {
341348
341733
  }
341349
341734
  throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityStatus.InvalidJson, `The Format ${formatName} has an invalid 'ratioType' attribute.`);
341350
341735
  }
341736
+ /** @beta */
341737
+ function parseRatioFormatType(ratioFormatType, formatName) {
341738
+ const normalizedValue = ratioFormatType.toLowerCase();
341739
+ for (const key in RatioFormatType) {
341740
+ if (RatioFormatType.hasOwnProperty(key)) {
341741
+ const enumValue = RatioFormatType[key];
341742
+ if (enumValue.toLowerCase() === normalizedValue)
341743
+ return enumValue;
341744
+ }
341745
+ }
341746
+ throw new _Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_0__.QuantityStatus.InvalidJson, `The Format ${formatName} has an invalid 'ratioFormatType' attribute.`);
341747
+ }
341351
341748
  /** @beta */
341352
341749
  function parseShowSignOption(showSignOption, formatName) {
341353
341750
  switch (showSignOption.toLowerCase()) {
@@ -341509,10 +341906,18 @@ function parsePrecision(precision, type, formatName) {
341509
341906
  case FormatType.Decimal:
341510
341907
  case FormatType.Scientific:
341511
341908
  case FormatType.Station:
341512
- case FormatType.Ratio:
341513
341909
  case FormatType.Bearing:
341514
341910
  case FormatType.Azimuth:
341515
341911
  return parseDecimalPrecision(precision, formatName);
341912
+ case FormatType.Ratio:
341913
+ // Ratio type can use either decimal or fractional precision depending on ratioFormatType
341914
+ // Try decimal first, if it fails, try fractional
341915
+ try {
341916
+ return parseDecimalPrecision(precision, formatName);
341917
+ }
341918
+ catch {
341919
+ return parseFractionalPrecision(precision, formatName);
341920
+ }
341516
341921
  case FormatType.Fractional:
341517
341922
  return parseFractionalPrecision(precision, formatName);
341518
341923
  default:
@@ -341536,8 +341941,9 @@ __webpack_require__.r(__webpack_exports__);
341536
341941
  /* harmony export */ });
341537
341942
  /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Constants */ "../../core/quantity/lib/esm/Constants.js");
341538
341943
  /* harmony import */ var _Exception__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Exception */ "../../core/quantity/lib/esm/Exception.js");
341539
- /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
341540
- /* harmony import */ var _Quantity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Quantity */ "../../core/quantity/lib/esm/Quantity.js");
341944
+ /* harmony import */ var _FormatterSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormatterSpec */ "../../core/quantity/lib/esm/Formatter/FormatterSpec.js");
341945
+ /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
341946
+ /* harmony import */ var _Quantity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Quantity */ "../../core/quantity/lib/esm/Quantity.js");
341541
341947
  /*---------------------------------------------------------------------------------------------
341542
341948
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
341543
341949
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -341549,6 +341955,7 @@ __webpack_require__.r(__webpack_exports__);
341549
341955
 
341550
341956
 
341551
341957
 
341958
+
341552
341959
  /** rounding additive
341553
341960
  * @internal
341554
341961
  */
@@ -341649,7 +342056,7 @@ class Formatter {
341649
342056
  static integerPartToText(wholePart, spec) {
341650
342057
  // build invariant string represent wholePart
341651
342058
  let formattedValue = wholePart.toFixed(0);
341652
- if ((formattedValue.length > 3) && (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.Use1000Separator) && (spec.format.thousandSeparator.length > 0))) {
342059
+ if ((formattedValue.length > 3) && (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.Use1000Separator) && (spec.format.thousandSeparator.length > 0))) {
341653
342060
  let numSeparators = Math.floor(formattedValue.length / 3);
341654
342061
  let groupLength = formattedValue.length % 3;
341655
342062
  if (groupLength === 0) {
@@ -341696,7 +342103,7 @@ class Formatter {
341696
342103
  else {
341697
342104
  componentText = Formatter.formatMagnitude(compositeValue, spec);
341698
342105
  }
341699
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ShowUnitLabel)) {
342106
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel)) {
341700
342107
  componentText = componentText + spec.format.uomSeparator + label;
341701
342108
  }
341702
342109
  return componentText;
@@ -341716,12 +342123,11 @@ class Formatter {
341716
342123
  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.`);
341717
342124
  if (i > 0 && unitConversion.offset !== 0) // offset should only ever be defined for major unit
341718
342125
  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.`);
341719
- let unitValue = 0.0;
341720
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio) {
341721
- if (1 !== (spec.format.units?.length ?? 0))
341722
- 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.`);
342126
+ // Handle ratio format with composite units
342127
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio) {
342128
+ let ratioUnitValue = 0.0;
341723
342129
  try {
341724
- unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
342130
+ ratioUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
341725
342131
  }
341726
342132
  catch (e) {
341727
342133
  // The "InvertingZero" error is thrown when the value is zero and the conversion factor is inverted.
@@ -341729,12 +342135,13 @@ class Formatter {
341729
342135
  if (e instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && e.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
341730
342136
  return { componentText: "1:0", isNegative: false };
341731
342137
  }
342138
+ throw e;
341732
342139
  }
341733
- compositeStrings.push(this.formatRatio(unitValue, spec));
341734
- isNegative = unitValue < 0;
342140
+ compositeStrings.push(this.formatRatio(ratioUnitValue, spec));
342141
+ isNegative = ratioUnitValue < 0;
341735
342142
  continue;
341736
342143
  }
341737
- unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
342144
+ let unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(remainingMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
341738
342145
  if (0 === i) {
341739
342146
  // Only set isNegative from the first (major) unit conversion
341740
342147
  isNegative = unitValue < 0;
@@ -341742,16 +342149,16 @@ class Formatter {
341742
342149
  // but use higher precision if the format specifies it
341743
342150
  const precisionScale = Math.pow(10, Math.max(8, spec.format.precision));
341744
342151
  unitValue = Math.floor(unitValue * precisionScale + FPV_ROUNDFACTOR) / precisionScale;
341745
- if ((Math.abs(unitValue) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ZeroEmpty))
342152
+ if ((Math.abs(unitValue) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ZeroEmpty))
341746
342153
  return { componentText: "", isNegative: false };
341747
342154
  }
341748
342155
  if (i < (spec.format.units?.length ?? 0) - 1) {
341749
342156
  let wholePart = Math.trunc(unitValue);
341750
342157
  // Check if the remaining fractional part will round up to a full unit in the next (smaller) component
341751
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Fractional && i === spec.unitConversions.length - 2) {
342158
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional && i === spec.unitConversions.length - 2) {
341752
342159
  // For the second-to-last unit with fractional formatting, check if rounding causes carry-over
341753
342160
  const fractionalPart = unitValue - wholePart;
341754
- const nextUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(fractionalPart, spec.unitConversions[i + 1].conversion);
342161
+ const nextUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(fractionalPart, spec.unitConversions[i + 1].conversion);
341755
342162
  // Create a FractionalNumeric to determine what the rounded value would be
341756
342163
  const fn = new FractionalNumeric(Math.abs(nextUnitValue), spec.format.precision, true);
341757
342164
  // If the fractional numeric rounds to a whole unit (integral part increased due to rounding)
@@ -341781,18 +342188,18 @@ class Formatter {
341781
342188
  */
341782
342189
  static formatMagnitude(magnitude, spec) {
341783
342190
  let posMagnitude = Math.abs(magnitude);
341784
- if ((Math.abs(posMagnitude) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ZeroEmpty))
342191
+ if ((Math.abs(posMagnitude) < 0.0001) && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ZeroEmpty))
341785
342192
  return "";
341786
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ApplyRounding))
342193
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ApplyRounding))
341787
342194
  posMagnitude = Math.abs(Formatter.roundDouble(magnitude, spec.format.roundFactor));
341788
- const isSci = ((posMagnitude > 1.0e12) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Scientific);
341789
- 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;
341790
- const isFractional = (!isDecimal && spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Fractional);
342195
+ const isSci = ((posMagnitude > 1.0e12) || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Scientific);
342196
+ 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;
342197
+ const isFractional = (!isDecimal && spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional);
341791
342198
  /* const usesStops = spec.format.type === FormatType.Station; */
341792
- const isPrecisionZero = spec.format.precision === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.DecimalPrecision.Zero;
341793
- const isKeepSingleZero = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepSingleZero);
342199
+ const isPrecisionZero = spec.format.precision === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.DecimalPrecision.Zero;
342200
+ const isKeepSingleZero = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepSingleZero);
341794
342201
  const precisionScale = Math.pow(10.0, spec.format.precision);
341795
- const isKeepTrailingZeroes = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.TrailZeroes);
342202
+ const isKeepTrailingZeroes = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.TrailZeroes);
341796
342203
  let expInt = 0.0;
341797
342204
  if (isSci && (posMagnitude !== 0.0)) {
341798
342205
  let exp = Math.log10(posMagnitude);
@@ -341802,10 +342209,10 @@ class Formatter {
341802
342209
  negativeExp = true;
341803
342210
  }
341804
342211
  expInt = Math.floor(exp);
341805
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Scientific) {
341806
- if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ScientificType.ZeroNormalized && posMagnitude > 1.0)
342212
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Scientific) {
342213
+ if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ScientificType.ZeroNormalized && posMagnitude > 1.0)
341807
342214
  expInt += 1.0;
341808
- else if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ScientificType.Normalized && posMagnitude < 1.0)
342215
+ else if (spec.format.scientificType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ScientificType.Normalized && posMagnitude < 1.0)
341809
342216
  expInt += 1.0;
341810
342217
  if (negativeExp)
341811
342218
  expInt = -expInt;
@@ -341827,7 +342234,7 @@ class Formatter {
341827
342234
  }
341828
342235
  formattedValue = Formatter.integerPartToText(wholePart, spec);
341829
342236
  if (isPrecisionZero) {
341830
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint) && !isKeepSingleZero)
342237
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint) && !isKeepSingleZero)
341831
342238
  formattedValue = formattedValue + spec.format.decimalSeparator;
341832
342239
  else if (isKeepSingleZero)
341833
342240
  formattedValue = `${formattedValue + spec.format.decimalSeparator}0`;
@@ -341842,7 +342249,7 @@ class Formatter {
341842
342249
  if (fractionString.length > 0)
341843
342250
  formattedValue = formattedValue + spec.format.decimalSeparator + fractionString;
341844
342251
  else {
341845
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint))
342252
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint))
341846
342253
  formattedValue = formattedValue + spec.format.decimalSeparator + (isKeepSingleZero ? "0" : "");
341847
342254
  }
341848
342255
  }
@@ -341855,7 +342262,7 @@ class Formatter {
341855
342262
  const fn = new FractionalNumeric(posMagnitude, spec.format.precision, true);
341856
342263
  formattedValue = fn.getIntegralString();
341857
342264
  if (!fn.isZero && fn.hasFractionPart) {
341858
- const wholeFractionSeparator = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.FractionDash) ? "-" : " ";
342265
+ const wholeFractionSeparator = spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.FractionDash) ? "-" : " ";
341859
342266
  const fractionString = `${fn.getNumeratorString()}/${fn.getDenominatorString()}`;
341860
342267
  formattedValue = formattedValue + wholeFractionSeparator + fractionString;
341861
342268
  }
@@ -341884,7 +342291,7 @@ class Formatter {
341884
342291
  else {
341885
342292
  if (isKeepTrailingZeroes)
341886
342293
  fractionString = spec.format.decimalSeparator + "".padEnd(spec.format.precision, "0");
341887
- else if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.KeepDecimalPoint))
342294
+ else if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.KeepDecimalPoint))
341888
342295
  fractionString = spec.format.decimalSeparator;
341889
342296
  formattedValue = stationString + fractionString;
341890
342297
  }
@@ -341913,21 +342320,21 @@ class Formatter {
341913
342320
  let prefix = "";
341914
342321
  let suffix = "";
341915
342322
  switch (showSignOption) {
341916
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.NegativeParentheses:
342323
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.NegativeParentheses:
341917
342324
  if (isNegative) {
341918
342325
  prefix = "(";
341919
342326
  suffix = ")";
341920
342327
  }
341921
342328
  break;
341922
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.OnlyNegative:
341923
- if (isNegative && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
342329
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.OnlyNegative:
342330
+ if (isNegative && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing && formatType !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
341924
342331
  prefix = "-";
341925
342332
  }
341926
342333
  break;
341927
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.SignAlways:
342334
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.SignAlways:
341928
342335
  prefix = isNegative ? "-" : "+";
341929
342336
  break;
341930
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.ShowSignOption.NoSign:
342337
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.ShowSignOption.NoSign:
341931
342338
  default:
341932
342339
  break;
341933
342340
  }
@@ -341943,14 +342350,20 @@ class Formatter {
341943
342350
  let suffix = "";
341944
342351
  let formattedValue = "";
341945
342352
  // Handle bearing/azimuth special formatting
341946
- if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
342353
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing || spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
341947
342354
  const result = this.processBearingAndAzimuth(magnitude, spec);
341948
342355
  magnitude = result.magnitude;
341949
342356
  prefix = result.prefix ?? "";
341950
342357
  suffix = result.suffix ?? "";
341951
342358
  }
341952
342359
  let formattedMagnitude = "";
341953
- if (spec.format.hasUnits) {
342360
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Ratio && spec.unitConversions.length >= 3) {
342361
+ // Handle ratio formatting separately when 2-unit composite provides 3 conversion specs
342362
+ const ratioResult = this.formatRatioQuantity(magnitude, spec);
342363
+ formattedMagnitude = ratioResult.componentText;
342364
+ valueIsNegative = ratioResult.isNegative;
342365
+ }
342366
+ else if (spec.format.hasUnits) {
341954
342367
  const compositeResult = Formatter.formatComposite(magnitude, spec);
341955
342368
  formattedMagnitude = compositeResult.componentText;
341956
342369
  // Override the sign detection with the composite conversion result
@@ -341959,8 +342372,8 @@ class Formatter {
341959
342372
  else {
341960
342373
  // unitless quantity
341961
342374
  formattedMagnitude = Formatter.formatMagnitude(magnitude, spec);
341962
- if (formattedMagnitude.length > 0 && spec.unitConversions.length > 0 && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.ShowUnitLabel)) {
341963
- if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatTraits.PrependUnitLabel))
342375
+ if (formattedMagnitude.length > 0 && spec.unitConversions.length > 0 && spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel)) {
342376
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.PrependUnitLabel))
341964
342377
  formattedMagnitude = spec.unitConversions[0].label + spec.format.uomSeparator + formattedMagnitude;
341965
342378
  else
341966
342379
  formattedMagnitude = formattedMagnitude + spec.format.uomSeparator + spec.unitConversions[0].label;
@@ -341980,12 +342393,12 @@ class Formatter {
341980
342393
  }
341981
342394
  static processBearingAndAzimuth(magnitude, spec) {
341982
342395
  const type = spec.format.type;
341983
- if (type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing && type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth)
342396
+ if (type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing && type !== _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth)
341984
342397
  return { magnitude };
341985
342398
  const revolution = this.getRevolution(spec);
341986
342399
  magnitude = this.normalizeAngle(magnitude, revolution);
341987
342400
  const quarterRevolution = revolution / 4;
341988
- if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Bearing) {
342401
+ if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Bearing) {
341989
342402
  let quadrant = 0;
341990
342403
  while (magnitude > quarterRevolution) {
341991
342404
  magnitude -= quarterRevolution;
@@ -342012,7 +342425,7 @@ class Formatter {
342012
342425
  if (quadrant === 2 && spec.unitConversions.length > 0) {
342013
342426
  // To determine if value is small, we need to convert it to the smallest unit presented and use the provided precision on it
342014
342427
  const unitConversion = spec.unitConversions[spec.unitConversions.length - 1].conversion;
342015
- const smallestFormattedDelta = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)((quarterRevolution - magnitude), unitConversion) + this.FPV_MINTHRESHOLD;
342428
+ const smallestFormattedDelta = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)((quarterRevolution - magnitude), unitConversion) + this.FPV_MINTHRESHOLD;
342016
342429
  const precisionScale = Math.pow(10.0, spec.format.precision);
342017
342430
  const floor = Math.floor((smallestFormattedDelta) * precisionScale + FPV_ROUNDFACTOR) / precisionScale;
342018
342431
  if (floor === 0) {
@@ -342021,13 +342434,13 @@ class Formatter {
342021
342434
  }
342022
342435
  return { magnitude, prefix, suffix };
342023
342436
  }
342024
- if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Azimuth) {
342437
+ if (type === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Azimuth) {
342025
342438
  let azimuthBase = 0; // default base is North
342026
342439
  if (spec.format.azimuthBase !== undefined) {
342027
342440
  if (spec.azimuthBaseConversion === undefined) {
342028
342441
  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.`);
342029
342442
  }
342030
- const azBaseQuantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.azimuthBaseUnit, spec.format.azimuthBase);
342443
+ const azBaseQuantity = new _Quantity__WEBPACK_IMPORTED_MODULE_4__.Quantity(spec.format.azimuthBaseUnit, spec.format.azimuthBase);
342031
342444
  const azBaseConverted = azBaseQuantity.convertTo(spec.persistenceUnit, spec.azimuthBaseConversion);
342032
342445
  if (azBaseConverted === undefined || !azBaseConverted.isValid) {
342033
342446
  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}.`);
@@ -342057,40 +342470,87 @@ class Formatter {
342057
342470
  if (spec.revolutionConversion === undefined) {
342058
342471
  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.`);
342059
342472
  }
342060
- const revolution = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.revolutionUnit, 1.0);
342473
+ const revolution = new _Quantity__WEBPACK_IMPORTED_MODULE_4__.Quantity(spec.format.revolutionUnit, 1.0);
342061
342474
  const converted = revolution.convertTo(spec.persistenceUnit, spec.revolutionConversion);
342062
342475
  if (converted === undefined || !converted.isValid) {
342063
342476
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.UnsupportedUnit, `Failed to convert revolution unit to ${spec.persistenceUnit.name}.`);
342064
342477
  }
342065
342478
  return converted.magnitude;
342066
342479
  }
342480
+ static formatRatioPart(value, spec, side) {
342481
+ const formatType = spec.format.ratioFormatType === "Fractional" ? _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional : _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Decimal;
342482
+ const tempFormat = spec.format.clone({ type: formatType });
342483
+ const tempSpec = new _FormatterSpec__WEBPACK_IMPORTED_MODULE_2__.FormatterSpec(spec.name, tempFormat, spec.unitConversions, spec.persistenceUnit);
342484
+ let formattedValue = this.formatMagnitude(value, tempSpec);
342485
+ // For fractional ratio formatting, suppress leading "0" if the value is purely fractional
342486
+ if (formatType === _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatType.Fractional && formattedValue.startsWith("0 ")) {
342487
+ formattedValue = formattedValue.substring(2); // Remove "0 " prefix
342488
+ }
342489
+ // Add unit label if ShowUnitLabel trait is set
342490
+ // unitConversions[0] = ratio scale factor, [1] = numerator unit, [2] = denominator unit
342491
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel) && spec.unitConversions.length >= 3) {
342492
+ const labelToAdd = side === "numerator" ? spec.unitConversions[1].label : spec.unitConversions[2].label;
342493
+ formattedValue = formattedValue + labelToAdd;
342494
+ }
342495
+ return formattedValue;
342496
+ }
342497
+ /** Format a ratio quantity value (separate from composite formatting) */
342498
+ static formatRatioQuantity(magnitude, spec) {
342499
+ const unitConversion = spec.unitConversions[0].conversion;
342500
+ let unitValue = 0.0;
342501
+ try {
342502
+ unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_4__.applyConversion)(magnitude, unitConversion) + this.FPV_MINTHRESHOLD;
342503
+ }
342504
+ catch (e) {
342505
+ // The "InvertingZero" error is thrown when the value is zero and the conversion factor is inverted.
342506
+ // For ratio, we return "1:0" as the formatted value.
342507
+ if (e instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && e.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
342508
+ return { componentText: "1:0", isNegative: false };
342509
+ }
342510
+ throw e;
342511
+ }
342512
+ const componentText = this.formatRatio(unitValue, spec);
342513
+ const isNegative = unitValue < 0;
342514
+ return { componentText, isNegative };
342515
+ }
342067
342516
  static formatRatio(magnitude, spec) {
342068
342517
  if (null === spec.format.ratioType)
342069
342518
  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.`);
342070
342519
  const precisionScale = Math.pow(10.0, spec.format.precision);
342520
+ const separator = spec.format.ratioSeparator;
342071
342521
  let reciprocal = 0;
342522
+ // Helper to get unit labels if ShowUnitLabel is set
342523
+ const getUnitLabels = () => {
342524
+ if (spec.format.hasFormatTraitSet(_FormatEnums__WEBPACK_IMPORTED_MODULE_3__.FormatTraits.ShowUnitLabel) && spec.unitConversions.length >= 3) {
342525
+ return { numeratorLabel: spec.unitConversions[1].label, denominatorLabel: spec.unitConversions[2].label };
342526
+ }
342527
+ return { numeratorLabel: "", denominatorLabel: "" };
342528
+ };
342529
+ const { numeratorLabel, denominatorLabel } = getUnitLabels();
342072
342530
  if (magnitude === 0.0)
342073
- return "0:1";
342531
+ return `0${separator}1`;
342074
342532
  else
342075
342533
  reciprocal = 1.0 / magnitude;
342076
342534
  switch (spec.format.ratioType) {
342077
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.OneToN:
342078
- return `1:${this.formatMagnitude(reciprocal, spec)}`;
342079
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.NToOne:
342080
- return `${this.formatMagnitude(magnitude, spec)}:1`;
342081
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.ValueBased:
342082
- if (magnitude > 1.0)
342083
- return `${this.formatMagnitude(magnitude, spec)}:1`;
342084
- else
342085
- return `1:${this.formatMagnitude(reciprocal, spec)}`;
342086
- case _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.RatioType.UseGreatestCommonDivisor:
342535
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.OneToN:
342536
+ return `1${numeratorLabel}${separator}${this.formatRatioPart(reciprocal, spec, "denominator")}`;
342537
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.NToOne:
342538
+ return `${this.formatRatioPart(magnitude, spec, "numerator")}${separator}1${denominatorLabel}`;
342539
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.ValueBased:
342540
+ if (magnitude > 1.0) {
342541
+ return `${this.formatRatioPart(magnitude, spec, "numerator")}${separator}1${denominatorLabel}`;
342542
+ }
342543
+ else {
342544
+ return `1${numeratorLabel}${separator}${this.formatRatioPart(reciprocal, spec, "denominator")}`;
342545
+ }
342546
+ case _FormatEnums__WEBPACK_IMPORTED_MODULE_3__.RatioType.UseGreatestCommonDivisor:
342087
342547
  magnitude = Math.round(magnitude * precisionScale) / precisionScale;
342088
342548
  let numerator = magnitude * precisionScale;
342089
342549
  let denominator = precisionScale;
342090
342550
  const gcd = FractionalNumeric.getGreatestCommonFactor(numerator, denominator);
342091
342551
  numerator /= gcd;
342092
342552
  denominator /= gcd;
342093
- return `${this.formatMagnitude(numerator, spec)}:${this.formatMagnitude(denominator, spec)}`;
342553
+ return `${this.formatRatioPart(numerator, spec, "numerator")}${separator}${this.formatRatioPart(denominator, spec, "denominator")}`;
342094
342554
  default:
342095
342555
  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.`);
342096
342556
  }
@@ -342111,7 +342571,8 @@ __webpack_require__.r(__webpack_exports__);
342111
342571
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
342112
342572
  /* harmony export */ FormatterSpec: () => (/* binding */ FormatterSpec)
342113
342573
  /* harmony export */ });
342114
- /* harmony import */ var _Formatter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Formatter */ "../../core/quantity/lib/esm/Formatter/Formatter.js");
342574
+ /* harmony import */ var _FormatEnums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
342575
+ /* harmony import */ var _Formatter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Formatter */ "../../core/quantity/lib/esm/Formatter/Formatter.js");
342115
342576
  /*---------------------------------------------------------------------------------------------
342116
342577
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
342117
342578
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -342120,6 +342581,7 @@ __webpack_require__.r(__webpack_exports__);
342120
342581
  * @module Quantity
342121
342582
  */
342122
342583
 
342584
+
342123
342585
  // cSpell:ignore ZERONORMALIZED, nosign, onlynegative, signalways, negativeparentheses
342124
342586
  // cSpell:ignore trailzeroes, keepsinglezero, zeroempty, keepdecimalpoint, applyrounding, fractiondash, showunitlabel, prependunitlabel, exponentonlynegative
342125
342587
  /** 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.
@@ -342166,6 +342628,49 @@ class FormatterSpec {
342166
342628
  get persistenceUnit() { return this._persistenceUnit; }
342167
342629
  get azimuthBaseConversion() { return this._azimuthBaseConversion; }
342168
342630
  get revolutionConversion() { return this._revolutionConversion; }
342631
+ /** Build conversion specs for ratio format with 2 composite units (numerator/denominator). */
342632
+ static async getRatioUnitConversions(units, unitsProvider, persistenceUnit) {
342633
+ const conversions = [];
342634
+ const [numeratorUnit, numeratorLabel] = units[0];
342635
+ const [denominatorUnit, denominatorLabel] = units[1];
342636
+ // Compute ratio scale: how many numerator units per denominator unit (e.g., IN:FT = 12)
342637
+ const denominatorToNumerator = await unitsProvider.getConversion(denominatorUnit, numeratorUnit);
342638
+ const displayRatioScale = denominatorToNumerator.factor;
342639
+ // Avoid double-scaling: if persistence unit already encodes the display ratio, use factor 1.
342640
+ // Check by name heuristic (e.g., IN_PER_FT with ratioUnits [IN, FT] → no scaling needed)
342641
+ const persistenceName = persistenceUnit.name.toUpperCase();
342642
+ const numName = numeratorUnit.name.toUpperCase().split(".").pop() ?? "";
342643
+ const denName = denominatorUnit.name.toUpperCase().split(".").pop() ?? "";
342644
+ // Split by word boundaries (underscores, dots) and check for exact token matches
342645
+ const persistenceTokens = persistenceName.split(/[._]/);
342646
+ const isPersistenceMatchingRatio = persistenceTokens.includes(numName) && persistenceTokens.includes(denName);
342647
+ const ratioScaleFactor = isPersistenceMatchingRatio ? 1.0 : displayRatioScale;
342648
+ // First conversion spec: effective ratio unit conversion
342649
+ const ratioConversionSpec = {
342650
+ name: `${numeratorUnit.name}_per_${denominatorUnit.name}`,
342651
+ label: "",
342652
+ system: numeratorUnit.system,
342653
+ conversion: { factor: ratioScaleFactor, offset: 0.0 },
342654
+ };
342655
+ conversions.push(ratioConversionSpec);
342656
+ // Numerator unit for label lookup
342657
+ const numeratorSpec = {
342658
+ name: numeratorUnit.name,
342659
+ label: numeratorLabel?.length ? numeratorLabel : numeratorUnit.label,
342660
+ system: numeratorUnit.system,
342661
+ conversion: { factor: 1.0, offset: 0.0 },
342662
+ };
342663
+ conversions.push(numeratorSpec);
342664
+ // Denominator unit for label lookup
342665
+ const denominatorSpec = {
342666
+ name: denominatorUnit.name,
342667
+ label: denominatorLabel?.length ? denominatorLabel : denominatorUnit.label,
342668
+ system: denominatorUnit.system,
342669
+ conversion: { factor: 1.0, offset: 0.0 },
342670
+ };
342671
+ conversions.push(denominatorSpec);
342672
+ return conversions;
342673
+ }
342169
342674
  /** Get an array of UnitConversionSpecs, one for each unit that is to be shown in the formatted quantity string. */
342170
342675
  static async getUnitConversions(format, unitsProvider, inputUnit) {
342171
342676
  const conversions = [];
@@ -342179,6 +342684,10 @@ class FormatterSpec {
342179
342684
  throw new Error("Formatter Spec needs persistence unit to be specified");
342180
342685
  }
342181
342686
  }
342687
+ // Handle 2-unit composite for ratio formats (scale factors)
342688
+ if (format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_0__.FormatType.Ratio && format.units && format.units.length === 2) {
342689
+ return FormatterSpec.getRatioUnitConversions(format.units, unitsProvider, persistenceUnit);
342690
+ }
342182
342691
  if (format.units) {
342183
342692
  let convertFromUnit = inputUnit;
342184
342693
  for (const unit of format.units) {
@@ -342235,7 +342744,7 @@ class FormatterSpec {
342235
342744
  }
342236
342745
  /** Format a quantity value. */
342237
342746
  applyFormatting(magnitude) {
342238
- return _Formatter__WEBPACK_IMPORTED_MODULE_0__.Formatter.formatQuantity(magnitude, this);
342747
+ return _Formatter__WEBPACK_IMPORTED_MODULE_1__.Formatter.formatQuantity(magnitude, this);
342239
342748
  }
342240
342749
  }
342241
342750
 
@@ -342343,13 +342852,14 @@ var ParseError;
342343
342852
  ParseError[ParseError["BearingPrefixOrSuffixMissing"] = 7] = "BearingPrefixOrSuffixMissing";
342344
342853
  ParseError[ParseError["MathematicOperationFoundButIsNotAllowed"] = 8] = "MathematicOperationFoundButIsNotAllowed";
342345
342854
  ParseError[ParseError["BearingAngleOutOfRange"] = 9] = "BearingAngleOutOfRange";
342855
+ ParseError[ParseError["InvalidMathResult"] = 10] = "InvalidMathResult";
342346
342856
  })(ParseError || (ParseError = {}));
342347
342857
  var Operator;
342348
342858
  (function (Operator) {
342349
342859
  Operator["addition"] = "+";
342350
342860
  Operator["subtraction"] = "-";
342351
342861
  Operator["multiplication"] = "*";
342352
- Operator["division"] = "/"; // unsupported but we recognize it during parsing
342862
+ Operator["division"] = "/";
342353
342863
  })(Operator || (Operator = {}));
342354
342864
  function isOperator(char) {
342355
342865
  if (typeof char === "number") {
@@ -343104,36 +343614,107 @@ class Parser {
343104
343614
  magnitude = this.normalizeAngle(magnitude, revolution);
343105
343615
  return { ok: true, value: magnitude };
343106
343616
  }
343617
+ /**
343618
+ * Parse a ratio part string (numerator or denominator) to extract the numeric value and optional unit label.
343619
+ * This method processes tokens without applying unit conversions, allowing the ratio format
343620
+ * handler to manage conversions at the ratio level.
343621
+ *
343622
+ *
343623
+ * @note Fractions are already handled by parseQuantitySpecification, which converts them to
343624
+ * single numeric tokens (e.g., "1/2" becomes 0.5).
343625
+ *
343626
+ * @param partStr The string to parse, which may contain a number, fraction, or mixed fraction with optional unit label.
343627
+ * @param format The format specification used for token parsing.
343628
+ * @returns An object containing the parsed numeric value and optional unit label. Returns NaN for value if no number is found.
343629
+ */
343630
+ static parseRatioPart(partStr, format) {
343631
+ partStr = partStr.trim();
343632
+ // Parse tokens - fractions are automatically converted to decimal values by parseQuantitySpecification
343633
+ const tempFormat = format.clone({ type: _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Decimal });
343634
+ const tokens = Parser.parseQuantitySpecification(partStr, tempFormat);
343635
+ let value = NaN;
343636
+ let unitLabel;
343637
+ // Pre-process: merge negative operators with following numbers
343638
+ const processedTokens = [];
343639
+ for (let i = 0; i < tokens.length; i++) {
343640
+ const token = tokens[i];
343641
+ if (token.isOperator && i === 0 && token.value === "-" &&
343642
+ i + 1 < tokens.length && tokens[i + 1].isNumber) {
343643
+ // Merge negative sign with number
343644
+ processedTokens.push(new ParseToken(-tokens[i + 1].value));
343645
+ i++; // Skip the number token since we consumed it
343646
+ }
343647
+ else {
343648
+ processedTokens.push(token);
343649
+ }
343650
+ }
343651
+ // Extract numeric value and unit label from processed tokens
343652
+ for (const token of processedTokens) {
343653
+ if (token.isNumber && isNaN(value)) {
343654
+ value = token.value;
343655
+ }
343656
+ else if (token.isString && !token.isOperator) {
343657
+ // String token that's not an operator - treat as unit label
343658
+ unitLabel = token.value;
343659
+ }
343660
+ }
343661
+ return { value, unitLabel };
343662
+ }
343107
343663
  static parseRatioFormat(inString, spec) {
343108
343664
  if (!inString)
343109
343665
  return { ok: false, error: ParseError.NoValueOrUnitFoundInString };
343110
- const parts = inString.split(":");
343666
+ const separator = spec.format.ratioSeparator ?? ":";
343667
+ const parts = inString.split(separator);
343111
343668
  if (parts.length > 2)
343112
343669
  return { ok: false, error: ParseError.UnableToConvertParseTokensToQuantity };
343113
- const numerator = parseFloat(parts[0]);
343114
- let denominator;
343115
- if (parts.length === 1) {
343116
- denominator = 1.0;
343117
- }
343118
- else {
343119
- denominator = parseFloat(parts[1]);
343670
+ // If the string doesn't contain the expected separator but contains other ratio-like separators,
343671
+ // return an error since the wrong separator was used
343672
+ if (parts.length === 1 && !inString.includes(separator)) {
343673
+ // Check if the string contains other common ratio separators
343674
+ const otherSeparators = [":", "=", "/"];
343675
+ for (const otherSep of otherSeparators) {
343676
+ if (otherSep !== separator && inString.includes(otherSep)) {
343677
+ // The string looks like a ratio but uses the wrong separator
343678
+ return { ok: false, error: ParseError.UnableToConvertParseTokensToQuantity };
343679
+ }
343680
+ }
343681
+ // Parse as a regular quantity value (numerator only, denominator = 1)
343682
+ const result = this.parseAndProcessTokens(inString, spec.format, spec.unitConversions);
343683
+ return result;
343120
343684
  }
343121
- if (isNaN(numerator) || isNaN(denominator))
343685
+ // Parse numerator and denominator parts which may include unit labels
343686
+ const numeratorPart = this.parseRatioPart(parts[0], spec.format);
343687
+ const denominatorPart = parts.length === 1 ? { value: 1.0 } : this.parseRatioPart(parts[1], spec.format);
343688
+ if (isNaN(numeratorPart.value) || isNaN(denominatorPart.value))
343122
343689
  return { ok: false, error: ParseError.NoValueOrUnitFoundInString };
343690
+ // Handle 2-unit composite case - simpler conversion using the pre-computed scale factor
343691
+ if (spec.format.units && spec.format.units.length === 2 && spec.unitConversions.length >= 3) {
343692
+ const ratioConvSpec = spec.unitConversions[0];
343693
+ const scaleFactor = ratioConvSpec.conversion.factor;
343694
+ if (denominatorPart.value === 0) {
343695
+ return { ok: false, error: ParseError.InvalidMathResult };
343696
+ }
343697
+ // The ratio value is numerator/denominator in the display units (e.g., 12 for 12"=1')
343698
+ // Divide by scale factor to get persistence unit value (e.g., 12/12 = 1.0)
343699
+ const ratioValue = numeratorPart.value / denominatorPart.value;
343700
+ const convertedValue = ratioValue / scaleFactor;
343701
+ return { ok: true, value: convertedValue };
343702
+ }
343703
+ // Original flow for 1-unit composite - use Quantity.convertTo for proper unit conversion
343123
343704
  const defaultUnit = spec.format.units && spec.format.units.length > 0 ? spec.format.units[0][0] : undefined;
343124
343705
  const unitConversion = defaultUnit ? Parser.tryFindUnitConversion(defaultUnit.label, spec.unitConversions, defaultUnit) : undefined;
343125
343706
  if (!unitConversion) {
343126
343707
  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}.`);
343127
343708
  }
343128
- if (denominator === 0) {
343129
- if (unitConversion.inversion && numerator === 1)
343709
+ if (denominatorPart.value === 0) {
343710
+ if (unitConversion.inversion && numeratorPart.value === 1)
343130
343711
  return { ok: true, value: 0.0 };
343131
343712
  else
343132
- return { ok: false, error: ParseError.MathematicOperationFoundButIsNotAllowed };
343713
+ return { ok: false, error: ParseError.InvalidMathResult };
343133
343714
  }
343134
343715
  let quantity;
343135
343716
  if (spec.format.units && spec.outUnit) {
343136
- quantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.units[0][0], numerator / denominator);
343717
+ quantity = new _Quantity__WEBPACK_IMPORTED_MODULE_3__.Quantity(spec.format.units[0][0], numeratorPart.value / denominatorPart.value);
343137
343718
  }
343138
343719
  else {
343139
343720
  throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.MissingRequiredProperty, "Missing presentation unit or persistence unit for ratio format.");
@@ -343145,7 +343726,7 @@ class Parser {
343145
343726
  catch (err) {
343146
343727
  // for input of "0:N" with reversed unit
343147
343728
  if (err instanceof _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError && err.errorNumber === _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvertingZero) {
343148
- return { ok: false, error: ParseError.MathematicOperationFoundButIsNotAllowed };
343729
+ return { ok: false, error: ParseError.InvalidMathResult };
343149
343730
  }
343150
343731
  }
343151
343732
  if (converted === undefined || !converted.isValid) {
@@ -343271,7 +343852,8 @@ __webpack_require__.r(__webpack_exports__);
343271
343852
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
343272
343853
  /* harmony export */ ParserSpec: () => (/* binding */ ParserSpec)
343273
343854
  /* harmony export */ });
343274
- /* harmony import */ var _Parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Parser */ "../../core/quantity/lib/esm/Parser.js");
343855
+ /* harmony import */ var _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Formatter/FormatEnums */ "../../core/quantity/lib/esm/Formatter/FormatEnums.js");
343856
+ /* harmony import */ var _Parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Parser */ "../../core/quantity/lib/esm/Parser.js");
343275
343857
  /*---------------------------------------------------------------------------------------------
343276
343858
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
343277
343859
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -343280,6 +343862,7 @@ __webpack_require__.r(__webpack_exports__);
343280
343862
  * @module Quantity
343281
343863
  */
343282
343864
 
343865
+
343283
343866
  /** A ParserSpec holds information needed to parse a string into a quantity synchronously.
343284
343867
  * @beta
343285
343868
  */
@@ -343305,6 +343888,51 @@ class ParserSpec {
343305
343888
  get outUnit() { return this._outUnit; }
343306
343889
  get azimuthBaseConversion() { return this._azimuthBaseConversion; }
343307
343890
  get revolutionConversion() { return this._revolutionConversion; }
343891
+ /** Build conversion specs for ratio format with 2 composite units (numerator/denominator). */
343892
+ static async getRatioUnitConversions(units, unitsProvider, outUnit, altUnitLabelsProvider) {
343893
+ const conversions = [];
343894
+ const [numeratorUnit, numeratorLabel] = units[0];
343895
+ const [denominatorUnit, denominatorLabel] = units[1];
343896
+ // Compute ratio scale: how many numerator units per denominator unit (e.g., IN:FT = 12)
343897
+ const denominatorToNumerator = await unitsProvider.getConversion(denominatorUnit, numeratorUnit);
343898
+ const displayRatioScale = denominatorToNumerator.factor;
343899
+ // Avoid double-scaling: if persistence unit already encodes the display ratio, use factor 1.
343900
+ // Check by name heuristic (e.g., IN_PER_FT with ratioUnits [IN, FT] → no scaling needed)
343901
+ const persistenceName = outUnit.name.toUpperCase();
343902
+ const numName = numeratorUnit.name.toUpperCase().split(".").pop() ?? "";
343903
+ const denName = denominatorUnit.name.toUpperCase().split(".").pop() ?? "";
343904
+ // Split by word boundaries (underscores, dots) and check for exact token matches
343905
+ const persistenceTokens = persistenceName.split(/[._]/);
343906
+ const isPersistenceMatchingRatio = persistenceTokens.includes(numName) && persistenceTokens.includes(denName);
343907
+ const ratioScaleFactor = isPersistenceMatchingRatio ? 1.0 : displayRatioScale;
343908
+ // First conversion spec: effective ratio unit conversion
343909
+ const ratioConversionSpec = {
343910
+ name: `${numeratorUnit.name}_per_${denominatorUnit.name}`,
343911
+ label: "",
343912
+ system: numeratorUnit.system,
343913
+ conversion: { factor: ratioScaleFactor, offset: 0.0 },
343914
+ };
343915
+ conversions.push(ratioConversionSpec);
343916
+ // Numerator unit for label lookup
343917
+ const numeratorSpec = {
343918
+ name: numeratorUnit.name,
343919
+ label: numeratorLabel?.length ? numeratorLabel : numeratorUnit.label,
343920
+ system: numeratorUnit.system,
343921
+ conversion: { factor: 1.0, offset: 0.0 },
343922
+ parseLabels: altUnitLabelsProvider?.getAlternateUnitLabels(numeratorUnit),
343923
+ };
343924
+ conversions.push(numeratorSpec);
343925
+ // Denominator unit for label lookup
343926
+ const denominatorSpec = {
343927
+ name: denominatorUnit.name,
343928
+ label: denominatorLabel?.length ? denominatorLabel : denominatorUnit.label,
343929
+ system: denominatorUnit.system,
343930
+ conversion: { factor: 1.0, offset: 0.0 },
343931
+ parseLabels: altUnitLabelsProvider?.getAlternateUnitLabels(denominatorUnit),
343932
+ };
343933
+ conversions.push(denominatorSpec);
343934
+ return conversions;
343935
+ }
343308
343936
  /** 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
343309
343937
  * 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
343310
343938
  * async calls to lookup unit definitions.
@@ -343313,7 +343941,14 @@ class ParserSpec {
343313
343941
  * @param outUnit The unit a value will be formatted to. This unit is often referred to as persistence unit.
343314
343942
  */
343315
343943
  static async create(format, unitsProvider, outUnit, altUnitLabelsProvider) {
343316
- const conversions = await _Parser__WEBPACK_IMPORTED_MODULE_0__.Parser.createUnitConversionSpecsForUnit(unitsProvider, outUnit, altUnitLabelsProvider);
343944
+ let conversions;
343945
+ // For ratio formats with 2 composite units, use private helper method
343946
+ if (format.type === _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_0__.FormatType.Ratio && format.units && format.units.length === 2) {
343947
+ conversions = await ParserSpec.getRatioUnitConversions(format.units, unitsProvider, outUnit, altUnitLabelsProvider);
343948
+ }
343949
+ else {
343950
+ conversions = await _Parser__WEBPACK_IMPORTED_MODULE_1__.Parser.createUnitConversionSpecsForUnit(unitsProvider, outUnit, altUnitLabelsProvider);
343951
+ }
343317
343952
  const spec = new ParserSpec(outUnit, format, conversions);
343318
343953
  if (format.azimuthBaseUnit !== undefined) {
343319
343954
  if (outUnit !== undefined) {
@@ -343335,7 +343970,7 @@ class ParserSpec {
343335
343970
  }
343336
343971
  /** Do the parsing. Done this way to allow Custom Parser Specs to parse custom formatted strings into their quantities. */
343337
343972
  parseToQuantityValue(inString) {
343338
- return _Parser__WEBPACK_IMPORTED_MODULE_0__.Parser.parseQuantityString(inString, this);
343973
+ return _Parser__WEBPACK_IMPORTED_MODULE_1__.Parser.parseQuantityString(inString, this);
343339
343974
  }
343340
343975
  }
343341
343976
 
@@ -343533,6 +344168,7 @@ __webpack_require__.r(__webpack_exports__);
343533
344168
  /* harmony export */ QuantityConstants: () => (/* reexport safe */ _Constants__WEBPACK_IMPORTED_MODULE_0__.QuantityConstants),
343534
344169
  /* harmony export */ QuantityError: () => (/* reexport safe */ _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError),
343535
344170
  /* harmony export */ QuantityStatus: () => (/* reexport safe */ _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus),
344171
+ /* harmony export */ RatioFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.RatioFormatType),
343536
344172
  /* harmony export */ RatioType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.RatioType),
343537
344173
  /* harmony export */ ScientificType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.ScientificType),
343538
344174
  /* harmony export */ ShowSignOption: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.ShowSignOption),
@@ -343551,6 +344187,7 @@ __webpack_require__.r(__webpack_exports__);
343551
344187
  /* harmony export */ parseFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseFormatType),
343552
344188
  /* harmony export */ parseFractionalPrecision: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseFractionalPrecision),
343553
344189
  /* harmony export */ parsePrecision: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parsePrecision),
344190
+ /* harmony export */ parseRatioFormatType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseRatioFormatType),
343554
344191
  /* harmony export */ parseRatioType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseRatioType),
343555
344192
  /* harmony export */ parseScientificType: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseScientificType),
343556
344193
  /* harmony export */ parseShowSignOption: () => (/* reexport safe */ _Formatter_FormatEnums__WEBPACK_IMPORTED_MODULE_9__.parseShowSignOption),
@@ -344510,7 +345147,7 @@ class TestContext {
344510
345147
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
344511
345148
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
344512
345149
  await core_frontend_1.NoRenderApp.startup({
344513
- applicationVersion: "5.6.0-dev.8",
345150
+ applicationVersion: "5.7.0-dev.2",
344514
345151
  applicationId: this.settings.gprid,
344515
345152
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
344516
345153
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -371203,7 +371840,7 @@ var loadLanguages = instance.loadLanguages;
371203
371840
  /***/ ((module) => {
371204
371841
 
371205
371842
  "use strict";
371206
- 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"}}');
371843
+ 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"}}');
371207
371844
 
371208
371845
  /***/ }),
371209
371846