diff --git a/packages/changed-elements-react/package.json b/packages/changed-elements-react/package.json index 88e47b49..20a79a98 100644 --- a/packages/changed-elements-react/package.json +++ b/packages/changed-elements-react/package.json @@ -41,16 +41,16 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@itwin/appui-abstract": "^4.0.6", - "@itwin/components-react": "^4.3.0", - "@itwin/core-bentley": "^4.0.6", - "@itwin/core-common": "^4.0.6", - "@itwin/core-frontend": "^4.0.6", - "@itwin/core-geometry": "^4.0.6", - "@itwin/core-react": "^4.3.0", - "@itwin/presentation-common": "^4.0.6", - "@itwin/presentation-components": "^4.0.1", - "@itwin/presentation-frontend": "^4.0.6", + "@itwin/appui-abstract": "^4.9.4", + "@itwin/components-react": "^4.16.1", + "@itwin/core-bentley": "^4.9.4", + "@itwin/core-common": "^4.9.4", + "@itwin/core-frontend": "^4.9.4", + "@itwin/core-geometry": "^4.9.4", + "@itwin/core-react": "^4.16.1", + "@itwin/presentation-common": "^4.9.4", + "@itwin/presentation-components": "^5.4.2", + "@itwin/presentation-frontend": "^4.9.4", "@testing-library/react": "^12.1.5", "@types/react": "^17.0.0", "@types/react-redux": "^7.1.25", @@ -71,24 +71,31 @@ "vitest": "^0.34.6" }, "peerDependencies": { - "@itwin/appui-abstract": "^4.0.6", - "@itwin/components-react": "^4.3.0", - "@itwin/core-bentley": "^4.0.6", - "@itwin/core-common": "^4.0.6", - "@itwin/core-frontend": "^4.0.6", - "@itwin/core-geometry": "^4.0.6", - "@itwin/core-react": "^4.3.0", - "@itwin/presentation-common": "^4.0.6", - "@itwin/presentation-components": "^4.0.1", - "@itwin/presentation-frontend": "^4.0.6", + "@itwin/appui-abstract": "^4.9.4", + "@itwin/components-react": "^4.16.1", + "@itwin/core-bentley": "^4.9.4", + "@itwin/core-common": "^4.9.4", + "@itwin/core-frontend": "^4.9.4", + "@itwin/core-geometry": "^4.9.4", + "@itwin/core-react": "^4.16.1", + "@itwin/presentation-common": "^4.9.4", + "@itwin/presentation-components": "^5.4.2", + "@itwin/presentation-frontend": "^4.9.4", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" }, "dependencies": { - "@itwin/itwinui-icons-react": "^2.2.0", - "@itwin/itwinui-react": "^2.11.11", + "@itwin/core-orbitgt": "4.9.4", + "@itwin/ecschema-metadata": "^4.9.4", + "@itwin/ecschema-rpcinterface-common": "^4.9.4", + "@itwin/itwinui-icons-react": "^2.9.0", + "@itwin/itwinui-react": "^3.13.4", + "@itwin/tree-widget-react": "3.0.2", + "@itwin/unified-selection": "^0.5.0", "react-table": "^7.8.0", - "react-window": "^1.8.8", - "react-window-infinite-loader": "^1.0.8" + "react-window": "^1.8.10", + "react-window-infinite-loader": "^1.0.9", + "uuid": "^10.0.0", + "@itwin/presentation-hierarchies": "1.1.0" } } diff --git a/packages/changed-elements-react/src/api/ChangedElementEntryCache.ts b/packages/changed-elements-react/src/api/ChangedElementEntryCache.ts index 58ceb433..84d19871 100644 --- a/packages/changed-elements-react/src/api/ChangedElementEntryCache.ts +++ b/packages/changed-elements-react/src/api/ChangedElementEntryCache.ts @@ -71,6 +71,12 @@ export class ChangedElementEntryCache { public get labels(): ChangedElementsLabelsCache | undefined { return this._labels; } + + private _subjectIds: Set = new Set(); + public get subjectIds(): Set { + return this._subjectIds; + } + private _childrenCache: ChangedElementsChildrenCache | undefined; public get childrenCache(): ChangedElementsChildrenCache | undefined { return this._childrenCache; @@ -128,11 +134,12 @@ export class ChangedElementEntryCache { * Initialize the changed elmeent entry cache with a bunch of changed elmeents * @param elements Map of changed elements */ - public initialize( + public async initialize( currentIModel: IModelConnection, targetIModel: IModelConnection, elements: Map, progressLoadingEvent?: BeEvent<(message: string) => void>, + cacheLabelsAndChildrenOfEntries = true, ) { this._progressLoadingEvent = progressLoadingEvent; elements.forEach((element: ChangedElement, elementId: string) => { @@ -149,15 +156,16 @@ export class ChangedElementEntryCache { }; this._changedElementEntries.set(elementId, entry); }); - - this._currentIModel = currentIModel; - this._targetIModel = targetIModel; - this._labels = new ChangedElementsLabelsCache(currentIModel, targetIModel); - this._childrenCache = new ChangedElementsChildrenCache( - currentIModel, - targetIModel, - elements, - ); + if (cacheLabelsAndChildrenOfEntries) { + this._currentIModel = currentIModel; + this._targetIModel = targetIModel; + this._labels = new ChangedElementsLabelsCache(currentIModel, targetIModel); + this._childrenCache = new ChangedElementsChildrenCache( + currentIModel, + targetIModel, + elements, + ); + } } /** @@ -348,6 +356,16 @@ export class ChangedElementEntryCache { return this._getCachedEntriesByIds(elementIds); } + /** + * Gets changed element entries for the given element Ids. + * @param elementId Element Id to obtain entry + */ + public getSynchronous(elementId: string): ChangedElementEntry | undefined { + // Return the entries since they should be cached now + return this._changedElementEntries.get(elementId) + } + + /** * Initially loads the given element ids to be visualized and displayed in UI * @param elementIds diff --git a/packages/changed-elements-react/src/api/ChangedElementsManager.ts b/packages/changed-elements-react/src/api/ChangedElementsManager.ts index 9e5b6207..78b4764e 100644 --- a/packages/changed-elements-react/src/api/ChangedElementsManager.ts +++ b/packages/changed-elements-react/src/api/ChangedElementsManager.ts @@ -10,6 +10,7 @@ import { ChangedElementEntryCache, type ChangedElement, type Checksums } from ". import { ChangedElementsChildrenCache } from "./ChangedElementsChildrenCache.js"; import { ChangedElementsLabelsCache } from "./ChangedElementsLabelCache.js"; import { VersionCompareManager } from "./VersionCompareManager.js"; +import { InstanceKey } from "@itwin/presentation-common"; /** Properties that are not shown but still found by the agent */ const ignoredProperties = ["Checksum", "Version"]; @@ -367,12 +368,28 @@ export const accumulateChanges = ( */ export class ChangedElementsManager { /** Computed entries of changed elements for given comparison */ - private _changedElements: Map = new Map< + private _filteredChangedElements: Map = new Map< string, ChangedElement >(); - public get changedElements() { - return this._changedElements; + private _allChangedElements: Map = new Map< + string, + ChangedElement + >(); + private _elementIdAndInstanceKeyMap: Map = new Map(); + + // contains models subjects and categories + public get allChangeElements() { + return this._allChangedElements; + } + + // contains elements only + public get filteredChangedElements() { + return this._filteredChangedElements; + } + + public get elementIdAndInstanceKeyMap() { + return this._elementIdAndInstanceKeyMap; } public modelToParentModelMap: Map | undefined; @@ -431,7 +448,7 @@ export class ChangedElementsManager { */ public getAllChangedPropertyNames(): Set { const allProps = new Set(); - this.changedElements.forEach((element: ChangedElement) => { + this.filteredChangedElements.forEach((element: ChangedElement) => { if (element.properties !== undefined) { for (const prop of element.properties) { allProps.add(prop[0]); @@ -445,30 +462,35 @@ export class ChangedElementsManager { * Generates entries for the accumulated changed elements by initializing the entry cache * @param currentIModel Current IModelConnection * @param targetIModel Target IModelConnection being compared against + * @param cacheLabelsAndChildrenOfEntries if false will skip label and children caching */ public async generateEntries( currentIModel: IModelConnection, targetIModel: IModelConnection, + cacheLabelsAndChildrenOfEntries = true, ): Promise { - this._entryCache.initialize( + await this._entryCache.initialize( currentIModel, targetIModel, - this._changedElements, + this._filteredChangedElements, this._progressLoadingEvent, + cacheLabelsAndChildrenOfEntries, ); } /** Query the geometric element 3d classes' id */ - private async _getGeometricElement3dClassId(iModel: IModelConnection): Promise { + private async _getGeometricElement3dAndPhysicalModelClassId(iModel: IModelConnection): Promise | undefined> { + const classIds = new Set(); const ecsql = - "SELECT ECClassDef.ECInstanceId as geomId FROM meta.ECClassDef INNER JOIN meta.ECSchemaDef ON ECSchemaDef.ECInstanceId = ECClassDef.Schema.Id WHERE ECClassDef.Name = 'GeometricElement3d' AND ECSchemaDef.Name ='BisCore'"; + "SELECT ECClassDef.ECInstanceId as id FROM meta.ECClassDef INNER JOIN meta.ECSchemaDef ON ECSchemaDef.ECInstanceId = ECClassDef.Schema.Id WHERE (ECClassDef.Name = 'GeometricElement3d' Or ECClassDef.Name = 'PhysicalModel') AND ECSchemaDef.Name ='BisCore'"; for await (const row of iModel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames, })) { - return row.geomId; + classIds.add(row.id); } - - return undefined; + if(classIds.size ===0) + return undefined; + return classIds } /** @@ -476,7 +498,7 @@ export class ChangedElementsManager { * @param forward Whether we are comparing forward or backwards */ private _getElementsInCurrent(forward: boolean): ChangedElement[] { - const array = [...this._changedElements] + const array = [...this._filteredChangedElements] .filter((entry: [string, ChangedElement]) => { return forward ? entry[1].opcode !== DbOpcode.Update @@ -491,7 +513,7 @@ export class ChangedElementsManager { * @param forward Whether we are comparing forward or backwards */ private _getElementsInTarget(forward: boolean): ChangedElement[] { - const array = [...this._changedElements] + const array = [...this._filteredChangedElements] .filter((entry: [string, ChangedElement]) => { return forward ? entry[1].opcode === DbOpcode.Update @@ -509,7 +531,7 @@ export class ChangedElementsManager { * Returns true if the change data already has model ids */ private _dataHasModelIds = (): boolean => { - for (const pair of this._changedElements) { + for (const pair of this._filteredChangedElements) { if (pair[1].modelId !== undefined) { return true; } @@ -522,7 +544,7 @@ export class ChangedElementsManager { */ private _getModelsFromElements = (): Set => { const models = new Set(); - for (const pair of this._changedElements) { + for (const pair of this._filteredChangedElements) { const modelId = pair[1].modelId; if (modelId !== undefined) { models.add(modelId); @@ -663,6 +685,7 @@ export class ChangedElementsManager { currentIModel: IModelConnection, targetIModel: IModelConnection, modelClasses: string[], + changeElementMap: Map, ): Promise { const currentModels = await this._getModelsOfClasses( currentIModel, @@ -674,7 +697,7 @@ export class ChangedElementsManager { ); const toRemove: string[] = []; - for (const pair of this._changedElements) { + for (const pair of changeElementMap) { const elemModelId = pair[1].modelId; if (elemModelId !== undefined) { if (!currentModels.has(elemModelId) && !targetModels.has(elemModelId)) { @@ -683,7 +706,7 @@ export class ChangedElementsManager { } } for (const id of toRemove) { - this._changedElements.delete(id); + changeElementMap.delete(id); } } @@ -705,7 +728,7 @@ export class ChangedElementsManager { for await (const row of iModel.query(ecsql, QueryBinder.from(elementIds), { rowFormat: QueryRowFormat.UseJsPropertyNames, })) { - const entry = this._changedElements.get(row.id); + const entry = this._filteredChangedElements.get(row.id); if (entry !== undefined) { entry.modelId = row.model.id; } @@ -747,7 +770,7 @@ export class ChangedElementsManager { ) => { const currentElementsWithoutModels = []; const targetElementsWithoutModels = []; - for (const pair of this._changedElements) { + for (const pair of this._filteredChangedElements) { const entry = pair[1]; const id = pair[0]; if (entry.modelId === undefined || entry.modelId === "0") { @@ -816,10 +839,17 @@ export class ChangedElementsManager { }; /** - * Takes an array of ChangedElements and computes the changed elements entries - * The computation is done by accumulating change - * @param changesets Array of Changed Elements - * @param forward Pass true if comparison is forward (e.g. current iModel is older than the compared one) + * Takes an array of ChangedElements and computes the changed elements entries. + * The computation is done by accumulating change. + * @param currentIModel The current iModel connection. + * @param targetIModel The target iModel connection. + * @param inputChangesets Array of Changed Elements. + * @param wantedModelClasses Optional array of model classes to filter by. + * @param forward Pass true if comparison is forward (e.g., current iModel is older than the compared one). + * @param filterSpatial Pass true to filter by spatial elements. + * @param findParentsModels Pass true to find parent models. + * @param wantClassNames Pass true to include class names in the result. + * @returns A promise that resolves when the operation is complete. */ public async setChangeSets( currentIModel: IModelConnection, @@ -828,60 +858,157 @@ export class ChangedElementsManager { wantedModelClasses?: string[], forward?: boolean, filterSpatial?: boolean, + findParentsModels = true, + wantClassNames?: boolean, ): Promise { - this._changedElements.clear(); - const changesets = inputChangesets; + const changedElementsMap = new Map(); + // Accumulate changes from each changeset changesets.forEach((changeset: ChangedElements) => { - accumulateChanges(this._changedElements, changeset, forward); + accumulateChanges(changedElementsMap, changeset, forward); }); // Clean merged elements that resulted in properties having the same checksums - // Only do this if we have proper type of change data and properties if (this._dataAllowsCleanupOfMergedElements(changesets)) { - cleanMergedElements(this._changedElements); + cleanMergedElements(changedElementsMap); } + // store all changed elements before filtering + this._allChangedElements = new Map(changedElementsMap); - // Fix missing model Ids before we filter by model class + // Fix missing model Ids before filtering by model class await this._fixModelIds(currentIModel, targetIModel); - // Filter out changed elements that we don't care about given the model classes + // Filter out changed elements based on the specified model classes if (wantedModelClasses) { await this._filterChangedElementsByModelClass( currentIModel, targetIModel, wantedModelClasses, + changedElementsMap, ); } - // Filter by spatial elements if we want + // Filter by spatial elements if specified if (filterSpatial) { - const geom3dId = await this._getGeometricElement3dClassId(currentIModel); - if (!geom3dId) { - return; - } + const validClassIds = await this._getValidClassIds(currentIModel); + if (!validClassIds) return; + + const classIdAndNameMap = wantClassNames ? await this.createClassIdsAndNamesMap(currentIModel, validClassIds) : undefined; + const maps = await this._filterAndMapElements(currentIModel, validClassIds, changedElementsMap, classIdAndNameMap); + + // Clear and update maps + this._filteredChangedElements.clear(); + this._elementIdAndInstanceKeyMap.clear(); + this._filteredChangedElements = maps.filteredChangedElements; + this._elementIdAndInstanceKeyMap = maps.elementIdAndInstanceKeyMap; + } else { + // Clear and update maps + this._filteredChangedElements.clear(); + this._elementIdAndInstanceKeyMap.clear(); + this._filteredChangedElements = changedElementsMap; + } - const ecsql = - "SELECT SourceECInstanceId FROM meta.ClasshasAllBaseClasses WHERE TargetECInstanceId = " + - geom3dId; - const validClassIds = new Set(); - for await (const row of currentIModel.query(ecsql, undefined, { - rowFormat: QueryRowFormat.UseJsPropertyNames, - })) { - validClassIds.add(row.sourceId); + // Find proper models to display elements under if specified + if (findParentsModels) { + await this._findParentModels(currentIModel, targetIModel); + } + } + + /** + * Retrieves valid class IDs for geometric elements and physical models. + * @param currentIModel The current iModel connection. + * @returns A set of valid class IDs or undefined if not found. + */ + private async _getValidClassIds(currentIModel: IModelConnection): Promise | undefined> { + // Retrieve class IDs for geometric elements and physical models + const geom3dIdAndPhysModId = await this._getGeometricElement3dAndPhysicalModelClassId(currentIModel); + if (!geom3dIdAndPhysModId || geom3dIdAndPhysModId.size < 2) { + return undefined; + } + + // Query to get all base classes for the given class IDs + const ecsql = `SELECT SourceECInstanceId FROM meta.ClasshasAllBaseClasses WHERE TargetECInstanceId in (${Array.from(geom3dIdAndPhysModId).join(",")})`; + const validClassIds = new Set(); + + // Execute the query and add the results to the set of valid class IDs + for await (const row of currentIModel.query(ecsql, undefined, { + rowFormat: QueryRowFormat.UseJsPropertyNames, + })) { + validClassIds.add(row.sourceId); + } + + return validClassIds; + } + + +/** + * Creates a map of class IDs and their corresponding names. + * @param iModel The iModel connection. + * @param validClassIds A set of valid class IDs. + * @returns A map of class IDs and names. + */ + private async createClassIdsAndNamesMap(iModel: IModelConnection, validClassIds: Set) { + const classIdsArray = Array.from(validClassIds); + const classIdsString = classIdsArray.join(","); + // grabs class name and schema name based on class id + const query = ` + SELECT [ECDbMeta].[ECClassDef].ECInstanceId as ClassId , [ECDbMeta].[ECSchemaDef].name as SchemaName , [ECDbMeta].[ECClassDef].Name as ClassName + FROM [ECDbMeta].[ECClassDef] + Inner Join + [ECDbMeta].[ECSchemaDef] On [ECDbMeta].[ECClassDef].Schema.Id = [ECDbMeta].[ECSchemaDef].ECInstanceId + WHERE [ECDbMeta].[ECClassDef].ECInstanceId IN (${classIdsString})`; + const classIdAndNameMap = new Map(); + for await (const row of iModel.query(query)) { + classIdAndNameMap.set(row[0], `${row[1]}.${row[2]}`); + } + return classIdAndNameMap; + } + + /** + * Filters elements that contain any class ID that has GeometricElement3d as a base class + * and maps them to their instance keys and filtered changed elements. + * @param currentIModel The current iModel connection. + * @param validClassIds A set of valid class IDs. + * @param changeElementsMap A map of changedElements. + * @param classIdAndNameMap An optional map of class IDs and their corresponding names. + * @returns An object containing maps of element IDs to instance keys and filtered changed elements. + */ + private async _filterAndMapElements( + currentIModel: IModelConnection, + validClassIds: Set, + changeElementsMap: Map, + classIdAndNameMap?: Map, + ): Promise<{ elementIdAndInstanceKeyMap: Map; filteredChangedElements: Map; }> { + // Filter elements that contain any class Id that has GeometricElement3d as base class + const filteredElements = [...changeElementsMap] + .map((pair: [string, ChangedElement]) => pair[1]) + .filter((entry: ChangedElement) => validClassIds.has(entry.classId)); + + const changedElementsMaps = { + elementIdAndInstanceKeyMap: new Map(), + filteredChangedElements: new Map(), + }; + const modelIds = new Set(); + + for (const element of filteredElements) { + if (classIdAndNameMap?.has(element.classId)) { + changedElementsMaps.elementIdAndInstanceKeyMap.set(element.id, { className: classIdAndNameMap.get(element.classId) as string, id: element.id }); } - // Filter elements that contain any class Id that has GeometricElement3d as base class - const filteredElements = [...this._changedElements] - .map((pair: [string, ChangedElement]) => pair[1]) - .filter((entry: ChangedElement) => validClassIds.has(entry.classId)); - this._changedElements.clear(); - for (const element of filteredElements) { - this._changedElements.set(element.id, element); + changedElementsMaps.filteredChangedElements.set(element.id, element); + modelIds.add(element.modelId as string); + } + + const ecsql = `SELECT ECInstanceId as ecId, ECClassId as classId FROM Bis.Model WHERE ECInstanceId IN (${Array.from(modelIds).join(",")})`; + + for await (const row of currentIModel.query(ecsql, undefined, { + rowFormat: QueryRowFormat.UseJsPropertyNames, + })) { + if (modelIds.has(row.ecId)) { + changedElementsMaps.elementIdAndInstanceKeyMap.set(row.ecId, { className: row.classId as string, id: row.ecId }); } } - // Find proper models to display elements under - await this._findParentModels(currentIModel, targetIModel); + return changedElementsMaps; } /** @@ -1085,7 +1212,7 @@ export class ChangedElementsManager { ) => { const currentModelIdSet = new Set(); const targetModelIdSet = new Set(); - for (const pair of this._changedElements) { + for (const pair of this._filteredChangedElements) { if (pair[1].modelId !== undefined) { if (pair[1].opcode === DbOpcode.Delete) { targetModelIdSet.add(pair[1].modelId); @@ -1124,7 +1251,9 @@ export class ChangedElementsManager { /** Clean-up changed elements manager */ public cleanup() { - this._changedElements.clear(); + this._filteredChangedElements.clear(); + this._elementIdAndInstanceKeyMap.clear(); + this._allChangedElements.clear(); this._entryCache.cleanup(); if (this._changedModels) { @@ -1163,13 +1292,11 @@ export class ChangedElementsManager { forward, filterSpatial, ); - if (progressLoadingEvent) { progressLoadingEvent.raiseEvent( IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.msg_computingChangedModels"), ); } - // Find changed models this._changedModels = await this.findChangedModels( currentIModel, @@ -1189,7 +1316,6 @@ export class ChangedElementsManager { currentIModel, this._changedModels, ); - await this.generateEntries(currentIModel, targetIModel); } } diff --git a/packages/changed-elements-react/src/api/ModelsCategoryCache.ts b/packages/changed-elements-react/src/api/ModelsCategoryCache.ts index cfbe2397..e04edf66 100644 --- a/packages/changed-elements-react/src/api/ModelsCategoryCache.ts +++ b/packages/changed-elements-react/src/api/ModelsCategoryCache.ts @@ -51,6 +51,49 @@ const getElementModelsByIds = async ( return modelIds; }; +/** + * Queries for the model Ids of the deleted elements passed + * @param targetConnection Target IModel where deleted elements exist + * @param elementIds Element Ids + */ +const getCategoriesByIds = async ( + targetConnection: IModelConnection, + elementIds: string[], +): Promise> => { + // Don't try to query if we have an empty array + if (elementIds.length === 0) { + return new Set(); + } + + const categoryId = new Set(); + const chunkSize = 800; + // TODO: Check if distinct works properly here + let ecsql = + "SELECT DISTINCT Category.Id as catId FROM BisCore.GeometricElement3d WHERE ECInstanceId IN ("; + for (let i = 0; i < chunkSize; i++) { + ecsql += "?,"; + } + ecsql = ecsql.substr(0, ecsql.length - 1); + ecsql += ")"; + for (let i = 0; i < elementIds.length; i += chunkSize) { + let max = i + chunkSize; + if (max > elementIds.length) { + max = elementIds.length; + } + const current = elementIds.slice(i, max); + for await (const row of targetConnection.query( + ecsql, + QueryBinder.from(current), + { + rowFormat: QueryRowFormat.UseJsPropertyNames, + }, + )) { + categoryId.add(row.catId); + } + } + return categoryId; +}; + /** * Queries for the model Ids of the deleted elements passed * @param targetConnection Target IModel where deleted elements exist @@ -108,6 +151,7 @@ export interface ModelsCategoryData { categories: Set; deletedCategories: Set; updatedElementsModels: Set; + addedElementsModels: Set; } /** @@ -150,6 +194,7 @@ export class ModelsCategoryCache { const deletedElementIds: string[] = []; const deletedElementModelIds: string[] = []; const updatedElementIds: string[] = []; + const addedModelIds:Set=new Set(); for (const changedElement of changedElements) { if (changedElement.opcode === DbOpcode.Delete) { // Only load the ones that we don't have model Ids for, as these model Ids will be the appropriate old version @@ -161,6 +206,8 @@ export class ModelsCategoryCache { } } else if (changedElement.opcode === DbOpcode.Update) { updatedElementIds.push(changedElement.id); + } else { + addedModelIds.add(changedElement.modelId ??""); } } // Get model ids for deleted elements @@ -184,8 +231,6 @@ export class ModelsCategoryCache { // Load the models so that visualization can occur await targetIModel.models.load(deletedElementsModels); await targetIModel.models.load(updatedElementsModels); - - // Set currently cached data changeset ids ModelsCategoryCache._currentChangeSetId = currentIModel.changeset.id ?? ""; ModelsCategoryCache._targetChangeSetId = targetIModel.changeset.id ?? ""; @@ -195,6 +240,7 @@ export class ModelsCategoryCache { updatedElementsModels, categories: categoryInfo.allCategories, deletedCategories: categoryInfo.deletedCategories, + addedElementsModels:addedModelIds, }; } } diff --git a/packages/changed-elements-react/src/api/VersionCompare.ts b/packages/changed-elements-react/src/api/VersionCompare.ts index a3b62898..03739166 100644 --- a/packages/changed-elements-react/src/api/VersionCompare.ts +++ b/packages/changed-elements-react/src/api/VersionCompare.ts @@ -12,6 +12,7 @@ import { ChangedElementsApiClient } from "./ChangedElementsApiClient.js"; import { ChangedElementsClientBase } from "./ChangedElementsClientBase.js"; import { VersionCompareManager } from "./VersionCompareManager.js"; import { VisualizationHandler } from "./VisualizationHandler.js"; +import { TreeWidget } from "@itwin/tree-widget-react"; /** Feature usage tracking callbacks for changed elements UI operations */ export interface VersionCompareFeatureTracking { @@ -134,7 +135,14 @@ export class VersionCompare { * Initializes the version compare package. * @param options Options for comparison */ - public static initialize(options: VersionCompareOptions): void { + public static async initialize(options: VersionCompareOptions): Promise { + + //todo may need to move should this know about the tree widget? Maybe use a use effect in tree widget to call this? + try { + await TreeWidget.initialize(IModelApp.localization); + } catch (error) { + console.error("Failed to initialize TreeWidget", error); + } // Initialize manager VersionCompare._manager = new VersionCompareManager(options); diff --git a/packages/changed-elements-react/src/api/VersionCompareManager.ts b/packages/changed-elements-react/src/api/VersionCompareManager.ts index 9a60cec8..a7f7b058 100644 --- a/packages/changed-elements-react/src/api/VersionCompareManager.ts +++ b/packages/changed-elements-react/src/api/VersionCompareManager.ts @@ -378,15 +378,17 @@ export class VersionCompareManager { * @param currentVersion Current Version of the iModel * @param targetVersion Target Version of the iModel, an IModelConnection is opened to it * @param changedElements Array of elements that have changed and need to be visualized + * @param skipPreloading If true models and parent nodes will not be queried for only changesetEntries. */ public async startComparisonV2( currentIModel: IModelConnection, currentVersion: NamedVersion, targetVersion: NamedVersion, changedElements: ChangedElements[], + skipPreloading?: boolean, ): Promise { this._currentIModel = currentIModel; - + let startTime: number = 0; let success = true; try { if (!targetVersion.changesetId) { @@ -413,7 +415,7 @@ export class VersionCompareManager { this._currentIModel.iModelId, IModelVersion.asOfChangeSet(changesetId), ); - + startTime= Date.now(); // Keep metadata around for UI uses and other queries this.currentVersion = currentVersion; this.targetVersion = targetVersion; @@ -437,42 +439,55 @@ export class VersionCompareManager { if (this.ignoredElementIds !== undefined) { filteredChangedElements = this._filterIgnoredElementsFromChangesets(changedElements); } - await this.changedElementsManager.initialize( - this._currentIModel, - this._targetIModel, - filteredChangedElements, - this.wantAllModels ? undefined : wantedModelClasses, - false, - this.filterSpatial, - this.loadingProgressEvent, - ); - const changedElementEntries = this.changedElementsManager.entryCache.getAll(); - - // We have parent Ids available if any entries contain undefined parent data - this._hasParentIds = changedElementEntries.some( - (entry) => entry.parent !== undefined && entry.parentClassId !== undefined, - ); - // We have type of change available if any of the entries has a valid type of change value - this._hasTypeOfChange = changedElementEntries.some((entry) => entry.type !== 0); - // We have property filtering available if any of the entries has a valid array of changed properties - this._hasPropertiesForFiltering = changedElementEntries.some( - (entry) => entry.properties !== undefined && entry.properties.size !== 0, - ); - - // Get the entries - this.loadingProgressEvent.raiseEvent( - IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.msg_findingAssemblies"), - ); - await this.changedElementsManager.entryCache.initialLoad(changedElementEntries.map((entry) => entry.id)); + if (skipPreloading) { + await this.initializeChangeSetEntriesAndChangeSets( + this._currentIModel, + this._targetIModel, + filteredChangedElements, this.wantAllModels ? undefined : wantedModelClasses, + false, + this.filterSpatial); + const changedElementEntries = this.changedElementsManager.entryCache.getAll(); + // We have type of change available if any of the entries has a valid type of change value + this._hasTypeOfChange = changedElementEntries.some((entry) => entry.type !== 0); + // We have property filtering available if any of the entries has a valid array of changed properties + this._hasPropertiesForFiltering = changedElementEntries.some( + (entry) => entry.properties !== undefined && entry.properties.size !== 0, + ); + } else { + await this.changedElementsManager.initialize( + this._currentIModel, + this._targetIModel, + filteredChangedElements, + this.wantAllModels ? undefined : wantedModelClasses, + false, + this.filterSpatial, + this.loadingProgressEvent, + ); + const changedElementEntries = this.changedElementsManager.entryCache.getAll(); + + // We have parent Ids available if any entries contain undefined parent data + this._hasParentIds = changedElementEntries.some( + (entry) => entry.parent !== undefined && entry.parentClassId !== undefined, + ); + // We have type of change available if any of the entries has a valid type of change value + this._hasTypeOfChange = changedElementEntries.some((entry) => entry.type !== 0); + // We have property filtering available if any of the entries has a valid array of changed properties + this._hasPropertiesForFiltering = changedElementEntries.some( + (entry) => entry.properties !== undefined && entry.properties.size !== 0, + ); + + this.loadingProgressEvent.raiseEvent( + IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.msg_findingAssemblies"), + ); + await this.changedElementsManager.entryCache.initialLoad(changedElementEntries.map((entry) => entry.id)); + } // Reset the select tool to allow external iModels to be located await IModelApp.toolAdmin.startDefaultTool(); - // Enable visualization of version comparison - await this.enableVisualization(false); - + await this.enableVisualization(false, undefined); // Raise event - this.versionCompareStarted.raiseEvent(this._currentIModel, this._targetIModel, changedElementEntries); + this.versionCompareStarted.raiseEvent(this._currentIModel, this._targetIModel, this.changedElementsManager.entryCache.getAll()); VersionCompareUtils.outputVerbose(VersionCompareVerboseMessages.versionCompareManagerStartedComparison); VersionCompare.manager?.featureTracking?.trackVersionSelectorV2Usage(); } catch (ex) { @@ -503,17 +518,31 @@ export class VersionCompareManager { await this.stopComparison(); } } - + const endTime = Date.now(); + const duration = endTime - startTime; + console.log(`The operation took ${duration} milliseconds. With ${changedElements[0].elements.length} elements.`); return success; } + private async initializeChangeSetEntriesAndChangeSets( + currentIModel: IModelConnection, + targetIModel: IModelConnection, + changedElements: ChangedElements[], + wantedModelClasses?: string[], + forward?: boolean, + filterSpatial?: boolean,) { + await this.changedElementsManager.setChangeSets(currentIModel, targetIModel, changedElements, wantedModelClasses, forward, filterSpatial,false,true); + await this.changedElementsManager.generateEntries(currentIModel, targetIModel, false); + } + + /** * Enable visualization of version comparison. * @param wantTargetModified Show modified elements from target comparison in single viewport */ public async enableVisualization(wantTargetModified?: boolean, focusedSelection?: KeySet): Promise { // TODO: Handle proper viewports - await this._visualizationHandler?.enableVisualization({ wantTargetModified, focusedSelection }); + await this._visualizationHandler?.enableVisualization({ wantTargetModified, focusedSelection}); } /** Enable side by side visualization and viewport syncing. */ diff --git a/packages/changed-elements-react/src/api/VersionCompareVisualization.ts b/packages/changed-elements-react/src/api/VersionCompareVisualization.ts index 7ddf028c..377e4de4 100644 --- a/packages/changed-elements-react/src/api/VersionCompareVisualization.ts +++ b/packages/changed-elements-react/src/api/VersionCompareVisualization.ts @@ -53,6 +53,10 @@ export class VersionCompareVisualizationManager { return ColorDef.create("rgba(228,228,228,10)"); } + public get currentViewport() { + return this._viewport; + } + public displayOptions: VersionDisplayOptions; private _currentHiliteSetProvider: HiliteSetProvider; diff --git a/packages/changed-elements-react/src/contentviews/PropertyComparisonTable.tsx b/packages/changed-elements-react/src/contentviews/PropertyComparisonTable.tsx index 03fac290..165600c1 100644 --- a/packages/changed-elements-react/src/contentviews/PropertyComparisonTable.tsx +++ b/packages/changed-elements-react/src/contentviews/PropertyComparisonTable.tsx @@ -5,7 +5,7 @@ import { PropertyRecord, PropertyValueFormat } from "@itwin/appui-abstract"; import { Logger } from "@itwin/core-bentley"; import { IModelApp, type IModelConnection } from "@itwin/core-frontend"; -import { IconButton, Slider, Table, Text, ToggleSwitch, type TableProps } from "@itwin/itwinui-react"; +import { IconButton, Slider, Table, Text, ToggleSwitch } from "@itwin/itwinui-react"; import type { KeySet } from "@itwin/presentation-common"; import { PresentationPropertyDataProvider } from "@itwin/presentation-components"; import { memo, useEffect, useMemo, useRef, useState, type ReactElement } from "react"; @@ -18,9 +18,12 @@ import type { ChangedElementsManager } from "../api/ChangedElementsManager.js"; import { getTypeOfChangeTooltip } from "../api/ChangesTooltipProvider.js"; import type { VersionCompareManager } from "../api/VersionCompareManager.js"; import { updateVersionComparisonTransparencies } from "../api/VersionCompareTiles.js"; - +import { Row } from "@itwin/itwinui-react/react-table"; import "./PropertyComparisonTable.scss"; + +type TableProps> = React.ComponentProps>; + export interface PropertyComparisonTableProps { manager: VersionCompareManager; @@ -621,18 +624,21 @@ function SideBySideToggle(props: SideBySideToggleProps): ReactElement { ); } -const getRowProps: TableProps["rowProps"] = (row) => { - const { current, target } = (row.values as ComparisonDataRow); +const getRowProps: (row:Row) => React.ComponentPropsWithRef<"div"> & { + status?: "positive" | "warning" | "negative"; + isLoading?: boolean; +} = (row) => { + const { current, target } = row.values; if (current === "" && target !== "") { - return { className: "row-deleted" }; + return { className: "row-deleted", status: "negative" }; } if (current !== "" && target === "") { - return { className: "row-added" }; + return { className: "row-added", status: "positive" }; } if (current !== target) { - return { className: "row-modified" }; + return { className: "row-modified", status: "warning" }; } return {}; diff --git a/packages/changed-elements-react/src/dialogs/SavedFiltersDialog.tsx b/packages/changed-elements-react/src/dialogs/SavedFiltersDialog.tsx index 7020717a..80a3d9aa 100644 --- a/packages/changed-elements-react/src/dialogs/SavedFiltersDialog.tsx +++ b/packages/changed-elements-react/src/dialogs/SavedFiltersDialog.tsx @@ -183,7 +183,6 @@ export function EditableFilterName(props: EditableFilterNameProps): ReactElement ? void; + onLoadLabels?: (done: boolean) => void; + onShowAll?: () => Promise; + onHideAll?: () => Promise; + onInvert?: () => Promise; + options: FilterOptions; + wantTypeOfChange?: boolean; + wantPropertyFiltering?: boolean; + iModelConnection: IModelConnection | undefined; + onSearchChanged?: (newFilter: string) => void; + enableDisplayShowAllHideAllButtons?: boolean; +} + +function ChangeTypeFilterHeader(props: FilterHeaderProps): ReactElement { + const [advancedFilterDialogShown, setAdvancedFilterDialogShown] = useState(false); + const [advancedFilterDialogData, setAdvancedFilterDialogData] = useState(); + const [options, setOptions] = useState(props.options); + + /** Handle saving the advanced filter changes. */ + const handleAdvancedFilteringSave = () => { + const opts = props.options; + for (const data of advancedFilterDialogData ?? []) { + opts.wantedProperties.set(data.name, data.visible ?? false); + } + + setAdvancedFilterDialogShown(false); + props.onFilterChange(opts); + }; + + /** Handles selected filters. */ + const handleFilterSelected = (filterOptions: FilterOptions) => { + props.onFilterChange(filterOptions); + }; + + /** Get current filter options. */ + const getCurrentFilterOptions = () => { + return props.options; + }; + + /** Handle opening the advanced filter property dialog. */ + const openAdvancedFilterDialog = async () => { + VersionCompare.manager?.featureTracking?.trackAdvancedFiltersUsage(); + try { + if (props.onLoadLabels) { + props.onLoadLabels(false); + } + + // Create PropertyFilter data for the dialog to use + const data: PropertyFilter[] = []; + for (const pair of props.options.wantedProperties) { + const name = pair[0]; + const visible = pair[1]; + const ids: string[] = []; + const classIds: string[] = []; + for (const entry of props.entries) { + if (entry.properties?.has(name)) { + ids.push(entry.id); + classIds.push(entry.classId); + } + } + + data.push({ + name, + classId: classIds[0], // TODO: Figure out how to handle multiple class ids? + visible, + ids, + }); + } + + const properties = data.map(({ name, classId }) => ({ propertyName: name, classId })); + // Preload property labels + if (!PropertyLabelCache.allLoaded(properties) && props.iModelConnection) { + await PropertyLabelCache.loadLabels(props.iModelConnection, properties); + } + + // Add labels to data and sort by label + const finalData = data + .map((filter) => { + return { + ...filter, + label: PropertyLabelCache.getLabel(filter.classId, filter.name) ?? filter.name, + }; + }) + .sort((a, b) => b.label?.localeCompare(a.label ?? "") ?? 0); + + props.onLoadLabels?.(true); + + setAdvancedFilterDialogData(finalData); + setAdvancedFilterDialogShown(true); + } catch (e) { + // Ensure that if something fails, we let the consumer know we are 'done' loading + Logger.logError(VersionCompare.logCategory, "Advanced Dialog Opening Error: " + (e as string)); + props.onLoadLabels?.(true); + } + }; + + type BooleanFields = keyof { [K in keyof T as T[K] extends boolean ? K : never]: T[K] }; + + const handleToggle = (optionName: BooleanFields) => { + // todo should state for options be handled in two places? Figure out before PR is merged + const options = props.options; + options[optionName] = !options[optionName]; + const newOptions: FilterOptions={...options}; + props.onFilterChange(options); + setOptions(newOptions); + }; + + const legendButtonItems = (close: () => void): JSX.Element[] => [ +
+ handleToggle("wantUnchanged")} + /> + handleToggle("wantAdded")} + /> + handleToggle("wantDeleted")} + /> + handleToggle("wantModified")} + /> + { + options.wantModified && + <> + + {renderTypeOfChangeMenu(close)} + + } +
, + ]; + + const renderTypeOfChangeMenu = (close?: () => void) => { + const makeContextMenuItem = (localeStr: string, flag: number) => { + const isOn = (props.options.wantedTypeOfChange & flag) !== 0; + return ( + { + // todo should state for options be handled in two places? Figure out before PR is merged + const newOpts:FilterOptions = {...props.options}; + newOpts.wantedTypeOfChange = isOn ? newOpts.wantedTypeOfChange & ~flag : newOpts.wantedTypeOfChange | flag; + setOptions(newOpts); + props.onFilterChange(newOpts); + }} + /> + ); + }; + + return ( + <> + {makeContextMenuItem("geometry", TypeOfChange.Geometry)} + {makeContextMenuItem("placement", TypeOfChange.Placement)} + {makeContextMenuItem("property", TypeOfChange.Property | TypeOfChange.Indirect)} + {makeContextMenuItem("hiddenProperty", TypeOfChange.Hidden)} + {props.wantPropertyFiltering &&
} + { + props.wantPropertyFiltering && + { + // Close context menu + close?.(); + // Open advanced filter dialog + await openAdvancedFilterDialog(); + }} + > + {IModelApp.localization.getLocalizedString("VersionCompare:typeOfChange.advancedFiltering")} + + } + + ); + }; + + // For now, re-order toggles so that extra modified menu is at the right + return ( +
+ setAdvancedFilterDialogShown(false)} + > + + ) => void} + showValues={false} + onFilterSelected={handleFilterSelected} + getCurrentFilterOptions={getCurrentFilterOptions} + /> + + + + + + + + {(props.enableDisplayShowAllHideAllButtons || props.enableDisplayShowAllHideAllButtons === undefined) && <> + + + + + + + + + +
+ } + + {IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.filter")} + + +
+ ); +} + +export default ChangeTypeFilterHeader; diff --git a/packages/changed-elements-react/src/widgets/ChangedElementsWidget.tsx b/packages/changed-elements-react/src/widgets/ChangedElementsWidget.tsx index beb6e813..cab87c31 100644 --- a/packages/changed-elements-react/src/widgets/ChangedElementsWidget.tsx +++ b/packages/changed-elements-react/src/widgets/ChangedElementsWidget.tsx @@ -23,11 +23,12 @@ import { ReportGeneratorDialog } from "../dialogs/ReportGeneratorDialog.js"; import { ChangedElementsInspector } from "./EnhancedElementsInspector.js"; import "./ChangedElementsWidget.scss"; import InfoButton from "./InformationButton.js"; -import { VersionCompareSelectDialogV2 } from "./comparisonJobWidget/components/VersionCompareSelectModal.js"; +import { VersionCompareSelectDialogV2 } from "./comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectModal.js"; import { FeedbackButton } from "./FeedbackButton.js"; import { VersionCompareSelectDialog } from "./VersionCompareSelectWidget.js"; -import { ComparisonJobUpdateType, VersionCompareSelectProviderV2 } from "./comparisonJobWidget/components/VersionCompareDialogProvider.js"; -import { JobAndNamedVersions } from "./comparisonJobWidget/models/ComparisonJobModels.js"; +import { ComparisonJobUpdateType, VersionCompareSelectProviderV2 } from "./comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareDialogProvider.js"; +import { JobAndNamedVersions } from "./comparisonJobWidget/components/VersionCompareDialogV2/models/ComparisonJobModels.js"; +import ChangedElementsInspectorV2 from "./comparisonJobWidget/components/ChangeElementsInspectorV2/ChangedElementsInspectorV2.js"; export const changedElementsWidgetAttachToViewportEvent = new BeEvent<(vp: ScreenViewport) => void>(); @@ -47,6 +48,8 @@ export interface ChangedElementsWidgetProps { feedbackUrl?: string; /** Optional. When enabled will toast messages regarding job status. If not defined will default to false and will not show toasts (Only for V2). */ enableComparisonJobUpdateToasts?: boolean; + /** Optional. When enabled will models tree for inspecting elements instead of previous element inspector component. Should only be used if v2 is enabled*/ + useChangedElementsInspectorV2?: boolean; /** On Job Update (Only for V2) * Optional. a call back function for handling job updates. * @param comparisonJobUpdateType param for the type of update: @@ -181,6 +184,7 @@ export class ChangedElementsWidget extends Component); + } return ( } {this.props.useV2Widget ? - + {this.state.versionSelectDialogVisible && { ); }; -interface FilterHeaderProps { - entries: ChangedElementEntry[]; - onFilterChange: (options: FilterOptions) => void; - onLoadLabels?: (done: boolean) => void; - onShowAll: () => Promise; - onHideAll: () => Promise; - onInvert: () => Promise; - options: FilterOptions; - wantTypeOfChange?: boolean; - wantPropertyFiltering?: boolean; - iModelConnection: IModelConnection | undefined; - onSearchChanged?: (newFilter: string) => void; -} - -function ChangeTypeFilterHeader(props: FilterHeaderProps): ReactElement { - const [advancedFilterDialogShown, setAdvancedFilterDialogShown] = useState(false); - const [advancedFilterDialogData, setAdvancedFilterDialogData] = useState(); - - /** Handle saving the advanced filter changes. */ - const handleAdvancedFilteringSave = () => { - const opts = props.options; - for (const data of advancedFilterDialogData ?? []) { - opts.wantedProperties.set(data.name, data.visible ?? false); - } - - setAdvancedFilterDialogShown(false); - props.onFilterChange(opts); - }; - - /** Handles selected filters. */ - const handleFilterSelected = (filterOptions: FilterOptions) => { - props.onFilterChange(filterOptions); - }; - - /** Get current filter options. */ - const getCurrentFilterOptions = () => { - return props.options; - }; - - /** Handle opening the advanced filter property dialog. */ - const openAdvancedFilterDialog = async () => { - VersionCompare.manager?.featureTracking?.trackAdvancedFiltersUsage(); - try { - if (props.onLoadLabels) { - props.onLoadLabels(false); - } - - // Create PropertyFilter data for the dialog to use - const data: PropertyFilter[] = []; - for (const pair of props.options.wantedProperties) { - const name = pair[0]; - const visible = pair[1]; - const ids: string[] = []; - const classIds: string[] = []; - for (const entry of props.entries) { - if (entry.properties?.has(name)) { - ids.push(entry.id); - classIds.push(entry.classId); - } - } - - data.push({ - name, - classId: classIds[0], // TODO: Figure out how to handle multiple class ids? - visible, - ids, - }); - } - - const properties = data.map(({ name, classId }) => ({ propertyName: name, classId })); - // Preload property labels - if (!PropertyLabelCache.allLoaded(properties) && props.iModelConnection) { - await PropertyLabelCache.loadLabels(props.iModelConnection, properties); - } - - // Add labels to data and sort by label - const finalData = data - .map((filter) => { - return { - ...filter, - label: PropertyLabelCache.getLabel(filter.classId, filter.name) ?? filter.name, - }; - }) - .sort((a, b) => b.label?.localeCompare(a.label ?? "") ?? 0); - - props.onLoadLabels?.(true); - - setAdvancedFilterDialogData(finalData); - setAdvancedFilterDialogShown(true); - } catch (e) { - // Ensure that if something fails, we let the consumer know we are 'done' loading - Logger.logError(VersionCompare.logCategory, "Advanced Dialog Opening Error: " + (e as string)); - props.onLoadLabels?.(true); - } - }; - - type BooleanFields = keyof { [K in keyof T as T[K] extends boolean ? K : never]: T[K] }; - - const handleToggle = (optionName: BooleanFields) => { - const options = props.options; - options[optionName] = !options[optionName]; - - props.onFilterChange(options); - }; - - const legendButtonItems = (close: () => void): JSX.Element[] => [ -
- handleToggle("wantUnchanged")} - /> - handleToggle("wantAdded")} - /> - handleToggle("wantDeleted")} - /> - handleToggle("wantModified")} - /> - { - props.options.wantModified && - <> - - {renderTypeOfChangeMenu(close)} - - } -
, - ]; - - const renderTypeOfChangeMenu = (close?: () => void) => { - const makeContextMenuItem = (localeStr: string, flag: number) => { - const isOn = (props.options.wantedTypeOfChange & flag) !== 0; - return ( - { - const opts = props.options; - opts.wantedTypeOfChange = isOn ? opts.wantedTypeOfChange & ~flag : opts.wantedTypeOfChange | flag; - props.onFilterChange(opts); - }} - /> - ); - }; - - return ( - <> - {makeContextMenuItem("geometry", TypeOfChange.Geometry)} - {makeContextMenuItem("placement", TypeOfChange.Placement)} - {makeContextMenuItem("property", TypeOfChange.Property | TypeOfChange.Indirect)} - {makeContextMenuItem("hiddenProperty", TypeOfChange.Hidden)} - {props.wantPropertyFiltering &&
} - { - props.wantPropertyFiltering && - { - // Close context menu - close?.(); - // Open advanced filter dialog - await openAdvancedFilterDialog(); - }} - > - {IModelApp.localization.getLocalizedString("VersionCompare:typeOfChange.advancedFiltering")} - - } - - ); - }; - - // For now, re-order toggles so that extra modified menu is at the right - return ( -
- setAdvancedFilterDialogShown(false)} - > - - ) => void} - showValues={false} - onFilterSelected={handleFilterSelected} - getCurrentFilterOptions={getCurrentFilterOptions} - /> - - - - - - - - - - - - - - - - -
- - {IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.filter")} - - -
- ); -} - export interface ChangedElementsListProps { manager: VersionCompareManager; dataProvider: ChangesTreeDataProvider; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareToasts.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareToasts.ts index 7d54cee7..771b5240 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareToasts.ts +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareToasts.ts @@ -4,11 +4,13 @@ *--------------------------------------------------------------------------------------------*/ import { IModelApp, IModelConnection, NotifyMessageDetails, OutputMessagePriority, OutputMessageType } from "@itwin/core-frontend"; import { IModelsClient, NamedVersion } from "../../../clients/iModelsClient"; -import { toaster } from "@itwin/itwinui-react"; import { runManagerStartComparisonV2 } from "./versionCompareV2WidgetUtils"; import { ComparisonJobCompleted, IComparisonJobClient } from "../../../clients/IComparisonJobClient"; -import { ComparisonJobUpdateType } from "../components/VersionCompareDialogProvider"; -import { JobAndNamedVersions } from "../models/ComparisonJobModels"; +import { ComparisonJobUpdateType } from "../components/VersionCompareDialogV2/VersionCompareDialogProvider"; +import { JobAndNamedVersions } from "../components/VersionCompareDialogV2/models/ComparisonJobModels"; +import { useToaster } from "@itwin/itwinui-react"; + +export type Toaster = ReturnType; /** Toast Comparison Job Processing. * Outputs toast message following the pattern: @@ -55,6 +57,8 @@ export type ToastComparisonJobCompleteArgs = { getToastsEnabled?: () => boolean; runOnJobUpdate?: (comparisonEventType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; iModelsClient: IModelsClient; + useChangedElementsInspectorV2: boolean; + toaster: Toaster; }; /** Toast Comparison Job Complete. @@ -66,17 +70,17 @@ export type ToastComparisonJobCompleteArgs = { */ export const toastComparisonJobComplete = (args: ToastComparisonJobCompleteArgs) => { const title = IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.viewTheReport"); - toaster.closeAll(); - toaster.setSettings({ + args.toaster.closeAll(); + args.toaster.setSettings({ placement: "bottom", }); - toaster.positive( + args.toaster.positive( `${IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.iModelVersions")}<${args.currentVersion?.displayName}> ${IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.and")} <${args.targetVersion.displayName}> ${IModelApp.localization.getLocalizedString("VersionCompare:versionCompare.jobComplete")}`, { hasCloseButton: true, link: { title: title, onClick: () => { - toaster.closeAll(); + args.toaster.closeAll(); void runManagerStartComparisonV2({ comparisonJob: args.comparisonJob, comparisonJobClient: args.comparisonJobClient, @@ -86,6 +90,7 @@ export const toastComparisonJobComplete = (args: ToastComparisonJobCompleteArgs) getToastsEnabled: args.getToastsEnabled, runOnJobUpdate: args.runOnJobUpdate, iModelsClient: args.iModelsClient, + useChangedElementsInspectorV2: args.useChangedElementsInspectorV2, }); }, }, diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareV2WidgetUtils.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareV2WidgetUtils.ts index c23d4756..5f6419a1 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareV2WidgetUtils.ts +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/common/versionCompareV2WidgetUtils.ts @@ -8,9 +8,9 @@ import { IModelsClient, NamedVersion } from "../../../clients/iModelsClient"; import { VersionCompare } from "../../../api/VersionCompare"; import { toastComparisonVisualizationStarting } from "./versionCompareToasts"; import { Logger } from "@itwin/core-bentley"; -import { JobAndNamedVersions, JobStatusAndJobProgress } from "../models/ComparisonJobModels"; -import { VersionState } from "../models/VersionState"; -import { ComparisonJobUpdateType } from "../components/VersionCompareDialogProvider"; +import { JobAndNamedVersions, JobStatusAndJobProgress } from "../components/VersionCompareDialogV2/models/ComparisonJobModels"; +import { VersionState } from "../components/VersionCompareDialogV2/models/VersionState"; +import { ComparisonJobUpdateType } from "../components/VersionCompareDialogV2/VersionCompareDialogProvider"; export type ManagerStartComparisonV2Args = { comparisonJob: ComparisonJobCompleted; @@ -21,6 +21,7 @@ export type ManagerStartComparisonV2Args = { getToastsEnabled?: () => boolean; runOnJobUpdate?: (comparisonEventType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; iModelsClient: IModelsClient; + useChangedElementsInspectorV2: boolean; }; export const runManagerStartComparisonV2 = async (args: ManagerStartComparisonV2Args) => { @@ -43,13 +44,15 @@ export const runManagerStartComparisonV2 = async (args: ManagerStartComparisonV2 VersionCompare.manager?.startComparisonV2( args.iModelConnection, args.currentVersion, - await updateTargetVersion(args.iModelConnection, args.targetVersion, args.iModelsClient), - [changedElements.changedElements]).catch((e) => { + await updateTargetVersion(args.iModelConnection, args.targetVersion, args.iModelsClient, args.currentVersion), + [changedElements.changedElements], + args.useChangedElementsInspectorV2).catch((e) => { Logger.logError(VersionCompare.logCategory, "Could not start version comparison: " + e); }); }; -const updateTargetVersion = async (iModelConnection: IModelConnection, targetVersion: NamedVersion, iModelsClient: IModelsClient) => { +//todo remove current this if for logging only +const updateTargetVersion = async (iModelConnection: IModelConnection, targetVersion: NamedVersion, iModelsClient: IModelsClient, currentNamedVersion: NamedVersion) => { // we need to update the changesetId and index of the target version. // earlier we updated all named versions to have an offset of 1, so we undo this offset to get the proper results from any VersionCompare.manager?.startComparisonV2 calls // on this target version @@ -59,6 +62,8 @@ const updateTargetVersion = async (iModelConnection: IModelConnection, targetVer updatedTargetVersion.changesetIndex = targetVersion.changesetIndex - 1; const changeSets = await iModelsClient.getChangesets({ iModelId }).then((changesets) => changesets.slice().reverse()); const actualChangeSet = changeSets.find((changeset) => updatedTargetVersion.changesetIndex === changeset.index); + const currentChangeSet = changeSets.find((changeset) => currentNamedVersion.changesetIndex === changeset.index); + console.log(`ChangesetRange: ${currentChangeSet?.index} - ${actualChangeSet?.index}`); if (actualChangeSet) { updatedTargetVersion.changesetId = actualChangeSet.id; } diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ChangedElementsInspectorV2.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ChangedElementsInspectorV2.tsx new file mode 100644 index 00000000..2433405b --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ChangedElementsInspectorV2.tsx @@ -0,0 +1,138 @@ +/* eslint-disable react/prop-types */ +import { VersionCompareManager } from "../../../../api/VersionCompareManager"; +import { useCallback, useMemo, useState } from "react"; +import { IModelConnection, Viewport } from "@itwin/core-frontend"; +import { useModelsTreeButtonProps, TreeWithHeader, ModelsTreeComponent, VisibilityTree, VisibilityTreeRenderer, useModelsTree } from "@itwin/tree-widget-react"; +import { createStorage, SelectionStorage } from "@itwin/unified-selection"; +import { SchemaContext } from "@itwin/ecschema-metadata"; +import { ECSchemaRpcLocater } from "@itwin/ecschema-rpcinterface-common"; +import React from "react"; +import { ModeOptions, ModeSelector } from "./ModeSelector"; +import { CreateNodeLabelComponentProps, CustomModelsTreeRendererProps } from "./models/modelsTreeAndNodeTypes"; +import { FilterOptions } from "../../../../SavedFiltersManager"; +import ChangeTypeFilterHeader from "../../../ChangeTypeFilterHeader"; +import { type InstanceKey } from '@itwin/presentation-common'; +import NodeLabelCreator from "./NodeLabelComponents/NodeLabelCreator"; +import { handleFilterChange, makeDefaultFilterOptions, setVisualization } from "./filterChangeHandler"; +import { v4 } from 'uuid'; +import { ModelsCategoryCache } from "../../../../api/ModelsCategoryCache"; + +let unifiedSelectionStorage: SelectionStorage | undefined; +const schemaContextCache = new Map(); + +// The Models tree requires a unified selection storage to support selection synchronization with the +// application. The storage should be created once per application and shared across multiple selection-enabled +// components. +function getUnifiedSelectionStorage(): SelectionStorage { + if (!unifiedSelectionStorage) { + unifiedSelectionStorage = createStorage(); + IModelConnection.onClose.addListener((imodel) => { + unifiedSelectionStorage!.clearStorage({ imodelKey: imodel.key }); + }); + } + return unifiedSelectionStorage; +} + +// Schema context is used by Models tree to access iModels metadata. Similar to selection storage, it should be +// created once per application and shared across multiple components. +function getSchemaContext(imodel: IModelConnection): SchemaContext { + const key = imodel.getRpcProps().key; + let schemaContext = schemaContextCache.get(key); + if (!schemaContext) { + const schemaLocater = new ECSchemaRpcLocater(imodel.getRpcProps()); + schemaContext = new SchemaContext(); + schemaContext.addLocater(schemaLocater); + schemaContextCache.set(key, schemaContext); + imodel.onClose.addOnce(() => schemaContextCache.delete(key)); + } + return schemaContext; +} + +export type ChangedElementsInspectorV2Props = { + manager: VersionCompareManager; + current: IModelConnection; + currentVP: Viewport; +}; + +function ChangedElementsInspectorV2(v2InspectorProps: Readonly) { + const buttonProps = useModelsTreeButtonProps({ imodel: v2InspectorProps.current, viewport: v2InspectorProps.currentVP }); + const [mode, setMode] = useState("enable"); + const propertyNames = v2InspectorProps.manager.changedElementsManager.getAllChangedPropertyNames(); + const [filterOptions, setFilterOptions] = useState(makeDefaultFilterOptions(propertyNames)); + const [searchedText, setSearchedText] = useState(""); + const instanceKeys = useMemo(()=>getInstanceKeys(v2InspectorProps.manager), [v2InspectorProps.manager]); + const [filteredInstanceKeysOfChangedElements, setFilteredInstanceKeysOfChangedElements] = useState(instanceKeys); + const modeSelectorProps = { + onChange: (value: React.SetStateAction) => { + setMode(value); + }, + options: [ + { label: "Enable Class Grouping", value: "enable" }, + { label: "Disable Class Grouping", value: "disable" }, + ] as { label: string; value: ModeOptions; }[], + inputProps: { placeholder: "Enable Class Grouping" }, + value: mode, + }; + const { modelsTreeProps, rendererProps } = useModelsTree({ + activeView: v2InspectorProps.currentVP, + hierarchyConfig: { elementClassGrouping: mode }, + getFilteredPaths: useCallback(async function ({ createInstanceKeyPaths }) { + const instanceKeyPaths = await createInstanceKeyPaths({ + targetItems: filteredInstanceKeysOfChangedElements // Adjust this based on your actual target items + }); + return instanceKeyPaths; + }, [filteredInstanceKeysOfChangedElements]), + filter: useMemo(() => searchedText, [searchedText]), + }); + + function CustomModelsTreeRenderer(props: CustomModelsTreeRendererProps) { + const getLabel = useCallback(NodeLabelCreator({ ...props, ...v2InspectorProps }), + [props.getLabel], + ); + return ; + } + return ( + , + , + setSearchedText(searchedText)} + />, + , + ] + }> + } + /> + + ); +} + +const getInstanceKeys = (manager: VersionCompareManager) => { + const changedElementsManager= manager.changedElementsManager; + const entries = Array.from(changedElementsManager.filteredChangedElements.keys()); + // filtering on models level may be too high, may need to filter on cat level( how associate cat with element?) + const ElementInstanceKeys = entries + .map((key) => { + const instanceKey = changedElementsManager.elementIdAndInstanceKeyMap.get(key); + return instanceKey ? instanceKey : null; + }) + .filter((instanceKey): instanceKey is { className: string; id: string; } => instanceKey !== null) + + void setVisualization(ElementInstanceKeys, manager); + // todo this work well for first render but what about when I need to do element level filtering? I.E only added elements ? + return ElementInstanceKeys +} + +export default ChangedElementsInspectorV2; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ElementLabel.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ElementLabel.tsx new file mode 100644 index 00000000..e69de29b diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ModeSelector.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ModeSelector.tsx new file mode 100644 index 00000000..5995867e --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/ModeSelector.tsx @@ -0,0 +1,28 @@ +import { ComboBox } from "@itwin/itwinui-react"; +import React from "react"; + +export type ModeOptions = "enable" | "disable"; + +type ModeSelectorProps = { + onChange: (value: React.SetStateAction) => void; + options: { label: string; value: T; }[]; + inputProps: { placeholder: string; }; + value: T; +}; + +export function ModeSelector(props: Readonly>) { + const options = React.useMemo( + () => props.options, + [props.options], + ); + return ( + + ); +} + +export default ModeSelector; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/ElementLabel.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/ElementLabel.tsx new file mode 100644 index 00000000..9ae838b8 --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/ElementLabel.tsx @@ -0,0 +1,24 @@ +import { ProgressRadial } from "@itwin/itwinui-react"; + +export type ColorClasses = "added" | "modified" | ""; + +type ElementLabelProps = { + color: ColorClasses; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + originalLabel: React.ReactElement> | undefined; + loading?: boolean; +}; + +export function ElementLabel(props: Readonly) { + return ( + <> + {props.loading && } +
+ {props.originalLabel} + + ); +} + +export default ElementLabel; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/NodeLabelCreator.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/NodeLabelCreator.tsx new file mode 100644 index 00000000..6ddfab36 --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/NodeLabelComponents/NodeLabelCreator.tsx @@ -0,0 +1,123 @@ +/* eslint-disable react/prop-types */ +import { DbOpcode } from "@itwin/core-bentley"; +import { ModelsCategoryCache } from "../../../../../api/ModelsCategoryCache"; +import { useEffect, useState } from "react"; +import "../styles/NodeLabel.scss"; +import { HierarchyNode, NodeType, PresentationHierarchyNode } from "../models/modelsTreeAndNodeTypes"; +import { ColorClasses, ElementLabel } from "./ElementLabel"; +import ChangedElementsInspectorV2 from "../ChangedElementsInspectorV2"; +import { ProgressRadial } from "@itwin/itwinui-react"; + +const modifiedCategoryIds = new Set(); + +type NodeLabelCreatorProps = { + getLabel: (node: PresentationHierarchyNode) => React.ReactElement | undefined; +} & React.ComponentProps; + +export const NodeLabelCreator = (props: NodeLabelCreatorProps) => { + return function CreateNodeLabelComponent(node: Readonly) { + const nodeType = getNodeType(node); + const [catColor, setCatColor] = useState(""); + const modelsCategoryData = ModelsCategoryCache.getModelsCategoryData(); + const ecInstanceId = extractEcInstanceIdFromNode(node, nodeType); + const originalLabel = props.getLabel(node); + useEffect(() => { + const findIfCategoryHasChangedElements = async () => { + if (ecInstanceId && modifiedCategoryIds.has(ecInstanceId)) { + setCatColor("modified"); + return; + } + for await (const row of props.current.query( + `SELECT ECInstanceId as id FROM BisCore.GeometricElement3d where Category.id = ${ecInstanceId}`, + )) { + if (ecInstanceId && props.manager.changedElementsManager.filteredChangedElements.has(row[0])) { + modifiedCategoryIds.add(ecInstanceId); + } + setCatColor("modified"); + break; + } + }; + if (nodeType === "category") { + void findIfCategoryHasChangedElements(); + } + }); + if (ecInstanceId === undefined) { + return <>{node.label}; + } + const changeElementEntry = props.manager.changedElementsManager.allChangeElements.get(ecInstanceId); + if (changeElementEntry && (nodeType === "element" || nodeType === "subject")) { + if (nodeType === "element") { + return ElementLabel({ originalLabel: originalLabel, color: getColorBasedOffDbCode(changeElementEntry.opcode) }); + } + return ElementLabel({ originalLabel: originalLabel, color: "modified" }); + } + if (modelsCategoryData?.addedElementsModels.has(ecInstanceId)) { + return ElementLabel({ originalLabel: originalLabel, color: "modified" }); + } + if (nodeType === "category") { + return ElementLabel({ originalLabel: originalLabel, color: catColor }); + } + if (nodeType === "element") { + return ElementLabel({ originalLabel: originalLabel, color: "", loading: true }); + } + return ElementLabel({ originalLabel: originalLabel, color: "modified" }); + }; +}; + +const extractInstanceNodeKeyFromNode = (node: PresentationHierarchyNode) => { + const treeNodeItem: HierarchyNode = node.nodeData; + const key = treeNodeItem ? treeNodeItem.key : undefined; + if (!key || typeof key === "string" || ("type" in key && key.type !== "instances")) { + return undefined; + } + return key; +}; + +const extractGroupingNodeKeyFromNode = (node: PresentationHierarchyNode) => { + const treeNodeItem: HierarchyNode = node.nodeData; + const key = treeNodeItem ? treeNodeItem.key : undefined; + if (!key || typeof key === "string" || ("type" in key && key.type !== "class-grouping")) { + return undefined; + } + return key; +}; + +const extractModelEcInstanceIdFromClassGroupingNode = (node: PresentationHierarchyNode): string | undefined => { + return node.extendedData?.modelId; +}; + +const extractEcInstanceIdFromNode = (node: PresentationHierarchyNode, nodeType: NodeType) => { + if (nodeType !== "class-grouping") { + return extractInstanceNodeKeyFromNode(node)?.instanceKeys[0].id; + } else { + return extractModelEcInstanceIdFromClassGroupingNode(node); + } +}; + +const getNodeType = (node: PresentationHierarchyNode): NodeType => { + if (node.extendedData?.isSubject) + return "subject"; + if (node.extendedData?.isModel) + return "model"; + if (node.extendedData?.isCategory) + return "category"; + if (extractGroupingNodeKeyFromNode(node)) + return "class-grouping"; + + return "element"; +}; + +const getColorBasedOffDbCode = (opcode?: DbOpcode): ColorClasses => { + switch (opcode) { + case DbOpcode.Insert: + return "added"; + case DbOpcode.Update: + return "modified"; + case DbOpcode.Delete: + return "modified"; + default: + return ""; + } +}; + +export default NodeLabelCreator; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/filterChangeHandler.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/filterChangeHandler.ts new file mode 100644 index 00000000..afd792e0 --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/filterChangeHandler.ts @@ -0,0 +1,174 @@ + +import { InstanceKey } from "@itwin/presentation-common"; +import { FilterOptions } from "../../../../SavedFiltersManager"; +import { ChangedElementEntry } from "../../../../api/ChangedElementEntryCache"; +import { VersionCompareManager } from "../../../../api/VersionCompareManager"; +import { TypeOfChange } from "@itwin/core-common"; +import { DbOpcode } from "@itwin/core-bentley"; + +type handelFilterChangeParams = { + instanceKeys: InstanceKey[]; + setFilteredInstanceKeysOfChangedElements: (instanceKeys: InstanceKey[]) => void; + setFilterOptions: (options: FilterOptions) => void; + manager: VersionCompareManager; +}; + +export function handleFilterChange({ instanceKeys, setFilteredInstanceKeysOfChangedElements, setFilterOptions, manager }: handelFilterChangeParams) { + return async (options: FilterOptions) => { + const filteredEcInstanceIds = getFilteredEcInstanceIds(options, instanceKeys, manager); + setFilteredInstanceKeysOfChangedElements(filteredEcInstanceIds ?? []); + await setVisualization(filteredEcInstanceIds, manager); + const visualizationManager = manager.visualization?.getSingleViewVisualizationManager(); + if (visualizationManager) { + await visualizationManager.toggleUnchangedVisibility(!options.wantUnchanged); + } + setFilterOptions(options); + }; +} + +//todo remove export when models tree can display all changed elements +export const setVisualization = async (InstanceKeys: InstanceKey[] | undefined, manager: VersionCompareManager) => { + const visualizationManager = manager.visualization?.getSingleViewVisualizationManager(); + if (InstanceKeys === undefined) { + // Visualize no focused elements + if (visualizationManager) { + await visualizationManager.setFocusedElements([]); + } + } + const changedElementsEntries = new Array(); + InstanceKeys?.forEach((ecInstanceId) => { + const changeElement = manager.changedElementsManager.allChangeElements.get(ecInstanceId.id); + const entry: ChangedElementEntry = { + ...(manager.changedElementsManager.entryCache.getSynchronous(ecInstanceId.id) ?? { + loaded: true, + id: ecInstanceId.id, + classId: changeElement!.classId, + opcode: changeElement!.opcode, + type: changeElement!.type, + }), + }; + entry.loaded = true; + changedElementsEntries.push(entry); + }); + if (visualizationManager) { + await visualizationManager.setFocusedElements(changedElementsEntries); + } +}; + +export const makeDefaultFilterOptions = (propertyNames: Set): FilterOptions => { + const wantedProperties = new Map(); + // Set all properties as visible as default + for (const prop of propertyNames) { + wantedProperties.set(prop, true); + } + + return { + wantAdded: true, + wantDeleted: true, + wantModified: true, + wantUnchanged: true, + // Turn off TypeOfChange.Hidden by default + wantedTypeOfChange: typeOfChangeAll() & ~TypeOfChange.Hidden, + wantedProperties, + }; +}; + + + +const typeOfChangeAll = (): number => { + return ( + TypeOfChange.Geometry | + TypeOfChange.Hidden | + TypeOfChange.Indirect | + TypeOfChange.Placement | + TypeOfChange.Property + ); +}; + +const allPropertiesVisible = (properties: Map): boolean => { + for (const pair of properties) { + if (pair[1] === false) { + return false; + } + } + + return true; +}; + +const isDefaultFilterOptions = (options: FilterOptions): boolean => { + return ( + options.wantAdded === true && + options.wantDeleted === true && + options.wantModified === true && + options.wantUnchanged === true && + options.wantedTypeOfChange === typeOfChangeAll() && + allPropertiesVisible(options.wantedProperties) + ); +}; + +const getFilteredEcInstanceIds = (options: FilterOptions, ecInstanceIds: InstanceKey[], manager: VersionCompareManager) => { + if (isDefaultFilterOptions(options)) + return undefined; + return ecInstanceIds.filter((ecInstanceId) => { + const changeElement = manager.changedElementsManager.allChangeElements.get(ecInstanceId.id); + if (changeElement) { + const entry: ChangedElementEntry = { + ...(manager.changedElementsManager.entryCache.getSynchronous(ecInstanceId.id) ?? { + loaded: true, + id: ecInstanceId.id, + classId: changeElement.classId, + opcode: changeElement.opcode, + type: changeElement.type, + }), + }; + if (options.wantAdded && changeElement.opcode === DbOpcode.Insert) { + return true; + } + if (options.wantDeleted && changeElement.opcode === DbOpcode.Delete) { + return true; + } + entry.loaded = true; + if (options.wantModified && changeElement.opcode === DbOpcode.Update && entryMatchesFilters(entry, options, manager)) { + return true; + } + } + return false; + }); +}; + +const entryMatchesFilters = (entry: ChangedElementEntry, options: FilterOptions, manager: VersionCompareManager): boolean => { + if (!manager.wantTypeOfChange) { + return true; + } + if (entry.indirect !== undefined && entry.indirect) { + return false; + } + if ((options.wantedTypeOfChange & entry.type) === 0) { + return false; + } + + if (!manager.wantPropertyFiltering) { + return true; + } + if ((entry.type & (TypeOfChange.Property | TypeOfChange.Indirect)) === 0) { + return true; + } + + return anyEntryPropertiesVisible(entry, options); +}; + +const anyEntryPropertiesVisible = (entry: ChangedElementEntry, options: FilterOptions): boolean => { + if (entry.properties === undefined) { + // Shouldn't happen + return true; + } + + for (const prop of entry.properties) { + const visible = options.wantedProperties.get(prop[0]); + if (visible !== undefined && visible === true) { + return true; + } + } + + return false; +}; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/models/modelsTreeAndNodeTypes.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/models/modelsTreeAndNodeTypes.ts new file mode 100644 index 00000000..6a1ee539 --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/models/modelsTreeAndNodeTypes.ts @@ -0,0 +1,10 @@ +import { VisibilityTree, VisibilityTreeRenderer } from "@itwin/tree-widget-react"; +import { ComponentPropsWithoutRef } from "react"; + +export type CustomModelsTreeRendererProps = Parameters["treeRenderer"]>[0]; +export type CreateNodeLabelComponentProps = Required>["getLabel"]; +export type PresentationHierarchyNode = Parameters[0]; +export type HierarchyNode = PresentationHierarchyNode["nodeData"]; +export type NodeType = "subject" | "model" | "category" | "element" | "class-grouping"; + +export * from "./modelsTreeAndNodeTypes"; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/styles/NodeLabel.scss b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/styles/NodeLabel.scss new file mode 100644 index 00000000..9f2b275f --- /dev/null +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/ChangeElementsInspectorV2/styles/NodeLabel.scss @@ -0,0 +1,19 @@ +.circle { + height: 16px; + width: 16px; + border-radius: 50%; + display: inline-block; + margin-right: 8px; +} + +.added { + background-color: green; +} + +.modified { + background-color: blue; +} + +.node-label{ + display: inline-block; +} diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogProvider.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareDialogProvider.tsx similarity index 59% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogProvider.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareDialogProvider.tsx index 04cc7a16..1a6fe153 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogProvider.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareDialogProvider.tsx @@ -3,7 +3,7 @@ * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import React from "react"; -import { JobAndNamedVersions } from "../models/ComparisonJobModels"; +import { JobAndNamedVersions } from "../VersionCompareDialogV2/models/ComparisonJobModels"; /** Comparison Job Update Type * - "JobComplete" = job is completed @@ -25,6 +25,7 @@ export type V2Context = { removePendingJob: (jobId: string) => void; getToastsEnabled: () => boolean; runOnJobUpdate: (comparisonJobUpdateType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; + getUseChangedElementsInspectorV2: () => boolean; }; export const V2DialogContext = React.createContext({} as V2Context); @@ -33,6 +34,7 @@ export type V2DialogProviderProps = { children: React.ReactNode; // Optional. When enabled will toast messages regarding job status. If not defined will default to false and will not show toasts. enableComparisonJobUpdateToasts?: boolean; + useChangedElementsInspectorV2?: boolean; /** On Job Update * Optional. a call back function for handling job updates. * @param comparisonJobUpdateType param for the type of update: @@ -58,59 +60,60 @@ export type V2DialogProviderProps = { * />} * */ -export function VersionCompareSelectProviderV2({ children, enableComparisonJobUpdateToasts, onJobUpdate }: V2DialogProviderProps) { +export function VersionCompareSelectProviderV2({ children, enableComparisonJobUpdateToasts, onJobUpdate, useChangedElementsInspectorV2 }: Readonly) { const dialogRunningJobs = React.useRef>(new Map()); const dialogPendingJobs = React.useRef>(new Map()); - const addRunningJob = (jobId: string, jobAndNamedVersions: JobAndNamedVersions) => { - dialogRunningJobs.current.set(jobId, { - comparisonJob: jobAndNamedVersions.comparisonJob, - targetNamedVersion: jobAndNamedVersions.targetNamedVersion, - currentNamedVersion: jobAndNamedVersions.currentNamedVersion, - }); - }; - const removeRunningJob = (jobId: string) => { - dialogRunningJobs.current.delete(jobId); - }; - const getRunningJobs = () => { - return Array.from(dialogRunningJobs.current.values()); - }; - const addPendingJob = (jobId: string, jobAndNamedVersions: JobAndNamedVersions) => { - dialogPendingJobs.current.set(jobId, { - comparisonJob: jobAndNamedVersions.comparisonJob, - targetNamedVersion: jobAndNamedVersions.targetNamedVersion, - currentNamedVersion: jobAndNamedVersions.currentNamedVersion, - }); - }; - const removePendingJob = (jobId: string) => { - dialogPendingJobs.current.delete(jobId); - }; - const getPendingJobs = () => { - return Array.from(dialogPendingJobs.current.values()); - }; const dialogOpenRef = React.useRef(false); - const openDialog = () => { - dialogOpenRef.current = true; - }; - const closedDialog = () => { - dialogOpenRef.current = false; - }; - const getDialogOpen = () => { - return dialogOpenRef.current; - }; - const getToastsEnabled = () => { - return enableComparisonJobUpdateToasts ?? false; - }; - const runOnJobUpdate = async (comparisonEventType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => { - if (onJobUpdate) { - void onJobUpdate(comparisonEventType, jobAndNamedVersions); - } - }; + const providerValue = React.useMemo(() => ({ + openDialog: () => { + dialogOpenRef.current = true; + }, + getDialogOpen: () => { + return dialogOpenRef.current; + }, + closedDialog: () => { + dialogOpenRef.current = false; + }, + addRunningJob: (jobId: string, jobAndNamedVersions: JobAndNamedVersions) => { + dialogRunningJobs.current.set(jobId, { + comparisonJob: jobAndNamedVersions.comparisonJob, + targetNamedVersion: jobAndNamedVersions.targetNamedVersion, + currentNamedVersion: jobAndNamedVersions.currentNamedVersion, + }); + }, + removeRunningJob: (jobId: string) => { + dialogRunningJobs.current.delete(jobId); + }, + getRunningJobs: () => { + return Array.from(dialogRunningJobs.current.values()); + }, + getPendingJobs: () => { + return Array.from(dialogPendingJobs.current.values()); + }, + addPendingJob: (jobId: string, jobAndNamedVersions: JobAndNamedVersions) => { + dialogPendingJobs.current.set(jobId, { + comparisonJob: jobAndNamedVersions.comparisonJob, + targetNamedVersion: jobAndNamedVersions.targetNamedVersion, + currentNamedVersion: jobAndNamedVersions.currentNamedVersion, + }); + }, + removePendingJob: (jobId: string) => { + dialogPendingJobs.current.delete(jobId); + }, + getToastsEnabled: () => { + return enableComparisonJobUpdateToasts ?? false; + }, + runOnJobUpdate: async (comparisonEventType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => { + if (onJobUpdate) { + void onJobUpdate(comparisonEventType, jobAndNamedVersions); + } + }, + getUseChangedElementsInspectorV2: () => { + return useChangedElementsInspectorV2 ?? false; + }, + }), [enableComparisonJobUpdateToasts, onJobUpdate, useChangedElementsInspectorV2]); return ( - + {children} ); diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareManageNamedVersions.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareManageNamedVersions.tsx similarity index 100% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareManageNamedVersions.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareManageNamedVersions.tsx diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectComponent.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectComponent.tsx similarity index 87% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectComponent.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectComponent.tsx index f854a2fd..08447926 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectComponent.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectComponent.tsx @@ -5,10 +5,10 @@ import { IModelConnection } from "@itwin/core-frontend"; import { ReactNode, useState } from "react"; import { ProgressRadial } from "@itwin/itwinui-react"; -import { VersionCompareSelectorInner } from "./VersionCompareSelectorInner"; -import { CurrentNamedVersionAndNamedVersions } from "../models/NamedVersions"; -import { NamedVersion } from "../../../clients/iModelsClient"; -import { ChangesetChunk } from "../../../api/ChangedElementsApiClient"; +import { VersionCompareSelectorInner } from "../VersionCompareDialogV2/VersionCompareSelectorInner"; +import { CurrentNamedVersionAndNamedVersions } from "../VersionCompareDialogV2/models/NamedVersions"; +import { NamedVersion } from "../../../../clients/iModelsClient"; +import { ChangesetChunk } from "../../../../api/ChangedElementsApiClient"; import "./styles/ComparisonJobWidget.scss"; /** Options for VersionCompareSelectComponent. */ diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectModal.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectModal.tsx similarity index 91% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectModal.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectModal.tsx index 2e2016af..692452d0 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectModal.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectModal.tsx @@ -2,24 +2,24 @@ * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ -import { Modal, ModalContent, ModalButtonBar, Button } from "@itwin/itwinui-react"; +import { Modal, ModalContent, ModalButtonBar, Button, useToaster } from "@itwin/itwinui-react"; import { ReactNode, useEffect, useState } from "react"; import { IModelApp, IModelConnection } from "@itwin/core-frontend"; import React from "react"; import { VersionCompareSelectComponent } from "./VersionCompareSelectComponent"; -import { NamedVersionLoaderState, useNamedVersionLoader } from "../hooks/useNamedVersionLoader"; -import { IComparisonJobClient, ComparisonJob, ComparisonJobCompleted } from "../../../clients/IComparisonJobClient"; -import { useVersionCompare } from "../../../VersionCompareContext"; -import { VersionCompareUtils, VersionCompareVerboseMessages } from "../../../api/VerboseMessages"; -import { IModelsClient, NamedVersion } from "../../../clients/iModelsClient"; -import { VersionCompare } from "../../../api/VersionCompare"; +import { NamedVersionLoaderState, useNamedVersionLoader } from "./hooks/useNamedVersionLoader"; +import { IComparisonJobClient, ComparisonJob, ComparisonJobCompleted } from "../../../../clients/IComparisonJobClient"; +import { useVersionCompare } from "../../../../VersionCompareContext"; +import { VersionCompareUtils, VersionCompareVerboseMessages } from "../../../../api/VerboseMessages"; +import { IModelsClient, NamedVersion } from "../../../../clients/iModelsClient"; +import { VersionCompare } from "../../../../api/VersionCompare"; import "./styles/ComparisonJobWidget.scss"; -import { arrayToMap, tryXTimes } from "../../../utils/utils"; -import { VersionState } from "../models/VersionState"; -import { JobAndNamedVersions, JobStatusAndJobProgress } from "../models/ComparisonJobModels"; -import { VersionProcessedState } from "../models/VersionProcessedState"; -import { toastComparisonJobComplete, toastComparisonJobError, toastComparisonJobProcessing } from "../common/versionCompareToasts"; -import { createJobId, getJobStatusAndJobProgress, runManagerStartComparisonV2 } from "../common/versionCompareV2WidgetUtils"; +import { arrayToMap, tryXTimes } from "../../../../utils/utils"; +import { VersionState } from "./models/VersionState"; +import { JobAndNamedVersions, JobStatusAndJobProgress } from "./models/ComparisonJobModels"; +import { VersionProcessedState } from "./models/VersionProcessedState"; +import { toastComparisonJobComplete, toastComparisonJobError, toastComparisonJobProcessing, Toaster } from "../../common/versionCompareToasts"; +import { createJobId, getJobStatusAndJobProgress, runManagerStartComparisonV2 } from "../../common/versionCompareV2WidgetUtils"; import { ComparisonJobUpdateType, V2DialogContext } from "./VersionCompareDialogProvider"; /** Options for VersionCompareSelectDialogV2. */ @@ -50,8 +50,9 @@ export interface VersionCompareSelectDialogV2Props { * provider should be supplied with new dialog based on condition in order to keep track of toast and polling information. * @throws Exception if context does not include iModelsClient and comparisonJobClient. */ -export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2Props) { +export function VersionCompareSelectDialogV2(props: Readonly) { const { comparisonJobClient, iModelsClient } = useVersionCompare(); + const toaster = useToaster(); if (!comparisonJobClient) { throw new Error("V2 Client Is Not Initialized In Given Context."); } @@ -59,7 +60,7 @@ export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2 throw new Error("V1 Client Is Not Initialized In Given Context."); } const { openDialog, closedDialog, getDialogOpen, addRunningJob, removeRunningJob, getRunningJobs - , getPendingJobs, removePendingJob, addPendingJob, getToastsEnabled, runOnJobUpdate } = React.useContext(V2DialogContext); + , getPendingJobs, removePendingJob, addPendingJob, getToastsEnabled, runOnJobUpdate, getUseChangedElementsInspectorV2 } = React.useContext(V2DialogContext); const [targetVersion, setTargetVersion] = useState(undefined); const [currentVersion, setCurrentVersion] = useState(undefined); const [result, setResult] = useState(); @@ -70,7 +71,7 @@ export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2 return isDisposed; }; openDialog(); - if (result && result?.namedVersions.entries) { + if (result?.namedVersions?.entries) { void pollForInProgressJobs({ iTwinId: props.iModelConnection.iTwinId as string, iModelId: props.iModelConnection.iModelId as string, @@ -85,6 +86,8 @@ export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2 getToastsEnabled, runOnJobUpdate, iModelsClient, + useChangedElementsInspectorV2: getUseChangedElementsInspectorV2(), + toaster, }); } return () => { @@ -107,8 +110,10 @@ export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2 removePendingJob, getDialogOpen, getToastsEnabled, + toaster, runOnJobUpdate, iModelsClient, + useChangedElementsInspectorV2: getUseChangedElementsInspectorV2(), }); if (startResult?.comparisonJob) { addRunningJob(createJobId(targetVersion, currentVersion), { @@ -144,6 +149,8 @@ export function VersionCompareSelectDialogV2(props: VersionCompareSelectDialogV2 getToastsEnabled, runOnJobUpdate, iModelsClient, + toaster, + useChangedElementsInspectorV2: getUseChangedElementsInspectorV2(), }); } } @@ -207,6 +214,8 @@ type RunStartComparisonV2Args = { getToastsEnabled: () => boolean; runOnJobUpdate: (comparisonJobUpdateType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; iModelsClient: IModelsClient; + useChangedElementsInspectorV2: boolean; + toaster: Toaster; }; type PostOrRunComparisonJobResult = { @@ -245,6 +254,7 @@ const createOrRunManagerStartComparisonV2 = async (args: RunStartComparisonV2Arg getToastsEnabled: args.getToastsEnabled, runOnJobUpdate: args.runOnJobUpdate, iModelsClient: args.iModelsClient, + useChangedElementsInspectorV2: args.useChangedElementsInspectorV2, }); return { startedComparison: true }; } @@ -316,6 +326,8 @@ type PollForInProgressJobsArgs = { getToastsEnabled: () => boolean; runOnJobUpdate: (comparisonJobUpdateType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; iModelsClient: IModelsClient; + useChangedElementsInspectorV2: boolean; + toaster: Toaster; }; export const pollForInProgressJobs: (args: PollForInProgressJobsArgs) => Promise = async (args: PollForInProgressJobsArgs) => { @@ -353,6 +365,8 @@ const pollUntilCurrentRunningJobsCompleteAndToast = async (args: PollForInProgre getToastsEnabled: args.getToastsEnabled, runOnJobUpdate: args.runOnJobUpdate, iModelsClient: args.iModelsClient, + useChangedElementsInspectorV2: args.useChangedElementsInspectorV2, + toaster: args.toaster, }); } catch (error) { args.removeRunningJob(runningJob?.comparisonJob?.comparisonJob.jobId as string); @@ -383,6 +397,8 @@ type ConditionallyToastCompletionArgs = { getToastsEnabled: () => boolean; runOnJobUpdate: (comparisonJobUpdateType: ComparisonJobUpdateType, jobAndNamedVersions?: JobAndNamedVersions) => Promise; iModelsClient: IModelsClient; + toaster: Toaster; + useChangedElementsInspectorV2: boolean; }; const notifyComparisonCompletion = (args: ConditionallyToastCompletionArgs) => { if (args.currentJobRsp.comparisonJob.status === "Completed") { @@ -398,6 +414,8 @@ const notifyComparisonCompletion = (args: ConditionallyToastCompletionArgs) => { getToastsEnabled: args.getToastsEnabled, runOnJobUpdate: args.runOnJobUpdate, iModelsClient: args.iModelsClient, + toaster: args.toaster, + useChangedElementsInspectorV2: args.useChangedElementsInspectorV2, }); } const jobAndNamedVersion: JobAndNamedVersions = { diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectorInner.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectorInner.tsx similarity index 90% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectorInner.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectorInner.tsx index ce716568..bafdbf30 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareSelectorInner.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionCompareSelectorInner.tsx @@ -5,12 +5,12 @@ import { IModelApp } from "@itwin/core-frontend"; import { Text } from "@itwin/itwinui-react"; import { ReactNode } from "react"; -import { VersionList } from "./VersionList"; +import { VersionList } from "../VersionCompareDialogV2/VersionList"; import { CurrentVersionEntry } from "./VersionEntries"; -import { VersionState } from "../models/VersionState"; -import { NamedVersion } from "../../../clients/iModelsClient"; +import { VersionState } from "../VersionCompareDialogV2/models/VersionState"; +import { NamedVersion } from "../../../../clients/iModelsClient"; import "./styles/ComparisonJobWidget.scss"; -import { ManageNamedVersions } from "./VersionCompareManageNamedVersions"; +import { ManageNamedVersions } from "../VersionCompareDialogV2/VersionCompareManageNamedVersions"; interface VersionCompareSelectorInnerProps { entries: VersionState[]; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionEntries.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionEntries.tsx similarity index 96% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionEntries.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionEntries.tsx index 78803fe4..211b32b9 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionEntries.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionEntries.tsx @@ -5,10 +5,10 @@ import { ReactElement, ReactNode } from "react"; import { ProgressLinear, Radio, Badge, Text } from "@itwin/itwinui-react"; import { IModelApp } from "@itwin/core-frontend"; -import { JobStatus, JobProgress } from "../models/ComparisonJobModels"; -import { VersionProcessedState } from "../models/VersionProcessedState"; -import { NamedVersion } from "../../../clients/iModelsClient"; -import { VersionState } from "../models/VersionState"; +import { JobStatus, JobProgress } from "./models/ComparisonJobModels"; +import { VersionProcessedState } from "./models/VersionProcessedState"; +import { NamedVersion } from "../../../../clients/iModelsClient"; +import { VersionState } from "./models/VersionState"; import "./styles/ComparisonJobWidget.scss"; interface CurrentVersionEntryProps { diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionList.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionList.tsx similarity index 90% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionList.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionList.tsx index 2b54d501..a4559497 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionList.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/VersionList.tsx @@ -4,9 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import { IModelApp } from "@itwin/core-frontend"; import { ReactElement } from "react"; -import { VersionListEntry } from "./VersionEntries"; -import { VersionState } from "../models/VersionState"; -import { NamedVersion } from "../../../clients/iModelsClient"; +import { VersionListEntry } from "../VersionCompareDialogV2/VersionEntries"; +import { VersionState } from "../VersionCompareDialogV2/models/VersionState"; +import { NamedVersion } from "../../../../clients/iModelsClient"; import "./styles/ComparisonJobWidget.scss"; import { LoadingSpinner } from "@itwin/core-react"; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/hooks/useNamedVersionLoader.tsx b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/hooks/useNamedVersionLoader.tsx similarity index 97% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/hooks/useNamedVersionLoader.tsx rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/hooks/useNamedVersionLoader.tsx index 9bd0ca11..2494eb9d 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/hooks/useNamedVersionLoader.tsx +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/hooks/useNamedVersionLoader.tsx @@ -7,10 +7,10 @@ import { useEffect, useState } from "react"; import { JobStatus, JobProgress, JobStatusAndJobProgress, JobAndNamedVersions } from "../models/ComparisonJobModels"; import { VersionProcessedState } from "../models/VersionProcessedState"; import { CurrentNamedVersionAndNamedVersions } from "../models/NamedVersions"; -import { IComparisonJobClient } from "../../../clients/IComparisonJobClient"; -import { IModelsClient, NamedVersion } from "../../../clients/iModelsClient"; -import { createJobId, getJobStatusAndJobProgress } from "../common/versionCompareV2WidgetUtils"; -import { arrayToMap } from "../../../utils/utils"; +import { IComparisonJobClient } from "../../../../../clients/IComparisonJobClient"; +import { IModelsClient, NamedVersion } from "../../../../../clients/iModelsClient"; +import { createJobId, getJobStatusAndJobProgress } from "../../../common/versionCompareV2WidgetUtils"; +import { arrayToMap } from "../../../../../utils/utils"; /** * Result type for versionLoader. diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/ComparisonJobModels.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/ComparisonJobModels.ts similarity index 90% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/models/ComparisonJobModels.ts rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/ComparisonJobModels.ts index 0843c24c..ebdefee9 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/ComparisonJobModels.ts +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/ComparisonJobModels.ts @@ -2,8 +2,8 @@ * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ -import { ComparisonJob } from "../../../clients/IComparisonJobClient"; -import { NamedVersion } from "../../../clients/iModelsClient"; +import { ComparisonJob } from "../../../../../clients/IComparisonJobClient"; +import { NamedVersion } from "../../../../../clients/iModelsClient"; /** * Job status used for identification of job progress diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/NamedVersions.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/NamedVersions.ts similarity index 100% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/models/NamedVersions.ts rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/NamedVersions.ts diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/VersionProcessedState.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/VersionProcessedState.ts similarity index 100% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/models/VersionProcessedState.ts rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/VersionProcessedState.ts diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/VersionState.ts b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/VersionState.ts similarity index 92% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/models/VersionState.ts rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/VersionState.ts index fff94d29..5e913b3a 100644 --- a/packages/changed-elements-react/src/widgets/comparisonJobWidget/models/VersionState.ts +++ b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/models/VersionState.ts @@ -2,7 +2,7 @@ * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ -import { NamedVersion } from "../../../clients/iModelsClient"; +import { NamedVersion } from "../../../../../clients/iModelsClient"; import { VersionProcessedState } from "./VersionProcessedState"; import { JobProgress, JobStatus } from "./ComparisonJobModels"; diff --git a/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/styles/ComparisonJobWidget.scss b/packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/styles/ComparisonJobWidget.scss similarity index 100% rename from packages/changed-elements-react/src/widgets/comparisonJobWidget/components/styles/ComparisonJobWidget.scss rename to packages/changed-elements-react/src/widgets/comparisonJobWidget/components/VersionCompareDialogV2/styles/ComparisonJobWidget.scss diff --git a/packages/test-app-backend/package.json b/packages/test-app-backend/package.json index 85710da8..e796da65 100644 --- a/packages/test-app-backend/package.json +++ b/packages/test-app-backend/package.json @@ -12,18 +12,21 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@itwin/core-backend": "^4.0.6", - "@itwin/core-bentley": "^4.0.6", - "@itwin/core-common": "^4.0.6", - "@itwin/express-server": "^4.0.6", - "@itwin/imodels-access-backend": "^4.1.3", - "@itwin/imodels-client-authoring": "^4.2.2", - "@itwin/presentation-backend": "^4.0.6", - "@itwin/presentation-common": "^4.0.6", + "@itwin/core-backend": "^4.9.4", + "@itwin/core-bentley": "^4.9.4", + "@itwin/core-common": "^4.9.4", + "@itwin/express-server": "^4.9.4", + "@itwin/imodels-access-backend": "^5.2.2", + "@itwin/imodels-client-authoring": "^5.8.2", + "@itwin/presentation-backend": "^4.9.4", + "@itwin/presentation-common": "^4.9.4", "@types/dotenv-flow": "^3.2.0", "@types/node": "^18.0.0", "dotenv-flow": "^3.2.0", "ts-node-dev": "^2.0.0", - "typescript": "^5.1.6" + "typescript": "^5.1.6", + "@itwin/ecschema-rpcinterface-common":"4.9.4", + "@itwin/ecschema-rpcinterface-impl":"4.9.4", + "@itwin/core-quantity":"4.9.4" } } diff --git a/packages/test-app-backend/src/main.ts b/packages/test-app-backend/src/main.ts index aae1e2c1..47d06ad3 100644 --- a/packages/test-app-backend/src/main.ts +++ b/packages/test-app-backend/src/main.ts @@ -5,6 +5,8 @@ import { IModelHost } from "@itwin/core-backend"; import { Logger, LogLevel } from "@itwin/core-bentley"; import { BentleyCloudRpcManager, IModelReadRpcInterface, IModelTileRpcInterface } from "@itwin/core-common"; +import { ECSchemaRpcInterface } from "@itwin/ecschema-rpcinterface-common"; +import { ECSchemaRpcImpl } from "@itwin/ecschema-rpcinterface-impl"; import { IModelJsExpressServer } from "@itwin/express-server"; import { BackendIModelsAccess } from "@itwin/imodels-access-backend"; import { IModelsClient } from "@itwin/imodels-client-authoring"; @@ -24,11 +26,12 @@ void (async () => { ), }); Presentation.initialize(); - + ECSchemaRpcImpl.register(); const rpcConfig = BentleyCloudRpcManager.initializeImpl( { info: { title: "test-app-backend", version: "v1.0" } }, - [IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface], + [IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface, ECSchemaRpcInterface], ); + const server = new IModelJsExpressServer(rpcConfig.protocol); const port = 3001; diff --git a/packages/test-app-backend/tsconfig.json b/packages/test-app-backend/tsconfig.json index fa6061c7..248304a9 100644 --- a/packages/test-app-backend/tsconfig.json +++ b/packages/test-app-backend/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "moduleResolution": "node16", - "module": "CommonJS", + "module": "Node16", "esModuleInterop": true, }, "include": [ "src" ], diff --git a/packages/test-app-frontend/.env b/packages/test-app-frontend/.env index 2a78dc1a..90d78f33 100644 --- a/packages/test-app-frontend/.env +++ b/packages/test-app-frontend/.env @@ -18,7 +18,11 @@ # - http://localhost:2363/auth/silent # - Post logout redirect URIs: # - http://localhost:2363/ -VITE_CLIENT_ID=spa-xxxxxxxxxxxxxxxxxxxxxxxxx + +# PROD +# VITE_CLIENT_ID=spa-093wqXFQcfDITshIyLlxnSN2b +# QA +VITE_CLIENT_ID=spa-c2ownShgTBSG6kUOtuGwO0zec # dev-, qa-, or empty -VITE_URL_PREFIX= +VITE_URL_PREFIX=qa- diff --git a/packages/test-app-frontend/package.json b/packages/test-app-frontend/package.json index 7825950f..02de5818 100644 --- a/packages/test-app-frontend/package.json +++ b/packages/test-app-frontend/package.json @@ -15,27 +15,32 @@ }, "dependencies": { "@bentley/icons-generic-webfont": "^1.0.34", - "@itwin/appui-abstract": "^4.0.6", - "@itwin/appui-layout-react": "^4.3.0", - "@itwin/appui-react": "^4.3.0", + "@itwin/appui-abstract": "^4.9.4", + "@itwin/appui-layout-react": "^4.8.3", + "@itwin/appui-react": "^4.16.1", "@itwin/changed-elements-react": "workspace:*", - "@itwin/components-react": "^4.3.0", - "@itwin/core-bentley": "^4.0.6", - "@itwin/core-common": "^4.0.6", - "@itwin/core-frontend": "^4.0.6", - "@itwin/core-i18n": "^4.0.6", - "@itwin/core-react": "^4.3.0", - "@itwin/imodel-components-react": "^4.3.0", - "@itwin/imodels-access-frontend": "^4.1.3", - "@itwin/imodels-client-management": "^4.2.2", - "@itwin/itwinui-icons-react": "^2.2.0", - "@itwin/itwinui-illustrations-react": "^2.0.1", - "@itwin/itwinui-layouts-css": "^0.2.0", - "@itwin/itwinui-layouts-react": "^0.2.0", - "@itwin/itwinui-react": "^2.12.0", - "@itwin/presentation-common": "^4.0.6", - "@itwin/presentation-components": "^4.0.1", - "@itwin/presentation-frontend": "^4.0.6", + "@itwin/components-react": "^4.16.1", + "@itwin/core-bentley": "^4.9.4", + "@itwin/core-common": "^4.9.4", + "@itwin/core-frontend": "^4.9.4", + "@itwin/core-i18n": "^4.9.4", + "@itwin/core-orbitgt": "4.9.4", + "@itwin/core-react": "^4.16.1", + "@itwin/ecschema-metadata": "^4.9.4", + "@itwin/ecschema-rpcinterface-common": "^4.9.4", + "@itwin/imodel-components-react": "^4.16.1", + "@itwin/imodels-access-frontend": "^5.2.2", + "@itwin/imodels-client-management": "^5.8.2", + "@itwin/itwinui-icons-react": "^2.9.0", + "@itwin/itwinui-illustrations-react": "^2.1.0", + "@itwin/itwinui-layouts-css": "^0.4.0", + "@itwin/itwinui-layouts-react": "^0.4.1", + "@itwin/itwinui-react": "^3.13.4", + "@itwin/presentation-common": "^4.9.4", + "@itwin/presentation-components": "^5.4.2", + "@itwin/presentation-frontend": "^4.9.4", + "@itwin/tree-widget-react": "3.0.2", + "@itwin/unified-selection": "^0.5.0", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "@types/react-redux": "^7.1.25", diff --git a/packages/test-app-frontend/src/App/App.tsx b/packages/test-app-frontend/src/App/App.tsx index 3b2bee39..506a8765 100644 --- a/packages/test-app-frontend/src/App/App.tsx +++ b/packages/test-app-frontend/src/App/App.tsx @@ -7,6 +7,7 @@ import { PageLayout } from "@itwin/itwinui-layouts-react"; import { Button, Surface, ThemeProvider } from "@itwin/itwinui-react"; import { PropsWithChildren, ReactElement, useEffect, useState } from "react"; import { Navigate, Route, Routes, useParams } from "react-router-dom"; +import '@itwin/itwinui-react/styles.css'; import { applyAuthUrlPrefix, clientId } from "../environment"; import { AppContext, appContext } from "./AppContext"; diff --git a/packages/test-app-frontend/src/App/AppHeader.tsx b/packages/test-app-frontend/src/App/AppHeader.tsx index b59c135e..8513bec4 100644 --- a/packages/test-app-frontend/src/App/AppHeader.tsx +++ b/packages/test-app-frontend/src/App/AppHeader.tsx @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { SvgDeveloper, SvgMoon, SvgSun } from "@itwin/itwinui-icons-react"; import { - Button, DropdownMenu, Header, HeaderLogo, IconButton, MenuItem, UserIcon, getUserColor + Button, DropdownMenu, Header, HeaderLogo, IconButton, MenuItem, Avatar, getUserColor } from "@itwin/itwinui-react"; import { ReactElement, useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; @@ -37,6 +37,10 @@ export function AppHeader(): ReactElement { [state, userAuthorizationClient], ); + const UserIcon = (state === AuthorizationState.SignedIn && user !== undefined) + ? () => + : null; + const actions = [ , , + UserIcon && , ]; + if (state === AuthorizationState.SignedOut) { actions.push(); } - const userIcon = (state === AuthorizationState.SignedIn && user !== undefined) - ? - : null; - return (
} onClick={() => navigate("/")}>Changed Elements Test App} actions={actions} - userIcon={userIcon} /> ); } @@ -82,11 +83,11 @@ function HeaderUserIcon(props: HeaderUserIconProps): ReactElement | null { const displayName = preferredName ?? "Unknown Account"; return ( - [Sign Out]}> + ( [Sign Out]}> - + - + ) ); } diff --git a/packages/test-app-frontend/src/App/ITwinJsApp/ITwinJsApp.tsx b/packages/test-app-frontend/src/App/ITwinJsApp/ITwinJsApp.tsx index 83acc8ae..31c3e861 100644 --- a/packages/test-app-frontend/src/App/ITwinJsApp/ITwinJsApp.tsx +++ b/packages/test-app-frontend/src/App/ITwinJsApp/ITwinJsApp.tsx @@ -24,7 +24,7 @@ import { UiCore } from "@itwin/core-react"; import { FrontendIModelsAccess } from "@itwin/imodels-access-frontend"; import { IModelsClient } from "@itwin/imodels-client-management"; import { PageLayout } from "@itwin/itwinui-layouts-react"; -import { toaster } from "@itwin/itwinui-react"; +import { useToaster } from "@itwin/itwinui-react"; import { PresentationRpcInterface } from "@itwin/presentation-common"; import { Presentation } from "@itwin/presentation-frontend"; import { ReactElement, useEffect, useMemo, useState } from "react"; @@ -35,7 +35,41 @@ import { AppUiVisualizationHandler } from "./AppUi/AppUiVisualizationHandler"; import { UIFramework } from "./AppUi/UiFramework"; import { VersionCompareReducer } from "./AppUi/redux/VersionCompareStore"; import { MockSavedFiltersManager } from "./MockSavedFiltersManager"; +import { createStorage, SelectionStorage } from "@itwin/unified-selection"; +import { SchemaContext } from "@itwin/ecschema-metadata"; +import { ECSchemaRpcLocater, ECSchemaRpcInterface } from "@itwin/ecschema-rpcinterface-common"; + + +let unifiedSelectionStorage: SelectionStorage | undefined; +const schemaContextCache = new Map(); + +// The Models tree requires a unified selection storage to support selection synchronization with the +// application. The storage should be created once per application and shared across multiple selection-enabled +// components. +function getUnifiedSelectionStorage(): SelectionStorage { + if (!unifiedSelectionStorage) { + unifiedSelectionStorage = createStorage(); + IModelConnection.onClose.addListener((imodel) => { + unifiedSelectionStorage!.clearStorage({ imodelKey: imodel.key }); + }); + } + return unifiedSelectionStorage; +} +// Schema context is used by Models tree to access iModels metadata. Similar to selection storage, it should be +// created once per application and shared across multiple components. +function getSchemaContext(imodel: IModelConnection): SchemaContext { + const key = imodel.getRpcProps().key; + let schemaContext = schemaContextCache.get(key); + if (!schemaContext) { + const schemaLocater = new ECSchemaRpcLocater(imodel.getRpcProps()); + schemaContext = new SchemaContext(); + schemaContext.addLocater(schemaLocater); + schemaContextCache.set(key, schemaContext); + imodel.onClose.addOnce(() => schemaContextCache.delete(key)); + } + return schemaContext; +} export interface ITwinJsAppProps { iTwinId: string; iModelId: string; @@ -158,7 +192,7 @@ export async function initializeITwinJsApp(authorizationClient: AuthorizationCli BentleyCloudRpcManager.initializeClient( rpcParams, - [IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface], + [IModelReadRpcInterface, IModelTileRpcInterface, PresentationRpcInterface, ECSchemaRpcInterface], ); await Promise.all([ @@ -167,7 +201,7 @@ export async function initializeITwinJsApp(authorizationClient: AuthorizationCli UiFramework.initialize(undefined), ]); - VersionCompare.initialize({ + await VersionCompare.initialize({ changedElementsApiBaseUrl: applyUrlPrefix("https://api.bentley.com/changedelements"), getAccessToken: () => authorizationClient.getAccessToken(), wantReportGeneration: true, @@ -182,13 +216,14 @@ export async function initializeITwinJsApp(authorizationClient: AuthorizationCli ReducerRegistryInstance.registerReducer("versionCompareState", VersionCompareReducer); } +export type Toaster = ReturnType; function useIModel( iTwinId: string, iModelId: string, authorizationClient: AuthorizationClient, ): IModelConnection | undefined { const [iModel, setIModel] = useState(); - + const toaster = useToaster(); useEffect( () => { setIModel(undefined); @@ -203,7 +238,7 @@ function useIModel( setIModel(openedIModel); } } catch (error) { - displayIModelError(IModelApp.localization.getLocalizedString("App:error:imodel-open-remote"), error); + displayIModelError(IModelApp.localization.getLocalizedString("App:error:imodel-open-remote"), error, toaster); } })(); @@ -214,7 +249,7 @@ function useIModel( try { await openedIModel.close(); } catch (error) { - displayIModelError(IModelApp.localization.getLocalizedString("App:error:imodel-close-remote"), error); + displayIModelError(IModelApp.localization.getLocalizedString("App:error:imodel-close-remote"), error, toaster); } })(); }; @@ -225,7 +260,7 @@ function useIModel( return iModel; } -function displayIModelError(message: string, error: unknown): void { +function displayIModelError(message: string, error: unknown, toaster: Toaster): void { const errorMessage = (error && typeof error === "object") ? (error as { message: unknown; }).message : error; toaster.negative(<>{message}
{errorMessage}); } @@ -286,10 +321,12 @@ class MainFrontstageItemsProvider implements UiItemsProvider { ) { return []; } - + getSchemaContext(UiFramework.getIModelConnection()!); + getUnifiedSelectionStorage(); return [{ id: "ChangedElementsWidget", content: - {props.children} + {props.children} ); } diff --git a/packages/test-app-frontend/src/App/errors/ErrorPage.tsx b/packages/test-app-frontend/src/App/errors/ErrorPage.tsx index a3943cf5..278a3e01 100644 --- a/packages/test-app-frontend/src/App/errors/ErrorPage.tsx +++ b/packages/test-app-frontend/src/App/errors/ErrorPage.tsx @@ -7,7 +7,7 @@ import { ComponentType, createElement, ReactElement, ReactNode, useEffect } from import { useNavigate } from "react-router-dom"; import { SvgError } from "@itwin/itwinui-illustrations-react"; import { PageLayout } from "@itwin/itwinui-layouts-react"; -import { Button, ExpandableBlock, Title } from "@itwin/itwinui-react"; +import { Button, ExpandableBlock, Text } from "@itwin/itwinui-react"; export interface ErrorPageProps { /** Illustration component. Default: {@link SvgError}. */ @@ -40,7 +40,7 @@ export function ErrorPage(props: ErrorPageProps): ReactElement { {createElement(props.illustration ?? SvgError, { className: "error-illustration" })}
- {props.title} + {props.title} {props.children}
{ diff --git a/packages/test-app-frontend/src/App/imodel-browser/ITwinBrowser.tsx b/packages/test-app-frontend/src/App/imodel-browser/ITwinBrowser.tsx index fdefce29..10250e24 100644 --- a/packages/test-app-frontend/src/App/imodel-browser/ITwinBrowser.tsx +++ b/packages/test-app-frontend/src/App/imodel-browser/ITwinBrowser.tsx @@ -56,7 +56,7 @@ export function ITwinBrowser(): ReactElement { } description={iTwin.number} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5335961d..8fd28d04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,101 +17,122 @@ importers: dependencies: '@types/node': specifier: ^18.11.9 - version: 18.17.1 + version: 18.19.55 '@typescript-eslint/eslint-plugin': specifier: ^6.1.0 - version: 6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6) + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.6.3) '@typescript-eslint/parser': specifier: ^6.1.0 - version: 6.1.0(eslint@8.45.0)(typescript@5.1.6) + version: 6.21.0(eslint@8.57.1)(typescript@5.6.3) eslint: specifier: ^8.45.0 - version: 8.45.0 + version: 8.57.1 eslint-plugin-react: specifier: ^7.33.0 - version: 7.33.0(eslint@8.45.0) + version: 7.37.1(eslint@8.57.1) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.45.0) + version: 4.6.2(eslint@8.57.1) npm-run-all: specifier: ^4.1.5 version: 4.1.5 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.17.1)(typescript@5.1.6) + version: 10.9.2(@types/node@18.19.55)(typescript@5.6.3) typescript: specifier: ^5.1.6 - version: 5.1.6 + version: 5.6.3 packages/changed-elements-react: dependencies: + '@itwin/core-orbitgt': + specifier: 4.9.4 + version: 4.9.4 + '@itwin/ecschema-metadata': + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/ecschema-rpcinterface-common': + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4) '@itwin/itwinui-icons-react': - specifier: ^2.2.0 - version: 2.2.0(react-dom@17.0.0)(react@17.0.0) + specifier: ^2.9.0 + version: 2.9.0(react-dom@17.0.2)(react@17.0.2) '@itwin/itwinui-react': - specifier: ^2.11.11 - version: 2.12.0(react-dom@17.0.0)(react@17.0.0) + specifier: ^3.13.4 + version: 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-hierarchies': + specifier: 1.1.0 + version: 1.1.0 + '@itwin/tree-widget-react': + specifier: 3.0.2 + version: 3.0.2(@itwin/appui-abstract@4.9.4)(@itwin/appui-react@4.17.1)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-components@5.5.0)(react-dom@17.0.2)(react@17.0.2) + '@itwin/unified-selection': + specifier: ^0.5.0 + version: 0.5.1 react-table: specifier: ^7.8.0 - version: 7.8.0(react@17.0.0) + version: 7.8.0(react@17.0.2) react-window: - specifier: ^1.8.8 - version: 1.8.8(react-dom@17.0.0)(react@17.0.0) + specifier: ^1.8.10 + version: 1.8.10(react-dom@17.0.2)(react@17.0.2) react-window-infinite-loader: - specifier: ^1.0.8 - version: 1.0.8(react-dom@17.0.0)(react@17.0.0) + specifier: ^1.0.9 + version: 1.0.9(react-dom@17.0.2)(react@17.0.2) + uuid: + specifier: ^10.0.0 + version: 10.0.0 devDependencies: '@itwin/appui-abstract': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4) '@itwin/components-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/core-bentley': - specifier: ^4.0.6 - version: 4.0.6 + specifier: ^4.9.4 + version: 4.9.4 '@itwin/core-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) '@itwin/core-frontend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/core-geometry': - specifier: ^4.0.6 - version: 4.0.6 + specifier: ^4.9.4 + version: 4.9.4 '@itwin/core-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/presentation-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) '@itwin/presentation-components': - specifier: ^4.0.1 - version: 4.0.1(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-react@4.3.0)(@itwin/imodel-components-react@4.3.0)(@itwin/presentation-common@4.0.6)(@itwin/presentation-frontend@4.0.6)(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^5.4.2 + version: 5.5.0(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/imodel-components-react@4.17.1)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-common@4.9.4)(@itwin/presentation-frontend@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/presentation-frontend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4) '@testing-library/react': specifier: ^12.1.5 - version: 12.1.5(react-dom@17.0.0)(react@17.0.0) + version: 12.1.5(react-dom@17.0.2)(react@17.0.2) '@types/react': specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.83 '@types/react-redux': specifier: ^7.1.25 - version: 7.1.25 + version: 7.1.34 '@types/react-table': specifier: ^7.7.14 - version: 7.7.14 + version: 7.7.20 '@types/react-window': specifier: ^1.8.5 - version: 1.8.5 + version: 1.8.8 '@types/react-window-infinite-loader': specifier: ^1.0.6 - version: 1.0.6 + version: 1.0.9 '@vitejs/plugin-react-swc': specifier: ^3.3.2 - version: 3.3.2(vite@4.5.3) + version: 3.7.1(vite@4.5.5) '@vitest/coverage-v8': specifier: ^0.34.6 version: 0.34.6(vitest@0.34.6) @@ -120,73 +141,82 @@ importers: version: 5.0.0 happy-dom: specifier: ^10.5.2 - version: 10.5.2 + version: 10.11.2 npm-run-all: specifier: ^4.1.5 version: 4.1.5 react: specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.2 react-dom: specifier: ^17.0.0 - version: 17.0.0(react@17.0.0) + version: 17.0.2(react@17.0.2) react-redux: specifier: ^7.2.2 - version: 7.2.2(react-dom@17.0.0)(react@17.0.0)(redux@4.1.0) + version: 7.2.9(react-dom@17.0.2)(react@17.0.2) redux: specifier: ^4.1.0 - version: 4.1.0 + version: 4.2.1 typescript: specifier: ^5.1.6 - version: 5.1.6 + version: 5.6.3 vite: specifier: ^4.5.3 - version: 4.5.3(@types/node@18.17.1)(sass@1.62.1) + version: 4.5.5(@types/node@18.19.55)(sass@1.79.5) vitest: specifier: ^0.34.6 - version: 0.34.6(happy-dom@10.5.2) + version: 0.34.6(happy-dom@10.11.2) packages/test-app-backend: dependencies: '@itwin/core-backend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4) '@itwin/core-bentley': - specifier: ^4.0.6 - version: 4.0.6 + specifier: ^4.9.4 + version: 4.9.4 '@itwin/core-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-quantity': + specifier: 4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/ecschema-rpcinterface-common': + specifier: 4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4) + '@itwin/ecschema-rpcinterface-impl': + specifier: 4.9.4 + version: 4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/ecschema-rpcinterface-common@4.9.4) '@itwin/express-server': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-backend@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-common@4.9.4) '@itwin/imodels-access-backend': - specifier: ^4.1.3 - version: 4.1.3(@itwin/core-backend@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(inversify@6.0.1)(reflect-metadata@0.1.13) + specifier: ^5.2.2 + version: 5.2.3(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/imodels-client-authoring': - specifier: ^4.2.2 - version: 4.2.2(inversify@6.0.1)(reflect-metadata@0.1.13) + specifier: ^5.8.2 + version: 5.9.0(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/presentation-backend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-backend@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4) '@itwin/presentation-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) '@types/dotenv-flow': specifier: ^3.2.0 - version: 3.2.0 + version: 3.3.3 '@types/node': specifier: ^18.0.0 - version: 18.0.0 + version: 18.19.55 dotenv-flow: specifier: ^3.2.0 - version: 3.2.0 + version: 3.3.0 ts-node-dev: specifier: ^2.0.0 - version: 2.0.0(@types/node@18.0.0)(typescript@5.1.6) + version: 2.0.0(@types/node@18.19.55)(typescript@5.6.3) typescript: specifier: ^5.1.6 - version: 5.1.6 + version: 5.6.3 packages/test-app-frontend: dependencies: @@ -194,266 +224,352 @@ importers: specifier: ^1.0.34 version: 1.0.34 '@itwin/appui-abstract': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4) '@itwin/appui-layout-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.8.3 + version: 4.8.3(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/appui-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/appui-layout-react@4.3.0)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(@itwin/core-telemetry@4.0.6)(@itwin/imodel-components-react@4.3.0)(react-dom@17.0.0)(react-redux@7.2.2)(react@17.0.0)(redux@4.1.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/core-telemetry@4.9.4)(@itwin/imodel-components-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react-redux@7.2.9)(react@17.0.2)(redux@4.2.1) '@itwin/changed-elements-react': specifier: workspace:* version: link:../changed-elements-react '@itwin/components-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/core-bentley': - specifier: ^4.0.6 - version: 4.0.6 + specifier: ^4.9.4 + version: 4.9.4 '@itwin/core-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) '@itwin/core-frontend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/core-i18n': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-orbitgt': + specifier: 4.9.4 + version: 4.9.4 '@itwin/core-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/ecschema-metadata': + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/ecschema-rpcinterface-common': + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4) '@itwin/imodel-components-react': - specifier: ^4.3.0 - version: 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^4.16.1 + version: 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/imodels-access-frontend': - specifier: ^4.1.3 - version: 4.1.3(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6) + specifier: ^5.2.2 + version: 5.2.3(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4) '@itwin/imodels-client-management': - specifier: ^4.2.2 - version: 4.2.2 + specifier: ^5.8.2 + version: 5.9.0 '@itwin/itwinui-icons-react': - specifier: ^2.2.0 - version: 2.2.0(react-dom@17.0.0)(react@17.0.0) + specifier: ^2.9.0 + version: 2.9.0(react-dom@17.0.2)(react@17.0.2) '@itwin/itwinui-illustrations-react': - specifier: ^2.0.1 - version: 2.0.1(react-dom@17.0.0)(react@17.0.0) + specifier: ^2.1.0 + version: 2.1.0(react-dom@17.0.2)(react@17.0.2) '@itwin/itwinui-layouts-css': - specifier: ^0.2.0 - version: 0.2.0 + specifier: ^0.4.0 + version: 0.4.0 '@itwin/itwinui-layouts-react': - specifier: ^0.2.0 - version: 0.2.0(react-dom@17.0.0)(react@17.0.0) + specifier: ^0.4.1 + version: 0.4.1(react-dom@17.0.2)(react@17.0.2) '@itwin/itwinui-react': - specifier: ^2.12.0 - version: 2.12.0(react-dom@17.0.0)(react@17.0.0) + specifier: ^3.13.4 + version: 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/presentation-common': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) '@itwin/presentation-components': - specifier: ^4.0.1 - version: 4.0.1(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-react@4.3.0)(@itwin/imodel-components-react@4.3.0)(@itwin/presentation-common@4.0.6)(@itwin/presentation-frontend@4.0.6)(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0) + specifier: ^5.4.2 + version: 5.5.0(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/imodel-components-react@4.17.1)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-common@4.9.4)(@itwin/presentation-frontend@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) '@itwin/presentation-frontend': - specifier: ^4.0.6 - version: 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6) + specifier: ^4.9.4 + version: 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4) + '@itwin/tree-widget-react': + specifier: 3.0.2 + version: 3.0.2(@itwin/appui-abstract@4.9.4)(@itwin/appui-react@4.17.1)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-components@5.5.0)(react-dom@17.0.2)(react@17.0.2) + '@itwin/unified-selection': + specifier: ^0.5.0 + version: 0.5.1 '@types/react': specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.83 '@types/react-dom': specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.25 '@types/react-redux': specifier: ^7.1.25 - version: 7.1.25 + version: 7.1.34 '@vitejs/plugin-react-swc': specifier: ^3.3.1 - version: 3.3.2(vite@4.5.3) + version: 3.7.1(vite@4.5.5) oidc-client-ts: specifier: ^2.2.4 - version: 2.4.0 + version: 2.4.1 react: specifier: ^17.0.0 - version: 17.0.0 + version: 17.0.2 react-dom: specifier: ^17.0.0 - version: 17.0.0(react@17.0.0) + version: 17.0.2(react@17.0.2) react-redux: specifier: ^7.2.2 - version: 7.2.2(react-dom@17.0.0)(react@17.0.0)(redux@4.1.0) + version: 7.2.9(react-dom@17.0.2)(react@17.0.2) react-router-dom: specifier: ^6.11.2 - version: 6.11.2(react-dom@17.0.0)(react@17.0.0) + version: 6.27.0(react-dom@17.0.2)(react@17.0.2) redux: specifier: ^4.1.0 - version: 4.1.0 + version: 4.2.1 sass: specifier: ^1.62.1 - version: 1.62.1 + version: 1.79.5 typescript: specifier: ^5.1.6 - version: 5.1.6 + version: 5.6.3 vite: specifier: ^4.5.3 - version: 4.5.3(@types/node@18.17.1)(sass@1.62.1) + version: 4.5.5(@types/node@18.19.55)(sass@1.79.5) vite-plugin-static-copy: specifier: ^0.17.0 - version: 0.17.0(vite@4.5.3) + version: 0.17.1(vite@4.5.5) packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: false - - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true /@azure/abort-controller@1.1.0: resolution: {integrity: sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==} engines: {node: '>=12.0.0'} dependencies: - tslib: 2.6.1 + tslib: 2.7.0 + dev: false - /@azure/core-auth@1.4.0: - resolution: {integrity: sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==} - engines: {node: '>=12.0.0'} + /@azure/abort-controller@2.1.2: + resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - tslib: 2.6.1 + tslib: 2.7.0 + dev: false - /@azure/core-http@3.0.2: - resolution: {integrity: sha512-o1wR9JrmoM0xEAa0Ue7Sp8j+uJvmqYaGoHOCT5qaVYmvgmnZDC0OvQimPA/JR3u77Sz6D1y3Xmk1y69cDU9q9A==} - engines: {node: '>=14.0.0'} + /@azure/core-auth@1.8.0: + resolution: {integrity: sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-auth': 1.4.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/core-util': 1.3.2 - '@azure/logger': 1.0.4 - '@types/node-fetch': 2.6.4 - '@types/tunnel': 0.0.3 - form-data: 4.0.0 - node-fetch: 2.6.12 - process: 0.11.10 - tslib: 2.6.1 - tunnel: 0.0.6 - uuid: 8.3.2 - xml2js: 0.5.0 + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.10.0 + tslib: 2.7.0 + dev: false + + /@azure/core-client@1.9.2: + resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} + engines: {node: '>=18.0.0'} + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 + tslib: 2.7.0 transitivePeerDependencies: - - encoding + - supports-color + dev: false - /@azure/core-lro@2.5.4: - resolution: {integrity: sha512-3GJiMVH7/10bulzOKGrrLeG/uCBH/9VtxqaMcB9lIqAeamI/xYQSHJL/KcsLDuH+yTjYpro/u6D/MuRe4dN70Q==} - engines: {node: '>=14.0.0'} + /@azure/core-http-compat@2.1.2: + resolution: {integrity: sha512-5MnV1yqzZwgNLLjlizsU3QqOeQChkIXw781Fwh1xdAqJR5AA32IUaq6xv1BICJvfbHoa+JYcaij2HFkhLbNTJQ==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-util': 1.3.2 - '@azure/logger': 1.0.4 - tslib: 2.6.1 + '@azure/abort-controller': 2.1.2 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.17.0 + transitivePeerDependencies: + - supports-color + dev: false - /@azure/core-paging@1.5.0: - resolution: {integrity: sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==} - engines: {node: '>=14.0.0'} + /@azure/core-lro@2.7.2: + resolution: {integrity: sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==} + engines: {node: '>=18.0.0'} dependencies: - tslib: 2.6.1 + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 + tslib: 2.7.0 + dev: false - /@azure/core-tracing@1.0.0-preview.13: - resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==} - engines: {node: '>=12.0.0'} + /@azure/core-paging@1.6.2: + resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} + engines: {node: '>=18.0.0'} dependencies: - '@opentelemetry/api': 1.4.1 - tslib: 2.6.1 + tslib: 2.7.0 + dev: false - /@azure/core-util@1.3.2: - resolution: {integrity: sha512-2bECOUh88RvL1pMZTcc6OzfobBeWDBf5oBbhjIhT1MV9otMVWCzpOJkkiKtrnO88y5GGBelgY8At73KGAdbkeQ==} - engines: {node: '>=14.0.0'} + /@azure/core-rest-pipeline@1.17.0: + resolution: {integrity: sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - tslib: 2.6.1 + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.10.0 + '@azure/logger': 1.1.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + dev: false - /@azure/logger@1.0.4: - resolution: {integrity: sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==} - engines: {node: '>=14.0.0'} + /@azure/core-tracing@1.2.0: + resolution: {integrity: sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==} + engines: {node: '>=18.0.0'} dependencies: - tslib: 2.6.1 + tslib: 2.7.0 + dev: false - /@azure/storage-blob@12.13.0: - resolution: {integrity: sha512-t3Q2lvBMJucgTjQcP5+hvEJMAsJSk0qmAnjDLie2td017IiduZbbC9BOcFfmwzR6y6cJdZOuewLCNFmEx9IrXA==} - engines: {node: '>=14.0.0'} + /@azure/core-util@1.10.0: + resolution: {integrity: sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.2 - '@azure/core-lro': 2.5.4 - '@azure/core-paging': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.0.4 - events: 3.3.0 - tslib: 2.6.1 - transitivePeerDependencies: - - encoding + '@azure/abort-controller': 2.1.2 + tslib: 2.7.0 + dev: false - /@azure/storage-blob@12.15.0: - resolution: {integrity: sha512-e7JBKLOFi0QVJqqLzrjx1eL3je3/Ug2IQj24cTM9b85CsnnFjLGeGjJVIjbGGZaytewiCEG7r3lRwQX7fKj0/w==} - engines: {node: '>=14.0.0'} + /@azure/core-xml@1.4.4: + resolution: {integrity: sha512-J4FYAqakGXcbfeZjwjMzjNcpcH4E+JtEBv+xcV1yL0Ydn/6wbQfeFKTCHh9wttAi0lmajHw7yBbHPRG+YHckZQ==} + engines: {node: '>=18.0.0'} dependencies: - '@azure/abort-controller': 1.1.0 - '@azure/core-http': 3.0.2 - '@azure/core-lro': 2.5.4 - '@azure/core-paging': 1.5.0 - '@azure/core-tracing': 1.0.0-preview.13 - '@azure/logger': 1.0.4 + fast-xml-parser: 4.5.0 + tslib: 2.7.0 + dev: false + + /@azure/logger@1.1.4: + resolution: {integrity: sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ==} + engines: {node: '>=18.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@azure/storage-blob@12.25.0: + resolution: {integrity: sha512-oodouhA3nCCIh843tMMbxty3WqfNT+Vgzj3Xo5jqR9UPnzq3d7mzLjlHAYz7lW+b4km3SIgz+NAgztvhm7Z6kQ==} + engines: {node: '>=18.0.0'} + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.8.0 + '@azure/core-client': 1.9.2 + '@azure/core-http-compat': 2.1.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.17.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.10.0 + '@azure/core-xml': 1.4.4 + '@azure/logger': 1.1.4 events: 3.3.0 - tslib: 2.6.1 + tslib: 2.7.0 transitivePeerDependencies: - - encoding + - supports-color dev: false - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.25.7: + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.25.7 + picocolors: 1.1.0 - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/generator@7.25.7: + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.25.8 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + /@babel/helper-module-imports@7.25.7: + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.8 + transitivePeerDependencies: + - supports-color + + /@babel/helper-string-parser@7.25.7: + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.25.7: + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.25.7: + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.1.0 - /@babel/runtime@7.22.6: - resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + /@babel/parser@7.25.8: + resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.25.8 + + /@babel/runtime@7.25.7: + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + + /@babel/template@7.25.7: + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.8 + '@babel/types': 7.25.8 + + /@babel/traverse@7.25.7: + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.8 + '@babel/template': 7.25.7 + '@babel/types': 7.25.8 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.25.8: + resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: @@ -462,12 +578,13 @@ packages: /@bentley/icons-generic-webfont@1.0.34: resolution: {integrity: sha512-5zZgs+himE2vjf39CVlDXMHCFAwSfcoORqJBk3Vji8QVCF8AIX4IX2DO6HlsIAM7szxMNqhz1kd07Xfppro6MA==} + dev: false /@bentley/icons-generic@1.0.34: resolution: {integrity: sha512-IIs1wDcY2oZ8tJ3EZRw0U51M+0ZL3MvwoDYYmhUXaa9/UZqpFoOyLBGaxjirQteWXqTIMm3mFvmC+Nbn1ok4Iw==} - /@bentley/imodeljs-native@4.0.13: - resolution: {integrity: sha512-Jlfw6+bwflVjHNe5SZdQUBLECdYWtuoG0F4KaXHS6P9cPRSn98Y/EeLAvOhYyysVzSlWOq7YQpFUF3r7DDWdmg==} + /@bentley/imodeljs-native@4.9.31: + resolution: {integrity: sha512-8wpIhEFpGZbs/bEcwTe/JO2ViN9j3ZF8ErmraYL55Kp8/ojG634J8AzIxpsENzSyB/5CYXAUrMX0/TOof0mYKQ==} requiresBuild: true dev: false @@ -478,38 +595,40 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@emotion/babel-plugin@11.11.0: - resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + /@emotion/babel-plugin@11.12.0: + resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} dependencies: - '@babel/helper-module-imports': 7.22.5 - '@babel/runtime': 7.22.6 - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/serialize': 1.1.2 + '@babel/helper-module-imports': 7.25.7 + '@babel/runtime': 7.25.7 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.2 babel-plugin-macros: 3.1.0 convert-source-map: 1.9.0 escape-string-regexp: 4.0.0 find-root: 1.1.0 source-map: 0.5.7 stylis: 4.2.0 + transitivePeerDependencies: + - supports-color - /@emotion/cache@11.11.0: - resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + /@emotion/cache@11.13.1: + resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==} dependencies: - '@emotion/memoize': 0.8.1 - '@emotion/sheet': 1.2.2 - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.1 + '@emotion/weak-memoize': 0.4.0 stylis: 4.2.0 - /@emotion/hash@0.9.1: - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + /@emotion/hash@0.9.2: + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} - /@emotion/memoize@0.8.1: - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + /@emotion/memoize@0.9.0: + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} - /@emotion/react@11.11.1(@types/react@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} + /@emotion/react@11.13.3(@types/react@17.0.83)(react@17.0.2): + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -517,44 +636,46 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - '@emotion/babel-plugin': 11.11.0 - '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.2 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@17.0.0) - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - '@types/react': 17.0.0 + '@babel/runtime': 7.25.7 + '@emotion/babel-plugin': 11.12.0 + '@emotion/cache': 11.13.1 + '@emotion/serialize': 1.3.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@17.0.2) + '@emotion/utils': 1.4.1 + '@emotion/weak-memoize': 0.4.0 + '@types/react': 17.0.83 hoist-non-react-statics: 3.3.2 - react: 17.0.0 + react: 17.0.2 + transitivePeerDependencies: + - supports-color - /@emotion/serialize@1.1.2: - resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + /@emotion/serialize@1.3.2: + resolution: {integrity: sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==} dependencies: - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/unitless': 0.8.1 - '@emotion/utils': 1.2.1 - csstype: 3.1.2 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.1 + csstype: 3.1.3 - /@emotion/sheet@1.2.2: - resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + /@emotion/sheet@1.4.0: + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} - /@emotion/unitless@0.8.1: - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + /@emotion/unitless@0.10.0: + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} - /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@17.0.0): - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} + /@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@17.0.2): + resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==} peerDependencies: react: '>=16.8.0' dependencies: - react: 17.0.0 + react: 17.0.2 - /@emotion/utils@1.2.1: - resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + /@emotion/utils@1.4.1: + resolution: {integrity: sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==} - /@emotion/weak-memoize@0.3.1: - resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + /@emotion/weak-memoize@0.4.0: + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} @@ -732,30 +853,30 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.1): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.45.0 - eslint-visitor-keys: 3.4.2 + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.11.1: + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: false - /@eslint/eslintrc@2.1.1: - resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.7 espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -764,31 +885,54 @@ packages: - supports-color dev: false - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + /@eslint/js@8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@floating-ui/core@1.4.1: - resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} + /@floating-ui/core@1.6.8: + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} dependencies: - '@floating-ui/utils': 0.1.1 + '@floating-ui/utils': 0.2.8 - /@floating-ui/dom@1.5.1: - resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} + /@floating-ui/dom@1.6.11: + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} dependencies: - '@floating-ui/core': 1.4.1 - '@floating-ui/utils': 0.1.1 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 - /@floating-ui/utils@0.1.1: - resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} + /@floating-ui/react-dom@2.1.2(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 1.6.11 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@floating-ui/react@0.26.25(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-hZOmgN0NTOzOuZxI1oIrDu3Gcl8WViIkvPMpB4xdd4QD6xAMtwgwr3VPoiyH/bLtRcS1cDnhxLSD1NsMJmwh/A==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/react-dom': 2.1.2(react-dom@17.0.2)(react@17.0.2) + '@floating-ui/utils': 0.2.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + tabbable: 6.2.0 + + /@floating-ui/utils@0.2.8: + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -799,8 +943,9 @@ packages: engines: {node: '>=12.22'} dev: false - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead dev: false /@istanbuljs/schema@0.1.3: @@ -808,243 +953,240 @@ packages: engines: {node: '>=8'} dev: true - /@itwin/appui-abstract@4.0.6(@itwin/core-bentley@4.0.6): - resolution: {integrity: sha512-pUvdLcceJnfEw5lfxSiOjWBLNWc9j19cG61ZT0X7CubEx20WfzQlDJqxuYXoBebJ5PxfsVkRE2bGBGUU68w7Rg==} + /@itwin/appui-abstract@4.9.4(@itwin/core-bentley@4.9.4): + resolution: {integrity: sha512-UDKQtsgEeqEY5lVpgC6LK2OotouBYS5LGYPaWiSoNfxvi9G03quJKtmMSVlyQV9ZyJDxcTiZijiTUBPEi6c1rw==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 dependencies: - '@bentley/icons-generic-webfont': 1.0.34 - '@itwin/core-bentley': 4.0.6 + '@itwin/core-bentley': 4.9.4 - /@itwin/appui-layout-react@4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-eJgEhmio6vcydaqt5qJcTNKyw6lE0dL3DxDJklGTHbPEVZ7iEWe1xt096xgHTJ0zJPHLqQK6latAS1HxJSRoGA==} + /@itwin/appui-layout-react@4.8.3(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-7jyEefXWeOXMxREE5+dON2IJ3KercWz7xkMvHSXzHZARjedHZRZKgrgMM5QETrEsRNDixxp0em23mIzwCpVSRg==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 - '@itwin/core-react': ^4.3.0 + '@itwin/core-react': ^4.8.3 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-variables': 2.1.2 classnames: 2.3.1 immer: 9.0.6 lodash: 4.17.21 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-transition-group: 4.4.5(react-dom@17.0.0)(react@17.0.0) - zustand: 4.3.9(immer@9.0.6)(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + ts-key-enum: 2.0.13 + zustand: 4.5.5(@types/react@17.0.83)(immer@9.0.6)(react@17.0.2) + transitivePeerDependencies: + - '@types/react' dev: false - /@itwin/appui-react@4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/appui-layout-react@4.3.0)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(@itwin/core-telemetry@4.0.6)(@itwin/imodel-components-react@4.3.0)(react-dom@17.0.0)(react-redux@7.2.2)(react@17.0.0)(redux@4.1.0): - resolution: {integrity: sha512-gqd3jR49+A0Dx0+0zEnB9YCbZ60qdIoYCvPRCu7rAMIFPX1q6j/dQBNKh+RCdFJbNyRDcZT6G8t+LAw3Jco+2w==} + /@itwin/appui-react@4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/core-telemetry@4.9.4)(@itwin/imodel-components-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react-redux@7.2.9)(react@17.0.2)(redux@4.2.1): + resolution: {integrity: sha512-7l251YZ+YaxgBa9EAN2zhoXggN+vAtxMO/fr6ScMRWgMmN3wtYK71UhE2WldBuH+PEEKnZ2UeEAMNTwVlAMepQ==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 - '@itwin/appui-layout-react': ^4.3.0 - '@itwin/components-react': ^4.3.0 + '@itwin/components-react': ^4.17.1 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 '@itwin/core-common': ^3.7.0 || ^4.0.0 '@itwin/core-frontend': ^3.7.0 || ^4.0.0 '@itwin/core-geometry': ^3.7.0 || ^4.0.0 '@itwin/core-quantity': ^3.7.0 || ^4.0.0 - '@itwin/core-react': ^4.3.0 + '@itwin/core-react': ^4.17.1 '@itwin/core-telemetry': ^3.7.0 || ^4.0.0 - '@itwin/imodel-components-react': ^4.3.0 + '@itwin/imodel-components-react': ^4.17.1 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 react-redux: ^7.2.2 redux: ^4.1.0 dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/appui-layout-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/components-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-frontend': 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/core-geometry': 4.0.6 - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) - '@itwin/core-telemetry': 4.0.6(@itwin/core-geometry@4.0.6) - '@itwin/imodel-components-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-icons': 1.16.0 - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-illustrations-react': 2.0.1(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-react': 2.12.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-geometry': 4.9.4 + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/core-telemetry': 4.9.4(@itwin/core-geometry@4.9.4) + '@itwin/imodel-components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react-v2': /@itwin/itwinui-react@2.12.26(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 lodash: 4.17.21 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-error-boundary: 4.0.3(react@17.0.0) - react-redux: 7.2.2(react-dom@17.0.0)(react@17.0.0)(redux@4.1.0) - redux: 4.1.0 - rxjs: 6.6.7 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-error-boundary: 4.0.3(react@17.0.2) + react-redux: 7.2.9(react-dom@17.0.2)(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + redux: 4.2.1 + rxjs: 7.8.1 + ts-key-enum: 2.0.13 + use-sync-external-store: 1.2.2(react@17.0.2) + zustand: 4.5.5(@types/react@17.0.83)(immer@9.0.6)(react@17.0.2) + transitivePeerDependencies: + - '@types/react' dev: false - /@itwin/cloud-agnostic-core@2.0.0(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-rdSvDmEChwQbnZo5qYkpGzPTQFuHTTU99wIf9LjIgTrPfd3QpQY0o80AEmwXSMy4umD43UR2OnDwM+Ja7Dmd8g==} - engines: {node: '>=12.20 <19.0.0'} + /@itwin/cloud-agnostic-core@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-pLEWIjQ4Z1kos7z6RWu/kG2lTEyojr906WVGAXKouxA/BobWuUlb1HG1/Zw8+SovA284wauKhHJsydRhYeddIQ==} peerDependencies: inversify: ^6.0.1 reflect-metadata: ^0.1.13 dependencies: - inversify: 6.0.1 - reflect-metadata: 0.1.13 + inversify: 6.0.2 + reflect-metadata: 0.1.14 - /@itwin/cloud-agnostic-core@2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-Macw2d7d8VTa7B/xy/YWAbYKxiCu8XXtAT1s9yqcV9tQw5Z/6E97kimz/IWjBi6P+4rHLtEXZfF2wuR8mmr8Bw==} - engines: {node: '>=12.20 <19.0.0'} - peerDependencies: - inversify: ^6.0.1 - reflect-metadata: ^0.1.13 - dependencies: - inversify: 6.0.1 - reflect-metadata: 0.1.13 - - /@itwin/components-react@4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-Sh0Z80E/kBv2jL2ddFfPqRsYkIcglLvIRn3FRE6VFYE1P3WiFKjHYxygr4MaN95dntxhNiju0jtgvzh/gtLSrQ==} + /@itwin/components-react@4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-SrIQ9sIMKPx3Tjm2mlc0Yy3lj3hj99082J6IhxTOKzoIl8gauyxlvlucOssVSjpxW8u8+RXWKZ7F3bUfYEqc+g==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 - '@itwin/core-react': ^4.3.0 + '@itwin/core-react': ^4.17.1 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-react': 2.12.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 - '@types/shortid': 0.0.29 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 linkify-it: 2.2.0 lodash: 4.17.21 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-highlight-words: 0.17.0(react@17.0.0) - react-window: 1.8.8(react-dom@17.0.0)(react@17.0.0) - rxjs: 6.6.7 - shortid: 2.2.16 - - /@itwin/core-backend@4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6): - resolution: {integrity: sha512-1cssnEcGx1l0FG3gqVfi0gfUiZWnnb5AkelOiBNDWS0qw69xaexR1z1Ro5WLImqRNUYpN+yNZ8BoDeVcgIGxLQ==} - engines: {node: ^18.0.0} + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-window: 1.8.10(react-dom@17.0.2)(react@17.0.2) + rxjs: 7.8.1 + ts-key-enum: 2.0.13 + transitivePeerDependencies: + - '@types/react' + + /@itwin/core-backend@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4): + resolution: {integrity: sha512-91vMsYVDALFYMtQrWstZPF4hocvPxqwirNL6z1HtO8lKJk1qh10AdineWEVfGNGeLMgOWTDCiUBUt3uo5QsggA==} + engines: {node: ^18.0.0 || ^20.0.0} peerDependencies: - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-common': ^4.0.6 - '@itwin/core-geometry': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-common': ^4.9.4 + '@itwin/core-geometry': ^4.9.4 '@opentelemetry/api': ^1.0.4 peerDependenciesMeta: '@opentelemetry/api': optional: true dependencies: - '@bentley/imodeljs-native': 4.0.13 - '@itwin/cloud-agnostic-core': 2.0.0(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-geometry': 4.0.6 - '@itwin/core-telemetry': 4.0.6(@itwin/core-geometry@4.0.6) - '@itwin/object-storage-azure': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/object-storage-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - form-data: 2.5.1 + '@bentley/imodeljs-native': 4.9.31 + '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/core-telemetry': 4.9.4(@itwin/core-geometry@4.9.4) + '@itwin/object-storage-azure': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + form-data: 2.5.2 fs-extra: 8.1.0 - inversify: 6.0.1 + inversify: 6.0.2 json5: 2.2.3 + linebreak: 1.1.0 multiparty: 4.2.3 - reflect-metadata: 0.1.13 - semver: 7.5.4 - ws: 8.17.1 + reflect-metadata: 0.1.14 + semver: 7.6.3 + touch: 3.1.1 + ws: 7.5.10 transitivePeerDependencies: - bufferutil - debug - - encoding + - supports-color - utf-8-validate dev: false - /@itwin/core-bentley@4.0.6: - resolution: {integrity: sha512-Zsuz80wcrDu8oJF0CAOkB1xZM9zSbYXy4d+nrGG4t0Ce19WdNKdiHSFTB1xlIMW/jGz/AfBO09hfq9WGRtPngQ==} + /@itwin/core-bentley@4.9.4: + resolution: {integrity: sha512-bo/JvwEVAkap71dWVq1A1NhXOqXHOJfSSL6tQdFO7Y0puDy+SJsFPtQpLqOuvQkQruiS4YmbCNq4Y1wcaKA7bg==} - /@itwin/core-common@4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6): - resolution: {integrity: sha512-1N92kv3bqY/01Mdto/GCKgO5dG6dli9d06lp1KpHTUuwPpWVob1oIF/w5ij+0C4QvHq54SZlCxDfNaC7FH6lKQ==} + /@itwin/core-common@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4): + resolution: {integrity: sha512-U7LKHSaoj36Dx4sKC1/3dNkKIGz4Gv0PCwvrrnadMuOdMOXkEdNbU9zZndFPuqtWogTeR9sjAmLjjDVJFIQq3Q==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-geometry': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-geometry': ^4.9.4 dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-geometry': 4.0.6 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-geometry': 4.9.4 flatbuffers: 1.12.0 - js-base64: 3.7.5 + js-base64: 3.7.7 - /@itwin/core-frontend@4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6): - resolution: {integrity: sha512-IX/i+iHvMMN7QWqESn2R7qxmkgVWUduUzonkwnmlgvUuC7mwkX9SY6o472cSFFNYXfBtlv3Y1MO59y7mtPihmg==} + /@itwin/core-frontend@4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-2KD6Mi/uzZr6TUiaM9OVlPednqT6NS0zThLZNaC3k1ziBk4mqnlQWICHzuPHJoe2S7NFuVzenKWmnBDMT27Lig==} peerDependencies: - '@itwin/appui-abstract': ^4.0.6 - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-common': ^4.0.6 - '@itwin/core-geometry': ^4.0.6 - '@itwin/core-orbitgt': ^4.0.6 - '@itwin/core-quantity': ^4.0.6 - dependencies: - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/cloud-agnostic-core': 2.0.0(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-geometry': 4.0.6 - '@itwin/core-i18n': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-orbitgt': 4.0.6 - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-telemetry': 4.0.6(@itwin/core-geometry@4.0.6) - '@itwin/object-storage-azure': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/object-storage-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/webgl-compatibility': 4.0.6 - '@loaders.gl/core': 3.4.8 - '@loaders.gl/draco': 3.4.8 + '@itwin/appui-abstract': ^4.9.4 + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-common': ^4.9.4 + '@itwin/core-geometry': ^4.9.4 + '@itwin/core-orbitgt': ^4.9.4 + '@itwin/core-quantity': ^4.9.4 + dependencies: + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/core-i18n': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-orbitgt': 4.9.4 + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-telemetry': 4.9.4(@itwin/core-geometry@4.9.4) + '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/webgl-compatibility': 4.9.4 + '@loaders.gl/core': 3.4.15 + '@loaders.gl/draco': 3.4.15 fuse.js: 3.6.1 - inversify: 6.0.1 - reflect-metadata: 0.1.13 + meshoptimizer: 0.20.0 wms-capabilities: 0.4.0 transitivePeerDependencies: - debug - encoding + - inversify + - reflect-metadata - /@itwin/core-geometry@4.0.6: - resolution: {integrity: sha512-f1nlvFt0+KGjOFnKSRjnlYlryVQ1sMknUMtFS3PQfkrV8Q+P+pdZaEfYhhatXhmlqZ1+LM8phm8OhtjzSubGmw==} + /@itwin/core-geometry@4.9.4: + resolution: {integrity: sha512-Ix4ltxaeZ41Srzw49Ol8HJRS9MfSQgLxWCSpbTa3lxewNScWAJ9BpLqmGsITsqFpKL4XTKCScwU0e1ktXsns+g==} dependencies: - '@itwin/core-bentley': 4.0.6 + '@itwin/core-bentley': 4.9.4 flatbuffers: 1.12.0 - /@itwin/core-i18n@4.0.6(@itwin/core-bentley@4.0.6): - resolution: {integrity: sha512-vffyXqsgHfSsQ9KudFjFzvYw6aciE3bnQ+yBQ74maXclWxcm0TFTWXGk8n1g936Mm9BRD3Z1gE9qFqeNTgy3kw==} + /@itwin/core-i18n@4.9.4(@itwin/core-bentley@4.9.4): + resolution: {integrity: sha512-2NRJ+nBS0dJHrAbqPQTNe0AOd8FN/zxm313urUdBU6zmCLjhdRPFt7ggDPc0z2Z0yJm1CG+l4/kmYEWXwrTzhg==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 dependencies: - '@itwin/core-bentley': 4.0.6 + '@itwin/core-bentley': 4.9.4 i18next: 21.10.0 i18next-browser-languagedetector: 6.1.8 i18next-http-backend: 1.4.5 transitivePeerDependencies: - encoding - /@itwin/core-orbitgt@4.0.6: - resolution: {integrity: sha512-yKJ5KMToA68nBTl+nkLCp2I/YVnQTXpgjQLqk2OqwNm7ey89TfA6cKvaanv6hvh1nX9Fgqf0vSCpVIyLDrf7+w==} + /@itwin/core-orbitgt@4.9.4: + resolution: {integrity: sha512-ATeF9lmhzV6rkk8BDY9HGq3fiYm0rW2BUatjbcoFNJp5DMVxUfE/6/2SErQtiQ6G+XVQYPhfXoe1lL6/+VEN1A==} - /@itwin/core-quantity@4.0.6(@itwin/core-bentley@4.0.6): - resolution: {integrity: sha512-BpXsvF6+0RnRDQ7322MbDeKYY0Qy+QesC4kQ/VkVlQd5tv+mC4hOPGa7wIv3OVxXiNf9DQtqn4tJSNtoMzGEkA==} + /@itwin/core-quantity@4.9.4(@itwin/core-bentley@4.9.4): + resolution: {integrity: sha512-+JRxh8SMwqy+NPpX8gMReN7b362NVQcNIngnoSbQ6hFVMbmzFSg4PSCJmREaGeNp/P0vBgbO/MxFogbYoQQLRw==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 dependencies: - '@itwin/core-bentley': 4.0.6 + '@itwin/core-bentley': 4.9.4 - /@itwin/core-react@4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-jerPlnn1RGG1GbfvMRz/OLHYnB7Oxp475QGtDh8W0EAIvnQ1G3cApt3DaorQGCsFc+zvzlVLE45T0m5pfS5ZRw==} + /@itwin/core-react@4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-iVUJu4NGYLtosR7bM0F9Es0SSXXtjeDI2AAt4m2cfIkDGy5gPTkJOJmGgITcPZiOzfT9JUNB01hw2VsLpejceQ==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 @@ -1052,441 +1194,624 @@ packages: react-dom: ^17.0.0 || ^18.0.0 dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-bentley': 4.0.6 - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-react': 2.12.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 - dompurify: 2.4.7 + dompurify: 2.5.7 lodash: 4.17.21 - react: 17.0.0 - react-autosuggest: 10.1.0(react@17.0.0) - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-autosuggest: 10.1.0(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) resize-observer-polyfill: 1.5.1 + ts-key-enum: 2.0.13 + transitivePeerDependencies: + - '@types/react' - /@itwin/core-telemetry@4.0.6(@itwin/core-geometry@4.0.6): - resolution: {integrity: sha512-dXQEB7H4Zs1VVb46/ETVsBqsbGXMU1O0dmCuDGeuQQNahF8ngp7CbVLPPJhhADOx9Gp/LHOqoSkEvza0+NREZQ==} + /@itwin/core-telemetry@4.9.4(@itwin/core-geometry@4.9.4): + resolution: {integrity: sha512-OnNFpmkN58pGqqRxlpzkPGmhEBi44XebPaV+zK+mxWHmz0L7AjokHseupudgmIu9ZLILezNFsYAo7wcNLnc9Vg==} dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) transitivePeerDependencies: - '@itwin/core-geometry' - /@itwin/ecschema-metadata@4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-quantity@4.0.6): - resolution: {integrity: sha512-PwKkNUuLZzh1Hc137leRS/8UAq3dS4a+BcZvhey+b63hU6LXtkhNq0aRJ5/T70YMgIk9dwCVQDKZmDA0ZuKAXg==} + /@itwin/ecschema-metadata@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4): + resolution: {integrity: sha512-cf/+o3pQ8VAt4VriPMmb9GHGr+hc8jg7Tht/iF4QWG9VsNKqCPOTeTPI6gbgzwXaPFzDH1YYJlCLEa7nKj2Veg==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-quantity': ^4.0.6 + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-quantity': ^4.9.4 dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - almost-equal: 1.1.0 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) - /@itwin/express-server@4.0.6(@itwin/core-backend@4.0.6): - resolution: {integrity: sha512-p5GrhMw8EJ6uacjc5fT+ZX9X+SDIy1vU98H6mbIXUGZH1ZrYbKg1TIjrZ3QDIfK1tawxX6lU2ATjAqhthMWXcw==} - engines: {node: ^18.0.0} + /@itwin/ecschema-rpcinterface-common@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4): + resolution: {integrity: sha512-TZXsVTxqrjmD84N3QxbvH6Mb+up5Lth3adjzZVg4usdipO+C8N7MLGYSsS61cWnBMvMs2Q9I7QTNQvAnu9/ljA==} peerDependencies: - '@itwin/core-backend': 4.0.6 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4 + '@itwin/core-geometry': 4.9.4 + '@itwin/ecschema-metadata': 4.9.4 dependencies: - '@itwin/core-backend': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6) - express: 4.19.2 - express-ws: 5.0.2(express@4.19.2) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + dev: false + + /@itwin/ecschema-rpcinterface-impl@4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/ecschema-rpcinterface-common@4.9.4): + resolution: {integrity: sha512-fZMd73sFBpPAWLR7rOBpGatQClIMagd2nrrNGyS8774XHqhWebB7kM8HnWvvD8nG4mD/XQ15iSe560s3l2yqQA==} + peerDependencies: + '@itwin/core-backend': 4.9.4 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4 + '@itwin/core-geometry': 4.9.4 + '@itwin/ecschema-metadata': 4.9.4 + '@itwin/ecschema-rpcinterface-common': 4.9.4 + dependencies: + '@itwin/core-backend': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/ecschema-rpcinterface-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/ecschema-metadata@4.9.4) + dev: false + + /@itwin/express-server@4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-common@4.9.4): + resolution: {integrity: sha512-adxRUW7Hjydisj9k2J0TiwmqRQcMcNtRTrYUwA/wvqn7ja8ss0OToBXjSBQLPqyqE8No7V5CIcgDrO2m9ivNxQ==} + engines: {node: ^18.0.0 || ^20.0.0} + peerDependencies: + '@itwin/core-backend': 4.9.4 + '@itwin/core-common': 4.9.4 + dependencies: + '@itwin/core-backend': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + express: 4.21.1 + express-ws: 5.0.2(express@4.21.1) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: false - /@itwin/imodel-components-react@4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-XxNeAfLv4KwoJmHfEIQOtGoBbcgmDe0ppITt5/2lRAIQGSRSxEwhsel2KY4a1A4toY+HUpvCEavcGdFwDQMJ3Q==} + /@itwin/imodel-components-react@4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-0kStDiu/6N7dMxs5lDhZUTGWP7GJvVjrXEx+MNNEi4ylW+c4bfeybIu2v/awaoez0C3cfrBbh6m9Rc5L2tJvhA==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 - '@itwin/components-react': ^4.3.0 + '@itwin/components-react': ^4.17.1 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 '@itwin/core-common': ^3.7.0 || ^4.0.0 '@itwin/core-frontend': ^3.7.0 || ^4.0.0 '@itwin/core-geometry': ^3.7.0 || ^4.0.0 '@itwin/core-quantity': ^3.7.0 || ^4.0.0 - '@itwin/core-react': ^4.3.0 + '@itwin/core-react': ^4.17.1 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/components-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-frontend': 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/core-geometry': 4.0.6 - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/core-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-react': 2.12.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-geometry': 4.9.4 + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + ts-key-enum: 2.0.13 + transitivePeerDependencies: + - '@types/react' - /@itwin/imodels-access-backend@4.1.3(@itwin/core-backend@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-tJUC4jEZxAV97WrPycU6tjhRBqIF1lu9Yc0ztwSrkYieIqFrjWxf6aKEdm5JXQayEm2rlLF52986yTmFfaHxhA==} + /@itwin/imodels-access-backend@5.2.3(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-et2bNOgZWRS7UCChphdf9gTHjUqOj9Pig4xG8VFmKxVc3q+qSNzkvz7ZEbv4NYGg54sq743jxyIeeE8A6/B9aA==} peerDependencies: '@itwin/core-backend': ^4.0.0 '@itwin/core-bentley': ^4.0.0 '@itwin/core-common': ^4.0.0 dependencies: '@azure/abort-controller': 1.1.0 - '@itwin/core-backend': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/imodels-access-common': 4.1.3(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6) - '@itwin/imodels-client-authoring': 4.2.2(inversify@6.0.1)(reflect-metadata@0.1.13) - axios: 1.6.2 + '@itwin/core-backend': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/imodels-access-common': 5.2.3(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4) + '@itwin/imodels-client-authoring': 5.9.0(inversify@6.0.2)(reflect-metadata@0.1.14) + axios: 1.7.7 transitivePeerDependencies: - debug - - encoding - inversify - reflect-metadata + - supports-color dev: false - /@itwin/imodels-access-common@4.1.3(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6): - resolution: {integrity: sha512-iK43umNeo3I8uhXu5/fD5DmZ/V44aW7uumlUKKnohLKkmNEv/cQkUr2ZMj7JmMNxweUh2icK9JFicEXN64BgUw==} + /@itwin/imodels-access-common@5.2.3(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4): + resolution: {integrity: sha512-HP3oEe2715rr0EyExBkUgLxrCB6YbkkgiIQc4e8I0zzv/sW+7yygZOC/K/hd+/roTFkdNsiT+W446Bh5cnVuOg==} peerDependencies: '@itwin/core-bentley': ^4.0.0 '@itwin/core-common': ^4.0.0 dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/imodels-client-management': 4.2.2 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/imodels-client-management': 5.9.0 transitivePeerDependencies: - debug dev: false - /@itwin/imodels-access-frontend@4.1.3(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6): - resolution: {integrity: sha512-XgfL/dEfDI/ufmE+waHTlkJ8ftvcEJ50gUNHsWWFR8O3wGLDO4eGN7EaH4ExUvP3jLBByyaX63z3q7gkp8HuaQ==} + /@itwin/imodels-access-frontend@5.2.3(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4): + resolution: {integrity: sha512-jcfP4WvsTkRfP5r6MYE7FtEN4dw4f249G5TzltAOZGXCtiJjMvCgJ6JKnp6Bz95ZfLgSjZTkhowZGthOTLvuqA==} peerDependencies: '@itwin/core-bentley': ^4.0.0 '@itwin/core-common': ^4.0.0 '@itwin/core-frontend': ^4.0.0 dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-frontend': 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/imodels-access-common': 4.1.3(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6) - '@itwin/imodels-client-management': 4.2.2 + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/imodels-access-common': 5.2.3(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4) + '@itwin/imodels-client-management': 5.9.0 transitivePeerDependencies: - debug dev: false - /@itwin/imodels-client-authoring@4.2.2(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-YpXnsKvoZD5oMpmJ/A6eRtTFdRQcYFXaEsy3Zw5rXHk1l6kQ2oAURSmEdbEHAWdTZ+/r9ImniuyIExvMCvSjMA==} + /@itwin/imodels-client-authoring@5.9.0(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-f34dKHccffjyukcBTF7bVZuoOvUi61z6sZ43YLcju/K7WS8dUdtkxaoGYe1Ub3lXg/irsAcBnVIr0j8NNYr+Gg==} dependencies: - '@azure/storage-blob': 12.15.0 - '@itwin/imodels-client-management': 4.2.2 - '@itwin/object-storage-azure': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/object-storage-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) + '@azure/storage-blob': 12.25.0 + '@itwin/imodels-client-management': 5.9.0 + '@itwin/object-storage-azure': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) transitivePeerDependencies: - debug - - encoding - inversify - reflect-metadata + - supports-color dev: false - /@itwin/imodels-client-management@4.2.2: - resolution: {integrity: sha512-abK92VHZNeHkznLjyyGpDN+taOLu3uXuiAfyBX2jWMZrNHFHk/x1tM6Alb/ryoL4GTBabkedK9wjTS91fR4oeA==} + /@itwin/imodels-client-management@5.9.0: + resolution: {integrity: sha512-bmnpST6Eq0D+CsBsLkOBqcxhRYdC9uJ2oONuIVcl1Ii91R82cXMx284UjtsKtXBzO/YKOhXWHFnQTdxQEa/x3w==} dependencies: - axios: 1.6.2 + axios: 1.7.7 transitivePeerDependencies: - debug dev: false - /@itwin/itwinui-css@1.12.0: - resolution: {integrity: sha512-6OxmBs5fUVoHURT/Xj7BRvJ17AiGbBLQOEnRtfK6eIyErNSUnZ2mYVt7J44lB0qSxODQxDt2Oq9FlFqJrXeyOg==} - - /@itwin/itwinui-icons-react@2.2.0(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-f3asC/7w77K0ZiO5j7VaVsXnDsfbegPfdO7+u09MGKKfPx7zKRSQmASxuHT/DcNElODiY/LJ0z94X6UTZh+HrA==} + /@itwin/itwinui-icons-react@2.9.0(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-48oxHUuqEaJOwVRFED0yssfIriX/IQrHd67ffxvEAu7yW1f5a/qFDyImAlwjlzr+4+obBMweshJ8sI+OgziyvA==} peerDependencies: react: '>=16.8.6' react-dom: '>=16.8.6' dependencies: - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - - /@itwin/itwinui-icons@1.16.0: - resolution: {integrity: sha512-m3s28MitTRtCo7hAIjMB7787KGsjvPhxN9QucmTaKXxDJLahb51fqq4YXgZBpyLw39tbAMETXmbdEdzN6HnK4w==} - dev: false + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) - /@itwin/itwinui-illustrations-react@2.0.1(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-uUrr/O3hpL8r0ZSSRExZ68RTxLbR7mlZFytpCLa9qwJqxvdWgTJaZhR3rSOad6HBfqk6KOGlOGz569BuWrD9Lw==} - peerDependencies: - react: '>=16.8.6' - react-dom: '>=16.8.6' - dependencies: - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - dev: false - - /@itwin/itwinui-illustrations-react@2.1.0(react-dom@17.0.0)(react@17.0.0): + /@itwin/itwinui-illustrations-react@2.1.0(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-5JR2A3mZy0d0qwwHpveSG3fsXLheJkO6a0GoWb8NQWw5edNZMRynJg0l3hVw3CHMgaaCGbUoKC77MuG0jWDzuA==} peerDependencies: react: '>=16.8.6' react-dom: '>=16.8.6' dependencies: - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) - /@itwin/itwinui-layouts-css@0.2.0: - resolution: {integrity: sha512-grConweXD1Q+yJt8i1Urqf2XAQc4RlBO/+xXo06hx8uV2ros6+wjjbWhDN0n9VdXogEEGJu+GNdxkWgjUEqIzw==} - dependencies: - '@itwin/itwinui-variables': 1.0.0 + /@itwin/itwinui-layouts-css@0.4.0: + resolution: {integrity: sha512-yFbE7X5RBpa6SM2MsupUcmt16XcwyTHDG1gsuywVacoDmK2D2BKiqRw3zxx+cutOWTysokIrW2fek1Bo7EBcMA==} dev: false - /@itwin/itwinui-layouts-react@0.2.0(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-nMaSNas1iApFbcaO68lOhK6HuYXAzRb8I+KcSfPbD9Xhq3ZBsyHi0Dvw4pFeqB1MWhrpmxLrQdojWcoDn3F8rA==} + /@itwin/itwinui-layouts-react@0.4.1(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-zzswhMUTOaIBUf5dM59nhuwhJ3IRqAv1cTJ27GNh3NCR9lsDlOa08jAl6Df11/qZxZh+7YDfXIUWFcRm+9nIHg==} peerDependencies: react: '>=16.8.6' react-dom: '>=16.8.6' dependencies: - '@itwin/itwinui-layouts-css': 0.2.0 - classnames: 2.3.2 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + '@itwin/itwinui-layouts-css': 0.4.0 + classnames: 2.5.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) dev: false - /@itwin/itwinui-react@2.12.0(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-owXvQ4qX6fkPFRS46BSMmhM1eHjJ/jfhdAkQTKYK7He+14gcyaBHrSBIiRNKILFHSyBQXE2FjD6wwoAjS/lnDA==} + /@itwin/itwinui-react@2.12.26(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-SzedS6sz1iupq0JZm0SAfynFPR8xB9/GbTtQz/8XyuTEvrBoXyHMZJGAySR99TdLwpm3r+cxAEpFK5UOpQ+0Vw==} + deprecated: iTwinUI v2 has reached end-of-life. Please upgrade to the latest version. peerDependencies: react: '>=16.8.6 < 19.0.0' react-dom: '>=16.8.6 < 19.0.0' dependencies: - '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.0)(react@17.0.0) - '@tippyjs/react': 4.2.6(react-dom@17.0.0)(react@17.0.0) - '@types/react-table': 7.7.14 - classnames: 2.3.2 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-table: 7.8.0(react@17.0.0) - react-transition-group: 4.4.5(react-dom@17.0.0)(react@17.0.0) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@tippyjs/react': 4.2.6(react-dom@17.0.2)(react@17.0.2) + '@types/react-table': 7.7.20 + classnames: 2.5.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-table: 7.8.0(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) tippy.js: 6.3.7 + dev: false - /@itwin/itwinui-variables@1.0.0: - resolution: {integrity: sha512-f78S401k1romzL6jgJuNZTe8P0/PCtrKUDVZwMsIJHLlgwyMKGR7nqDWQBV03tY2/TF/qMLt9S96Tej4f1Xrtg==} + /@itwin/itwinui-react@3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-lMgrkYBfiVMQFstVWBEkEXOuadqQiYvD7AeYO8YakSwXJCh7ZeUxGYuYQpqZJoeh49iDYG5OzFDjs2Kv2t4gjQ==} + peerDependencies: + react: '>= 17.0.0 < 19.0.0' + react-dom: '>=17.0.0 < 19.0.0' + dependencies: + '@floating-ui/react': 0.26.25(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@swc/helpers': 0.5.13 + '@tanstack/react-virtual': 3.10.8(react-dom@17.0.2)(react@17.0.2) + classnames: 2.5.1 + jotai: 2.10.1(@types/react@17.0.83)(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-table: 7.8.0(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + transitivePeerDependencies: + - '@types/react' + + /@itwin/itwinui-variables@2.1.2: + resolution: {integrity: sha512-bwaoiqJdPvMCEhccXh5jE/uF83IoHaHofURZV62t9BEhKXW0LF+iaAwCPC+G4Sttgs6tUtqEGsPqj5RnbdipsQ==} dev: false - /@itwin/itwinui-variables@2.0.0: - resolution: {integrity: sha512-fifv56z4pIVNA7KucfFiDdLThOFOLUF7MYY6VQclfF5uju0Jzl3JmnlTbmBiYlOo9oVn3drtHsA356UWIKclNQ==} + /@itwin/itwinui-variables@3.3.0: + resolution: {integrity: sha512-bnMlOaX+0Bh+bFdXD1KWBcsgeQTJDvaOY7HXI3ZIADRFy4qnx70DmRMp7w+ZA1FxrX2XTQNjt+kmcphaXTPGCw==} - /@itwin/object-storage-azure@2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-THPSJ/nuVpujS95HCbEpbwFCDOLpHkh6Y2DuzGXChpA39B8zAXN4R2Ma33ckoZAmJeewTDhBE8YSr2yGisYBKA==} - engines: {node: '>=12.20 <19.0.0'} + /@itwin/object-storage-azure@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-LvnQupvyK28UhIimnEnZqKoBRSMwl3cw8wJ30mYu0UD5c+xuKAaphFCy79QXF2mENqC68uh0JKrFbaSAphwDHQ==} peerDependencies: inversify: ^6.0.1 reflect-metadata: ^0.1.13 dependencies: - '@azure/core-paging': 1.5.0 - '@azure/storage-blob': 12.13.0 - '@itwin/cloud-agnostic-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - '@itwin/object-storage-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - inversify: 6.0.1 - reflect-metadata: 0.1.13 + '@azure/core-paging': 1.6.2 + '@azure/storage-blob': 12.25.0 + '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + inversify: 6.0.2 + reflect-metadata: 0.1.14 transitivePeerDependencies: - debug - - encoding + - supports-color + dev: false - /@itwin/object-storage-core@2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13): - resolution: {integrity: sha512-DHyjg3Z8/SExS2LV7gOgiQqjTebH8pPihGszP2b9nly9IXo+diK8U3xwszb2qOBX6KZzfBAkNfnbY/P7kHmYhw==} - engines: {node: '>=12.20 <19.0.0'} + /@itwin/object-storage-core@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-IaGryht2Sg2piCVyrnzfTnxSClhi2k8Xv+OxFD2ARvd+J2o3XFgo5EJBezNe1gVz60+9tuqlczIU6blxfbX05g==} peerDependencies: inversify: ^6.0.1 reflect-metadata: ^0.1.13 dependencies: - '@itwin/cloud-agnostic-core': 2.2.1(inversify@6.0.1)(reflect-metadata@0.1.13) - axios: 1.6.2 - inversify: 6.0.1 - reflect-metadata: 0.1.13 + '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + axios: 1.7.7 + inversify: 6.0.2 + reflect-metadata: 0.1.14 transitivePeerDependencies: - debug - /@itwin/presentation-backend@4.0.6(@itwin/core-backend@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6): - resolution: {integrity: sha512-es6OSF/t75rlsz+rKR4iA892u7cljz6T0AOgalj8IJVBjN3h7vHoJRgTuNwuj3Pm/MX2/0yiLzg900CPMhXOSA==} + /@itwin/presentation-backend@4.9.4(@itwin/core-backend@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4): + resolution: {integrity: sha512-9lDRRAORzo3TgrA1DVbOM0+aoy/Wenq2codLjSGIJRSemzmYkZmUBhqoH56qZ5mM5AMh9WeBmpf7Z97fLgVR0A==} peerDependencies: - '@itwin/core-backend': ^4.0.6 - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-common': ^4.0.6 - '@itwin/core-quantity': ^4.0.6 - '@itwin/ecschema-metadata': ^4.0.6 - '@itwin/presentation-common': ^4.0.6 - dependencies: - '@itwin/core-backend': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/ecschema-metadata': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/presentation-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) + '@itwin/core-backend': ^4.9.4 + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-common': ^4.9.4 + '@itwin/core-quantity': ^4.9.4 + '@itwin/ecschema-metadata': ^4.9.4 + '@itwin/presentation-common': ^4.9.4 + dependencies: + '@itwin/core-backend': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/presentation-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) object-hash: 1.3.1 - semver: 7.5.4 + rxjs: 7.8.1 + rxjs-for-await: 1.0.0(rxjs@7.8.1) + semver: 7.6.3 dev: false - /@itwin/presentation-common@4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6): - resolution: {integrity: sha512-JalKiyL8J25MAPc+Hprzv9m9G5SBtiLXvTjLqVSKUYVcYobTVYpD1zggl+ChMxGHr6MRj8EUDj1wC5glmiqqgg==} + /@itwin/presentation-common@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4): + resolution: {integrity: sha512-AjrUka17V475LZQuz9VD+ed4vcUnwov4blz0a/LoAxV8Qbsc38nVaWrw3E4kUP4RuVW2OkZNZUOHu4qHd8BChQ==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-common': ^4.0.6 - '@itwin/core-quantity': ^4.0.6 - '@itwin/ecschema-metadata': ^4.0.6 - dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/ecschema-metadata': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-quantity@4.0.6) - - /@itwin/presentation-components@4.0.1(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-react@4.3.0)(@itwin/imodel-components-react@4.3.0)(@itwin/presentation-common@4.0.6)(@itwin/presentation-frontend@4.0.6)(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-P9S/RmNfYomEh/nzlFQzyAgJF0MtPqLpidYuwDwEiRTiRDBvdj2f+uXizESs4v+wG/I1iH6f2hyI/Z0SMRZAEg==} + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-common': ^4.9.4 + '@itwin/core-quantity': ^4.9.4 + '@itwin/ecschema-metadata': ^4.9.4 + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + + /@itwin/presentation-components@5.5.0(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/imodel-components-react@4.17.1)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-common@4.9.4)(@itwin/presentation-frontend@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Y6xQxxfQif0ku3MgOlXfcWAjMedIo8JY1Y6cJJuLu8cz2kvnzw0Vj8KI+7prfaVAHvz99MMl8q6THi2eFfxRog==} peerDependencies: - '@itwin/appui-abstract': ^3.6.3 || ^4.0.0 - '@itwin/components-react': ^4.0.0 - '@itwin/core-bentley': ^3.6.3 || ^4.0.0 - '@itwin/core-common': ^3.6.3 || ^4.0.0 - '@itwin/core-frontend': ^3.6.3 || ^4.0.0 - '@itwin/core-react': ^4.0.0 - '@itwin/imodel-components-react': ^4.0.0 - '@itwin/presentation-common': ^3.6.3 || ^4.0.0 - '@itwin/presentation-frontend': ^3.6.3 || ^4.0.0 + '@itwin/appui-abstract': ^4.4.0 + '@itwin/components-react': ^4.9.0 + '@itwin/core-bentley': ^4.4.0 + '@itwin/core-common': ^4.4.0 + '@itwin/core-frontend': ^4.4.0 + '@itwin/core-quantity': ^4.4.0 + '@itwin/core-react': ^4.9.0 + '@itwin/ecschema-metadata': ^4.4.0 + '@itwin/imodel-components-react': ^4.9.0 + '@itwin/itwinui-react': ^3.0.0 + '@itwin/presentation-common': ^4.4.0 + '@itwin/presentation-frontend': ^4.4.0 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@itwin/appui-abstract': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/components-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-frontend': 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/core-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(react-dom@17.0.0)(react@17.0.0) - '@itwin/imodel-components-react': 4.3.0(@itwin/appui-abstract@4.0.6)(@itwin/components-react@4.3.0)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/core-react@4.3.0)(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-css': 1.12.0 - '@itwin/itwinui-icons-react': 2.2.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-react': 2.12.0(react-dom@17.0.0)(react@17.0.0) - '@itwin/itwinui-variables': 2.0.0 - '@itwin/presentation-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) - '@itwin/presentation-frontend': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6) - classnames: 2.3.2 + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/imodel-components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) + '@itwin/presentation-frontend': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4) + classnames: 2.5.1 fast-deep-equal: 3.1.3 - fast-sort: 3.4.0 + fast-sort: 3.4.1 micro-memoize: 4.1.2 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-select: 5.7.0(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0) - react-select-async-paginate: 0.7.2(react-select@5.7.0)(react@17.0.0) - rxjs: 6.6.7 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-error-boundary: 4.0.13(react@17.0.2) + react-select: 5.7.0(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + react-select-async-paginate: 0.7.2(react-select@5.7.0)(react@17.0.2) + rxjs: 7.8.1 transitivePeerDependencies: - '@types/react' + - supports-color + + /@itwin/presentation-core-interop@1.1.1(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4): + resolution: {integrity: sha512-Ts3U1/0pJ+igKT2cRlUiO+QKldz/92ma2hKWxTgJWfBAybPR3DI34NAy1Jl7q/r7QcZ+5DAsIcO9Et/SP+Lt9A==} + peerDependencies: + '@itwin/core-bentley': ^4.1.0 + '@itwin/core-common': ^4.1.0 + '@itwin/core-geometry': ^4.1.0 + '@itwin/core-quantity': ^4.1.0 + '@itwin/ecschema-metadata': ^4.1.0 + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/presentation-shared': 1.1.0 + rxjs: 7.8.1 + dev: false + + /@itwin/presentation-frontend@4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4)(@itwin/presentation-common@4.9.4): + resolution: {integrity: sha512-N3l6A0C06cdda+JWSnuQK72dBqrYzD/ydfPRO/LWcBbNer5Cc7d9FpaBdNVc58Z973wcly3GsiO4xYffHZpIng==} + peerDependencies: + '@itwin/core-bentley': ^4.9.4 + '@itwin/core-common': ^4.9.4 + '@itwin/core-frontend': ^4.9.4 + '@itwin/core-quantity': ^4.9.4 + '@itwin/ecschema-metadata': ^4.9.4 + '@itwin/presentation-common': ^4.9.4 + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-quantity': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/presentation-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) + '@itwin/unified-selection': 0.1.0 + rxjs: 7.8.1 + rxjs-for-await: 1.0.0(rxjs@7.8.1) + + /@itwin/presentation-hierarchies-react@1.1.2(@itwin/itwinui-react@3.15.3)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-vnV1ejtS7wr/zC5gn6FvO1fLRKzSBalMS9J/TRi2v5MlQ1H1GwiqO8rm9t7ISUlt/jaD19Cu+A2uh6gXU8GUgg==} + peerDependencies: + '@itwin/itwinui-react': ^3.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@itwin/itwinui-react': + optional: true + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-hierarchies': 1.2.1 + '@itwin/presentation-shared': 1.1.0 + '@itwin/unified-selection': 1.1.1 + classnames: 2.5.1 + immer: 10.1.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-error-boundary: 4.0.13(react@17.0.2) + rxjs: 7.8.1 + dev: false + + /@itwin/presentation-hierarchies@1.1.0: + resolution: {integrity: sha512-61hbT3NR11KupwlLCSnBRS/+sgrx/mUTguYezhF5v1QmeBRDHLbECMaJcZH0eRGmBrH1ECqVxsY8Jf2/seo6wg==} + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/presentation-shared': 1.0.0 + natural-compare-lite: 1.4.0 + rxjs: 7.8.1 + dev: false + + /@itwin/presentation-hierarchies@1.2.1: + resolution: {integrity: sha512-bnfc3unyeUd1N80NZec1ow3wb48AolzZtTwo5BuhEcO378qauwuQfS+lGtM+JD9IO9fyQ5pwtH8IXpt+9XF8gQ==} + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/core-common': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-geometry@4.9.4) + '@itwin/core-geometry': 4.9.4 + '@itwin/presentation-shared': 1.1.0 + natural-compare-lite: 1.4.0 + rxjs: 7.8.1 + dev: false + + /@itwin/presentation-shared@0.5.0: + resolution: {integrity: sha512-8mFpRE3Fzr9xKz3JnWQ/Wa36+v/2EtxYorKFUwna9f6XbRtRdzlNcI46ROjKkuDeJuDQZSTzSKew9FwR7EcVgg==} + dependencies: + '@itwin/core-bentley': 4.9.4 + dev: false + + /@itwin/presentation-shared@1.0.0: + resolution: {integrity: sha512-j/ZBBFTneAxOxl+036g9X+lC083hnqHMc9IKgYuoy8YIZUIqTtAh6au1U9d93tsxYHkNbcXnU+ykXUq2Z9TJNA==} + dependencies: + '@itwin/core-bentley': 4.9.4 + dev: false + + /@itwin/presentation-shared@1.1.0: + resolution: {integrity: sha512-H0NiWIYpxPSg4bJdQdSo4epdFUqoza/4UEbRj6nin906Mr2oKWu7Jep9OLbFXTmarMtP+q+5iSlp/eTRhTc/Cg==} + dependencies: + '@itwin/core-bentley': 4.9.4 + dev: false - /@itwin/presentation-frontend@4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-frontend@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6)(@itwin/presentation-common@4.0.6): - resolution: {integrity: sha512-KSLi7vF0uHINJiazNQyXoXDg8XHVmfUrCsYk0c1qCXRX3q335L5LPdkPDU4jp0oBDdAElAbUBOZAH6m/jkTWBA==} + /@itwin/tree-widget-react@3.0.2(@itwin/appui-abstract@4.9.4)(@itwin/appui-react@4.17.1)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-components@5.5.0)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-qaG7hJOqu2POX/feBSiPHPJ8fKkMQ/kYQKwnBQ19sqlgaH6YmDuKQIlQ9cNjrRxhajSim15nqCGOjKHpE2GXUQ==} peerDependencies: - '@itwin/core-bentley': ^4.0.6 - '@itwin/core-common': ^4.0.6 - '@itwin/core-frontend': ^4.0.6 - '@itwin/core-quantity': ^4.0.6 - '@itwin/ecschema-metadata': ^4.0.6 - '@itwin/presentation-common': ^4.0.6 - dependencies: - '@itwin/core-bentley': 4.0.6 - '@itwin/core-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-geometry@4.0.6) - '@itwin/core-frontend': 4.0.6(@itwin/appui-abstract@4.0.6)(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-geometry@4.0.6)(@itwin/core-orbitgt@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/core-quantity': 4.0.6(@itwin/core-bentley@4.0.6) - '@itwin/ecschema-metadata': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-quantity@4.0.6) - '@itwin/presentation-common': 4.0.6(@itwin/core-bentley@4.0.6)(@itwin/core-common@4.0.6)(@itwin/core-quantity@4.0.6)(@itwin/ecschema-metadata@4.0.6) - - /@itwin/webgl-compatibility@4.0.6: - resolution: {integrity: sha512-8vOUapebUeEjiCp2Sju80zkbLRMZxMpnlnabzS6LPgm1pTCsf8ZZI0HE6o3Eo7+K2Yhol1h4erBX1LK8z9bR0w==} - dependencies: - '@itwin/core-bentley': 4.0.6 - - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + '@itwin/appui-abstract': ^4.0.0 + '@itwin/appui-react': ^4.10.0 + '@itwin/components-react': ^4.10.0 + '@itwin/core-frontend': ^4.0.0 + '@itwin/core-react': ^4.10.0 + '@itwin/ecschema-metadata': ^4.0.0 + '@itwin/itwinui-react': ^3.11.0 + '@itwin/presentation-components': ^5.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + dependencies: + '@itwin/appui-abstract': 4.9.4(@itwin/core-bentley@4.9.4) + '@itwin/appui-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/core-telemetry@4.9.4)(@itwin/imodel-components-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react-redux@7.2.9)(react@17.0.2)(redux@4.2.1) + '@itwin/components-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-react@4.17.1)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/core-frontend': 4.9.4(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-orbitgt@4.9.4)(@itwin/core-quantity@4.9.4)(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-react': 4.17.1(@itwin/appui-abstract@4.9.4)(@itwin/core-bentley@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/ecschema-metadata': 4.9.4(@itwin/core-bentley@4.9.4)(@itwin/core-quantity@4.9.4) + '@itwin/itwinui-icons-react': 2.9.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@17.0.2)(react@17.0.2) + '@itwin/itwinui-react': 3.15.3(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-components': 5.5.0(@itwin/appui-abstract@4.9.4)(@itwin/components-react@4.17.1)(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-frontend@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/core-react@4.17.1)(@itwin/ecschema-metadata@4.9.4)(@itwin/imodel-components-react@4.17.1)(@itwin/itwinui-react@3.15.3)(@itwin/presentation-common@4.9.4)(@itwin/presentation-frontend@4.9.4)(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-core-interop': 1.1.1(@itwin/core-bentley@4.9.4)(@itwin/core-common@4.9.4)(@itwin/core-geometry@4.9.4)(@itwin/core-quantity@4.9.4)(@itwin/ecschema-metadata@4.9.4) + '@itwin/presentation-hierarchies': 1.2.1 + '@itwin/presentation-hierarchies-react': 1.1.2(@itwin/itwinui-react@3.15.3)(react-dom@17.0.2)(react@17.0.2) + '@itwin/presentation-shared': 1.1.0 + '@itwin/unified-selection': 1.1.1 + classnames: 2.5.1 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-error-boundary: 4.0.13(react@17.0.2) + rxjs: 7.8.1 + transitivePeerDependencies: + - '@itwin/core-bentley' + - '@itwin/core-common' + - '@itwin/core-geometry' + - '@itwin/core-quantity' + dev: false + + /@itwin/unified-selection@0.1.0: + resolution: {integrity: sha512-1Pe2i3sw5dK4h394uC5wTRWvnXxeBZGv+t9LcG7tQr2L+l0Hv+Ryo5+yTN34kABEhMe2UwSHnBRU8jOGsiorIQ==} + + /@itwin/unified-selection@0.5.1: + resolution: {integrity: sha512-xOfHFZVSJOSxTmQQKOwiVW7aKPqwY4BPGOyTnFTaxMdkwzms2Z0VQTTlAJYP5hUMF87qce3Xd3MDjoITuSLCCw==} + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/presentation-shared': 0.5.0 + rxjs: 7.8.1 + rxjs-for-await: 1.0.0(rxjs@7.8.1) + dev: false + + /@itwin/unified-selection@1.1.1: + resolution: {integrity: sha512-myygzispTehbgeZBFbOipyt3AvTr9Lx+QvP5hPG3YKyEvGimAtO3Mh6unwmdCxrM9Ue9w5El63Jbr0N+f+ZdVg==} + dependencies: + '@itwin/core-bentley': 4.9.4 + '@itwin/presentation-shared': 1.1.0 + rxjs: 7.8.1 + rxjs-for-await: 1.0.0(rxjs@7.8.1) + dev: false + + /@itwin/webgl-compatibility@4.9.4: + resolution: {integrity: sha512-HV96KbD1MfXpPfPqVjFhXN0jncFeN/p+geRpaVapJtqmGgjbhxfjKjBzosL9FEnuFkrOFckHJWgPVd4R2GEURQ==} + dependencies: + '@itwin/core-bentley': 4.9.4 + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: false - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false - /@loaders.gl/core@3.4.8: - resolution: {integrity: sha512-pAaAISNmxiUQn8iz0yDhX5DCt3geaaJtSTxAHgz25G2Z5kWqYS00g5bc7XIGNT2BwqD5pgVLRch+BdTQ/Q8lJA==} + /@loaders.gl/core@3.4.15: + resolution: {integrity: sha512-rPOOTuusWlRRNMWg7hymZBoFmPCXWThsA5ZYRfqqXnsgVeQIi8hzcAhJ7zDUIFAd/OSR8ravtqb0SH+3k6MOFQ==} dependencies: - '@babel/runtime': 7.22.6 - '@loaders.gl/loader-utils': 3.4.8 - '@loaders.gl/worker-utils': 3.4.8 - '@probe.gl/log': 4.0.4 + '@babel/runtime': 7.25.7 + '@loaders.gl/loader-utils': 3.4.15 + '@loaders.gl/worker-utils': 3.4.15 + '@probe.gl/log': 3.6.0 - /@loaders.gl/draco@3.4.8: - resolution: {integrity: sha512-x127QX/CCzbSXTk5IL4WBmL6RjvMZhedzMoEiWE4NhAEiwTFKXvWUZLluoFlGzJhxSL6xiR2KBF8tN1EMv4L1Q==} + /@loaders.gl/draco@3.4.15: + resolution: {integrity: sha512-SStmyP0ZnS4JbWZb2NhrfiHW65uy3pVTTzQDTgXfkR5cD9oDAEu4nCaHbQ8x38/m39FHliCPgS9b1xWvLKQo8w==} dependencies: - '@babel/runtime': 7.22.6 - '@loaders.gl/loader-utils': 3.4.8 - '@loaders.gl/schema': 3.4.8 - '@loaders.gl/worker-utils': 3.4.8 + '@babel/runtime': 7.25.7 + '@loaders.gl/loader-utils': 3.4.15 + '@loaders.gl/schema': 3.4.15 + '@loaders.gl/worker-utils': 3.4.15 draco3d: 1.5.5 - /@loaders.gl/loader-utils@3.4.8: - resolution: {integrity: sha512-/3sZ2J3Y29t50HSo6X6mtLNDYID+s77cmFWxjq+R4/uDekYx2vmgiw/WCFbupKse6NrAKe1KgqEBac1Q7yARSQ==} + /@loaders.gl/loader-utils@3.4.15: + resolution: {integrity: sha512-uUx6tCaky6QgCRkqCNuuXiUfpTzKV+ZlJOf6C9bKp62lpvFOv9AwqoXmL23j8nfsENdlzsX3vPhc3en6QQyksA==} dependencies: - '@babel/runtime': 7.22.6 - '@loaders.gl/worker-utils': 3.4.8 - '@probe.gl/stats': 4.0.4 + '@babel/runtime': 7.25.7 + '@loaders.gl/worker-utils': 3.4.15 + '@probe.gl/stats': 3.6.0 - /@loaders.gl/schema@3.4.8: - resolution: {integrity: sha512-nu+mT8LgeoCF65xs+F9qegJsIWqYOzwkzJLEd7zmHGRMMYqaFDqcp63J3CUQy+UvS4dGTZph38aQuVfncS/fJA==} + /@loaders.gl/schema@3.4.15: + resolution: {integrity: sha512-8oRtstz0IsqES7eZd2jQbmCnmExCMtL8T6jWd1+BfmnuyZnQ0B6TNccy++NHtffHdYuzEoQgSELwcdmhSApYew==} dependencies: - '@types/geojson': 7946.0.10 + '@types/geojson': 7946.0.14 - /@loaders.gl/worker-utils@3.4.8: - resolution: {integrity: sha512-cioo1rKtUkbDPJVQZ5ytEc6r/LdR1eIOCszgRh1VymtYvWGT+prZxfCIAmM1uZBV2SLWYTnH17dR0PR+cNopzA==} + /@loaders.gl/worker-utils@3.4.15: + resolution: {integrity: sha512-zUUepOYRYmcYIcr/c4Mchox9h5fBFNkD81rsGnLlZyq19QvyHzN+93SVxrLc078gw93t2RKrVcOOZY13zT3t1w==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1506,35 +1831,150 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 dev: false - /@opentelemetry/api@1.4.1: - resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} - engines: {node: '>=8.0.0'} + /@parcel/watcher-android-arm64@2.4.1: + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-arm64@2.4.1: + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-darwin-x64@2.4.1: + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@parcel/watcher-freebsd-x64@2.4.1: + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.4.1: + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-glibc@2.4.1: + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm64-musl@2.4.1: + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-glibc@2.4.1: + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-musl@2.4.1: + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-arm64@2.4.1: + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-ia32@2.4.1: + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-x64@2.4.1: + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher@2.4.1: + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + engines: {node: '>= 10.0.0'} + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.4.1 + '@parcel/watcher-darwin-arm64': 2.4.1 + '@parcel/watcher-darwin-x64': 2.4.1 + '@parcel/watcher-freebsd-x64': 2.4.1 + '@parcel/watcher-linux-arm-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-musl': 2.4.1 + '@parcel/watcher-linux-x64-glibc': 2.4.1 + '@parcel/watcher-linux-x64-musl': 2.4.1 + '@parcel/watcher-win32-arm64': 2.4.1 + '@parcel/watcher-win32-ia32': 2.4.1 + '@parcel/watcher-win32-x64': 2.4.1 /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + dev: false - /@probe.gl/env@4.0.4: - resolution: {integrity: sha512-sYNGqesDfWD6dFP5oNZtTeFA4Z6ak5T4a8BNPdNhoqy7PK9w70JHrb6mv+RKWqKXq33KiwCDWL7fYxx2HuEH2w==} + /@probe.gl/env@3.6.0: + resolution: {integrity: sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 - /@probe.gl/log@4.0.4: - resolution: {integrity: sha512-WpmXl6njlBMwrm8HBh/b4kSp/xnY1VVmeT4PWUKF+RkVbFuKQbsU11dA1IxoMd7gSY+5DGIwxGfAv1H5OMzA4A==} + /@probe.gl/log@3.6.0: + resolution: {integrity: sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==} dependencies: - '@babel/runtime': 7.22.6 - '@probe.gl/env': 4.0.4 + '@babel/runtime': 7.25.7 + '@probe.gl/env': 3.6.0 - /@probe.gl/stats@4.0.4: - resolution: {integrity: sha512-SDuSY/D4yDL6LQDa69l/GCcnZLRiGYdyvYkxWb0CgnzTPdPrcdrzGkzkvpC3zsA4fEFw2smlDje370QGHwlisg==} + /@probe.gl/stats@3.6.0: + resolution: {integrity: sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 - /@remix-run/router@1.6.2: - resolution: {integrity: sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==} - engines: {node: '>=14'} + /@remix-run/router@1.20.0: + resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==} + engines: {node: '>=14.0.0'} dev: false /@seznam/compose-react-refs@1.0.6: @@ -1544,114 +1984,143 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@swc/core-darwin-arm64@1.3.72: - resolution: {integrity: sha512-oNSI5hVfZ+1xpj+dH1g4kQqA0VsGtqd8S9S+cDqkHZiOOVOevw9KN6dzVtmLOcPtlULVypVc0TVvsB55KdVZhQ==} + /@swc/core-darwin-arm64@1.7.35: + resolution: {integrity: sha512-BQSSozVxjxS+SVQz6e3GC/+OBWGIK3jfe52pWdANmycdjF3ch7lrCKTHTU7eHwyoJ96mofszPf5AsiVJF34Fwg==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.3.72: - resolution: {integrity: sha512-y5O/WQ1g0/VfTgeNahWIOutbdD5U2Gi703jaefdcoJo3FUx8WU108QQdbVGwGMgaqapo3iQB6Qs9paixYQAYsA==} + /@swc/core-darwin-x64@1.7.35: + resolution: {integrity: sha512-44TYdKN/EWtkU88foXR7IGki9JzhEJzaFOoPevfi9Xe7hjAD/x2+AJOWWqQNzDPMz9+QewLdUVLyR6s5okRgtg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.72: - resolution: {integrity: sha512-05JdWcso0OomHF+7bk5MBDgI8MZ9skcQ/4nhSv5gboSgSiuBmKM15Bg3lZ5iAUwGByNj7pGkSmmd3YwTrXEB+g==} + /@swc/core-linux-arm-gnueabihf@1.7.35: + resolution: {integrity: sha512-ccfA5h3zxwioD+/z/AmYtkwtKz9m4rWTV7RoHq6Jfsb0cXHrd6tbcvgqRWXra1kASlE+cDWsMtEZygs9dJRtUQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.3.72: - resolution: {integrity: sha512-8qRELJaeYshhJgqvyOeXCKqBOpai+JYdWuouMbvvDUL85j3OcZhzR+bipexEbbJKcOCdRnoYB7Qg6mjqZ0t7VA==} + /@swc/core-linux-arm64-gnu@1.7.35: + resolution: {integrity: sha512-hx65Qz+G4iG/IVtxJKewC5SJdki8PAPFGl6gC/57Jb0+jA4BIoGLD/J3Q3rCPeoHfdqpkCYpahtyUq8CKx41Jg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.3.72: - resolution: {integrity: sha512-tOqAGZw+Pe7YrBHFrwFVyRiKqjgjzwYbJmY+UDxLrzWrZSVtC3eO2TPrp7kWmhirg40Og81BbdfRAl8ds48w0Q==} + /@swc/core-linux-arm64-musl@1.7.35: + resolution: {integrity: sha512-kL6tQL9No7UEoEvDRuPxzPTpxrvbwYteNRbdChSSP74j13/55G2/2hLmult5yFFaWuyoyU/2lvzjRL/i8OLZxg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.3.72: - resolution: {integrity: sha512-U2W2xWR3s9nplGVWz376GiBlcLTgxyYKlpZPBNZk0w3OvTcjKC62gW1Pe7PUkk4NgJUnaQDBa/mb4V4Zl+GZPA==} + /@swc/core-linux-x64-gnu@1.7.35: + resolution: {integrity: sha512-Ke4rcLQSwCQ2LHdJX1FtnqmYNQ3IX6BddKlUtS7mcK13IHkQzZWp0Dcu6MgNA3twzb/dBpKX5GLy07XdGgfmyw==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.3.72: - resolution: {integrity: sha512-3+2dUiZBsifKgvnFEHWdysXjInK8K+BfPBw2tTZJmq1+fZLt0rvuErYDVMLfIJnVWLCcJMnDtTXrvkFV1y/6iA==} + /@swc/core-linux-x64-musl@1.7.35: + resolution: {integrity: sha512-T30tlLnz0kYyDFyO5RQF5EQ4ENjW9+b56hEGgFUYmfhFhGA4E4V67iEx7KIG4u0whdPG7oy3qjyyIeTb7nElEw==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.3.72: - resolution: {integrity: sha512-ndI8xZ2AId806D25xgqw2SFJ9gc/jhg21+5hA8XPq9ZL+oDiaYDztaP3ijVmZ1G5xXKD9DpgB7xmylv/f6o6GA==} + /@swc/core-win32-arm64-msvc@1.7.35: + resolution: {integrity: sha512-CfM/k8mvtuMyX+okRhemfLt784PLS0KF7Q9djA8/Dtavk0L5Ghnq+XsGltO3d8B8+XZ7YOITsB14CrjehzeHsg==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.3.72: - resolution: {integrity: sha512-F3TK8JHP3SRFjLRlzcRVZPnvvGm2CQ5/cwbIkaEq0Dla3kyctU8SiRqvtYwWCW4JuY10cUygIg93Ec/C9Lkk4g==} + /@swc/core-win32-ia32-msvc@1.7.35: + resolution: {integrity: sha512-ATB3uuH8j/RmS64EXQZJSbo2WXfRNpTnQszHME/sGaexsuxeijrp3DTYSFAA3R2Bu6HbIIX6jempe1Au8I3j+A==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.3.72: - resolution: {integrity: sha512-FXMnIUtLl0yEmGkw+xbUg/uUPExvUxUlLSHbX7CnbSuOIHqMHzvEd9skIueLAst4bvmJ8kT1hDyAIWQcTIAJYQ==} + /@swc/core-win32-x64-msvc@1.7.35: + resolution: {integrity: sha512-iDGfQO1571NqWUXtLYDhwIELA/wadH42ioGn+J9R336nWx40YICzy9UQyslWRhqzhQ5kT+QXAW/MoCWc058N6Q==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.3.72: - resolution: {integrity: sha512-+AKjwLH3/STfPrd7CHzB9+NG1FVT0UKJMUChuWq9sQ8b9xlV8vUeRgZXgh/EHYvNQgl/OUTQKtL6xU2yOLuEuA==} + /@swc/core@1.7.35: + resolution: {integrity: sha512-3cUteCTbr2r5jqfgx0r091sfq5Mgh6F1SQh8XAOnSvtKzwv2bC31mvBHVAieD1uPa2kHJhLav20DQgXOhpEitw==} engines: {node: '>=10'} requiresBuild: true peerDependencies: - '@swc/helpers': ^0.5.0 + '@swc/helpers': '*' peerDependenciesMeta: '@swc/helpers': optional: true + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.13 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.72 - '@swc/core-darwin-x64': 1.3.72 - '@swc/core-linux-arm-gnueabihf': 1.3.72 - '@swc/core-linux-arm64-gnu': 1.3.72 - '@swc/core-linux-arm64-musl': 1.3.72 - '@swc/core-linux-x64-gnu': 1.3.72 - '@swc/core-linux-x64-musl': 1.3.72 - '@swc/core-win32-arm64-msvc': 1.3.72 - '@swc/core-win32-ia32-msvc': 1.3.72 - '@swc/core-win32-x64-msvc': 1.3.72 + '@swc/core-darwin-arm64': 1.7.35 + '@swc/core-darwin-x64': 1.7.35 + '@swc/core-linux-arm-gnueabihf': 1.7.35 + '@swc/core-linux-arm64-gnu': 1.7.35 + '@swc/core-linux-arm64-musl': 1.7.35 + '@swc/core-linux-x64-gnu': 1.7.35 + '@swc/core-linux-x64-musl': 1.7.35 + '@swc/core-win32-arm64-msvc': 1.7.35 + '@swc/core-win32-ia32-msvc': 1.7.35 + '@swc/core-win32-x64-msvc': 1.7.35 + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + /@swc/helpers@0.5.13: + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + dependencies: + tslib: 2.7.0 + + /@swc/types@0.1.13: + resolution: {integrity: sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==} + dependencies: + '@swc/counter': 0.1.3 + + /@tanstack/react-virtual@3.10.8(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@tanstack/virtual-core': 3.10.8 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + + /@tanstack/virtual-core@3.10.8: + resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} /@testing-library/dom@8.20.1: resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} engines: {node: '>=12'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/runtime': 7.22.6 - '@types/aria-query': 5.0.1 + '@babel/code-frame': 7.25.7 + '@babel/runtime': 7.25.7 + '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 dom-accessibility-api: 0.5.16 @@ -1659,32 +2128,33 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/react@12.1.5(react-dom@17.0.0)(react@17.0.0): + /@testing-library/react@12.1.5(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} engines: {node: '>=12'} peerDependencies: react: <18.0.0 react-dom: <18.0.0 dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 '@testing-library/dom': 8.20.1 - '@types/react-dom': 17.0.20 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + '@types/react-dom': 17.0.25 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) dev: true - /@tippyjs/react@4.2.6(react-dom@17.0.0)(react@17.0.0): + /@tippyjs/react@4.2.6(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-91RicDR+H7oDSyPycI13q3b7o4O60wa2oRbjlz2fyRLmHImc4vyDwuUP8NtZaN0VARJY5hybvDYrFzhY9+Lbyw==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) tippy.js: 6.3.7 + dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: false /@tsconfig/node12@1.0.11: @@ -1699,115 +2169,101 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/aria-query@5.0.1: - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + /@types/aria-query@5.0.4: + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} dev: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + /@types/chai-subset@1.3.5: + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.20 dev: true - /@types/chai@4.3.5: - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@types/chai@4.3.20: + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} dev: true - /@types/dotenv-flow@3.2.0: - resolution: {integrity: sha512-A79hbPwocbYkcTwGcDOFbKDuqyVo5mLAz/6Iq465YZ7R7Go5bT1PIM8I2jlPQkaD9u9fbotGVLkUPhX+9XUHfw==} + /@types/dotenv-flow@3.3.3: + resolution: {integrity: sha512-aJjBsKw4bfGjvaRwrxBtEOfYZxCAq+LiFTpZ4DGTEK2b9eLVt/IAClapSxMfgV4Mi/2bIBKKjoTCO0lOh4ACLg==} dev: false - /@types/geojson@7946.0.10: - resolution: {integrity: sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==} + /@types/geojson@7946.0.14: + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} - /@types/hoist-non-react-statics@3.3.1: - resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} + /@types/hoist-non-react-statics@3.3.5: + resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 17.0.0 + '@types/react': 17.0.83 hoist-non-react-statics: 3.3.2 - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false - /@types/node-fetch@2.6.4: - resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} + /@types/node@18.19.55: + resolution: {integrity: sha512-zzw5Vw52205Zr/nmErSEkN5FLqXPuKX/k5d1D7RKHATGqU7y6YfX9QxZraUzUrFGqH6XzOzG196BC35ltJC4Cw==} dependencies: - '@types/node': 18.17.1 - form-data: 3.0.1 - - /@types/node@18.0.0: - resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} - dev: false + undici-types: 5.26.5 - /@types/node@18.17.1: - resolution: {integrity: sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==} + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/prop-types@15.7.13: + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - /@types/prop-types@15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - - /@types/react-dom@17.0.0: - resolution: {integrity: sha512-lUqY7OlkF/RbNtD5nIq7ot8NquXrdFrjSOR6+w9a9RFQevGi1oZO1dcJbXMeONAPKtZ2UrZOEJ5UOCVsxbLk/g==} + /@types/react-dom@17.0.25: + resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==} dependencies: - '@types/react': 17.0.0 - dev: false - - /@types/react-dom@17.0.20: - resolution: {integrity: sha512-4pzIjSxDueZZ90F52mU3aPoogkHIoSIDG+oQ+wQK7Cy2B9S+MvOqY0uEA/qawKz381qrEDkvpwyt8Bm31I8sbA==} - dependencies: - '@types/react': 17.0.0 - dev: true + '@types/react': 17.0.83 - /@types/react-redux@7.1.25: - resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} + /@types/react-redux@7.1.34: + resolution: {integrity: sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==} dependencies: - '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 17.0.0 + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 17.0.83 hoist-non-react-statics: 3.3.2 - redux: 4.1.0 + redux: 4.2.1 - /@types/react-table@7.7.14: - resolution: {integrity: sha512-TYrv7onCiakaG1uAu/UpQ9FojNEt/4/ht87EgJQaEGFoWV606ZLWUZAcUHzMxgc3v1mywP1cDyz3qB4ho3hWOw==} + /@types/react-table@7.7.20: + resolution: {integrity: sha512-ahMp4pmjVlnExxNwxyaDrFgmKxSbPwU23sGQw2gJK4EhCvnvmib2s/O/+y1dfV57dXOwpr2plfyBol+vEHbi2w==} dependencies: - '@types/react': 17.0.0 + '@types/react': 17.0.83 - /@types/react-transition-group@4.4.6: - resolution: {integrity: sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==} + /@types/react-transition-group@4.4.11: + resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} dependencies: - '@types/react': 17.0.0 + '@types/react': 17.0.83 - /@types/react-window-infinite-loader@1.0.6: - resolution: {integrity: sha512-V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==} + /@types/react-window-infinite-loader@1.0.9: + resolution: {integrity: sha512-gEInTjQwURCnDOFyIEK2+fWB5gTjqwx30O62QfxA9stE5aiB6EWkGj4UMhc0axq7/FV++Gs/TGW8FtgEx0S6Tw==} dependencies: - '@types/react': 17.0.0 - '@types/react-window': 1.8.5 + '@types/react': 17.0.83 + '@types/react-window': 1.8.8 dev: true - /@types/react-window@1.8.5: - resolution: {integrity: sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==} + /@types/react-window@1.8.8: + resolution: {integrity: sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q==} dependencies: - '@types/react': 17.0.0 + '@types/react': 17.0.83 dev: true - /@types/react@17.0.0: - resolution: {integrity: sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==} + /@types/react@17.0.83: + resolution: {integrity: sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==} dependencies: - '@types/prop-types': 15.7.5 - csstype: 3.1.2 + '@types/prop-types': 15.7.13 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} - dev: false + /@types/scheduler@0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - /@types/shortid@0.0.29: - resolution: {integrity: sha512-9BCYD9btg2CY4kPcpMQ+vCR8U6V8f/KvixYD5ZbxoWlkhddNF5IeZMVL3p+QFUkg+Hb+kPAG9Jgk4bnnF1v/Fw==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: false /@types/strip-bom@3.0.0: resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==} @@ -1817,13 +2273,8 @@ packages: resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} dev: false - /@types/tunnel@0.0.3: - resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} - dependencies: - '@types/node': 18.17.1 - - /@typescript-eslint/eslint-plugin@6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.6.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1833,27 +2284,26 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 6.1.0 - '@typescript-eslint/type-utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/visitor-keys': 6.1.0 - debug: 4.3.4 - eslint: 8.45.0 + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 + eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.2 natural-compare: 1.4.0 - natural-compare-lite: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.1.6) - typescript: 5.1.6 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser@6.1.0(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==} + /@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1862,27 +2312,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.1.0 - '@typescript-eslint/types': 6.1.0 - '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) - '@typescript-eslint/visitor-keys': 6.1.0 - debug: 4.3.4 - eslint: 8.45.0 - typescript: 5.1.6 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 + eslint: 8.57.1 + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/scope-manager@6.1.0: - resolution: {integrity: sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.1.0 - '@typescript-eslint/visitor-keys': 6.1.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: false - /@typescript-eslint/type-utils@6.1.0(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1891,23 +2341,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) - '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6) - debug: 4.3.4 - eslint: 8.45.0 - ts-api-utils: 1.0.1(typescript@5.1.6) - typescript: 5.1.6 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/types@6.1.0: - resolution: {integrity: sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: false - /@typescript-eslint/typescript-estree@6.1.0(typescript@5.1.6): - resolution: {integrity: sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1915,52 +2365,57 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.1.0 - '@typescript-eslint/visitor-keys': 6.1.0 - debug: 4.3.4 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.1.6) - typescript: 5.1.6 + minimatch: 9.0.3 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + typescript: 5.6.3 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils@6.1.0(eslint@8.45.0)(typescript@5.1.6): - resolution: {integrity: sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==} + /@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.1.0 - '@typescript-eslint/types': 6.1.0 - '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6) - eslint: 8.45.0 - semver: 7.5.4 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + eslint: 8.57.1 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/visitor-keys@6.1.0: - resolution: {integrity: sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.1.0 - eslint-visitor-keys: 3.4.2 + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 dev: false - /@vitejs/plugin-react-swc@3.3.2(vite@4.5.3): - resolution: {integrity: sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==} + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: false + + /@vitejs/plugin-react-swc@3.7.1(vite@4.5.5): + resolution: {integrity: sha512-vgWOY0i1EROUK0Ctg1hwhtC3SdcDjZcdit4Ups4aPkDcB1jYhmo+RMYWY87cmXMhvtD5uf8lV89j2w16vkdSVg==} peerDependencies: - vite: ^4 + vite: ^4 || ^5 dependencies: - '@swc/core': 1.3.72 - vite: 4.5.3(@types/node@18.17.1)(sass@1.62.1) + '@swc/core': 1.7.35 + vite: 4.5.5(@types/node@18.19.55)(sass@1.79.5) transitivePeerDependencies: - '@swc/helpers' @@ -1969,18 +2424,18 @@ packages: peerDependencies: vitest: '>=0.32.0 <1' dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - magic-string: 0.30.2 - picocolors: 1.0.0 - std-env: 3.3.3 + istanbul-reports: 3.1.7 + magic-string: 0.30.12 + picocolors: 1.1.0 + std-env: 3.7.0 test-exclude: 6.0.0 - v8-to-istanbul: 9.1.0 - vitest: 0.34.6(happy-dom@10.5.2) + v8-to-istanbul: 9.3.0 + vitest: 0.34.6(happy-dom@10.11.2) transitivePeerDependencies: - supports-color dev: true @@ -1990,7 +2445,7 @@ packages: dependencies: '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 - chai: 4.3.10 + chai: 4.5.0 dev: true /@vitest/runner@0.34.6: @@ -1998,37 +2453,37 @@ packages: dependencies: '@vitest/utils': 0.34.6 p-limit: 4.0.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /@vitest/snapshot@0.34.6: resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} dependencies: - magic-string: 0.30.2 - pathe: 1.1.1 - pretty-format: 29.6.2 + magic-string: 0.30.12 + pathe: 1.1.2 + pretty-format: 29.7.0 dev: true /@vitest/spy@0.34.6: resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} dependencies: - tinyspy: 2.1.1 + tinyspy: 2.2.1 dev: true /@vitest/utils@0.34.6: resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.2 + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true - /@vtaits/use-lazy-ref@0.1.0(react@17.0.0): - resolution: {integrity: sha512-/m5z3Df6I6i/B0lnv6pB2O1+X/nWVquqbnltq+irW1+Nhpv0PpeMzSNf9lTjzT/eHRZtH2fM1370AdYqc3FTyQ==} + /@vtaits/use-lazy-ref@0.1.3(react@17.0.2): + resolution: {integrity: sha512-ZTLuFBHSivPcgWrwkXe5ExVt6R3/ybD+N0yFPy4ClzCztk/9bUD/1udKQ/jd7eCal+lapSrRWXbffqI9jkpDlg==} peerDependencies: - react: ^17.0.0 || ^18.0.0 + react: ^16.14.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 17.0.0 + react: 17.0.2 /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -2038,23 +2493,34 @@ packages: negotiator: 0.6.3 dev: false - /acorn-jsx@5.3.2(acorn@8.10.0): + /acorn-jsx@5.3.2(acorn@8.12.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.10.0 + acorn: 8.12.1 dev: false - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true + /agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: false + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -2064,9 +2530,6 @@ packages: uri-js: 4.4.1 dev: false - /almost-equal@1.1.0: - resolution: {integrity: sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==} - /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2094,6 +2557,7 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + dev: false /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -2106,27 +2570,29 @@ packages: /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: - deep-equal: 2.2.2 + deep-equal: 2.2.3 dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: false @@ -2135,46 +2601,61 @@ packages: engines: {node: '>=8'} dev: false - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: false + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 dev: false - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 dev: false - /array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + /array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 dev: false - /arraybuffer.prototype.slice@1.0.1: - resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.0 - get-intrinsic: 1.2.1 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -2183,15 +2664,17 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 - /axios@1.6.2: - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} + /axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 + follow-redirects: 1.15.9 + form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -2200,19 +2683,25 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 cosmiconfig: 7.1.0 - resolve: 1.22.2 + resolve: 1.22.8 /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + dev: false + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + dev: false - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + /body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -2223,7 +2712,7 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.11.0 + qs: 6.13.0 raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 @@ -2241,7 +2730,6 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: true /braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -2263,27 +2751,31 @@ packages: engines: {node: '>=8'} dev: true - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + /chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 - loupe: 2.3.6 + loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 + type-detect: 4.1.0 dev: true /chalk@2.4.2: @@ -2307,8 +2799,8 @@ packages: get-func-name: 2.0.2 dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 @@ -2320,12 +2812,19 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: false + + /chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + dependencies: + readdirp: 4.0.2 /classnames@2.3.1: resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} - /classnames@2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + /classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2353,6 +2852,10 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + dev: true + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -2368,12 +2871,16 @@ packages: /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + /cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} engines: {node: '>= 0.6'} dev: false @@ -2381,7 +2888,7 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.2 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -2393,15 +2900,15 @@ packages: hasBin: true dependencies: debounce: 1.2.1 - debug: 4.3.4 + debug: 4.3.7 duplexer: 0.1.2 - fs-extra: 11.1.1 - glob-gitignore: 1.0.14 + fs-extra: 11.2.0 + glob-gitignore: 1.0.15 glob2base: 0.0.12 - ignore: 5.2.4 - minimatch: 9.0.3 + ignore: 5.3.2 + minimatch: 9.0.5 p-map: 6.0.0 - resolve: 1.22.2 + resolve: 1.22.8 safe-buffer: 5.2.1 shell-quote: 1.8.1 subarg: 1.0.0 @@ -2447,8 +2954,32 @@ packages: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 /debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -2465,8 +2996,8 @@ packages: ms: 2.0.0 dev: false - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2474,47 +3005,57 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + /deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} dependencies: - type-detect: 4.0.8 + type-detect: 4.1.0 dev: true - /deep-equal@2.2.2: - resolution: {integrity: sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==} + /deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.2 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 - object-is: 1.1.5 + object-is: 1.1.6 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.3 + side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.11 + which-collection: 1.0.2 + which-typed-array: 1.1.15 dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} dependencies: - has-property-descriptors: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 /delayed-stream@1.0.0: @@ -2536,8 +3077,13 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -2574,14 +3120,14 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.22.6 - csstype: 3.1.2 + '@babel/runtime': 7.25.7 + csstype: 3.1.3 - /dompurify@2.4.7: - resolution: {integrity: sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==} + /dompurify@2.5.7: + resolution: {integrity: sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==} - /dotenv-flow@3.2.0: - resolution: {integrity: sha512-GEB6RrR4AbqDJvNSFrYHqZ33IKKbzkvLYiD5eo4+9aFXr4Y4G+QaFrB/fNp0y6McWBmvaPn3ZNjIufnj8irCtg==} + /dotenv-flow@3.3.0: + resolution: {integrity: sha512-GLSvRqDZ1TGhloS6ZCZ5chdqqv/3XMqZxAnX9rliJiHn6uyJLguKeu+3M2kcagBkoVCnLWYfbR4rfFe1xSU39A==} engines: {node: '>= 8.0.0'} dependencies: dotenv: 8.6.0 @@ -2614,6 +3160,11 @@ packages: engines: {node: '>= 0.8'} dev: false + /encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + dev: false + /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2624,76 +3175,119 @@ packages: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.1 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.1 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.2 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.0 - safe-array-concat: 1.0.0 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.3 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 + which-typed-array: 1.1.15 + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 dev: true - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + /es-iterator-helpers@1.1.0: + resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.3 + safe-array-concat: 1.1.2 + dev: false + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - has: 1.0.3 + hasown: 2.0.2 dev: false /es-to-primitive@1.2.1: @@ -2748,37 +3342,40 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-plugin-react-hooks@4.6.0(eslint@8.45.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.45.0 + eslint: 8.57.1 dev: false - /eslint-plugin-react@7.33.0(eslint@8.45.0): - resolution: {integrity: sha512-qewL/8P34WkY8jAqdQxsiL82pDUeT7nhs8IsuXgfgnsEloKCT4miAV9N9kGtx7/KM9NH/NCGUE7Edt9iGxLXFw==} + /eslint-plugin-react@7.37.1(eslint@8.57.1): + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - eslint: 8.45.0 + es-iterator-helpers: 1.1.0 + eslint: 8.57.1 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.8 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 dev: false /eslint-scope@7.2.2: @@ -2789,41 +3386,43 @@ packages: estraverse: 5.3.0 dev: false - /eslint-visitor-keys@3.4.2: - resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /eslint@8.45.0: - resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} + /eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.1 - '@eslint/js': 8.44.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 - esquery: 1.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.20.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2833,7 +3432,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -2844,13 +3443,13 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.2 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 dev: false - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + /esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -2881,50 +3480,51 @@ packages: /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + dev: false - /express-ws@5.0.2(express@4.19.2): + /express-ws@5.0.2(express@4.21.1): resolution: {integrity: sha512-0uvmuk61O9HXgLhGl3QhNSEtRsQevtmbL94/eILaliEADZBHZOQUAiHFrGPrgsjikohyrmSG5g+sCfASTt0lkQ==} engines: {node: '>=4.5.0'} peerDependencies: express: '>=4.19.2' dependencies: - express: 4.19.2 - ws: 8.17.1 + express: 4.21.1 + ws: 8.18.0 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + /express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.3 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.6.0 + cookie: 0.7.1 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.2.0 + finalhandler: 1.3.1 fresh: 0.5.2 http-errors: 2.0.0 - merge-descriptors: 1.0.1 + merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.7 + path-to-regexp: 0.1.10 proxy-addr: 2.0.7 - qs: 6.11.0 + qs: 6.13.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 + send: 0.19.0 + serve-static: 1.16.2 setprototypeof: 1.2.0 statuses: 2.0.1 type-is: 1.6.18 @@ -2937,15 +3537,15 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify@2.1.0: @@ -2956,11 +3556,18 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: false - /fast-sort@3.4.0: - resolution: {integrity: sha512-c/cMBGA5mH3OYjaXedtLIM3hQjv+KuZuiD2QEH5GofNOZeQVDIYIN7Okc2AW1KPhk44g5PTZnXp8t2lOMl8qhQ==} + /fast-sort@3.4.1: + resolution: {integrity: sha512-76uvGPsF6So53sZAqenP9UVT3p5l7cyTHkLWVCMinh41Y8NDrK1IYXJgaBMfc1gk7nJiSRZp676kddFG2Aa5+A==} + + /fast-xml-parser@4.5.0: + resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: false @@ -2969,7 +3576,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 dev: false /fill-range@7.1.1: @@ -2978,12 +3585,12 @@ packages: dependencies: to-regex-range: 5.0.1 - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + /finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 @@ -3008,23 +3615,24 @@ packages: path-exists: 4.0.0 dev: false - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 dev: false /flatbuffers@1.12.0: resolution: {integrity: sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==} - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: false - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + /follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -3037,25 +3645,18 @@ packages: dependencies: is-callable: 1.2.7 - /form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + /form-data@2.5.2: + resolution: {integrity: sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==} engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + safe-buffer: 5.2.1 dev: false - /form-data@3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + /form-data@4.0.1: + resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 @@ -3072,13 +3673,13 @@ packages: engines: {node: '>= 0.6'} dev: false - /fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} @@ -3099,16 +3700,16 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 functions-have-names: 1.2.3 /functions-have-names@1.2.3: @@ -3122,29 +3723,31 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 has-symbols: 1.0.3 + hasown: 2.0.2 - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 - /glob-gitignore@1.0.14: - resolution: {integrity: sha512-YuAEPqL58bOQDqDF2kMv009rIjSAtPs+WPzyGbwRWK+wD0UWQVRoP34Pz6yJ6ivco65C9tZnaIt0I3JCuQ8NZQ==} + /glob-gitignore@1.0.15: + resolution: {integrity: sha512-22pvDWt2hMPfL3UF6lWcZpP+VIwBekJyj6xyb1DpeSALJm+n/0gI9lWD30kvA/h3bgPqYeAX7xGONzmyHrSfqQ==} engines: {node: '>= 6'} dependencies: glob: 7.2.3 - ignore: 5.2.4 - lodash.difference: 4.5.0 - lodash.union: 4.6.0 + ignore: 5.3.2 + lodash: 4.17.21 make-array: 1.0.5 util.inherits: 1.0.3 dev: true @@ -3154,6 +3757,7 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -3171,6 +3775,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -3179,18 +3784,23 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: false - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 + gopd: 1.0.1 /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -3198,8 +3808,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 dev: false @@ -3207,7 +3817,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.4 /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -3216,8 +3826,8 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: false - /happy-dom@10.5.2: - resolution: {integrity: sha512-dTA1cDcLOPIkAdykLd9Wo1k8Ly36Hh2OdKGkWEHWuAHb89KcVVRLSj1OFev7ir90xhRLSGCGrEdDvS6u9l13kg==} + /happy-dom@10.11.2: + resolution: {integrity: sha512-rzgmLjLkhyaOdFEyU8CWXzbgyCyM7wJHLqhaoeEVSTyur1fjcUaiNTHx+D4CPaLvx16tGy+SBPd9TVnP/kzL3w==} dependencies: css.escape: 1.5.1 entities: 4.5.0 @@ -3238,33 +3848,30 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.1 + es-define-property: 1.0.0 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 - - /highlight-words-core@1.2.2: - resolution: {integrity: sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==} + function-bind: 1.1.2 /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -3300,10 +3907,30 @@ packages: toidentifier: 1.0.1 dev: false + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.1 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: false + + /https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.1 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + dev: false + /i18next-browser-languagedetector@6.1.8: resolution: {integrity: sha512-Svm+MduCElO0Meqpj1kJAriTC6OhI41VhlT/A0UPjGoPZBhAHIaGE5EfsHlTpgdH09UVX7rcc72pSDDBeKSQQA==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 /i18next-http-backend@1.4.5: resolution: {integrity: sha512-tLuHWuLWl6CmS07o+UB6EcQCaUjrZ1yhdseIN7sfq0u7phsMePJ8pqlGhIAdRDPF/q7ooyo5MID5DRFBCH+x5w==} @@ -3315,7 +3942,7 @@ packages: /i18next@21.10.0: resolution: {integrity: sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -3331,15 +3958,19 @@ packages: safer-buffer: 2.1.2 dev: true - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + /ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + /immer@10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + dev: false + /immer@9.0.6: resolution: {integrity: sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==} - /immutable@4.3.1: - resolution: {integrity: sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==} + /immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -3355,6 +3986,7 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -3362,16 +3994,16 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 - /inversify@6.0.1: - resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==} + /inversify@6.0.2: + resolution: {integrity: sha512-i9m8j/7YIv4mDuYXUAcrpKPSaju/CIly9AHK5jvCBeoiM/2KEsuCQTTP+rzSWWpLYWRukdXFSl6ZTk2/uumbiA==} /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -3382,20 +4014,27 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: false + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -3405,53 +4044,74 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 + dev: false /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + /is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} dependencies: - has: 1.0.3 + is-typed-array: 1.1.13 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.7 + dev: false + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: false + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - dev: true + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -3466,23 +4126,24 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} @@ -3490,27 +4151,27 @@ packages: dependencies: has-symbols: 1.0.3 - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.11 + which-typed-array: 1.1.15 - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - dev: true + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - dev: true + call-bind: 1.0.7 + get-intrinsic: 1.2.4 /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3518,8 +4179,8 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} dev: true @@ -3527,7 +4188,7 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 dev: true @@ -3536,23 +4197,49 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 dev: true - /js-base64@3.7.5: - resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} + /iterator.prototype@1.1.3: + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + dev: false + + /jotai@2.10.1(@types/react@17.0.83)(react@17.0.2): + resolution: {integrity: sha512-4FycO+BOTl2auLyF2Chvi6KTDqdsdDDtpaL/WHQMs8f3KS1E3loiUShQzAzFA/sMU5cJ0hz/RT1xum9YbG/zaA==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + dependencies: + '@types/react': 17.0.83 + react: 17.0.2 + + /js-base64@3.7.7: + resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3564,6 +4251,15 @@ packages: argparse: 2.0.1 dev: false + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: false + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -3584,10 +4280,6 @@ packages: hasBin: true dev: false - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: @@ -3597,7 +4289,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 @@ -3605,16 +4297,22 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - object.assign: 4.1.4 - object.values: 1.1.6 + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 dev: false /jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} dev: false + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: false + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3623,6 +4321,13 @@ packages: type-check: 0.4.0 dev: false + /linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + dev: false + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -3652,18 +4357,10 @@ packages: p-locate: 5.0.0 dev: false - /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - dev: true - /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: false - /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: true - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -3673,28 +4370,21 @@ packages: dependencies: js-tokens: 4.0.0 - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true dev: true - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} - engines: {node: '>=12'} + /magic-string@0.30.12: + resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /make-array@1.0.5: @@ -3706,7 +4396,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.3 dev: true /make-error@1.3.6: @@ -3718,9 +4408,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /memoize-one@4.0.3: - resolution: {integrity: sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==} - /memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -3731,8 +4418,8 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + /merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} dev: false /merge2@1.4.1: @@ -3740,6 +4427,9 @@ packages: engines: {node: '>= 8'} dev: false + /meshoptimizer@0.20.0: + resolution: {integrity: sha512-olcJ1q+YVnjroRJpCL1Dj5aZxr2JMr2hRutMUwhuHZvpAL7SIZgOT6eMlFF4TbBGSR89tawE/gqB79J/LrW/Nw==} + /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -3748,13 +4438,12 @@ packages: /micro-memoize@4.1.2: resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.3 picomatch: 2.3.1 - dev: false /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -3780,6 +4469,13 @@ packages: /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true @@ -3793,25 +4489,21 @@ packages: hasBin: true dev: false - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.7.2: + resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} dependencies: - acorn: 8.10.0 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.2.0 + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.2.1 + ufo: 1.5.4 dev: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: false - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false /multiparty@4.2.3: resolution: {integrity: sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==} @@ -3822,9 +4514,6 @@ packages: uid-safe: 2.1.5 dev: false - /nanoid@2.1.11: - resolution: {integrity: sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==} - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3846,16 +4535,8 @@ packages: /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 + /node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -3872,13 +4553,14 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.2 + resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + dev: false /npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} @@ -3893,7 +4575,7 @@ packages: pidtree: 0.3.1 read-pkg: 3.0.0 shell-quote: 1.8.1 - string.prototype.padend: 3.1.4 + string.prototype.padend: 3.1.6 /object-assign@3.0.0: resolution: {integrity: sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==} @@ -3908,66 +4590,61 @@ packages: engines: {node: '>= 0.10.0'} dev: false - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + /object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 dev: false - /object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - dev: false - - /object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} - dependencies: - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: false - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 dev: false - /oidc-client-ts@2.4.0: - resolution: {integrity: sha512-WijhkTrlXK2VvgGoakWJiBdfIsVGz6CFzgjNNqZU1hPKV2kyeEaJgLs7RwuiSp2WhLfWBQuLvr2SxVlZnk3N1w==} + /oidc-client-ts@2.4.1: + resolution: {integrity: sha512-IxlGMsbkZPsHJGCliWT3LxjUcYzmiN21656n/Zt2jDncZlBFc//cd8WqFF0Lt681UT3AImM57E6d4N53ziTCYA==} engines: {node: '>=12.13.0'} dependencies: crypto-js: 4.2.0 @@ -3986,16 +4663,16 @@ packages: dependencies: wrappy: 1.0.2 - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 dev: false /p-limit@3.1.0: @@ -4009,7 +4686,7 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 dev: true /p-locate@5.0.0: @@ -4024,6 +4701,10 @@ packages: engines: {node: '>=16'} dev: true + /pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + dev: false + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -4041,7 +4722,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.25.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -4072,8 +4753,8 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} dev: false /path-type@3.0.0: @@ -4086,16 +4767,16 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -4110,21 +4791,25 @@ packages: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + /pkg-types@1.2.1: + resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.0 - pathe: 1.1.1 + confbox: 0.1.8 + mlly: 1.7.2 + pathe: 1.1.2 dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.1.0 + source-map-js: 1.2.1 /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -4140,19 +4825,15 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: true - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -4171,16 +4852,16 @@ packages: /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: false - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + /qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.6 dev: false /queue-microtask@1.2.3: @@ -4207,186 +4888,183 @@ packages: unpipe: 1.0.0 dev: false - /react-autosuggest@10.1.0(react@17.0.0): + /react-autosuggest@10.1.0(react@17.0.2): resolution: {integrity: sha512-/azBHmc6z/31s/lBf6irxPf/7eejQdR0IqnZUzjdSibtlS8+Rw/R79pgDAo6Ft5QqCUTyEQ+f0FhL+1olDQ8OA==} peerDependencies: react: '>=16.3.0' dependencies: es6-promise: 4.2.8 prop-types: 15.8.1 - react: 17.0.0 + react: 17.0.2 react-themeable: 1.1.0 section-iterator: 2.0.0 shallow-equal: 1.2.1 - /react-dom@17.0.0(react@17.0.0): - resolution: {integrity: sha512-OGnFbxCjI2TMAZYMVxi4hqheJiN8rCEVVrL7XIGzCB6beNc4Am8M47HtkvxODZw9QgjmAPKpLba9FTu4fC1byA==} + /react-dom@17.0.2(react@17.0.2): + resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} peerDependencies: - react: 17.0.0 + react: 17.0.2 dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - react: 17.0.0 + react: 17.0.2 scheduler: 0.20.2 - /react-error-boundary@4.0.3(react@17.0.0): - resolution: {integrity: sha512-IzNKP/ViHWp2QRDgsDMirEcf0XLsLueN6Wgzm1TVwgbAH+paX8Z42VyKvZcFFRHgd+rPK2P4TLrOrHC/dommew==} + /react-error-boundary@4.0.13(react@17.0.2): + resolution: {integrity: sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==} peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.22.6 - react: 17.0.0 - dev: false + '@babel/runtime': 7.25.7 + react: 17.0.2 - /react-highlight-words@0.17.0(react@17.0.0): - resolution: {integrity: sha512-uX1Qh5IGjnLuJT0Zok234QDwRC8h4hcVMnB99Cb7aquB1NlPPDiWKm0XpSZOTdSactvnClCk8LOmVlP+75dgHA==} + /react-error-boundary@4.0.3(react@17.0.2): + resolution: {integrity: sha512-IzNKP/ViHWp2QRDgsDMirEcf0XLsLueN6Wgzm1TVwgbAH+paX8Z42VyKvZcFFRHgd+rPK2P4TLrOrHC/dommew==} peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 + react: '>=16.13.1' dependencies: - highlight-words-core: 1.2.2 - memoize-one: 4.0.3 - prop-types: 15.8.1 - react: 17.0.0 + '@babel/runtime': 7.25.7 + react: 17.0.2 + dev: false /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: true - /react-redux@7.2.2(react-dom@17.0.0)(react@17.0.0)(redux@4.1.0): - resolution: {integrity: sha512-8+CQ1EvIVFkYL/vu6Olo7JFLWop1qRUeb46sGtIMDCSpgwPQq8fPLpirIB0iTqFe9XYEFPHssdX8/UwN6pAkEA==} + /react-redux@7.2.9(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} peerDependencies: - react: ^16.8.3 || ^17 + react: ^16.8.3 || ^17 || ^18 react-dom: '*' react-native: '*' - redux: ^2.0.0 || ^3.0.0 || ^4.0.0-0 peerDependenciesMeta: react-dom: optional: true react-native: optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 + '@types/react-redux': 7.1.34 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-is: 16.13.1 - redux: 4.1.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-is: 17.0.2 - /react-router-dom@6.11.2(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==} - engines: {node: '>=14'} + /react-router-dom@6.27.0(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==} + engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.6.2 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-router: 6.11.2(react@17.0.0) + '@remix-run/router': 1.20.0 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-router: 6.27.0(react@17.0.2) dev: false - /react-router@6.11.2(react@17.0.0): - resolution: {integrity: sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==} - engines: {node: '>=14'} + /react-router@6.27.0(react@17.0.2): + resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==} + engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.6.2 - react: 17.0.0 + '@remix-run/router': 1.20.0 + react: 17.0.2 dev: false - /react-select-async-paginate@0.7.2(react-select@5.7.0)(react@17.0.0): + /react-select-async-paginate@0.7.2(react-select@5.7.0)(react@17.0.2): resolution: {integrity: sha512-NlF717+Kh/OgSC7YyEYuB0ebsqF2YhyEdcETH1lX6X4INgNKpKH269MI1H5soIThZdCPZl5xz2QSldcPKlPlew==} peerDependencies: react: ^16.14.0 || ^17.0.0 || ^18.0.0 react-select: ^5.0.0 dependencies: '@seznam/compose-react-refs': 1.0.6 - '@vtaits/use-lazy-ref': 0.1.0(react@17.0.0) - react: 17.0.0 - react-select: 5.7.0(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0) + '@vtaits/use-lazy-ref': 0.1.3(react@17.0.2) + react: 17.0.2 + react-select: 5.7.0(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2) sleep-promise: 9.1.0 - use-is-mounted-ref: 1.5.0(react@17.0.0) + use-is-mounted-ref: 1.5.0(react@17.0.2) - /react-select@5.7.0(@types/react@17.0.0)(react-dom@17.0.0)(react@17.0.0): + /react-select@5.7.0(@types/react@17.0.83)(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.6 - '@emotion/cache': 11.11.0 - '@emotion/react': 11.11.1(@types/react@17.0.0)(react@17.0.0) - '@floating-ui/dom': 1.5.1 - '@types/react-transition-group': 4.4.6 + '@babel/runtime': 7.25.7 + '@emotion/cache': 11.13.1 + '@emotion/react': 11.13.3(@types/react@17.0.83)(react@17.0.2) + '@floating-ui/dom': 1.6.11 + '@types/react-transition-group': 4.4.11 memoize-one: 6.0.0 prop-types: 15.8.1 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) - react-transition-group: 4.4.5(react-dom@17.0.0)(react@17.0.0) - use-isomorphic-layout-effect: 1.1.2(@types/react@17.0.0)(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-transition-group: 4.4.5(react-dom@17.0.2)(react@17.0.2) + use-isomorphic-layout-effect: 1.1.2(@types/react@17.0.83)(react@17.0.2) transitivePeerDependencies: - '@types/react' + - supports-color - /react-table@7.8.0(react@17.0.0): + /react-table@7.8.0(react@17.0.2): resolution: {integrity: sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==} peerDependencies: react: ^16.8.3 || ^17.0.0-0 || ^18.0.0 dependencies: - react: 17.0.0 + react: 17.0.2 /react-themeable@1.1.0: resolution: {integrity: sha512-kl5tQ8K+r9IdQXZd8WLa+xxYN04lLnJXRVhHfdgwsUJr/SlKJxIejoc9z9obEkx1mdqbTw1ry43fxEUwyD9u7w==} dependencies: object-assign: 3.0.0 - /react-transition-group@4.4.5(react-dom@17.0.0)(react@17.0.0): + /react-transition-group@4.4.5(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) - /react-window-infinite-loader@1.0.8(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-907ZLAiZZfBHuZyiY0V7uiSL4P/rI6UQyCF9wES1cDWTeyNLgGLaxu+BZkcUW3R5tSCQcbCcWBl0jVIpYzrKGQ==} + /react-window-infinite-loader@1.0.9(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-5Hg89IdU4Vrp0RT8kZYKeTIxWZYhNkVXeI1HbKo01Vm/Z7qztDvXljwx16sMzsa9yapRJQW3ODZfMUw38SOWHw==} engines: {node: '>8.0.0'} peerDependencies: react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 dependencies: - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) dev: false - /react-window@1.8.8(react-dom@17.0.0)(react@17.0.0): - resolution: {integrity: sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==} + /react-window@1.8.10(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==} engines: {node: '>8.0.0'} peerDependencies: react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 memoize-one: 5.2.1 - react: 17.0.0 - react-dom: 17.0.0(react@17.0.0) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) - /react@17.0.0: - resolution: {integrity: sha512-rG9bqS3LMuetoSUKHN8G3fMNuQOePKDThK6+2yXFWtoeTDLVNh/QCaxT+Jr+rNf4lwNXpx+atdn3Aa0oi8/6eQ==} + /react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 @@ -4405,25 +5083,44 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: false + + /readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} - /redux@4.1.0: - resolution: {integrity: sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==} + /redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.25.7 - /reflect-metadata@0.1.13: - resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + /reflect-metadata@0.1.14: + resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} + + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 + dev: false - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - /regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + /regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 /resize-observer-polyfill@1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} @@ -4432,19 +5129,19 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -4456,6 +5153,7 @@ packages: /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -4463,13 +5161,14 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 dev: false - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + /rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -4481,45 +5180,50 @@ packages: queue-microtask: 1.2.3 dev: false - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} + /rxjs-for-await@1.0.0(rxjs@7.8.1): + resolution: {integrity: sha512-MJhvf1vtQaljd5wlzsasvOjcohVogzkHkUI0gFE9nGhZ15/fT2vR1CjkLEh37oRqWwpv11vHo5D+sLM+Aw9Y8g==} + peerDependencies: + rxjs: ^7.0.0 + dependencies: + rxjs: 7.8.1 + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 1.14.1 + tslib: 2.7.0 - /safe-array-concat@1.0.0: - resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.62.1: - resolution: {integrity: sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==} + /sass@1.79.5: + resolution: {integrity: sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3 - immutable: 4.3.1 - source-map-js: 1.0.2 - - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + '@parcel/watcher': 2.4.1 + chokidar: 4.0.1 + immutable: 4.3.7 + source-map-js: 1.2.1 /scheduler@0.20.2: resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} @@ -4539,15 +5243,13 @@ packages: hasBin: true dev: false - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + /send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 @@ -4567,18 +5269,38 @@ packages: - supports-color dev: false - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + /serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 0.19.0 transitivePeerDependencies: - supports-color dev: false + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false @@ -4611,18 +5333,14 @@ packages: /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - /shortid@2.2.16: - resolution: {integrity: sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dependencies: - nanoid: 2.1.11 - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -4636,8 +5354,8 @@ packages: /sleep-promise@9.1.0: resolution: {integrity: sha512-UHYzVpz9Xn8b+jikYSD6bqvf754xL2uBUzDFwiU6NcdZeifPr6UfgU43xpkPu67VMS88+TI2PSI7Eohgqf2fKA==} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} /source-map-support@0.5.21: @@ -4659,19 +5377,19 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 + spdx-license-ids: 3.0.20 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 - /spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + /spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -4687,59 +5405,74 @@ packages: engines: {node: '>= 0.8'} dev: false - /std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.5 + internal-slot: 1.0.7 dev: true - /string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.3 + set-function-name: 2.0.2 + side-channel: 1.0.6 dev: false - /string.prototype.padend@3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} + /string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + /string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + dev: false - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -4762,12 +5495,16 @@ packages: engines: {node: '>=8'} dev: false - /strip-literal@1.0.1: - resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: - acorn: 8.10.0 + acorn: 8.12.1 dev: true + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + /stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} @@ -4793,6 +5530,9 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -4806,8 +5546,12 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: false - /tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + /tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + dev: false + + /tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} dev: true /tinypool@0.7.0: @@ -4815,8 +5559,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} dev: true @@ -4824,6 +5568,7 @@ packages: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} dependencies: '@popperjs/core': 2.11.8 + dev: false /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -4840,6 +5585,11 @@ packages: engines: {node: '>=0.6'} dev: false + /touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -4848,16 +5598,19 @@ packages: hasBin: true dev: false - /ts-api-utils@1.0.1(typescript@5.1.6): - resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.3.0(typescript@5.6.3): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.1.6 + typescript: 5.6.3 dev: false - /ts-node-dev@2.0.0(@types/node@18.0.0)(typescript@5.1.6): + /ts-key-enum@2.0.13: + resolution: {integrity: sha512-zixs6j8+NhzazLUQ1SiFrlo1EFWG/DbqLuUGcWWZ5zhwjRT7kbi1hBlofxdqel+h28zrby2It5TrOyKp04kvqw==} + + /ts-node-dev@2.0.0(@types/node@18.19.55)(typescript@5.6.3): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} hasBin: true @@ -4868,56 +5621,25 @@ packages: node-notifier: optional: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 dynamic-dedupe: 0.3.0 minimist: 1.2.8 mkdirp: 1.0.4 - resolve: 1.22.2 + resolve: 1.22.8 rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.1(@types/node@18.0.0)(typescript@5.1.6) + ts-node: 10.9.2(@types/node@18.19.55)(typescript@5.6.3) tsconfig: 7.0.0 - typescript: 5.1.6 + typescript: 5.6.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' dev: false - /ts-node@10.9.1(@types/node@18.0.0)(typescript@5.1.6): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.0.0 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.1.6 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: false - - /ts-node@10.9.1(@types/node@18.17.1)(typescript@5.1.6): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + /ts-node@10.9.2(@types/node@18.19.55)(typescript@5.6.3): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -4931,18 +5653,18 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.17.1 - acorn: 8.10.0 - acorn-walk: 8.2.0 + '@types/node': 18.19.55 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.6 + typescript: 5.6.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -4956,15 +5678,8 @@ packages: strip-json-comments: 2.0.1 dev: false - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} - - /tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + /tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -4973,8 +5688,8 @@ packages: prelude-ls: 1.2.1 dev: false - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + /type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} dev: true @@ -4991,50 +5706,56 @@ packages: mime-types: 2.1.35 dev: false - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + /typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - /ufo@1.2.0: - resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + /ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: true /uid-safe@2.1.5: @@ -5047,18 +5768,28 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + dev: false + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: false - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} /unpipe@1.0.0: @@ -5069,17 +5800,17 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: false - /use-is-mounted-ref@1.5.0(react@17.0.0): + /use-is-mounted-ref@1.5.0(react@17.0.2): resolution: {integrity: sha512-p5FksHf/ospZUr5KU9ese6u3jp9fzvZ3wuSb50i0y6fdONaHWgmOqQtxR/PUcwi6hnhQDbNxWSg3eTK3N6m+dg==} peerDependencies: react: '>=16.0.0' dependencies: - react: 17.0.0 + react: 17.0.2 - /use-isomorphic-layout-effect@1.1.2(@types/react@17.0.0)(react@17.0.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@17.0.83)(react@17.0.2): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -5088,15 +5819,15 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 17.0.0 - react: 17.0.0 + '@types/react': 17.0.83 + react: 17.0.2 - /use-sync-external-store@1.2.0(react@17.0.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + /use-sync-external-store@1.2.2(react@17.0.2): + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 17.0.0 + react: 17.0.2 dev: false /util.inherits@1.0.3: @@ -5109,21 +5840,22 @@ packages: engines: {node: '>= 0.4.0'} dev: false - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true + dev: false /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: false - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.18 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 dev: true /validate-npm-package-license@3.0.4: @@ -5137,17 +5869,17 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@0.34.6(@types/node@18.17.1): + /vite-node@0.34.6(@types/node@18.19.55): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.5.3(@types/node@18.17.1)(sass@1.62.1) + debug: 4.3.7 + mlly: 1.7.2 + pathe: 1.1.2 + picocolors: 1.1.0 + vite: 4.5.5(@types/node@18.19.55)(sass@1.79.5) transitivePeerDependencies: - '@types/node' - less @@ -5159,21 +5891,21 @@ packages: - terser dev: true - /vite-plugin-static-copy@0.17.0(vite@4.5.3): - resolution: {integrity: sha512-2HpNbHfDt8SDy393AGXh9llHkc8FJMQkI8s3T5WsH3SWLMO+f5cFIyPErl4yGKU9Uh3Vaqsd4lHZYTf042fQ2A==} + /vite-plugin-static-copy@0.17.1(vite@4.5.5): + resolution: {integrity: sha512-9h3iaVs0bqnqZOM5YHJXGHqdC5VAVlTZ2ARYsuNpzhEJUHmFqXY7dAK4ZFpjEQ4WLFKcaN8yWbczr81n01U4sQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^3.0.0 || ^4.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: - chokidar: 3.5.3 - fast-glob: 3.3.1 - fs-extra: 11.1.1 - picocolors: 1.0.0 - vite: 4.5.3(@types/node@18.17.1)(sass@1.62.1) + chokidar: 3.6.0 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + picocolors: 1.1.0 + vite: 4.5.5(@types/node@18.19.55)(sass@1.79.5) dev: false - /vite@4.5.3(@types/node@18.17.1)(sass@1.62.1): - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} + /vite@4.5.5(@types/node@18.19.55)(sass@1.79.5): + resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -5200,15 +5932,15 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.1 + '@types/node': 18.19.55 esbuild: 0.18.20 - postcss: 8.4.35 - rollup: 3.29.4 - sass: 1.62.1 + postcss: 8.4.47 + rollup: 3.29.5 + sass: 1.79.5 optionalDependencies: fsevents: 2.3.3 - /vitest@0.34.6(happy-dom@10.5.2): + /vitest@0.34.6(happy-dom@10.11.2): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5239,31 +5971,31 @@ packages: webdriverio: optional: true dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.17.1 + '@types/chai': 4.3.20 + '@types/chai-subset': 1.3.5 + '@types/node': 18.19.55 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 - acorn: 8.10.0 - acorn-walk: 8.2.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 cac: 6.7.14 - chai: 4.3.10 - debug: 4.3.4 - happy-dom: 10.5.2 + chai: 4.5.0 + debug: 4.3.7 + happy-dom: 10.11.2 local-pkg: 0.4.3 - magic-string: 0.30.2 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 + magic-string: 0.30.12 + pathe: 1.1.2 + picocolors: 1.1.0 + std-env: 3.7.0 + strip-literal: 1.3.0 + tinybench: 2.9.0 tinypool: 0.7.0 - vite: 4.5.3(@types/node@18.17.1)(sass@1.62.1) - vite-node: 0.34.6(@types/node@18.17.1) - why-is-node-running: 2.2.2 + vite: 4.5.5(@types/node@18.19.55)(sass@1.79.5) + vite-node: 0.34.6(@types/node@18.19.55) + why-is-node-running: 2.3.0 transitivePeerDependencies: - less - lightningcss @@ -5309,24 +6041,42 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + /which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + engines: {node: '>= 0.4'} dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - dev: true + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + dev: false + + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -5342,8 +6092,8 @@ packages: isexe: 2.0.0 dev: false - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + /why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true dependencies: @@ -5357,11 +6107,29 @@ packages: dependencies: minimist: 1.2.8 + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: false + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5373,25 +6141,11 @@ packages: optional: true dev: false - /xml2js@0.5.0: - resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} - engines: {node: '>=4.0.0'} - dependencies: - sax: 1.2.4 - xmlbuilder: 11.0.1 - - /xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: false - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -5406,24 +6160,28 @@ packages: engines: {node: '>=10'} dev: false - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + /yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} dev: true - /zustand@4.3.9(immer@9.0.6)(react@17.0.0): - resolution: {integrity: sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==} + /zustand@4.5.5(@types/react@17.0.83)(immer@9.0.6)(react@17.0.2): + resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} engines: {node: '>=12.7.0'} peerDependencies: - immer: '>=9.0' + '@types/react': '>=16.8' + immer: '>=9.0.6' react: '>=16.8' peerDependenciesMeta: + '@types/react': + optional: true immer: optional: true react: optional: true dependencies: + '@types/react': 17.0.83 immer: 9.0.6 - react: 17.0.0 - use-sync-external-store: 1.2.0(react@17.0.0) + react: 17.0.2 + use-sync-external-store: 1.2.2(react@17.0.2) dev: false diff --git a/scripts/release.ts b/scripts/release.ts index 090b099a..aee5af6f 100644 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -22,7 +22,7 @@ function main(): void { parameters.push("--preid", args.preid); } - execFileSync("npm", parameters, { cwd: args.packageDirPath }); + execFileSync("npm", parameters, { cwd: args.packageDirPath, shell: true }); } catch (error) { printErrorAndExit(error instanceof Error ? `${error.name}: ${error.message}` : "Could not bump package version."); } @@ -32,9 +32,9 @@ function main(): void { try { // Make sure only the modified package.json and CHANGELOG.md files get committed - execFileSync("git", ["reset"]); - execFileSync("git", ["add", args.packageJsonFilePath, args.changelogFilePath]); - execFileSync("git", ["commit", "-m", `Release ${packageName}@${packageVersion}`]); + execFileSync("git", ["reset"], { shell: true }); + execFileSync("git", ["add", args.packageJsonFilePath, args.changelogFilePath], { shell: true }); + execFileSync("git", ["commit", "-m", `"Release ${packageName}@${packageVersion}"`], { shell: true }); } catch (error) { printErrorAndExit(error instanceof Error ? `${error.name}: ${error.message}` : "Could not commit file changes."); }