@itwin/ecschema-rpcinterface-tests 4.11.0-dev.1 → 4.11.0-dev.3

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.
@@ -29941,6 +29941,16 @@ class QueryOptionsBuilder {
29941
29941
  this._options.delay = val;
29942
29942
  return this;
29943
29943
  }
29944
+ /**
29945
+ * @internal
29946
+ * Use for testing internal logic. This parameter is ignored by default unless concurrent query is configure to not ignore it.
29947
+ * @param val Testing arguments.
29948
+ * @returns @type QueryOptionsBuilder for fluent interface.
29949
+ */
29950
+ setTestingArgs(val) {
29951
+ this._options.testingArgs = val;
29952
+ return this;
29953
+ }
29944
29954
  }
29945
29955
  /** @beta */
29946
29956
  class BlobOptionsBuilder {
@@ -30350,6 +30360,7 @@ var DbResponseStatus;
30350
30360
  DbResponseStatus[DbResponseStatus["Partial"] = 3] = "Partial";
30351
30361
  DbResponseStatus[DbResponseStatus["Timeout"] = 4] = "Timeout";
30352
30362
  DbResponseStatus[DbResponseStatus["QueueFull"] = 5] = "QueueFull";
30363
+ DbResponseStatus[DbResponseStatus["ShuttingDown"] = 6] = "ShuttingDown";
30353
30364
  DbResponseStatus[DbResponseStatus["Error"] = 100] = "Error";
30354
30365
  DbResponseStatus[DbResponseStatus["Error_ECSql_PreparedFailed"] = 101] = "Error_ECSql_PreparedFailed";
30355
30366
  DbResponseStatus[DbResponseStatus["Error_ECSql_StepFailed"] = 102] = "Error_ECSql_StepFailed";
@@ -32281,7 +32292,7 @@ class ECSqlReader {
32281
32292
  this._props = new PropertyMetaDataMap([]);
32282
32293
  this._param = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryBinder().serialize();
32283
32294
  this._lockArgs = false;
32284
- this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0 };
32295
+ this._stats = { backendCpuTime: 0, backendTotalTime: 0, backendMemUsed: 0, backendRowsReturned: 0, totalTime: 0, retryCount: 0, prepareTime: 0 };
32285
32296
  this._options = new _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.QueryOptionsBuilder().getOptions();
32286
32297
  this._rowProxy = new Proxy(this, {
32287
32298
  get: (target, key) => {
@@ -32461,11 +32472,12 @@ class ECSqlReader {
32461
32472
  * @internal
32462
32473
  */
32463
32474
  async runWithRetry(request) {
32464
- const needRetry = (rs) => (rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Partial || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.QueueFull || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Timeout) && (rs.data === undefined || rs.data.length === 0);
32475
+ const needRetry = (rs) => (rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Partial || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.QueueFull || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.Timeout || rs.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.ShuttingDown) && (rs.data === undefined || rs.data.length === 0);
32465
32476
  const updateStats = (rs) => {
32466
32477
  this._stats.backendCpuTime += rs.stats.cpuTime;
32467
32478
  this._stats.backendTotalTime += rs.stats.totalTime;
32468
32479
  this._stats.backendMemUsed += rs.stats.memUsed;
32480
+ this._stats.prepareTime += rs.stats.prepareTime;
32469
32481
  this._stats.backendRowsReturned += (rs.data === undefined) ? 0 : rs.data.length;
32470
32482
  };
32471
32483
  const execQuery = async (req) => {
@@ -71752,7 +71764,6 @@ var KeyinStatus;
71752
71764
  (function (KeyinStatus) {
71753
71765
  KeyinStatus[KeyinStatus["Dynamic"] = 0] = "Dynamic";
71754
71766
  KeyinStatus[KeyinStatus["Partial"] = 1] = "Partial";
71755
- KeyinStatus[KeyinStatus["DontUpdate"] = 2] = "DontUpdate";
71756
71767
  })(KeyinStatus || (KeyinStatus = {}));
71757
71768
  /** @internal */
71758
71769
  class AccudrawData {
@@ -71795,10 +71806,18 @@ class Flags {
71795
71806
  this.animateRotation = false;
71796
71807
  }
71797
71808
  }
71798
- /** @internal */
71809
+ /** AccuDraw value round off settings. Allows dynamic distance and angle values to be rounded to the nearest increment of the specified units value(s).
71810
+ * @public
71811
+ */
71799
71812
  class RoundOff {
71800
71813
  constructor() {
71814
+ /** Whether rounding is to be applied to the corresponding dynamic distance or angle value.
71815
+ * @note To be considered active, units must also specify at least one increment value.
71816
+ */
71801
71817
  this.active = false;
71818
+ /** Round off increment value(s), meters for distance round off, and radians for angle round off.
71819
+ * @note When multiple values are specified, rounding is based on smallest discernable value at current view zoom.
71820
+ */
71802
71821
  this.units = new Set();
71803
71822
  }
71804
71823
  }
@@ -71818,14 +71837,6 @@ class SavedState {
71818
71837
  }
71819
71838
  }
71820
71839
  /** @internal */
71821
- class SavedCoords {
71822
- constructor() {
71823
- this.nSaveValues = 0;
71824
- this.savedValues = [];
71825
- this.savedValIsAngle = [];
71826
- }
71827
- }
71828
- /** @internal */
71829
71840
  class ThreeAxes {
71830
71841
  constructor() {
71831
71842
  this.x = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.unitX();
@@ -71865,8 +71876,10 @@ class ThreeAxes {
71865
71876
  class AccuDraw {
71866
71877
  constructor() {
71867
71878
  this._currentState = CurrentState.NotEnabled;
71868
- this.compassMode = CompassMode.Rectangular; // Compass mode
71869
- this.rotationMode = RotationMode.View; // Compass rotation
71879
+ /** The current compass mode */
71880
+ this.compassMode = CompassMode.Rectangular;
71881
+ /** The current compass rotation */
71882
+ this.rotationMode = RotationMode.View;
71870
71883
  /** @internal */
71871
71884
  this.published = new AccudrawData(); // Staging area for hints
71872
71885
  /** @internal */
@@ -71885,13 +71898,16 @@ class AccuDraw {
71885
71898
  this._angleRoundOff = new RoundOff(); // angle round off enabled and unit
71886
71899
  /** @internal */
71887
71900
  this.flags = new Flags(); // current state flags
71888
- this._fieldLocked = []; // locked state of fields
71889
- this._keyinStatus = []; // state of input field
71901
+ this._fieldLocked = [false, false, false, false, false]; // locked state of fields
71902
+ this._keyinStatus = [KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic, KeyinStatus.Dynamic]; // state of input field
71890
71903
  /** @internal */
71891
71904
  this.savedStateViewTool = new SavedState(); // Restore point for shortcuts/tools...
71892
71905
  /** @internal */
71893
71906
  this.savedStateInputCollector = new SavedState(); // Restore point for shortcuts/tools...
71894
- this._savedCoords = new SavedCoords(); // History of previous angles/distances...
71907
+ this._savedDistances = []; // History of previous distances...
71908
+ this._savedAngles = []; // History of previous angles...
71909
+ this._savedDistanceIndex = -1; // Current saved distance index for choosing next/previous value...
71910
+ this._savedAngleIndex = -1; // Current saved distance index for choosing next/previous value...
71895
71911
  /** @internal */
71896
71912
  this.baseAxes = new ThreeAxes(); // Used for "context" base rotation to hold arbitrary rotation w/o needing to change ACS...
71897
71913
  /** @internal */
@@ -71939,15 +71955,23 @@ class AccuDraw {
71939
71955
  this._frameColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.darkGrey);
71940
71956
  /** @internal */
71941
71957
  this._fillColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.lightGrey);
71942
- // User Preference Settings...
71958
+ /** When true improve behavior for +/- input when cursor switches side and try to automatically manage focus */
71943
71959
  this.smartKeyin = true;
71960
+ /** When true the compass follows the origin hint as opposed to remaining at a fixed location */
71944
71961
  this.floatingOrigin = true;
71962
+ /** When true the z input field will remain locked with it's current value after a data button */
71945
71963
  this.stickyZLock = false;
71964
+ /** When true the compass is always active and on screen instead of following the current tools request to activate */
71946
71965
  this.alwaysShowCompass = false;
71966
+ /** When true all tool hints are applied as opposed to only selected hints */
71947
71967
  this.contextSensitive = true;
71968
+ /** When true the current point is adjusted to the x and y axes when within a close tolerance */
71948
71969
  this.axisIndexing = true;
71970
+ /** When true the current point is adjusted to the last locked distance value when within a close tolerance */
71949
71971
  this.distanceIndexing = true;
71972
+ /** When true locking the angle also moves focus to the angle input field */
71950
71973
  this.autoFocusFields = true;
71974
+ /** When true fully specifying a point by entering both distance and angle in polar mode or XY[Z] in rectangular mode, the point is automatically accepted */
71951
71975
  this.autoPointPlacement = false;
71952
71976
  }
71953
71977
  /** Current AccuDraw state */
@@ -71960,6 +71984,10 @@ class AccuDraw {
71960
71984
  if (wasActive !== this.isActive)
71961
71985
  this.onCompassDisplayChange(wasActive ? "hide" : "show");
71962
71986
  }
71987
+ /** Get distance round off settings */
71988
+ get distanceRoundOff() { return this._distanceRoundOff; }
71989
+ /** Get angle round off settings */
71990
+ get angleRoundOff() { return this._angleRoundOff; }
71963
71991
  /** @internal */
71964
71992
  onInitialized() { this.enableForSession(); }
71965
71993
  /** @internal */
@@ -71969,16 +71997,26 @@ class AccuDraw {
71969
71997
  _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d.createRows(this.axes.x, this.axes.y, this.axes.z, rMatrix);
71970
71998
  return rMatrix;
71971
71999
  }
71972
- get isActive() { return CurrentState.Active === this.currentState; }
72000
+ /** When true AccuDraw is enabled by the application and can be used by interactive tools */
71973
72001
  get isEnabled() { return (this.currentState > CurrentState.NotEnabled); }
72002
+ /** When true the compass is displayed and adjusting input points for the current interactive tool */
72003
+ get isActive() { return CurrentState.Active === this.currentState; }
72004
+ /** When true the compass is not displayed or adjusting points, but it can be automatically activated by the current interactive tool or via shortcuts */
71974
72005
  get isInactive() { return (CurrentState.Inactive === this.currentState); }
72006
+ /** When true the compass is not displayed or adjusting points, the current interactive tool has disabled automatic activation, but can still be enabled via shortcuts */
71975
72007
  get isDeactivated() { return (CurrentState.Deactivated === this.currentState); }
71976
72008
  /** Get the current lock state for the supplied input field */
71977
72009
  getFieldLock(index) { return this._fieldLocked[index]; }
71978
72010
  /** @internal */
71979
72011
  getKeyinStatus(index) { return this._keyinStatus[index]; }
71980
- /** Implement this method to set focus to the AccuDraw UI. */
72012
+ /** Get the current keyin status for the supplied input field */
72013
+ isDynamicKeyinStatus(index) { return KeyinStatus.Dynamic === this.getKeyinStatus(index); }
72014
+ /** Get whether AccuDraw currently has input focus */
72015
+ get hasInputFocus() { return true; }
72016
+ /** Called to request input focus be set to AccuDraw. Focus is managed by AccuDraw UI. */
71981
72017
  grabInputFocus() { }
72018
+ /** Get default focus item for the current compass mode */
72019
+ defaultFocusItem() { return (CompassMode.Polar === this.compassMode ? ItemField.DIST_Item : this.newFocus); }
71982
72020
  /** @internal */
71983
72021
  activate() {
71984
72022
  // Upgrade state to inactive so upgradeToActiveState knows it is ok to move to active...
@@ -72016,11 +72054,14 @@ class AccuDraw {
72016
72054
  }
72017
72055
  /** @internal */
72018
72056
  setKeyinStatus(index, status) {
72057
+ if (status === this._keyinStatus[index])
72058
+ return;
72019
72059
  this._keyinStatus[index] = status;
72020
72060
  if (KeyinStatus.Dynamic !== status)
72021
72061
  this.dontMoveFocus = true;
72022
72062
  if (KeyinStatus.Partial === status)
72023
72063
  this._threshold = Math.abs(ItemField.X_Item === index ? this._rawDelta.y : this._rawDelta.x) + this._tolerance;
72064
+ this.onFieldKeyinStatusChange(index);
72024
72065
  }
72025
72066
  needsRefresh(vp) {
72026
72067
  if (!this.isEnabled || this.isDeactivated)
@@ -72416,12 +72457,22 @@ class AccuDraw {
72416
72457
  // viewport -> SetAnimator(* animator);
72417
72458
  // animator -> ChangeOfRotation(Matrix3d:: FromColumnVectors(oldRotation[0], oldRotation[1], oldRotation[2]));
72418
72459
  }
72419
- /** @internal */
72460
+ /**
72461
+ * Enable AccuDraw so that it can be used by interactive tools.
72462
+ * This method is public to allow applications to provide a user interface to enable/disable AccuDraw.
72463
+ * @note Should not be called by interactive tools, those should use [[AccuDrawHintBuilder]]. AccuDraw is enabled for applications by default.
72464
+ * @see [[disableForSession]]
72465
+ */
72420
72466
  enableForSession() {
72421
72467
  if (CurrentState.NotEnabled === this.currentState)
72422
72468
  this.currentState = CurrentState.Inactive;
72423
72469
  }
72424
- /** @internal */
72470
+ /**
72471
+ * Disable AccuDraw so that it can not be used by interactive tools.
72472
+ * This method is public to allow applications to provide a user interface to enable/disable AccuDraw.
72473
+ * @note Should not be called by interactive tools, those should use [[AccuDrawHintBuilder]]. AccuDraw is enabled for applications by default.
72474
+ * @see [[enableForSession]]
72475
+ */
72425
72476
  disableForSession() {
72426
72477
  this.currentState = CurrentState.NotEnabled;
72427
72478
  this.flags.redrawCompass = true; // Make sure decorators are called so we don't draw (i.e. erase AccuDraw compass)
@@ -72521,31 +72572,72 @@ class AccuDraw {
72521
72572
  updateVector(angle) {
72522
72573
  this.vector.set(Math.cos(angle), Math.sin(angle), 0.0);
72523
72574
  const rMatrix = this.getRotation();
72524
- rMatrix.multiplyTransposeVector(this.vector);
72575
+ rMatrix.multiplyTransposeVectorInPlace(this.vector);
72525
72576
  }
72526
72577
  /** Allow the AccuDraw user interface to supply the distance parser */
72527
72578
  getLengthParser() {
72528
72579
  return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
72529
72580
  }
72581
+ /** Allow the AccuDraw user interface to supply the distance parser */
72582
+ getLengthFormatter() {
72583
+ return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
72584
+ }
72530
72585
  stringToDistance(str) {
72531
72586
  const parserSpec = this.getLengthParser();
72532
72587
  if (parserSpec)
72533
72588
  return parserSpec.parseToQuantityValue(str);
72534
72589
  return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
72535
72590
  }
72591
+ stringFromDistance(distance) {
72592
+ const formatterSpec = this.getLengthFormatter();
72593
+ let formattedValue = distance.toString();
72594
+ if (formatterSpec)
72595
+ formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, formatterSpec);
72596
+ return formattedValue;
72597
+ }
72536
72598
  /** Allow the AccuDraw user interface to specify bearing */
72537
- get isBearingMode() { return false; }
72599
+ get isBearingMode() { return this.getAngleParser()?.format.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.FormatType.Bearing; }
72600
+ /** Allow the AccuDraw user interface to specify bearing directions are always in xy plane */
72601
+ get bearingFixedToPlane2d() { return this.flags.bearingFixToPlane2D; }
72602
+ set bearingFixedToPlane2d(enable) { this.flags.bearingFixToPlane2D = enable; }
72538
72603
  /** Allow the AccuDraw user interface to supply the angle/direction parser */
72539
72604
  getAngleParser() {
72540
- // TODO: Use QuantityType.Angle when isBearingMode=false and "Bearing" for isBearingMode=true.
72541
72605
  return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
72542
72606
  }
72607
+ /** Allow the AccuDraw user interface to supply the angle/direction formatter */
72608
+ getAngleFormatter() {
72609
+ return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
72610
+ }
72543
72611
  stringToAngle(inString) {
72544
72612
  const parserSpec = this.getAngleParser();
72545
72613
  if (parserSpec)
72546
72614
  return parserSpec.parseToQuantityValue(inString);
72547
72615
  return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
72548
72616
  }
72617
+ stringFromAngle(angle) {
72618
+ if (this.isBearingMode && this.flags.bearingFixToPlane2D) {
72619
+ const point = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.axes.x.x, this.axes.x.y, 0.0);
72620
+ point.normalizeInPlace();
72621
+ let adjustment = Math.acos(point.x);
72622
+ if (point.y < 0.0)
72623
+ adjustment = -adjustment;
72624
+ angle += adjustment;
72625
+ }
72626
+ const formatterSpec = this.getAngleFormatter();
72627
+ let formattedValue = angle.toString();
72628
+ if (formatterSpec)
72629
+ formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(angle, formatterSpec);
72630
+ return formattedValue;
72631
+ }
72632
+ /** Can be called by sub-classes to get a formatted value to display for an AccuDraw input field
72633
+ * @see [[onFieldValueChange]]
72634
+ */
72635
+ getFormattedValueByIndex(index) {
72636
+ const value = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.getValueByIndex(index);
72637
+ if (ItemField.ANGLE_Item === index)
72638
+ return this.stringFromAngle(value);
72639
+ return this.stringFromDistance(value);
72640
+ }
72549
72641
  updateFieldValue(index, input) {
72550
72642
  if (input.length === 0)
72551
72643
  return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR;
@@ -72609,7 +72701,8 @@ class AccuDraw {
72609
72701
  }
72610
72702
  /** @internal */
72611
72703
  unlockAllFields() {
72612
- this.locked = 0;
72704
+ this.locked = LockedStates.NONE_LOCKED;
72705
+ ;
72613
72706
  if (CompassMode.Polar === this.compassMode) {
72614
72707
  if (this._fieldLocked[ItemField.DIST_Item])
72615
72708
  this.setFieldLock(ItemField.DIST_Item, false);
@@ -72687,17 +72780,45 @@ class AccuDraw {
72687
72780
  return true;
72688
72781
  return (!_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.gridLock);
72689
72782
  }
72783
+ /** Call from an AccuDraw UI event to check if key is valid for updating the input field value. */
72784
+ itemFieldInputIsValid(key, item) {
72785
+ if (1 !== key.length)
72786
+ return false;
72787
+ switch (key) {
72788
+ case ".":
72789
+ case ",":
72790
+ return true;
72791
+ case "'": // feet/minutes...
72792
+ case "\"": // inches/seconds...
72793
+ return true;
72794
+ case "°": // degrees...
72795
+ return (ItemField.ANGLE_Item === item); // Allowed for angle input...
72796
+ case "N":
72797
+ case "S":
72798
+ case "E":
72799
+ case "W":
72800
+ case "n":
72801
+ case "s":
72802
+ case "e":
72803
+ case "w":
72804
+ return (ItemField.ANGLE_Item === item && this.isBearingMode); // Allowed for bearing direction input, trumps shortcuts...
72805
+ }
72806
+ if (!Number.isNaN(parseInt(key, 10)))
72807
+ return true; // Accept numeric input...
72808
+ if (key.toLowerCase() !== key.toUpperCase())
72809
+ return false; // Treat unhandled letters as potential shortcuts...
72810
+ // Let parser deal with anything else, like +-/*, etc.
72811
+ return true;
72812
+ }
72690
72813
  /** Call from an AccuDraw UI event to sync the supplied input field value */
72691
72814
  async processFieldInput(index, input, synchText) {
72692
72815
  if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.SUCCESS !== this.updateFieldValue(index, input)) {
72693
- const saveKeyinStatus = this._keyinStatus[index]; // Don't want this to change when entering '.', etc.
72694
- this.updateFieldLock(index, false);
72695
- this._keyinStatus[index] = saveKeyinStatus;
72816
+ this._unlockFieldInternal(index); // Don't want keyin status to change when entering '.', etc.
72696
72817
  return;
72697
72818
  }
72698
72819
  switch (index) {
72699
72820
  case ItemField.DIST_Item:
72700
- this.distanceLock(synchText, true);
72821
+ this.distanceLock(synchText, false); // Don't save distance here, partial input...
72701
72822
  await this.doAutoPoint(index, CompassMode.Polar);
72702
72823
  break;
72703
72824
  case ItemField.ANGLE_Item:
@@ -72728,30 +72849,28 @@ class AccuDraw {
72728
72849
  }
72729
72850
  this.refreshDecorationsAndDynamics();
72730
72851
  }
72731
- /** @internal */
72732
- updateFieldLock(index, locked) {
72733
- if (locked) {
72734
- if (!this._fieldLocked[index]) {
72735
- this.setFieldLock(index, true);
72736
- switch (index) {
72737
- case ItemField.DIST_Item:
72738
- this.distanceLock(true, false);
72739
- break;
72740
- case ItemField.ANGLE_Item:
72741
- this.angleLock();
72742
- break;
72743
- case ItemField.X_Item:
72744
- this.locked |= LockedStates.X_BM;
72745
- break;
72746
- case ItemField.Y_Item:
72747
- this.locked |= LockedStates.Y_BM;
72748
- break;
72749
- case ItemField.Z_Item:
72750
- break;
72751
- }
72752
- }
72852
+ _lockFieldInternal(index) {
72853
+ if (this._fieldLocked[index])
72753
72854
  return;
72855
+ this.setFieldLock(index, true);
72856
+ switch (index) {
72857
+ case ItemField.DIST_Item:
72858
+ this.distanceLock(true, false);
72859
+ break;
72860
+ case ItemField.ANGLE_Item:
72861
+ this.angleLock();
72862
+ break;
72863
+ case ItemField.X_Item:
72864
+ this.locked |= LockedStates.X_BM;
72865
+ break;
72866
+ case ItemField.Y_Item:
72867
+ this.locked |= LockedStates.Y_BM;
72868
+ break;
72869
+ case ItemField.Z_Item:
72870
+ break;
72754
72871
  }
72872
+ }
72873
+ _unlockFieldInternal(index) {
72755
72874
  switch (index) {
72756
72875
  case ItemField.DIST_Item:
72757
72876
  this.locked &= ~LockedStates.DIST_BM;
@@ -72768,6 +72887,14 @@ class AccuDraw {
72768
72887
  }
72769
72888
  if (index !== ItemField.Z_Item || !this.stickyZLock)
72770
72889
  this.setFieldLock(index, false);
72890
+ }
72891
+ /** @internal */
72892
+ updateFieldLock(index, locked) {
72893
+ if (locked) {
72894
+ this._lockFieldInternal(index);
72895
+ return;
72896
+ }
72897
+ this._unlockFieldInternal(index);
72771
72898
  this.setKeyinStatus(index, KeyinStatus.Dynamic);
72772
72899
  }
72773
72900
  /** @internal */
@@ -72910,35 +73037,119 @@ class AccuDraw {
72910
73037
  else {
72911
73038
  this.locked &= ~LockedStates.ANGLE_BM;
72912
73039
  this.saveCoordinate(ItemField.ANGLE_Item, this._angle);
73040
+ this.setKeyinStatus(ItemField.ANGLE_Item, KeyinStatus.Dynamic);
72913
73041
  }
72914
73042
  }
73043
+ saveAngle(value) {
73044
+ if (_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(value, 0.0) || _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(Math.abs(value), Math.PI) || _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(Math.abs(value), (Math.PI / 2.0)))
73045
+ return; // Don't accept 0, 90, -90, 180 and -180 degrees...
73046
+ const foundIndex = this._savedAngles.findIndex(angle => _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(angle, value));
73047
+ if (-1 !== foundIndex) {
73048
+ this._savedAngleIndex = foundIndex; // Set index to existing entry with matching value...
73049
+ return;
73050
+ }
73051
+ this._savedAngleIndex++;
73052
+ if (this._savedAngleIndex >= 10 /* Constants.MAX_SAVED_VALUES */)
73053
+ this._savedAngleIndex = 0;
73054
+ this._savedAngles[this._savedAngleIndex] = value;
73055
+ }
73056
+ saveDistance(value) {
73057
+ if (_itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(value, 0.0))
73058
+ return; // Don't accept zero or nearly zero...
73059
+ value = Math.abs(value); // Only save positive distance...
73060
+ const foundIndex = this._savedDistances.findIndex(distance => _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(distance, value));
73061
+ if (-1 !== foundIndex) {
73062
+ this._savedDistanceIndex = foundIndex; // Set index to existing entry with matching value...
73063
+ return;
73064
+ }
73065
+ this._savedDistanceIndex++;
73066
+ if (this._savedDistanceIndex >= 10 /* Constants.MAX_SAVED_VALUES */)
73067
+ this._savedDistanceIndex = 0;
73068
+ this._savedDistances[this._savedDistanceIndex] = value;
73069
+ this._lastDistance = value;
73070
+ }
72915
73071
  /** @internal */
72916
73072
  saveCoordinate(index, value) {
72917
- const isAngle = (ItemField.ANGLE_Item === index);
72918
- let currIndex = this._savedCoords.nSaveValues + 1;
72919
- if (currIndex >= 20 /* Constants.MAX_SAVED_VALUES */)
72920
- currIndex = 0;
72921
- if (this._savedCoords.savedValues[this._savedCoords.nSaveValues] === value && this._savedCoords.savedValIsAngle[this._savedCoords.nSaveValues] === isAngle)
72922
- return;
72923
- if (isAngle) {
72924
- // don't accept 0, 90, -90, and 180 degrees
72925
- if (value === 0.0 || value === Math.PI || value === (Math.PI / 2.0) || value === -Math.PI)
72926
- return;
73073
+ if (ItemField.ANGLE_Item === index)
73074
+ this.saveAngle(value);
73075
+ else
73076
+ this.saveDistance(value);
73077
+ }
73078
+ getSavedAngle(next) {
73079
+ if (-1 === this._savedAngleIndex || 0 === this._savedAngles.length)
73080
+ return undefined;
73081
+ const value = this._savedAngles[this._savedAngleIndex];
73082
+ if (next) {
73083
+ this._savedAngleIndex++;
73084
+ if (this._savedAngleIndex >= this._savedAngles.length)
73085
+ this._savedAngleIndex = 0;
72927
73086
  }
72928
73087
  else {
72929
- // don't accept zero
72930
- value = Math.abs(value);
72931
- if (value < 1e-12 /* Constants.SMALL_ANGLE */)
72932
- return;
73088
+ this._savedAngleIndex--;
73089
+ if (this._savedAngleIndex < 0)
73090
+ this._savedAngleIndex = this._savedAngles.length - 1;
72933
73091
  }
72934
- this._savedCoords.savedValues[currIndex] = value;
72935
- this._savedCoords.savedValIsAngle[currIndex] = isAngle;
72936
- this._savedCoords.nSaveValues = currIndex;
73092
+ return value;
73093
+ }
73094
+ getSavedDistance(next) {
73095
+ if (-1 === this._savedDistanceIndex || 0 === this._savedDistances.length)
73096
+ return undefined;
73097
+ const value = this._savedDistances[this._savedDistanceIndex];
73098
+ if (next) {
73099
+ this._savedDistanceIndex++;
73100
+ if (this._savedDistanceIndex >= this._savedDistances.length)
73101
+ this._savedDistanceIndex = 0;
73102
+ }
73103
+ else {
73104
+ this._savedDistanceIndex--;
73105
+ if (this._savedDistanceIndex < 0)
73106
+ this._savedDistanceIndex = this._savedDistances.length - 1;
73107
+ }
73108
+ return value;
73109
+ }
73110
+ /** @internal */
73111
+ getSavedValue(index, next) {
73112
+ const isAngle = (ItemField.ANGLE_Item === index);
73113
+ const savedValue = (isAngle ? this.getSavedAngle(next) : this.getSavedDistance(next));
73114
+ if (undefined === savedValue)
73115
+ return;
72937
73116
  if (!isAngle)
72938
- this._lastDistance = value;
73117
+ this._lastDistance = savedValue;
73118
+ const currValue = this.getValueByIndex(index);
73119
+ this.setValueByIndex(index, currValue < 0.0 ? -savedValue : savedValue);
73120
+ switch (index) {
73121
+ case ItemField.X_Item:
73122
+ this.setFieldLock(ItemField.X_Item, true);
73123
+ this.onFieldValueChange(ItemField.X_Item);
73124
+ this.locked |= LockedStates.X_BM;
73125
+ break;
73126
+ case ItemField.Y_Item:
73127
+ this.setFieldLock(ItemField.Y_Item, true);
73128
+ this.onFieldValueChange(ItemField.Y_Item);
73129
+ this.locked |= LockedStates.Y_BM;
73130
+ break;
73131
+ case ItemField.Z_Item:
73132
+ this.setFieldLock(ItemField.Z_Item, true);
73133
+ this.onFieldValueChange(ItemField.Z_Item);
73134
+ break;
73135
+ case ItemField.DIST_Item:
73136
+ this.distanceLock(true, false);
73137
+ break;
73138
+ case ItemField.ANGLE_Item:
73139
+ this.locked &= ~LockedStates.XY_BM;
73140
+ this.updateVector(this._angle);
73141
+ this.angleLock();
73142
+ break;
73143
+ }
73144
+ }
73145
+ /** @internal */
73146
+ clearSavedValues() {
73147
+ this._savedDistances.length = this._savedAngles.length = 0;
73148
+ this._savedDistanceIndex = this._savedAngleIndex = -1;
72939
73149
  }
72940
73150
  /** @internal */
72941
73151
  changeCompassMode(animate = false) {
73152
+ this.unlockAllFields(); // Clear locks for the current mode and send change notifications...
72942
73153
  this.setCompassMode(CompassMode.Polar === this.compassMode ? CompassMode.Rectangular : CompassMode.Polar);
72943
73154
  const viewport = this.currentView;
72944
73155
  if (!animate || !viewport)
@@ -73518,9 +73729,9 @@ class AccuDraw {
73518
73729
  onFieldLockChange(_index) { }
73519
73730
  /** Called after input field value changes */
73520
73731
  onFieldValueChange(_index) { }
73521
- /** Whether AccuDraw currently has input focus */
73522
- get hasInputFocus() { return true; }
73523
- /** Set focus to the specified input field */
73732
+ /** Called after input field keyin status changes */
73733
+ onFieldKeyinStatusChange(_index) { }
73734
+ /** Called to request focus change to the specified input field */
73524
73735
  setFocusItem(_index) { }
73525
73736
  static getMinPolarMag(origin) {
73526
73737
  return (1.0e-12 * (1.0 + origin.magnitude()));
@@ -74054,9 +74265,35 @@ class AccuDraw {
74054
74265
  onBeginDynamics() { return this.upgradeToActiveState(); }
74055
74266
  /** @internal */
74056
74267
  onEndDynamics() { return this.downgradeInactiveState(); }
74268
+ /** Can be called by sub-classes as the default implementation of onMotion.
74269
+ * @see [[onMotion]]
74270
+ * @note Input fields are expected to call [[AccuDrawShortcuts.itemFieldNewInput]] when the user enters a value that is not a shortcut
74271
+ * and call [[AccuDrawShortcuts.itemFieldCompletedInput]] when a value is accepted, such as when focusing out of the field. This is
74272
+ * required for processMotion to correctly handle updating dynamic field values to reflect the current cursor location.
74273
+ */
74274
+ processMotion() {
74275
+ if (this.flags.dialogNeedsUpdate || !this.isActive) {
74276
+ if (this.isActive && this.smartKeyin) {
74277
+ // NOTE: fixPointRectangular sets newFocus to either x or y based on which axis is closer to the input point...
74278
+ if (CompassMode.Rectangular === this.compassMode && !this.dontMoveFocus && !this.getFieldLock(this.newFocus) && this.hasInputFocus)
74279
+ this.setFocusItem(this.newFocus);
74280
+ }
74281
+ const sendDynamicFieldValueChange = (item) => {
74282
+ if (KeyinStatus.Dynamic === this.getKeyinStatus(item))
74283
+ this.onFieldValueChange(item);
74284
+ };
74285
+ // NOTE: Shows the current deltas for rectangular mode when active and current coordinate when not active...
74286
+ sendDynamicFieldValueChange(ItemField.X_Item);
74287
+ sendDynamicFieldValueChange(ItemField.Y_Item);
74288
+ sendDynamicFieldValueChange(ItemField.Z_Item);
74289
+ sendDynamicFieldValueChange(ItemField.ANGLE_Item);
74290
+ sendDynamicFieldValueChange(ItemField.DIST_Item);
74291
+ }
74292
+ }
74057
74293
  /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
74058
74294
  * Should also choose active x or y input field in rectangular mode based on cursor position when
74059
74295
  * axis isn't locked to support "smart lock".
74296
+ * @see [[processMotion]]
74060
74297
  */
74061
74298
  onMotion(_ev) { }
74062
74299
  /** @internal */
@@ -74460,6 +74697,13 @@ class AccuDrawHintBuilder {
74460
74697
  static get isEnabled() { return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.isEnabled; }
74461
74698
  /** Whether AccuDraw compass is currently displayed and points are being adjusted */
74462
74699
  static get isActive() { return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.isActive; }
74700
+ /**
74701
+ * Immediately process pending hints and update tool dynamics using the adjusted point when not called from a button down event.
74702
+ * @note Provided to help with exceptions cases, such as starting an InputCollector from the active tool's drag event, that are not handled by normal hint processing.
74703
+ * A typical interactive tool should not call this method and should only be calling sendHints.
74704
+ * @see [[sendHints]]
74705
+ */
74706
+ static processHintsImmediate() { return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.refreshDecorationsAndDynamics(); }
74463
74707
  /**
74464
74708
  * Provide hints to AccuDraw using the current builder state.
74465
74709
  * @return true if hints were successfully sent.
@@ -104942,6 +105186,7 @@ __webpack_require__.r(__webpack_exports__);
104942
105186
  /* harmony export */ "AccuDrawSetOriginTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawSetOriginTool),
104943
105187
  /* harmony export */ "AccuDrawShortcuts": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawShortcuts),
104944
105188
  /* harmony export */ "AccuDrawSuspendToggleTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.AccuDrawSuspendToggleTool),
105189
+ /* harmony export */ "AccuDrawViewportUI": () => (/* reexport safe */ _tools_AccuDrawViewportUI__WEBPACK_IMPORTED_MODULE_106__.AccuDrawViewportUI),
104945
105190
  /* harmony export */ "AccuSnap": () => (/* reexport safe */ _AccuSnap__WEBPACK_IMPORTED_MODULE_1__.AccuSnap),
104946
105191
  /* harmony export */ "AccudrawData": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.AccudrawData),
104947
105192
  /* harmony export */ "ActivityMessageDetails": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.ActivityMessageDetails),
@@ -104950,7 +105195,7 @@ __webpack_require__.r(__webpack_exports__);
104950
105195
  /* harmony export */ "AngleDescription": () => (/* reexport safe */ _properties_AngleDescription__WEBPACK_IMPORTED_MODULE_68__.AngleDescription),
104951
105196
  /* harmony export */ "AnimatedTreeReference": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.AnimatedTreeReference),
104952
105197
  /* harmony export */ "AnimationBranchStates": () => (/* reexport safe */ _render_GraphicBranch__WEBPACK_IMPORTED_MODULE_81__.AnimationBranchStates),
104953
- /* harmony export */ "AnimationNodeId": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_126__.AnimationNodeId),
105198
+ /* harmony export */ "AnimationNodeId": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_127__.AnimationNodeId),
104954
105199
  /* harmony export */ "ArcGISIdentifyRequestUrl": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ArcGISIdentifyRequestUrl),
104955
105200
  /* harmony export */ "ArcGISImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ArcGISImageryProvider),
104956
105201
  /* harmony export */ "ArcGISMapLayerImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ArcGISMapLayerImageryProvider),
@@ -104964,15 +105209,15 @@ __webpack_require__.r(__webpack_exports__);
104964
105209
  /* harmony export */ "AuxCoordSystemState": () => (/* reexport safe */ _AuxCoordSys__WEBPACK_IMPORTED_MODULE_2__.AuxCoordSystemState),
104965
105210
  /* harmony export */ "AzureMapsLayerImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.AzureMapsLayerImageryProvider),
104966
105211
  /* harmony export */ "B3dmReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.B3dmReader),
104967
- /* harmony export */ "BackgroundMapGeometry": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_120__.BackgroundMapGeometry),
105212
+ /* harmony export */ "BackgroundMapGeometry": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_121__.BackgroundMapGeometry),
104968
105213
  /* harmony export */ "BaseUnitFormattingSettingsProvider": () => (/* reexport safe */ _quantity_formatting_BaseUnitFormattingSettingsProvider__WEBPACK_IMPORTED_MODULE_72__.BaseUnitFormattingSettingsProvider),
104969
105214
  /* harmony export */ "BatchedTileIdMap": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.BatchedTileIdMap),
104970
- /* harmony export */ "BeButton": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeButton),
104971
- /* harmony export */ "BeButtonEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeButtonEvent),
104972
- /* harmony export */ "BeButtonState": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeButtonState),
104973
- /* harmony export */ "BeModifierKeys": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeModifierKeys),
104974
- /* harmony export */ "BeTouchEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeTouchEvent),
104975
- /* harmony export */ "BeWheelEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.BeWheelEvent),
105215
+ /* harmony export */ "BeButton": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeButton),
105216
+ /* harmony export */ "BeButtonEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeButtonEvent),
105217
+ /* harmony export */ "BeButtonState": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeButtonState),
105218
+ /* harmony export */ "BeModifierKeys": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeModifierKeys),
105219
+ /* harmony export */ "BeTouchEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeTouchEvent),
105220
+ /* harmony export */ "BeWheelEvent": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.BeWheelEvent),
104976
105221
  /* harmony export */ "BingElevationProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.BingElevationProvider),
104977
105222
  /* harmony export */ "BingLocationProvider": () => (/* reexport safe */ _BingLocation__WEBPACK_IMPORTED_MODULE_3__.BingLocationProvider),
104978
105223
  /* harmony export */ "BingMapsImageryLayerProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.BingMapsImageryLayerProvider),
@@ -104986,25 +105231,25 @@ __webpack_require__.r(__webpack_exports__);
104986
105231
  /* harmony export */ "ChangeFlag": () => (/* reexport safe */ _ChangeFlags__WEBPACK_IMPORTED_MODULE_7__.ChangeFlag),
104987
105232
  /* harmony export */ "ChangeFlags": () => (/* reexport safe */ _ChangeFlags__WEBPACK_IMPORTED_MODULE_7__.ChangeFlags),
104988
105233
  /* harmony export */ "CheckpointConnection": () => (/* reexport safe */ _CheckpointConnection__WEBPACK_IMPORTED_MODULE_8__.CheckpointConnection),
104989
- /* harmony export */ "ClipEventType": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ClipEventType),
105234
+ /* harmony export */ "ClipEventType": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ClipEventType),
104990
105235
  /* harmony export */ "Cluster": () => (/* reexport safe */ _Marker__WEBPACK_IMPORTED_MODULE_36__.Cluster),
104991
105236
  /* harmony export */ "CompassMode": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.CompassMode),
104992
105237
  /* harmony export */ "ContextMode": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ContextMode),
104993
105238
  /* harmony export */ "ContextRealityModelState": () => (/* reexport safe */ _ContextRealityModelState__WEBPACK_IMPORTED_MODULE_10__.ContextRealityModelState),
104994
105239
  /* harmony export */ "ContextRotationId": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ContextRotationId),
104995
105240
  /* harmony export */ "ContextShareProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ContextShareProvider),
104996
- /* harmony export */ "CoordSource": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.CoordSource),
105241
+ /* harmony export */ "CoordSource": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.CoordSource),
104997
105242
  /* harmony export */ "CoordSystem": () => (/* reexport safe */ _CoordSystem__WEBPACK_IMPORTED_MODULE_11__.CoordSystem),
104998
105243
  /* harmony export */ "CoordinateConverter": () => (/* reexport safe */ _GeoServices__WEBPACK_IMPORTED_MODULE_26__.CoordinateConverter),
104999
- /* harmony export */ "CoordinateLockOverrides": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.CoordinateLockOverrides),
105000
- /* harmony export */ "CoreTools": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.CoreTools),
105001
- /* harmony export */ "CurrentInputState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.CurrentInputState),
105244
+ /* harmony export */ "CoordinateLockOverrides": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.CoordinateLockOverrides),
105245
+ /* harmony export */ "CoreTools": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.CoreTools),
105246
+ /* harmony export */ "CurrentInputState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.CurrentInputState),
105002
105247
  /* harmony export */ "CurrentState": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.CurrentState),
105003
105248
  /* harmony export */ "DebugShaderFile": () => (/* reexport safe */ _render_RenderSystem__WEBPACK_IMPORTED_MODULE_96__.DebugShaderFile),
105004
105249
  /* harmony export */ "DecorateContext": () => (/* reexport safe */ _ViewContext__WEBPACK_IMPORTED_MODULE_56__.DecorateContext),
105005
105250
  /* harmony export */ "Decorations": () => (/* reexport safe */ _render_Decorations__WEBPACK_IMPORTED_MODULE_78__.Decorations),
105006
105251
  /* harmony export */ "DecorationsCache": () => (/* reexport safe */ _DecorationsCache__WEBPACK_IMPORTED_MODULE_12__.DecorationsCache),
105007
- /* harmony export */ "DefaultViewTouchTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.DefaultViewTouchTool),
105252
+ /* harmony export */ "DefaultViewTouchTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.DefaultViewTouchTool),
105008
105253
  /* harmony export */ "DefineACSByElementTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.DefineACSByElementTool),
105009
105254
  /* harmony export */ "DefineACSByPointsTool": () => (/* reexport safe */ _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__.DefineACSByPointsTool),
105010
105255
  /* harmony export */ "DepthPointSource": () => (/* reexport safe */ _Viewport__WEBPACK_IMPORTED_MODULE_60__.DepthPointSource),
@@ -105018,28 +105263,28 @@ __webpack_require__.r(__webpack_exports__);
105018
105263
  /* harmony export */ "DynamicIModelTile": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.DynamicIModelTile),
105019
105264
  /* harmony export */ "DynamicsContext": () => (/* reexport safe */ _ViewContext__WEBPACK_IMPORTED_MODULE_56__.DynamicsContext),
105020
105265
  /* harmony export */ "ELEMENT_MARKED_FOR_REMOVAL": () => (/* reexport safe */ _Viewport__WEBPACK_IMPORTED_MODULE_60__.ELEMENT_MARKED_FOR_REMOVAL),
105021
- /* harmony export */ "EditManipulator": () => (/* reexport safe */ _tools_EditManipulator__WEBPACK_IMPORTED_MODULE_107__.EditManipulator),
105022
- /* harmony export */ "ElementAgenda": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_108__.ElementAgenda),
105266
+ /* harmony export */ "EditManipulator": () => (/* reexport safe */ _tools_EditManipulator__WEBPACK_IMPORTED_MODULE_108__.EditManipulator),
105267
+ /* harmony export */ "ElementAgenda": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_109__.ElementAgenda),
105023
105268
  /* harmony export */ "ElementLocateManager": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.ElementLocateManager),
105024
105269
  /* harmony export */ "ElementPicker": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.ElementPicker),
105025
- /* harmony export */ "ElementSetTool": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_108__.ElementSetTool),
105270
+ /* harmony export */ "ElementSetTool": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_109__.ElementSetTool),
105026
105271
  /* harmony export */ "ElementState": () => (/* reexport safe */ _EntityState__WEBPACK_IMPORTED_MODULE_18__.ElementState),
105027
105272
  /* harmony export */ "EllipsoidTerrainProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.EllipsoidTerrainProvider),
105028
105273
  /* harmony export */ "EmphasizeElements": () => (/* reexport safe */ _EmphasizeElements__WEBPACK_IMPORTED_MODULE_17__.EmphasizeElements),
105029
105274
  /* harmony export */ "EngineeringLengthDescription": () => (/* reexport safe */ _properties_LengthDescription__WEBPACK_IMPORTED_MODULE_70__.EngineeringLengthDescription),
105030
105275
  /* harmony export */ "EntityState": () => (/* reexport safe */ _EntityState__WEBPACK_IMPORTED_MODULE_18__.EntityState),
105031
105276
  /* harmony export */ "EnvironmentDecorations": () => (/* reexport safe */ _EnvironmentDecorations__WEBPACK_IMPORTED_MODULE_19__.EnvironmentDecorations),
105032
- /* harmony export */ "EventController": () => (/* reexport safe */ _tools_EventController__WEBPACK_IMPORTED_MODULE_109__.EventController),
105033
- /* harmony export */ "EventHandled": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.EventHandled),
105277
+ /* harmony export */ "EventController": () => (/* reexport safe */ _tools_EventController__WEBPACK_IMPORTED_MODULE_110__.EventController),
105278
+ /* harmony export */ "EventHandled": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.EventHandled),
105034
105279
  /* harmony export */ "FeatureGeometryBaseRenderer": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.FeatureGeometryBaseRenderer),
105035
105280
  /* harmony export */ "FeatureGraphicsRenderer": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.FeatureGraphicsRenderer),
105036
105281
  /* harmony export */ "FeatureSymbology": () => (/* reexport safe */ _render_FeatureSymbology__WEBPACK_IMPORTED_MODULE_79__.FeatureSymbology),
105037
105282
  /* harmony export */ "FetchCloudStorage": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.FetchCloudStorage),
105038
- /* harmony export */ "FitViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.FitViewTool),
105283
+ /* harmony export */ "FitViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.FitViewTool),
105039
105284
  /* harmony export */ "Flags": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.Flags),
105040
105285
  /* harmony export */ "FlashMode": () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_21__.FlashMode),
105041
105286
  /* harmony export */ "FlashSettings": () => (/* reexport safe */ _FlashSettings__WEBPACK_IMPORTED_MODULE_21__.FlashSettings),
105042
- /* harmony export */ "FlyViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.FlyViewTool),
105287
+ /* harmony export */ "FlyViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.FlyViewTool),
105043
105288
  /* harmony export */ "FormattedQuantityDescription": () => (/* reexport safe */ _properties_FormattedQuantityDescription__WEBPACK_IMPORTED_MODULE_69__.FormattedQuantityDescription),
105044
105289
  /* harmony export */ "FrameStatsCollector": () => (/* reexport safe */ _render_FrameStats__WEBPACK_IMPORTED_MODULE_80__.FrameStatsCollector),
105045
105290
  /* harmony export */ "FrontendLoggerCategory": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.FrontendLoggerCategory),
@@ -105055,7 +105300,7 @@ __webpack_require__.r(__webpack_exports__);
105055
105300
  /* harmony export */ "GeometricModelState": () => (/* reexport safe */ _ModelState__WEBPACK_IMPORTED_MODULE_38__.GeometricModelState),
105056
105301
  /* harmony export */ "GlobeAnimator": () => (/* reexport safe */ _GlobeAnimator__WEBPACK_IMPORTED_MODULE_27__.GlobeAnimator),
105057
105302
  /* harmony export */ "GltfBufferData": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.GltfBufferData),
105058
- /* harmony export */ "GltfDataType": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_126__.GltfDataType),
105303
+ /* harmony export */ "GltfDataType": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_127__.GltfDataType),
105059
105304
  /* harmony export */ "GltfGraphicsReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.GltfGraphicsReader),
105060
105305
  /* harmony export */ "GltfMeshData": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.GltfMeshData),
105061
105306
  /* harmony export */ "GltfReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.GltfReader),
@@ -105086,36 +105331,36 @@ __webpack_require__.r(__webpack_exports__);
105086
105331
  /* harmony export */ "IModelTileTree": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.IModelTileTree),
105087
105332
  /* harmony export */ "ITWINJS_CORE_VERSION": () => (/* reexport safe */ _IModelApp__WEBPACK_IMPORTED_MODULE_30__.ITWINJS_CORE_VERSION),
105088
105333
  /* harmony export */ "IconSprites": () => (/* reexport safe */ _Sprites__WEBPACK_IMPORTED_MODULE_49__.IconSprites),
105089
- /* harmony export */ "IdleTool": () => (/* reexport safe */ _tools_IdleTool__WEBPACK_IMPORTED_MODULE_110__.IdleTool),
105334
+ /* harmony export */ "IdleTool": () => (/* reexport safe */ _tools_IdleTool__WEBPACK_IMPORTED_MODULE_111__.IdleTool),
105090
105335
  /* harmony export */ "ImageryMapLayerFormat": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImageryMapLayerFormat),
105091
105336
  /* harmony export */ "ImageryMapLayerTreeReference": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImageryMapLayerTreeReference),
105092
105337
  /* harmony export */ "ImageryMapTile": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImageryMapTile),
105093
105338
  /* harmony export */ "ImageryMapTileTree": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImageryMapTileTree),
105094
105339
  /* harmony export */ "ImageryTileTreeState": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImageryTileTreeState),
105095
105340
  /* harmony export */ "ImdlReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ImdlReader),
105096
- /* harmony export */ "InputCollector": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.InputCollector),
105097
- /* harmony export */ "InputSource": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.InputSource),
105341
+ /* harmony export */ "InputCollector": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.InputCollector),
105342
+ /* harmony export */ "InputSource": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.InputSource),
105098
105343
  /* harmony export */ "InstancedGraphicParams": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.InstancedGraphicParams),
105099
105344
  /* harmony export */ "InstancedGraphicProps": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.InstancedGraphicProps),
105100
- /* harmony export */ "InteractiveTool": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.InteractiveTool),
105345
+ /* harmony export */ "InteractiveTool": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.InteractiveTool),
105101
105346
  /* harmony export */ "IntersectDetail": () => (/* reexport safe */ _HitDetail__WEBPACK_IMPORTED_MODULE_29__.IntersectDetail),
105102
105347
  /* harmony export */ "IpcApp": () => (/* reexport safe */ _IpcApp__WEBPACK_IMPORTED_MODULE_33__.IpcApp),
105103
105348
  /* harmony export */ "ItemField": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.ItemField),
105104
- /* harmony export */ "KeyinParseError": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.KeyinParseError),
105349
+ /* harmony export */ "KeyinParseError": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.KeyinParseError),
105105
105350
  /* harmony export */ "KeyinStatus": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.KeyinStatus),
105106
105351
  /* harmony export */ "LRUTileList": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.LRUTileList),
105107
105352
  /* harmony export */ "LengthDescription": () => (/* reexport safe */ _properties_LengthDescription__WEBPACK_IMPORTED_MODULE_70__.LengthDescription),
105108
105353
  /* harmony export */ "LocalExtensionProvider": () => (/* reexport safe */ _extension_providers_LocalExtensionProvider__WEBPACK_IMPORTED_MODULE_66__.LocalExtensionProvider),
105109
105354
  /* harmony export */ "LocalUnitFormatProvider": () => (/* reexport safe */ _quantity_formatting_LocalUnitFormatProvider__WEBPACK_IMPORTED_MODULE_73__.LocalUnitFormatProvider),
105110
- /* harmony export */ "LocalhostIpcApp": () => (/* reexport safe */ _LocalhostIpcApp__WEBPACK_IMPORTED_MODULE_123__.LocalhostIpcApp),
105355
+ /* harmony export */ "LocalhostIpcApp": () => (/* reexport safe */ _LocalhostIpcApp__WEBPACK_IMPORTED_MODULE_124__.LocalhostIpcApp),
105111
105356
  /* harmony export */ "LocateAction": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.LocateAction),
105112
105357
  /* harmony export */ "LocateFilterStatus": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.LocateFilterStatus),
105113
105358
  /* harmony export */ "LocateOptions": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.LocateOptions),
105114
105359
  /* harmony export */ "LocateResponse": () => (/* reexport safe */ _ElementLocateManager__WEBPACK_IMPORTED_MODULE_16__.LocateResponse),
105115
105360
  /* harmony export */ "LockedStates": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.LockedStates),
105116
- /* harmony export */ "LookAndMoveTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.LookAndMoveTool),
105117
- /* harmony export */ "LookViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.LookViewTool),
105118
- /* harmony export */ "ManipulatorToolEvent": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.ManipulatorToolEvent),
105361
+ /* harmony export */ "LookAndMoveTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.LookAndMoveTool),
105362
+ /* harmony export */ "LookViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.LookViewTool),
105363
+ /* harmony export */ "ManipulatorToolEvent": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.ManipulatorToolEvent),
105119
105364
  /* harmony export */ "MapBoxLayerImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.MapBoxLayerImageryProvider),
105120
105365
  /* harmony export */ "MapCartoRectangle": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.MapCartoRectangle),
105121
105366
  /* harmony export */ "MapFeatureInfoRecord": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.MapFeatureInfoRecord),
@@ -105139,13 +105384,13 @@ __webpack_require__.r(__webpack_exports__);
105139
105384
  /* harmony export */ "MarginPercent": () => (/* reexport safe */ _MarginPercent__WEBPACK_IMPORTED_MODULE_35__.MarginPercent),
105140
105385
  /* harmony export */ "Marker": () => (/* reexport safe */ _Marker__WEBPACK_IMPORTED_MODULE_36__.Marker),
105141
105386
  /* harmony export */ "MarkerSet": () => (/* reexport safe */ _Marker__WEBPACK_IMPORTED_MODULE_36__.MarkerSet),
105142
- /* harmony export */ "MeasureAreaByPointsTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureAreaByPointsTool),
105143
- /* harmony export */ "MeasureAreaTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureAreaTool),
105144
- /* harmony export */ "MeasureDistanceTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureDistanceTool),
105145
- /* harmony export */ "MeasureElementTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureElementTool),
105146
- /* harmony export */ "MeasureLengthTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureLengthTool),
105147
- /* harmony export */ "MeasureLocationTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureLocationTool),
105148
- /* harmony export */ "MeasureVolumeTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__.MeasureVolumeTool),
105387
+ /* harmony export */ "MeasureAreaByPointsTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureAreaByPointsTool),
105388
+ /* harmony export */ "MeasureAreaTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureAreaTool),
105389
+ /* harmony export */ "MeasureDistanceTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureDistanceTool),
105390
+ /* harmony export */ "MeasureElementTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureElementTool),
105391
+ /* harmony export */ "MeasureLengthTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureLengthTool),
105392
+ /* harmony export */ "MeasureLocationTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureLocationTool),
105393
+ /* harmony export */ "MeasureVolumeTool": () => (/* reexport safe */ _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__.MeasureVolumeTool),
105149
105394
  /* harmony export */ "MessageBoxIconType": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.MessageBoxIconType),
105150
105395
  /* harmony export */ "MessageBoxType": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.MessageBoxType),
105151
105396
  /* harmony export */ "MessageBoxValue": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.MessageBoxValue),
@@ -105153,7 +105398,7 @@ __webpack_require__.r(__webpack_exports__);
105153
105398
  /* harmony export */ "ModelMapLayerTileTreeReference": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ModelMapLayerTileTreeReference),
105154
105399
  /* harmony export */ "ModelSelectorState": () => (/* reexport safe */ _ModelSelectorState__WEBPACK_IMPORTED_MODULE_37__.ModelSelectorState),
105155
105400
  /* harmony export */ "ModelState": () => (/* reexport safe */ _ModelState__WEBPACK_IMPORTED_MODULE_38__.ModelState),
105156
- /* harmony export */ "ModifyElementSource": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_108__.ModifyElementSource),
105401
+ /* harmony export */ "ModifyElementSource": () => (/* reexport safe */ _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_109__.ModifyElementSource),
105157
105402
  /* harmony export */ "MutableChangeFlags": () => (/* reexport safe */ _ChangeFlags__WEBPACK_IMPORTED_MODULE_7__.MutableChangeFlags),
105158
105403
  /* harmony export */ "NativeApp": () => (/* reexport safe */ _NativeApp__WEBPACK_IMPORTED_MODULE_39__.NativeApp),
105159
105404
  /* harmony export */ "NativeAppLogger": () => (/* reexport safe */ _NativeAppLogger__WEBPACK_IMPORTED_MODULE_40__.NativeAppLogger),
@@ -105173,8 +105418,8 @@ __webpack_require__.r(__webpack_exports__);
105173
105418
  /* harmony export */ "OutputMessageAlert": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.OutputMessageAlert),
105174
105419
  /* harmony export */ "OutputMessagePriority": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.OutputMessagePriority),
105175
105420
  /* harmony export */ "OutputMessageType": () => (/* reexport safe */ _NotificationManager__WEBPACK_IMPORTED_MODULE_42__.OutputMessageType),
105176
- /* harmony export */ "PanViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.PanViewTool),
105177
- /* harmony export */ "ParseAndRunResult": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.ParseAndRunResult),
105421
+ /* harmony export */ "PanViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.PanViewTool),
105422
+ /* harmony export */ "ParseAndRunResult": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.ParseAndRunResult),
105178
105423
  /* harmony export */ "ParticleCollectionBuilder": () => (/* reexport safe */ _render_ParticleCollectionBuilder__WEBPACK_IMPORTED_MODULE_86__.ParticleCollectionBuilder),
105179
105424
  /* harmony export */ "PerModelCategoryVisibility": () => (/* reexport safe */ _PerModelCategoryVisibility__WEBPACK_IMPORTED_MODULE_43__.PerModelCategoryVisibility),
105180
105425
  /* harmony export */ "PerformanceMetrics": () => (/* reexport safe */ _render_webgl_PerformanceMetrics__WEBPACK_IMPORTED_MODULE_102__.PerformanceMetrics),
@@ -105183,15 +105428,15 @@ __webpack_require__.r(__webpack_exports__);
105183
105428
  /* harmony export */ "PlanarClipMaskState": () => (/* reexport safe */ _PlanarClipMaskState__WEBPACK_IMPORTED_MODULE_44__.PlanarClipMaskState),
105184
105429
  /* harmony export */ "PlanarGridTransparency": () => (/* reexport safe */ _render_RenderSystem__WEBPACK_IMPORTED_MODULE_96__.PlanarGridTransparency),
105185
105430
  /* harmony export */ "PlanarTilePatch": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.PlanarTilePatch),
105186
- /* harmony export */ "PrimitiveTool": () => (/* reexport safe */ _tools_PrimitiveTool__WEBPACK_IMPORTED_MODULE_112__.PrimitiveTool),
105431
+ /* harmony export */ "PrimitiveTool": () => (/* reexport safe */ _tools_PrimitiveTool__WEBPACK_IMPORTED_MODULE_113__.PrimitiveTool),
105187
105432
  /* harmony export */ "PrimitiveVisibility": () => (/* reexport safe */ _render_RenderTarget__WEBPACK_IMPORTED_MODULE_97__.PrimitiveVisibility),
105188
105433
  /* harmony export */ "QuadId": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.QuadId),
105189
105434
  /* harmony export */ "QuantityFormatter": () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_71__.QuantityFormatter),
105190
105435
  /* harmony export */ "QuantityType": () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_71__.QuantityType),
105191
105436
  /* harmony export */ "ReadonlyTileUserSet": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.ReadonlyTileUserSet),
105192
- /* harmony export */ "RealityDataError": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_125__.RealityDataError),
105193
- /* harmony export */ "RealityDataSource": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_125__.RealityDataSource),
105194
- /* harmony export */ "RealityDataSourceProviderRegistry": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_125__.RealityDataSourceProviderRegistry),
105437
+ /* harmony export */ "RealityDataError": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_126__.RealityDataError),
105438
+ /* harmony export */ "RealityDataSource": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_126__.RealityDataSource),
105439
+ /* harmony export */ "RealityDataSourceProviderRegistry": () => (/* reexport safe */ _RealityDataSource__WEBPACK_IMPORTED_MODULE_126__.RealityDataSourceProviderRegistry),
105195
105440
  /* harmony export */ "RealityMeshParams": () => (/* reexport safe */ _render_RealityMeshParams__WEBPACK_IMPORTED_MODULE_90__.RealityMeshParams),
105196
105441
  /* harmony export */ "RealityMeshParamsBuilder": () => (/* reexport safe */ _render_RealityMeshParams__WEBPACK_IMPORTED_MODULE_90__.RealityMeshParamsBuilder),
105197
105442
  /* harmony export */ "RealityModelTileTree": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.RealityModelTileTree),
@@ -105217,24 +105462,24 @@ __webpack_require__.r(__webpack_exports__);
105217
105462
  /* harmony export */ "RenderTarget": () => (/* reexport safe */ _render_RenderTarget__WEBPACK_IMPORTED_MODULE_97__.RenderTarget),
105218
105463
  /* harmony export */ "RenderTerrainGeometry": () => (/* reexport safe */ _render_RenderSystem__WEBPACK_IMPORTED_MODULE_96__.RenderTerrainGeometry),
105219
105464
  /* harmony export */ "RenderTextureDrape": () => (/* reexport safe */ _render_RenderSystem__WEBPACK_IMPORTED_MODULE_96__.RenderTextureDrape),
105220
- /* harmony export */ "RotateViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.RotateViewTool),
105465
+ /* harmony export */ "RotateViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.RotateViewTool),
105221
105466
  /* harmony export */ "RotationMode": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.RotationMode),
105222
105467
  /* harmony export */ "RoundOff": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.RoundOff),
105223
105468
  /* harmony export */ "SavedState": () => (/* reexport safe */ _AccuDraw__WEBPACK_IMPORTED_MODULE_0__.SavedState),
105224
105469
  /* harmony export */ "Scene": () => (/* reexport safe */ _render_Scene__WEBPACK_IMPORTED_MODULE_98__.Scene),
105225
105470
  /* harmony export */ "SceneContext": () => (/* reexport safe */ _ViewContext__WEBPACK_IMPORTED_MODULE_56__.SceneContext),
105226
105471
  /* harmony export */ "ScreenViewport": () => (/* reexport safe */ _Viewport__WEBPACK_IMPORTED_MODULE_60__.ScreenViewport),
105227
- /* harmony export */ "ScrollViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ScrollViewTool),
105472
+ /* harmony export */ "ScrollViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ScrollViewTool),
105228
105473
  /* harmony export */ "SectionDrawingModelState": () => (/* reexport safe */ _ModelState__WEBPACK_IMPORTED_MODULE_38__.SectionDrawingModelState),
105229
105474
  /* harmony export */ "SelectParent": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.SelectParent),
105230
- /* harmony export */ "SelectionMethod": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_113__.SelectionMethod),
105231
- /* harmony export */ "SelectionMode": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_113__.SelectionMode),
105232
- /* harmony export */ "SelectionProcessing": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_113__.SelectionProcessing),
105475
+ /* harmony export */ "SelectionMethod": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_114__.SelectionMethod),
105476
+ /* harmony export */ "SelectionMode": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_114__.SelectionMode),
105477
+ /* harmony export */ "SelectionProcessing": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_114__.SelectionProcessing),
105233
105478
  /* harmony export */ "SelectionSet": () => (/* reexport safe */ _SelectionSet__WEBPACK_IMPORTED_MODULE_45__.SelectionSet),
105234
105479
  /* harmony export */ "SelectionSetEventType": () => (/* reexport safe */ _SelectionSet__WEBPACK_IMPORTED_MODULE_45__.SelectionSetEventType),
105235
- /* harmony export */ "SelectionTool": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_113__.SelectionTool),
105236
- /* harmony export */ "SetupCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.SetupCameraTool),
105237
- /* harmony export */ "SetupWalkCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.SetupWalkCameraTool),
105480
+ /* harmony export */ "SelectionTool": () => (/* reexport safe */ _tools_SelectTool__WEBPACK_IMPORTED_MODULE_114__.SelectionTool),
105481
+ /* harmony export */ "SetupCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.SetupCameraTool),
105482
+ /* harmony export */ "SetupWalkCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.SetupWalkCameraTool),
105238
105483
  /* harmony export */ "SheetModelState": () => (/* reexport safe */ _ModelState__WEBPACK_IMPORTED_MODULE_38__.SheetModelState),
105239
105484
  /* harmony export */ "SheetViewState": () => (/* reexport safe */ _SheetViewState__WEBPACK_IMPORTED_MODULE_46__.SheetViewState),
105240
105485
  /* harmony export */ "SnapDetail": () => (/* reexport safe */ _HitDetail__WEBPACK_IMPORTED_MODULE_29__.SnapDetail),
@@ -105252,12 +105497,12 @@ __webpack_require__.r(__webpack_exports__);
105252
105497
  /* harmony export */ "SpriteLocation": () => (/* reexport safe */ _Sprites__WEBPACK_IMPORTED_MODULE_49__.SpriteLocation),
105253
105498
  /* harmony export */ "StandardView": () => (/* reexport safe */ _StandardView__WEBPACK_IMPORTED_MODULE_50__.StandardView),
105254
105499
  /* harmony export */ "StandardViewId": () => (/* reexport safe */ _StandardView__WEBPACK_IMPORTED_MODULE_50__.StandardViewId),
105255
- /* harmony export */ "StandardViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.StandardViewTool),
105256
- /* harmony export */ "StartOrResume": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.StartOrResume),
105500
+ /* harmony export */ "StandardViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.StandardViewTool),
105501
+ /* harmony export */ "StartOrResume": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.StartOrResume),
105257
105502
  /* harmony export */ "Storage": () => (/* reexport safe */ _NativeApp__WEBPACK_IMPORTED_MODULE_39__.Storage),
105258
105503
  /* harmony export */ "SubCategoriesCache": () => (/* reexport safe */ _SubCategoriesCache__WEBPACK_IMPORTED_MODULE_51__.SubCategoriesCache),
105259
105504
  /* harmony export */ "SurveyLengthDescription": () => (/* reexport safe */ _properties_LengthDescription__WEBPACK_IMPORTED_MODULE_70__.SurveyLengthDescription),
105260
- /* harmony export */ "SuspendedToolState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.SuspendedToolState),
105505
+ /* harmony export */ "SuspendedToolState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.SuspendedToolState),
105261
105506
  /* harmony export */ "Target": () => (/* reexport safe */ _render_webgl_Target__WEBPACK_IMPORTED_MODULE_103__.Target),
105262
105507
  /* harmony export */ "TentativeOrAccuSnap": () => (/* reexport safe */ _AccuSnap__WEBPACK_IMPORTED_MODULE_1__.TentativeOrAccuSnap),
105263
105508
  /* harmony export */ "TentativePoint": () => (/* reexport safe */ _TentativePoint__WEBPACK_IMPORTED_MODULE_52__.TentativePoint),
@@ -105292,15 +105537,15 @@ __webpack_require__.r(__webpack_exports__);
105292
105537
  /* harmony export */ "TileVisibility": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.TileVisibility),
105293
105538
  /* harmony export */ "TiledGraphicsProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.TiledGraphicsProvider),
105294
105539
  /* harmony export */ "Tiles": () => (/* reexport safe */ _Tiles__WEBPACK_IMPORTED_MODULE_53__.Tiles),
105295
- /* harmony export */ "Tool": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.Tool),
105296
- /* harmony export */ "ToolAdmin": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.ToolAdmin),
105297
- /* harmony export */ "ToolAssistance": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_117__.ToolAssistance),
105298
- /* harmony export */ "ToolAssistanceImage": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_117__.ToolAssistanceImage),
105299
- /* harmony export */ "ToolAssistanceInputMethod": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_117__.ToolAssistanceInputMethod),
105300
- /* harmony export */ "ToolRegistry": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_114__.ToolRegistry),
105301
- /* harmony export */ "ToolSettings": () => (/* reexport safe */ _tools_ToolSettings__WEBPACK_IMPORTED_MODULE_115__.ToolSettings),
105302
- /* harmony export */ "ToolSettingsState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.ToolSettingsState),
105303
- /* harmony export */ "ToolState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.ToolState),
105540
+ /* harmony export */ "Tool": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.Tool),
105541
+ /* harmony export */ "ToolAdmin": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.ToolAdmin),
105542
+ /* harmony export */ "ToolAssistance": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_118__.ToolAssistance),
105543
+ /* harmony export */ "ToolAssistanceImage": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_118__.ToolAssistanceImage),
105544
+ /* harmony export */ "ToolAssistanceInputMethod": () => (/* reexport safe */ _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_118__.ToolAssistanceInputMethod),
105545
+ /* harmony export */ "ToolRegistry": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_115__.ToolRegistry),
105546
+ /* harmony export */ "ToolSettings": () => (/* reexport safe */ _tools_ToolSettings__WEBPACK_IMPORTED_MODULE_116__.ToolSettings),
105547
+ /* harmony export */ "ToolSettingsState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.ToolSettingsState),
105548
+ /* harmony export */ "ToolState": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.ToolState),
105304
105549
  /* harmony export */ "TouchCursor": () => (/* reexport safe */ _AccuSnap__WEBPACK_IMPORTED_MODULE_1__.TouchCursor),
105305
105550
  /* harmony export */ "TraversalChildrenDetails": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.TraversalChildrenDetails),
105306
105551
  /* harmony export */ "TraversalDetails": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.TraversalDetails),
@@ -105311,51 +105556,51 @@ __webpack_require__.r(__webpack_exports__);
105311
105556
  /* harmony export */ "UniqueTileUserSets": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.UniqueTileUserSets),
105312
105557
  /* harmony export */ "UpsampledMapTile": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.UpsampledMapTile),
105313
105558
  /* harmony export */ "VaryingType": () => (/* reexport safe */ _render_ScreenSpaceEffectBuilder__WEBPACK_IMPORTED_MODULE_99__.VaryingType),
105314
- /* harmony export */ "ViewClipByElementTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipByElementTool),
105315
- /* harmony export */ "ViewClipByPlaneTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipByPlaneTool),
105316
- /* harmony export */ "ViewClipByRangeTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipByRangeTool),
105317
- /* harmony export */ "ViewClipByShapeTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipByShapeTool),
105318
- /* harmony export */ "ViewClipClearTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipClearTool),
105319
- /* harmony export */ "ViewClipControlArrow": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipControlArrow),
105320
- /* harmony export */ "ViewClipDecoration": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipDecoration),
105321
- /* harmony export */ "ViewClipDecorationProvider": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipDecorationProvider),
105322
- /* harmony export */ "ViewClipModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipModifyTool),
105323
- /* harmony export */ "ViewClipPlanesModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipPlanesModifyTool),
105324
- /* harmony export */ "ViewClipShapeModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipShapeModifyTool),
105325
- /* harmony export */ "ViewClipTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__.ViewClipTool),
105326
- /* harmony export */ "ViewCreator2d": () => (/* reexport safe */ _ViewCreator2d__WEBPACK_IMPORTED_MODULE_121__.ViewCreator2d),
105327
- /* harmony export */ "ViewCreator3d": () => (/* reexport safe */ _ViewCreator3d__WEBPACK_IMPORTED_MODULE_122__.ViewCreator3d),
105559
+ /* harmony export */ "ViewClipByElementTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipByElementTool),
105560
+ /* harmony export */ "ViewClipByPlaneTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipByPlaneTool),
105561
+ /* harmony export */ "ViewClipByRangeTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipByRangeTool),
105562
+ /* harmony export */ "ViewClipByShapeTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipByShapeTool),
105563
+ /* harmony export */ "ViewClipClearTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipClearTool),
105564
+ /* harmony export */ "ViewClipControlArrow": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipControlArrow),
105565
+ /* harmony export */ "ViewClipDecoration": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipDecoration),
105566
+ /* harmony export */ "ViewClipDecorationProvider": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipDecorationProvider),
105567
+ /* harmony export */ "ViewClipModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipModifyTool),
105568
+ /* harmony export */ "ViewClipPlanesModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipPlanesModifyTool),
105569
+ /* harmony export */ "ViewClipShapeModifyTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipShapeModifyTool),
105570
+ /* harmony export */ "ViewClipTool": () => (/* reexport safe */ _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__.ViewClipTool),
105571
+ /* harmony export */ "ViewCreator2d": () => (/* reexport safe */ _ViewCreator2d__WEBPACK_IMPORTED_MODULE_122__.ViewCreator2d),
105572
+ /* harmony export */ "ViewCreator3d": () => (/* reexport safe */ _ViewCreator3d__WEBPACK_IMPORTED_MODULE_123__.ViewCreator3d),
105328
105573
  /* harmony export */ "ViewGlobalLocationConstants": () => (/* reexport safe */ _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_57__.ViewGlobalLocationConstants),
105329
- /* harmony export */ "ViewGlobeBirdTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewGlobeBirdTool),
105330
- /* harmony export */ "ViewGlobeIModelTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewGlobeIModelTool),
105331
- /* harmony export */ "ViewGlobeLocationTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewGlobeLocationTool),
105332
- /* harmony export */ "ViewGlobeSatelliteTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewGlobeSatelliteTool),
105333
- /* harmony export */ "ViewHandleArray": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewHandleArray),
105334
- /* harmony export */ "ViewHandleType": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewHandleType),
105574
+ /* harmony export */ "ViewGlobeBirdTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewGlobeBirdTool),
105575
+ /* harmony export */ "ViewGlobeIModelTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewGlobeIModelTool),
105576
+ /* harmony export */ "ViewGlobeLocationTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewGlobeLocationTool),
105577
+ /* harmony export */ "ViewGlobeSatelliteTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewGlobeSatelliteTool),
105578
+ /* harmony export */ "ViewHandleArray": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewHandleArray),
105579
+ /* harmony export */ "ViewHandleType": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewHandleType),
105335
105580
  /* harmony export */ "ViewManager": () => (/* reexport safe */ _ViewManager__WEBPACK_IMPORTED_MODULE_59__.ViewManager),
105336
- /* harmony export */ "ViewManip": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewManip),
105581
+ /* harmony export */ "ViewManip": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewManip),
105337
105582
  /* harmony export */ "ViewPose": () => (/* reexport safe */ _ViewPose__WEBPACK_IMPORTED_MODULE_62__.ViewPose),
105338
105583
  /* harmony export */ "ViewPose2d": () => (/* reexport safe */ _ViewPose__WEBPACK_IMPORTED_MODULE_62__.ViewPose2d),
105339
105584
  /* harmony export */ "ViewPose3d": () => (/* reexport safe */ _ViewPose__WEBPACK_IMPORTED_MODULE_62__.ViewPose3d),
105340
105585
  /* harmony export */ "ViewRect": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.ViewRect),
105341
- /* harmony export */ "ViewRedoTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewRedoTool),
105586
+ /* harmony export */ "ViewRedoTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewRedoTool),
105342
105587
  /* harmony export */ "ViewState": () => (/* reexport safe */ _ViewState__WEBPACK_IMPORTED_MODULE_63__.ViewState),
105343
105588
  /* harmony export */ "ViewState2d": () => (/* reexport safe */ _ViewState__WEBPACK_IMPORTED_MODULE_63__.ViewState2d),
105344
105589
  /* harmony export */ "ViewState3d": () => (/* reexport safe */ _ViewState__WEBPACK_IMPORTED_MODULE_63__.ViewState3d),
105345
105590
  /* harmony export */ "ViewStatus": () => (/* reexport safe */ _ViewStatus__WEBPACK_IMPORTED_MODULE_64__.ViewStatus),
105346
- /* harmony export */ "ViewToggleCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewToggleCameraTool),
105347
- /* harmony export */ "ViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewTool),
105591
+ /* harmony export */ "ViewToggleCameraTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewToggleCameraTool),
105592
+ /* harmony export */ "ViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewTool),
105348
105593
  /* harmony export */ "ViewUndoEvent": () => (/* reexport safe */ _Viewport__WEBPACK_IMPORTED_MODULE_60__.ViewUndoEvent),
105349
- /* harmony export */ "ViewUndoTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewUndoTool),
105594
+ /* harmony export */ "ViewUndoTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewUndoTool),
105350
105595
  /* harmony export */ "ViewingSpace": () => (/* reexport safe */ _ViewingSpace__WEBPACK_IMPORTED_MODULE_58__.ViewingSpace),
105351
- /* harmony export */ "ViewingToolHandle": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ViewingToolHandle),
105596
+ /* harmony export */ "ViewingToolHandle": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ViewingToolHandle),
105352
105597
  /* harmony export */ "Viewport": () => (/* reexport safe */ _Viewport__WEBPACK_IMPORTED_MODULE_60__.Viewport),
105353
- /* harmony export */ "WalkViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.WalkViewTool),
105598
+ /* harmony export */ "WalkViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.WalkViewTool),
105354
105599
  /* harmony export */ "WebMercator": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WebMercator),
105355
105600
  /* harmony export */ "WebMercatorProjection": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WebMercatorProjection),
105356
105601
  /* harmony export */ "WebMercatorTilingScheme": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WebMercatorTilingScheme),
105357
- /* harmony export */ "WheelEventProcessor": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__.WheelEventProcessor),
105358
- /* harmony export */ "WindowAreaTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.WindowAreaTool),
105602
+ /* harmony export */ "WheelEventProcessor": () => (/* reexport safe */ _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__.WheelEventProcessor),
105603
+ /* harmony export */ "WindowAreaTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.WindowAreaTool),
105359
105604
  /* harmony export */ "WmsCapabilities": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WmsCapabilities),
105360
105605
  /* harmony export */ "WmsCapability": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WmsCapability),
105361
105606
  /* harmony export */ "WmsMapLayerImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WmsMapLayerImageryProvider),
@@ -105365,15 +105610,15 @@ __webpack_require__.r(__webpack_exports__);
105365
105610
  /* harmony export */ "WmtsConstants": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WmtsConstants),
105366
105611
  /* harmony export */ "WmtsMapLayerImageryProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.WmtsMapLayerImageryProvider),
105367
105612
  /* harmony export */ "WorkerGraphicDescriptionContext": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.WorkerGraphicDescriptionContext),
105368
- /* harmony export */ "ZoomViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__.ZoomViewTool),
105369
- /* harmony export */ "_callIpcChannel": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_126__._callIpcChannel),
105613
+ /* harmony export */ "ZoomViewTool": () => (/* reexport safe */ _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__.ZoomViewTool),
105614
+ /* harmony export */ "_callIpcChannel": () => (/* reexport safe */ _internal_cross_package__WEBPACK_IMPORTED_MODULE_127__._callIpcChannel),
105370
105615
  /* harmony export */ "acquireImdlDecoder": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.acquireImdlDecoder),
105371
105616
  /* harmony export */ "acquireImdlParser": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.acquireImdlParser),
105372
105617
  /* harmony export */ "addRangeGraphic": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.addRangeGraphic),
105373
105618
  /* harmony export */ "appendQueryParams": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.appendQueryParams),
105374
105619
  /* harmony export */ "areaToEyeHeight": () => (/* reexport safe */ _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_57__.areaToEyeHeight),
105375
105620
  /* harmony export */ "areaToEyeHeightFromGcs": () => (/* reexport safe */ _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_57__.areaToEyeHeightFromGcs),
105376
- /* harmony export */ "calculateEcefToDbTransformAtLocation": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_120__.calculateEcefToDbTransformAtLocation),
105621
+ /* harmony export */ "calculateEcefToDbTransformAtLocation": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_121__.calculateEcefToDbTransformAtLocation),
105377
105622
  /* harmony export */ "canvasToImageBuffer": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.canvasToImageBuffer),
105378
105623
  /* harmony export */ "canvasToResizedCanvasWithBars": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.canvasToResizedCanvasWithBars),
105379
105624
  /* harmony export */ "connectViewportFrusta": () => (/* reexport safe */ _ViewportSync__WEBPACK_IMPORTED_MODULE_61__.connectViewportFrusta),
@@ -105408,12 +105653,12 @@ __webpack_require__.r(__webpack_exports__);
105408
105653
  /* harmony export */ "getCesiumOSMBuildingsUrl": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getCesiumOSMBuildingsUrl),
105409
105654
  /* harmony export */ "getCesiumTerrainProvider": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getCesiumTerrainProvider),
105410
105655
  /* harmony export */ "getCompressedJpegFromCanvas": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getCompressedJpegFromCanvas),
105411
- /* harmony export */ "getFrustumPlaneIntersectionDepthRange": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_120__.getFrustumPlaneIntersectionDepthRange),
105656
+ /* harmony export */ "getFrustumPlaneIntersectionDepthRange": () => (/* reexport safe */ _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_121__.getFrustumPlaneIntersectionDepthRange),
105412
105657
  /* harmony export */ "getGcsConverterAvailable": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getGcsConverterAvailable),
105413
105658
  /* harmony export */ "getImageSourceFormatForMimeType": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceFormatForMimeType),
105414
105659
  /* harmony export */ "getImageSourceMimeType": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceMimeType),
105415
105660
  /* harmony export */ "getQuantityTypeKey": () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_71__.getQuantityTypeKey),
105416
- /* harmony export */ "headersIncludeAuthMethod": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_124__.headersIncludeAuthMethod),
105661
+ /* harmony export */ "headersIncludeAuthMethod": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_125__.headersIncludeAuthMethod),
105417
105662
  /* harmony export */ "iModelTileParamsFromJSON": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.iModelTileParamsFromJSON),
105418
105663
  /* harmony export */ "iModelTileTreeParamsFromJSON": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.iModelTileTreeParamsFromJSON),
105419
105664
  /* harmony export */ "imageBitmapFromImageSource": () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.imageBitmapFromImageSource),
@@ -105440,9 +105685,9 @@ __webpack_require__.r(__webpack_exports__);
105440
105685
  /* harmony export */ "readGltfTemplate": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readGltfTemplate),
105441
105686
  /* harmony export */ "readImdlContent": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readImdlContent),
105442
105687
  /* harmony export */ "readPointCloudTileContent": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.readPointCloudTileContent),
105443
- /* harmony export */ "registerWorker": () => (/* reexport safe */ _workers_RegisterWorker__WEBPACK_IMPORTED_MODULE_119__.registerWorker),
105444
- /* harmony export */ "setBasicAuthorization": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_124__.setBasicAuthorization),
105445
- /* harmony export */ "setRequestTimeout": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_124__.setRequestTimeout),
105688
+ /* harmony export */ "registerWorker": () => (/* reexport safe */ _workers_RegisterWorker__WEBPACK_IMPORTED_MODULE_120__.registerWorker),
105689
+ /* harmony export */ "setBasicAuthorization": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_125__.setBasicAuthorization),
105690
+ /* harmony export */ "setRequestTimeout": () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_125__.setRequestTimeout),
105446
105691
  /* harmony export */ "synchronizeViewportFrusta": () => (/* reexport safe */ _ViewportSync__WEBPACK_IMPORTED_MODULE_61__.synchronizeViewportFrusta),
105447
105692
  /* harmony export */ "synchronizeViewportViews": () => (/* reexport safe */ _ViewportSync__WEBPACK_IMPORTED_MODULE_61__.synchronizeViewportViews),
105448
105693
  /* harmony export */ "tileTreeReferenceFromRenderGraphic": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.tileTreeReferenceFromRenderGraphic),
@@ -105555,28 +105800,29 @@ __webpack_require__.r(__webpack_exports__);
105555
105800
  /* harmony import */ var _render_webgl_Target__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./render/webgl/Target */ "../../core/frontend/lib/esm/render/webgl/Target.js");
105556
105801
  /* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
105557
105802
  /* harmony import */ var _tools_AccuDrawTool__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./tools/AccuDrawTool */ "../../core/frontend/lib/esm/tools/AccuDrawTool.js");
105558
- /* harmony import */ var _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./tools/ClipViewTool */ "../../core/frontend/lib/esm/tools/ClipViewTool.js");
105559
- /* harmony import */ var _tools_EditManipulator__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./tools/EditManipulator */ "../../core/frontend/lib/esm/tools/EditManipulator.js");
105560
- /* harmony import */ var _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./tools/ElementSetTool */ "../../core/frontend/lib/esm/tools/ElementSetTool.js");
105561
- /* harmony import */ var _tools_EventController__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./tools/EventController */ "../../core/frontend/lib/esm/tools/EventController.js");
105562
- /* harmony import */ var _tools_IdleTool__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./tools/IdleTool */ "../../core/frontend/lib/esm/tools/IdleTool.js");
105563
- /* harmony import */ var _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./tools/MeasureTool */ "../../core/frontend/lib/esm/tools/MeasureTool.js");
105564
- /* harmony import */ var _tools_PrimitiveTool__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./tools/PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
105565
- /* harmony import */ var _tools_SelectTool__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./tools/SelectTool */ "../../core/frontend/lib/esm/tools/SelectTool.js");
105566
- /* harmony import */ var _tools_Tool__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./tools/Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
105567
- /* harmony import */ var _tools_ToolSettings__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./tools/ToolSettings */ "../../core/frontend/lib/esm/tools/ToolSettings.js");
105568
- /* harmony import */ var _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./tools/ToolAdmin */ "../../core/frontend/lib/esm/tools/ToolAdmin.js");
105569
- /* harmony import */ var _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./tools/ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
105570
- /* harmony import */ var _tools_ViewTool__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./tools/ViewTool */ "../../core/frontend/lib/esm/tools/ViewTool.js");
105571
- /* harmony import */ var _workers_RegisterWorker__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./workers/RegisterWorker */ "../../core/frontend/lib/esm/workers/RegisterWorker.js");
105572
- /* harmony import */ var _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./BackgroundMapGeometry */ "../../core/frontend/lib/esm/BackgroundMapGeometry.js");
105573
- /* harmony import */ var _ViewCreator2d__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./ViewCreator2d */ "../../core/frontend/lib/esm/ViewCreator2d.js");
105574
- /* harmony import */ var _ViewCreator3d__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewCreator3d */ "../../core/frontend/lib/esm/ViewCreator3d.js");
105575
- /* harmony import */ var _LocalhostIpcApp__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./LocalhostIpcApp */ "../../core/frontend/lib/esm/LocalhostIpcApp.js");
105576
- /* harmony import */ var _request_utils__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./request/utils */ "../../core/frontend/lib/esm/request/utils.js");
105577
- /* harmony import */ var _RealityDataSource__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./RealityDataSource */ "../../core/frontend/lib/esm/RealityDataSource.js");
105578
- /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/frontend/lib/esm/internal/cross-package.js");
105579
- /* harmony import */ var _extension_ExtensionRuntime__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./extension/ExtensionRuntime */ "../../core/frontend/lib/esm/extension/ExtensionRuntime.js");
105803
+ /* harmony import */ var _tools_AccuDrawViewportUI__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./tools/AccuDrawViewportUI */ "../../core/frontend/lib/esm/tools/AccuDrawViewportUI.js");
105804
+ /* harmony import */ var _tools_ClipViewTool__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./tools/ClipViewTool */ "../../core/frontend/lib/esm/tools/ClipViewTool.js");
105805
+ /* harmony import */ var _tools_EditManipulator__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./tools/EditManipulator */ "../../core/frontend/lib/esm/tools/EditManipulator.js");
105806
+ /* harmony import */ var _tools_ElementSetTool__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./tools/ElementSetTool */ "../../core/frontend/lib/esm/tools/ElementSetTool.js");
105807
+ /* harmony import */ var _tools_EventController__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./tools/EventController */ "../../core/frontend/lib/esm/tools/EventController.js");
105808
+ /* harmony import */ var _tools_IdleTool__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./tools/IdleTool */ "../../core/frontend/lib/esm/tools/IdleTool.js");
105809
+ /* harmony import */ var _tools_MeasureTool__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./tools/MeasureTool */ "../../core/frontend/lib/esm/tools/MeasureTool.js");
105810
+ /* harmony import */ var _tools_PrimitiveTool__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./tools/PrimitiveTool */ "../../core/frontend/lib/esm/tools/PrimitiveTool.js");
105811
+ /* harmony import */ var _tools_SelectTool__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./tools/SelectTool */ "../../core/frontend/lib/esm/tools/SelectTool.js");
105812
+ /* harmony import */ var _tools_Tool__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./tools/Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
105813
+ /* harmony import */ var _tools_ToolSettings__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./tools/ToolSettings */ "../../core/frontend/lib/esm/tools/ToolSettings.js");
105814
+ /* harmony import */ var _tools_ToolAdmin__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./tools/ToolAdmin */ "../../core/frontend/lib/esm/tools/ToolAdmin.js");
105815
+ /* harmony import */ var _tools_ToolAssistance__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./tools/ToolAssistance */ "../../core/frontend/lib/esm/tools/ToolAssistance.js");
105816
+ /* harmony import */ var _tools_ViewTool__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./tools/ViewTool */ "../../core/frontend/lib/esm/tools/ViewTool.js");
105817
+ /* harmony import */ var _workers_RegisterWorker__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./workers/RegisterWorker */ "../../core/frontend/lib/esm/workers/RegisterWorker.js");
105818
+ /* harmony import */ var _BackgroundMapGeometry__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./BackgroundMapGeometry */ "../../core/frontend/lib/esm/BackgroundMapGeometry.js");
105819
+ /* harmony import */ var _ViewCreator2d__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./ViewCreator2d */ "../../core/frontend/lib/esm/ViewCreator2d.js");
105820
+ /* harmony import */ var _ViewCreator3d__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./ViewCreator3d */ "../../core/frontend/lib/esm/ViewCreator3d.js");
105821
+ /* harmony import */ var _LocalhostIpcApp__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./LocalhostIpcApp */ "../../core/frontend/lib/esm/LocalhostIpcApp.js");
105822
+ /* harmony import */ var _request_utils__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./request/utils */ "../../core/frontend/lib/esm/request/utils.js");
105823
+ /* harmony import */ var _RealityDataSource__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./RealityDataSource */ "../../core/frontend/lib/esm/RealityDataSource.js");
105824
+ /* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/frontend/lib/esm/internal/cross-package.js");
105825
+ /* harmony import */ var _extension_ExtensionRuntime__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./extension/ExtensionRuntime */ "../../core/frontend/lib/esm/extension/ExtensionRuntime.js");
105580
105826
  /*---------------------------------------------------------------------------------------------
105581
105827
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
105582
105828
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -105706,6 +105952,7 @@ __webpack_require__.r(__webpack_exports__);
105706
105952
 
105707
105953
 
105708
105954
 
105955
+
105709
105956
 
105710
105957
 
105711
105958
  // TODO/FIX: "./extension/ExtensionRuntime" import has to be last to avoid circular dependency errors.
@@ -162066,7 +162313,7 @@ function normalizedCrossProduct(vec1, vec2, out) {
162066
162313
  /**
162067
162314
  * A shortcut may require no user input (immediate) or it may install a tool to collect the needed input. AccuDrawShortcuts are how users control AccuDraw.
162068
162315
  * A tool implementor should not use this class to setup AccuDraw, instead use AccuDrawHintBuilder to provide hints.
162069
- * @alpha
162316
+ * @beta
162070
162317
  */
162071
162318
  class AccuDrawShortcuts {
162072
162319
  /** Disable/Enable AccuDraw for the session */
@@ -162215,11 +162462,12 @@ class AccuDrawShortcuts {
162215
162462
  index = (forward ? (isPolar ? _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item : _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item) : (isPolar ? _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.ANGLE_Item : _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item));
162216
162463
  break;
162217
162464
  }
162218
- accudraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Partial);
162465
+ // Set focus to new item and disable automatic focus change based on cursor location in rectangular mode.
162219
162466
  accudraw.setFocusItem(index);
162220
162467
  accudraw.dontMoveFocus = true;
162221
162468
  }
162222
162469
  static itemFieldNewInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Partial); }
162470
+ static itemFieldCompletedInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic); }
162223
162471
  static async itemFieldAcceptInput(index, str) {
162224
162472
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162225
162473
  await accudraw.processFieldInput(index, str, true);
@@ -162303,6 +162551,20 @@ class AccuDrawShortcuts {
162303
162551
  accudraw.dontMoveFocus = false;
162304
162552
  accudraw.clearTentative();
162305
162553
  }
162554
+ static choosePreviousValue(index) {
162555
+ const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162556
+ accudraw.getSavedValue(index, false);
162557
+ accudraw.refreshDecorationsAndDynamics();
162558
+ }
162559
+ static chooseNextValue(index) {
162560
+ const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162561
+ accudraw.getSavedValue(index, true);
162562
+ accudraw.refreshDecorationsAndDynamics();
162563
+ }
162564
+ static clearSavedValues() {
162565
+ const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162566
+ accudraw.clearSavedValues();
162567
+ }
162306
162568
  static itemRotationModeChange(rotation) {
162307
162569
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162308
162570
  const vp = accudraw.currentView;
@@ -162356,7 +162618,7 @@ class AccuDrawShortcuts {
162356
162618
  accudraw.planePt.setFrom(accudraw.published.origin);
162357
162619
  accudraw.published.flags |= _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.AccuDrawFlags.SetOrigin;
162358
162620
  accudraw.activate();
162359
- accudraw.refreshDecorationsAndDynamics();
162621
+ accudraw.refreshDecorationsAndDynamics(); // NOTE: Will already grab input focus through processHints...
162360
162622
  }
162361
162623
  static changeCompassMode() {
162362
162624
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162386,7 +162648,7 @@ class AccuDrawShortcuts {
162386
162648
  accudraw.locked = axisLockStatus;
162387
162649
  }
162388
162650
  accudraw.flags.baseMode = accudraw.compassMode;
162389
- accudraw.refreshDecorationsAndDynamics();
162651
+ this.requestInputFocus();
162390
162652
  }
162391
162653
  static lockSmart() {
162392
162654
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162427,7 +162689,7 @@ class AccuDrawShortcuts {
162427
162689
  accudraw.indexed |= _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.X_BM;
162428
162690
  accudraw.angleLock();
162429
162691
  }
162430
- accudraw.refreshDecorationsAndDynamics();
162692
+ this.requestInputFocus();
162431
162693
  return;
162432
162694
  }
162433
162695
  if (accudraw.locked) { // if locked, unlock
@@ -162470,7 +162732,7 @@ class AccuDrawShortcuts {
162470
162732
  accudraw.setRotationMode(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.RotationMode.Context);
162471
162733
  }
162472
162734
  }
162473
- accudraw.refreshDecorationsAndDynamics();
162735
+ this.requestInputFocus();
162474
162736
  }
162475
162737
  /** Disable indexing when not currently indexed; if indexed, enable respective lock. */
162476
162738
  static lockIndex() {
@@ -162511,6 +162773,7 @@ class AccuDrawShortcuts {
162511
162773
  }
162512
162774
  accudraw.flags.indexLocked = true;
162513
162775
  }
162776
+ this.requestInputFocus();
162514
162777
  }
162515
162778
  static lockX() {
162516
162779
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162527,13 +162790,14 @@ class AccuDrawShortcuts {
162527
162790
  if (accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item)) {
162528
162791
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item, false);
162529
162792
  accudraw.locked = accudraw.locked & ~_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.X_BM;
162793
+ accudraw.setKeyinStatus(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic);
162530
162794
  }
162531
162795
  else {
162532
162796
  accudraw.saveCoordinate(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item, accudraw.delta.x);
162533
162797
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.X_Item, true);
162534
162798
  accudraw.locked = accudraw.locked | _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.X_BM;
162535
162799
  }
162536
- accudraw.refreshDecorationsAndDynamics();
162800
+ this.requestInputFocus();
162537
162801
  }
162538
162802
  static lockY() {
162539
162803
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162550,13 +162814,14 @@ class AccuDrawShortcuts {
162550
162814
  if (accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item)) {
162551
162815
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item, false);
162552
162816
  accudraw.locked = accudraw.locked & ~_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.Y_BM;
162817
+ accudraw.setKeyinStatus(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic);
162553
162818
  }
162554
162819
  else {
162555
162820
  accudraw.saveCoordinate(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item, accudraw.delta.y);
162556
162821
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Y_Item, true);
162557
162822
  accudraw.locked = accudraw.locked | _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.Y_BM;
162558
162823
  }
162559
- accudraw.refreshDecorationsAndDynamics();
162824
+ this.requestInputFocus();
162560
162825
  }
162561
162826
  static lockZ() {
162562
162827
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162568,6 +162833,7 @@ class AccuDrawShortcuts {
162568
162833
  const isSnapped = accudraw.clearTentative();
162569
162834
  if (accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Z_Item)) {
162570
162835
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Z_Item, false);
162836
+ accudraw.setKeyinStatus(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Z_Item, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic);
162571
162837
  }
162572
162838
  else {
162573
162839
  // Move focus to Z field...
@@ -162577,7 +162843,7 @@ class AccuDrawShortcuts {
162577
162843
  }
162578
162844
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.Z_Item, true);
162579
162845
  }
162580
- accudraw.refreshDecorationsAndDynamics();
162846
+ this.requestInputFocus();
162581
162847
  }
162582
162848
  static lockDistance() {
162583
162849
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162595,7 +162861,7 @@ class AccuDrawShortcuts {
162595
162861
  if (accudraw.getFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item)) {
162596
162862
  accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item, false);
162597
162863
  accudraw.locked &= ~_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.DIST_BM;
162598
- accudraw.setKeyinStatus(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic); // Need to clear partial status if locked by entering distance since focus stays in distance field...
162864
+ accudraw.setKeyinStatus(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic);
162599
162865
  }
162600
162866
  else {
162601
162867
  // Move focus to distance field...
@@ -162603,54 +162869,14 @@ class AccuDrawShortcuts {
162603
162869
  accudraw.setFocusItem(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.DIST_Item);
162604
162870
  accudraw.distanceLock(true, true);
162605
162871
  }
162606
- accudraw.refreshDecorationsAndDynamics();
162872
+ this.requestInputFocus();
162607
162873
  }
162608
162874
  static lockAngle() {
162609
162875
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162610
162876
  if (!accudraw.isEnabled)
162611
162877
  return;
162612
162878
  accudraw.doLockAngle(accudraw.clearTentative());
162613
- accudraw.refreshDecorationsAndDynamics();
162614
- }
162615
- lockIndex() {
162616
- const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162617
- if (!accudraw.isEnabled)
162618
- return;
162619
- if (accudraw.flags.indexLocked) {
162620
- if (accudraw.locked)
162621
- AccuDrawShortcuts.lockSmart();
162622
- accudraw.flags.indexLocked = false;
162623
- }
162624
- else {
162625
- if (_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.CompassMode.Polar === accudraw.compassMode) {
162626
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.XY_BM) {
162627
- accudraw.setFieldLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_2__.ItemField.ANGLE_Item, true);
162628
- accudraw.angleLock();
162629
- }
162630
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.DIST_BM)
162631
- AccuDrawShortcuts.lockDistance();
162632
- }
162633
- else {
162634
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.X_BM) {
162635
- AccuDrawShortcuts.lockX();
162636
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.DIST_BM)
162637
- AccuDrawShortcuts.lockY();
162638
- }
162639
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.Y_BM) {
162640
- AccuDrawShortcuts.lockY();
162641
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.DIST_BM)
162642
- AccuDrawShortcuts.lockX();
162643
- }
162644
- if (accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.DIST_BM && !(accudraw.indexed & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.XY_BM)) {
162645
- if (accudraw.locked & _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.LockedStates.X_BM)
162646
- AccuDrawShortcuts.lockY();
162647
- else
162648
- AccuDrawShortcuts.lockX();
162649
- }
162650
- }
162651
- accudraw.flags.indexLocked = true;
162652
- }
162653
- accudraw.refreshDecorationsAndDynamics();
162879
+ this.requestInputFocus();
162654
162880
  }
162655
162881
  static setStandardRotation(rotation) {
162656
162882
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162660,7 +162886,7 @@ class AccuDrawShortcuts {
162660
162886
  const axes = accudraw.baseAxes.clone();
162661
162887
  accudraw.accountForAuxRotationPlane(axes, accudraw.flags.auxRotationPlane);
162662
162888
  accudraw.setContextRotation(axes.toMatrix3d(), false, true);
162663
- accudraw.refreshDecorationsAndDynamics();
162889
+ this.requestInputFocus();
162664
162890
  return;
162665
162891
  }
162666
162892
  else {
@@ -162668,7 +162894,7 @@ class AccuDrawShortcuts {
162668
162894
  accudraw.setRotationMode(rotation);
162669
162895
  }
162670
162896
  accudraw.updateRotation(true);
162671
- accudraw.refreshDecorationsAndDynamics();
162897
+ this.requestInputFocus();
162672
162898
  }
162673
162899
  static alignView() {
162674
162900
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
@@ -162687,7 +162913,7 @@ class AccuDrawShortcuts {
162687
162913
  vp.view.setupFromFrustum(newFrustum);
162688
162914
  vp.synchWithView();
162689
162915
  vp.animateFrustumChange();
162690
- accudraw.refreshDecorationsAndDynamics();
162916
+ this.requestInputFocus();
162691
162917
  }
162692
162918
  static rotateToBase() { this.setStandardRotation(_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.flags.baseRotation); }
162693
162919
  static rotateToACS() {
@@ -162786,7 +163012,7 @@ class AccuDrawShortcuts {
162786
163012
  break;
162787
163013
  }
162788
163014
  accudraw.setContextRotation(newRotation.toMatrix3d(), true, true);
162789
- accudraw.refreshDecorationsAndDynamics();
163015
+ this.requestInputFocus();
162790
163016
  }
162791
163017
  static async rotateAxes(aboutCurrentZ) {
162792
163018
  return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.tools.run("AccuDraw.RotateAxes", aboutCurrentZ);
@@ -163375,6 +163601,736 @@ class DefineACSByPointsTool extends AccuDrawShortcutsTool {
163375
163601
  DefineACSByPointsTool.toolId = "AccuDraw.DefineACSByPoints";
163376
163602
 
163377
163603
 
163604
+ /***/ }),
163605
+
163606
+ /***/ "../../core/frontend/lib/esm/tools/AccuDrawViewportUI.js":
163607
+ /*!***************************************************************!*\
163608
+ !*** ../../core/frontend/lib/esm/tools/AccuDrawViewportUI.js ***!
163609
+ \***************************************************************/
163610
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
163611
+
163612
+ "use strict";
163613
+ __webpack_require__.r(__webpack_exports__);
163614
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
163615
+ /* harmony export */ "AccuDrawViewportUI": () => (/* binding */ AccuDrawViewportUI)
163616
+ /* harmony export */ });
163617
+ /* harmony import */ var _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-quantity */ "../../core/quantity/lib/esm/core-quantity.js");
163618
+ /* harmony import */ var _AccuDraw__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AccuDraw */ "../../core/frontend/lib/esm/AccuDraw.js");
163619
+ /* harmony import */ var _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/ViewRect */ "../../core/frontend/lib/esm/common/ViewRect.js");
163620
+ /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
163621
+ /* harmony import */ var _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AccuDrawTool */ "../../core/frontend/lib/esm/tools/AccuDrawTool.js");
163622
+ /* harmony import */ var _Tool__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Tool */ "../../core/frontend/lib/esm/tools/Tool.js");
163623
+ /*---------------------------------------------------------------------------------------------
163624
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
163625
+ * See LICENSE.md in the project root for license terms and full copyright notice.
163626
+ *--------------------------------------------------------------------------------------------*/
163627
+ /** @packageDocumentation
163628
+ * @module AccuDraw
163629
+ */
163630
+
163631
+
163632
+
163633
+
163634
+
163635
+
163636
+ /** Provides an in viewport user interface for AccuDraw that can optionally follow the cursor or remain at a fixed location.
163637
+ * @beta
163638
+ */
163639
+ class AccuDrawViewportUI extends _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.AccuDraw {
163640
+ /** Create a new instance of this class to set as [[IModelAppOptions.accuDraw]] for this session. */
163641
+ constructor() {
163642
+ super();
163643
+ this._focusItem = this.defaultFocusItem();
163644
+ }
163645
+ /** Call to set a vertical layout that follows the cursor. This is the default configuration. */
163646
+ setVerticalCursorLayout() {
163647
+ const props = AccuDrawViewportUI.controlProps;
163648
+ props.horizontalArrangement = false;
163649
+ props.fixedLocation = false;
163650
+ props.suspendLocateToolTip = true;
163651
+ }
163652
+ /** Call to set a horizontal layout that is anchored to the bottom middle of the view. */
163653
+ setHorizontalFixedLayout() {
163654
+ const props = AccuDrawViewportUI.controlProps;
163655
+ props.horizontalArrangement = true;
163656
+ props.fixedLocation = true;
163657
+ props.suspendLocateToolTip = false;
163658
+ }
163659
+ /** Call to update the currently displayed controls after settings are changed. */
163660
+ refreshControls() {
163661
+ if (undefined === this._controls)
163662
+ return;
163663
+ this.removeControls();
163664
+ if (!this.isActive)
163665
+ return;
163666
+ // Shouldn't need to call IModelApp.toolAdmin.simulateMotionEvent() in this case...
163667
+ const ev = new _Tool__WEBPACK_IMPORTED_MODULE_5__.BeButtonEvent();
163668
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.toolAdmin.fillEventFromCursorLocation(ev);
163669
+ this.updateControls(ev);
163670
+ }
163671
+ suspendToolTips() {
163672
+ if (!AccuDrawViewportUI.controlProps.suspendLocateToolTip || undefined === (this._toolTipsSuspended = (_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip ? true : undefined)))
163673
+ return;
163674
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip = false;
163675
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.notifications.clearToolTip();
163676
+ }
163677
+ unsuspendToolTips() {
163678
+ if (undefined === this._toolTipsSuspended)
163679
+ return;
163680
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.accuSnap.userSettings.toolTip = true;
163681
+ this._toolTipsSuspended = undefined;
163682
+ }
163683
+ setDynamicKeyinStatus(item) {
163684
+ // This does nothing if keyin status is already dynamic...
163685
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldCompletedInput(item);
163686
+ }
163687
+ setPartialKeyinStatus(item, selectAll) {
163688
+ if (!this.isDynamicKeyinStatus(item))
163689
+ return;
163690
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldNewInput(item);
163691
+ if (undefined === this._controls || !selectAll)
163692
+ return;
163693
+ const itemField = this._controls.itemFields[item];
163694
+ itemField.setSelectionRange(0, itemField.value.length);
163695
+ }
163696
+ makeParserHappy(value, isAngle) {
163697
+ // TODO: Work around for default length parser not accepting output formatted with dash separator, ex. 20'-6"...
163698
+ const parserSpec = (isAngle ? undefined : this.getLengthParser());
163699
+ if (undefined === parserSpec)
163700
+ return value;
163701
+ return (_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.FormatType.Fractional === parserSpec.format.type && -1 !== value.indexOf("'-") ? value.replaceAll("'-", "':") : value);
163702
+ }
163703
+ evaluateExpression(operator, operandA, operandB) {
163704
+ switch (operator) {
163705
+ case "+":
163706
+ return operandA + operandB;
163707
+ case "-":
163708
+ return operandA - operandB;
163709
+ case "*":
163710
+ return operandA * operandB;
163711
+ case "/":
163712
+ return operandA / operandB;
163713
+ default:
163714
+ return operandA;
163715
+ }
163716
+ }
163717
+ parseExpression(currentValue, isAngle) {
163718
+ if (undefined === this._expression)
163719
+ return undefined; // Not an expression...
163720
+ // Attempt to parse and apply operation to current value...
163721
+ const operator = currentValue.lastIndexOf(this._expression.operator);
163722
+ if (-1 === operator) {
163723
+ this._expression = undefined; // Operator has been edited out of string, parse current value...
163724
+ return undefined;
163725
+ }
163726
+ const parserSpec = (isAngle ? this.getAngleParser() : this.getLengthParser());
163727
+ const formatterSpec = (isAngle ? this.getAngleFormatter() : this.getLengthFormatter());
163728
+ if (undefined === parserSpec || undefined === formatterSpec)
163729
+ return undefined; // Nothing to do...
163730
+ const operandAStr = currentValue.substring(0, operator);
163731
+ const parseResultA = parserSpec.parseToQuantityValue(this.makeParserHappy(operandAStr, isAngle));
163732
+ if (!_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.Parser.isParsedQuantity(parseResultA))
163733
+ return undefined; // First operand isn't valid, try to parse current value (which is also likely to fail)...
163734
+ const operandBStr = currentValue.substring(operator + this._expression.operator.length);
163735
+ const operatorKey = this._expression.operator[1];
163736
+ const isNumber = ("*" === operatorKey || "/" === operatorKey); // Treat as number for */ and quantity for +-...
163737
+ let operandB;
163738
+ if (isNumber) {
163739
+ operandB = parseFloat(operandBStr);
163740
+ if (Number.isNaN(operandB))
163741
+ return operandAStr; // Second operand is invalid number, set value to first operand which is valid...
163742
+ }
163743
+ else {
163744
+ const parseResultB = parserSpec.parseToQuantityValue(this.makeParserHappy(operandBStr, isAngle));
163745
+ if (!_itwin_core_quantity__WEBPACK_IMPORTED_MODULE_0__.Parser.isParsedQuantity(parseResultB))
163746
+ return operandAStr; // Second operand is invalid quantity, set value to first operand which is valid...
163747
+ operandB = parseResultB.value;
163748
+ }
163749
+ const operandA = parseResultA.value;
163750
+ const newValue = this.evaluateExpression(operatorKey, operandA, operandB);
163751
+ const newValueStr = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.quantityFormatter.formatQuantity(newValue, formatterSpec);
163752
+ return newValueStr;
163753
+ }
163754
+ async processPartialInput(item) {
163755
+ if (undefined === this._controls)
163756
+ return;
163757
+ const itemField = this._controls.itemFields[item];
163758
+ const currentValue = itemField.value;
163759
+ // If current value has been deleted, unlock field and refresh for current cursor location...
163760
+ if (0 === currentValue.length) {
163761
+ this.updateFieldLock(item, false);
163762
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.toolAdmin.simulateMotionEvent();
163763
+ return;
163764
+ }
163765
+ const isAngle = (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item);
163766
+ const expressionValue = this.parseExpression(currentValue, isAngle);
163767
+ return this.processFieldInput(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle), false);
163768
+ }
163769
+ async acceptPartialInput(item, forward) {
163770
+ if (undefined === this._controls)
163771
+ return;
163772
+ const itemField = this._controls.itemFields[item];
163773
+ const currentValue = itemField.value;
163774
+ const isAngle = (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item);
163775
+ const expressionValue = this.parseExpression(currentValue, isAngle);
163776
+ if (undefined === forward)
163777
+ return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldAcceptInput(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle));
163778
+ return _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.itemFieldNavigate(item, this.makeParserHappy(expressionValue ?? currentValue, isAngle), forward);
163779
+ }
163780
+ acceptSavedValue(item, next) {
163781
+ if (next)
163782
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.chooseNextValue(item);
163783
+ else
163784
+ _AccuDrawTool__WEBPACK_IMPORTED_MODULE_4__.AccuDrawShortcuts.choosePreviousValue(item);
163785
+ }
163786
+ doFocusHome(ev, isDown, _item) {
163787
+ ev.preventDefault();
163788
+ if (!isDown || this._isFocusHome)
163789
+ return;
163790
+ ev.stopPropagation();
163791
+ this.setFocusHome();
163792
+ _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.viewManager.invalidateDecorationsAllViews();
163793
+ }
163794
+ async doChooseSavedValue(ev, isDown, item, next) {
163795
+ ev.preventDefault();
163796
+ ev.stopPropagation();
163797
+ if (!isDown)
163798
+ return;
163799
+ this.acceptSavedValue(item, next);
163800
+ }
163801
+ async doNavigate(ev, isDown, item, forward) {
163802
+ ev.preventDefault();
163803
+ ev.stopPropagation();
163804
+ if (!isDown)
163805
+ return;
163806
+ return this.acceptPartialInput(item, forward);
163807
+ }
163808
+ async doAcceptInput(ev, isDown, item) {
163809
+ ev.preventDefault();
163810
+ if (!isDown || this.isDynamicKeyinStatus(item))
163811
+ return;
163812
+ ev.stopPropagation();
163813
+ return this.acceptPartialInput(item);
163814
+ }
163815
+ doNewInput(_ev, isDown, item) {
163816
+ if (!isDown)
163817
+ return;
163818
+ this.setPartialKeyinStatus(item, false);
163819
+ }
163820
+ async doDeleteInput(_ev, isDown, item) {
163821
+ if (isDown)
163822
+ return this.setPartialKeyinStatus(item, false);
163823
+ return this.processPartialInput(item);
163824
+ }
163825
+ processReplacementKey(ev, isDown, item, replacement, allowStart) {
163826
+ if (undefined === this._controls)
163827
+ return false;
163828
+ ev.preventDefault();
163829
+ if (!isDown || 0 === replacement.length || this.isDynamicKeyinStatus(item))
163830
+ return true;
163831
+ const itemField = this._controls.itemFields[item];
163832
+ if (null === itemField.selectionStart || null === itemField.selectionEnd)
163833
+ return true;
163834
+ const currentValue = itemField.value;
163835
+ if (!allowStart && (!currentValue.length || !itemField.selectionStart || !itemField.selectionEnd))
163836
+ return true;
163837
+ const selectionStart = (itemField.selectionStart > itemField.selectionEnd ? itemField.selectionEnd : itemField.selectionStart);
163838
+ itemField.value = currentValue.substring(0, selectionStart) + replacement + currentValue.substring(itemField.selectionEnd);
163839
+ itemField.selectionStart = itemField.selectionEnd = selectionStart + 1;
163840
+ return false;
163841
+ }
163842
+ processRepeatedKey(ev, isDown, item, replacement) {
163843
+ if (undefined === this._controls)
163844
+ return false;
163845
+ const itemField = this._controls.itemFields[item];
163846
+ const currentValue = itemField.value;
163847
+ if (!currentValue.length || !itemField.selectionStart || !itemField.selectionEnd)
163848
+ return false;
163849
+ const selectionStart = (itemField.selectionStart > itemField.selectionEnd ? itemField.selectionEnd : itemField.selectionStart);
163850
+ if (selectionStart !== itemField.selectionEnd)
163851
+ return false;
163852
+ const selectionPrevious = selectionStart - 1;
163853
+ if (currentValue[selectionPrevious] !== (isDown ? ev.key : replacement))
163854
+ return false;
163855
+ ev.preventDefault();
163856
+ if (!isDown)
163857
+ return false;
163858
+ itemField.value = currentValue.substring(0, selectionPrevious) + replacement + currentValue.substring(selectionStart);
163859
+ itemField.selectionStart = itemField.selectionEnd = selectionPrevious + 1;
163860
+ return false;
163861
+ }
163862
+ doProcessOverrideKey(ev, isDown, item) {
163863
+ if (undefined === this._controls || !AccuDrawViewportUI.controlProps.simplifiedInput)
163864
+ return false;
163865
+ switch (ev.key) {
163866
+ case "^":
163867
+ return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item ? "°" : ""), false); // Easier "°" input...
163868
+ case ";":
163869
+ return this.processReplacementKey(ev, isDown, item, (_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item === item ? "°" : ":"), false); // Easier ":" input still useful w/o MU:SU:PU?
163870
+ case ".":
163871
+ return this.processRepeatedKey(ev, isDown, item, ":"); // Still useful replacing ".." with ":" for numeric keypad users w/o MU:SU:PU?
163872
+ default:
163873
+ return false;
163874
+ }
163875
+ }
163876
+ doProcessExpressionKey(ev, isDown, item) {
163877
+ if (undefined === this._controls || !AccuDrawViewportUI.controlProps.mathOperations)
163878
+ return false;
163879
+ const itemField = this._controls.itemFields[item];
163880
+ const currentValue = itemField.value;
163881
+ switch (ev.key) {
163882
+ case "ArrowLeft":
163883
+ case "ArrowRight":
163884
+ if (undefined === this._expression || !isDown || this.isDynamicKeyinStatus(item) || !itemField.selectionStart)
163885
+ break;
163886
+ const moveLeft = ("ArrowLeft" === ev.key);
163887
+ const operatorPosIns = currentValue.lastIndexOf(this._expression.operator);
163888
+ if (itemField.selectionStart !== (moveLeft ? operatorPosIns + this._expression.operator.length : operatorPosIns))
163889
+ break;
163890
+ // Treat expression operator string as a single character when moving the text insertion cursor...
163891
+ itemField.selectionStart = itemField.selectionEnd = (moveLeft ? operatorPosIns : operatorPosIns + this._expression.operator.length);
163892
+ ev.preventDefault();
163893
+ return true;
163894
+ case "Backspace":
163895
+ case "Delete":
163896
+ if (undefined === this._expression || !isDown || this.isDynamicKeyinStatus(item) || !itemField.selectionStart)
163897
+ break;
163898
+ const deleteBefore = ("Backspace" === ev.key);
163899
+ const operatorPosDel = currentValue.lastIndexOf(this._expression.operator);
163900
+ if (itemField.selectionStart !== (deleteBefore ? operatorPosDel + this._expression.operator.length : operatorPosDel))
163901
+ break;
163902
+ // Treat expression operator string as single character for delete...
163903
+ itemField.value = currentValue.substring(0, operatorPosDel);
163904
+ itemField.selectionStart = itemField.selectionEnd = itemField.value.length;
163905
+ this._expression = undefined;
163906
+ ev.preventDefault();
163907
+ return true;
163908
+ case " ":
163909
+ if (!isDown || !this.isDynamicKeyinStatus(item))
163910
+ break;
163911
+ this.setPartialKeyinStatus(item, false); // Replacing current w/space isn't useful, append to end to support + or - more conveniently...
163912
+ return true;
163913
+ case "+":
163914
+ case "-":
163915
+ case "*":
163916
+ case "/":
163917
+ if (!isDown || undefined !== this._expression)
163918
+ break;
163919
+ if (!currentValue.length || !itemField.selectionStart || itemField.selectionStart !== currentValue.length)
163920
+ break;
163921
+ const haveSpace = (" " === currentValue[itemField.selectionStart - 1]);
163922
+ const requireSpace = ("+" === ev.key || "-" === ev.key); // These are valid for 1st character to replace current value...
163923
+ if (!(requireSpace ? haveSpace : (haveSpace || this.isDynamicKeyinStatus(item))))
163924
+ break;
163925
+ const operator = ` ${ev.key} `;
163926
+ const expression = `${currentValue + (haveSpace ? operator.substring(1) : operator)}`;
163927
+ itemField.value = expression;
163928
+ itemField.selectionStart = itemField.selectionEnd = itemField.value.length;
163929
+ this._expression = { item, operator };
163930
+ this.setPartialKeyinStatus(item, false);
163931
+ ev.preventDefault();
163932
+ return true;
163933
+ }
163934
+ return false;
163935
+ }
163936
+ async doProcessKey(ev, isDown, item) {
163937
+ if (!this.itemFieldInputIsValid(ev.key, item)) {
163938
+ ev.preventDefault(); // Ignore potential shortcuts...
163939
+ return;
163940
+ }
163941
+ if (this.doProcessOverrideKey(ev, isDown, item))
163942
+ return;
163943
+ if (this.doProcessExpressionKey(ev, isDown, item))
163944
+ return;
163945
+ if (isDown)
163946
+ return this.setPartialKeyinStatus(item, true);
163947
+ return this.processPartialInput(item);
163948
+ }
163949
+ async onKeyboardEvent(ev, isDown) {
163950
+ if (ev.ctrlKey || ev.altKey || ev.metaKey) {
163951
+ ev.preventDefault(); // Ignore qualifiers other than shift...
163952
+ return;
163953
+ }
163954
+ switch (ev.key) {
163955
+ case "Escape":
163956
+ return this.doFocusHome(ev, isDown, this._focusItem);
163957
+ case "PageDown":
163958
+ return this.doChooseSavedValue(ev, isDown, this._focusItem, true);
163959
+ case "PageUp":
163960
+ return this.doChooseSavedValue(ev, isDown, this._focusItem, false);
163961
+ case "Tab":
163962
+ return this.doNavigate(ev, isDown, this._focusItem, !ev.shiftKey);
163963
+ case "ArrowDown":
163964
+ if (ev.shiftKey)
163965
+ return this.doChooseSavedValue(ev, isDown, this._focusItem, true);
163966
+ return this.doNavigate(ev, isDown, this._focusItem, true);
163967
+ case "ArrowUp":
163968
+ if (ev.shiftKey)
163969
+ return this.doChooseSavedValue(ev, isDown, this._focusItem, false);
163970
+ return this.doNavigate(ev, isDown, this._focusItem, false);
163971
+ case "Enter":
163972
+ return this.doAcceptInput(ev, isDown, this._focusItem);
163973
+ case "Home":
163974
+ case "End":
163975
+ case "Insert":
163976
+ return this.doNewInput(ev, isDown, this._focusItem);
163977
+ case "ArrowLeft":
163978
+ case "ArrowRight":
163979
+ if (this.doProcessExpressionKey(ev, isDown, this._focusItem))
163980
+ return;
163981
+ return this.doNewInput(ev, isDown, this._focusItem);
163982
+ case "Backspace":
163983
+ case "Delete":
163984
+ if (this.doProcessExpressionKey(ev, isDown, this._focusItem))
163985
+ return;
163986
+ return this.doDeleteInput(ev, isDown, this._focusItem);
163987
+ default:
163988
+ return this.doProcessKey(ev, isDown, this._focusItem);
163989
+ }
163990
+ }
163991
+ removeControls() {
163992
+ if (undefined === this._controls)
163993
+ return;
163994
+ this._controls.overlay.remove();
163995
+ this._controls = undefined;
163996
+ this.unsuspendToolTips();
163997
+ }
163998
+ createControlDiv() {
163999
+ const div = document.createElement("div");
164000
+ div.className = "accudraw-controls";
164001
+ const style = div.style;
164002
+ style.pointerEvents = "none";
164003
+ style.overflow = "visible"; // Don't clip/hide outline or shadow...
164004
+ style.position = "absolute";
164005
+ style.top = style.left = "0";
164006
+ style.height = style.width = "100%";
164007
+ return div;
164008
+ }
164009
+ updateItemFieldKeyinStatus(itemField, item) {
164010
+ const isDynamic = this.isDynamicKeyinStatus(item);
164011
+ if (isDynamic && item === this._expression?.item)
164012
+ this._expression = undefined; // Only valid when entering partial input...
164013
+ itemField.style.caretColor = isDynamic ? itemField.style.backgroundColor : itemField.style.color;
164014
+ }
164015
+ updateItemFieldValue(itemField, item) {
164016
+ const value = this.getFormattedValueByIndex(item);
164017
+ itemField.value = value;
164018
+ this.updateItemFieldKeyinStatus(itemField, item);
164019
+ }
164020
+ updateItemFieldLock(itemLock, item) {
164021
+ const locked = this.getFieldLock(item);
164022
+ itemLock.style.outlineStyle = locked ? "inset" : "outset";
164023
+ itemLock.style.boxShadow = locked ? "none" : AccuDrawViewportUI.controlProps.button.shadow;
164024
+ itemLock.style.backgroundColor = locked ? AccuDrawViewportUI.controlProps.button.pressedColor : AccuDrawViewportUI.controlProps.backgroundColor;
164025
+ }
164026
+ initializeItemStyle(style, isButton) {
164027
+ style.pointerEvents = "none"; // Don't receive pointer events...
164028
+ style.position = "absolute";
164029
+ style.textWrap = "nowrap";
164030
+ style.textAnchor = "top";
164031
+ style.textAlign = isButton ? "center" : "left";
164032
+ const controlProps = AccuDrawViewportUI.controlProps;
164033
+ style.fontFamily = controlProps.text.fontFamily;
164034
+ style.fontSize = controlProps.text.fontSize;
164035
+ style.color = controlProps.text.color;
164036
+ style.backgroundColor = controlProps.backgroundColor;
164037
+ style.borderRadius = controlProps.borderRadius;
164038
+ }
164039
+ createItemField(item) {
164040
+ const itemField = document.createElement("input");
164041
+ itemField.contentEditable = "true";
164042
+ itemField.size = AccuDrawViewportUI.controlProps.fieldSize;
164043
+ const style = itemField.style;
164044
+ this.initializeItemStyle(style, false);
164045
+ this.updateItemFieldValue(itemField, item);
164046
+ itemField.onkeydown = async (ev) => { await this.onKeyboardEvent(ev, true); };
164047
+ itemField.onkeyup = async (ev) => { await this.onKeyboardEvent(ev, false); };
164048
+ itemField.onfocus = (ev) => { this.onFocusChange(ev, item, true); };
164049
+ itemField.onblur = (ev) => { this.onFocusChange(ev, item, false); };
164050
+ ;
164051
+ return itemField;
164052
+ }
164053
+ createItemFieldLock(item) {
164054
+ const itemLock = document.createElement("button");
164055
+ itemLock.type = "button";
164056
+ itemLock.contentEditable = "false";
164057
+ itemLock.disabled = true; // Don't receive focus...
164058
+ switch (item) {
164059
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item:
164060
+ itemLock.innerHTML = "\u21A6"; // right arrow from bar...
164061
+ break;
164062
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item:
164063
+ itemLock.innerHTML = "\u2221"; // measured angle...
164064
+ break;
164065
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item:
164066
+ itemLock.innerHTML = "X";
164067
+ break;
164068
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item:
164069
+ itemLock.innerHTML = "Y";
164070
+ break;
164071
+ case _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item:
164072
+ itemLock.innerHTML = "Z";
164073
+ break;
164074
+ }
164075
+ const style = itemLock.style;
164076
+ this.initializeItemStyle(style, true);
164077
+ this.updateItemFieldLock(itemLock, item);
164078
+ const button = AccuDrawViewportUI.controlProps.button;
164079
+ style.paddingLeft = style.paddingRight = "0";
164080
+ style.marginLeft = style.marginRight = button.margin;
164081
+ style.outlineWidth = button.outlineWidth;
164082
+ return itemLock;
164083
+ }
164084
+ /** Use to override the position of the controls in the supplied view. */
164085
+ modifyControlRect(_rect, _vp) { }
164086
+ /** Return the ViewRect currently occupied by the controls in the supplied view. */
164087
+ currentControlRect(vp) {
164088
+ if (undefined === this._controls || this._controls.overlay.parentElement !== vp.vpDiv)
164089
+ return undefined;
164090
+ const viewRect = vp.vpDiv.getBoundingClientRect();
164091
+ const elemRect = this._controls.div.getBoundingClientRect();
164092
+ const controlRect = new _common_ViewRect__WEBPACK_IMPORTED_MODULE_2__.ViewRect(elemRect.left - viewRect.left, elemRect.top - viewRect.top, elemRect.right - viewRect.left, elemRect.bottom - viewRect.top);
164093
+ return controlRect;
164094
+ }
164095
+ updateControlVisibility(isPolar, is3d) {
164096
+ if (undefined === this._controls)
164097
+ return;
164098
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item].hidden = !isPolar;
164099
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item].hidden = !isPolar;
164100
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item].hidden = !isPolar;
164101
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item].hidden = !isPolar;
164102
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item].hidden = isPolar;
164103
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item].hidden = isPolar;
164104
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item].hidden = isPolar;
164105
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item].hidden = isPolar;
164106
+ if (undefined === is3d)
164107
+ return;
164108
+ this._controls.itemFields[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item].hidden = !is3d;
164109
+ this._controls.itemLocks[_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item].hidden = !is3d;
164110
+ }
164111
+ updateControls(ev) {
164112
+ const vp = ev.viewport;
164113
+ if (undefined === vp || !this.isActive)
164114
+ return;
164115
+ if (undefined !== this._controls && this._controls.overlay.parentElement !== vp.vpDiv)
164116
+ this.removeControls(); // Could be enhanced to save/restore partial input of currently focused item...
164117
+ const props = AccuDrawViewportUI.controlProps;
164118
+ if (undefined === this._controls) {
164119
+ const overlay = vp.addNewDiv("accudraw-overlay", true, 35);
164120
+ const div = this.createControlDiv();
164121
+ const is3dLayout = vp.view.is3d();
164122
+ const isHorizontalLayout = props.horizontalArrangement;
164123
+ overlay.appendChild(div);
164124
+ const createFieldAndLock = (item) => {
164125
+ const itemField = itemFields[item] = this.createItemField(item);
164126
+ itemField.style.top = isHorizontalLayout ? "0" : `${rowOffset}px`;
164127
+ itemField.style.left = isHorizontalLayout ? `${columnOffset}px` : "0";
164128
+ div.appendChild(itemField);
164129
+ if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
164130
+ rowOffset += itemField.offsetHeight * props.rowSpacingFactor;
164131
+ itemWidth = itemField.offsetWidth;
164132
+ itemHeight = itemField.offsetHeight;
164133
+ const itemLock = itemLocks[item] = this.createItemFieldLock(item);
164134
+ itemLock.style.top = itemField.style.top;
164135
+ itemLock.style.left = isHorizontalLayout ? `${columnOffset + itemWidth}px` : `${itemWidth}px`;
164136
+ itemLock.style.width = itemLock.style.height = `${itemHeight}px`; // Make square of same height as text field...
164137
+ div.appendChild(itemLock);
164138
+ lockWidth = itemLock.offsetWidth;
164139
+ if (is3dLayout || _AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item !== item)
164140
+ columnOffset += (itemWidth + lockWidth) * props.columnSpacingFactor;
164141
+ };
164142
+ let rowOffset = 0;
164143
+ let columnOffset = 0;
164144
+ let itemWidth = 0;
164145
+ let itemHeight = 0;
164146
+ let lockWidth = 0;
164147
+ const itemFields = [];
164148
+ const itemLocks = [];
164149
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.DIST_Item);
164150
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.ANGLE_Item);
164151
+ rowOffset = 0;
164152
+ columnOffset = 0;
164153
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.X_Item);
164154
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Y_Item);
164155
+ createFieldAndLock(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.ItemField.Z_Item); // Both polar and rectangular modes support Z in 3d views...
164156
+ div.style.width = isHorizontalLayout ? `${columnOffset}px` : `${itemWidth + lockWidth + 5}px`;
164157
+ div.style.height = isHorizontalLayout ? `${itemHeight * props.rowSpacingFactor}px` : `${rowOffset}px`;
164158
+ this._controls = { overlay, div, itemFields, itemLocks };
164159
+ this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.CompassMode.Polar === this.compassMode, vp.view.is3d());
164160
+ this.setFocusItem(this._focusItem);
164161
+ this.suspendToolTips();
164162
+ vp.onChangeView.addOnce(() => this.removeControls()); // Clear on view change/closure...
164163
+ }
164164
+ const viewRect = vp.viewRect;
164165
+ const position = vp.worldToView(ev.point);
164166
+ if (props.fixedLocation) {
164167
+ position.x = (viewRect.left + ((viewRect.width - this._controls.div.offsetWidth) * 0.5));
164168
+ position.y = (viewRect.bottom - this._controls.div.offsetHeight);
164169
+ }
164170
+ else {
164171
+ position.x += Math.floor(vp.pixelsFromInches(props.cursorOffset.x)) + 0.5;
164172
+ position.y += Math.floor(vp.pixelsFromInches(props.cursorOffset.y)) + 0.5;
164173
+ }
164174
+ 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);
164175
+ this.modifyControlRect(controlRect, vp);
164176
+ if (!controlRect.isContained(viewRect))
164177
+ return; // Keep showing at last valid location...
164178
+ this._controls.div.style.left = `${controlRect.left}px`;
164179
+ this._controls.div.style.top = `${controlRect.top}px`;
164180
+ }
164181
+ get _isFocusHome() {
164182
+ return (document.body === document.activeElement);
164183
+ }
164184
+ get _isFocusAccuDraw() {
164185
+ return (undefined !== this._controls && document.activeElement?.parentElement === this._controls.itemFields[this._focusItem].parentElement);
164186
+ }
164187
+ setFocusHome() {
164188
+ const element = document.activeElement;
164189
+ if (element && element !== document.body)
164190
+ element.blur();
164191
+ document.body.focus();
164192
+ }
164193
+ /** Return whether keyboard shortcuts can or can't be used.
164194
+ * Used to show a visual indication of whether keyboard shortcuts will be processed.
164195
+ * Keyboard shortcuts can be supported when focus is either on AccuDraw or Home.
164196
+ * When returning false the compass displays in monochrome.
164197
+ */
164198
+ get hasInputFocus() {
164199
+ // Indicate when keyboard shortcuts can't be used (i.e. focus not at AccuDraw or Home) by changing compass to monochrome...
164200
+ return (this._isFocusHome || this._isFocusAccuDraw);
164201
+ }
164202
+ /** Request to set focus to the specified AccuDraw input field to start entering values.
164203
+ * The focused input field will be indicated by the background color.
164204
+ */
164205
+ setFocusItem(index) {
164206
+ this._focusItem = index;
164207
+ if (undefined === this._controls)
164208
+ return;
164209
+ const itemField = this._controls.itemFields[this._focusItem];
164210
+ itemField.focus();
164211
+ }
164212
+ /** Request to set focus to the active AccuDraw input field to start entering values.
164213
+ * The focused input field will be indicated by the background color.
164214
+ */
164215
+ grabInputFocus() {
164216
+ // Set focus to active input field for entering values...
164217
+ if (this._isFocusAccuDraw)
164218
+ return;
164219
+ this.setFocusItem(this._focusItem);
164220
+ }
164221
+ onFocusChange(_ev, item, focusIn) {
164222
+ if (undefined === this._controls)
164223
+ return;
164224
+ // NOTE: Using "setSelectionRange" while value is changing in dynamics isn't pretty, use background+caret color instead...
164225
+ const itemField = this._controls.itemFields[item];
164226
+ itemField.style.backgroundColor = (focusIn ? AccuDrawViewportUI.controlProps.text.focusColor : AccuDrawViewportUI.controlProps.backgroundColor);
164227
+ this.updateItemFieldKeyinStatus(itemField, item);
164228
+ if (!focusIn)
164229
+ this.setDynamicKeyinStatus(item);
164230
+ }
164231
+ /** Change notification for when the compass is shown or hidden.
164232
+ * Used to hide the viewport controls when the compass is no longer displayed.
164233
+ */
164234
+ onCompassDisplayChange(state) {
164235
+ if ("show" === state)
164236
+ return;
164237
+ this.removeControls();
164238
+ }
164239
+ /** Change notification for when the compass mode switches between polar and rectangular inputs.
164240
+ * Used to show or hide the input fields that are applicable to the current mode.
164241
+ */
164242
+ onCompassModeChange() {
164243
+ this.updateControlVisibility(_AccuDraw__WEBPACK_IMPORTED_MODULE_1__.CompassMode.Polar === this.compassMode);
164244
+ this.setFocusItem(this.defaultFocusItem());
164245
+ }
164246
+ /** Change notification for when the supplied input field switches between dynamic and partial input.
164247
+ * When an input field is in the dynamic state, its value changes according to the current button event unless the field is locked.
164248
+ * When an input field is in the partial state, its value is not changed or formatted to allow the value to be changed.
164249
+ * Locking a field is expected to change the input state to partial.
164250
+ * Unlocking a field or accepting a value by focusing is expected to change the input state to dynamic.
164251
+ */
164252
+ onFieldKeyinStatusChange(item) {
164253
+ if (undefined === this._controls)
164254
+ return;
164255
+ this.updateItemFieldKeyinStatus(this._controls.itemFields[item], item);
164256
+ }
164257
+ /** Change notification for when the supplied input field value has been modified.
164258
+ * Used to update the displayed input field with the value from the active angle or distance formatter.
164259
+ */
164260
+ onFieldValueChange(item) {
164261
+ if (undefined === this._controls)
164262
+ return;
164263
+ this.updateItemFieldValue(this._controls.itemFields[item], item);
164264
+ }
164265
+ /** Change notification for when the supplied input field lock status is modified.
164266
+ * Used to update the displayed lock toggles to reflect the current state.
164267
+ */
164268
+ onFieldLockChange(item) {
164269
+ if (undefined === this._controls)
164270
+ return;
164271
+ this.updateItemFieldLock(this._controls.itemLocks[item], item);
164272
+ }
164273
+ /** Change notification of a motion event in the view.
164274
+ * Used to show as well as update the dynamic input field values to reflect the current deltas when active.
164275
+ * Automatically switches the focused input field between x and y in rectangular mode based on
164276
+ * cursor position when axis isn't locked to support more intuitive user input and "smart lock" keyboard shortcut.
164277
+ */
164278
+ onMotion(ev) {
164279
+ this.updateControls(ev);
164280
+ this.processMotion();
164281
+ }
164282
+ }
164283
+ /** Settings to control the behavior and visual appearance of the viewport controls.
164284
+ * @note Colors were chosen for visibility against viewport background and contents.
164285
+ */
164286
+ AccuDrawViewportUI.controlProps = {
164287
+ /** Suspend locate tooltip when controls are shown, may wish to disable when using fixed location. */
164288
+ suspendLocateToolTip: true,
164289
+ /** Show controls at a fixed location in the view (currently bottom middle) instead of following the cursor. */
164290
+ fixedLocation: false,
164291
+ /** Layout controls in a single row horizontally instead of in columns vertically as an option when using fixed location. */
164292
+ horizontalArrangement: false,
164293
+ /** 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) */
164294
+ cursorOffset: { x: .4, y: .1 },
164295
+ /** Replace "^", ";", and ".." with "°" or ":" for easier input. */
164296
+ simplifiedInput: true,
164297
+ /** Enable simple math operations not supported by quantity parser. */
164298
+ mathOperations: true,
164299
+ /** Number of visible characters to show in text input fields. */
164300
+ fieldSize: 12,
164301
+ /** Row spacing of text input fields for vertical arrangement. */
164302
+ rowSpacingFactor: 1.2,
164303
+ /** Column spacing of text input fields and buttons for horizontal arrangement. */
164304
+ columnSpacingFactor: 1.1,
164305
+ /** Corner radius of text input fields and locks buttons. */
164306
+ borderRadius: "0.5em",
164307
+ /** Background color of unfocused text input fields and unlocked buttons. */
164308
+ backgroundColor: "rgba(150, 150, 150, 0.5)",
164309
+ /** Settings specific to text input fields and lock button labels. */
164310
+ text: {
164311
+ /** Font family to use for text input field values and button labels. */
164312
+ fontFamily: "sans-serif",
164313
+ /** Font size to use for text input field values and button labels. */
164314
+ fontSize: "9pt",
164315
+ /** Font color to use for text input field values and button labels. */
164316
+ color: "white",
164317
+ /** Background color of focused text input field. */
164318
+ focusColor: "rgba(50, 50, 200, 0.75)",
164319
+ },
164320
+ /** Settings specific to lock buttons. */
164321
+ button: {
164322
+ /** Background color of locked buttons. */
164323
+ pressedColor: "rgba(50, 50, 50, 0.75)",
164324
+ /** Margin to use on left and right to position relative to text input field. */
164325
+ margin: "0.25em",
164326
+ /** Width of border outline. */
164327
+ outlineWidth: "thin",
164328
+ /** Shadow shown when unlocked to make it appear raised. */
164329
+ shadow: "0.25em 0.25em 0.2em rgb(75, 75, 75)",
164330
+ },
164331
+ };
164332
+
164333
+
163378
164334
  /***/ }),
163379
164335
 
163380
164336
  /***/ "../../core/frontend/lib/esm/tools/ClipViewTool.js":
@@ -170651,9 +171607,21 @@ class ToolAdmin {
170651
171607
  this.fillEventFromLastDataButton(ev);
170652
171608
  else
170653
171609
  this.fillEventFromCursorLocation(ev);
170654
- // NOTE: Do not call adjustPoint when snapped, refer to CurrentInputState.fromButton
170655
- if (adjustPoint && undefined !== ev.viewport && undefined === _AccuSnap__WEBPACK_IMPORTED_MODULE_3__.TentativeOrAccuSnap.getCurrentSnap(false))
170656
- this.adjustPoint(ev.point, ev.viewport);
171610
+ if (adjustPoint && undefined !== ev.viewport) {
171611
+ // Use ev.rawPoint for cursor location when not snapped as ev.point gets adjusted in fromButton...
171612
+ const snap = _AccuSnap__WEBPACK_IMPORTED_MODULE_3__.TentativeOrAccuSnap.getCurrentSnap(false);
171613
+ if (undefined !== snap) {
171614
+ // Account for changes to locks, reset and re-adjust snap point...
171615
+ snap.adjustedPoint.setFrom(snap.getPoint());
171616
+ this.adjustSnapPoint();
171617
+ ev.point.setFrom(snap.isPointAdjusted ? snap.adjustedPoint : snap.getPoint());
171618
+ }
171619
+ else {
171620
+ ev.point.setFrom(_IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.tentativePoint.isActive ? _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.tentativePoint.getPoint() : ev.rawPoint);
171621
+ this.adjustPoint(ev.point, ev.viewport);
171622
+ }
171623
+ _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.accuDraw.onMotion(ev);
171624
+ }
170657
171625
  }
170658
171626
  if (undefined === ev.viewport)
170659
171627
  return;
@@ -170971,8 +171939,8 @@ class ToolAdmin {
170971
171939
  _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.accuDraw.onPostButtonEvent(ev);
170972
171940
  if (!updateDynamics)
170973
171941
  return;
170974
- // Update tool dynamics. Use last data button location which was potentially adjusted by onDataButtonDown and not current event
170975
- this.updateDynamics(undefined, true, true);
171942
+ // Update tool dynamics for current cursor location to not require a motion event.
171943
+ this.updateDynamics(undefined, undefined, true);
170976
171944
  }
170977
171945
  async onButtonDown(vp, pt2d, button, inputSource) {
170978
171946
  const filtered = this.filterViewport(vp);
@@ -304732,7 +305700,7 @@ var loadLanguages = instance.loadLanguages;
304732
305700
  /***/ ((module) => {
304733
305701
 
304734
305702
  "use strict";
304735
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.11.0-dev.1","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 ES2020 --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:^4.11.0-dev.1","@itwin/core-bentley":"workspace:^4.11.0-dev.1","@itwin/core-common":"workspace:^4.11.0-dev.1","@itwin/core-geometry":"workspace:^4.11.0-dev.1","@itwin/core-orbitgt":"workspace:^4.11.0-dev.1","@itwin/core-quantity":"workspace:^4.11.0-dev.1"},"//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.76.0"},"//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/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
305703
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.11.0-dev.3","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 ES2020 --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:^4.11.0-dev.3","@itwin/core-bentley":"workspace:^4.11.0-dev.3","@itwin/core-common":"workspace:^4.11.0-dev.3","@itwin/core-geometry":"workspace:^4.11.0-dev.3","@itwin/core-orbitgt":"workspace:^4.11.0-dev.3","@itwin/core-quantity":"workspace:^4.11.0-dev.3"},"//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.76.0"},"//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/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
304736
305704
 
304737
305705
  /***/ })
304738
305706