@itwin/rpcinterface-full-stack-tests 4.0.0-dev.99 → 4.1.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61828,40 +61828,82 @@ exports.ECStringConstants = ECStringConstants;
61828
61828
  * See LICENSE.md in the project root for license terms and full copyright notice.
61829
61829
  *--------------------------------------------------------------------------------------------*/
61830
61830
  Object.defineProperty(exports, "__esModule", ({ value: true }));
61831
- exports.SchemaContext = exports.SchemaCache = exports.SchemaMap = void 0;
61831
+ exports.SchemaContext = exports.SchemaCache = void 0;
61832
61832
  const ECObjects_1 = __webpack_require__(/*! ./ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
61833
61833
  const Exception_1 = __webpack_require__(/*! ./Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
61834
61834
  /**
61835
- * @beta
61835
+ * @internal
61836
61836
  */
61837
61837
  class SchemaMap extends Array {
61838
61838
  }
61839
- exports.SchemaMap = SchemaMap;
61840
61839
  /**
61841
- * @beta
61840
+ * @internal
61842
61841
  */
61843
61842
  class SchemaCache {
61844
61843
  constructor() {
61845
61844
  this._schema = new SchemaMap();
61846
61845
  }
61847
61846
  get count() { return this._schema.length; }
61847
+ loadedSchemaExists(schemaKey) {
61848
+ return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && !entry.schemaPromise);
61849
+ }
61850
+ schemaPromiseExists(schemaKey) {
61851
+ return undefined !== this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest) && undefined !== entry.schemaPromise);
61852
+ }
61853
+ findEntry(schemaKey, matchType) {
61854
+ return this._schema.find((entry) => entry.schemaInfo.schemaKey.matches(schemaKey, matchType));
61855
+ }
61856
+ removeSchemaPromise(schemaKey) {
61857
+ const entry = this.findEntry(schemaKey, ECObjects_1.SchemaMatchType.Latest);
61858
+ if (entry)
61859
+ entry.schemaPromise = undefined;
61860
+ }
61861
+ removeEntry(schemaKey) {
61862
+ this._schema = this._schema.filter((entry) => !entry.schemaInfo.schemaKey.matches(schemaKey));
61863
+ }
61864
+ /**
61865
+ * Returns true if the schema exists in either the schema cache or the promise cache. SchemaMatchType.Latest used.
61866
+ * @param schemaKey The key to search for.
61867
+ */
61868
+ schemaExists(schemaKey) {
61869
+ return this.loadedSchemaExists(schemaKey) || this.schemaPromiseExists(schemaKey);
61870
+ }
61871
+ /**
61872
+ * Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
61873
+ * When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache
61874
+ * @param schemaInfo An object with the schema key for the schema being loaded and it's references
61875
+ * @param schema The partially loaded schema that the promise will fulfill
61876
+ * @param schemaPromise The schema promise to add to the cache.
61877
+ */
61878
+ async addSchemaPromise(schemaInfo, schema, schemaPromise) {
61879
+ if (this.schemaExists(schemaInfo.schemaKey))
61880
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schemaPromise.toString()}, already exists within this cache.`);
61881
+ this._schema.push({ schemaInfo, schema, schemaPromise });
61882
+ // This promise is cached and will be awaited when the user requests the full schema.
61883
+ // If the promise competes successfully before the user requests the schema it will be removed from the cache
61884
+ // If it fails it will remain in the cache until the user awaits it and handles the error
61885
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
61886
+ schemaPromise.then(() => {
61887
+ this.removeSchemaPromise(schemaInfo.schemaKey);
61888
+ });
61889
+ }
61848
61890
  /**
61849
61891
  * Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
61850
61892
  * @param schema The schema to add to the cache.
61851
61893
  */
61852
61894
  async addSchema(schema) {
61853
- if (await this.getSchema(schema.schemaKey))
61895
+ if (this.schemaExists(schema.schemaKey))
61854
61896
  throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
61855
- this._schema.push(schema);
61897
+ this._schema.push({ schemaInfo: schema, schema });
61856
61898
  }
61857
61899
  /**
61858
61900
  * Adds a schema to the cache. Does not allow for duplicate schemas, checks using SchemaMatchType.Latest.
61859
61901
  * @param schema The schema to add to the cache.
61860
61902
  */
61861
61903
  addSchemaSync(schema) {
61862
- if (this.getSchemaSync(schema.schemaKey))
61904
+ if (this.schemaExists(schema.schemaKey))
61863
61905
  throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.DuplicateSchema, `The schema, ${schema.schemaKey.toString()}, already exists within this cache.`);
61864
- this._schema.push(schema);
61906
+ this._schema.push({ schemaInfo: schema, schema });
61865
61907
  }
61866
61908
  /**
61867
61909
  * Gets the schema which matches the provided SchemaKey.
@@ -61871,46 +61913,69 @@ class SchemaCache {
61871
61913
  async getSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
61872
61914
  if (this.count === 0)
61873
61915
  return undefined;
61874
- const findFunc = (schema) => {
61875
- return schema.schemaKey.matches(schemaKey, matchType);
61876
- };
61877
- const foundSchema = this._schema.find(findFunc);
61878
- if (!foundSchema)
61916
+ const entry = this.findEntry(schemaKey, matchType);
61917
+ if (!entry)
61879
61918
  return undefined;
61880
- return foundSchema;
61919
+ if (entry.schemaPromise) {
61920
+ try {
61921
+ const schema = await entry.schemaPromise;
61922
+ return schema;
61923
+ }
61924
+ catch (e) {
61925
+ this.removeEntry(schemaKey);
61926
+ throw e;
61927
+ }
61928
+ }
61929
+ return entry.schema;
61881
61930
  }
61882
61931
  /**
61883
- *
61884
- * @param schemaKey
61885
- * @param matchType
61932
+ * Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
61933
+ * @param schemaKey The SchemaKey describing the schema to get from the cache.
61934
+ * @param matchType The match type to use when locating the schema
61935
+ */
61936
+ async getSchemaInfo(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
61937
+ if (this.count === 0)
61938
+ return undefined;
61939
+ const entry = this.findEntry(schemaKey, matchType);
61940
+ if (entry)
61941
+ return entry.schemaInfo;
61942
+ return undefined;
61943
+ }
61944
+ /**
61945
+ * Gets the schema which matches the provided SchemaKey. If the schema is partially loaded an exception will be thrown.
61946
+ * @param schemaKey The SchemaKey describing the schema to get from the cache.
61947
+ * @param matchType The match type to use when locating the schema
61886
61948
  */
61887
61949
  getSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
61888
61950
  if (this.count === 0)
61889
61951
  return undefined;
61890
- const findFunc = (schema) => {
61891
- return schema.schemaKey.matches(schemaKey, matchType);
61892
- };
61893
- const foundSchema = this._schema.find(findFunc);
61894
- if (!foundSchema)
61895
- return foundSchema;
61896
- return foundSchema;
61952
+ const entry = this.findEntry(schemaKey, matchType);
61953
+ if (entry) {
61954
+ if (entry.schemaPromise) {
61955
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `The Schema ${schemaKey.toString()} is partially loaded so cannot be loaded synchronously.`);
61956
+ }
61957
+ return entry.schema;
61958
+ }
61959
+ return undefined;
61897
61960
  }
61898
61961
  /**
61899
- * Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema
61962
+ * Generator function that can iterate through each schema in _schema SchemaMap and items for each Schema.
61963
+ * Does not include schema items from schemas that are not completely loaded yet.
61900
61964
  */
61901
61965
  *getSchemaItems() {
61902
- for (const schema of this._schema) {
61903
- for (const schemaItem of schema.getItems()) {
61966
+ for (const entry of this._schema) {
61967
+ for (const schemaItem of entry.schema.getItems()) {
61904
61968
  yield schemaItem;
61905
61969
  }
61906
61970
  }
61907
61971
  }
61908
61972
  /**
61909
61973
  * Gets all the schemas from the schema cache.
61974
+ * Does not include schemas from schemas that are not completely loaded yet.
61910
61975
  * @returns An array of Schema objects.
61911
61976
  */
61912
61977
  getAllSchemas() {
61913
- return this._schema;
61978
+ return this._schema.map((entry) => entry.schema);
61914
61979
  }
61915
61980
  }
61916
61981
  exports.SchemaCache = SchemaCache;
@@ -61932,7 +61997,7 @@ class SchemaContext {
61932
61997
  this._locaters.push(locater);
61933
61998
  }
61934
61999
  /**
61935
- * Adds the schema to this context
62000
+ * Adds the schema to this context. Use addSchemaPromise instead when asynchronously loading schemas.
61936
62001
  * @param schema The schema to add to this context
61937
62002
  */
61938
62003
  async addSchema(schema) {
@@ -61948,6 +62013,7 @@ class SchemaContext {
61948
62013
  /**
61949
62014
  * Adds the given SchemaItem to the the SchemaContext by locating the schema, with the best match of SchemaMatchType.Exact, and
61950
62015
  * @param schemaItem The SchemaItem to add
62016
+ * @deprecated in 4.0 use ecschema-editing package
61951
62017
  */
61952
62018
  async addSchemaItem(schemaItem) {
61953
62019
  const schema = await this.getSchema(schemaItem.key.schemaKey, ECObjects_1.SchemaMatchType.Exact);
@@ -61955,6 +62021,24 @@ class SchemaContext {
61955
62021
  throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Unable to add the schema item ${schemaItem.name} to the schema ${schemaItem.key.schemaKey.toString()} because the schema could not be located.`);
61956
62022
  schema.addItem(schemaItem);
61957
62023
  }
62024
+ /**
62025
+ * Returns true if the schema is already in the context. SchemaMatchType.Latest is used to find a match.
62026
+ * @param schemaKey
62027
+ */
62028
+ schemaExists(schemaKey) {
62029
+ return this._knownSchemas.schemaExists(schemaKey);
62030
+ }
62031
+ /**
62032
+ * Adds a promise to load the schema to the cache. Does not allow for duplicate schemas in the cache of schemas or cache of promises, checks using SchemaMatchType.Latest.
62033
+ * When the promise completes the schema will be added to the schema cache and the promise will be removed from the promise cache.
62034
+ * Use this method over addSchema when asynchronously loading schemas
62035
+ * @param schemaInfo An object with the schema key for the schema being loaded and it's references
62036
+ * @param schema The partially loaded schema that the promise will fulfill
62037
+ * @param schemaPromise The schema promise to add to the cache.
62038
+ */
62039
+ async addSchemaPromise(schemaInfo, schema, schemaPromise) {
62040
+ return this._knownSchemas.addSchemaPromise(schemaInfo, schema, schemaPromise);
62041
+ }
61958
62042
  /**
61959
62043
  *
61960
62044
  * @param schemaKey
@@ -61968,6 +62052,20 @@ class SchemaContext {
61968
62052
  }
61969
62053
  return undefined;
61970
62054
  }
62055
+ /**
62056
+ * Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
62057
+ * The fully loaded schema can be gotten later from the context using the getCachedSchema method.
62058
+ * @param schemaKey The SchemaKey describing the schema to get from the cache.
62059
+ * @param matchType The match type to use when locating the schema
62060
+ */
62061
+ async getSchemaInfo(schemaKey, matchType) {
62062
+ for (const locater of this._locaters) {
62063
+ const schemaInfo = await locater.getSchemaInfo(schemaKey, matchType, this);
62064
+ if (undefined !== schemaInfo)
62065
+ return schemaInfo;
62066
+ }
62067
+ return undefined;
62068
+ }
61971
62069
  /**
61972
62070
  *
61973
62071
  * @param schemaKey
@@ -61983,42 +62081,62 @@ class SchemaContext {
61983
62081
  }
61984
62082
  /**
61985
62083
  * Attempts to get a Schema from the context's cache.
62084
+ * Will await a partially loaded schema then return when it is completely loaded.
61986
62085
  * @param schemaKey The SchemaKey to identify the Schema.
61987
62086
  * @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
61988
62087
  * @internal
61989
62088
  */
61990
62089
  async getCachedSchema(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
61991
- return this.getCachedSchemaSync(schemaKey, matchType);
62090
+ return this._knownSchemas.getSchema(schemaKey, matchType);
61992
62091
  }
61993
62092
  /**
61994
62093
  * Attempts to get a Schema from the context's cache.
62094
+ * Will return undefined if the cached schema is partially loaded. Use the async method to await partially loaded schemas.
61995
62095
  * @param schemaKey The SchemaKey to identify the Schema.
61996
62096
  * @param matchType The SchemaMatch type to use. Default is SchemaMatchType.Latest.
61997
62097
  * @internal
61998
62098
  */
61999
62099
  getCachedSchemaSync(schemaKey, matchType = ECObjects_1.SchemaMatchType.Latest) {
62000
- const schema = this._knownSchemas.getSchemaSync(schemaKey, matchType);
62001
- return schema;
62100
+ return this._knownSchemas.getSchemaSync(schemaKey, matchType);
62002
62101
  }
62102
+ /**
62103
+ * Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
62104
+ * Will await a partially loaded schema then look in it for the requested item
62105
+ * @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
62106
+ * @returns The requested schema item
62107
+ */
62003
62108
  async getSchemaItem(schemaItemKey) {
62004
62109
  const schema = await this.getSchema(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
62005
62110
  if (undefined === schema)
62006
62111
  return undefined;
62007
62112
  return schema.getItem(schemaItemKey.name);
62008
62113
  }
62114
+ /**
62115
+ * Gets the schema item from the specified schema if it exists in this [[SchemaContext]].
62116
+ * Will skip a partially loaded schema and return undefined if the item belongs to that schema. Use the async method to await partially loaded schemas.
62117
+ * @param schemaItemKey The SchemaItemKey identifying the item to return. SchemaMatchType.Latest is used to match the schema.
62118
+ * @returns The requested schema item
62119
+ */
62009
62120
  getSchemaItemSync(schemaItemKey) {
62010
62121
  const schema = this.getSchemaSync(schemaItemKey.schemaKey, ECObjects_1.SchemaMatchType.Latest);
62011
62122
  if (undefined === schema)
62012
62123
  return undefined;
62013
62124
  return schema.getItemSync(schemaItemKey.name);
62014
62125
  }
62126
+ /**
62127
+ * Iterates through the items of each schema known to the context. This includes schemas added to the
62128
+ * context using [[SchemaContext.addSchema]]. This does not include schemas that
62129
+ * can be located by an ISchemaLocater instance added to the context.
62130
+ * Does not include schema items from schemas that are not completely loaded yet.
62131
+ */
62015
62132
  getSchemaItems() {
62016
62133
  return this._knownSchemas.getSchemaItems();
62017
62134
  }
62018
62135
  /**
62019
62136
  * Gets all the Schemas known by the context. This includes schemas added to the
62020
62137
  * context using [[SchemaContext.addSchema]]. This does not include schemas that
62021
- * can be located by an ISchemaLocater instance added to the context.
62138
+ * can be located by an ISchemaLocater instance added to the context. Does not
62139
+ * include schemas that are partially loaded.
62022
62140
  * @returns An array of Schema objects.
62023
62141
  */
62024
62142
  getKnownSchemas() {
@@ -62188,11 +62306,13 @@ class SchemaReadHelper {
62188
62306
  this._parserType = parserType;
62189
62307
  }
62190
62308
  /**
62191
- * Populates the given Schema from a serialized representation.
62309
+ * Creates a complete SchemaInfo and starts parsing the schema from a serialized representation.
62310
+ * The info and schema promise will be registered with the SchemaContext. The complete schema can be retrieved by
62311
+ * calling getCachedSchema on the context.
62192
62312
  * @param schema The Schema to populate
62193
62313
  * @param rawSchema The serialized data to use to populate the Schema.
62194
62314
  */
62195
- async readSchema(schema, rawSchema) {
62315
+ async readSchemaInfo(schema, rawSchema) {
62196
62316
  // Ensure context matches schema context
62197
62317
  if (schema.context) {
62198
62318
  if (this._context !== schema.context)
@@ -62205,12 +62325,38 @@ class SchemaReadHelper {
62205
62325
  // Loads all of the properties on the Schema object
62206
62326
  await schema.fromJSON(this._parser.parseSchema());
62207
62327
  this._schema = schema;
62208
- // Need to add this schema to the context to be able to locate schemaItems within the context.
62209
- await this._context.addSchema(schema);
62210
- // Load schema references first
62211
- // Need to figure out if other schemas are present.
62328
+ const schemaInfo = { schemaKey: schema.schemaKey, references: [] };
62212
62329
  for (const reference of this._parser.getReferences()) {
62213
- await this.loadSchemaReference(reference);
62330
+ const refKey = new SchemaKey_1.SchemaKey(reference.name, SchemaKey_1.ECVersion.fromString(reference.version));
62331
+ schemaInfo.references.push({ schemaKey: refKey });
62332
+ }
62333
+ this._schemaInfo = schemaInfo;
62334
+ // Need to add this schema to the context to be able to locate schemaItems within the context.
62335
+ if (!this._context.schemaExists(schema.schemaKey)) {
62336
+ await this._context.addSchemaPromise(schemaInfo, schema, this.loadSchema(schemaInfo, schema));
62337
+ }
62338
+ return schemaInfo;
62339
+ }
62340
+ /**
62341
+ * Populates the given Schema from a serialized representation.
62342
+ * @param schema The Schema to populate
62343
+ * @param rawSchema The serialized data to use to populate the Schema.
62344
+ */
62345
+ async readSchema(schema, rawSchema) {
62346
+ if (!this._schemaInfo) {
62347
+ await this.readSchemaInfo(schema, rawSchema);
62348
+ }
62349
+ const cachedSchema = await this._context.getCachedSchema(this._schemaInfo.schemaKey, ECObjects_1.SchemaMatchType.Latest);
62350
+ if (undefined === cachedSchema)
62351
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not load schema ${schema.schemaKey.toString()}`);
62352
+ return cachedSchema;
62353
+ }
62354
+ /* Finish loading the rest of the schema */
62355
+ async loadSchema(schemaInfo, schema) {
62356
+ // Verify that there are no schema reference cycles, this will start schema loading by loading their headers
62357
+ (await SchemaGraph_1.SchemaGraph.generateGraph(schemaInfo, this._context)).throwIfCycles();
62358
+ for (const reference of schemaInfo.references) {
62359
+ await this.loadSchemaReference(schemaInfo, reference.schemaKey);
62214
62360
  }
62215
62361
  if (this._visitorHelper)
62216
62362
  await this._visitorHelper.visitSchema(schema, false);
@@ -62269,11 +62415,10 @@ class SchemaReadHelper {
62269
62415
  * Ensures that the schema references can be located and adds them to the schema.
62270
62416
  * @param ref The object to read the SchemaReference's props from.
62271
62417
  */
62272
- async loadSchemaReference(ref) {
62273
- const schemaKey = new SchemaKey_1.SchemaKey(ref.name, SchemaKey_1.ECVersion.fromString(ref.version));
62274
- const refSchema = await this._context.getSchema(schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
62418
+ async loadSchemaReference(schemaInfo, refKey) {
62419
+ const refSchema = await this._context.getSchema(refKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
62275
62420
  if (undefined === refSchema)
62276
- throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
62421
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refKey.name}.${refKey.version.toString()}, of ${schemaInfo.schemaKey.name}`);
62277
62422
  await this._schema.addReference(refSchema);
62278
62423
  const results = this.validateSchemaReferences(this._schema);
62279
62424
  let errorMessage = "";
@@ -62294,6 +62439,7 @@ class SchemaReadHelper {
62294
62439
  if (!refSchema)
62295
62440
  throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${ref.name}.${ref.version}, of ${this._schema.schemaKey.name}`);
62296
62441
  this._schema.addReferenceSync(refSchema);
62442
+ SchemaGraph_1.SchemaGraph.generateGraphSync(this._schema).throwIfCycles();
62297
62443
  const results = this.validateSchemaReferences(this._schema);
62298
62444
  let errorMessage = "";
62299
62445
  for (const result of results) {
@@ -62322,12 +62468,6 @@ class SchemaReadHelper {
62322
62468
  aliases.set(schemaRef.alias, schemaRef);
62323
62469
  }
62324
62470
  }
62325
- const graph = new SchemaGraph_1.SchemaGraph(schema);
62326
- const cycles = graph.detectCycles();
62327
- if (cycles) {
62328
- const result = cycles.map((cycle) => `${cycle.schema.name} --> ${cycle.refSchema.name}`).join(", ");
62329
- yield `Schema '${schema.name}' has reference cycles: ${result}`;
62330
- }
62331
62471
  }
62332
62472
  /**
62333
62473
  * Given the schema item object, the anticipated type and the name a schema item is created and loaded into the schema provided.
@@ -62512,7 +62652,10 @@ class SchemaReadHelper {
62512
62652
  const isInThisSchema = (this._schema && this._schema.name.toLowerCase() === schemaName.toLowerCase());
62513
62653
  if (undefined === schemaName || 0 === schemaName.length)
62514
62654
  throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The SchemaItem ${name} is invalid without a schema name`);
62515
- if (isInThisSchema && undefined === await this._schema.getItem(itemName)) {
62655
+ if (isInThisSchema) {
62656
+ schemaItem = await this._schema.getItem(itemName);
62657
+ if (schemaItem)
62658
+ return schemaItem;
62516
62659
  const foundItem = this._parser.findItem(itemName);
62517
62660
  if (foundItem) {
62518
62661
  schemaItem = await this.loadSchemaItem(this._schema, ...foundItem);
@@ -65586,6 +65729,7 @@ var ECObjectsStatus;
65586
65729
  ECObjectsStatus[ECObjectsStatus["InvalidSchemaComparisonArgument"] = 35077] = "InvalidSchemaComparisonArgument";
65587
65730
  ECObjectsStatus[ECObjectsStatus["InvalidSchemaAlias"] = 35078] = "InvalidSchemaAlias";
65588
65731
  ECObjectsStatus[ECObjectsStatus["InvalidSchemaKey"] = 35079] = "InvalidSchemaKey";
65732
+ ECObjectsStatus[ECObjectsStatus["UnableToLoadSchema"] = 35080] = "UnableToLoadSchema";
65589
65733
  })(ECObjectsStatus = exports.ECObjectsStatus || (exports.ECObjectsStatus = {}));
65590
65734
  /** @internal */
65591
65735
  class ECObjectsError extends core_bentley_1.BentleyError {
@@ -69211,6 +69355,9 @@ class Schema {
69211
69355
  schemaXml.appendChild(schemaMetadata);
69212
69356
  return schemaXml;
69213
69357
  }
69358
+ /**
69359
+ * Loads the schema header (name, version alias, label and description) from the input SchemaProps
69360
+ */
69214
69361
  fromJSONSync(schemaProps) {
69215
69362
  if (undefined === this._schemaKey) {
69216
69363
  const schemaName = schemaProps.name;
@@ -69236,9 +69383,22 @@ class Schema {
69236
69383
  if (undefined !== schemaProps.description)
69237
69384
  this._description = schemaProps.description;
69238
69385
  }
69386
+ /**
69387
+ * Loads the schema header (name, version alias, label and description) from the input SchemaProps
69388
+ */
69239
69389
  async fromJSON(schemaProps) {
69240
69390
  this.fromJSONSync(schemaProps);
69241
69391
  }
69392
+ /**
69393
+ * Completely loads the SchemaInfo from the input json and starts loading the entire schema. The complete schema can be retrieved from the
69394
+ * schema context using the getCachedSchema method
69395
+ */
69396
+ static async startLoadingFromJson(jsonObj, context) {
69397
+ const schema = new Schema(context);
69398
+ const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
69399
+ const rawSchema = typeof jsonObj === "string" ? JSON.parse(jsonObj) : jsonObj;
69400
+ return reader.readSchemaInfo(schema, rawSchema);
69401
+ }
69242
69402
  static async fromJson(jsonObj, context) {
69243
69403
  let schema = new Schema(context);
69244
69404
  const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
@@ -69246,6 +69406,9 @@ class Schema {
69246
69406
  schema = await reader.readSchema(schema, rawSchema);
69247
69407
  return schema;
69248
69408
  }
69409
+ /**
69410
+ * Completely loads the Schema from the input json. The schema is cached in the schema context.
69411
+ */
69249
69412
  static fromJsonSync(jsonObj, context) {
69250
69413
  let schema = new Schema(context);
69251
69414
  const reader = new Helper_1.SchemaReadHelper(JsonParser_1.JsonParser, context);
@@ -69771,6 +69934,14 @@ class SchemaJsonLocater {
69771
69934
  async getSchema(schemaKey, matchType, context) {
69772
69935
  return this.getSchemaSync(schemaKey, matchType, context);
69773
69936
  }
69937
+ /**
69938
+ * Gets the schema info which matches the provided SchemaKey. The schema info may be returned before the schema is fully loaded.
69939
+ * @param schemaKey The SchemaKey describing the schema to get from the cache.
69940
+ * @param matchType The match type to use when locating the schema
69941
+ */
69942
+ async getSchemaInfo(schemaKey, matchType, context) {
69943
+ return this.getSchema(schemaKey, matchType, context);
69944
+ }
69774
69945
  /** Get a schema by [SchemaKey] synchronously.
69775
69946
  * @param schemaKey The [SchemaKey] that identifies the schema.
69776
69947
  * * @param matchType The [SchemaMatchType] to used for comparing schema versions.
@@ -71267,7 +71438,7 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
71267
71438
  /*!*****************************************************************!*\
71268
71439
  !*** ../../core/ecschema-metadata/lib/cjs/utils/SchemaGraph.js ***!
71269
71440
  \*****************************************************************/
71270
- /***/ ((__unused_webpack_module, exports) => {
71441
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
71271
71442
 
71272
71443
  "use strict";
71273
71444
 
@@ -71277,22 +71448,32 @@ Object.defineProperty(exports, "SchemaGraph", ({ enumerable: true, get: function
71277
71448
  *--------------------------------------------------------------------------------------------*/
71278
71449
  Object.defineProperty(exports, "__esModule", ({ value: true }));
71279
71450
  exports.SchemaGraph = void 0;
71451
+ const ECObjects_1 = __webpack_require__(/*! ../ECObjects */ "../../core/ecschema-metadata/lib/cjs/ECObjects.js");
71452
+ const Exception_1 = __webpack_require__(/*! ../Exception */ "../../core/ecschema-metadata/lib/cjs/Exception.js");
71280
71453
  /**
71281
71454
  * Utility class for detecting cyclic references in a Schema graph.
71282
- * @beta
71455
+ * @internal
71283
71456
  */
71284
71457
  class SchemaGraph {
71458
+ constructor() {
71459
+ this._schemas = [];
71460
+ }
71461
+ find(schemaKey) {
71462
+ return this._schemas.find((info) => info.schemaKey.matches(schemaKey, ECObjects_1.SchemaMatchType.Latest));
71463
+ }
71285
71464
  /**
71286
- * Initializes a new SchemaGraph instance.
71287
- * @param schema The schema to analyze.
71465
+ * Detected cyclic references in a schema and throw an exception if a cycle is found.
71288
71466
  */
71289
- constructor(schema) {
71290
- this._schemas = [];
71291
- this.populateGraph(schema);
71467
+ throwIfCycles() {
71468
+ const cycles = this.detectCycles();
71469
+ if (cycles) {
71470
+ const result = cycles.map((cycle) => `${cycle.schema.schemaKey.name} --> ${cycle.refSchema.schemaKey.name}`).join(", ");
71471
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `Schema '${this._schemas[0].schemaKey.name}' has reference cycles: ${result}`);
71472
+ }
71292
71473
  }
71293
71474
  /**
71294
71475
  * Detected cyclic references in a schema.
71295
- * @returns True if a cycle is found.
71476
+ * @returns An array describing the cycle if there is a cycle or undefined if no cycles found.
71296
71477
  */
71297
71478
  detectCycles() {
71298
71479
  const visited = {};
@@ -71307,31 +71488,70 @@ class SchemaGraph {
71307
71488
  }
71308
71489
  detectCycleUtil(schema, visited, recStack, cycles) {
71309
71490
  let cycleFound = false;
71310
- if (!visited[schema.name]) {
71311
- visited[schema.name] = true;
71312
- recStack[schema.name] = true;
71313
- for (const refSchema of schema.references) {
71314
- if (!visited[refSchema.name] && this.detectCycleUtil(refSchema, visited, recStack, cycles)) {
71491
+ if (!visited[schema.schemaKey.name]) {
71492
+ visited[schema.schemaKey.name] = true;
71493
+ recStack[schema.schemaKey.name] = true;
71494
+ for (const refKey of schema.references) {
71495
+ const refSchema = this.find(refKey.schemaKey);
71496
+ if (undefined === refSchema)
71497
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLoadSchema, `Could not find the schema info for ref schema ${refKey.schemaKey.toString()} for schema ${schema.schemaKey.toString()}`);
71498
+ if (!visited[refKey.schemaKey.name] && this.detectCycleUtil(refSchema, visited, recStack, cycles)) {
71315
71499
  cycles.push({ schema, refSchema });
71316
71500
  cycleFound = true;
71317
71501
  }
71318
- else if (recStack[refSchema.name]) {
71502
+ else if (recStack[refKey.schemaKey.name]) {
71319
71503
  cycles.push({ schema, refSchema });
71320
71504
  cycleFound = true;
71321
71505
  }
71322
71506
  }
71323
71507
  }
71324
71508
  if (!cycleFound)
71325
- recStack[schema.name] = false;
71509
+ recStack[schema.schemaKey.name] = false;
71326
71510
  return cycleFound;
71327
71511
  }
71328
- populateGraph(schema) {
71329
- if (this._schemas.includes(schema))
71330
- return;
71331
- this._schemas.push(schema);
71332
- for (const refSchema of schema.references) {
71333
- this.populateGraph(refSchema);
71334
- }
71512
+ /**
71513
+ * Generates a SchemaGraph for the input schema using the context to find info on referenced schemas. Use the generateGraphSync if you have the fully loaded Schema.
71514
+ * @param schema The SchemaInfo to build the graph from
71515
+ * @param context The SchemaContext used to locate info on the referenced schemas
71516
+ * @returns A SchemaGraph that can be used to detect schema cycles
71517
+ */
71518
+ static async generateGraph(schema, context) {
71519
+ const graph = new SchemaGraph();
71520
+ const genGraph = async (s) => {
71521
+ if (graph.find(s.schemaKey))
71522
+ return;
71523
+ graph._schemas.push(s);
71524
+ for (const refSchema of s.references) {
71525
+ if (!graph.find(refSchema.schemaKey)) {
71526
+ const refInfo = await context.getSchemaInfo(refSchema.schemaKey, ECObjects_1.SchemaMatchType.LatestWriteCompatible);
71527
+ if (undefined === refInfo) {
71528
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.UnableToLocateSchema, `Could not locate the referenced schema, ${refSchema.schemaKey.name}.${refSchema.schemaKey.version.toString()}, of ${s.schemaKey.name} when populating the graph for ${schema.schemaKey.name}`);
71529
+ }
71530
+ await genGraph(refInfo);
71531
+ }
71532
+ }
71533
+ };
71534
+ await genGraph(schema);
71535
+ return graph;
71536
+ }
71537
+ /**
71538
+ * Generates a SchemaGraph for the input schema. Use the generateGraph if you just have schema info.
71539
+ * @param schema The Schema to build the graph from.
71540
+ * @returns A SchemaGraph that can be used to detect schema cycles
71541
+ */
71542
+ static generateGraphSync(schema) {
71543
+ const graph = new SchemaGraph();
71544
+ const genGraph = (s) => {
71545
+ if (graph.find(s.schemaKey))
71546
+ return;
71547
+ graph._schemas.push(s);
71548
+ for (const refSchema of s.references) {
71549
+ if (!graph.find(refSchema.schemaKey))
71550
+ genGraph(refSchema);
71551
+ }
71552
+ };
71553
+ genGraph(schema);
71554
+ return graph;
71335
71555
  }
71336
71556
  }
71337
71557
  exports.SchemaGraph = SchemaGraph;
@@ -81928,9 +82148,7 @@ class IModelApp {
81928
82148
  static get applicationVersion() { return this._applicationVersion; }
81929
82149
  /** True after [[startup]] has been called, until [[shutdown]] is called. */
81930
82150
  static get initialized() { return this._initialized; }
81931
- /** Provides access to the IModelHub implementation for this IModelApp.
81932
- * @internal
81933
- */
82151
+ /** Provides access to IModelHub services. */
81934
82152
  static get hubAccess() { return this._hubAccess; }
81935
82153
  /** Provides access to the RealityData service implementation for this IModelApp
81936
82154
  * @beta
@@ -97793,65 +98011,6 @@ class ExtensionHost {
97793
98011
  }
97794
98012
 
97795
98013
 
97796
- /***/ }),
97797
-
97798
- /***/ "../../core/frontend/lib/esm/extension/ExtensionImpl.js":
97799
- /*!**************************************************************!*\
97800
- !*** ../../core/frontend/lib/esm/extension/ExtensionImpl.js ***!
97801
- \**************************************************************/
97802
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97803
-
97804
- "use strict";
97805
- __webpack_require__.r(__webpack_exports__);
97806
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97807
- /* harmony export */ "ExtensionImpl": () => (/* binding */ ExtensionImpl),
97808
- /* harmony export */ "ToolProvider": () => (/* binding */ ToolProvider)
97809
- /* harmony export */ });
97810
- /* harmony import */ var _IModelApp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IModelApp */ "../../core/frontend/lib/esm/IModelApp.js");
97811
- /* harmony import */ var _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @itwin/appui-abstract */ "../../ui/appui-abstract/lib/esm/appui-abstract.js");
97812
- /*---------------------------------------------------------------------------------------------
97813
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
97814
- * See LICENSE.md in the project root for license terms and full copyright notice.
97815
- *--------------------------------------------------------------------------------------------*/
97816
- /** @packageDocumentation
97817
- * @module Extensions
97818
- */
97819
-
97820
-
97821
- /** @alpha */
97822
- class ToolProvider {
97823
- constructor(tool) {
97824
- this._toolId = "";
97825
- this.id = `ToolProvider:${tool.toolId}`;
97826
- this._toolId = tool.toolId;
97827
- this._toolIcon = tool.iconSpec;
97828
- this._toolLabel = tool.description;
97829
- }
97830
- provideToolbarButtonItems(_stageId, stageUsage, toolbarUsage, toolbarOrientation) {
97831
- const toolbarItem = _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarItemUtilities.createActionButton(this._toolId, 0, this._toolIcon, this._toolLabel, async () => {
97832
- await _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.run(this._toolId);
97833
- });
97834
- return stageUsage === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.StageUsage.General && toolbarUsage === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarUsage.ContentManipulation && toolbarOrientation === _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.ToolbarOrientation.Vertical ? [toolbarItem] : []; // eslint-disable-line deprecation/deprecation
97835
- }
97836
- }
97837
- /** @alpha */
97838
- class ExtensionImpl {
97839
- constructor(_id) {
97840
- this._id = _id;
97841
- }
97842
- async registerTool(tool, onRegistered) {
97843
- try {
97844
- _IModelApp__WEBPACK_IMPORTED_MODULE_0__.IModelApp.tools.register(tool);
97845
- _itwin_appui_abstract__WEBPACK_IMPORTED_MODULE_1__.UiItemsManager.register(new ToolProvider(tool)); // eslint-disable-line deprecation/deprecation
97846
- onRegistered?.();
97847
- }
97848
- catch (e) {
97849
- console.log(`Error registering tool: ${e}`); // eslint-disable-line
97850
- }
97851
- }
97852
- }
97853
-
97854
-
97855
98014
  /***/ }),
97856
98015
 
97857
98016
  /***/ "../../core/frontend/lib/esm/extension/ExtensionRuntime.js":
@@ -97862,10 +98021,9 @@ class ExtensionImpl {
97862
98021
 
97863
98022
  "use strict";
97864
98023
  __webpack_require__.r(__webpack_exports__);
97865
- /* harmony import */ var _ExtensionImpl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExtensionImpl */ "../../core/frontend/lib/esm/extension/ExtensionImpl.js");
97866
- /* harmony import */ var _ExtensionHost__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ExtensionHost */ "../../core/frontend/lib/esm/extension/ExtensionHost.js");
97867
- /* harmony import */ var _core_frontend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
97868
- /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
98024
+ /* harmony import */ var _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExtensionHost */ "../../core/frontend/lib/esm/extension/ExtensionHost.js");
98025
+ /* harmony import */ var _core_frontend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
98026
+ /* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
97869
98027
  /*---------------------------------------------------------------------------------------------
97870
98028
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
97871
98029
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -97877,7 +98035,6 @@ __webpack_require__.r(__webpack_exports__);
97877
98035
  /* eslint-disable @itwin/no-internal-barrel-imports */
97878
98036
  /* eslint-disable sort-imports */
97879
98037
 
97880
-
97881
98038
  const globalSymbol = Symbol.for("itwin.core.frontend.globals");
97882
98039
  if (globalThis[globalSymbol])
97883
98040
  throw new Error("Multiple @itwin/core-frontend imports detected!");
@@ -97885,265 +98042,264 @@ if (globalThis[globalSymbol])
97885
98042
 
97886
98043
 
97887
98044
  const extensionExports = {
97888
- ACSDisplayOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ACSDisplayOptions,
97889
- ACSType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ACSType,
97890
- AccuDrawHintBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AccuDrawHintBuilder,
97891
- AccuSnap: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AccuSnap,
97892
- ActivityMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ActivityMessageDetails,
97893
- ActivityMessageEndReason: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ActivityMessageEndReason,
97894
- AuxCoordSystem2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AuxCoordSystem2dState,
97895
- AuxCoordSystem3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AuxCoordSystem3dState,
97896
- AuxCoordSystemSpatialState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AuxCoordSystemSpatialState,
97897
- AuxCoordSystemState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.AuxCoordSystemState,
97898
- BackgroundFill: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.BackgroundFill,
97899
- BackgroundMapType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.BackgroundMapType,
97900
- BatchType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.BatchType,
97901
- BeButton: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeButton,
97902
- BeButtonEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeButtonEvent,
97903
- BeButtonState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeButtonState,
97904
- BeModifierKeys: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeModifierKeys,
97905
- BeTouchEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeTouchEvent,
97906
- BeWheelEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BeWheelEvent,
97907
- BingElevationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BingElevationProvider,
97908
- BingLocationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.BingLocationProvider,
97909
- BisCodeSpec: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.BisCodeSpec,
97910
- BriefcaseIdValue: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.BriefcaseIdValue,
97911
- CategorySelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CategorySelectorState,
97912
- ChangeFlags: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ChangeFlags,
97913
- ChangeOpCode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ChangeOpCode,
97914
- ChangedValueState: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ChangedValueState,
97915
- ChangesetType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ChangesetType,
97916
- ClipEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ClipEventType,
97917
- Cluster: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Cluster,
97918
- ColorByName: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ColorByName,
97919
- ColorDef: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ColorDef,
97920
- CommonLoggerCategory: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.CommonLoggerCategory,
97921
- ContextRealityModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ContextRealityModelState,
97922
- ContextRotationId: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ContextRotationId,
97923
- CoordSource: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordSource,
97924
- CoordSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordSystem,
97925
- CoordinateLockOverrides: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordinateLockOverrides,
97926
- DecorateContext: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DecorateContext,
97927
- Decorations: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Decorations,
97928
- DisclosedTileTreeSet: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisclosedTileTreeSet,
97929
- DisplayStyle2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisplayStyle2dState,
97930
- DisplayStyle3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisplayStyle3dState,
97931
- DisplayStyleState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisplayStyleState,
97932
- DrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DrawingModelState,
97933
- DrawingViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DrawingViewState,
97934
- ECSqlSystemProperty: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ECSqlSystemProperty,
97935
- ECSqlValueType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ECSqlValueType,
97936
- EditManipulator: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.EditManipulator,
97937
- ElementGeometryOpcode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ElementGeometryOpcode,
97938
- ElementLocateManager: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ElementLocateManager,
97939
- ElementPicker: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ElementPicker,
97940
- ElementState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ElementState,
97941
- EmphasizeElements: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.EmphasizeElements,
97942
- EntityState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.EntityState,
97943
- EventController: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.EventController,
97944
- EventHandled: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.EventHandled,
97945
- FeatureOverrideType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.FeatureOverrideType,
97946
- FeatureSymbology: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.FeatureSymbology,
97947
- FillDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.FillDisplay,
97948
- FillFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.FillFlags,
97949
- FlashMode: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.FlashMode,
97950
- FlashSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.FlashSettings,
97951
- FontType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.FontType,
97952
- FrontendLoggerCategory: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.FrontendLoggerCategory,
97953
- FrustumAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.FrustumAnimator,
97954
- FrustumPlanes: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.FrustumPlanes,
97955
- GeoCoordStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GeoCoordStatus,
97956
- GeometricModel2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GeometricModel2dState,
97957
- GeometricModel3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GeometricModel3dState,
97958
- GeometricModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GeometricModelState,
97959
- GeometryClass: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GeometryClass,
97960
- GeometryStreamFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GeometryStreamFlags,
97961
- GeometrySummaryVerbosity: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GeometrySummaryVerbosity,
97962
- GlobeAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GlobeAnimator,
97963
- GlobeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GlobeMode,
97964
- GraphicBranch: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GraphicBranch,
97965
- GraphicBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GraphicBuilder,
97966
- GraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.GraphicType,
97967
- GridOrientationType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.GridOrientationType,
97968
- HSVConstants: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.HSVConstants,
97969
- HiliteSet: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HiliteSet,
97970
- HitDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitDetail,
97971
- HitDetailType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitDetailType,
97972
- HitGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitGeomType,
97973
- HitList: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitList,
97974
- HitParentGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitParentGeomType,
97975
- HitPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitPriority,
97976
- HitSource: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.HitSource,
97977
- IModelConnection: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.IModelConnection,
97978
- IconSprites: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.IconSprites,
97979
- ImageBufferFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ImageBufferFormat,
97980
- ImageSourceFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ImageSourceFormat,
97981
- InputCollector: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.InputCollector,
97982
- InputSource: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.InputSource,
97983
- InteractiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.InteractiveTool,
97984
- IntersectDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.IntersectDetail,
97985
- KeyinParseError: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.KeyinParseError,
97986
- LinePixels: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.LinePixels,
97987
- LocateAction: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.LocateAction,
97988
- LocateFilterStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.LocateFilterStatus,
97989
- LocateOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.LocateOptions,
97990
- LocateResponse: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.LocateResponse,
97991
- ManipulatorToolEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ManipulatorToolEvent,
97992
- MarginPercent: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.MarginPercent,
97993
- Marker: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Marker,
97994
- MarkerSet: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.MarkerSet,
97995
- MassPropertiesOperation: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.MassPropertiesOperation,
97996
- MessageBoxIconType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.MessageBoxIconType,
97997
- MessageBoxType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.MessageBoxType,
97998
- MessageBoxValue: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.MessageBoxValue,
97999
- ModelSelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ModelSelectorState,
98000
- ModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ModelState,
98001
- MonochromeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.MonochromeMode,
98002
- NotificationHandler: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.NotificationHandler,
98003
- NotificationManager: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.NotificationManager,
98004
- NotifyMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.NotifyMessageDetails,
98005
- Npc: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.Npc,
98006
- OffScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OffScreenViewport,
98007
- OrthographicViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OrthographicViewState,
98008
- OutputMessageAlert: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OutputMessageAlert,
98009
- OutputMessagePriority: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OutputMessagePriority,
98010
- OutputMessageType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OutputMessageType,
98011
- ParseAndRunResult: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ParseAndRunResult,
98012
- PerModelCategoryVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.PerModelCategoryVisibility,
98013
- PhysicalModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.PhysicalModelState,
98014
- Pixel: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Pixel,
98015
- PlanarClipMaskMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.PlanarClipMaskMode,
98016
- PlanarClipMaskPriority: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.PlanarClipMaskPriority,
98017
- PrimitiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.PrimitiveTool,
98018
- QParams2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QParams2d,
98019
- QParams3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QParams3d,
98020
- QPoint2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint2d,
98021
- QPoint2dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint2dBuffer,
98022
- QPoint2dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint2dBufferBuilder,
98023
- QPoint2dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint2dList,
98024
- QPoint3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint3d,
98025
- QPoint3dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint3dBuffer,
98026
- QPoint3dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint3dBufferBuilder,
98027
- QPoint3dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QPoint3dList,
98028
- Quantization: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.Quantization,
98029
- QueryRowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QueryRowFormat,
98030
- Rank: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.Rank,
98031
- RenderClipVolume: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderClipVolume,
98032
- RenderContext: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderContext,
98033
- RenderGraphic: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderGraphic,
98034
- RenderGraphicOwner: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderGraphicOwner,
98035
- RenderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.RenderMode,
98036
- RenderSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderSystem,
98037
- Scene: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Scene,
98038
- ScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ScreenViewport,
98039
- SectionDrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SectionDrawingModelState,
98040
- SectionType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SectionType,
98041
- SelectionMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionMethod,
98042
- SelectionMode: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionMode,
98043
- SelectionProcessing: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionProcessing,
98044
- SelectionSet: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionSet,
98045
- SelectionSetEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionSetEventType,
98046
- SheetModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SheetModelState,
98047
- SheetViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SheetViewState,
98048
- SkyBoxImageType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SkyBoxImageType,
98049
- SnapDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SnapDetail,
98050
- SnapHeat: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SnapHeat,
98051
- SnapMode: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SnapMode,
98052
- SnapStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SnapStatus,
98053
- SpatialClassifierInsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SpatialClassifierInsideDisplay,
98054
- SpatialClassifierOutsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SpatialClassifierOutsideDisplay,
98055
- SpatialLocationModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SpatialLocationModelState,
98056
- SpatialModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SpatialModelState,
98057
- SpatialViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SpatialViewState,
98058
- Sprite: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Sprite,
98059
- SpriteLocation: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SpriteLocation,
98060
- StandardViewId: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.StandardViewId,
98061
- StartOrResume: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.StartOrResume,
98062
- SyncMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SyncMode,
98063
- TentativePoint: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TentativePoint,
98064
- TerrainHeightOriginMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.TerrainHeightOriginMode,
98065
- TextureMapUnits: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.TextureMapUnits,
98066
- ThematicDisplayMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ThematicDisplayMode,
98067
- ThematicGradientColorScheme: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ThematicGradientColorScheme,
98068
- ThematicGradientMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.ThematicGradientMode,
98069
- Tile: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Tile,
98070
- TileAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileAdmin,
98071
- TileBoundingBoxes: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileBoundingBoxes,
98072
- TileDrawArgs: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileDrawArgs,
98073
- TileGraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileGraphicType,
98074
- TileLoadPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileLoadPriority,
98075
- TileLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileLoadStatus,
98076
- TileRequest: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileRequest,
98077
- TileRequestChannel: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileRequestChannel,
98078
- TileRequestChannelStatistics: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileRequestChannelStatistics,
98079
- TileRequestChannels: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileRequestChannels,
98080
- TileTree: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileTree,
98081
- TileTreeLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileTreeLoadStatus,
98082
- TileTreeReference: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileTreeReference,
98083
- TileUsageMarker: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileUsageMarker,
98084
- TileVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TileVisibility,
98085
- Tiles: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Tiles,
98086
- Tool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Tool,
98087
- ToolAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ToolAdmin,
98088
- ToolAssistance: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ToolAssistance,
98089
- ToolAssistanceImage: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ToolAssistanceImage,
98090
- ToolAssistanceInputMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ToolAssistanceInputMethod,
98091
- ToolSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ToolSettings,
98092
- TwoWayViewportFrustumSync: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TwoWayViewportFrustumSync,
98093
- TwoWayViewportSync: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.TwoWayViewportSync,
98094
- TxnAction: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.TxnAction,
98095
- TypeOfChange: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.TypeOfChange,
98096
- UniformType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.UniformType,
98097
- VaryingType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.VaryingType,
98098
- ViewClipClearTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipClearTool,
98099
- ViewClipDecoration: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipDecoration,
98100
- ViewClipDecorationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipDecorationProvider,
98101
- ViewClipTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipTool,
98102
- ViewCreator2d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewCreator2d,
98103
- ViewCreator3d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewCreator3d,
98104
- ViewManager: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewManager,
98105
- ViewManip: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewManip,
98106
- ViewPose: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewPose,
98107
- ViewPose2d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewPose2d,
98108
- ViewPose3d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewPose3d,
98109
- ViewRect: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewRect,
98110
- ViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewState,
98111
- ViewState2d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewState2d,
98112
- ViewState3d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewState3d,
98113
- ViewStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewStatus,
98114
- ViewTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewTool,
98115
- ViewingSpace: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewingSpace,
98116
- Viewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Viewport,
98117
- canvasToImageBuffer: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.canvasToImageBuffer,
98118
- canvasToResizedCanvasWithBars: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.canvasToResizedCanvasWithBars,
98119
- connectViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.connectViewportFrusta,
98120
- connectViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.connectViewportViews,
98121
- connectViewports: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.connectViewports,
98122
- extractImageSourceDimensions: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.extractImageSourceDimensions,
98123
- getCompressedJpegFromCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.getCompressedJpegFromCanvas,
98124
- getImageSourceFormatForMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.getImageSourceFormatForMimeType,
98125
- getImageSourceMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.getImageSourceMimeType,
98126
- imageBufferToBase64EncodedPng: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageBufferToBase64EncodedPng,
98127
- imageBufferToCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageBufferToCanvas,
98128
- imageBufferToPngDataUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageBufferToPngDataUrl,
98129
- imageElementFromImageSource: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageElementFromImageSource,
98130
- imageElementFromUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageElementFromUrl,
98131
- queryTerrainElevationOffset: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.queryTerrainElevationOffset,
98132
- readElementGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.readElementGraphics,
98133
- readGltfGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.readGltfGraphics,
98134
- synchronizeViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.synchronizeViewportFrusta,
98135
- synchronizeViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.synchronizeViewportViews,
98045
+ ACSDisplayOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSDisplayOptions,
98046
+ ACSType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ACSType,
98047
+ AccuDrawHintBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuDrawHintBuilder,
98048
+ AccuSnap: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AccuSnap,
98049
+ ActivityMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageDetails,
98050
+ ActivityMessageEndReason: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ActivityMessageEndReason,
98051
+ AuxCoordSystem2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem2dState,
98052
+ AuxCoordSystem3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystem3dState,
98053
+ AuxCoordSystemSpatialState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemSpatialState,
98054
+ AuxCoordSystemState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.AuxCoordSystemState,
98055
+ BackgroundFill: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundFill,
98056
+ BackgroundMapType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BackgroundMapType,
98057
+ BatchType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BatchType,
98058
+ BeButton: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButton,
98059
+ BeButtonEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonEvent,
98060
+ BeButtonState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeButtonState,
98061
+ BeModifierKeys: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeModifierKeys,
98062
+ BeTouchEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeTouchEvent,
98063
+ BeWheelEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BeWheelEvent,
98064
+ BingElevationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingElevationProvider,
98065
+ BingLocationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.BingLocationProvider,
98066
+ BisCodeSpec: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BisCodeSpec,
98067
+ BriefcaseIdValue: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.BriefcaseIdValue,
98068
+ CategorySelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CategorySelectorState,
98069
+ ChangeFlags: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ChangeFlags,
98070
+ ChangeOpCode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangeOpCode,
98071
+ ChangedValueState: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangedValueState,
98072
+ ChangesetType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangesetType,
98073
+ ClipEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ClipEventType,
98074
+ Cluster: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Cluster,
98075
+ ColorByName: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName,
98076
+ ColorDef: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef,
98077
+ CommonLoggerCategory: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.CommonLoggerCategory,
98078
+ ContextRealityModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRealityModelState,
98079
+ ContextRotationId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ContextRotationId,
98080
+ CoordSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSource,
98081
+ CoordSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordSystem,
98082
+ CoordinateLockOverrides: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.CoordinateLockOverrides,
98083
+ DecorateContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DecorateContext,
98084
+ Decorations: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Decorations,
98085
+ DisclosedTileTreeSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisclosedTileTreeSet,
98086
+ DisplayStyle2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle2dState,
98087
+ DisplayStyle3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyle3dState,
98088
+ DisplayStyleState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DisplayStyleState,
98089
+ DrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingModelState,
98090
+ DrawingViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.DrawingViewState,
98091
+ ECSqlSystemProperty: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlSystemProperty,
98092
+ ECSqlValueType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ECSqlValueType,
98093
+ EditManipulator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EditManipulator,
98094
+ ElementGeometryOpcode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ElementGeometryOpcode,
98095
+ ElementLocateManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementLocateManager,
98096
+ ElementPicker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementPicker,
98097
+ ElementState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ElementState,
98098
+ EmphasizeElements: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EmphasizeElements,
98099
+ EntityState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EntityState,
98100
+ EventController: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventController,
98101
+ EventHandled: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.EventHandled,
98102
+ FeatureOverrideType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureOverrideType,
98103
+ FeatureSymbology: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FeatureSymbology,
98104
+ FillDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillDisplay,
98105
+ FillFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FillFlags,
98106
+ FlashMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashMode,
98107
+ FlashSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FlashSettings,
98108
+ FontType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FontType,
98109
+ FrontendLoggerCategory: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory,
98110
+ FrustumAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.FrustumAnimator,
98111
+ FrustumPlanes: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FrustumPlanes,
98112
+ GeoCoordStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeoCoordStatus,
98113
+ GeometricModel2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel2dState,
98114
+ GeometricModel3dState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModel3dState,
98115
+ GeometricModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GeometricModelState,
98116
+ GeometryClass: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryClass,
98117
+ GeometryStreamFlags: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometryStreamFlags,
98118
+ GeometrySummaryVerbosity: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GeometrySummaryVerbosity,
98119
+ GlobeAnimator: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GlobeAnimator,
98120
+ GlobeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GlobeMode,
98121
+ GraphicBranch: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBranch,
98122
+ GraphicBuilder: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicBuilder,
98123
+ GraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.GraphicType,
98124
+ GridOrientationType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.GridOrientationType,
98125
+ HSVConstants: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.HSVConstants,
98126
+ HiliteSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HiliteSet,
98127
+ HitDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetail,
98128
+ HitDetailType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitDetailType,
98129
+ HitGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitGeomType,
98130
+ HitList: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitList,
98131
+ HitParentGeomType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitParentGeomType,
98132
+ HitPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitPriority,
98133
+ HitSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.HitSource,
98134
+ IModelConnection: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IModelConnection,
98135
+ IconSprites: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IconSprites,
98136
+ ImageBufferFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageBufferFormat,
98137
+ ImageSourceFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImageSourceFormat,
98138
+ InputCollector: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputCollector,
98139
+ InputSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InputSource,
98140
+ InteractiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.InteractiveTool,
98141
+ IntersectDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.IntersectDetail,
98142
+ KeyinParseError: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.KeyinParseError,
98143
+ LinePixels: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.LinePixels,
98144
+ LocateAction: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateAction,
98145
+ LocateFilterStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateFilterStatus,
98146
+ LocateOptions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateOptions,
98147
+ LocateResponse: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.LocateResponse,
98148
+ ManipulatorToolEvent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ManipulatorToolEvent,
98149
+ MarginPercent: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarginPercent,
98150
+ Marker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Marker,
98151
+ MarkerSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MarkerSet,
98152
+ MassPropertiesOperation: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MassPropertiesOperation,
98153
+ MessageBoxIconType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxIconType,
98154
+ MessageBoxType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxType,
98155
+ MessageBoxValue: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.MessageBoxValue,
98156
+ ModelSelectorState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelSelectorState,
98157
+ ModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ModelState,
98158
+ MonochromeMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MonochromeMode,
98159
+ NotificationHandler: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationHandler,
98160
+ NotificationManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotificationManager,
98161
+ NotifyMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.NotifyMessageDetails,
98162
+ Npc: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Npc,
98163
+ OffScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OffScreenViewport,
98164
+ OrthographicViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OrthographicViewState,
98165
+ OutputMessageAlert: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageAlert,
98166
+ OutputMessagePriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessagePriority,
98167
+ OutputMessageType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.OutputMessageType,
98168
+ ParseAndRunResult: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ParseAndRunResult,
98169
+ PerModelCategoryVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PerModelCategoryVisibility,
98170
+ PhysicalModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PhysicalModelState,
98171
+ Pixel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Pixel,
98172
+ PlanarClipMaskMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskMode,
98173
+ PlanarClipMaskPriority: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.PlanarClipMaskPriority,
98174
+ PrimitiveTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.PrimitiveTool,
98175
+ QParams2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams2d,
98176
+ QParams3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QParams3d,
98177
+ QPoint2d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2d,
98178
+ QPoint2dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBuffer,
98179
+ QPoint2dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dBufferBuilder,
98180
+ QPoint2dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint2dList,
98181
+ QPoint3d: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3d,
98182
+ QPoint3dBuffer: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBuffer,
98183
+ QPoint3dBufferBuilder: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dBufferBuilder,
98184
+ QPoint3dList: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QPoint3dList,
98185
+ Quantization: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Quantization,
98186
+ QueryRowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.QueryRowFormat,
98187
+ Rank: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.Rank,
98188
+ RenderClipVolume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderClipVolume,
98189
+ RenderContext: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderContext,
98190
+ RenderGraphic: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphic,
98191
+ RenderGraphicOwner: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderGraphicOwner,
98192
+ RenderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderMode,
98193
+ RenderSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.RenderSystem,
98194
+ Scene: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Scene,
98195
+ ScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ScreenViewport,
98196
+ SectionDrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SectionDrawingModelState,
98197
+ SectionType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SectionType,
98198
+ SelectionMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMethod,
98199
+ SelectionMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionMode,
98200
+ SelectionProcessing: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionProcessing,
98201
+ SelectionSet: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSet,
98202
+ SelectionSetEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SelectionSetEventType,
98203
+ SheetModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetModelState,
98204
+ SheetViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SheetViewState,
98205
+ SkyBoxImageType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SkyBoxImageType,
98206
+ SnapDetail: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapDetail,
98207
+ SnapHeat: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapHeat,
98208
+ SnapMode: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapMode,
98209
+ SnapStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SnapStatus,
98210
+ SpatialClassifierInsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierInsideDisplay,
98211
+ SpatialClassifierOutsideDisplay: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SpatialClassifierOutsideDisplay,
98212
+ SpatialLocationModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialLocationModelState,
98213
+ SpatialModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialModelState,
98214
+ SpatialViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpatialViewState,
98215
+ Sprite: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Sprite,
98216
+ SpriteLocation: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.SpriteLocation,
98217
+ StandardViewId: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StandardViewId,
98218
+ StartOrResume: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.StartOrResume,
98219
+ SyncMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SyncMode,
98220
+ TentativePoint: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TentativePoint,
98221
+ TerrainHeightOriginMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TerrainHeightOriginMode,
98222
+ TextureMapUnits: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TextureMapUnits,
98223
+ ThematicDisplayMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicDisplayMode,
98224
+ ThematicGradientColorScheme: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientColorScheme,
98225
+ ThematicGradientMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ThematicGradientMode,
98226
+ Tile: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tile,
98227
+ TileAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileAdmin,
98228
+ TileBoundingBoxes: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileBoundingBoxes,
98229
+ TileDrawArgs: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileDrawArgs,
98230
+ TileGraphicType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileGraphicType,
98231
+ TileLoadPriority: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadPriority,
98232
+ TileLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileLoadStatus,
98233
+ TileRequest: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequest,
98234
+ TileRequestChannel: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannel,
98235
+ TileRequestChannelStatistics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannelStatistics,
98236
+ TileRequestChannels: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileRequestChannels,
98237
+ TileTree: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTree,
98238
+ TileTreeLoadStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeLoadStatus,
98239
+ TileTreeReference: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileTreeReference,
98240
+ TileUsageMarker: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileUsageMarker,
98241
+ TileVisibility: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TileVisibility,
98242
+ Tiles: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tiles,
98243
+ Tool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Tool,
98244
+ ToolAdmin: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAdmin,
98245
+ ToolAssistance: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistance,
98246
+ ToolAssistanceImage: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceImage,
98247
+ ToolAssistanceInputMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolAssistanceInputMethod,
98248
+ ToolSettings: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ToolSettings,
98249
+ TwoWayViewportFrustumSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportFrustumSync,
98250
+ TwoWayViewportSync: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.TwoWayViewportSync,
98251
+ TxnAction: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TxnAction,
98252
+ TypeOfChange: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TypeOfChange,
98253
+ UniformType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.UniformType,
98254
+ VaryingType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.VaryingType,
98255
+ ViewClipClearTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipClearTool,
98256
+ ViewClipDecoration: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecoration,
98257
+ ViewClipDecorationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipDecorationProvider,
98258
+ ViewClipTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewClipTool,
98259
+ ViewCreator2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator2d,
98260
+ ViewCreator3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewCreator3d,
98261
+ ViewManager: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManager,
98262
+ ViewManip: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewManip,
98263
+ ViewPose: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose,
98264
+ ViewPose2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose2d,
98265
+ ViewPose3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewPose3d,
98266
+ ViewRect: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewRect,
98267
+ ViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState,
98268
+ ViewState2d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState2d,
98269
+ ViewState3d: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewState3d,
98270
+ ViewStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewStatus,
98271
+ ViewTool: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewTool,
98272
+ ViewingSpace: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ViewingSpace,
98273
+ Viewport: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Viewport,
98274
+ canvasToImageBuffer: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToImageBuffer,
98275
+ canvasToResizedCanvasWithBars: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.canvasToResizedCanvasWithBars,
98276
+ connectViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportFrusta,
98277
+ connectViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewportViews,
98278
+ connectViewports: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.connectViewports,
98279
+ extractImageSourceDimensions: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.extractImageSourceDimensions,
98280
+ getCompressedJpegFromCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getCompressedJpegFromCanvas,
98281
+ getImageSourceFormatForMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceFormatForMimeType,
98282
+ getImageSourceMimeType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.getImageSourceMimeType,
98283
+ imageBufferToBase64EncodedPng: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToBase64EncodedPng,
98284
+ imageBufferToCanvas: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToCanvas,
98285
+ imageBufferToPngDataUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageBufferToPngDataUrl,
98286
+ imageElementFromImageSource: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromImageSource,
98287
+ imageElementFromUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.imageElementFromUrl,
98288
+ queryTerrainElevationOffset: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.queryTerrainElevationOffset,
98289
+ readElementGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readElementGraphics,
98290
+ readGltfGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.readGltfGraphics,
98291
+ synchronizeViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportFrusta,
98292
+ synchronizeViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.synchronizeViewportViews,
98136
98293
  };
98137
98294
  // END GENERATED CODE
98138
- const getExtensionApi = (id) => {
98295
+ const getExtensionApi = (_id) => {
98139
98296
  return {
98140
98297
  exports: {
98141
98298
  // exceptions
98142
- ExtensionHost: _ExtensionHost__WEBPACK_IMPORTED_MODULE_1__.ExtensionHost,
98299
+ ExtensionHost: _ExtensionHost__WEBPACK_IMPORTED_MODULE_0__.ExtensionHost,
98143
98300
  // automated
98144
98301
  ...extensionExports,
98145
98302
  },
98146
- api: new _ExtensionImpl__WEBPACK_IMPORTED_MODULE_0__.ExtensionImpl(id),
98147
98303
  };
98148
98304
  };
98149
98305
  globalThis[globalSymbol] = {
@@ -144796,8 +144952,9 @@ class TileAdmin {
144796
144952
  // start dynamically loading default implementation and save the promise to avoid duplicate instances
144797
144953
  this._tileStoragePromise = (async () => {
144798
144954
  await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3").then(__webpack_require__.t.bind(__webpack_require__, /*! reflect-metadata */ "../../common/temp/node_modules/.pnpm/reflect-metadata@0.1.13/node_modules/reflect-metadata/Reflect.js", 23));
144955
+ const objectStorage = await Promise.all(/*! import() | object-storage-azure */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3"), __webpack_require__.e("vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_6_0_node_modules_itwin_obj-0f69b1"), __webpack_require__.e("object-storage-azure")]).then(__webpack_require__.t.bind(__webpack_require__, /*! @itwin/object-storage-azure/lib/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+object-storage-azure@1.6.0/node_modules/@itwin/object-storage-azure/lib/frontend/index.js", 23));
144799
144956
  // eslint-disable-next-line @typescript-eslint/naming-convention
144800
- const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } = await Promise.all(/*! import() | object-storage */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_reflect-metadata_0_1_13_node_modules_reflect-metadata_R-610cb3"), __webpack_require__.e("vendors-common_temp_node_modules_pnpm_itwin_object-storage-azure_1_6_0_node_modules_itwin_obj-0f69b1"), __webpack_require__.e("object-storage")]).then(__webpack_require__.t.bind(__webpack_require__, /*! @itwin/object-storage-azure/lib/frontend */ "../../common/temp/node_modules/.pnpm/@itwin+object-storage-azure@1.6.0/node_modules/@itwin/object-storage-azure/lib/frontend/index.js", 23));
144957
+ const { AzureFrontendStorage, FrontendBlockBlobClientWrapperFactory } = objectStorage.default ?? objectStorage;
144801
144958
  const azureStorage = new AzureFrontendStorage(new FrontendBlockBlobClientWrapperFactory());
144802
144959
  this._tileStorage = new _internal__WEBPACK_IMPORTED_MODULE_6__.TileStorage(azureStorage);
144803
144960
  return this._tileStorage;
@@ -152084,7 +152241,8 @@ class MapTile extends _internal__WEBPACK_IMPORTED_MODULE_7__.RealityTile {
152084
152241
  }
152085
152242
  /** @internal */
152086
152243
  minimumVisibleFactor() {
152087
- return 0.25;
152244
+ // if minimumVisibleFactor is more than 0, it stops parents from loading when children are not ready, to fill in gaps
152245
+ return 0.0;
152088
152246
  }
152089
152247
  /** @internal */
152090
152248
  getDrapeTextures() {
@@ -169368,17 +169526,20 @@ class Geometry {
169368
169526
  if (a2b2 > 0.0) {
169369
169527
  const a2b2r = 1.0 / a2b2; // 1/(a^2+b^2)
169370
169528
  const d2a2b2 = d2 * a2b2r; // d^2/(a^2+b^2)
169371
- const criteria = 1.0 - d2a2b2; // 1 - d^2/(a^2+b^2); the criteria to specify how many solutions we got
169372
- if (criteria < -Geometry.smallMetricDistanceSquared) // nSolution = 0
169529
+ const criterion = 1.0 - d2a2b2; // 1 - d^2/(a^2+b^2);
169530
+ if (criterion < -Geometry.smallMetricDistanceSquared) // nSolution = 0
169373
169531
  return result;
169374
169532
  const da2b2 = -constCoff * a2b2r; // -d/(a^2+b^2)
169533
+ // (c0,s0) is the closest approach of the line to the circle center (origin)
169375
169534
  const c0 = da2b2 * cosCoff; // -ad/(a^2+b^2)
169376
169535
  const s0 = da2b2 * sinCoff; // -bd/(a^2+b^2)
169377
- if (criteria <= 0.0) { // nSolution = 1 (observed criteria = -2.22e-16 in rotated system)
169536
+ if (criterion <= 0.0) { // nSolution = 1
169537
+ // We observed criterion = -2.22e-16 in a rotated tangent system, therefore for negative criteria near
169538
+ // zero, return the near-tangency; for tiny positive criteria, fall through to return both solutions.
169378
169539
  result = [_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0, s0)];
169379
169540
  }
169380
- else if (criteria > 0.0) { // nSolution = 2
169381
- const s = Math.sqrt(criteria * a2b2r); // sqrt(a^2+b^2-d^2)) / (a^2+b^2)
169541
+ else { // nSolution = 2
169542
+ const s = Math.sqrt(criterion * a2b2r); // sqrt(a^2+b^2-d^2)) / (a^2+b^2)
169382
169543
  result = [
169383
169544
  _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 - s * sinCoff, s0 + s * cosCoff),
169384
169545
  _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0 + s * sinCoff, s0 - s * cosCoff),
@@ -184322,12 +184483,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
184322
184483
  extendB, reversed) {
184323
184484
  const inverseA = matrixA.inverse();
184324
184485
  if (inverseA) {
184325
- const localB = inverseA.multiplyMatrixMatrix(matrixB);
184486
+ const localB = inverseA.multiplyMatrixMatrix(matrixB); // localB->localA transform
184326
184487
  const ellipseRadians = [];
184327
184488
  const circleRadians = [];
184328
184489
  _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_6__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(localB.coffs[2], localB.coffs[5], localB.coffs[8], // center xyw
184329
- localB.coffs[0], localB.coffs[3], localB.coffs[6], // center xyw
184330
- localB.coffs[1], localB.coffs[4], localB.coffs[7], // center xyw
184490
+ localB.coffs[0], localB.coffs[3], localB.coffs[6], // vector0 xyw
184491
+ localB.coffs[1], localB.coffs[4], localB.coffs[7], // vector90 xyw
184331
184492
  ellipseRadians, circleRadians);
184332
184493
  for (let i = 0; i < ellipseRadians.length; i++) {
184333
184494
  const fractionA = cpA.sweep.radiansToSignedPeriodicFraction(circleRadians[i]);
@@ -186274,7 +186435,7 @@ function optionalVectorUpdate(source, result) {
186274
186435
  return undefined;
186275
186436
  }
186276
186437
  /**
186277
- * CurveLocationDetail carries point and paramter data about a point evaluated on a curve.
186438
+ * CurveLocationDetail carries point and parameter data about a point evaluated on a curve.
186278
186439
  * * These are returned by a variety of queries.
186279
186440
  * * Particular contents can vary among the queries.
186280
186441
  * @public
@@ -190518,13 +190679,16 @@ __webpack_require__.r(__webpack_exports__);
190518
190679
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
190519
190680
  /* harmony export */ "PlanarSubdivision": () => (/* binding */ PlanarSubdivision)
190520
190681
  /* harmony export */ });
190521
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
190522
- /* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
190523
- /* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
190524
- /* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
190525
- /* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
190526
- /* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
190527
- /* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
190682
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
190683
+ /* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
190684
+ /* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
190685
+ /* harmony import */ var _topology_Merging__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../topology/Merging */ "../../core/geometry/lib/esm/topology/Merging.js");
190686
+ /* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
190687
+ /* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
190688
+ /* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
190689
+ /* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
190690
+ /* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
190691
+ /* harmony import */ var _RegionOps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
190528
190692
  /*---------------------------------------------------------------------------------------------
190529
190693
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
190530
190694
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -190536,13 +190700,16 @@ __webpack_require__.r(__webpack_exports__);
190536
190700
 
190537
190701
 
190538
190702
 
190703
+
190704
+
190705
+
190539
190706
  /** @packageDocumentation
190540
190707
  * @module Curve
190541
190708
  */
190542
190709
  class MapCurvePrimitiveToCurveLocationDetailPairArray {
190543
190710
  constructor() {
190544
190711
  this.primitiveToPair = new Map();
190545
- // index assigned to this primitive for this calculation.
190712
+ // index assigned to this primitive (for debugging)
190546
190713
  this.primitiveToIndex = new Map();
190547
190714
  this._numIndexedPrimitives = 0;
190548
190715
  }
@@ -190574,54 +190741,63 @@ class MapCurvePrimitiveToCurveLocationDetailPairArray {
190574
190741
  if (primitiveB)
190575
190742
  this.insertPrimitiveToPair(primitiveB, pair);
190576
190743
  }
190744
+ /** Split closed missing primitives in half and add new intersection pairs */
190745
+ splitAndAppendMissingClosedPrimitives(primitives, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
190746
+ for (const p of primitives) {
190747
+ let closedCurveSplitCandidate = false;
190748
+ if (p instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_1__.Arc3d)
190749
+ closedCurveSplitCandidate = p.sweep.isFullCircle;
190750
+ else if (!(p instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_2__.LineSegment3d) && !(p instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_3__.LineString3d))
190751
+ closedCurveSplitCandidate = p.startPoint().isAlmostEqualXY(p.endPoint(), tolerance);
190752
+ if (closedCurveSplitCandidate && !this.primitiveToPair.has(p)) {
190753
+ const p0 = p.clonePartialCurve(0.0, 0.5);
190754
+ const p1 = p.clonePartialCurve(0.5, 1.0);
190755
+ if (p0 && p1) {
190756
+ this.insertPair(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p0, 0.0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p1, 1.0)));
190757
+ this.insertPair(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p0, 1.0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(p1, 0.0)));
190758
+ }
190759
+ }
190760
+ }
190761
+ }
190577
190762
  }
190578
- /*
190579
- function getDetailString(detail: CurveLocationDetail | undefined): string {
190580
- if (!detail)
190581
- return "{}";
190582
- else return tagString("primitive", this.primitiveToIndex.get(detail.curve!)) + tagString("f0", detail.fraction) + tagString("f1", detail.fraction1);
190583
- }
190584
- }
190585
- function tagString(name: string, value: number | undefined): string {
190586
- if (value !== undefined)
190587
- return "(" + name + " " + value + ")";
190588
- return "";
190589
- }
190590
- */
190591
190763
  /**
190592
190764
  * @internal
190593
190765
  */
190594
190766
  class PlanarSubdivision {
190595
- /** Create a graph from an array of curves, and an array of the curves' precomputed intersections. */
190596
- static assembleHalfEdgeGraph(primitives, allPairs) {
190767
+ /** Create a graph from an array of curves, and an array of the curves' precomputed intersections. Z-coordinates are ignored. */
190768
+ static assembleHalfEdgeGraph(primitives, allPairs, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
190597
190769
  const detailByPrimitive = new MapCurvePrimitiveToCurveLocationDetailPairArray(); // map from key CurvePrimitive to CurveLocationDetailPair.
190598
- for (const p of primitives)
190599
- detailByPrimitive.assignPrimitiveIndex(p);
190600
- for (const pair of allPairs) {
190770
+ for (const pair of allPairs)
190601
190771
  detailByPrimitive.insertPair(pair);
190602
- }
190603
- const graph = new _topology_Graph__WEBPACK_IMPORTED_MODULE_0__.HalfEdgeGraph();
190772
+ if (primitives.length > detailByPrimitive.primitiveToPair.size)
190773
+ detailByPrimitive.splitAndAppendMissingClosedPrimitives(primitives, mergeTolerance); // otherwise, these single-primitive loops are missing from the graph
190774
+ const graph = new _topology_Graph__WEBPACK_IMPORTED_MODULE_5__.HalfEdgeGraph();
190604
190775
  for (const entry of detailByPrimitive.primitiveToPair.entries()) {
190605
190776
  const p = entry[0];
190606
- const details = entry[1];
190777
+ // convert each interval intersection into two isolated intersections
190778
+ const details = entry[1].reduce((accumulator, detailPair) => {
190779
+ if (!detailPair.detailA.hasFraction1)
190780
+ return [...accumulator, detailPair];
190781
+ const detail = getDetailOnCurve(detailPair, p);
190782
+ const detail0 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction, detail.point);
190783
+ const detail1 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(p, detail.fraction1, detail.point1);
190784
+ return [...accumulator, _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail0, detail0), _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair.createCapture(detail1, detail1)];
190785
+ }, []);
190786
+ // lexical sort on p intersection fraction
190607
190787
  details.sort((pairA, pairB) => {
190608
190788
  const fractionA = getFractionOnCurve(pairA, p);
190609
190789
  const fractionB = getFractionOnCurve(pairB, p);
190610
- if (fractionA === undefined || fractionB === undefined)
190611
- return -1000.0;
190612
190790
  return fractionA - fractionB;
190613
190791
  });
190614
- let detail0 = getDetailOnCurve(details[0], p);
190615
- this.addHalfEdge(graph, p, p.startPoint(), 0.0, detail0.point, detail0.fraction);
190616
- for (let i = 1; i < details.length; i++) {
190617
- // create (both sides of) a graph edge . . .
190618
- const detail1 = getDetailOnCurve(details[i], p);
190619
- this.addHalfEdge(graph, p, detail0.point, detail0.fraction, detail1.point, detail1.fraction);
190620
- detail0 = detail1;
190792
+ let last = { point: p.startPoint(), fraction: 0.0 };
190793
+ for (const detailPair of details) {
190794
+ const detail = getDetailOnCurve(detailPair, p);
190795
+ const detailFraction = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.restrictToInterval(detail.fraction, 0, 1); // truncate fraction, but don't snap point; clustering happens later
190796
+ last = this.addHalfEdge(graph, p, last.point, last.fraction, detail.point, detailFraction, mergeTolerance);
190621
190797
  }
190622
- this.addHalfEdge(graph, p, detail0.point, detail0.fraction, p.endPoint(), 1.0);
190798
+ this.addHalfEdge(graph, p, last.point, last.fraction, p.endPoint(), 1.0, mergeTolerance);
190623
190799
  }
190624
- _topology_Merging__WEBPACK_IMPORTED_MODULE_1__.HalfEdgeGraphMerge.clusterAndMergeXYTheta(graph, (he) => he.sortAngle);
190800
+ _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.clusterAndMergeXYTheta(graph, (he) => he.sortAngle);
190625
190801
  return graph;
190626
190802
  }
190627
190803
  /**
@@ -190633,19 +190809,21 @@ class PlanarSubdivision {
190633
190809
  * @param point0 start point
190634
190810
  * @param fraction1 end fraction
190635
190811
  * @param point1 end point
190636
- */
190637
- static addHalfEdge(graph, p, point0, fraction0, point1, fraction1) {
190638
- if (!point0.isAlmostEqual(point1)) {
190639
- const halfEdge = graph.createEdgeXYAndZ(point0, 0, point1, 0);
190640
- const detail01 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetail.createCurveEvaluatedFractionFraction(p, fraction0, fraction1);
190641
- const mate = halfEdge.edgeMate;
190642
- halfEdge.edgeTag = detail01;
190643
- halfEdge.sortData = 1.0;
190644
- mate.edgeTag = detail01;
190645
- mate.sortData = -1.0;
190646
- halfEdge.sortAngle = sortAngle(detail01.curve, detail01.fraction, false);
190647
- mate.sortAngle = sortAngle(detail01.curve, detail01.fraction1, true);
190648
- }
190812
+ * @returns end point and fraction, or start point and fraction if no action
190813
+ */
190814
+ static addHalfEdge(graph, p, point0, fraction0, point1, fraction1, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
190815
+ if (point0.isAlmostEqualXY(point1, mergeTolerance))
190816
+ return { point: point0, fraction: fraction0 };
190817
+ const halfEdge = graph.createEdgeXYAndZ(point0, 0, point1, 0);
190818
+ const detail01 = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFractionFraction(p, fraction0, fraction1);
190819
+ const mate = halfEdge.edgeMate;
190820
+ halfEdge.edgeTag = detail01;
190821
+ halfEdge.sortData = 1.0;
190822
+ mate.edgeTag = detail01;
190823
+ mate.sortData = -1.0;
190824
+ halfEdge.sortAngle = sortAngle(p, fraction0, false);
190825
+ mate.sortAngle = sortAngle(p, fraction1, true);
190826
+ return { point: point1, fraction: fraction1 };
190649
190827
  }
190650
190828
  /**
190651
190829
  * Based on computed (and toleranced) area, push the loop (pointer) onto the appropriate array of positive, negative, or sliver loops.
@@ -190654,7 +190832,7 @@ class PlanarSubdivision {
190654
190832
  * @returns the area (forced to zero if within tolerance)
190655
190833
  */
190656
190834
  static collectSignedLoop(loop, outLoops, zeroAreaTolerance = 1.0e-10, isSliverFace) {
190657
- let area = isSliverFace ? 0.0 : _RegionOps__WEBPACK_IMPORTED_MODULE_3__.RegionOps.computeXYArea(loop);
190835
+ let area = isSliverFace ? 0.0 : _RegionOps__WEBPACK_IMPORTED_MODULE_7__.RegionOps.computeXYArea(loop);
190658
190836
  if (area === undefined)
190659
190837
  area = 0;
190660
190838
  if (Math.abs(area) < zeroAreaTolerance)
@@ -190670,7 +190848,7 @@ class PlanarSubdivision {
190670
190848
  }
190671
190849
  static createLoopInFace(faceSeed, announce) {
190672
190850
  let he = faceSeed;
190673
- const loop = _Loop__WEBPACK_IMPORTED_MODULE_4__.Loop.create();
190851
+ const loop = _Loop__WEBPACK_IMPORTED_MODULE_8__.Loop.create();
190674
190852
  do {
190675
190853
  const detail = he.edgeTag;
190676
190854
  if (detail) {
@@ -190694,9 +190872,9 @@ class PlanarSubdivision {
190694
190872
  const faceHasTwoEdges = (he.faceSuccessor.faceSuccessor === he);
190695
190873
  let faceIsBanana = false;
190696
190874
  if (faceHasTwoEdges) {
190697
- const c0 = _topology_Merging__WEBPACK_IMPORTED_MODULE_1__.HalfEdgeGraphMerge.curvatureSortKey(he);
190698
- const c1 = _topology_Merging__WEBPACK_IMPORTED_MODULE_1__.HalfEdgeGraphMerge.curvatureSortKey(he.faceSuccessor.edgeMate);
190699
- if (!_Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.isSameCoordinate(c0, c1)) // default tol!
190875
+ const c0 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he);
190876
+ const c1 = _topology_Merging__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphMerge.curvatureSortKey(he.faceSuccessor.edgeMate);
190877
+ if (!_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSameCoordinate(c0, c1)) // default tol!
190700
190878
  faceIsBanana = true; // heuristic: we could also check end curvatures, and/or higher derivatives...
190701
190879
  }
190702
190880
  return faceHasTwoEdges && !faceIsBanana;
@@ -190714,7 +190892,7 @@ class PlanarSubdivision {
190714
190892
  return e1;
190715
190893
  }
190716
190894
  static collectSignedLoopSetsInHalfEdgeGraph(graph, zeroAreaTolerance = 1.0e-10) {
190717
- const q = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_6__.HalfEdgeGraphSearch.collectConnectedComponentsWithExteriorParityMasks(graph, undefined);
190895
+ const q = _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_9__.HalfEdgeGraphSearch.collectConnectedComponentsWithExteriorParityMasks(graph, undefined);
190718
190896
  const result = [];
190719
190897
  const edgeMap = new Map();
190720
190898
  for (const faceSeeds of q) {
@@ -190729,10 +190907,10 @@ class PlanarSubdivision {
190729
190907
  const e = edgeMap.get(mate);
190730
190908
  if (e === undefined) {
190731
190909
  // Record this as loopA,edgeA of a shared edge to be completed later from the other side of the edge
190732
- const e1 = new _Loop__WEBPACK_IMPORTED_MODULE_4__.LoopCurveLoopCurve(loopC, curveC, undefined, undefined);
190910
+ const e1 = new _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve(loopC, curveC, undefined, undefined);
190733
190911
  edgeMap.set(he, e1);
190734
190912
  }
190735
- else if (e instanceof _Loop__WEBPACK_IMPORTED_MODULE_4__.LoopCurveLoopCurve) {
190913
+ else if (e instanceof _Loop__WEBPACK_IMPORTED_MODULE_8__.LoopCurveLoopCurve) {
190736
190914
  e.setB(loopC, curveC);
190737
190915
  edges.push(e);
190738
190916
  edgeMap.delete(mate);
@@ -191580,27 +191758,27 @@ __webpack_require__.r(__webpack_exports__);
191580
191758
  /* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
191581
191759
  /* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
191582
191760
  /* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
191761
+ /* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
191583
191762
  /* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
191584
191763
  /* harmony import */ var _ChainCollectorContext__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ChainCollectorContext */ "../../core/geometry/lib/esm/curve/ChainCollectorContext.js");
191585
191764
  /* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
191586
191765
  /* harmony import */ var _CurveCurve__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
191587
191766
  /* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
191588
191767
  /* harmony import */ var _CurveWireMomentsXYZ__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CurveWireMomentsXYZ */ "../../core/geometry/lib/esm/curve/CurveWireMomentsXYZ.js");
191768
+ /* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
191769
+ /* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
191589
191770
  /* harmony import */ var _internalContexts_PolygonOffsetContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./internalContexts/PolygonOffsetContext */ "../../core/geometry/lib/esm/curve/internalContexts/PolygonOffsetContext.js");
191590
191771
  /* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
191591
191772
  /* harmony import */ var _Loop__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
191773
+ /* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
191592
191774
  /* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
191593
191775
  /* harmony import */ var _Query_ConsolidateAdjacentPrimitivesContext__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Query/ConsolidateAdjacentPrimitivesContext */ "../../core/geometry/lib/esm/curve/Query/ConsolidateAdjacentPrimitivesContext.js");
191594
191776
  /* harmony import */ var _Query_CurveSplitContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Query/CurveSplitContext */ "../../core/geometry/lib/esm/curve/Query/CurveSplitContext.js");
191595
191777
  /* harmony import */ var _Query_InOutTests__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Query/InOutTests */ "../../core/geometry/lib/esm/curve/Query/InOutTests.js");
191596
191778
  /* harmony import */ var _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Query/PlanarSubdivision */ "../../core/geometry/lib/esm/curve/Query/PlanarSubdivision.js");
191597
191779
  /* harmony import */ var _RegionMomentsXY__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
191598
- /* harmony import */ var _internalContexts_MultiChainCollector__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./internalContexts/MultiChainCollector */ "../../core/geometry/lib/esm/curve/internalContexts/MultiChainCollector.js");
191599
- /* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
191600
191780
  /* harmony import */ var _RegionOpsClassificationSweeps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RegionOpsClassificationSweeps */ "../../core/geometry/lib/esm/curve/RegionOpsClassificationSweeps.js");
191601
191781
  /* harmony import */ var _UnionRegion__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
191602
- /* harmony import */ var _topology_HalfEdgeGraphSearch__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../topology/HalfEdgeGraphSearch */ "../../core/geometry/lib/esm/topology/HalfEdgeGraphSearch.js");
191603
- /* harmony import */ var _ParityRegion__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
191604
191782
  /*---------------------------------------------------------------------------------------------
191605
191783
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
191606
191784
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -191839,7 +192017,7 @@ class RegionOps {
191839
192017
  * @param loopsB second set of loops
191840
192018
  * @param operation indicates Union, Intersection, Parity, AMinusB, or BMinusA
191841
192019
  * @param mergeTolerance absolute distance tolerance for merging loops
191842
- * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges connecting interior loops to exterior loops.
192020
+ * @returns a region resulting from merging input loops and the boolean operation. May contain bridge edges added to connect interior loops to exterior loops.
191843
192021
  */
191844
192022
  static regionBooleanXY(loopsA, loopsB, operation, mergeTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
191845
192023
  const result = _UnionRegion__WEBPACK_IMPORTED_MODULE_11__.UnionRegion.create();
@@ -191847,7 +192025,7 @@ class RegionOps {
191847
192025
  context.addMembers(loopsA, loopsB);
191848
192026
  context.annotateAndMergeCurvesInGraph(mergeTolerance);
191849
192027
  const range = context.groupA.range().union(context.groupB.range());
191850
- const areaTol = this.computeXYAreaTolerance(range);
192028
+ const areaTol = this.computeXYAreaTolerance(range, mergeTolerance);
191851
192029
  context.runClassificationSweep(operation, (_graph, face, faceType, area) => {
191852
192030
  // ignore danglers and null faces, but not 2-edge "banana" faces with nonzero area
191853
192031
  if (face.countEdgesAroundFace() < 2)
@@ -192165,23 +192343,24 @@ class RegionOps {
192165
192343
  }
192166
192344
  /**
192167
192345
  * Find all areas bounded by the unstructured, possibly intersecting curves.
192168
- * * This method performs no merging of nearly coincident edges and vertices, which can lead to unexpected results
192169
- * given sufficiently imprecise input. Input geometry consisting of regions can be merged for better results by pre-processing with
192170
- * [[regionBooleanXY]].
192346
+ * * A common use case of this method is to assemble the bounding "exterior" loop (or loops) containing the input curves.
192347
+ * * This method does not add bridge edges to connect outer loops to inner loops. Each disconnected loop, regardless
192348
+ * of its containment, is returned as its own SignedLoops object. Pre-process with [[regionBooleanXY]] to add bridge edges so that
192349
+ * [[constructAllXYRegionLoops]] will return outer and inner loops in the same SignedLoops object.
192171
192350
  * @param curvesAndRegions Any collection of curves. Each Loop/ParityRegion/UnionRegion contributes its curve primitives.
192351
+ * @param tolerance optional distance tolerance for coincidence
192172
192352
  * @returns array of [[SignedLoops]], each entry of which describes the faces in a single connected component:
192173
192353
  * * `positiveAreaLoops` contains "interior" loops, _including holes in ParityRegion input_. These loops have positive area and counterclockwise orientation.
192174
192354
  * * `negativeAreaLoops` contains (probably just one) "exterior" loop which is ordered clockwise.
192175
192355
  * * `slivers` contains sliver loops that have zero area, such as appear between coincident curves.
192176
192356
  * * `edges` contains a [[LoopCurveLoopCurve]] object for each component edge, collecting both loops adjacent to the edge and a constituent curve in each.
192177
192357
  */
192178
- static constructAllXYRegionLoops(curvesAndRegions) {
192179
- const primitivesA = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true);
192180
- const primitivesB = this.expandLineStrings(primitivesA);
192181
- const range = this.curveArrayRange(primitivesB);
192182
- const areaTol = this.computeXYAreaTolerance(range);
192183
- const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitivesB);
192184
- const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitivesB, intersections);
192358
+ static constructAllXYRegionLoops(curvesAndRegions, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
192359
+ const primitives = RegionOps.collectCurvePrimitives(curvesAndRegions, undefined, true, true);
192360
+ const range = this.curveArrayRange(primitives);
192361
+ const areaTol = this.computeXYAreaTolerance(range, tolerance);
192362
+ const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_30__.CurveCurve.allIntersectionsAmongPrimitivesXY(primitives, tolerance);
192363
+ const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.assembleHalfEdgeGraph(primitives, intersections, tolerance);
192185
192364
  return _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_12__.PlanarSubdivision.collectSignedLoopSetsInHalfEdgeGraph(graph, areaTol);
192186
192365
  }
192187
192366
  /**
@@ -192797,7 +192976,7 @@ class RegionBooleanContext {
192797
192976
  }
192798
192977
  // const range = RegionOps.curveArrayRange(allPrimitives);
192799
192978
  const intersections = _CurveCurve__WEBPACK_IMPORTED_MODULE_15__.CurveCurve.allIntersectionsAmongPrimitivesXY(allPrimitives, mergeTolerance);
192800
- const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections);
192979
+ const graph = _Query_PlanarSubdivision__WEBPACK_IMPORTED_MODULE_16__.PlanarSubdivision.assembleHalfEdgeGraph(allPrimitives, intersections, mergeTolerance);
192801
192980
  this.graph = graph;
192802
192981
  this.faceAreaFunction = faceAreaFromCurvedEdgeData;
192803
192982
  }
@@ -199896,15 +200075,20 @@ __webpack_require__.r(__webpack_exports__);
199896
200075
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
199897
200076
  /* harmony export */ "CoincidentGeometryQuery": () => (/* binding */ CoincidentGeometryQuery)
199898
200077
  /* harmony export */ });
199899
- /* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
199900
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
199901
- /* harmony import */ var _AngleSweep__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
199902
- /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
199903
- /* harmony import */ var _Segment1d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
200078
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
200079
+ /* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
200080
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
200081
+ /* harmony import */ var _AngleSweep__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
200082
+ /* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
200083
+ /* harmony import */ var _Segment1d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Segment1d */ "../../core/geometry/lib/esm/geometry3d/Segment1d.js");
199904
200084
  /*---------------------------------------------------------------------------------------------
199905
200085
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
199906
200086
  * See LICENSE.md in the project root for license terms and full copyright notice.
199907
200087
  *--------------------------------------------------------------------------------------------*/
200088
+ /** @packageDocumentation
200089
+ * @module CartesianGeometry
200090
+ */
200091
+
199908
200092
 
199909
200093
 
199910
200094
 
@@ -199920,10 +200104,10 @@ class CoincidentGeometryQuery {
199920
200104
  get tolerance() {
199921
200105
  return this._tolerance;
199922
200106
  }
199923
- constructor(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
200107
+ constructor(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
199924
200108
  this._tolerance = tolerance;
199925
200109
  }
199926
- static create(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallMetricDistance) {
200110
+ static create(tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
199927
200111
  return new CoincidentGeometryQuery(tolerance);
199928
200112
  }
199929
200113
  /**
@@ -199946,12 +200130,12 @@ class CoincidentGeometryQuery {
199946
200130
  *
199947
200131
  */
199948
200132
  projectPointToSegmentXY(spacePoint, pointA, pointB) {
199949
- this._vectorU = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(pointA, pointB, this._vectorU);
199950
- this._vectorV = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);
200133
+ this._vectorU = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, pointB, this._vectorU);
200134
+ this._vectorV = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createStartEnd(pointA, spacePoint, this._vectorV);
199951
200135
  const uDotU = this._vectorU.dotProductXY(this._vectorU);
199952
200136
  const uDotV = this._vectorU.dotProductXY(this._vectorV);
199953
- const fraction = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.safeDivideFraction(uDotV, uDotU, 0.0);
199954
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetail.createCurveFractionPoint(undefined, fraction, pointA.interpolate(fraction, pointB));
200137
+ const fraction = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.safeDivideFraction(uDotV, uDotU, 0.0);
200138
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(undefined, fraction, pointA.interpolate(fraction, pointB));
199955
200139
  }
199956
200140
  /**
199957
200141
  * * project `pointA0` and `pointA1` onto the segment with `pointB0` and `pointB1`
@@ -199962,84 +200146,82 @@ class CoincidentGeometryQuery {
199962
200146
  * @param pointB1 end point of segment B
199963
200147
  */
199964
200148
  coincidentSegmentRangeXY(pointA0, pointA1, pointB0, pointB1, restrictToBounds = true) {
199965
- const detailAOnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);
199966
- if (pointA0.distanceXY(detailAOnB.point) > this._tolerance)
200149
+ const detailA0OnB = this.projectPointToSegmentXY(pointA0, pointB0, pointB1);
200150
+ if (pointA0.distanceXY(detailA0OnB.point) > this._tolerance)
199967
200151
  return undefined;
199968
200152
  const detailA1OnB = this.projectPointToSegmentXY(pointA1, pointB0, pointB1);
199969
200153
  if (pointA1.distanceXY(detailA1OnB.point) > this._tolerance)
199970
200154
  return undefined;
199971
- const detailBOnA = this.projectPointToSegmentXY(pointB0, pointA0, pointA1);
199972
- if (pointB0.distanceXY(detailBOnA.point) > this._tolerance)
200155
+ const detailB0OnA = this.projectPointToSegmentXY(pointB0, pointA0, pointA1);
200156
+ if (pointB0.distanceXY(detailB0OnA.point) > this._tolerance)
199973
200157
  return undefined;
199974
200158
  const detailB1OnA = this.projectPointToSegmentXY(pointB1, pointA0, pointA1);
199975
200159
  if (pointB1.distanceXY(detailB1OnA.point) > this._tolerance)
199976
200160
  return undefined;
199977
- detailAOnB.fraction1 = detailA1OnB.fraction;
199978
- detailAOnB.point1 = detailA1OnB.point; // capture -- detailB0OnA is not reused.
199979
- detailBOnA.fraction1 = detailB1OnA.fraction;
199980
- detailBOnA.point1 = detailB1OnA.point;
200161
+ detailA0OnB.fraction1 = detailA1OnB.fraction;
200162
+ detailA0OnB.point1 = detailA1OnB.point; // capture -- detailA1OnB is not reused.
200163
+ detailB0OnA.fraction1 = detailB1OnA.fraction;
200164
+ detailB0OnA.point1 = detailB1OnA.point;
199981
200165
  if (!restrictToBounds)
199982
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
199983
- const segment = _Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(detailBOnA.fraction, detailBOnA.fraction1);
200166
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
200167
+ const segment = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(detailB0OnA.fraction, detailB0OnA.fraction1);
199984
200168
  if (segment.clampDirectedTo01()) {
199985
- segment.reverseIfNeededForDeltaSign(1.0);
199986
200169
  const f0 = segment.x0;
199987
200170
  const f1 = segment.x1;
199988
- const h0 = detailBOnA.inverseInterpolateFraction(f0);
199989
- const h1 = detailBOnA.inverseInterpolateFraction(f1);
200171
+ const h0 = detailB0OnA.inverseInterpolateFraction(f0);
200172
+ const h1 = detailB0OnA.inverseInterpolateFraction(f1);
199990
200173
  // recompute fractions and points..
199991
- CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailBOnA, f0, f1, pointA0, pointA1);
199992
- CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailAOnB, h0, h1, pointB0, pointB1);
199993
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
200174
+ CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailB0OnA, f0, f1, pointA0, pointA1, f0 > f1);
200175
+ CoincidentGeometryQuery.assignDetailInterpolatedFractionsAndPoints(detailA0OnB, h0, h1, pointB0, pointB1, h0 > h1);
200176
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
199994
200177
  }
199995
200178
  else {
199996
200179
  if (segment.signedDelta() < 0.0) {
199997
- if (detailBOnA.point.isAlmostEqual(pointA0)) {
199998
- detailBOnA.collapseToStart();
199999
- detailAOnB.collapseToStart();
200000
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
200180
+ if (detailB0OnA.point.isAlmostEqual(pointA0, this.tolerance)) {
200181
+ detailB0OnA.collapseToStart();
200182
+ detailA0OnB.collapseToStart();
200183
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
200001
200184
  }
200002
- if (detailBOnA.point1.isAlmostEqual(pointA1)) {
200003
- detailBOnA.collapseToEnd();
200004
- detailAOnB.collapseToEnd();
200005
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
200185
+ if (detailB0OnA.point1.isAlmostEqual(pointA1, this.tolerance)) {
200186
+ detailB0OnA.collapseToEnd();
200187
+ detailA0OnB.collapseToEnd();
200188
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
200006
200189
  }
200007
200190
  }
200008
200191
  else {
200009
- if (detailBOnA.point.isAlmostEqual(pointA1)) {
200010
- detailBOnA.collapseToStart();
200011
- detailAOnB.collapseToEnd();
200012
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
200192
+ if (detailB0OnA.point.isAlmostEqual(pointA1, this.tolerance)) {
200193
+ detailB0OnA.collapseToStart();
200194
+ detailA0OnB.collapseToEnd();
200195
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
200013
200196
  }
200014
- if (detailBOnA.point1.isAlmostEqual(pointA0)) {
200015
- detailBOnA.collapseToEnd();
200016
- detailAOnB.collapseToStart();
200017
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailBOnA, detailAOnB);
200197
+ if (detailB0OnA.point1.isAlmostEqual(pointA0, this.tolerance)) {
200198
+ detailB0OnA.collapseToEnd();
200199
+ detailA0OnB.collapseToStart();
200200
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailB0OnA, detailA0OnB);
200018
200201
  }
200019
200202
  }
200020
200203
  }
200021
200204
  return undefined;
200022
200205
  }
200023
200206
  /**
200024
- * Create a CurveLocationDetailPair from . . .
200207
+ * Create a CurveLocationDetailPair for a coincident interval of two overlapping curves
200025
200208
  * @param cpA curveA
200026
- * @param cpB curve B
200027
- * @param fractionsOnA fractions of an active section of curveA
200028
- * @param fractionB0 fraction of an original containing B interval
200029
- * @param fractionB1 end fraction of an original containing B interval
200209
+ * @param cpB curveB
200210
+ * @param fractionsOnA coincident interval of curveB in fraction space of curveA
200211
+ * @param fractionB0 curveB start in fraction space of curveA
200212
+ * @param fractionB1 curveB end in fraction space of curveA
200213
+ * @param reverse whether curveB and curveA have opposite direction
200030
200214
  */
200031
200215
  createDetailPair(cpA, cpB, fractionsOnA, fractionB0, fractionB1, reverse) {
200032
200216
  const deltaB = fractionB1 - fractionB0;
200033
- const g0 = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.conditionalDivideFraction(fractionsOnA.x0 - fractionB0, deltaB);
200034
- const g1 = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.conditionalDivideFraction(fractionsOnA.x1 - fractionB0, deltaB);
200217
+ const g0 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x0 - fractionB0, deltaB);
200218
+ const g1 = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.conditionalDivideFraction(fractionsOnA.x1 - fractionB0, deltaB);
200035
200219
  if (g0 !== undefined && g1 !== undefined) {
200036
- const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpA, fractionsOnA.x0, fractionsOnA.x1);
200037
- const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpB, g0, g1);
200038
- if (reverse) {
200220
+ const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpA, fractionsOnA.x0, fractionsOnA.x1);
200221
+ const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveEvaluatedFractionFraction(cpB, g0, g1);
200222
+ if (reverse)
200039
200223
  detailA.swapFractionsAndPoints();
200040
- detailB.swapFractionsAndPoints();
200041
- }
200042
- return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_2__.CurveLocationDetailPair.createCapture(detailA, detailB);
200224
+ return _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB);
200043
200225
  }
200044
200226
  return undefined;
200045
200227
  }
@@ -200056,43 +200238,67 @@ class CoincidentGeometryQuery {
200056
200238
  * @param arcA
200057
200239
  * @param arcB
200058
200240
  * @param _restrictToBounds
200059
- * @return 0, 1, or 2 overlap intervals.
200241
+ * @return 0, 1, or 2 overlap points/intervals
200060
200242
  */
200061
200243
  coincidentArcIntersectionXY(arcA, arcB, _restrictToBounds = true) {
200062
200244
  let result;
200063
- if (arcA.center.isAlmostEqual(arcB.center)) {
200245
+ if (arcA.center.isAlmostEqual(arcB.center, this.tolerance)) {
200064
200246
  const matrixBToA = arcA.matrixRef.multiplyMatrixInverseMatrix(arcB.matrixRef);
200065
200247
  if (matrixBToA) {
200066
200248
  const ux = matrixBToA.at(0, 0);
200067
200249
  const uy = matrixBToA.at(1, 0);
200068
200250
  const vx = matrixBToA.at(0, 1);
200069
200251
  const vy = matrixBToA.at(1, 1);
200070
- const ru = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXY(ux, uy);
200071
- const rv = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXY(vx, vy);
200072
- const dot = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.dotProductXYXY(ux, uy, vx, vy);
200073
- const cross = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.crossProductXYXY(ux, uy, vx, vy);
200074
- if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(ru, 1.0)
200075
- && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(rv, 1.0)
200076
- && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(0, dot)) {
200077
- const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in A sweep
200078
- const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB's parameter space sweeps forward, -1 if reverse
200079
- const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians;
200080
- const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians;
200252
+ const ru = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(ux, uy);
200253
+ const rv = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXY(vx, vy);
200254
+ const dot = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.dotProductXYXY(ux, uy, vx, vy);
200255
+ const cross = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.crossProductXYXY(ux, uy, vx, vy);
200256
+ if (_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(ru, 1.0)
200257
+ && _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(rv, 1.0)
200258
+ && _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isAlmostEqualNumber(0, dot)) {
200259
+ const alphaB0Radians = Math.atan2(uy, ux); // angular position of arcB 0 point in arcA sweep
200260
+ const sweepDirection = cross > 0 ? 1.0 : -1.0; // 1 if arcB parameter space sweeps in same direction as arcA, -1 if opposite
200261
+ const betaStartRadians = alphaB0Radians + sweepDirection * arcB.sweep.startRadians; // arcB start in arcA parameter space
200262
+ const betaEndRadians = alphaB0Radians + sweepDirection * arcB.sweep.endRadians; // arcB end in arcA parameter space
200081
200263
  const fractionSpacesReversed = (sweepDirection * arcA.sweep.sweepRadians * arcB.sweep.sweepRadians) < 0;
200082
- const sweepB = _AngleSweep__WEBPACK_IMPORTED_MODULE_4__.AngleSweep.createStartEndRadians(betaStartRadians, betaEndRadians);
200264
+ const sweepB = _AngleSweep__WEBPACK_IMPORTED_MODULE_5__.AngleSweep.createStartEndRadians(betaStartRadians, betaEndRadians);
200083
200265
  const sweepA = arcA.sweep;
200084
200266
  const fractionPeriodA = sweepA.fractionPeriod();
200085
- const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians);
200086
- const fractionSweep = sweepB.sweepRadians / sweepA.sweepRadians;
200087
- const fractionB1 = fractionB0 + fractionSweep;
200088
- const fractionSweepB = _Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(fractionB0, fractionB1);
200089
- if (fractionSweepB.clampDirectedTo01())
200090
- result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, fractionSweepB, fractionB0, fractionB1, fractionSpacesReversed));
200091
- if (fractionB1 > fractionPeriodA) {
200092
- const fractionSweepBWrap = _Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(fractionB0 - fractionPeriodA, fractionB1 - fractionPeriodA);
200093
- if (fractionSweepBWrap.clampDirectedTo01())
200094
- result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, fractionSweepBWrap, fractionB0, fractionB1, fractionSpacesReversed));
200095
- }
200267
+ const fractionB0 = sweepA.radiansToPositivePeriodicFraction(sweepB.startRadians); // arcB start in arcA fraction space
200268
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(fractionB0 >= 0.0);
200269
+ const fractionSweep = sweepB.sweepRadians / sweepA.sweepRadians; // arcB sweep in arcA fraction space
200270
+ const fractionB1 = fractionB0 + fractionSweep; // arcB end in arcA fraction space
200271
+ const fractionSweepB = _Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0, fractionB1);
200272
+ /** lambda to add a coincident interval or isolated intersection, given inputs in arcA fraction space
200273
+ * @param arcBInArcAFractionSpace span of arcB in arcA fraction space. On return, clamped to [0,1] if nontrivial.
200274
+ * @param testStartOfArcA if no nontrivial coincident interval was found, look for an isolated intersection at the start (true) or end (false) of arcA
200275
+ * @returns whether a detail pair was appended to result
200276
+ */
200277
+ const appendCoincidentIntersection = (arcBInArcAFractionSpace, testStartOfArcA) => {
200278
+ const size = result ? result.length : 0;
200279
+ const arcBStart = arcBInArcAFractionSpace.x0;
200280
+ const arcBEnd = arcBInArcAFractionSpace.x1;
200281
+ if (arcBInArcAFractionSpace.clampDirectedTo01() && !_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.isSmallRelative(arcBInArcAFractionSpace.absoluteDelta())) {
200282
+ result = this.appendDetailPair(result, this.createDetailPair(arcA, arcB, arcBInArcAFractionSpace, arcBStart, arcBEnd, fractionSpacesReversed));
200283
+ }
200284
+ else { // test isolated intersection
200285
+ const testStartOfArcB = fractionSpacesReversed ? testStartOfArcA : !testStartOfArcA;
200286
+ const arcAPt = this._point0 = testStartOfArcA ? arcA.startPoint(this._point0) : arcA.endPoint(this._point0);
200287
+ const arcBPt = this._point1 = testStartOfArcB ? arcB.startPoint(this._point1) : arcB.endPoint(this._point1);
200288
+ if (arcAPt.isAlmostEqual(arcBPt, this.tolerance)) {
200289
+ const detailA = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcA, testStartOfArcA ? 0 : 1, arcAPt);
200290
+ const detailB = _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetail.createCurveFractionPoint(arcB, testStartOfArcB ? 0 : 1, arcBPt);
200291
+ result = this.appendDetailPair(result, _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_3__.CurveLocationDetailPair.createCapture(detailA, detailB));
200292
+ }
200293
+ }
200294
+ return result !== undefined && result.length > size;
200295
+ };
200296
+ appendCoincidentIntersection(fractionSweepB, false); // compute overlap in strict interior, or at end of arcA
200297
+ // check overlap at start of arcA with a periodic shift of fractionSweepB
200298
+ if (fractionB1 >= fractionPeriodA)
200299
+ appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 - fractionPeriodA, fractionB1 - fractionPeriodA), true);
200300
+ else if (fractionB0 === 0.0)
200301
+ appendCoincidentIntersection(_Segment1d__WEBPACK_IMPORTED_MODULE_4__.Segment1d.create(fractionB0 + fractionPeriodA, fractionB1 + fractionPeriodA), true);
200096
200302
  }
200097
200303
  }
200098
200304
  }
@@ -206978,7 +207184,7 @@ class Matrix3d {
206978
207184
  * almost independent and matrix is invertible).
206979
207185
  */
206980
207186
  conditionNumber() {
206981
- const determinant = this.determinant();
207187
+ const determinant = Math.abs(this.determinant());
206982
207188
  const columnMagnitudeSum = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[0], this.coffs[3], this.coffs[6])
206983
207189
  + _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[1], this.coffs[4], this.coffs[7])
206984
207190
  + _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.hypotenuseXYZ(this.coffs[2], this.coffs[5], this.coffs[8]);
@@ -251940,6 +252146,7 @@ class HalfEdgeGraphOps {
251940
252146
  }
251941
252147
  }
251942
252148
  /**
252149
+ * Note: this class uses hardcoded micrometer coordinate/cluster tolerance throughout.
251943
252150
  * @internal
251944
252151
  */
251945
252152
  class HalfEdgeGraphMerge {
@@ -274591,7 +274798,7 @@ class TestContext {
274591
274798
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
274592
274799
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
274593
274800
  await core_frontend_1.NoRenderApp.startup({
274594
- applicationVersion: "4.0.0-dev.99",
274801
+ applicationVersion: "4.1.0-dev.2",
274595
274802
  applicationId: this.settings.gprid,
274596
274803
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
274597
274804
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -276830,7 +277037,6 @@ class RulesetsFactory {
276830
277037
  specifications: [{
276831
277038
  specType: _rules_content_ContentSpecification__WEBPACK_IMPORTED_MODULE_4__.ContentSpecificationTypes.ContentInstancesOfSpecificClasses,
276832
277039
  classes: createMultiClassSpecification(record.classInfo),
276833
- handleInstancesPolymorphically: true,
276834
277040
  relatedInstances: relatedInstanceInfo ? [relatedInstanceInfo.spec] : [],
276835
277041
  instanceFilter: createInstanceFilter(relatedInstanceInfo?.spec, field.type, propertyName, propertyValue.raw),
276836
277042
  }],
@@ -276957,7 +277163,7 @@ const createComparison = (type, name, operator, value) => {
276957
277163
  };
276958
277164
  const createMultiClassSpecification = (classInfo) => {
276959
277165
  const [schemaName, className] = classInfo.name.split(":");
276960
- return { schemaName, classNames: [className] };
277166
+ return { schemaName, classNames: [className], arePolymorphic: true };
276961
277167
  };
276962
277168
  const createSingleClassSpecification = (classInfo) => {
276963
277169
  const [schemaName, className] = classInfo.name.split(":");
@@ -283662,143 +283868,107 @@ exports.executeBackendCallback = executeBackendCallback;
283662
283868
  "use strict";
283663
283869
  __webpack_require__.r(__webpack_exports__);
283664
283870
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283665
- /* harmony export */ "AbstractStatusBarItemUtilities": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.AbstractStatusBarItemUtilities),
283666
- /* harmony export */ "AbstractZoneLocation": () => (/* reexport safe */ _appui_abstract_widget_StagePanel__WEBPACK_IMPORTED_MODULE_47__.AbstractZoneLocation),
283667
- /* harmony export */ "AlternateDateFormats": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.AlternateDateFormats),
283668
- /* harmony export */ "BackstageItemType": () => (/* reexport safe */ _appui_abstract_backstage_BackstageItem__WEBPACK_IMPORTED_MODULE_4__.BackstageItemType),
283669
- /* harmony export */ "BackstageItemUtilities": () => (/* reexport safe */ _appui_abstract_backstage_BackstageItem__WEBPACK_IMPORTED_MODULE_4__.BackstageItemUtilities),
283670
- /* harmony export */ "BackstageItemsManager": () => (/* reexport safe */ _appui_abstract_backstage_BackstageItemsManager__WEBPACK_IMPORTED_MODULE_5__.BackstageItemsManager),
283671
- /* harmony export */ "BadgeType": () => (/* reexport safe */ _appui_abstract_items_BadgeType__WEBPACK_IMPORTED_MODULE_15__.BadgeType),
283672
- /* harmony export */ "BaseQuantityDescription": () => (/* reexport safe */ _appui_abstract_quantity_BaseQuantityDescription__WEBPACK_IMPORTED_MODULE_30__.BaseQuantityDescription),
283673
- /* harmony export */ "BaseUiItemsProvider": () => (/* reexport safe */ _appui_abstract_BaseUiItemsProvider__WEBPACK_IMPORTED_MODULE_0__.BaseUiItemsProvider),
283674
- /* harmony export */ "ConditionalBooleanValue": () => (/* reexport safe */ _appui_abstract_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_16__.ConditionalBooleanValue),
283675
- /* harmony export */ "ConditionalStringValue": () => (/* reexport safe */ _appui_abstract_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_17__.ConditionalStringValue),
283676
- /* harmony export */ "DialogButtonStyle": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_10__.DialogButtonStyle),
283677
- /* harmony export */ "DialogButtonType": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_10__.DialogButtonType),
283678
- /* harmony export */ "DialogLayoutDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_10__.DialogLayoutDataProvider),
283679
- /* harmony export */ "DialogProperty": () => (/* reexport safe */ _appui_abstract_dialogs_DialogItem__WEBPACK_IMPORTED_MODULE_9__.DialogProperty),
283680
- /* harmony export */ "DisplayMessageType": () => (/* reexport safe */ _appui_abstract_notification_MessagePresenter__WEBPACK_IMPORTED_MODULE_21__.DisplayMessageType),
283681
- /* harmony export */ "FunctionKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_6__.FunctionKey),
283682
- /* harmony export */ "FuzzyScore": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.FuzzyScore),
283683
- /* harmony export */ "GenericUiEvent": () => (/* reexport safe */ _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_1__.GenericUiEvent),
283684
- /* harmony export */ "IconSpecUtilities": () => (/* reexport safe */ _appui_abstract_utils_IconSpecUtilities__WEBPACK_IMPORTED_MODULE_38__.IconSpecUtilities),
283685
- /* harmony export */ "MessageSeverity": () => (/* reexport safe */ _appui_abstract_notification_MessageSeverity__WEBPACK_IMPORTED_MODULE_22__.MessageSeverity),
283686
- /* harmony export */ "PropertyChangeStatus": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_11__.PropertyChangeStatus),
283687
- /* harmony export */ "PropertyDescriptionHelper": () => (/* reexport safe */ _appui_abstract_properties_Description__WEBPACK_IMPORTED_MODULE_23__.PropertyDescriptionHelper),
283688
- /* harmony export */ "PropertyEditorParamTypes": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.PropertyEditorParamTypes),
283689
- /* harmony export */ "PropertyRecord": () => (/* reexport safe */ _appui_abstract_properties_Record__WEBPACK_IMPORTED_MODULE_26__.PropertyRecord),
283690
- /* harmony export */ "PropertyValueFormat": () => (/* reexport safe */ _appui_abstract_properties_Value__WEBPACK_IMPORTED_MODULE_29__.PropertyValueFormat),
283691
- /* harmony export */ "RelativePosition": () => (/* reexport safe */ _appui_abstract_items_RelativePosition__WEBPACK_IMPORTED_MODULE_19__.RelativePosition),
283692
- /* harmony export */ "SpecialKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_6__.SpecialKey),
283693
- /* harmony export */ "StagePanelLocation": () => (/* reexport safe */ _appui_abstract_widget_StagePanel__WEBPACK_IMPORTED_MODULE_47__.StagePanelLocation),
283694
- /* harmony export */ "StagePanelSection": () => (/* reexport safe */ _appui_abstract_widget_StagePanel__WEBPACK_IMPORTED_MODULE_47__.StagePanelSection),
283695
- /* harmony export */ "StageUsage": () => (/* reexport safe */ _appui_abstract_items_StageUsage__WEBPACK_IMPORTED_MODULE_20__.StageUsage),
283696
- /* harmony export */ "StandardContentLayouts": () => (/* reexport safe */ _appui_abstract_content_StandardContentLayouts__WEBPACK_IMPORTED_MODULE_8__.StandardContentLayouts),
283697
- /* harmony export */ "StandardEditorNames": () => (/* reexport safe */ _appui_abstract_properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_27__.StandardEditorNames),
283698
- /* harmony export */ "StandardTypeNames": () => (/* reexport safe */ _appui_abstract_properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_28__.StandardTypeNames),
283699
- /* harmony export */ "StatusBarItemsManager": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItemsManager__WEBPACK_IMPORTED_MODULE_32__.StatusBarItemsManager),
283700
- /* harmony export */ "StatusBarLabelSide": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.StatusBarLabelSide),
283701
- /* harmony export */ "StatusBarSection": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.StatusBarSection),
283702
- /* harmony export */ "SyncPropertiesChangeEvent": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_11__.SyncPropertiesChangeEvent),
283703
- /* harmony export */ "TimeDisplay": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.TimeDisplay),
283704
- /* harmony export */ "ToolbarItemUtilities": () => (/* reexport safe */ _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_33__.ToolbarItemUtilities),
283705
- /* harmony export */ "ToolbarItemsManager": () => (/* reexport safe */ _appui_abstract_toolbars_ToolbarItemsManager__WEBPACK_IMPORTED_MODULE_34__.ToolbarItemsManager),
283706
- /* harmony export */ "ToolbarOrientation": () => (/* reexport safe */ _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_33__.ToolbarOrientation),
283707
- /* harmony export */ "ToolbarUsage": () => (/* reexport safe */ _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_33__.ToolbarUsage),
283708
- /* harmony export */ "UiAdmin": () => (/* reexport safe */ _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_1__.UiAdmin),
283709
- /* harmony export */ "UiDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_11__.UiDataProvider),
283710
- /* harmony export */ "UiError": () => (/* reexport safe */ _appui_abstract_utils_UiError__WEBPACK_IMPORTED_MODULE_40__.UiError),
283711
- /* harmony export */ "UiEvent": () => (/* reexport safe */ _appui_abstract_utils_UiEvent__WEBPACK_IMPORTED_MODULE_42__.UiEvent),
283712
- /* harmony export */ "UiEventDispatcher": () => (/* reexport safe */ _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_41__.UiEventDispatcher),
283713
- /* harmony export */ "UiItemsApplicationAction": () => (/* reexport safe */ _appui_abstract_UiItemsManager__WEBPACK_IMPORTED_MODULE_2__.UiItemsApplicationAction),
283714
- /* harmony export */ "UiItemsManager": () => (/* reexport safe */ _appui_abstract_UiItemsManager__WEBPACK_IMPORTED_MODULE_2__.UiItemsManager),
283715
- /* harmony export */ "UiLayoutDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_10__.UiLayoutDataProvider),
283716
- /* harmony export */ "UiSyncEvent": () => (/* reexport safe */ _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_41__.UiSyncEvent),
283717
- /* harmony export */ "WidgetState": () => (/* reexport safe */ _appui_abstract_widget_WidgetState__WEBPACK_IMPORTED_MODULE_48__.WidgetState),
283718
- /* harmony export */ "convertSimple2RegExpPattern": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__.convertSimple2RegExpPattern),
283719
- /* harmony export */ "createMatches": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.createMatches),
283720
- /* harmony export */ "equalsIgnoreCase": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__.equalsIgnoreCase),
283721
- /* harmony export */ "fuzzyScore": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.fuzzyScore),
283722
- /* harmony export */ "fuzzyScoreGraceful": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.fuzzyScoreGraceful),
283723
- /* harmony export */ "fuzzyScoreGracefulAggressive": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.fuzzyScoreGracefulAggressive),
283724
- /* harmony export */ "getClassName": () => (/* reexport safe */ _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_36__.getClassName),
283725
- /* harmony export */ "isAbstractStatusBarActionItem": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.isAbstractStatusBarActionItem),
283726
- /* harmony export */ "isAbstractStatusBarCustomItem": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.isAbstractStatusBarCustomItem),
283727
- /* harmony export */ "isAbstractStatusBarLabelItem": () => (/* reexport safe */ _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__.isAbstractStatusBarLabelItem),
283728
- /* harmony export */ "isActionItem": () => (/* reexport safe */ _appui_abstract_backstage_BackstageItem__WEBPACK_IMPORTED_MODULE_4__.isActionItem),
283729
- /* harmony export */ "isArrowKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_6__.isArrowKey),
283730
- /* harmony export */ "isButtonGroupEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isButtonGroupEditorParams),
283731
- /* harmony export */ "isColorEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isColorEditorParams),
283732
- /* harmony export */ "isCustomFormattedNumberParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isCustomFormattedNumberParams),
283733
- /* harmony export */ "isIconListEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isIconListEditorParams),
283734
- /* harmony export */ "isInputEditorSizeParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isInputEditorSizeParams),
283735
- /* harmony export */ "isLetter": () => (/* reexport safe */ _appui_abstract_utils_isLetter__WEBPACK_IMPORTED_MODULE_37__.isLetter),
283736
- /* harmony export */ "isLowerAsciiLetter": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__.isLowerAsciiLetter),
283737
- /* harmony export */ "isPatternInWord": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.isPatternInWord),
283738
- /* harmony export */ "isStageLauncher": () => (/* reexport safe */ _appui_abstract_backstage_BackstageItem__WEBPACK_IMPORTED_MODULE_4__.isStageLauncher),
283739
- /* harmony export */ "isSuppressLabelEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__.isSuppressLabelEditorParams),
283740
- /* harmony export */ "isUpperAsciiLetter": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__.isUpperAsciiLetter),
283741
- /* harmony export */ "loggerCategory": () => (/* reexport safe */ _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_36__.loggerCategory),
283742
- /* harmony export */ "matchesCamelCase": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesCamelCase),
283743
- /* harmony export */ "matchesContiguousSubString": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesContiguousSubString),
283744
- /* harmony export */ "matchesFuzzy": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesFuzzy),
283745
- /* harmony export */ "matchesFuzzy2": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesFuzzy2),
283746
- /* harmony export */ "matchesPrefix": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesPrefix),
283747
- /* harmony export */ "matchesStrictPrefix": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesStrictPrefix),
283748
- /* harmony export */ "matchesSubString": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesSubString),
283749
- /* harmony export */ "matchesWords": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.matchesWords),
283750
- /* harmony export */ "or": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__.or),
283751
- /* harmony export */ "startsWithIgnoreCase": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__.startsWithIgnoreCase)
283871
+ /* harmony export */ "AlternateDateFormats": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.AlternateDateFormats),
283872
+ /* harmony export */ "BadgeType": () => (/* reexport safe */ _appui_abstract_items_BadgeType__WEBPACK_IMPORTED_MODULE_10__.BadgeType),
283873
+ /* harmony export */ "BaseQuantityDescription": () => (/* reexport safe */ _appui_abstract_quantity_BaseQuantityDescription__WEBPACK_IMPORTED_MODULE_23__.BaseQuantityDescription),
283874
+ /* harmony export */ "ConditionalBooleanValue": () => (/* reexport safe */ _appui_abstract_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_11__.ConditionalBooleanValue),
283875
+ /* harmony export */ "ConditionalStringValue": () => (/* reexport safe */ _appui_abstract_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_12__.ConditionalStringValue),
283876
+ /* harmony export */ "DialogButtonStyle": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_5__.DialogButtonStyle),
283877
+ /* harmony export */ "DialogButtonType": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_5__.DialogButtonType),
283878
+ /* harmony export */ "DialogLayoutDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_5__.DialogLayoutDataProvider),
283879
+ /* harmony export */ "DialogProperty": () => (/* reexport safe */ _appui_abstract_dialogs_DialogItem__WEBPACK_IMPORTED_MODULE_4__.DialogProperty),
283880
+ /* harmony export */ "DisplayMessageType": () => (/* reexport safe */ _appui_abstract_notification_MessagePresenter__WEBPACK_IMPORTED_MODULE_14__.DisplayMessageType),
283881
+ /* harmony export */ "FunctionKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_1__.FunctionKey),
283882
+ /* harmony export */ "FuzzyScore": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.FuzzyScore),
283883
+ /* harmony export */ "GenericUiEvent": () => (/* reexport safe */ _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_0__.GenericUiEvent),
283884
+ /* harmony export */ "IconSpecUtilities": () => (/* reexport safe */ _appui_abstract_utils_IconSpecUtilities__WEBPACK_IMPORTED_MODULE_28__.IconSpecUtilities),
283885
+ /* harmony export */ "MessageSeverity": () => (/* reexport safe */ _appui_abstract_notification_MessageSeverity__WEBPACK_IMPORTED_MODULE_15__.MessageSeverity),
283886
+ /* harmony export */ "PropertyChangeStatus": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_6__.PropertyChangeStatus),
283887
+ /* harmony export */ "PropertyDescriptionHelper": () => (/* reexport safe */ _appui_abstract_properties_Description__WEBPACK_IMPORTED_MODULE_16__.PropertyDescriptionHelper),
283888
+ /* harmony export */ "PropertyEditorParamTypes": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.PropertyEditorParamTypes),
283889
+ /* harmony export */ "PropertyRecord": () => (/* reexport safe */ _appui_abstract_properties_Record__WEBPACK_IMPORTED_MODULE_19__.PropertyRecord),
283890
+ /* harmony export */ "PropertyValueFormat": () => (/* reexport safe */ _appui_abstract_properties_Value__WEBPACK_IMPORTED_MODULE_22__.PropertyValueFormat),
283891
+ /* harmony export */ "RelativePosition": () => (/* reexport safe */ _appui_abstract_items_RelativePosition__WEBPACK_IMPORTED_MODULE_13__.RelativePosition),
283892
+ /* harmony export */ "SpecialKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_1__.SpecialKey),
283893
+ /* harmony export */ "StandardContentLayouts": () => (/* reexport safe */ _appui_abstract_content_StandardContentLayouts__WEBPACK_IMPORTED_MODULE_3__.StandardContentLayouts),
283894
+ /* harmony export */ "StandardEditorNames": () => (/* reexport safe */ _appui_abstract_properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_20__.StandardEditorNames),
283895
+ /* harmony export */ "StandardTypeNames": () => (/* reexport safe */ _appui_abstract_properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_21__.StandardTypeNames),
283896
+ /* harmony export */ "SyncPropertiesChangeEvent": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_6__.SyncPropertiesChangeEvent),
283897
+ /* harmony export */ "TimeDisplay": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.TimeDisplay),
283898
+ /* harmony export */ "ToolbarItemUtilities": () => (/* reexport safe */ _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_24__.ToolbarItemUtilities),
283899
+ /* harmony export */ "UiAdmin": () => (/* reexport safe */ _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_0__.UiAdmin),
283900
+ /* harmony export */ "UiDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_6__.UiDataProvider),
283901
+ /* harmony export */ "UiError": () => (/* reexport safe */ _appui_abstract_utils_UiError__WEBPACK_IMPORTED_MODULE_30__.UiError),
283902
+ /* harmony export */ "UiEvent": () => (/* reexport safe */ _appui_abstract_utils_UiEvent__WEBPACK_IMPORTED_MODULE_32__.UiEvent),
283903
+ /* harmony export */ "UiEventDispatcher": () => (/* reexport safe */ _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_31__.UiEventDispatcher),
283904
+ /* harmony export */ "UiLayoutDataProvider": () => (/* reexport safe */ _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_5__.UiLayoutDataProvider),
283905
+ /* harmony export */ "UiSyncEvent": () => (/* reexport safe */ _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_31__.UiSyncEvent),
283906
+ /* harmony export */ "convertSimple2RegExpPattern": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__.convertSimple2RegExpPattern),
283907
+ /* harmony export */ "createMatches": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.createMatches),
283908
+ /* harmony export */ "equalsIgnoreCase": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__.equalsIgnoreCase),
283909
+ /* harmony export */ "fuzzyScore": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.fuzzyScore),
283910
+ /* harmony export */ "fuzzyScoreGraceful": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.fuzzyScoreGraceful),
283911
+ /* harmony export */ "fuzzyScoreGracefulAggressive": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.fuzzyScoreGracefulAggressive),
283912
+ /* harmony export */ "getClassName": () => (/* reexport safe */ _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_26__.getClassName),
283913
+ /* harmony export */ "isArrowKey": () => (/* reexport safe */ _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_1__.isArrowKey),
283914
+ /* harmony export */ "isButtonGroupEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isButtonGroupEditorParams),
283915
+ /* harmony export */ "isColorEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isColorEditorParams),
283916
+ /* harmony export */ "isCustomFormattedNumberParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isCustomFormattedNumberParams),
283917
+ /* harmony export */ "isIconListEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isIconListEditorParams),
283918
+ /* harmony export */ "isInputEditorSizeParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isInputEditorSizeParams),
283919
+ /* harmony export */ "isLetter": () => (/* reexport safe */ _appui_abstract_utils_isLetter__WEBPACK_IMPORTED_MODULE_27__.isLetter),
283920
+ /* harmony export */ "isLowerAsciiLetter": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__.isLowerAsciiLetter),
283921
+ /* harmony export */ "isPatternInWord": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.isPatternInWord),
283922
+ /* harmony export */ "isSuppressLabelEditorParams": () => (/* reexport safe */ _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__.isSuppressLabelEditorParams),
283923
+ /* harmony export */ "isUpperAsciiLetter": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__.isUpperAsciiLetter),
283924
+ /* harmony export */ "loggerCategory": () => (/* reexport safe */ _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_26__.loggerCategory),
283925
+ /* harmony export */ "matchesCamelCase": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesCamelCase),
283926
+ /* harmony export */ "matchesContiguousSubString": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesContiguousSubString),
283927
+ /* harmony export */ "matchesFuzzy": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesFuzzy),
283928
+ /* harmony export */ "matchesFuzzy2": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesFuzzy2),
283929
+ /* harmony export */ "matchesPrefix": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesPrefix),
283930
+ /* harmony export */ "matchesStrictPrefix": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesStrictPrefix),
283931
+ /* harmony export */ "matchesSubString": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesSubString),
283932
+ /* harmony export */ "matchesWords": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.matchesWords),
283933
+ /* harmony export */ "or": () => (/* reexport safe */ _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__.or),
283934
+ /* harmony export */ "startsWithIgnoreCase": () => (/* reexport safe */ _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__.startsWithIgnoreCase)
283752
283935
  /* harmony export */ });
283753
- /* harmony import */ var _appui_abstract_BaseUiItemsProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appui-abstract/BaseUiItemsProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/BaseUiItemsProvider.js");
283754
- /* harmony import */ var _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./appui-abstract/UiAdmin */ "../../ui/appui-abstract/lib/esm/appui-abstract/UiAdmin.js");
283755
- /* harmony import */ var _appui_abstract_UiItemsManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./appui-abstract/UiItemsManager */ "../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsManager.js");
283756
- /* harmony import */ var _appui_abstract_UiItemsProvider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./appui-abstract/UiItemsProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsProvider.js");
283757
- /* harmony import */ var _appui_abstract_backstage_BackstageItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appui-abstract/backstage/BackstageItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItem.js");
283758
- /* harmony import */ var _appui_abstract_backstage_BackstageItemsManager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./appui-abstract/backstage/BackstageItemsManager */ "../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItemsManager.js");
283759
- /* harmony import */ var _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./appui-abstract/common/KeyboardKey */ "../../ui/appui-abstract/lib/esm/appui-abstract/common/KeyboardKey.js");
283760
- /* harmony import */ var _appui_abstract_content_ContentLayoutProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./appui-abstract/content/ContentLayoutProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/content/ContentLayoutProps.js");
283761
- /* harmony import */ var _appui_abstract_content_StandardContentLayouts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./appui-abstract/content/StandardContentLayouts */ "../../ui/appui-abstract/lib/esm/appui-abstract/content/StandardContentLayouts.js");
283762
- /* harmony import */ var _appui_abstract_dialogs_DialogItem__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./appui-abstract/dialogs/DialogItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/DialogItem.js");
283763
- /* harmony import */ var _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./appui-abstract/dialogs/UiLayoutDataProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js");
283764
- /* harmony import */ var _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./appui-abstract/dialogs/UiDataProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/UiDataProvider.js");
283765
- /* harmony import */ var _appui_abstract_items_AbstractItemProps__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./appui-abstract/items/AbstractItemProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractItemProps.js");
283766
- /* harmony import */ var _appui_abstract_items_AbstractMenuItemProps__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./appui-abstract/items/AbstractMenuItemProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractMenuItemProps.js");
283767
- /* harmony import */ var _appui_abstract_items_AbstractToolbarProps__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./appui-abstract/items/AbstractToolbarProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractToolbarProps.js");
283768
- /* harmony import */ var _appui_abstract_items_BadgeType__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./appui-abstract/items/BadgeType */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/BadgeType.js");
283769
- /* harmony import */ var _appui_abstract_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./appui-abstract/items/ConditionalBooleanValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalBooleanValue.js");
283770
- /* harmony import */ var _appui_abstract_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./appui-abstract/items/ConditionalStringValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalStringValue.js");
283771
- /* harmony import */ var _appui_abstract_items_ProvidedItem__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./appui-abstract/items/ProvidedItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ProvidedItem.js");
283772
- /* harmony import */ var _appui_abstract_items_RelativePosition__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./appui-abstract/items/RelativePosition */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/RelativePosition.js");
283773
- /* harmony import */ var _appui_abstract_items_StageUsage__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./appui-abstract/items/StageUsage */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/StageUsage.js");
283774
- /* harmony import */ var _appui_abstract_notification_MessagePresenter__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./appui-abstract/notification/MessagePresenter */ "../../ui/appui-abstract/lib/esm/appui-abstract/notification/MessagePresenter.js");
283775
- /* harmony import */ var _appui_abstract_notification_MessageSeverity__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./appui-abstract/notification/MessageSeverity */ "../../ui/appui-abstract/lib/esm/appui-abstract/notification/MessageSeverity.js");
283776
- /* harmony import */ var _appui_abstract_properties_Description__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./appui-abstract/properties/Description */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Description.js");
283777
- /* harmony import */ var _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./appui-abstract/properties/EditorParams */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/EditorParams.js");
283778
- /* harmony import */ var _appui_abstract_properties_PrimitiveTypes__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./appui-abstract/properties/PrimitiveTypes */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/PrimitiveTypes.js");
283779
- /* harmony import */ var _appui_abstract_properties_Record__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./appui-abstract/properties/Record */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Record.js");
283780
- /* harmony import */ var _appui_abstract_properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./appui-abstract/properties/StandardEditorNames */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/StandardEditorNames.js");
283781
- /* harmony import */ var _appui_abstract_properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./appui-abstract/properties/StandardTypeNames */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/StandardTypeNames.js");
283782
- /* harmony import */ var _appui_abstract_properties_Value__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./appui-abstract/properties/Value */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Value.js");
283783
- /* harmony import */ var _appui_abstract_quantity_BaseQuantityDescription__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./appui-abstract/quantity/BaseQuantityDescription */ "../../ui/appui-abstract/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js");
283784
- /* harmony import */ var _appui_abstract_statusbar_StatusBarItem__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./appui-abstract/statusbar/StatusBarItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItem.js");
283785
- /* harmony import */ var _appui_abstract_statusbar_StatusBarItemsManager__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./appui-abstract/statusbar/StatusBarItemsManager */ "../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js");
283786
- /* harmony import */ var _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./appui-abstract/toolbars/ToolbarItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItem.js");
283787
- /* harmony import */ var _appui_abstract_toolbars_ToolbarItemsManager__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./appui-abstract/toolbars/ToolbarItemsManager */ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js");
283788
- /* harmony import */ var _appui_abstract_utils_callbacks__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./appui-abstract/utils/callbacks */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/callbacks.js");
283789
- /* harmony import */ var _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./appui-abstract/utils/misc */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/misc.js");
283790
- /* harmony import */ var _appui_abstract_utils_isLetter__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./appui-abstract/utils/isLetter */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/isLetter.js");
283791
- /* harmony import */ var _appui_abstract_utils_IconSpecUtilities__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./appui-abstract/utils/IconSpecUtilities */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/IconSpecUtilities.js");
283792
- /* harmony import */ var _appui_abstract_utils_PointProps__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./appui-abstract/utils/PointProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/PointProps.js");
283793
- /* harmony import */ var _appui_abstract_utils_UiError__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./appui-abstract/utils/UiError */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiError.js");
283794
- /* harmony import */ var _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./appui-abstract/utils/UiEventDispatcher */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiEventDispatcher.js");
283795
- /* harmony import */ var _appui_abstract_utils_UiEvent__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./appui-abstract/utils/UiEvent */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiEvent.js");
283796
- /* harmony import */ var _appui_abstract_utils_filter_charCode__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./appui-abstract/utils/filter/charCode */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/charCode.js");
283797
- /* harmony import */ var _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./appui-abstract/utils/filter/filters */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/filters.js");
283798
- /* harmony import */ var _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./appui-abstract/utils/filter/strings */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/strings.js");
283799
- /* harmony import */ var _appui_abstract_widget_AbstractWidgetProps__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./appui-abstract/widget/AbstractWidgetProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/AbstractWidgetProps.js");
283800
- /* harmony import */ var _appui_abstract_widget_StagePanel__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./appui-abstract/widget/StagePanel */ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/StagePanel.js");
283801
- /* harmony import */ var _appui_abstract_widget_WidgetState__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./appui-abstract/widget/WidgetState */ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/WidgetState.js");
283936
+ /* harmony import */ var _appui_abstract_UiAdmin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appui-abstract/UiAdmin */ "../../ui/appui-abstract/lib/esm/appui-abstract/UiAdmin.js");
283937
+ /* harmony import */ var _appui_abstract_common_KeyboardKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./appui-abstract/common/KeyboardKey */ "../../ui/appui-abstract/lib/esm/appui-abstract/common/KeyboardKey.js");
283938
+ /* harmony import */ var _appui_abstract_content_ContentLayoutProps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./appui-abstract/content/ContentLayoutProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/content/ContentLayoutProps.js");
283939
+ /* harmony import */ var _appui_abstract_content_StandardContentLayouts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./appui-abstract/content/StandardContentLayouts */ "../../ui/appui-abstract/lib/esm/appui-abstract/content/StandardContentLayouts.js");
283940
+ /* harmony import */ var _appui_abstract_dialogs_DialogItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appui-abstract/dialogs/DialogItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/DialogItem.js");
283941
+ /* harmony import */ var _appui_abstract_dialogs_UiLayoutDataProvider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./appui-abstract/dialogs/UiLayoutDataProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js");
283942
+ /* harmony import */ var _appui_abstract_dialogs_UiDataProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./appui-abstract/dialogs/UiDataProvider */ "../../ui/appui-abstract/lib/esm/appui-abstract/dialogs/UiDataProvider.js");
283943
+ /* harmony import */ var _appui_abstract_items_AbstractItemProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./appui-abstract/items/AbstractItemProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractItemProps.js");
283944
+ /* harmony import */ var _appui_abstract_items_AbstractMenuItemProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./appui-abstract/items/AbstractMenuItemProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractMenuItemProps.js");
283945
+ /* harmony import */ var _appui_abstract_items_AbstractToolbarProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./appui-abstract/items/AbstractToolbarProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/AbstractToolbarProps.js");
283946
+ /* harmony import */ var _appui_abstract_items_BadgeType__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./appui-abstract/items/BadgeType */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/BadgeType.js");
283947
+ /* harmony import */ var _appui_abstract_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./appui-abstract/items/ConditionalBooleanValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalBooleanValue.js");
283948
+ /* harmony import */ var _appui_abstract_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./appui-abstract/items/ConditionalStringValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalStringValue.js");
283949
+ /* harmony import */ var _appui_abstract_items_RelativePosition__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./appui-abstract/items/RelativePosition */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/RelativePosition.js");
283950
+ /* harmony import */ var _appui_abstract_notification_MessagePresenter__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./appui-abstract/notification/MessagePresenter */ "../../ui/appui-abstract/lib/esm/appui-abstract/notification/MessagePresenter.js");
283951
+ /* harmony import */ var _appui_abstract_notification_MessageSeverity__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./appui-abstract/notification/MessageSeverity */ "../../ui/appui-abstract/lib/esm/appui-abstract/notification/MessageSeverity.js");
283952
+ /* harmony import */ var _appui_abstract_properties_Description__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./appui-abstract/properties/Description */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Description.js");
283953
+ /* harmony import */ var _appui_abstract_properties_EditorParams__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./appui-abstract/properties/EditorParams */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/EditorParams.js");
283954
+ /* harmony import */ var _appui_abstract_properties_PrimitiveTypes__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./appui-abstract/properties/PrimitiveTypes */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/PrimitiveTypes.js");
283955
+ /* harmony import */ var _appui_abstract_properties_Record__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./appui-abstract/properties/Record */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Record.js");
283956
+ /* harmony import */ var _appui_abstract_properties_StandardEditorNames__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./appui-abstract/properties/StandardEditorNames */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/StandardEditorNames.js");
283957
+ /* harmony import */ var _appui_abstract_properties_StandardTypeNames__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./appui-abstract/properties/StandardTypeNames */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/StandardTypeNames.js");
283958
+ /* harmony import */ var _appui_abstract_properties_Value__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./appui-abstract/properties/Value */ "../../ui/appui-abstract/lib/esm/appui-abstract/properties/Value.js");
283959
+ /* harmony import */ var _appui_abstract_quantity_BaseQuantityDescription__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./appui-abstract/quantity/BaseQuantityDescription */ "../../ui/appui-abstract/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js");
283960
+ /* harmony import */ var _appui_abstract_toolbars_ToolbarItem__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./appui-abstract/toolbars/ToolbarItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItem.js");
283961
+ /* harmony import */ var _appui_abstract_utils_callbacks__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./appui-abstract/utils/callbacks */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/callbacks.js");
283962
+ /* harmony import */ var _appui_abstract_utils_misc__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./appui-abstract/utils/misc */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/misc.js");
283963
+ /* harmony import */ var _appui_abstract_utils_isLetter__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./appui-abstract/utils/isLetter */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/isLetter.js");
283964
+ /* harmony import */ var _appui_abstract_utils_IconSpecUtilities__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./appui-abstract/utils/IconSpecUtilities */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/IconSpecUtilities.js");
283965
+ /* harmony import */ var _appui_abstract_utils_PointProps__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./appui-abstract/utils/PointProps */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/PointProps.js");
283966
+ /* harmony import */ var _appui_abstract_utils_UiError__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./appui-abstract/utils/UiError */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiError.js");
283967
+ /* harmony import */ var _appui_abstract_utils_UiEventDispatcher__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./appui-abstract/utils/UiEventDispatcher */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiEventDispatcher.js");
283968
+ /* harmony import */ var _appui_abstract_utils_UiEvent__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./appui-abstract/utils/UiEvent */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/UiEvent.js");
283969
+ /* harmony import */ var _appui_abstract_utils_filter_charCode__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./appui-abstract/utils/filter/charCode */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/charCode.js");
283970
+ /* harmony import */ var _appui_abstract_utils_filter_filters__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./appui-abstract/utils/filter/filters */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/filters.js");
283971
+ /* harmony import */ var _appui_abstract_utils_filter_strings__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./appui-abstract/utils/filter/strings */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/filter/strings.js");
283802
283972
  /*---------------------------------------------------------------------------------------------
283803
283973
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
283804
283974
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -283823,21 +283993,6 @@ __webpack_require__.r(__webpack_exports__);
283823
283993
 
283824
283994
 
283825
283995
 
283826
-
283827
-
283828
-
283829
-
283830
-
283831
-
283832
-
283833
-
283834
-
283835
-
283836
-
283837
-
283838
-
283839
-
283840
-
283841
283996
 
283842
283997
 
283843
283998
 
@@ -283858,10 +284013,6 @@ __webpack_require__.r(__webpack_exports__);
283858
284013
  * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.
283859
284014
  * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).
283860
284015
  */
283861
- /**
283862
- * @docs-group-description Backstage
283863
- * Abstractions used by appui-react package to create and manage the display Backstage menu items.
283864
- */
283865
284016
  /**
283866
284017
  * @docs-group-description ContentView
283867
284018
  * Classes and interfaces used with Content Layouts.
@@ -283882,10 +284033,6 @@ __webpack_require__.r(__webpack_exports__);
283882
284033
  * @docs-group-description Properties
283883
284034
  * Properties system for data input and formatting.
283884
284035
  */
283885
- /**
283886
- * @docs-group-description StatusBar
283887
- * Classes for creating and managing items in the status bar.
283888
- */
283889
284036
  /**
283890
284037
  * @docs-group-description Toolbar
283891
284038
  * Classes for creating and managing items in a toolbar.
@@ -283894,110 +284041,10 @@ __webpack_require__.r(__webpack_exports__);
283894
284041
  * @docs-group-description UiAdmin
283895
284042
  * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.
283896
284043
  */
283897
- /**
283898
- * @docs-group-description UiItemsProvider
283899
- * Interface for specifying UI items to be inserted at runtime.
283900
- */
283901
284044
  /**
283902
284045
  * @docs-group-description Utilities
283903
284046
  * Various utility classes for working with a UI.
283904
284047
  */
283905
- /**
283906
- * @docs-group-description Widget
283907
- * Classes for creating and providing Widgets.
283908
- */
283909
-
283910
-
283911
- /***/ }),
283912
-
283913
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/BaseUiItemsProvider.js":
283914
- /*!*****************************************************************************!*\
283915
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/BaseUiItemsProvider.js ***!
283916
- \*****************************************************************************/
283917
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
283918
-
283919
- "use strict";
283920
- __webpack_require__.r(__webpack_exports__);
283921
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283922
- /* harmony export */ "BaseUiItemsProvider": () => (/* binding */ BaseUiItemsProvider)
283923
- /* harmony export */ });
283924
- /* harmony import */ var _items_StageUsage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./items/StageUsage */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/StageUsage.js");
283925
- /* harmony import */ var _UiItemsManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UiItemsManager */ "../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsManager.js");
283926
- /*---------------------------------------------------------------------------------------------
283927
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
283928
- * See LICENSE.md in the project root for license terms and full copyright notice.
283929
- *--------------------------------------------------------------------------------------------*/
283930
- /* eslint-disable deprecation/deprecation */
283931
- /** @packageDocumentation
283932
- * @module UiItemsProvider
283933
- */
283934
-
283935
-
283936
- /** Base implementation of a UiItemsProvider. The base class allows the user to pass in a function that is used to determine if the
283937
- * active stage should be provided items. Derived provider classes should override the `xxxInternal` methods to provide items.
283938
- * @deprecated in 3.6. Use [BaseUiItemsProvider]($appui-react) instead.
283939
- * @public
283940
- */
283941
- class BaseUiItemsProvider {
283942
- /*
283943
- * @param providerId - unique identifier for this instance of the provider. This is required in case separate packages want
283944
- * to set up custom stage with their own subset of standard tools.
283945
- * @param isSupportedStage - optional function that will be called to determine if tools should be added to current stage. If not set and
283946
- * the current stage's `usage` is set to `StageUsage.General` then the provider will add items to frontstage.
283947
- */
283948
- constructor(_providerId, isSupportedStage) {
283949
- this._providerId = _providerId;
283950
- this.isSupportedStage = isSupportedStage;
283951
- }
283952
- get id() { return this._providerId; }
283953
- onUnregister() { }
283954
- unregister() {
283955
- _UiItemsManager__WEBPACK_IMPORTED_MODULE_1__.UiItemsManager.unregister(this._providerId);
283956
- }
283957
- /** Backstage items are not stage specific so no callback is used */
283958
- provideBackstageItems() {
283959
- return [];
283960
- }
283961
- provideToolbarButtonItemsInternal(_stageId, _stageUsage, _toolbarUsage, _toolbarOrientation, _stageAppData) {
283962
- return [];
283963
- }
283964
- provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
283965
- let provideToStage = false;
283966
- if (this.isSupportedStage) {
283967
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData, this);
283968
- }
283969
- else {
283970
- provideToStage = (stageUsage === _items_StageUsage__WEBPACK_IMPORTED_MODULE_0__.StageUsage.General);
283971
- }
283972
- return provideToStage ? this.provideToolbarButtonItemsInternal(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) : [];
283973
- }
283974
- provideStatusBarItemsInternal(_stageId, _stageUsage, _stageAppData) {
283975
- return [];
283976
- }
283977
- provideStatusBarItems(stageId, stageUsage, stageAppData) {
283978
- let provideToStage = false;
283979
- if (this.isSupportedStage) {
283980
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData, this);
283981
- }
283982
- else {
283983
- provideToStage = (stageUsage === _items_StageUsage__WEBPACK_IMPORTED_MODULE_0__.StageUsage.General);
283984
- }
283985
- return provideToStage ? this.provideStatusBarItemsInternal(stageId, stageUsage, stageAppData) : [];
283986
- }
283987
- provideWidgetsInternal(_stageId, _stageUsage, _location, _section, _zoneLocation, _stageAppData) {
283988
- return [];
283989
- }
283990
- provideWidgets(stageId, stageUsage, location, section, _zoneLocation, stageAppData) {
283991
- let provideToStage = false;
283992
- if (this.isSupportedStage) {
283993
- provideToStage = this.isSupportedStage(stageId, stageUsage, stageAppData, this);
283994
- }
283995
- else {
283996
- provideToStage = (stageUsage === _items_StageUsage__WEBPACK_IMPORTED_MODULE_0__.StageUsage.General);
283997
- }
283998
- return provideToStage ? this.provideWidgetsInternal(stageId, stageUsage, location, section, _zoneLocation, stageAppData) : [];
283999
- }
284000
- }
284001
284048
 
284002
284049
 
284003
284050
  /***/ }),
@@ -284239,464 +284286,6 @@ UiAdmin.onGenericUiEvent = new GenericUiEvent();
284239
284286
 
284240
284287
 
284241
284288
 
284242
- /***/ }),
284243
-
284244
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsManager.js":
284245
- /*!************************************************************************!*\
284246
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsManager.js ***!
284247
- \************************************************************************/
284248
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
284249
-
284250
- "use strict";
284251
- __webpack_require__.r(__webpack_exports__);
284252
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
284253
- /* harmony export */ "UiItemsApplicationAction": () => (/* binding */ UiItemsApplicationAction),
284254
- /* harmony export */ "UiItemsManager": () => (/* binding */ UiItemsManager)
284255
- /* harmony export */ });
284256
- /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
284257
- /* harmony import */ var _utils_misc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/misc */ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/misc.js");
284258
- /*---------------------------------------------------------------------------------------------
284259
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
284260
- * See LICENSE.md in the project root for license terms and full copyright notice.
284261
- *--------------------------------------------------------------------------------------------*/
284262
- /* eslint-disable deprecation/deprecation */
284263
- /** @packageDocumentation
284264
- * @module UiItemsProvider
284265
- */
284266
-
284267
-
284268
- /** Action taken by the application on item provided by a UiItemsProvider
284269
- * @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.
284270
- */
284271
- var UiItemsApplicationAction;
284272
- (function (UiItemsApplicationAction) {
284273
- /** Allow the change to the item */
284274
- UiItemsApplicationAction[UiItemsApplicationAction["Allow"] = 0] = "Allow";
284275
- /** Disallow the change to the item */
284276
- UiItemsApplicationAction[UiItemsApplicationAction["Disallow"] = 1] = "Disallow";
284277
- /** Update the item during the change */
284278
- UiItemsApplicationAction[UiItemsApplicationAction["Update"] = 2] = "Update";
284279
- })(UiItemsApplicationAction || (UiItemsApplicationAction = {}));
284280
- /** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.
284281
- * @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.
284282
- * @public
284283
- */
284284
- class UiItemsManager {
284285
- /** For use in unit testing
284286
- * @internal */
284287
- static clearAllProviders() {
284288
- UiItemsManager._registeredUiItemsProviders.clear();
284289
- }
284290
- /** Return number of registered UiProvider. */
284291
- static get registeredProviderIds() {
284292
- const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];
284293
- return ids;
284294
- }
284295
- /** Return true if there is any registered UiProvider. */
284296
- static get hasRegisteredProviders() {
284297
- return this._registeredUiItemsProviders.size > 0;
284298
- }
284299
- /**
284300
- * Retrieves a previously loaded UiItemsProvider.
284301
- * @param providerId id of the UiItemsProvider to get
284302
- */
284303
- static getUiItemsProvider(providerId) {
284304
- return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;
284305
- }
284306
- static sendRegisteredEvent(ev) {
284307
- UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);
284308
- }
284309
- /**
284310
- * Registers a UiItemsProvider with the UiItemsManager.
284311
- * @param uiProvider the UI items provider to register.
284312
- */
284313
- static register(uiProvider, overrides) {
284314
- const providerId = overrides?.providerId ?? uiProvider.id;
284315
- if (UiItemsManager.getUiItemsProvider(providerId)) {
284316
- _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logInfo((0,_utils_misc__WEBPACK_IMPORTED_MODULE_1__.loggerCategory)(this), `UiItemsProvider (${providerId}) is already loaded`);
284317
- }
284318
- else {
284319
- UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });
284320
- _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logInfo((0,_utils_misc__WEBPACK_IMPORTED_MODULE_1__.loggerCategory)(this), `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);
284321
- UiItemsManager.sendRegisteredEvent({ providerId });
284322
- }
284323
- }
284324
- /** Remove a specific UiItemsProvider from the list of available providers. */
284325
- static unregister(uiProviderId) {
284326
- const provider = UiItemsManager.getUiItemsProvider(uiProviderId);
284327
- if (!provider)
284328
- return;
284329
- provider.onUnregister && provider.onUnregister();
284330
- UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);
284331
- _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logInfo((0,_utils_misc__WEBPACK_IMPORTED_MODULE_1__.loggerCategory)(this), `UiItemsProvider (${uiProviderId}) unloaded`);
284332
- // trigger a refresh of the ui
284333
- UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId });
284334
- }
284335
- static allowItemsFromProvider(entry, stageId, stageUsage) {
284336
- // istanbul ignore else
284337
- const overrides = entry.overrides;
284338
- if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value) => value === stageId)))
284339
- return false;
284340
- if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value) => value === stageUsage)))
284341
- return false;
284342
- return true;
284343
- }
284344
- /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute
284345
- * an action or specify a registered ToolId into toolbar.
284346
- * @param stageId a string identifier the active stage.
284347
- * @param stageUsage the StageUsage of the active stage.
284348
- * @param toolbarUsage usage of the toolbar
284349
- * @param toolbarOrientation orientation of the toolbar
284350
- * @returns an array of error messages. The array will be empty if the load is successful, otherwise it is a list of one or more problems.
284351
- */
284352
- static getToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData) {
284353
- const buttonItems = [];
284354
- if (0 === UiItemsManager._registeredUiItemsProviders.size)
284355
- return buttonItems;
284356
- UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
284357
- const uiProvider = entry.provider;
284358
- const providerId = entry.overrides?.providerId ?? uiProvider.id;
284359
- // istanbul ignore else
284360
- if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
284361
- uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData)
284362
- .forEach((spec) => {
284363
- // ignore duplicate ids
284364
- if (-1 === buttonItems.findIndex((existingItem) => spec.id === existingItem.id))
284365
- buttonItems.push({ ...spec, providerId });
284366
- });
284367
- }
284368
- });
284369
- return buttonItems;
284370
- }
284371
- /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields
284372
- * @param stageId a string identifier the active stage.
284373
- * @param stageUsage the StageUsage of the active stage.
284374
- * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.
284375
- */
284376
- static getStatusBarItems(stageId, stageUsage, stageAppData) {
284377
- const statusBarItems = [];
284378
- if (0 === UiItemsManager._registeredUiItemsProviders.size)
284379
- return statusBarItems;
284380
- UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
284381
- const uiProvider = entry.provider;
284382
- const providerId = entry.overrides?.providerId ?? uiProvider.id;
284383
- // istanbul ignore else
284384
- if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
284385
- uiProvider.provideStatusBarItems(stageId, stageUsage, stageAppData)
284386
- .forEach((item) => {
284387
- // ignore duplicate ids
284388
- if (-1 === statusBarItems.findIndex((existingItem) => item.id === existingItem.id))
284389
- statusBarItems.push({ ...item, providerId });
284390
- });
284391
- }
284392
- });
284393
- return statusBarItems;
284394
- }
284395
- /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields
284396
- * @returns An array of BackstageItem that will be used to create controls for the backstage menu.
284397
- */
284398
- static getBackstageItems() {
284399
- const backstageItems = [];
284400
- if (0 === UiItemsManager._registeredUiItemsProviders.size)
284401
- return backstageItems;
284402
- UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
284403
- const uiProvider = entry.provider;
284404
- const providerId = entry.overrides?.providerId ?? uiProvider.id;
284405
- // istanbul ignore else
284406
- if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items
284407
- uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden
284408
- .forEach((item) => {
284409
- // ignore duplicate ids
284410
- if (-1 === backstageItems.findIndex((existingItem) => item.id === existingItem.id))
284411
- backstageItems.push({ ...item, providerId });
284412
- });
284413
- }
284414
- });
284415
- return backstageItems;
284416
- }
284417
- /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets
284418
- * @param stageId a string identifier the active stage.
284419
- * @param stageUsage the StageUsage of the active stage.
284420
- * @param location the location within the stage.
284421
- * @param section the section within location.
284422
- * @returns An array of AbstractWidgetProps that will be used to create widgets.
284423
- */
284424
- static getWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData) {
284425
- const widgets = [];
284426
- if (0 === UiItemsManager._registeredUiItemsProviders.size)
284427
- return widgets;
284428
- UiItemsManager._registeredUiItemsProviders.forEach((entry) => {
284429
- const uiProvider = entry.provider;
284430
- const providerId = entry.overrides?.providerId ?? uiProvider.id;
284431
- // istanbul ignore else
284432
- if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {
284433
- uiProvider.provideWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData)
284434
- .forEach((widget) => {
284435
- // ignore duplicate ids
284436
- if (-1 === widgets.findIndex((existingItem) => widget.id === existingItem.id))
284437
- widgets.push({ ...widget, providerId });
284438
- });
284439
- }
284440
- });
284441
- return widgets;
284442
- }
284443
- }
284444
- UiItemsManager._registeredUiItemsProviders = new Map();
284445
- /** Event raised any time a UiProvider is registered or unregistered. */
284446
- UiItemsManager.onUiProviderRegisteredEvent = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
284447
-
284448
-
284449
-
284450
- /***/ }),
284451
-
284452
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsProvider.js":
284453
- /*!*************************************************************************!*\
284454
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/UiItemsProvider.js ***!
284455
- \*************************************************************************/
284456
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
284457
-
284458
- "use strict";
284459
- __webpack_require__.r(__webpack_exports__);
284460
- /*---------------------------------------------------------------------------------------------
284461
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
284462
- * See LICENSE.md in the project root for license terms and full copyright notice.
284463
- *--------------------------------------------------------------------------------------------*/
284464
- /** @packageDocumentation
284465
- * @module UiItemsProvider
284466
- */
284467
-
284468
-
284469
-
284470
- /***/ }),
284471
-
284472
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItem.js":
284473
- /*!*********************************************************************************!*\
284474
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItem.js ***!
284475
- \*********************************************************************************/
284476
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
284477
-
284478
- "use strict";
284479
- __webpack_require__.r(__webpack_exports__);
284480
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
284481
- /* harmony export */ "BackstageItemType": () => (/* binding */ BackstageItemType),
284482
- /* harmony export */ "BackstageItemUtilities": () => (/* binding */ BackstageItemUtilities),
284483
- /* harmony export */ "isActionItem": () => (/* binding */ isActionItem),
284484
- /* harmony export */ "isStageLauncher": () => (/* binding */ isStageLauncher)
284485
- /* harmony export */ });
284486
- /*---------------------------------------------------------------------------------------------
284487
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
284488
- * See LICENSE.md in the project root for license terms and full copyright notice.
284489
- *--------------------------------------------------------------------------------------------*/
284490
- /** @packageDocumentation
284491
- * @module Backstage
284492
- */
284493
- /** Used to specify the item type added to the backstage menu.
284494
- * @deprecated in 3.6. Use type guards instead.
284495
- * @public
284496
- */
284497
- var BackstageItemType;
284498
- (function (BackstageItemType) {
284499
- /** Item that executes an action function */
284500
- BackstageItemType[BackstageItemType["ActionItem"] = 1] = "ActionItem";
284501
- /** Item that activate a stage. */
284502
- BackstageItemType[BackstageItemType["StageLauncher"] = 2] = "StageLauncher";
284503
- })(BackstageItemType || (BackstageItemType = {}));
284504
- /** BackstageActionItem type guard.
284505
- * @deprecated in 3.6. Use [isBackstageActionItem]($appui-react) instead.
284506
- * @public
284507
- */
284508
- const isActionItem = (item) => {
284509
- return item.execute !== undefined; // eslint-disable-line deprecation/deprecation
284510
- };
284511
- /** BackstageStageLauncher type guard.
284512
- * @deprecated in 3.6. Use [isBackstageStageLauncher]($appui-react) instead.
284513
- * @public
284514
- */
284515
- const isStageLauncher = (item) => {
284516
- return item.stageId !== undefined; // eslint-disable-line deprecation/deprecation
284517
- };
284518
- /** Utilities for creating and maintaining backstage items
284519
- * @deprecated in 3.6. Use [BackstageItemUtilities]($appui-react) instead.
284520
- * @public
284521
- */
284522
- class BackstageItemUtilities {
284523
- }
284524
- /** Creates a stage launcher backstage item */
284525
- BackstageItemUtilities.createStageLauncher = (frontstageId, groupPriority, itemPriority, label, subtitle, icon, overrides // eslint-disable-line deprecation/deprecation
284526
- ) => ({
284527
- groupPriority,
284528
- icon,
284529
- internalData: overrides?.internalData,
284530
- id: frontstageId,
284531
- itemPriority,
284532
- label,
284533
- stageId: frontstageId,
284534
- subtitle,
284535
- ...overrides,
284536
- });
284537
- /** Creates an action backstage item */
284538
- BackstageItemUtilities.createActionItem = (itemId, groupPriority, itemPriority, execute, label, subtitle, icon, overrides // eslint-disable-line deprecation/deprecation
284539
- ) => ({
284540
- execute,
284541
- groupPriority,
284542
- icon,
284543
- internalData: overrides?.internalData,
284544
- id: itemId,
284545
- itemPriority,
284546
- label,
284547
- subtitle,
284548
- ...overrides,
284549
- });
284550
-
284551
-
284552
-
284553
- /***/ }),
284554
-
284555
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItemsManager.js":
284556
- /*!*****************************************************************************************!*\
284557
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/backstage/BackstageItemsManager.js ***!
284558
- \*****************************************************************************************/
284559
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
284560
-
284561
- "use strict";
284562
- __webpack_require__.r(__webpack_exports__);
284563
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
284564
- /* harmony export */ "BackstageItemsManager": () => (/* binding */ BackstageItemsManager)
284565
- /* harmony export */ });
284566
- /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
284567
- /* harmony import */ var _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../items/ConditionalBooleanValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalBooleanValue.js");
284568
- /* harmony import */ var _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../items/ConditionalStringValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalStringValue.js");
284569
- /*---------------------------------------------------------------------------------------------
284570
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
284571
- * See LICENSE.md in the project root for license terms and full copyright notice.
284572
- *--------------------------------------------------------------------------------------------*/
284573
- /** @packageDocumentation
284574
- * @module Backstage
284575
- */
284576
-
284577
-
284578
-
284579
- const isInstance = (args) => {
284580
- return !Array.isArray(args);
284581
- };
284582
- /**
284583
- * Controls backstage items.
284584
- * @internal
284585
- */
284586
- class BackstageItemsManager {
284587
- constructor(items) {
284588
- this._items = [];
284589
- /** Event raised when backstage items are changed.
284590
- * @internal
284591
- */
284592
- this.onItemsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
284593
- // istanbul ignore else
284594
- if (items)
284595
- this.loadItemsInternal(items, true, false);
284596
- }
284597
- loadItemsInternal(items, processConditions, sendItemChanged) {
284598
- if (processConditions && items) {
284599
- const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);
284600
- if (0 !== eventIds.length) {
284601
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
284602
- // istanbul ignore else
284603
- if (itemsUpdated)
284604
- items = updatedItems;
284605
- }
284606
- }
284607
- this._items = items;
284608
- if (sendItemChanged)
284609
- this.onItemsChanged.raiseEvent({ items });
284610
- }
284611
- /** load items but do not fire onItemsChanged
284612
- * @internal
284613
- */
284614
- loadItems(items) {
284615
- this.loadItemsInternal(items, true, false);
284616
- }
284617
- get items() {
284618
- return this._items;
284619
- }
284620
- set items(items) {
284621
- // istanbul ignore else
284622
- if (items !== this._items)
284623
- this.loadItemsInternal(items, true, true);
284624
- }
284625
- /** @internal */
284626
- add(itemOrItems) {
284627
- let itemsToAdd;
284628
- if (isInstance(itemOrItems))
284629
- itemsToAdd = [itemOrItems];
284630
- else {
284631
- itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
284632
- }
284633
- itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
284634
- if (itemsToAdd.length === 0)
284635
- return;
284636
- const items = [
284637
- ...this._items,
284638
- ...itemsToAdd,
284639
- ];
284640
- this.items = items;
284641
- }
284642
- /** @internal */
284643
- remove(itemIdOrItemIds) {
284644
- const items = this._items.filter((item) => {
284645
- return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);
284646
- });
284647
- this.items = items;
284648
- }
284649
- /** @internal */
284650
- static getSyncIdsOfInterest(items) {
284651
- const eventIds = new Set();
284652
- items.forEach((item) => {
284653
- for (const [, entry] of Object.entries(item)) {
284654
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
284655
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
284656
- }
284657
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
284658
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
284659
- }
284660
- }
284661
- });
284662
- return [...eventIds.values()];
284663
- }
284664
- internalRefreshAffectedItems(items, eventIds) {
284665
- // istanbul ignore next
284666
- if (0 === eventIds.size)
284667
- return { itemsUpdated: false, updatedItems: [] };
284668
- let updateRequired = false;
284669
- const newItems = [];
284670
- for (const item of items) {
284671
- const updatedItem = { ...item };
284672
- for (const [, entry] of Object.entries(updatedItem)) {
284673
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
284674
- // istanbul ignore else
284675
- if (_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue.refreshValue(entry, eventIds))
284676
- updateRequired = true;
284677
- }
284678
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
284679
- // istanbul ignore else
284680
- if (_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue.refreshValue(entry, eventIds))
284681
- updateRequired = true;
284682
- }
284683
- }
284684
- newItems.push(updatedItem);
284685
- }
284686
- return { itemsUpdated: updateRequired, updatedItems: newItems };
284687
- }
284688
- refreshAffectedItems(eventIds) {
284689
- // istanbul ignore next
284690
- if (0 === eventIds.size)
284691
- return;
284692
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
284693
- // istanbul ignore else
284694
- if (itemsUpdated)
284695
- this.loadItemsInternal(updatedItems, false, true);
284696
- }
284697
- }
284698
-
284699
-
284700
284289
  /***/ }),
284701
284290
 
284702
284291
  /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/common/KeyboardKey.js":
@@ -285502,26 +285091,6 @@ class ConditionalStringValue {
285502
285091
  }
285503
285092
 
285504
285093
 
285505
- /***/ }),
285506
-
285507
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ProvidedItem.js":
285508
- /*!****************************************************************************!*\
285509
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/items/ProvidedItem.js ***!
285510
- \****************************************************************************/
285511
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
285512
-
285513
- "use strict";
285514
- __webpack_require__.r(__webpack_exports__);
285515
- /*---------------------------------------------------------------------------------------------
285516
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
285517
- * See LICENSE.md in the project root for license terms and full copyright notice.
285518
- *--------------------------------------------------------------------------------------------*/
285519
- /** @packageDocumentation
285520
- * @module Item
285521
- */
285522
-
285523
-
285524
-
285525
285094
  /***/ }),
285526
285095
 
285527
285096
  /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/items/RelativePosition.js":
@@ -285560,42 +285129,6 @@ var RelativePosition;
285560
285129
  })(RelativePosition || (RelativePosition = {}));
285561
285130
 
285562
285131
 
285563
- /***/ }),
285564
-
285565
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/items/StageUsage.js":
285566
- /*!**************************************************************************!*\
285567
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/items/StageUsage.js ***!
285568
- \**************************************************************************/
285569
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
285570
-
285571
- "use strict";
285572
- __webpack_require__.r(__webpack_exports__);
285573
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
285574
- /* harmony export */ "StageUsage": () => (/* binding */ StageUsage)
285575
- /* harmony export */ });
285576
- /*---------------------------------------------------------------------------------------------
285577
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
285578
- * See LICENSE.md in the project root for license terms and full copyright notice.
285579
- *--------------------------------------------------------------------------------------------*/
285580
- /** @packageDocumentation
285581
- * @module Item
285582
- */
285583
- /** Standard stage uses. Allows extension to target ui item to include on a stage without
285584
- * knowing the stage name defined in the host application.
285585
- * @deprecated in 3.6. Use [StageUsage]($appui-react) instead.
285586
- * @public
285587
- */
285588
- var StageUsage;
285589
- (function (StageUsage) {
285590
- StageUsage["Private"] = "Private";
285591
- StageUsage["General"] = "General";
285592
- StageUsage["Redline"] = "Redline";
285593
- StageUsage["ViewOnly"] = "ViewOnly";
285594
- StageUsage["Edit"] = "Edit";
285595
- StageUsage["Settings"] = "Settings";
285596
- })(StageUsage || (StageUsage = {}));
285597
-
285598
-
285599
285132
  /***/ }),
285600
285133
 
285601
285134
  /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/notification/MessagePresenter.js":
@@ -286295,256 +285828,6 @@ class BaseQuantityDescription {
286295
285828
  }
286296
285829
 
286297
285830
 
286298
- /***/ }),
286299
-
286300
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItem.js":
286301
- /*!*********************************************************************************!*\
286302
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItem.js ***!
286303
- \*********************************************************************************/
286304
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
286305
-
286306
- "use strict";
286307
- __webpack_require__.r(__webpack_exports__);
286308
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
286309
- /* harmony export */ "AbstractStatusBarItemUtilities": () => (/* binding */ AbstractStatusBarItemUtilities),
286310
- /* harmony export */ "StatusBarLabelSide": () => (/* binding */ StatusBarLabelSide),
286311
- /* harmony export */ "StatusBarSection": () => (/* binding */ StatusBarSection),
286312
- /* harmony export */ "isAbstractStatusBarActionItem": () => (/* binding */ isAbstractStatusBarActionItem),
286313
- /* harmony export */ "isAbstractStatusBarCustomItem": () => (/* binding */ isAbstractStatusBarCustomItem),
286314
- /* harmony export */ "isAbstractStatusBarLabelItem": () => (/* binding */ isAbstractStatusBarLabelItem)
286315
- /* harmony export */ });
286316
- /*---------------------------------------------------------------------------------------------
286317
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
286318
- * See LICENSE.md in the project root for license terms and full copyright notice.
286319
- *--------------------------------------------------------------------------------------------*/
286320
- /** @packageDocumentation
286321
- * @module StatusBar
286322
- */
286323
- /** Status bar Groups/Sections from Left to Right
286324
- * @deprecated in 3.6. Use [StatusBarSection]($appui-react) instead.
286325
- * @public
286326
- */
286327
- var StatusBarSection;
286328
- (function (StatusBarSection) {
286329
- /** area for tool assistance and messages */
286330
- StatusBarSection[StatusBarSection["Message"] = 0] = "Message";
286331
- /** area for tool assistance and messages */
286332
- StatusBarSection[StatusBarSection["Left"] = 0] = "Left";
286333
- /** items specific to stage/task */
286334
- StatusBarSection[StatusBarSection["Stage"] = 1] = "Stage";
286335
- /** items specific to stage/task */
286336
- StatusBarSection[StatusBarSection["Center"] = 1] = "Center";
286337
- /** Select scope and selection info */
286338
- StatusBarSection[StatusBarSection["Selection"] = 2] = "Selection";
286339
- /** Select scope and selection info */
286340
- StatusBarSection[StatusBarSection["Right"] = 2] = "Right";
286341
- /** items that only show based on context */
286342
- StatusBarSection[StatusBarSection["Context"] = 3] = "Context";
286343
- })(StatusBarSection || (StatusBarSection = {}));
286344
- /** Defines which side of Icon where label is placed
286345
- * @deprecated in 3.6. Use [StatusBarLabelSide]($appui-react) instead.
286346
- * @public
286347
- */
286348
- var StatusBarLabelSide;
286349
- (function (StatusBarLabelSide) {
286350
- /** Label is placed left side of icon. This is the default if not specified */
286351
- StatusBarLabelSide[StatusBarLabelSide["Left"] = 0] = "Left";
286352
- /** Label is placed on right side of icon. */
286353
- StatusBarLabelSide[StatusBarLabelSide["Right"] = 1] = "Right";
286354
- })(StatusBarLabelSide || (StatusBarLabelSide = {}));
286355
- /** AbstractStatusBarActionItem type guard.
286356
- * @deprecated in 3.6. Use [isStatusBarActionItem]($appui-react) instead.
286357
- * @public
286358
- */
286359
- const isAbstractStatusBarActionItem = (item) => {
286360
- return item.execute !== undefined; // eslint-disable-line deprecation/deprecation
286361
- };
286362
- /** AbstractStatusBarLabelItem type guard.
286363
- * @deprecated in 3.6. Use [isStatusBarLabelItem]($appui-react) instead.
286364
- * @public
286365
- */
286366
- const isAbstractStatusBarLabelItem = (item) => {
286367
- return item.label !== undefined && item.execute === undefined; // eslint-disable-line deprecation/deprecation
286368
- };
286369
- /** AbstractStatusBarCustomItem type guard.
286370
- * @deprecated in 3.6. Use [isStatusBarCustomItem]($appui-react) instead.
286371
- * @public
286372
- */
286373
- const isAbstractStatusBarCustomItem = (item) => {
286374
- return !!item.isCustom; // eslint-disable-line deprecation/deprecation
286375
- };
286376
- /** Helper class to create Abstract StatusBar Item definitions.
286377
- * @deprecated in 3.6. Use [StatusBarItemUtilities]($appui-react) instead.
286378
- * @public
286379
- */
286380
- class AbstractStatusBarItemUtilities {
286381
- }
286382
- /** Creates a StatusBar item to perform an action */
286383
- AbstractStatusBarItemUtilities.createActionItem = (id, section, itemPriority, icon, tooltip, execute, overrides) => ({
286384
- id, section, itemPriority,
286385
- icon, tooltip,
286386
- execute,
286387
- ...overrides,
286388
- });
286389
- /** Creates a StatusBar item to display a label */
286390
- AbstractStatusBarItemUtilities.createLabelItem = (id, section, itemPriority, icon, label, labelSide = StatusBarLabelSide.Right, overrides) => ({
286391
- id, section, itemPriority,
286392
- icon, label,
286393
- labelSide,
286394
- ...overrides,
286395
- });
286396
-
286397
-
286398
-
286399
- /***/ }),
286400
-
286401
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js":
286402
- /*!*****************************************************************************************!*\
286403
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js ***!
286404
- \*****************************************************************************************/
286405
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
286406
-
286407
- "use strict";
286408
- __webpack_require__.r(__webpack_exports__);
286409
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
286410
- /* harmony export */ "StatusBarItemsManager": () => (/* binding */ StatusBarItemsManager)
286411
- /* harmony export */ });
286412
- /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
286413
- /* harmony import */ var _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../items/ConditionalBooleanValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalBooleanValue.js");
286414
- /* harmony import */ var _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../items/ConditionalStringValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalStringValue.js");
286415
- /*---------------------------------------------------------------------------------------------
286416
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
286417
- * See LICENSE.md in the project root for license terms and full copyright notice.
286418
- *--------------------------------------------------------------------------------------------*/
286419
- /** @packageDocumentation
286420
- * @module StatusBar
286421
- */
286422
-
286423
-
286424
-
286425
- const isInstance = (args) => {
286426
- return !Array.isArray(args);
286427
- };
286428
- /**
286429
- * Controls status bar items.
286430
- * @internal
286431
- */
286432
- class StatusBarItemsManager {
286433
- constructor(items) {
286434
- this._items = [];
286435
- /** Event raised when StatusBar items are changed.
286436
- * @internal
286437
- */
286438
- this.onItemsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
286439
- if (items)
286440
- this.loadItemsInternal(items, true, false);
286441
- }
286442
- loadItemsInternal(items, processConditions, sendItemChanged) {
286443
- if (processConditions && items) {
286444
- const eventIds = StatusBarItemsManager.getSyncIdsOfInterest(items);
286445
- if (0 !== eventIds.length) {
286446
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
286447
- // istanbul ignore else
286448
- if (itemsUpdated)
286449
- items = updatedItems;
286450
- }
286451
- }
286452
- this._items = items;
286453
- if (sendItemChanged)
286454
- this.onItemsChanged.raiseEvent({ items });
286455
- }
286456
- /** load items but do not fire onItemsChanged
286457
- * @internal
286458
- */
286459
- loadItems(items) {
286460
- this.loadItemsInternal(items, true, false);
286461
- }
286462
- /** Get an array of the StatusBar items */
286463
- get items() {
286464
- return this._items;
286465
- }
286466
- set items(items) {
286467
- // istanbul ignore else
286468
- if (items !== this._items)
286469
- this.loadItemsInternal(items, true, true);
286470
- }
286471
- add(itemOrItems) {
286472
- let itemsToAdd;
286473
- if (isInstance(itemOrItems))
286474
- itemsToAdd = [itemOrItems];
286475
- else {
286476
- itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
286477
- }
286478
- itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
286479
- if (itemsToAdd.length === 0)
286480
- return;
286481
- const items = [
286482
- ...this._items,
286483
- ...itemsToAdd,
286484
- ];
286485
- this.items = items;
286486
- }
286487
- /** Remove StatusBar items based on id */
286488
- remove(itemIdOrItemIds) {
286489
- const items = this._items.filter((item) => {
286490
- return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);
286491
- });
286492
- this.items = items;
286493
- }
286494
- /** @internal */
286495
- removeAll() {
286496
- this._items = [];
286497
- }
286498
- static getSyncIdsOfInterest(items) {
286499
- const eventIds = new Set();
286500
- items.forEach((item) => {
286501
- for (const [, entry] of Object.entries(item)) {
286502
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
286503
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
286504
- }
286505
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
286506
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
286507
- }
286508
- }
286509
- });
286510
- return [...eventIds.values()];
286511
- }
286512
- internalRefreshAffectedItems(items, eventIds) {
286513
- // istanbul ignore next
286514
- if (0 === eventIds.size)
286515
- return { itemsUpdated: false, updatedItems: [] };
286516
- let updateRequired = false;
286517
- const newItems = [];
286518
- for (const item of items) {
286519
- const updatedItem = { ...item };
286520
- for (const [, entry] of Object.entries(updatedItem)) {
286521
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
286522
- // istanbul ignore else
286523
- if (_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue.refreshValue(entry, eventIds))
286524
- updateRequired = true;
286525
- }
286526
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
286527
- // istanbul ignore else
286528
- if (_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue.refreshValue(entry, eventIds))
286529
- updateRequired = true;
286530
- }
286531
- }
286532
- newItems.push(updatedItem);
286533
- }
286534
- return { itemsUpdated: updateRequired, updatedItems: newItems };
286535
- }
286536
- refreshAffectedItems(eventIds) {
286537
- // istanbul ignore next
286538
- if (0 === eventIds.size)
286539
- return;
286540
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
286541
- // istanbul ignore else
286542
- if (itemsUpdated)
286543
- this.loadItemsInternal(updatedItems, false, true);
286544
- }
286545
- }
286546
-
286547
-
286548
285831
  /***/ }),
286549
285832
 
286550
285833
  /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItem.js":
@@ -286556,9 +285839,7 @@ class StatusBarItemsManager {
286556
285839
  "use strict";
286557
285840
  __webpack_require__.r(__webpack_exports__);
286558
285841
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
286559
- /* harmony export */ "ToolbarItemUtilities": () => (/* binding */ ToolbarItemUtilities),
286560
- /* harmony export */ "ToolbarOrientation": () => (/* binding */ ToolbarOrientation),
286561
- /* harmony export */ "ToolbarUsage": () => (/* binding */ ToolbarUsage)
285842
+ /* harmony export */ "ToolbarItemUtilities": () => (/* binding */ ToolbarItemUtilities)
286562
285843
  /* harmony export */ });
286563
285844
  /*---------------------------------------------------------------------------------------------
286564
285845
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
@@ -286567,28 +285848,6 @@ __webpack_require__.r(__webpack_exports__);
286567
285848
  /** @packageDocumentation
286568
285849
  * @module Toolbar
286569
285850
  */
286570
- /** Used to specify the usage of the toolbar which determine the toolbar position.
286571
- * @deprecated in 3.6. Use [ToolbarUsage]($appui-react) instead.
286572
- * @public
286573
- */
286574
- var ToolbarUsage;
286575
- (function (ToolbarUsage) {
286576
- /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */
286577
- ToolbarUsage[ToolbarUsage["ContentManipulation"] = 0] = "ContentManipulation";
286578
- /** Manipulate view/camera - in ninezone this is in top right of content area. */
286579
- ToolbarUsage[ToolbarUsage["ViewNavigation"] = 1] = "ViewNavigation";
286580
- })(ToolbarUsage || (ToolbarUsage = {}));
286581
- /** Used to specify the orientation of the toolbar.
286582
- * @deprecated in 3.6. Use [ToolbarOrientation]($appui-react) instead.
286583
- * @public
286584
- */
286585
- var ToolbarOrientation;
286586
- (function (ToolbarOrientation) {
286587
- /** Horizontal toolbar. */
286588
- ToolbarOrientation[ToolbarOrientation["Horizontal"] = 0] = "Horizontal";
286589
- /** Vertical toolbar. */
286590
- ToolbarOrientation[ToolbarOrientation["Vertical"] = 1] = "Vertical";
286591
- })(ToolbarOrientation || (ToolbarOrientation = {}));
286592
285851
  /** Helper class to create Abstract StatusBar Item definitions.
286593
285852
  * @public
286594
285853
  */
@@ -286623,256 +285882,6 @@ ToolbarItemUtilities.createGroupButton = (id, itemPriority, icon, label, items,
286623
285882
 
286624
285883
 
286625
285884
 
286626
- /***/ }),
286627
-
286628
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js":
286629
- /*!**************************************************************************************!*\
286630
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js ***!
286631
- \**************************************************************************************/
286632
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
286633
-
286634
- "use strict";
286635
- __webpack_require__.r(__webpack_exports__);
286636
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
286637
- /* harmony export */ "ToolbarItemsManager": () => (/* binding */ ToolbarItemsManager)
286638
- /* harmony export */ });
286639
- /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
286640
- /* harmony import */ var _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../items/ConditionalBooleanValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalBooleanValue.js");
286641
- /* harmony import */ var _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../items/ConditionalStringValue */ "../../ui/appui-abstract/lib/esm/appui-abstract/items/ConditionalStringValue.js");
286642
- /* harmony import */ var _ToolbarItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ToolbarItem */ "../../ui/appui-abstract/lib/esm/appui-abstract/toolbars/ToolbarItem.js");
286643
- /*---------------------------------------------------------------------------------------------
286644
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
286645
- * See LICENSE.md in the project root for license terms and full copyright notice.
286646
- *--------------------------------------------------------------------------------------------*/
286647
- /** @packageDocumentation
286648
- * @module Toolbar
286649
- */
286650
-
286651
-
286652
-
286653
-
286654
- const isInstance = (args) => {
286655
- return !Array.isArray(args);
286656
- };
286657
- /**
286658
- * Controls status bar items.
286659
- * @internal
286660
- */
286661
- class ToolbarItemsManager {
286662
- constructor(items) {
286663
- this._items = [];
286664
- /** Event raised when Toolbar items are changed.
286665
- * @internal
286666
- */
286667
- this.onItemsChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
286668
- if (items)
286669
- this.loadItemsInternal(items, true, false);
286670
- }
286671
- loadItemsInternal(items, processConditions, sendItemChanged) {
286672
- if (processConditions && items) {
286673
- const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);
286674
- if (0 !== eventIds.length) {
286675
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
286676
- // istanbul ignore else
286677
- if (itemsUpdated)
286678
- items = updatedItems;
286679
- }
286680
- }
286681
- this._items = items;
286682
- if (sendItemChanged)
286683
- this.onItemsChanged.raiseEvent({ items });
286684
- }
286685
- /** load items but do not fire onItemsChanged
286686
- * @internal
286687
- */
286688
- loadItems(items) {
286689
- this.loadItemsInternal(items, true, false);
286690
- }
286691
- /** Get an array of the Toolbar items */
286692
- get items() {
286693
- return this._items;
286694
- }
286695
- set items(items) {
286696
- // istanbul ignore else
286697
- if (items !== this._items)
286698
- this.loadItemsInternal(items, true, true);
286699
- }
286700
- add(itemOrItems) {
286701
- let itemsToAdd;
286702
- if (isInstance(itemOrItems))
286703
- itemsToAdd = [itemOrItems];
286704
- else {
286705
- itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
286706
- }
286707
- itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
286708
- if (itemsToAdd.length === 0)
286709
- return;
286710
- const items = [
286711
- ...this._items,
286712
- ...itemsToAdd,
286713
- ];
286714
- this.items = items;
286715
- }
286716
- /** Remove Toolbar items based on id */
286717
- remove(itemIdOrItemIds) {
286718
- const items = this._items.filter((item) => {
286719
- return isInstance(itemIdOrItemIds) ? item.id !== itemIdOrItemIds : !itemIdOrItemIds.find((itemId) => itemId === item.id);
286720
- });
286721
- this.items = items;
286722
- }
286723
- /** @internal */
286724
- removeAll() {
286725
- this._items = [];
286726
- }
286727
- static gatherSyncIds(eventIds, items) {
286728
- for (const item of items) {
286729
- for (const [, entry] of Object.entries(item)) {
286730
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
286731
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
286732
- }
286733
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
286734
- entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
286735
- }
286736
- }
286737
- // istanbul ignore else
286738
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(item)) {
286739
- this.gatherSyncIds(eventIds, item.items);
286740
- }
286741
- }
286742
- }
286743
- static getSyncIdsOfInterest(items) {
286744
- const eventIds = new Set();
286745
- this.gatherSyncIds(eventIds, items);
286746
- return [...eventIds.values()];
286747
- }
286748
- static refreshChildItems(parentItem, eventIds) {
286749
- const updatedItems = [];
286750
- let itemsUpdated = false;
286751
- for (const item of parentItem.items) {
286752
- const updatedItem = { ...item };
286753
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(updatedItem)) {
286754
- const { childrenUpdated, childItems } = this.refreshChildItems(updatedItem, eventIds);
286755
- // istanbul ignore else
286756
- if (childrenUpdated) {
286757
- updatedItem.items = childItems;
286758
- itemsUpdated = true;
286759
- }
286760
- }
286761
- for (const [, entry] of Object.entries(updatedItem)) {
286762
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
286763
- // istanbul ignore else
286764
- if (_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue.refreshValue(entry, eventIds))
286765
- itemsUpdated = true;
286766
- }
286767
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
286768
- // istanbul ignore else
286769
- if (_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue.refreshValue(entry, eventIds))
286770
- itemsUpdated = true;
286771
- }
286772
- }
286773
- updatedItems.push(updatedItem);
286774
- }
286775
- return { childrenUpdated: itemsUpdated, childItems: updatedItems };
286776
- }
286777
- internalRefreshAffectedItems(items, eventIds) {
286778
- // istanbul ignore next
286779
- if (0 === eventIds.size)
286780
- return { itemsUpdated: false, updatedItems: [] };
286781
- let updateRequired = false;
286782
- const newItems = [];
286783
- for (const item of items) {
286784
- const updatedItem = { ...item };
286785
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(updatedItem)) {
286786
- const { childrenUpdated, childItems } = ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);
286787
- // istanbul ignore else
286788
- if (childrenUpdated) {
286789
- updatedItem.items = childItems;
286790
- updateRequired = true;
286791
- }
286792
- }
286793
- for (const [, entry] of Object.entries(updatedItem)) {
286794
- if (entry instanceof _items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue) {
286795
- // istanbul ignore else
286796
- if (_items_ConditionalBooleanValue__WEBPACK_IMPORTED_MODULE_1__.ConditionalBooleanValue.refreshValue(entry, eventIds))
286797
- updateRequired = true;
286798
- }
286799
- else /* istanbul ignore else */ if (entry instanceof _items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue) {
286800
- // istanbul ignore else
286801
- if (_items_ConditionalStringValue__WEBPACK_IMPORTED_MODULE_2__.ConditionalStringValue.refreshValue(entry, eventIds))
286802
- updateRequired = true;
286803
- }
286804
- }
286805
- newItems.push(updatedItem);
286806
- }
286807
- return { itemsUpdated: updateRequired, updatedItems: newItems };
286808
- }
286809
- refreshAffectedItems(eventIds) {
286810
- // istanbul ignore next
286811
- if (0 === eventIds.size)
286812
- return;
286813
- const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
286814
- // istanbul ignore else
286815
- if (itemsUpdated)
286816
- this.loadItemsInternal(updatedItems, false, true);
286817
- }
286818
- static isActiveToolIdRefreshRequiredForChildren(children, toolId) {
286819
- for (const item of children) {
286820
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(item)) {
286821
- if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))
286822
- return true;
286823
- }
286824
- else {
286825
- const isActive = !!item.isActive;
286826
- if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))
286827
- return true;
286828
- }
286829
- }
286830
- return false;
286831
- }
286832
- isActiveToolIdRefreshRequired(toolId) {
286833
- for (const item of this.items) {
286834
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(item)) {
286835
- if (ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))
286836
- return true;
286837
- }
286838
- else {
286839
- const isActive = !!item.isActive;
286840
- if ((isActive && item.id !== toolId) || (!isActive && item.id === toolId))
286841
- return true;
286842
- }
286843
- }
286844
- return false;
286845
- }
286846
- static refreshActiveToolIdInChildItems(parentItem, toolId) {
286847
- const newChildren = [];
286848
- for (const item of parentItem.items) {
286849
- const updatedItem = { ...item };
286850
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(updatedItem)) {
286851
- updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);
286852
- }
286853
- updatedItem.isActive = (updatedItem.id === toolId);
286854
- newChildren.push(updatedItem);
286855
- }
286856
- return newChildren;
286857
- }
286858
- setActiveToolId(toolId) {
286859
- // first see if any updates are really necessary
286860
- if (!this.isActiveToolIdRefreshRequired(toolId))
286861
- return;
286862
- const newItems = [];
286863
- for (const item of this.items) {
286864
- const updatedItem = { ...item };
286865
- if (_ToolbarItem__WEBPACK_IMPORTED_MODULE_3__.ToolbarItemUtilities.isGroupButton(updatedItem)) {
286866
- updatedItem.items = ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId);
286867
- }
286868
- updatedItem.isActive = (updatedItem.id === toolId);
286869
- newItems.push(updatedItem);
286870
- }
286871
- this.items = newItems;
286872
- }
286873
- }
286874
-
286875
-
286876
285885
  /***/ }),
286877
285886
 
286878
285887
  /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/utils/IconSpecUtilities.js":
@@ -288503,125 +287512,6 @@ const loggerCategory = (obj) => {
288503
287512
  };
288504
287513
 
288505
287514
 
288506
- /***/ }),
288507
-
288508
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/AbstractWidgetProps.js":
288509
- /*!************************************************************************************!*\
288510
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/widget/AbstractWidgetProps.js ***!
288511
- \************************************************************************************/
288512
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
288513
-
288514
- "use strict";
288515
- __webpack_require__.r(__webpack_exports__);
288516
- /*---------------------------------------------------------------------------------------------
288517
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
288518
- * See LICENSE.md in the project root for license terms and full copyright notice.
288519
- *--------------------------------------------------------------------------------------------*/
288520
- /** @packageDocumentation
288521
- * @module Widget
288522
- */
288523
-
288524
-
288525
-
288526
- /***/ }),
288527
-
288528
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/StagePanel.js":
288529
- /*!***************************************************************************!*\
288530
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/widget/StagePanel.js ***!
288531
- \***************************************************************************/
288532
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
288533
-
288534
- "use strict";
288535
- __webpack_require__.r(__webpack_exports__);
288536
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
288537
- /* harmony export */ "AbstractZoneLocation": () => (/* binding */ AbstractZoneLocation),
288538
- /* harmony export */ "StagePanelLocation": () => (/* binding */ StagePanelLocation),
288539
- /* harmony export */ "StagePanelSection": () => (/* binding */ StagePanelSection)
288540
- /* harmony export */ });
288541
- /*---------------------------------------------------------------------------------------------
288542
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
288543
- * See LICENSE.md in the project root for license terms and full copyright notice.
288544
- *--------------------------------------------------------------------------------------------*/
288545
- /** @packageDocumentation
288546
- * @module Widget
288547
- */
288548
- /** Enum for AppUi 1 `Zone` locations that can have widgets added to them at run-time via [[UiItemsProvider]].
288549
- * @public @deprecated in 3.0. UI 1.0 support will be removed in AppUi 4.0.
288550
- */
288551
- var AbstractZoneLocation;
288552
- (function (AbstractZoneLocation) {
288553
- AbstractZoneLocation[AbstractZoneLocation["CenterLeft"] = 4] = "CenterLeft";
288554
- AbstractZoneLocation[AbstractZoneLocation["CenterRight"] = 6] = "CenterRight";
288555
- AbstractZoneLocation[AbstractZoneLocation["BottomLeft"] = 7] = "BottomLeft";
288556
- AbstractZoneLocation[AbstractZoneLocation["BottomRight"] = 9] = "BottomRight";
288557
- })(AbstractZoneLocation || (AbstractZoneLocation = {}));
288558
- /** Available Stage Panel locations.
288559
- * @deprecated in 3.6. Use [StagePanelLocation]($appui-react) instead.
288560
- * @public
288561
- */
288562
- var StagePanelLocation;
288563
- (function (StagePanelLocation) {
288564
- StagePanelLocation[StagePanelLocation["Top"] = 101] = "Top";
288565
- /** @deprecated in 3.6 UI 1.0 support will be removed in AppUi 4.0. */
288566
- StagePanelLocation[StagePanelLocation["TopMost"] = 102] = "TopMost";
288567
- StagePanelLocation[StagePanelLocation["Left"] = 103] = "Left";
288568
- StagePanelLocation[StagePanelLocation["Right"] = 104] = "Right";
288569
- StagePanelLocation[StagePanelLocation["Bottom"] = 105] = "Bottom";
288570
- /** @deprecated in 3.6 UI 1.0 support will be removed in AppUi 4.0. */
288571
- StagePanelLocation[StagePanelLocation["BottomMost"] = 106] = "BottomMost";
288572
- })(StagePanelLocation || (StagePanelLocation = {}));
288573
- /** Enum for Stage Panel Sections
288574
- * @deprecated in 3.6. Use [StagePanelSection]($appui-react) instead.
288575
- * @public
288576
- */
288577
- var StagePanelSection;
288578
- (function (StagePanelSection) {
288579
- StagePanelSection[StagePanelSection["Start"] = 0] = "Start";
288580
- /** @deprecated in 3.2. - all widgets that a targeted for Middle will be placed in `End` section */
288581
- StagePanelSection[StagePanelSection["Middle"] = 1] = "Middle";
288582
- StagePanelSection[StagePanelSection["End"] = 2] = "End";
288583
- })(StagePanelSection || (StagePanelSection = {}));
288584
-
288585
-
288586
- /***/ }),
288587
-
288588
- /***/ "../../ui/appui-abstract/lib/esm/appui-abstract/widget/WidgetState.js":
288589
- /*!****************************************************************************!*\
288590
- !*** ../../ui/appui-abstract/lib/esm/appui-abstract/widget/WidgetState.js ***!
288591
- \****************************************************************************/
288592
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
288593
-
288594
- "use strict";
288595
- __webpack_require__.r(__webpack_exports__);
288596
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
288597
- /* harmony export */ "WidgetState": () => (/* binding */ WidgetState)
288598
- /* harmony export */ });
288599
- /*---------------------------------------------------------------------------------------------
288600
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
288601
- * See LICENSE.md in the project root for license terms and full copyright notice.
288602
- *--------------------------------------------------------------------------------------------*/
288603
- /** @packageDocumentation
288604
- * @module Widget
288605
- */
288606
- /** Widget state enum.
288607
- * @deprecated in 3.6. Use [WidgetState]($appui-react) instead.
288608
- * @public
288609
- */
288610
- var WidgetState;
288611
- (function (WidgetState) {
288612
- /** Widget tab is visible and active and its contents are visible */
288613
- WidgetState[WidgetState["Open"] = 0] = "Open";
288614
- /** Widget tab is visible but its contents are not visible */
288615
- WidgetState[WidgetState["Closed"] = 1] = "Closed";
288616
- /** Widget tab nor its contents are visible */
288617
- WidgetState[WidgetState["Hidden"] = 2] = "Hidden";
288618
- /** Widget tab is in a 'floating' state and is not docked in zone's tab stack */
288619
- WidgetState[WidgetState["Floating"] = 3] = "Floating";
288620
- /** Widget tab is visible but its contents are not loaded */
288621
- WidgetState[WidgetState["Unloaded"] = 4] = "Unloaded";
288622
- })(WidgetState || (WidgetState = {}));
288623
-
288624
-
288625
287515
  /***/ }),
288626
287516
 
288627
287517
  /***/ "?1120":
@@ -293966,7 +292856,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
293966
292856
  /***/ ((module) => {
293967
292857
 
293968
292858
  "use strict";
293969
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.99","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","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","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/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-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/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.0.0-dev.99","@itwin/core-bentley":"workspace:^4.0.0-dev.99","@itwin/core-common":"workspace:^4.0.0-dev.99","@itwin/core-geometry":"workspace:^4.0.0-dev.99","@itwin/core-orbitgt":"workspace:^4.0.0-dev.99","@itwin/core-quantity":"workspace:^4.0.0-dev.99"},"//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/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@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","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
292859
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.2","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm","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","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/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-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/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.1.0-dev.2","@itwin/core-bentley":"workspace:^4.1.0-dev.2","@itwin/core-common":"workspace:^4.1.0-dev.2","@itwin/core-geometry":"workspace:^4.1.0-dev.2","@itwin/core-orbitgt":"workspace:^4.1.0-dev.2","@itwin/core-quantity":"workspace:^4.1.0-dev.2"},"//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/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","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/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@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","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
293970
292860
 
293971
292861
  /***/ }),
293972
292862