@itwin/ecschema-rpcinterface-tests 5.4.0-dev.10 → 5.4.0-dev.12

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.
@@ -155854,10 +155854,10 @@ class AngleDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_M
155854
155854
  constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
155855
155855
  const defaultName = "angle";
155856
155856
  super({
155857
- name: name ? name : defaultName,
155858
- displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Angle"),
155859
- kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.ANGLE",
155860
- iconSpec
155857
+ name: name ?? defaultName,
155858
+ displayLabel: displayLabel ?? _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Angle"),
155859
+ kindOfQuantityName: kindOfQuantityName ?? "DefaultToolsUnits.ANGLE",
155860
+ iconSpec,
155861
155861
  });
155862
155862
  }
155863
155863
  get formatterQuantityType() { return _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_1__.QuantityType.Angle; }
@@ -155989,9 +155989,9 @@ class LengthDescription extends _FormattedQuantityDescription__WEBPACK_IMPORTED_
155989
155989
  constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
155990
155990
  const defaultName = "length";
155991
155991
  super({
155992
- name: name ? name : defaultName,
155993
- displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
155994
- kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
155992
+ name: name ?? defaultName,
155993
+ displayLabel: displayLabel ?? _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
155994
+ kindOfQuantityName: kindOfQuantityName ?? "DefaultToolsUnits.LENGTH",
155995
155995
  iconSpec,
155996
155996
  });
155997
155997
  }
@@ -156010,9 +156010,9 @@ class SurveyLengthDescription extends _FormattedQuantityDescription__WEBPACK_IMP
156010
156010
  constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
156011
156011
  const defaultName = "surveyLength";
156012
156012
  super({
156013
- name: name ? name : defaultName,
156014
- displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
156015
- kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
156013
+ name: name ?? defaultName,
156014
+ displayLabel: displayLabel ?? _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
156015
+ kindOfQuantityName: kindOfQuantityName ?? "CivilUnits.LENGTH",
156016
156016
  iconSpec,
156017
156017
  });
156018
156018
  }
@@ -156031,9 +156031,9 @@ class EngineeringLengthDescription extends _FormattedQuantityDescription__WEBPAC
156031
156031
  constructor(name, displayLabel, iconSpec, kindOfQuantityName) {
156032
156032
  const defaultName = "engineeringLength";
156033
156033
  super({
156034
- name: name ? name : defaultName,
156035
- displayLabel: displayLabel ? displayLabel : _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
156036
- kindOfQuantityName: kindOfQuantityName ? kindOfQuantityName : "AecUnits.LENGTH",
156034
+ name: name ?? defaultName,
156035
+ displayLabel: displayLabel ?? _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.localization.getLocalizedString("iModelJs:Properties.Length"),
156036
+ kindOfQuantityName: kindOfQuantityName ?? "AecUnits.LENGTH",
156037
156037
  iconSpec,
156038
156038
  });
156039
156039
  }
@@ -156624,13 +156624,14 @@ class QuantityTypeFormatsProvider {
156624
156624
  this._removeListeners.forEach(listener => listener());
156625
156625
  }
156626
156626
  _kindOfQuantityMap = new Map([
156627
- ["AecUnits.LENGTH", QuantityType.Length],
156628
- ["AecUnits.ANGLE", QuantityType.Angle],
156629
- ["AecUnits.AREA", QuantityType.Area],
156630
- ["AecUnits.VOLUME", QuantityType.Volume],
156631
- ["AecUnits.LENGTH_COORDINATE", QuantityType.Coordinate],
156632
- ["RoadRailUnits.STATION", QuantityType.Stationing],
156633
- ["RoadRailUnits.LENGTH", QuantityType.LengthSurvey],
156627
+ ["DefaultToolsUnits.LENGTH", QuantityType.Length],
156628
+ ["DefaultToolsUnits.ANGLE", QuantityType.Angle],
156629
+ ["DefaultToolsUnits.AREA", QuantityType.Area],
156630
+ ["DefaultToolsUnits.VOLUME", QuantityType.Volume],
156631
+ ["DefaultToolsUnits.LENGTH_COORDINATE", QuantityType.Coordinate],
156632
+ ["CivilUnits.STATION", QuantityType.Stationing],
156633
+ ["CivilUnits.LENGTH", QuantityType.LengthSurvey],
156634
+ ["AecUnits.LENGTH", QuantityType.LengthEngineering]
156634
156635
  ]);
156635
156636
  async getFormat(name) {
156636
156637
  const quantityType = this._kindOfQuantityMap.get(name);
@@ -156858,7 +156859,7 @@ class QuantityFormatter {
156858
156859
  */
156859
156860
  async onInitialized() {
156860
156861
  await this.initializeQuantityTypesRegistry();
156861
- const initialKoQs = [["AecUnits.LENGTH", "Units.M"], ["AecUnits.ANGLE", "Units.RAD"], ["AecUnits.AREA", "Units.SQ_M"], ["AecUnits.VOLUME", "Units.CUB_M"], ["AecUnits.LENGTH_COORDINATE", "Units.M"], ["RoadRailUnits.STATION", "Units.M"], ["RoadRailUnits.LENGTH", "Units.M"]];
156862
+ const initialKoQs = [["DefaultToolsUnits.LENGTH", "Units.M"], ["DefaultToolsUnits.ANGLE", "Units.RAD"], ["DefaultToolsUnits.AREA", "Units.SQ_M"], ["DefaultToolsUnits.VOLUME", "Units.CUB_M"], ["DefaultToolsUnits.LENGTH_COORDINATE", "Units.M"], ["CivilUnits.STATION", "Units.M"], ["CivilUnits.LENGTH", "Units.M"], ["AecUnits.LENGTH", "Units.M"]];
156862
156863
  for (const entry of initialKoQs) {
156863
156864
  try {
156864
156865
  await this.addFormattingSpecsToRegistry(entry[0], entry[1]);
@@ -178356,13 +178357,13 @@ class MeasureDistanceTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pr
178356
178357
  /** @internal */
178357
178358
  async onPostInstall() {
178358
178359
  await super.onPostInstall();
178359
- this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
178360
- this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
178360
+ this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
178361
+ this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
178361
178362
  this._removeFormatterListener = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.formatsProvider.onFormatsChanged.addListener(async (args) => {
178362
- if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.LENGTH"))
178363
- this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
178364
- if (args.formatsChanged === "all" || args.formatsChanged.includes("AecUnits.ANGLE"))
178365
- this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
178363
+ if (args.formatsChanged === "all" || args.formatsChanged.includes("DefaultToolsUnits.LENGTH"))
178364
+ this._lengthFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
178365
+ if (args.formatsChanged === "all" || args.formatsChanged.includes("DefaultToolsUnits.ANGLE"))
178366
+ this._angleFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
178366
178367
  });
178367
178368
  this.setupAndPromptForNextAction();
178368
178369
  }
@@ -178844,7 +178845,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pr
178844
178845
  const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
178845
178846
  const toolTip = document.createElement("div");
178846
178847
  let toolTipHtml = "";
178847
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
178848
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH_COORDINATE", "Units.M");
178848
178849
  if (undefined !== coordFormatterSpec) {
178849
178850
  let pointAdjusted = point;
178850
178851
  if (isSpatial) {
@@ -178860,7 +178861,7 @@ class MeasureLocationTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pr
178860
178861
  toolTipHtml += "<br>";
178861
178862
  }
178862
178863
  if (isSpatial) {
178863
- const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.ANGLE", "Units.RAD");
178864
+ const latLongFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.ANGLE", "Units.RAD");
178864
178865
  if (undefined !== latLongFormatterSpec && undefined !== coordFormatterSpec) {
178865
178866
  try {
178866
178867
  const cartographic = await this.iModel.spatialToCartographic(point);
@@ -179164,17 +179165,17 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9_
179164
179165
  const isSpatial = (undefined !== this.targetView && this.targetView.view.isSpatialView());
179165
179166
  const toolTip = document.createElement("div");
179166
179167
  let toolTipHtml = "";
179167
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
179168
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
179168
179169
  if (undefined !== areaFormatterSpec) {
179169
179170
  const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
179170
179171
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
179171
179172
  }
179172
- const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179173
+ const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
179173
179174
  if (undefined !== perimeterFormatterSpec) {
179174
179175
  const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._perimeter, perimeterFormatterSpec);
179175
179176
  toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
179176
179177
  }
179177
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179178
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH_COORDINATE", "Units.M");
179178
179179
  if (undefined !== coordFormatterSpec) {
179179
179180
  let pointAdjusted = this._centroid.clone();
179180
179181
  if (isSpatial) {
@@ -179213,7 +179214,7 @@ class MeasureAreaByPointsTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9_
179213
179214
  const toolTip = await this.getMarkerToolTip();
179214
179215
  this._acceptedMeasurement = new MeasureMarker("1", toolTip, this._centroid, _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point2d.create(25, 25));
179215
179216
  this._marker = undefined;
179216
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
179217
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
179217
179218
  if (undefined === areaFormatterSpec)
179218
179219
  return;
179219
179220
  const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._area, areaFormatterSpec);
@@ -179396,7 +179397,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pri
179396
179397
  let toolTipHtml = "";
179397
179398
  switch (this.getOperation()) {
179398
179399
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths: {
179399
- const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179400
+ const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
179400
179401
  if (undefined !== distanceFormatterSpec) {
179401
179402
  const formattedLength = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.length ? responseProps.length : 0, distanceFormatterSpec);
179402
179403
  toolTipHtml += `${translateBold("Length") + formattedLength}<br>`;
@@ -179404,13 +179405,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pri
179404
179405
  break;
179405
179406
  }
179406
179407
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas: {
179407
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
179408
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
179408
179409
  if (undefined !== areaFormatterSpec) {
179409
179410
  const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area ? responseProps.area : 0, areaFormatterSpec);
179410
179411
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
179411
179412
  }
179412
179413
  if (responseProps.perimeter) {
179413
- const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179414
+ const perimeterFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
179414
179415
  if (undefined !== perimeterFormatterSpec) {
179415
179416
  const formattedPerimeter = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.perimeter, perimeterFormatterSpec);
179416
179417
  toolTipHtml += `${translateBold("Perimeter") + formattedPerimeter}<br>`;
@@ -179419,13 +179420,13 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pri
179419
179420
  break;
179420
179421
  }
179421
179422
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes: {
179422
- const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
179423
+ const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.VOLUME", "Units.CUB_M");
179423
179424
  if (undefined !== volumeFormatterSpec) {
179424
179425
  const formattedVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.volume ? responseProps.volume : 0, volumeFormatterSpec);
179425
179426
  toolTipHtml += `${translateBold("Volume") + formattedVolume}<br>`;
179426
179427
  }
179427
179428
  if (responseProps.area) {
179428
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
179429
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
179429
179430
  if (undefined !== areaFormatterSpec) {
179430
179431
  const formattedArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(responseProps.area, areaFormatterSpec);
179431
179432
  toolTipHtml += `${translateBold("Area") + formattedArea}<br>`;
@@ -179435,7 +179436,7 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pri
179435
179436
  }
179436
179437
  }
179437
179438
  if (responseProps.centroid) {
179438
- const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179439
+ const coordFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
179439
179440
  if (undefined !== coordFormatterSpec) {
179440
179441
  let pointAdjusted = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Point3d.fromJSON(responseProps.centroid);
179441
179442
  if (isSpatial) {
@@ -179486,21 +179487,21 @@ class MeasureElementTool extends _PrimitiveTool__WEBPACK_IMPORTED_MODULE_9__.Pri
179486
179487
  return;
179487
179488
  switch (operation) {
179488
179489
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateLengths:
179489
- const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.LENGTH", "Units.M");
179490
+ const distanceFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.LENGTH", "Units.M");
179490
179491
  if (undefined === distanceFormatterSpec)
179491
179492
  return;
179492
179493
  const formattedTotalDistance = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, distanceFormatterSpec);
179493
179494
  this._totalMarker = new MeasureLabel(labelPt, formattedTotalDistance);
179494
179495
  break;
179495
179496
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateAreas:
179496
- const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.AREA", "Units.SQ_M");
179497
+ const areaFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.AREA", "Units.SQ_M");
179497
179498
  if (undefined === areaFormatterSpec)
179498
179499
  return;
179499
179500
  const formattedTotalArea = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, areaFormatterSpec);
179500
179501
  this._totalMarker = new MeasureLabel(labelPt, formattedTotalArea);
179501
179502
  break;
179502
179503
  case _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation.AccumulateVolumes:
179503
- const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("AecUnits.VOLUME", "Units.CUB_M");
179504
+ const volumeFormatterSpec = await getFormatterSpecByKoQAndPersistenceUnit("DefaultToolsUnits.VOLUME", "Units.CUB_M");
179504
179505
  if (undefined === volumeFormatterSpec)
179505
179506
  return;
179506
179507
  const formattedTotalVolume = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(this._totalValue, volumeFormatterSpec);
@@ -306798,7 +306799,25 @@ class Formatter {
306798
306799
  return { componentText: "", isNegative: false };
306799
306800
  }
306800
306801
  if (i < (spec.format.units?.length ?? 0) - 1) {
306801
- const wholePart = Math.trunc(unitValue);
306802
+ let wholePart = Math.trunc(unitValue);
306803
+ // Check if the remaining fractional part will round up to a full unit in the next (smaller) component
306804
+ if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Fractional && i === spec.unitConversions.length - 2) {
306805
+ // For the second-to-last unit with fractional formatting, check if rounding causes carry-over
306806
+ const fractionalPart = unitValue - wholePart;
306807
+ const nextUnitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(fractionalPart, spec.unitConversions[i + 1].conversion);
306808
+ // Create a FractionalNumeric to determine what the rounded value would be
306809
+ const fn = new FractionalNumeric(Math.abs(nextUnitValue), spec.format.precision, true);
306810
+ // If the fractional numeric rounds to a whole unit (integral part increased due to rounding)
306811
+ // and the next unit value would round to equal the conversion factor, we need to carry it over
306812
+ const roundedNextValue = parseFloat(fn.getIntegralString());
306813
+ const expectedNextValue = Math.floor(Math.abs(nextUnitValue));
306814
+ // Check if rounding caused the value to reach the conversion factor (1 full unit of the parent)
306815
+ const conversionFactor = spec.unitConversions[i + 1].conversion.factor;
306816
+ if (roundedNextValue > expectedNextValue && Math.abs(roundedNextValue - conversionFactor) < this.FPV_MINTHRESHOLD) {
306817
+ // The rounding caused a carry-over to a full parent unit, add 1 to the current unit's whole part
306818
+ wholePart += (unitValue >= 0 ? 1 : -1);
306819
+ }
306820
+ }
306802
306821
  const componentText = Formatter.formatCompositePart(Math.abs(wholePart), false, currentLabel, spec);
306803
306822
  remainingMagnitude = unitValue - wholePart;
306804
306823
  compositeStrings.push(componentText);
@@ -322225,7 +322244,7 @@ var loadLanguages = instance.loadLanguages;
322225
322244
  /***/ ((module) => {
322226
322245
 
322227
322246
  "use strict";
322228
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.4.0-dev.10","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"5.2.2-dev.2","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.3.12","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^4.3.4","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
322247
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.4.0-dev.12","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"5.2.2-dev.2","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.3.12","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^4.3.4","@loaders.gl/draco":"^4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
322229
322248
 
322230
322249
  /***/ })
322231
322250