@itwin/rpcinterface-full-stack-tests 5.0.0-dev.50 → 5.0.0-dev.52

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.
@@ -80189,6 +80189,48 @@ class Format extends _SchemaItem__WEBPACK_IMPORTED_MODULE_4__.SchemaItem {
80189
80189
  setStationSeparator(separator) {
80190
80190
  this._base.stationSeparator = separator;
80191
80191
  }
80192
+ /**
80193
+ * @alpha Used in schema editing.
80194
+ */
80195
+ setStationOffsetSize(stationOffsetSize) {
80196
+ this._base.stationOffsetSize = stationOffsetSize;
80197
+ }
80198
+ /**
80199
+ * @alpha Used in schema editing.
80200
+ */
80201
+ setScientificType(scientificType) {
80202
+ this._base.scientificType = scientificType;
80203
+ }
80204
+ /**
80205
+ * @alpha Used in schema editing.
80206
+ */
80207
+ setMinWidth(minWidth) {
80208
+ this._base.minWidth = minWidth;
80209
+ }
80210
+ /**
80211
+ * @alpha Used in schema editing.
80212
+ */
80213
+ setSpacer(spacer) {
80214
+ this._base.spacer = spacer;
80215
+ }
80216
+ /**
80217
+ * @alpha Used in schema editing.
80218
+ */
80219
+ setIncludeZero(includeZero) {
80220
+ this._base.includeZero = includeZero;
80221
+ }
80222
+ /**
80223
+ * @alpha Used in schema editing.
80224
+ */
80225
+ setFormatTraits(formatTraits) {
80226
+ this._base.formatTraits = formatTraits;
80227
+ }
80228
+ /**
80229
+ * @alpha Used in schema editing.
80230
+ */
80231
+ setUnits(units) {
80232
+ this._units = units;
80233
+ }
80192
80234
  }
80193
80235
  /**
80194
80236
  * @internal
@@ -85250,10 +85292,18 @@ class Flags {
85250
85292
  this.animateRotation = false;
85251
85293
  }
85252
85294
  }
85253
- /** @internal */
85295
+ /** AccuDraw value round off settings. Allows dynamic distance and angle values to be rounded to the nearest increment of the specified units value(s).
85296
+ * @public
85297
+ */
85254
85298
  class RoundOff {
85255
85299
  constructor() {
85300
+ /** Whether rounding is to be applied to the corresponding dynamic distance or angle value.
85301
+ * @note To be considered active, units must also specify at least one increment value.
85302
+ */
85256
85303
  this.active = false;
85304
+ /** Round off increment value(s), meters for distance round off, and radians for angle round off.
85305
+ * @note When multiple values are specified, rounding is based on smallest discernable value at current view zoom.
85306
+ */
85257
85307
  this.units = new Set();
85258
85308
  }
85259
85309
  }
@@ -85420,6 +85470,10 @@ class AccuDraw {
85420
85470
  if (wasActive !== this.isActive)
85421
85471
  this.onCompassDisplayChange(wasActive ? "hide" : "show");
85422
85472
  }
85473
+ /** Get distance round off settings */
85474
+ get distanceRoundOff() { return this._distanceRoundOff; }
85475
+ /** Get angle round off settings */
85476
+ get angleRoundOff() { return this._angleRoundOff; }
85423
85477
  static { this._tempRot = new _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d(); }
85424
85478
  /** @internal */
85425
85479
  onInitialized() { this.enableForSession(); }
@@ -91877,16 +91931,12 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
91877
91931
  return this.getRealityModels();
91878
91932
  }
91879
91933
  /** @internal */
91880
- forEachRealityTileTreeRef(func) {
91881
- this.forEachRealityModel((model) => {
91934
+ *getTileTreeRefs() {
91935
+ for (const model of this.realityModels) {
91882
91936
  if (!model.invisible) {
91883
- func(model.treeRef);
91937
+ yield model.treeRef;
91884
91938
  }
91885
- });
91886
- }
91887
- /** @internal */
91888
- forEachTileTreeRef(func) {
91889
- this.forEachRealityTileTreeRef(func);
91939
+ }
91890
91940
  }
91891
91941
  /** Performs logical comparison against another display style. Two display styles are logically equivalent if they have the same name, Id, and settings.
91892
91942
  * @param other The display style to which to compare.
@@ -99983,11 +100033,11 @@ class PlanarClipMaskState {
99983
100033
  // For this case, we don't need a maskRange so leave it as null.
99984
100034
  const viewTrees = new Array();
99985
100035
  const thisPriority = this.settings.priority === undefined ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.PlanarClipMaskPriority.RealityModel : this.settings.priority;
99986
- context.viewport.forEachTileTreeRef((ref) => {
100036
+ for (const ref of context.viewport.getTileTreeRefs()) {
99987
100037
  const tree = ref.treeOwner.load();
99988
100038
  if (tree && tree.modelId !== classifiedModelId && ref.planarClipMaskPriority > thisPriority)
99989
100039
  viewTrees.push(ref);
99990
- });
100040
+ }
99991
100041
  return viewTrees;
99992
100042
  }
99993
100043
  // For all other modes we need to let the tree refs in the view state decide which refs need to be drawn
@@ -102485,9 +102535,9 @@ class SpatialViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_6__.ViewState
102485
102535
  computeFitRange(options) {
102486
102536
  // Fit to the union of the ranges of all loaded tile trees.
102487
102537
  const range = options?.baseExtents?.clone() ?? new _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Range3d();
102488
- this.forEachTileTreeRef((ref) => {
102538
+ for (const ref of this.getTileTreeRefs()) {
102489
102539
  ref.unionFitRange(range);
102490
- });
102540
+ }
102491
102541
  // Fall back to the project extents if necessary.
102492
102542
  if (range.isNull)
102493
102543
  range.setFrom(this.computeBaseExtents());
@@ -102535,9 +102585,10 @@ class SpatialViewState extends _ViewState__WEBPACK_IMPORTED_MODULE_6__.ViewState
102535
102585
  }
102536
102586
  }
102537
102587
  /** @internal */
102538
- forEachModelTreeRef(func) {
102539
- for (const ref of this._treeRefs)
102540
- func(ref);
102588
+ *getModelTreeRefs() {
102589
+ for (const ref of this._treeRefs) {
102590
+ yield ref;
102591
+ }
102541
102592
  }
102542
102593
  /** @internal */
102543
102594
  createScene(context) {
@@ -105689,11 +105740,12 @@ class ViewState extends _EntityState__WEBPACK_IMPORTED_MODULE_5__.ElementState {
105689
105740
  * map tiles as well call [[Viewport.areAreAllTileTreesLoaded]].
105690
105741
  */
105691
105742
  get areAllTileTreesLoaded() {
105692
- let allLoaded = true;
105693
- this.forEachTileTreeRef((ref) => {
105694
- allLoaded = allLoaded && ref.isLoadingComplete;
105695
- });
105696
- return allLoaded;
105743
+ for (const ref of this.getTileTreeRefs()) {
105744
+ if (!ref.isLoadingComplete) {
105745
+ return false;
105746
+ }
105747
+ }
105748
+ return true;
105697
105749
  }
105698
105750
  /** Get the name of the [[ViewDefinition]] from which this ViewState originated. */
105699
105751
  get name() {
@@ -105737,17 +105789,29 @@ class ViewState extends _EntityState__WEBPACK_IMPORTED_MODULE_5__.ElementState {
105737
105789
  this.setOrigin(this.getOrigin().plus(diff));
105738
105790
  }
105739
105791
  /** Execute a function against each [[TileTreeReference]] associated with this view.
105740
- * @note This may include tile trees not associated with any [[GeometricModelState]] - e.g., context reality data.
105792
+ * This may include tile trees not associated with any [[GeometricModelState]] - e.g., context reality data.
105793
+ * @note This method is inefficient (iteration cannot be aborted) and awkward (callback cannot be async nor return a value). Prefer to iterate using [[getTileTreeRefs]].
105794
+ * @deprecated in 5.0. Use [[getTileTreeRefs]] instead.
105741
105795
  */
105742
105796
  forEachTileTreeRef(func) {
105743
- this.forEachModelTreeRef(func);
105744
- this.displayStyle.forEachTileTreeRef(func);
105797
+ for (const ref of this.getModelTreeRefs()) {
105798
+ func(ref);
105799
+ }
105800
+ for (const ref of this.displayStyle.getTileTreeRefs()) {
105801
+ func(ref);
105802
+ }
105803
+ }
105804
+ *getTileTreeRefs() {
105805
+ yield* this.getModelTreeRefs();
105806
+ yield* this.displayStyle.getTileTreeRefs();
105745
105807
  }
105746
105808
  /** Disclose *all* TileTrees currently in use by this view. This set may include trees not reported by [[forEachTileTreeRef]] - e.g., those used by view attachments, map-draped terrain, etc.
105747
105809
  * @internal
105748
105810
  */
105749
105811
  discloseTileTrees(trees) {
105750
- this.forEachTileTreeRef((ref) => trees.disclose(ref));
105812
+ for (const ref of this.getTileTreeRefs()) {
105813
+ trees.disclose(ref);
105814
+ }
105751
105815
  }
105752
105816
  /** Discloses graphics memory consumed by viewed tile trees and other consumers like view attachments.
105753
105817
  * @internal
@@ -105767,7 +105831,9 @@ class ViewState extends _EntityState__WEBPACK_IMPORTED_MODULE_5__.ElementState {
105767
105831
  }
105768
105832
  /** @internal */
105769
105833
  createScene(context) {
105770
- this.forEachTileTreeRef((ref) => ref.addToScene(context));
105834
+ for (const ref of this.getTileTreeRefs()) {
105835
+ ref.addToScene(context);
105836
+ }
105771
105837
  }
105772
105838
  /** Add view-specific decorations. The base implementation draws the grid. Subclasses must invoke super.decorate()
105773
105839
  * @internal
@@ -106251,13 +106317,13 @@ class ViewState extends _EntityState__WEBPACK_IMPORTED_MODULE_5__.ElementState {
106251
106317
  */
106252
106318
  refreshForModifiedModels(modelIds) {
106253
106319
  let refreshed = false;
106254
- this.forEachModelTreeRef((ref) => {
106320
+ for (const ref of this.getModelTreeRefs()) {
106255
106321
  const tree = ref.treeOwner.tileTree;
106256
106322
  if (undefined !== tree && (undefined === modelIds || _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.has(modelIds, tree.modelId))) {
106257
106323
  ref.treeOwner[Symbol.dispose]();
106258
106324
  refreshed = true;
106259
106325
  }
106260
- });
106326
+ }
106261
106327
  return refreshed;
106262
106328
  }
106263
106329
  /** Determine whether this ViewState has the same coordinate system as another one.
@@ -107312,10 +107378,10 @@ class ViewState2d extends ViewState {
107312
107378
  func(model);
107313
107379
  }
107314
107380
  /** @internal */
107315
- forEachModelTreeRef(func) {
107316
- const ref = this._tileTreeRef;
107317
- if (undefined !== ref)
107318
- func(ref);
107381
+ *getModelTreeRefs() {
107382
+ if (this._tileTreeRef) {
107383
+ yield this._tileTreeRef;
107384
+ }
107319
107385
  }
107320
107386
  createAuxCoordSystem(acsName) { return _AuxCoordSys__WEBPACK_IMPORTED_MODULE_3__.AuxCoordSystem2dState.createNew(acsName, this.iModel); }
107321
107387
  }
@@ -107394,6 +107460,7 @@ __webpack_require__.r(__webpack_exports__);
107394
107460
  /* harmony import */ var _common_ViewRect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./common/ViewRect */ "../../core/frontend/lib/esm/common/ViewRect.js");
107395
107461
  /* harmony import */ var _Frustum2d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Frustum2d */ "../../core/frontend/lib/esm/Frustum2d.js");
107396
107462
  /* harmony import */ var _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BackgroundMapGeometry */ "../../core/frontend/lib/esm/BackgroundMapGeometry.js");
107463
+ /* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
107397
107464
  /*---------------------------------------------------------------------------------------------
107398
107465
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
107399
107466
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -107408,6 +107475,7 @@ __webpack_require__.r(__webpack_exports__);
107408
107475
 
107409
107476
 
107410
107477
 
107478
+
107411
107479
  /** Describes a [[Viewport]]'s viewing volume, plus its size on the screen. A new
107412
107480
  * instance of ViewingSpace is created every time the Viewport's frustum changes.
107413
107481
  * @see [[Viewport.viewingSpace]].
@@ -107618,11 +107686,11 @@ class ViewingSpace {
107618
107686
  this.rotation.setFrom(view.getRotation());
107619
107687
  this.getViewedExtents = () => {
107620
107688
  const extents = this._view.getViewedExtents();
107621
- vp.forEachTiledGraphicsProvider((provider) => {
107622
- provider.forEachTileTreeRef(vp, (ref) => {
107689
+ for (const provider of vp.tiledGraphicsProviders) {
107690
+ for (const ref of _tile_internal__WEBPACK_IMPORTED_MODULE_7__.TiledGraphicsProvider.getTileTreeRefs(provider, vp)) {
107623
107691
  ref.unionFitRange(extents);
107624
- });
107625
- });
107692
+ }
107693
+ }
107626
107694
  return extents;
107627
107695
  };
107628
107696
  // first, make sure none of the deltas are negative
@@ -108549,22 +108617,11 @@ class Viewport {
108549
108617
  */
108550
108618
  async getToolTip(hit) {
108551
108619
  const promises = new Array();
108552
- this.view.forEachTileTreeRef((ref) => {
108620
+ for (const ref of this.getTileTreeRefs()) {
108553
108621
  const promise = ref.getToolTipPromise(hit);
108554
- if (promise)
108622
+ if (promise) {
108555
108623
  promises.push(promise);
108556
- });
108557
- this.forEachMapTreeRef((ref) => {
108558
- const promise = ref.getToolTipPromise(hit);
108559
- if (promise)
108560
- promises.push(promise);
108561
- });
108562
- for (const provider of this.tiledGraphicsProviders) {
108563
- provider.forEachTileTreeRef(this, (ref) => {
108564
- const promise = ref.getToolTipPromise(hit);
108565
- if (promise)
108566
- promises.push(promise);
108567
- });
108624
+ }
108568
108625
  }
108569
108626
  const results = await Promise.all(promises);
108570
108627
  return results.find((result) => undefined !== result) ?? "";
@@ -108578,7 +108635,9 @@ class Viewport {
108578
108635
  const promises = new Array();
108579
108636
  // Execute 'getMapFeatureInfo' on every tree, and make sure to handle exception for each call,
108580
108637
  // so that we get still get results even though a tree has failed.
108581
- this.forEachMapTreeRef(async (tree) => promises.push(tree.getMapFeatureInfo(hit, options).catch(() => undefined)));
108638
+ for (const tree of this.mapTileTreeRefs) {
108639
+ promises.push(tree.getMapFeatureInfo(hit, options).catch(() => undefined));
108640
+ }
108582
108641
  const featureInfo = {};
108583
108642
  const worldPoint = hit.hitPoint.clone();
108584
108643
  const backgroundMapGeometry = hit.viewport.displayStyle.getBackgroundMapGeometry();
@@ -109079,25 +109138,36 @@ class Viewport {
109079
109138
  return this._tiledGraphicsProviders;
109080
109139
  }
109081
109140
  /** @internal */
109082
- forEachTiledGraphicsProvider(func) {
109083
- for (const provider of this._tiledGraphicsProviders)
109084
- func(provider);
109085
- }
109086
- /** @internal */
109087
- forEachTiledGraphicsProviderTree(func) {
109088
- for (const provider of this._tiledGraphicsProviders)
109089
- provider.forEachTileTreeRef(this, (ref) => func(ref));
109141
+ *tiledGraphicsProviderRefs() {
109142
+ for (const provider of this.tiledGraphicsProviders) {
109143
+ yield* _tile_internal__WEBPACK_IMPORTED_MODULE_21__.TiledGraphicsProvider.getTileTreeRefs(provider, this);
109144
+ }
109090
109145
  }
109091
- /** Apply a function to every tile tree reference associated with the map layers displayed by this viewport. */
109146
+ /** Apply a function to every tile tree reference associated with the map layers displayed by this viewport.
109147
+ * @deprecated in 5.0. Use [[mapTileTreeRefs]] instead.
109148
+ */
109092
109149
  forEachMapTreeRef(func) {
109093
109150
  if (this._mapTiledGraphicsProvider)
109094
109151
  this._mapTiledGraphicsProvider.forEachTileTreeRef(this, (ref) => func(ref));
109095
109152
  }
109096
- /** Apply a function to every [[TileTreeReference]] displayed by this viewport. */
109153
+ /** Obtain an iterator over the tile tree references used to render map imagery in this viewport, if any. */
109154
+ get mapTileTreeRefs() {
109155
+ return this._mapTiledGraphicsProvider?.getReferences(this) ?? [];
109156
+ }
109157
+ ;
109158
+ /** Apply a function to every [[TileTreeReference]] displayed by this viewport.
109159
+ * @deprecated in 5.0. Use [[getTileTreeRefs]] instead.
109160
+ */
109097
109161
  forEachTileTreeRef(func) {
109098
- this.view.forEachTileTreeRef(func);
109099
- this.forEachTiledGraphicsProviderTree(func);
109100
- this.forEachMapTreeRef(func);
109162
+ for (const ref of this.getTileTreeRefs()) {
109163
+ func(ref);
109164
+ }
109165
+ }
109166
+ /** Iterate over every [[TileTreeReference]] displayed by this viewport. */
109167
+ *getTileTreeRefs() {
109168
+ yield* this.view.getTileTreeRefs();
109169
+ yield* this.mapTileTreeRefs;
109170
+ yield* this.tiledGraphicsProviderRefs();
109101
109171
  }
109102
109172
  /**
109103
109173
  * Returns true if all [[TileTree]]s required by this viewport have been loaded.
@@ -109116,8 +109186,12 @@ class Viewport {
109116
109186
  * @internal
109117
109187
  */
109118
109188
  discloseTileTrees(trees) {
109119
- this.forEachTiledGraphicsProviderTree((ref) => trees.disclose(ref));
109120
- this.forEachMapTreeRef((ref) => trees.disclose(ref));
109189
+ for (const ref of this.tiledGraphicsProviderRefs()) {
109190
+ trees.disclose(ref);
109191
+ }
109192
+ for (const ref of this.mapTileTreeRefs) {
109193
+ trees.disclose(ref);
109194
+ }
109121
109195
  trees.disclose(this.view);
109122
109196
  }
109123
109197
  /** Register a provider of tile graphics to be drawn in this viewport.
@@ -109149,7 +109223,9 @@ class Viewport {
109149
109223
  /** @internal */
109150
109224
  getTerrainHeightRange() {
109151
109225
  const heightRange = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Range1d.createNull();
109152
- this.forEachTileTreeRef((ref) => ref.getTerrainHeight(heightRange));
109226
+ for (const ref of this.mapTileTreeRefs) {
109227
+ ref.getTerrainHeight(heightRange);
109228
+ }
109153
109229
  return heightRange;
109154
109230
  }
109155
109231
  /** @internal */
@@ -109636,9 +109712,9 @@ class Viewport {
109636
109712
  /** Compute the range of all geometry to be displayed in this viewport. */
109637
109713
  computeViewRange() {
109638
109714
  const fitRange = this.view.computeFitRange();
109639
- this.forEachTiledGraphicsProviderTree((ref) => {
109715
+ for (const ref of this.tiledGraphicsProviderRefs()) {
109640
109716
  ref.unionFitRange(fitRange);
109641
- });
109717
+ }
109642
109718
  return fitRange;
109643
109719
  }
109644
109720
  /** Set or clear the animator for this Viewport.
@@ -110394,10 +110470,13 @@ class ScreenViewport extends Viewport {
110394
110470
  const aboutBox = _IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.makeModalDiv({ autoClose: true, width: 460, closeBox: true, rootDiv: this.vpDiv.ownerDocument.body }).modal;
110395
110471
  aboutBox.className += " imodeljs-about"; // only added so the CSS knows this is the about dialog
110396
110472
  const logos = _IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.makeHTMLElement("table", { parent: aboutBox, className: "logo-cards" });
110397
- if (undefined !== _IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.applicationLogoCard)
110473
+ if (undefined !== _IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.applicationLogoCard) {
110398
110474
  logos.appendChild(_IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.applicationLogoCard());
110475
+ }
110399
110476
  logos.appendChild(_IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.makeIModelJsLogoCard());
110400
- this.forEachTileTreeRef((ref) => ref.addLogoCards(logos, this));
110477
+ for (const ref of this.getTileTreeRefs()) {
110478
+ ref.addLogoCards(logos, this);
110479
+ }
110401
110480
  ev.stopPropagation();
110402
110481
  };
110403
110482
  logo.onclick = showLogos;
@@ -110610,7 +110689,9 @@ class ScreenViewport extends Viewport {
110610
110689
  // Some naughty decorators unwittingly do so by e.g. invalidating the scene in their decorate method.
110611
110690
  this._decorationCache.prohibitRemoval = true;
110612
110691
  context.addFromDecorator(this.view);
110613
- this.forEachTiledGraphicsProviderTree((ref) => context.addFromDecorator(ref));
110692
+ for (const ref of this.tiledGraphicsProviderRefs()) {
110693
+ context.addFromDecorator(ref);
110694
+ }
110614
110695
  for (const decorator of _IModelApp__WEBPACK_IMPORTED_MODULE_10__.IModelApp.viewManager.decorators)
110615
110696
  context.addFromDecorator(decorator);
110616
110697
  ScreenViewport.removeMarkedChildren(this.decorationDiv);
@@ -140962,7 +141043,7 @@ class SolarShadowMap {
140962
141043
  const shadowRange = worldToMapTransform.multiplyRange(iModel.projectExtents);
140963
141044
  // Limit the map to only displayed models.
140964
141045
  const viewTileRange = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Range3d.createNull();
140965
- view.forEachTileTreeRef((ref) => {
141046
+ for (const ref of view.getTileTreeRefs()) {
140966
141047
  if (ref.castsShadows) {
140967
141048
  if (ref.isGlobal) {
140968
141049
  // A shadow-casting tile tree that spans the globe. Limit its range to the viewed extents.
@@ -140978,7 +141059,7 @@ class SolarShadowMap {
140978
141059
  ref.accumulateTransformedRange(viewTileRange, worldToMap, undefined);
140979
141060
  }
140980
141061
  }
140981
- });
141062
+ }
140982
141063
  if (!viewTileRange.isNull)
140983
141064
  viewTileRange.clone(shadowRange);
140984
141065
  // Expand shadow range to include both the shadowers and shadowed portion of background map.
@@ -141007,7 +141088,7 @@ class SolarShadowMap {
141007
141088
  mapToWorld.multiplyPoint3dArrayQuietNormalize(this._shadowFrustum.points);
141008
141089
  const tileRange = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Range3d.createNull();
141009
141090
  scratchFrustumPlanes.init(this._shadowFrustum);
141010
- view.forEachTileTreeRef(((ref) => {
141091
+ for (const ref of view.getTileTreeRefs()) {
141011
141092
  if (!ref.castsShadows)
141012
141093
  return;
141013
141094
  const drawArgs = createDrawArgs(context, this, ref, scratchFrustumPlanes, (tiles) => {
@@ -141018,7 +141099,7 @@ class SolarShadowMap {
141018
141099
  return;
141019
141100
  const tileToMapTransform = worldToMapTransform.multiplyTransformTransform(drawArgs.location, this._scratchTransform);
141020
141101
  drawArgs.tree.draw(drawArgs);
141021
- }));
141102
+ }
141022
141103
  if (tileRange.isNull) {
141023
141104
  this.clearGraphics(true);
141024
141105
  }
@@ -167369,6 +167450,21 @@ var TiledGraphicsProvider;
167369
167450
  return allLoaded;
167370
167451
  }
167371
167452
  TiledGraphicsProvider.isLoadingComplete = isLoadingComplete;
167453
+ /** Obtain an iterator over all of the [[TileTreeReference]]s belonging to this provider that should be drawn in the specified [[Viewport]].
167454
+ * This function invokes [[TiledGraphicsProvider.getReferences]] if implemented by `provider`; otherwise, it populates an iterable from the references
167455
+ * provided by [[TiledGraphicsProvider.forEachTileTreeRef]], which is less efficient.
167456
+ */
167457
+ function getTileTreeRefs(provider, viewport) {
167458
+ if (provider.getReferences) {
167459
+ return provider.getReferences(viewport);
167460
+ }
167461
+ const refs = [];
167462
+ provider.forEachTileTreeRef(viewport, (ref) => {
167463
+ refs.push(ref);
167464
+ });
167465
+ return refs;
167466
+ }
167467
+ TiledGraphicsProvider.getTileTreeRefs = getTileTreeRefs;
167372
167468
  })(TiledGraphicsProvider || (TiledGraphicsProvider = {}));
167373
167469
 
167374
167470
 
@@ -174672,6 +174768,12 @@ __webpack_require__.r(__webpack_exports__);
174672
174768
 
174673
174769
  /** @internal */
174674
174770
  class MapTiledGraphicsProvider {
174771
+ *getReferences(viewport) {
174772
+ if (viewport.viewFlags.backgroundMap) {
174773
+ yield this.backgroundMap;
174774
+ yield this.overlayMap;
174775
+ }
174776
+ }
174675
174777
  forEachTileTreeRef(viewport, func) {
174676
174778
  if (viewport.viewFlags.backgroundMap) {
174677
174779
  func(this.backgroundMap);
@@ -177450,6 +177552,8 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
177450
177552
  fixedLocation: false,
177451
177553
  /** Layout controls in a single row horizontally instead of in columns vertically as an option when using fixed location. */
177452
177554
  horizontalArrangement: false,
177555
+ /** When controls follow the cursor, the X and Y offsets applied to the current point to position the top left (values in inches based on screen DPI) */
177556
+ cursorOffset: { x: .4, y: .1 },
177453
177557
  /** Replace "^", ";", and ".." with "°" or ":" for easier input. */
177454
177558
  simplifiedInput: true,
177455
177559
  /** Enable simple math operations not supported by quantity parser. */
@@ -177964,11 +178068,12 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
177964
178068
  return;
177965
178069
  if (undefined !== this._controls && this._controls.overlay.parentElement !== vp.vpDiv)
177966
178070
  this.removeControls(); // Could be enhanced to save/restore partial input of currently focused item...
178071
+ const props = AccuDrawViewportUI.controlProps;
177967
178072
  if (undefined === this._controls) {
177968
178073
  const overlay = vp.addNewDiv("accudraw-overlay", true, 35);
177969
178074
  const div = this.createControlDiv();
177970
178075
  const is3dLayout = vp.view.is3d();
177971
- const isHorizontalLayout = AccuDrawViewportUI.controlProps.horizontalArrangement;
178076
+ const isHorizontalLayout = props.horizontalArrangement;
177972
178077
  overlay.appendChild(div);
177973
178078
  const createFieldAndLock = (item) => {
177974
178079
  const itemField = itemFields[item] = this.createItemField(item);
@@ -177976,7 +178081,7 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
177976
178081
  itemField.style.left = isHorizontalLayout ? `${columnOffset}px` : "0";
177977
178082
  div.appendChild(itemField);
177978
178083
  if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
177979
- rowOffset += itemField.offsetHeight * AccuDrawViewportUI.controlProps.rowSpacingFactor;
178084
+ rowOffset += itemField.offsetHeight * props.rowSpacingFactor;
177980
178085
  itemWidth = itemField.offsetWidth;
177981
178086
  itemHeight = itemField.offsetHeight;
177982
178087
  const itemLock = itemLocks[item] = this.createItemFieldLock(item);
@@ -177986,7 +178091,7 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
177986
178091
  div.appendChild(itemLock);
177987
178092
  lockWidth = itemLock.offsetWidth;
177988
178093
  if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
177989
- columnOffset += (itemWidth + lockWidth) * AccuDrawViewportUI.controlProps.columnSpacingFactor;
178094
+ columnOffset += (itemWidth + lockWidth) * props.columnSpacingFactor;
177990
178095
  };
177991
178096
  let rowOffset = 0;
177992
178097
  let columnOffset = 0;
@@ -178003,7 +178108,7 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
178003
178108
  createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item);
178004
178109
  createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item); // Both polar and rectangular modes support Z in 3d views...
178005
178110
  div.style.width = isHorizontalLayout ? `${columnOffset}px` : `${itemWidth + lockWidth + 5}px`;
178006
- div.style.height = isHorizontalLayout ? `${itemHeight * AccuDrawViewportUI.controlProps.rowSpacingFactor}px` : `${rowOffset}px`;
178111
+ div.style.height = isHorizontalLayout ? `${itemHeight * props.rowSpacingFactor}px` : `${rowOffset}px`;
178007
178112
  this._controls = { overlay, div, itemFields, itemLocks };
178008
178113
  this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.CompassMode.Polar === this.compassMode, vp.view.is3d());
178009
178114
  this.setFocusItem(this._focusItem);
@@ -178012,13 +178117,13 @@ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw
178012
178117
  }
178013
178118
  const viewRect = vp.viewRect;
178014
178119
  const position = vp.worldToView(ev.point);
178015
- if (AccuDrawViewportUI.controlProps.fixedLocation) {
178120
+ if (props.fixedLocation) {
178016
178121
  position.x = (viewRect.left + ((viewRect.width - this._controls.div.offsetWidth) * 0.5));
178017
178122
  position.y = (viewRect.bottom - this._controls.div.offsetHeight);
178018
178123
  }
178019
178124
  else {
178020
- position.x += Math.floor(vp.pixelsFromInches(0.4)) + 0.5;
178021
- position.y += Math.floor(vp.pixelsFromInches(0.1)) + 0.5;
178125
+ position.x += Math.floor(vp.pixelsFromInches(props.cursorOffset.x)) + 0.5;
178126
+ position.y += Math.floor(vp.pixelsFromInches(props.cursorOffset.y)) + 0.5;
178022
178127
  }
178023
178128
  const controlRect = new _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__.ViewRect(position.x, position.y, position.x + this._controls.div.offsetWidth, position.y + this._controls.div.offsetHeight);
178024
178129
  this.modifyControlRect(controlRect, vp);
@@ -306074,18 +306179,18 @@ class Settings {
306074
306179
  }
306075
306180
  }
306076
306181
  toString() {
306077
- return `Configurations:
306078
- backend location: ${this.Backend.location},
306079
- backend name: ${this.Backend.name},
306080
- backend version: ${this.Backend.version},
306081
- oidc client id: ${this.oidcClientId},
306082
- oidc scopes: ${this.oidcScopes},
306083
- applicationId: ${this.gprid},
306084
- log level: ${this.logLevel},
306085
- testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
306086
- testing PresentationRpcTest: ${this.runPresentationRpcTests},
306087
- testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
306088
- testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
306182
+ return `Configurations:
306183
+ backend location: ${this.Backend.location},
306184
+ backend name: ${this.Backend.name},
306185
+ backend version: ${this.Backend.version},
306186
+ oidc client id: ${this.oidcClientId},
306187
+ oidc scopes: ${this.oidcScopes},
306188
+ applicationId: ${this.gprid},
306189
+ log level: ${this.logLevel},
306190
+ testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
306191
+ testing PresentationRpcTest: ${this.runPresentationRpcTests},
306192
+ testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
306193
+ testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
306089
306194
  testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;
306090
306195
  }
306091
306196
  }
@@ -306288,7 +306393,7 @@ class TestContext {
306288
306393
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
306289
306394
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
306290
306395
  await core_frontend_1.NoRenderApp.startup({
306291
- applicationVersion: "5.0.0-dev.50",
306396
+ applicationVersion: "5.0.0-dev.52",
306292
306397
  applicationId: this.settings.gprid,
306293
306398
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
306294
306399
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -309651,13 +309756,15 @@ function traverseContentItemField(visitor, fieldHierarchy, item) {
309651
309756
  else if (pathUpToField.length > 0) {
309652
309757
  fieldHierarchy = {
309653
309758
  ...fieldHierarchy,
309654
- field: Object.assign(fieldHierarchy.field.clone(), {
309655
- type: {
309759
+ field: (function () {
309760
+ const clone = fieldHierarchy.field.clone();
309761
+ clone.type = {
309656
309762
  valueFormat: _TypeDescription__WEBPACK_IMPORTED_MODULE_4__.PropertyValueFormat.Array,
309657
309763
  typeName: `${fieldHierarchy.field.type.typeName}[]`,
309658
309764
  memberType: fieldHierarchy.field.type,
309659
- },
309660
- }),
309765
+ };
309766
+ return clone;
309767
+ })(),
309661
309768
  };
309662
309769
  }
309663
309770
  traverseContentItemFieldValue(visitor, fieldHierarchy, item.mergedFieldNames, fieldHierarchy.field.type, parentFieldName, item.values[fieldHierarchy.field.name], item.displayValues[fieldHierarchy.field.name]);
@@ -309713,7 +309820,14 @@ function traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFiel
309713
309820
  // Not finding a member field means we're traversing an ECStruct. We still need to carry member information, so we
309714
309821
  // create a fake field to represent the member
309715
309822
  memberField = {
309716
- field: new _Fields__WEBPACK_IMPORTED_MODULE_2__.Field(fieldHierarchy.field.category, memberDescription.name, memberDescription.label, memberDescription.type, fieldHierarchy.field.isReadonly, 0),
309823
+ field: new _Fields__WEBPACK_IMPORTED_MODULE_2__.Field({
309824
+ category: fieldHierarchy.field.category,
309825
+ name: memberDescription.name,
309826
+ label: memberDescription.label,
309827
+ type: memberDescription.type,
309828
+ isReadonly: fieldHierarchy.field.isReadonly,
309829
+ priority: 0,
309830
+ }),
309717
309831
  childFields: [],
309718
309832
  };
309719
309833
  }
@@ -309897,8 +310011,11 @@ function convertNestedContentItemToStructArrayItem(item, field, nextField) {
309897
310011
  nextFieldValues.display.push(nextDisplayValue);
309898
310012
  }
309899
310013
  });
309900
- const convertedItem = new _Item__WEBPACK_IMPORTED_MODULE_3__.Item(item.primaryKeys, item.label, item.imageId, // eslint-disable-line @typescript-eslint/no-deprecated
309901
- item.classInfo, { [nextField.name]: nextFieldValues.raw }, { [nextField.name]: nextFieldValues.display }, item.mergedFieldNames, item.extendedData);
310014
+ const convertedItem = new _Item__WEBPACK_IMPORTED_MODULE_3__.Item({
310015
+ ...item,
310016
+ values: { [nextField.name]: nextFieldValues.raw },
310017
+ displayValues: { [nextField.name]: nextFieldValues.display },
310018
+ });
309902
310019
  return { emptyNestedItem: false, convertedItem };
309903
310020
  }
309904
310021
  function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, parentFieldName) {
@@ -309910,8 +310027,9 @@ function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy
309910
310027
  return child;
309911
310028
  });
309912
310029
  const convertedFieldHierarchy = {
309913
- field: Object.assign(fieldHierarchy.field.clone(), {
309914
- type: {
310030
+ field: (function () {
310031
+ const clone = fieldHierarchy.field.clone();
310032
+ clone.type = {
309915
310033
  valueFormat: _TypeDescription__WEBPACK_IMPORTED_MODULE_4__.PropertyValueFormat.Array,
309916
310034
  typeName: `${fieldHierarchy.field.type.typeName}[]`,
309917
310035
  memberType: {
@@ -309923,8 +310041,9 @@ function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy
309923
310041
  type: member.field.type,
309924
310042
  })),
309925
310043
  },
309926
- },
309927
- }),
310044
+ };
310045
+ return clone;
310046
+ })(),
309928
310047
  childFields: convertedChildFieldHierarchies,
309929
310048
  };
309930
310049
  return convertedFieldHierarchy;
@@ -309964,8 +310083,12 @@ function convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHier
309964
310083
  return { emptyNestedItem: true, convertedItem: item };
309965
310084
  }
309966
310085
  const converted = convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, rawValue);
309967
- const convertedItem = new _Item__WEBPACK_IMPORTED_MODULE_3__.Item(item.primaryKeys, item.label, item.imageId, // eslint-disable-line @typescript-eslint/no-deprecated
309968
- item.classInfo, { [fieldName]: converted.raw }, { [fieldName]: converted.display }, converted.mergedFieldNames, item.extendedData);
310086
+ const convertedItem = new _Item__WEBPACK_IMPORTED_MODULE_3__.Item({
310087
+ ...item,
310088
+ values: { [fieldName]: converted.raw },
310089
+ displayValues: { [fieldName]: converted.display },
310090
+ mergedFieldNames: converted.mergedFieldNames,
310091
+ });
309969
310092
  return { emptyNestedItem: false, convertedItem };
309970
310093
  }
309971
310094
 
@@ -310319,8 +310442,8 @@ __webpack_require__.r(__webpack_exports__);
310319
310442
  /* harmony import */ var _EC__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../EC */ "../../presentation/common/lib/esm/presentation-common/EC.js");
310320
310443
  /* harmony import */ var _Error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Error */ "../../presentation/common/lib/esm/presentation-common/Error.js");
310321
310444
  /* harmony import */ var _rules_content_modifiers_RelatedPropertiesSpecification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rules/content/modifiers/RelatedPropertiesSpecification */ "../../presentation/common/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js");
310322
- /* harmony import */ var _Property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Property */ "../../presentation/common/lib/esm/presentation-common/content/Property.js");
310323
- /* harmony import */ var _Utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils */ "../../presentation/common/lib/esm/presentation-common/Utils.js");
310445
+ /* harmony import */ var _Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils */ "../../presentation/common/lib/esm/presentation-common/Utils.js");
310446
+ /* harmony import */ var _Property__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Property */ "../../presentation/common/lib/esm/presentation-common/content/Property.js");
310324
310447
  /*---------------------------------------------------------------------------------------------
310325
310448
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
310326
310449
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -310353,28 +310476,30 @@ function isNestedContentField(field) {
310353
310476
  * @public
310354
310477
  */
310355
310478
  class Field {
310356
- /**
310357
- * Creates an instance of Field.
310358
- * @param category Category information
310359
- * @param name Unique name
310360
- * @param label Display label
310361
- * @param type Description of this field's values data type
310362
- * @param isReadonly Are values in this field read-only
310363
- * @param priority Priority of the field
310364
- * @param editor Property editor used to edit values of this field
310365
- * @param renderer Property renderer used to render values of this field
310366
- * @param extendedData Extended data associated with this field
310367
- */
310368
- constructor(category, name, label, type, isReadonly, priority, editor, renderer, extendedData) {
310369
- this.category = category;
310370
- this.name = name;
310371
- this.label = label;
310372
- this.type = type;
310373
- this.isReadonly = isReadonly;
310374
- this.priority = priority;
310375
- this.editor = editor;
310376
- this.renderer = renderer;
310377
- this.extendedData = extendedData;
310479
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, editor, renderer, extendedData) {
310480
+ /* istanbul ignore next */
310481
+ const props = "category" in categoryOrProps
310482
+ ? categoryOrProps
310483
+ : {
310484
+ category: categoryOrProps,
310485
+ name: name,
310486
+ label: label,
310487
+ type: type,
310488
+ isReadonly: isReadonly,
310489
+ priority: priority,
310490
+ editor,
310491
+ renderer,
310492
+ extendedData,
310493
+ };
310494
+ this.category = props.category;
310495
+ this.name = props.name;
310496
+ this.label = props.label;
310497
+ this.type = props.type;
310498
+ this.isReadonly = props.isReadonly;
310499
+ this.priority = props.priority;
310500
+ this.editor = props.editor;
310501
+ this.renderer = props.renderer;
310502
+ this.extendedData = props.extendedData;
310378
310503
  }
310379
310504
  /**
310380
310505
  * Is this a [[PropertiesField]]
@@ -310395,13 +310520,13 @@ class Field {
310395
310520
  return this._parent;
310396
310521
  }
310397
310522
  clone() {
310398
- const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer, this.extendedData);
310523
+ const clone = new Field(this);
310399
310524
  clone.rebuildParentship(this.parent);
310400
310525
  return clone;
310401
310526
  }
310402
310527
  /** Serialize this object to JSON */
310403
310528
  toJSON() {
310404
- return (0,_Utils__WEBPACK_IMPORTED_MODULE_5__.omitUndefined)({
310529
+ return (0,_Utils__WEBPACK_IMPORTED_MODULE_4__.omitUndefined)({
310405
310530
  category: this.category.name,
310406
310531
  name: this.name,
310407
310532
  label: this.label,
@@ -310429,8 +310554,8 @@ class Field {
310429
310554
  // eslint-disable-next-line @typescript-eslint/no-deprecated
310430
310555
  return NestedContentField.fromJSON(json, categories);
310431
310556
  }
310432
- const field = Object.create(Field.prototype);
310433
- return Object.assign(field, json, {
310557
+ return new Field({
310558
+ ...json,
310434
310559
  category: Field.getCategoryFromFieldJson(json, categories),
310435
310560
  });
310436
310561
  }
@@ -310445,8 +310570,8 @@ class Field {
310445
310570
  if (isNestedContentField(json)) {
310446
310571
  return NestedContentField.fromCompressedJSON(json, classesMap, categories);
310447
310572
  }
310448
- const field = Object.create(Field.prototype);
310449
- return Object.assign(field, json, {
310573
+ return new Field({
310574
+ ...json,
310450
310575
  category: Field.getCategoryFromFieldJson(json, categories),
310451
310576
  });
310452
310577
  }
@@ -310490,21 +310615,23 @@ class Field {
310490
310615
  * @public
310491
310616
  */
310492
310617
  class PropertiesField extends Field {
310493
- /**
310494
- * Creates an instance of PropertiesField.
310495
- * @param category Category information
310496
- * @param name Unique name
310497
- * @param label Display label
310498
- * @param type Description of this field's values data type
310499
- * @param isReadonly Are values in this field read-only
310500
- * @param priority Priority of the field
310501
- * @param properties A list of properties this field is created from
310502
- * @param editor Property editor used to edit values of this field
310503
- * @param renderer Property renderer used to render values of this field
310504
- */
310505
- constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
310506
- super(category, name, label, description, isReadonly, priority, editor, renderer);
310507
- this.properties = properties;
310618
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, properties, editor, renderer) {
310619
+ /* istanbul ignore next */
310620
+ const props = "category" in categoryOrProps
310621
+ ? categoryOrProps
310622
+ : {
310623
+ category: categoryOrProps,
310624
+ name: name,
310625
+ label: label,
310626
+ type: type,
310627
+ isReadonly: isReadonly,
310628
+ priority: priority,
310629
+ editor,
310630
+ renderer,
310631
+ properties: properties,
310632
+ };
310633
+ super(props);
310634
+ this.properties = props.properties;
310508
310635
  }
310509
310636
  /** Is this a an array property field */
310510
310637
  isArrayPropertiesField() {
@@ -310515,7 +310642,7 @@ class PropertiesField extends Field {
310515
310642
  return false;
310516
310643
  }
310517
310644
  clone() {
310518
- const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
310645
+ const clone = new PropertiesField(this);
310519
310646
  clone.rebuildParentship(this.parent);
310520
310647
  return clone;
310521
310648
  }
@@ -310530,7 +310657,7 @@ class PropertiesField extends Field {
310530
310657
  toCompressedJSON(classesMap) {
310531
310658
  return {
310532
310659
  ...super.toCompressedJSON(classesMap),
310533
- properties: this.properties.map((property) => _Property__WEBPACK_IMPORTED_MODULE_4__.Property.toCompressedJSON(property, classesMap)),
310660
+ properties: this.properties.map((property) => _Property__WEBPACK_IMPORTED_MODULE_5__.Property.toCompressedJSON(property, classesMap)),
310534
310661
  };
310535
310662
  }
310536
310663
  /** Deserialize [[PropertiesField]] from JSON */
@@ -310544,8 +310671,8 @@ class PropertiesField extends Field {
310544
310671
  if (isStructPropertiesField(json)) {
310545
310672
  return StructPropertiesField.fromJSON(json, categories);
310546
310673
  }
310547
- const field = Object.create(PropertiesField.prototype);
310548
- return Object.assign(field, json, {
310674
+ return new PropertiesField({
310675
+ ...json,
310549
310676
  category: this.getCategoryFromFieldJson(json, categories),
310550
310677
  });
310551
310678
  }
@@ -310560,8 +310687,8 @@ class PropertiesField extends Field {
310560
310687
  if (isStructPropertiesField(json)) {
310561
310688
  return StructPropertiesField.fromCompressedJSON(json, classesMap, categories);
310562
310689
  }
310563
- const field = Object.create(PropertiesField.prototype);
310564
- return Object.assign(field, json, {
310690
+ return new PropertiesField({
310691
+ ...json,
310565
310692
  category: this.getCategoryFromFieldJson(json, categories),
310566
310693
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
310567
310694
  });
@@ -310622,15 +310749,30 @@ class PropertiesField extends Field {
310622
310749
  * @public
310623
310750
  */
310624
310751
  class ArrayPropertiesField extends PropertiesField {
310625
- constructor(category, name, label, description, itemsField, isReadonly, priority, properties, editor, renderer) {
310626
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
310627
- this.itemsField = itemsField;
310752
+ constructor(categoryOrProps, name, label, type, itemsField, isReadonly, priority, properties, editor, renderer) {
310753
+ /* istanbul ignore next */
310754
+ const props = "category" in categoryOrProps
310755
+ ? categoryOrProps
310756
+ : {
310757
+ category: categoryOrProps,
310758
+ name: name,
310759
+ label: label,
310760
+ type: type,
310761
+ isReadonly: isReadonly,
310762
+ priority: priority,
310763
+ editor,
310764
+ renderer,
310765
+ properties: properties,
310766
+ itemsField: itemsField,
310767
+ };
310768
+ super(props);
310769
+ this.itemsField = props.itemsField;
310628
310770
  }
310629
310771
  isArrayPropertiesField() {
310630
310772
  return true;
310631
310773
  }
310632
310774
  clone() {
310633
- const clone = new ArrayPropertiesField(this.category, this.name, this.label, this.type, this.itemsField.clone(), this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
310775
+ const clone = new ArrayPropertiesField(this);
310634
310776
  clone.rebuildParentship(this.parent);
310635
310777
  return clone;
310636
310778
  }
@@ -310650,8 +310792,8 @@ class ArrayPropertiesField extends PropertiesField {
310650
310792
  }
310651
310793
  /** Deserialize [[ArrayPropertiesField]] from JSON */
310652
310794
  static fromJSON(json, categories) {
310653
- const field = Object.create(ArrayPropertiesField.prototype);
310654
- return Object.assign(field, json, {
310795
+ return new ArrayPropertiesField({
310796
+ ...json,
310655
310797
  category: this.getCategoryFromFieldJson(json, categories),
310656
310798
  itemsField: PropertiesField.fromJSON(json.itemsField, categories),
310657
310799
  });
@@ -310661,8 +310803,8 @@ class ArrayPropertiesField extends PropertiesField {
310661
310803
  * @public
310662
310804
  */
310663
310805
  static fromCompressedJSON(json, classesMap, categories) {
310664
- const field = Object.create(ArrayPropertiesField.prototype);
310665
- return Object.assign(field, json, {
310806
+ return new ArrayPropertiesField({
310807
+ ...json,
310666
310808
  category: this.getCategoryFromFieldJson(json, categories),
310667
310809
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
310668
310810
  itemsField: PropertiesField.fromCompressedJSON(json.itemsField, classesMap, categories),
@@ -310674,15 +310816,30 @@ class ArrayPropertiesField extends PropertiesField {
310674
310816
  * @public
310675
310817
  */
310676
310818
  class StructPropertiesField extends PropertiesField {
310677
- constructor(category, name, label, description, memberFields, isReadonly, priority, properties, editor, renderer) {
310678
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
310679
- this.memberFields = memberFields;
310819
+ constructor(categoryOrProps, name, label, type, memberFields, isReadonly, priority, properties, editor, renderer) {
310820
+ /* istanbul ignore next */
310821
+ const props = "category" in categoryOrProps
310822
+ ? categoryOrProps
310823
+ : {
310824
+ category: categoryOrProps,
310825
+ name: name,
310826
+ label: label,
310827
+ type: type,
310828
+ isReadonly: isReadonly,
310829
+ priority: priority,
310830
+ editor,
310831
+ renderer,
310832
+ properties: properties,
310833
+ memberFields: memberFields,
310834
+ };
310835
+ super(props);
310836
+ this.memberFields = props.memberFields;
310680
310837
  }
310681
310838
  isStructPropertiesField() {
310682
310839
  return true;
310683
310840
  }
310684
310841
  clone() {
310685
- const clone = new StructPropertiesField(this.category, this.name, this.label, this.type, this.memberFields.map((m) => m.clone()), this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
310842
+ const clone = new StructPropertiesField(this);
310686
310843
  clone.rebuildParentship(this.parent);
310687
310844
  return clone;
310688
310845
  }
@@ -310702,8 +310859,8 @@ class StructPropertiesField extends PropertiesField {
310702
310859
  }
310703
310860
  /** Deserialize [[StructPropertiesField]] from JSON */
310704
310861
  static fromJSON(json, categories) {
310705
- const field = Object.create(StructPropertiesField.prototype);
310706
- return Object.assign(field, json, {
310862
+ return new StructPropertiesField({
310863
+ ...json,
310707
310864
  category: this.getCategoryFromFieldJson(json, categories),
310708
310865
  memberFields: json.memberFields.map((m) => PropertiesField.fromJSON(m, categories)),
310709
310866
  });
@@ -310713,8 +310870,8 @@ class StructPropertiesField extends PropertiesField {
310713
310870
  * @public
310714
310871
  */
310715
310872
  static fromCompressedJSON(json, classesMap, categories) {
310716
- const field = Object.create(StructPropertiesField.prototype);
310717
- return Object.assign(field, json, {
310873
+ return new StructPropertiesField({
310874
+ ...json,
310718
310875
  category: this.getCategoryFromFieldJson(json, categories),
310719
310876
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
310720
310877
  memberFields: json.memberFields.map((m) => PropertiesField.fromCompressedJSON(m, classesMap, categories)),
@@ -310727,35 +310884,37 @@ class StructPropertiesField extends PropertiesField {
310727
310884
  * @public
310728
310885
  */
310729
310886
  class NestedContentField extends Field {
310730
- /**
310731
- * Creates an instance of NestedContentField.
310732
- * @param category Category information
310733
- * @param name Unique name
310734
- * @param label Display label
310735
- * @param type Description of this field's values data type
310736
- * @param isReadonly Are values in this field read-only
310737
- * @param priority Priority of the field
310738
- * @param contentClassInfo Information about an ECClass whose properties are nested inside this field
310739
- * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
310740
- * @param nestedFields Contained nested fields
310741
- * @param editor Property editor used to edit values of this field
310742
- * @param autoExpand Flag specifying whether field should be expanded
310743
- * @param relationshipMeaning RelationshipMeaning of the field
310744
- * @param renderer Property renderer used to render values of this field
310745
- */
310746
- constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
310747
- super(category, name, label, description, isReadonly, priority, editor, renderer);
310748
- this.contentClassInfo = contentClassInfo;
310749
- this.pathToPrimaryClass = pathToPrimaryClass;
310750
- this.relationshipMeaning = _rules_content_modifiers_RelatedPropertiesSpecification__WEBPACK_IMPORTED_MODULE_3__.RelationshipMeaning.RelatedInstance;
310751
- this.nestedFields = nestedFields;
310752
- this.autoExpand = autoExpand;
310753
- this.actualPrimaryClassIds = [];
310887
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
310888
+ /* istanbul ignore next */
310889
+ const props = "category" in categoryOrProps
310890
+ ? categoryOrProps
310891
+ : {
310892
+ category: categoryOrProps,
310893
+ name: name,
310894
+ label: label,
310895
+ type: type,
310896
+ isReadonly: isReadonly,
310897
+ priority: priority,
310898
+ editor,
310899
+ renderer,
310900
+ contentClassInfo: contentClassInfo,
310901
+ pathToPrimaryClass: pathToPrimaryClass,
310902
+ nestedFields: nestedFields,
310903
+ autoExpand,
310904
+ };
310905
+ super(props);
310906
+ this.contentClassInfo = props.contentClassInfo;
310907
+ this.pathToPrimaryClass = props.pathToPrimaryClass;
310908
+ this.relationshipMeaning = props.relationshipMeaning ?? _rules_content_modifiers_RelatedPropertiesSpecification__WEBPACK_IMPORTED_MODULE_3__.RelationshipMeaning.RelatedInstance;
310909
+ this.nestedFields = props.nestedFields;
310910
+ this.autoExpand = props.autoExpand;
310911
+ this.actualPrimaryClassIds = props.actualPrimaryClassIds ?? [];
310754
310912
  }
310755
310913
  clone() {
310756
- const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
310757
- clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
310758
- clone.relationshipMeaning = this.relationshipMeaning;
310914
+ const clone = new NestedContentField({
310915
+ ...this,
310916
+ nestedFields: this.nestedFields.map((n) => n.clone()),
310917
+ });
310759
310918
  clone.rebuildParentship(this.parent);
310760
310919
  return clone;
310761
310920
  }
@@ -310798,8 +310957,9 @@ class NestedContentField extends Field {
310798
310957
  if (!json) {
310799
310958
  return undefined;
310800
310959
  }
310801
- const field = Object.create(NestedContentField.prototype);
310802
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
310960
+ return new NestedContentField({
310961
+ ...json,
310962
+ ...this.fromCommonJSON(json, categories),
310803
310963
  nestedFields: json.nestedFields
310804
310964
  .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
310805
310965
  .filter((nestedField) => !!nestedField),
@@ -310808,8 +310968,9 @@ class NestedContentField extends Field {
310808
310968
  /** Deserialize a [[NestedContentField]] from compressed JSON. */
310809
310969
  static fromCompressedJSON(json, classesMap, categories) {
310810
310970
  (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(classesMap.hasOwnProperty(json.contentClassInfo));
310811
- const field = Object.create(NestedContentField.prototype);
310812
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
310971
+ return new NestedContentField({
310972
+ ...json,
310973
+ ...this.fromCommonJSON(json, categories),
310813
310974
  category: this.getCategoryFromFieldJson(json, categories),
310814
310975
  nestedFields: json.nestedFields
310815
310976
  .map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
@@ -310948,30 +311109,32 @@ __webpack_require__.r(__webpack_exports__);
310948
311109
  * @public
310949
311110
  */
310950
311111
  class Item {
310951
- /**
310952
- * Creates an instance of Item.
310953
- * @param primaryKeys Keys of instances whose data is contained in this item
310954
- * @param label Display label of the item
310955
- * @param imageId ID of the image associated with this item
310956
- * @param classInfo For cases when item consists only of same class instances, information about the ECClass
310957
- * @param values Raw values dictionary
310958
- * @param displayValues Display values dictionary
310959
- * @param mergedFieldNames List of field names whose values are merged (see [Merging values]($docs/presentation/content/Terminology#value-merging))
310960
- * @param extendedData Extended data injected into this content item
310961
- */
310962
- constructor(primaryKeys, label, imageId, classInfo, values, displayValues, mergedFieldNames, extendedData) {
310963
- this.primaryKeys = primaryKeys;
310964
- this.imageId = imageId; // eslint-disable-line @typescript-eslint/no-deprecated
310965
- if (classInfo) {
310966
- this.classInfo = classInfo;
310967
- }
310968
- this.values = values;
310969
- this.displayValues = displayValues;
310970
- this.mergedFieldNames = mergedFieldNames;
310971
- if (extendedData) {
310972
- this.extendedData = extendedData;
310973
- }
310974
- this.label = typeof label === "string" ? _LabelDefinition__WEBPACK_IMPORTED_MODULE_0__.LabelDefinition.fromLabelString(label) : label;
311112
+ constructor(primaryKeysOrProps, label, imageId, classInfo, values, displayValues, mergedFieldNames, extendedData) {
311113
+ /* istanbul ignore next */
311114
+ const props = Array.isArray(primaryKeysOrProps)
311115
+ ? {
311116
+ primaryKeys: primaryKeysOrProps,
311117
+ label: typeof label === "string" ? _LabelDefinition__WEBPACK_IMPORTED_MODULE_0__.LabelDefinition.fromLabelString(label) : label,
311118
+ imageId: imageId,
311119
+ classInfo,
311120
+ values: values,
311121
+ displayValues: displayValues,
311122
+ mergedFieldNames: mergedFieldNames,
311123
+ extendedData,
311124
+ }
311125
+ : primaryKeysOrProps;
311126
+ if ("inputKeys" in props) {
311127
+ this.inputKeys = props.inputKeys;
311128
+ }
311129
+ this.primaryKeys = props.primaryKeys;
311130
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
311131
+ this.imageId = "imageId" in props ? props.imageId : "";
311132
+ this.classInfo = props.classInfo;
311133
+ this.values = props.values;
311134
+ this.displayValues = props.displayValues;
311135
+ this.mergedFieldNames = props.mergedFieldNames;
311136
+ this.extendedData = props.extendedData;
311137
+ this.label = props.label;
310975
311138
  }
310976
311139
  /**
310977
311140
  * Is value of field with the specified name merged in this record.
@@ -311000,13 +311163,13 @@ class Item {
311000
311163
  if (typeof json === "string") {
311001
311164
  return JSON.parse(json, (key, value) => Item.reviver(key, value));
311002
311165
  }
311003
- const item = Object.create(Item.prototype);
311004
- const { labelDefinition, ...baseJson } = json;
311005
- return Object.assign(item, baseJson, {
311166
+ const { labelDefinition, values, displayValues, ...baseJson } = json;
311167
+ return new Item({
311168
+ ...baseJson,
311006
311169
  // eslint-disable-next-line @typescript-eslint/no-deprecated
311007
- values: _Value__WEBPACK_IMPORTED_MODULE_2__.Value.fromJSON(json.values),
311170
+ values: _Value__WEBPACK_IMPORTED_MODULE_2__.Value.fromJSON(values),
311008
311171
  // eslint-disable-next-line @typescript-eslint/no-deprecated
311009
- displayValues: _Value__WEBPACK_IMPORTED_MODULE_2__.DisplayValue.fromJSON(json.displayValues),
311172
+ displayValues: _Value__WEBPACK_IMPORTED_MODULE_2__.DisplayValue.fromJSON(displayValues),
311010
311173
  // eslint-disable-next-line @typescript-eslint/no-deprecated
311011
311174
  label: _LabelDefinition__WEBPACK_IMPORTED_MODULE_0__.LabelDefinition.fromJSON(labelDefinition),
311012
311175
  });
@@ -332898,7 +333061,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
332898
333061
  /***/ ((module) => {
332899
333062
 
332900
333063
  "use strict";
332901
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.50","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","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 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","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","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 --coverage","test:debug":"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:*"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
333064
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.52","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","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 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","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","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 --coverage","test:debug":"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:*"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
332902
333065
 
332903
333066
  /***/ }),
332904
333067