From ff8e71b42e18ce021ff7bd6db599af17e070b3e8 Mon Sep 17 00:00:00 2001 From: Martynas <43886789+MartynasStrazdas@users.noreply.github.com> Date: Thu, 14 Nov 2024 15:44:04 +0200 Subject: [PATCH] [Property grid]: update deps (#1090) * dependency update and deprication removal * package version fix * changeset * extract-api * revert accidental commit * fixes * lint fix * Update packages/itwin/property-grid/src/hooks/UseContextMenu.tsx Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com> * Update packages/itwin/property-grid/src/hooks/UseContextMenu.tsx Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com> * test fixes * useResizeObserver default height fix * Test fix / changes to close * adjustments * update e2e snapshots --------- Co-authored-by: Grigas <35135765+grigasp@users.noreply.github.com> --- apps/learning-snippets/src/test/setup.ts | 7 + ...-8367431f-b9d7-46b2-86c8-533d9857b0ae.json | 7 + .../api/property-grid-react.api.md | 4 +- .../api/property-grid-react.exports.csv | 92 +- packages/itwin/property-grid/package.json | 42 +- packages/itwin/property-grid/pnpm-lock.yaml | 1162 +++++++---------- .../src/components/FilteringPropertyGrid.tsx | 10 +- .../src/components/PropertyGrid.tsx | 7 +- .../src/components/PropertyGridContent.tsx | 25 +- ...lected---context-menu-1-chromium-linux.png | Bin 13073 -> 13133 bytes ...lected---context-menu-1-chromium-linux.png | Bin 16708 -> 16687 bytes .../src/hooks/UseContextMenu.tsx | 70 +- .../src/hooks/UseResizeObserver.ts | 37 + .../src/test/PropertyGridComponent.test.tsx | 7 +- .../property-grid/src/test/TestUtils.tsx | 2 +- .../components/PropertyGridContent.test.tsx | 18 +- .../src/test/hooks/UseContextMenu.test.tsx | 42 +- .../itwin/property-grid/src/test/setup.ts | 7 + 18 files changed, 724 insertions(+), 815 deletions(-) create mode 100644 change/@itwin-property-grid-react-8367431f-b9d7-46b2-86c8-533d9857b0ae.json create mode 100644 packages/itwin/property-grid/src/hooks/UseResizeObserver.ts diff --git a/apps/learning-snippets/src/test/setup.ts b/apps/learning-snippets/src/test/setup.ts index 59f5dd982..ace26cf9d 100644 --- a/apps/learning-snippets/src/test/setup.ts +++ b/apps/learning-snippets/src/test/setup.ts @@ -7,6 +7,13 @@ import globalJsdom from "global-jsdom"; import * as jsdom from "jsdom"; import sinonChai from "sinon-chai"; +// polyfill ResizeObserver +global.ResizeObserver = class ResizeObserver { + public observe() {} + public unobserve() {} + public disconnect() {} +}; + // get rid of various xhr errors in the console globalJsdom(undefined, { virtualConsole: new jsdom.VirtualConsole().sendTo(console, { omitJSDOMErrors: true }), diff --git a/change/@itwin-property-grid-react-8367431f-b9d7-46b2-86c8-533d9857b0ae.json b/change/@itwin-property-grid-react-8367431f-b9d7-46b2-86c8-533d9857b0ae.json new file mode 100644 index 000000000..257becf01 --- /dev/null +++ b/change/@itwin-property-grid-react-8367431f-b9d7-46b2-86c8-533d9857b0ae.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "DevDependency update", + "packageName": "@itwin/property-grid-react", + "email": "43886789+MartynasStrazdas@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/itwin/property-grid/api/property-grid-react.api.md b/packages/itwin/property-grid/api/property-grid-react.api.md index ffc5be2c5..2a4dca3c6 100644 --- a/packages/itwin/property-grid/api/property-grid-react.api.md +++ b/packages/itwin/property-grid/api/property-grid-react.api.md @@ -25,7 +25,7 @@ import { StagePanelLocation } from '@itwin/appui-react'; import { StagePanelSection } from '@itwin/appui-react'; import type { TranslationOptions } from '@itwin/core-common'; import type { UiItemsProvider } from '@itwin/appui-react'; -import type { VirtualizedPropertyGridWithDataProviderProps } from '@itwin/components-react'; +import { VirtualizedPropertyGridWithDataProvider } from '@itwin/components-react'; import type { Widget } from '@itwin/appui-react'; // @public @@ -77,7 +77,7 @@ export interface FavoritePropertiesContextMenuItemProps extends DefaultContextMe } // @public -export interface FilteringPropertyGridProps extends VirtualizedPropertyGridWithDataProviderProps { +export interface FilteringPropertyGridProps extends React.ComponentProps { autoExpandChildCategories?: boolean; filterer: IPropertyDataFilterer; } diff --git a/packages/itwin/property-grid/api/property-grid-react.exports.csv b/packages/itwin/property-grid/api/property-grid-react.exports.csv index 4405359bc..d05e3553c 100644 --- a/packages/itwin/property-grid/api/property-grid-react.exports.csv +++ b/packages/itwin/property-grid/api/property-grid-react.exports.csv @@ -1,47 +1,47 @@ sep=; -Release Tag;API Item -public;AddFavoritePropertyContextMenuItem({ field, imodel, scope, onSelect }: FavoritePropertiesContextMenuItemProps): JSX.Element | null -public;AncestorsNavigationControls({ navigateUp, navigateDown, canNavigateDown, canNavigateUp }: AncestorsNavigationControlsProps): JSX.Element | null -public;AncestorsNavigationControlsProps -public;ContextMenuItemProps -public;ContextMenuProps -public;CopyPropertyTextContextMenuItem({ record, onSelect }: DefaultContextMenuItemProps): JSX.Element -public;createPropertyGrid(propertyGridProps: PropertyGridWidgetProps): Widget -public;DataProviderProps -public;DefaultContextMenuItemProps -public;FavoritePropertiesContextMenuItemProps -public;FilteringPropertyGridProps -public;IModelAppUserPreferencesStorage -public;MultiElementPropertyGrid({ ancestorsNavigationControls, ...props }: MultiElementPropertyGridProps): JSX.Element -public;MultiElementPropertyGridProps -public;NullValueSettingContext({ children }: PropsWithChildren -public;PerformanceTrackedFeatures = "properties-load" | "elements-list-load" -public;PreferencesStorage -public;PropertyGrid({ createDataProvider, ...props }: PropertyGridProps): JSX.Element | null -public;PropertyGridComponent({ preferencesStorage, onPerformanceMeasured, onFeatureUsed, ...props }: PropertyGridComponentProps): JSX.Element | null -public;PropertyGridComponentProps -public;PropertyGridContentBaseProps -public;PropertyGridContentProps = PropertyGridContentBaseProps & ContextMenuProps & SettingsMenuProps -public;PropertyGridContextMenuItem({ id, children, title, onSelect }: PropsWithChildren -public;PropertyGridContextMenuItemProps -public;PropertyGridManager -public;PropertyGridPropertyUpdatedArgs -public;PropertyGridProps = Omit -public;PropertyGridSettingsMenuItem({ id, onClick, title, children }: PropsWithChildren -public;PropertyGridSettingsMenuItemProps -public;PropertyGridUiItemsProvider -deprecated;PropertyGridUiItemsProvider -public;PropertyGridUiItemsProviderProps -deprecated;PropertyGridUiItemsProviderProps -public;PropertyGridWidgetId = "vcr:PropertyGridComponent" -public;PropertyGridWidgetProps -public;RemoveFavoritePropertyContextMenuItem({ field, imodel, scope, onSelect }: FavoritePropertiesContextMenuItemProps): JSX.Element | null -public;SettingsMenuItemProps -public;SettingsMenuProps -public;ShowHideNullValuesSettingsMenuItem({ close, persist }: ShowHideNullValuesSettingsMenuItemProps): JSX.Element -public;ShowHideNullValuesSettingsMenuItemProps -public;SingleElementDataProviderProps -public;SingleElementPropertyGrid({ instanceKey, createDataProvider, ...props }: SingleElementPropertyGridProps): JSX.Element | null -public;SingleElementPropertyGridProps = Omit -public;TelemetryContextProvider({ onPerformanceMeasured, onFeatureUsed, children }: PropsWithChildren -public;usePropertyGridTransientState \ No newline at end of file +Release Tag;API Item Type;API Item Name +public;function;AddFavoritePropertyContextMenuItem +public;function;AncestorsNavigationControls +public;interface;AncestorsNavigationControlsProps +public;interface;ContextMenuItemProps +public;interface;ContextMenuProps +public;function;CopyPropertyTextContextMenuItem +public;function;createPropertyGrid +public;interface;DataProviderProps +public;interface;DefaultContextMenuItemProps +public;interface;FavoritePropertiesContextMenuItemProps +public;interface;FilteringPropertyGridProps +public;class;IModelAppUserPreferencesStorage +public;function;MultiElementPropertyGrid +public;interface;MultiElementPropertyGridProps +public;function;NullValueSettingContext +public;type;PerformanceTrackedFeatures +public;interface;PreferencesStorage +public;function;PropertyGrid +public;function;PropertyGridComponent +public;interface;PropertyGridComponentProps +public;interface;PropertyGridContentBaseProps +public;type;PropertyGridContentProps +public;function;PropertyGridContextMenuItem +public;interface;PropertyGridContextMenuItemProps +public;class;PropertyGridManager +public;interface;PropertyGridPropertyUpdatedArgs +public;type;PropertyGridProps +public;function;PropertyGridSettingsMenuItem +public;interface;PropertyGridSettingsMenuItemProps +public;class;PropertyGridUiItemsProvider +deprecated;class;PropertyGridUiItemsProvider +public;interface;PropertyGridUiItemsProviderProps +deprecated;interface;PropertyGridUiItemsProviderProps +public;const;PropertyGridWidgetId +public;interface;PropertyGridWidgetProps +public;function;RemoveFavoritePropertyContextMenuItem +public;interface;SettingsMenuItemProps +public;interface;SettingsMenuProps +public;function;ShowHideNullValuesSettingsMenuItem +public;interface;ShowHideNullValuesSettingsMenuItemProps +public;interface;SingleElementDataProviderProps +public;function;SingleElementPropertyGrid +public;type;SingleElementPropertyGridProps +public;function;TelemetryContextProvider +public;function;usePropertyGridTransientState \ No newline at end of file diff --git a/packages/itwin/property-grid/package.json b/packages/itwin/property-grid/package.json index 07d1fb37b..d6e8ac07f 100644 --- a/packages/itwin/property-grid/package.json +++ b/packages/itwin/property-grid/package.json @@ -66,32 +66,32 @@ "dependencies": { "@itwin/itwinui-icons-react": "^2.8.0", "@itwin/itwinui-illustrations-react": "^2.1.0", - "@itwin/itwinui-react": "^3.5.0", + "@itwin/itwinui-react": "^3.15.5", "classnames": "^2.3.1", "react-error-boundary": "^4.0.10" }, "devDependencies": { - "@itwin/appui-abstract": "^4.4.0", - "@itwin/appui-react": "^4.9.0", - "@itwin/build-tools": "^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-geometry": "^4.4.0", - "@itwin/core-i18n": "^4.4.0", - "@itwin/core-markup": "^4.4.0", - "@itwin/core-orbitgt": "^4.4.0", - "@itwin/core-quantity": "^4.4.0", - "@itwin/core-react": "^4.9.0", - "@itwin/core-telemetry": "^4.4.0", - "@itwin/ecschema-metadata": "^4.4.0", + "@itwin/appui-abstract": "^4.9.7", + "@itwin/appui-react": "^4.17.3", + "@itwin/build-tools": "^4.9.7", + "@itwin/components-react": "^4.17.3", + "@itwin/core-bentley": "^4.9.7", + "@itwin/core-common": "^4.9.7", + "@itwin/core-frontend": "^4.9.7", + "@itwin/core-geometry": "^4.9.7", + "@itwin/core-i18n": "^4.9.7", + "@itwin/core-markup": "^4.9.7", + "@itwin/core-orbitgt": "^4.9.7", + "@itwin/core-quantity": "^4.9.7", + "@itwin/core-react": "^4.17.3", + "@itwin/core-telemetry": "^4.9.7", + "@itwin/ecschema-metadata": "^4.9.7", "@itwin/eslint-plugin": "^4.1.1", - "@itwin/imodel-components-react": "^4.9.0", - "@itwin/presentation-common": "^4.4.0", - "@itwin/presentation-components": "^5.4.0", - "@itwin/presentation-frontend": "^4.4.0", - "@itwin/webgl-compatibility": "^4.4.0", + "@itwin/imodel-components-react": "^4.17.3", + "@itwin/presentation-common": "^4.9.7", + "@itwin/presentation-components": "^5.6.0", + "@itwin/presentation-frontend": "^4.9.7", + "@itwin/webgl-compatibility": "^4.9.7", "@playwright/test": "^1.48.2", "@testing-library/dom": "^9.3.3", "@testing-library/react": "^14.1.2", diff --git a/packages/itwin/property-grid/pnpm-lock.yaml b/packages/itwin/property-grid/pnpm-lock.yaml index 59d4f8045..ff0855b0a 100644 --- a/packages/itwin/property-grid/pnpm-lock.yaml +++ b/packages/itwin/property-grid/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^2.1.0 version: 2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-react': - specifier: ^3.5.0 - version: 3.5.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + specifier: ^3.15.5 + version: 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) classnames: specifier: ^2.3.1 version: 2.3.1 @@ -25,68 +25,68 @@ importers: version: 4.0.10(react@18.0.0) devDependencies: '@itwin/appui-abstract': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7) '@itwin/appui-react': - specifier: ^4.9.0 - version: 4.9.0(erdwd5jsf7a3n42lkatel22zwq) + specifier: ^4.17.3 + version: 4.17.3(2qyjowwokaind67rqgkjxvuxdu) '@itwin/build-tools': - specifier: ^4.4.0 - version: 4.4.0(@types/node@18.18.10) + specifier: ^4.9.7 + version: 4.9.7(@types/node@18.18.10) '@itwin/components-react': - specifier: ^4.9.0 - version: 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + specifier: ^4.17.3 + version: 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/core-bentley': - specifier: ^4.4.0 - version: 4.4.0 + specifier: ^4.9.7 + version: 4.9.7 '@itwin/core-common': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) '@itwin/core-frontend': - specifier: ^4.4.0 - version: 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) + specifier: ^4.9.7 + version: 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) '@itwin/core-geometry': - specifier: ^4.4.0 - version: 4.4.0 + specifier: ^4.9.7 + version: 4.9.7 '@itwin/core-i18n': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7) '@itwin/core-markup': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-geometry@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-geometry@4.9.7) '@itwin/core-orbitgt': - specifier: ^4.4.0 - version: 4.4.0 + specifier: ^4.9.7 + version: 4.9.7 '@itwin/core-quantity': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7) '@itwin/core-react': - specifier: ^4.9.0 - version: 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + specifier: ^4.17.3 + version: 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/core-telemetry': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-geometry@4.4.0) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-geometry@4.9.7) '@itwin/ecschema-metadata': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)) '@itwin/eslint-plugin': specifier: ^4.1.1 version: 4.1.1(eslint@8.57.0)(typescript@5.0.2) '@itwin/imodel-components-react': - specifier: ^4.9.0 - version: 4.9.0(yi3ojzkskqwt5tunz6q52vykju) + specifier: ^4.17.3 + version: 4.17.3(s2dspbqyehjbqv2r6eratonq5u) '@itwin/presentation-common': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))) '@itwin/presentation-components': - specifier: ^5.4.0 - version: 5.4.0(y7qqz2l5dxxe7qj7qebv6eh7lm) + specifier: ^5.6.0 + version: 5.6.0(qzgnio3rtkfg3psvr2mjdz4uoe) '@itwin/presentation-frontend': - specifier: ^4.4.0 - version: 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))(@itwin/presentation-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))) + specifier: ^4.9.7 + version: 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))(@itwin/presentation-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))) '@itwin/webgl-compatibility': - specifier: ^4.4.0 - version: 4.4.0 + specifier: ^4.9.7 + version: 4.9.7 '@playwright/test': specifier: ^1.48.2 version: 1.48.2 @@ -341,47 +341,6 @@ packages: peerDependencies: postcss-selector-parser: ^6.0.13 - '@emotion/babel-plugin@11.11.0': - resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} - - '@emotion/cache@11.11.0': - resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} - - '@emotion/hash@0.9.1': - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} - - '@emotion/memoize@0.8.1': - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} - - '@emotion/react@11.11.4': - resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==} - peerDependencies: - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - - '@emotion/serialize@1.1.3': - resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} - - '@emotion/sheet@1.2.2': - resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} - - '@emotion/unitless@0.8.1': - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - - '@emotion/use-insertion-effect-with-fallbacks@1.0.1': - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} - peerDependencies: - react: '>=16.8.0' - - '@emotion/utils@1.2.1': - resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} - - '@emotion/weak-memoize@0.3.1': - resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} - '@es-joy/jsdoccomment@0.46.0': resolution: {integrity: sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==} engines: {node: '>=16'} @@ -410,20 +369,20 @@ packages: '@floating-ui/dom@1.6.3': resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} - '@floating-ui/react-dom@2.0.8': - resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} + '@floating-ui/react-dom@2.1.2': + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.9': - resolution: {integrity: sha512-p86wynZJVEkEq2BBjY/8p2g3biQ6TlgT4o/3KgFKyTWoJLU1GZ8wpctwRqtkEl2tseYA+kw7dBAIDFcednfI5w==} + '@floating-ui/react@0.26.27': + resolution: {integrity: sha512-jLP72x0Kr2CgY6eTYi/ra3VA9LOkTo4C+DUTrbFgFOExKy3omYVmwMjNKqxAHdsnyLS96BIDLcO2SlnsNf8KUQ==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.1': - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} @@ -450,108 +409,107 @@ packages: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@itwin/appui-abstract@4.4.0': - resolution: {integrity: sha512-XL6F9H/kkI7YG/uAiV6+6PR/Tc6BONxCxM4ujdsRUWL2sGYAJCvwy9BSIcF0dlIroz/YCPKcDGxxJMsrDnaAAg==} + '@itwin/appui-abstract@4.9.7': + resolution: {integrity: sha512-IsDO+OE/kkd928Hwr9kxewuRkhhAEqK0J9QSFL1JyTMnvV7LLV8lOs8YXa0Dqa/vmW8Xs6bogG7JDlDzp1rFDg==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 - '@itwin/appui-react@4.9.0': - resolution: {integrity: sha512-VLggYnoHCsdoP408csLGoQNKUqTOL0hg0ioJb/VH9uLhBDlxDXPnCFYenC7aWCVXExhqgZaSWLMN8bWjXt8npw==} + '@itwin/appui-react@4.17.3': + resolution: {integrity: sha512-UD7qIdQXySZj5gRSiY+tGno4jo3Hf8szK2JHKW0Llcl2SN/FcHurfYIjYaK5rtpsRzra9Qsa01WCIbajujwGVw==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 - '@itwin/components-react': ^4.9.0 + '@itwin/components-react': ^4.17.3 '@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.9.0 + '@itwin/core-react': ^4.17.3 '@itwin/core-telemetry': ^3.7.0 || ^4.0.0 - '@itwin/imodel-components-react': ^4.9.0 + '@itwin/imodel-components-react': ^4.17.3 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 react-redux: ^7.2.2 redux: ^4.1.0 - '@itwin/build-tools@4.4.0': - resolution: {integrity: sha512-EIDk3AxH19Z8/awG7XNPh++RDHfl1cjwaMzy3floDVokJqfArrb6m6ICB9VezCKQkuvrryON3aywJ428oPnq+g==} + '@itwin/build-tools@4.9.7': + resolution: {integrity: sha512-VEOp/3Ir3pOHpcilwYnJX/JN/j9AikM09dErl2HS/rqymKGTkMJ+5hrueRerh8acSKPdTtazsTEcMRlDP3qXgA==} hasBin: true - '@itwin/cloud-agnostic-core@2.2.2': - resolution: {integrity: sha512-VViXBruwA8dgsVNgOg1gnAid6hbw/iqZT1BLgBGsmvrr8ZOsu6M/gFora6Rqkol3ZW5df4u/vp+xcZu2CiB0Uw==} - engines: {node: '>=12.20 <19.0.0'} + '@itwin/cloud-agnostic-core@2.2.5': + resolution: {integrity: sha512-pLEWIjQ4Z1kos7z6RWu/kG2lTEyojr906WVGAXKouxA/BobWuUlb1HG1/Zw8+SovA284wauKhHJsydRhYeddIQ==} peerDependencies: inversify: ^6.0.1 reflect-metadata: ^0.1.13 - '@itwin/components-react@4.9.0': - resolution: {integrity: sha512-Qpa87phb/QEOpm/90t5A1k2WqcyIUmt2+XFYtbMFxxFH57BRVsuBdGzP/Zk/AuJytSPzjq5S0AneQMjHfYTu6w==} + '@itwin/components-react@4.17.3': + resolution: {integrity: sha512-5aB7dFVuPOIhr2c28gs0BkVWJFF3C+U6j3WgBGEb1DKBYlJkBZD17eIWGVZl2Yiob1YlAenyAE2/Lbbjz+O7Gg==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 - '@itwin/core-react': ^4.9.0 + '@itwin/core-react': ^4.17.3 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@itwin/core-bentley@4.4.0': - resolution: {integrity: sha512-baRZcIyFnkjG3UBTZ/a8bHoUXTds7f+5yx+WaxS67fMF1eSRgIZqUK59f9qQRvGpB7KPWYZLZzmrQQ8/km9RhQ==} + '@itwin/core-bentley@4.9.7': + resolution: {integrity: sha512-c/A0UT+slQTIFMsLon4haYmey/vpdP+MJrly4SaEgC0WHTo06t3qYf0342F3F15DmsnqC2n2DDNx6/n6pUPqOg==} - '@itwin/core-common@4.4.0': - resolution: {integrity: sha512-9eBlu6eAAgwdm91Dputiqnr70fuPyG1MpcQ/hkgy36QItSTh94xijOnY+IG5ggx2f0bjX9CAuYy5upjBSnOwWA==} + '@itwin/core-common@4.9.7': + resolution: {integrity: sha512-Ud2TZoT1UfGQ9MOTqANDsm1bSaQSovjyJNu/ulUIXZPdzBrV1+ZXCLl76ObM5+a5ogIrx0CrmHylrd4y4zOEaA==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 - '@itwin/core-geometry': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-geometry': ^4.9.7 - '@itwin/core-frontend@4.4.0': - resolution: {integrity: sha512-prKDqX6Nu4WeACcfLih99zOLTmRdVbbsDhaJQVbH0ebLqh+X8iUaB4EZtPex4UBFwD6PsgCb05MywESF70Lvxw==} + '@itwin/core-frontend@4.9.7': + resolution: {integrity: sha512-DUadHL1C9cwg9YZj3rr+tNbIystxuZjCpT02lzS7maGjQMYL8DFpAdgE6vxJV0yPaqosFdH6bTBd7KiklOA2vQ==} peerDependencies: - '@itwin/appui-abstract': ^4.4.0 - '@itwin/core-bentley': ^4.4.0 - '@itwin/core-common': ^4.4.0 - '@itwin/core-geometry': ^4.4.0 - '@itwin/core-orbitgt': ^4.4.0 - '@itwin/core-quantity': ^4.4.0 - - '@itwin/core-geometry@4.4.0': - resolution: {integrity: sha512-JMga61DdrD3eO4HOgxASCgwKJjPV2iKi2M9m1SwtWGMZxKqiUfc+Ms1EsbHD6c4Exd3pebEDZGZkZoNZnWIjHQ==} - - '@itwin/core-i18n@4.4.0': - resolution: {integrity: sha512-SpAqL6TM7DjSheMseeTG7Rhb+4lybsRK87xZnpQpPaJEl8AX6HkHTqfVD220YDU4/l5spFEEF+ya4YpQ/PHtSQ==} + '@itwin/appui-abstract': ^4.9.7 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-common': ^4.9.7 + '@itwin/core-geometry': ^4.9.7 + '@itwin/core-orbitgt': ^4.9.7 + '@itwin/core-quantity': ^4.9.7 + + '@itwin/core-geometry@4.9.7': + resolution: {integrity: sha512-9Aq7zYxlNe6UxxspzuqYU+8cOWvBSMXxATlMoLtoL5+dAehnO4NM/O43DOQPHhorWeEtN4Oqk6rTH7ubvOGBIg==} + + '@itwin/core-i18n@4.9.7': + resolution: {integrity: sha512-P2Ui4lB0b1HLhx7tmpHfujouYeBECLW3cuis6JNk7XX93orwDZrDbrT2ZUVSIK/5OBuIDeD+/9+kXdYpCi3syg==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 - '@itwin/core-markup@4.4.0': - resolution: {integrity: sha512-hOtirck5gNSR8QqOj5rh0bWwJvfyyWP/RzszsYeS+iddVvGbD7Hx13AdMEO7y96CMqvEdN1/fBdRKTSTSxCB+A==} + '@itwin/core-markup@4.9.7': + resolution: {integrity: sha512-8vAn8TjodMeacD6YSvs1jFuABEOtQ4iC+EIR9g6vBySEGmZ3koNMAV0n75kyA6OEjPVPF0nAz117FYlHuTaKMQ==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 - '@itwin/core-common': ^4.4.0 - '@itwin/core-frontend': ^4.4.0 - '@itwin/core-geometry': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-common': ^4.9.7 + '@itwin/core-frontend': ^4.9.7 + '@itwin/core-geometry': ^4.9.7 - '@itwin/core-orbitgt@4.4.0': - resolution: {integrity: sha512-noj7B80symBokxoW15qcBA6YnDUvrjOyhyzwOJpRUjVOlMMDQkQnQV0QaY7cmV4HmldbaYEDKyTtNjHt24i9Xw==} + '@itwin/core-orbitgt@4.9.7': + resolution: {integrity: sha512-LMk/VnpYardTkzKM2EYMlNO3YKw5HFeJd7CgesGcBVa6F/Cz4m1MSO+t8LtrOv7nT2jBBqRRFz4jS+RebsT4PQ==} - '@itwin/core-quantity@4.4.0': - resolution: {integrity: sha512-w/0ZU+65yAYAqytqPEKlxVomu/YPmIeKNeBfEOrs0FI227C3zSRYDUs6R8bAooflKGVKWUn8j6pnSYu5RwFaIQ==} + '@itwin/core-quantity@4.9.7': + resolution: {integrity: sha512-ZR09yXGPZmPdn4XW/7lZLvPXOi1YdxyTCSNnUkjvAX4OCXUOOI+349Y2bfCw4sZi7FTWmgOzPMKw3YGgdMbUXw==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 - '@itwin/core-react@4.9.0': - resolution: {integrity: sha512-aZmKWy0b8LS21STcAyGf/s7vNrkRxOPRbMwYmRUv1PfUHXQlHhBGBL8HYkHOcmq/RY/f31xWyo5R/H71ncD61w==} + '@itwin/core-react@4.17.3': + resolution: {integrity: sha512-UrkhLd5eMJsEM2cytGReopAK0ppSfeIZeL9ZA+3AC9x2GdX7KYc+UiUPwP2nGy7oDpXIfjgoe/EoffXWpLFvJg==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 '@itwin/core-bentley': ^3.7.0 || ^4.0.0 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@itwin/core-telemetry@4.4.0': - resolution: {integrity: sha512-oVea5rMWTnLxWwydNP7IOeds6lD+Z8KJF8UZSshmsd4LCN/Djf2dQ73/utpyL8Yg/cGLJuF5B0+w4Zm8im2vvQ==} + '@itwin/core-telemetry@4.9.7': + resolution: {integrity: sha512-sBzF4W9ohQVySmlAMY/0fBI3lrsnBhMe5H3+Ku2tQma0rbbjCVfEgsz6Oorii6Npyw8/+aD6HqPkPZ0UGKzMxA==} - '@itwin/ecschema-metadata@4.4.0': - resolution: {integrity: sha512-ECs+MJ/4Lt3zSOYLa5mc61+w5vZwNNQAbDo2BKWjQoXzqJRRdwY1YkD8G9zaPoUXgNIImXBeRNKqp3jTpDDcqA==} + '@itwin/ecschema-metadata@4.9.7': + resolution: {integrity: sha512-CJ4YYkOIAHaicNBdkTfacUrJ+Vhgstb3vc1Zzj65hocgqwn9C2gCqikbJU4pTg0B77wKdAPSSJDVZ9lFTLByFg==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 - '@itwin/core-quantity': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-quantity': ^4.9.7 '@itwin/eslint-plugin@4.1.1': resolution: {integrity: sha512-AGE6TIpMeJAVBBRJxDuSWzD/+K7yu1PbVB7yxDQurvg2j1pafb808B7lM2KOzyUvT4+C2HKmAtiQaxeFjwWNjg==} @@ -561,17 +519,17 @@ packages: eslint: ^8.56.0 typescript: ^3.7.0 || ^4.0.0 || ^5.0.0 - '@itwin/imodel-components-react@4.9.0': - resolution: {integrity: sha512-PqBhKxyZEL5TdYO1Lam+B85aO1LMujN2cZpfhekHLjue7T+wANKShmTedKlw56hL8z6Jj23UjOaZkJNn10+Y9g==} + '@itwin/imodel-components-react@4.17.3': + resolution: {integrity: sha512-AYEtlXcrRwj0dupn0Q8qunRIcdh/iTbvyXpFlwgARvUL5hKCHsUeBoaoyWZuP/iP0Qq2wffIPOVSoVSpJ64qOg==} peerDependencies: '@itwin/appui-abstract': ^3.7.0 || ^4.0.0 - '@itwin/components-react': ^4.9.0 + '@itwin/components-react': ^4.17.3 '@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.9.0 + '@itwin/core-react': ^4.17.3 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 @@ -581,9 +539,6 @@ packages: react: '>=16.8.6' react-dom: '>=16.8.6' - '@itwin/itwinui-icons@1.16.0': - resolution: {integrity: sha512-m3s28MitTRtCo7hAIjMB7787KGsjvPhxN9QucmTaKXxDJLahb51fqq4YXgZBpyLw39tbAMETXmbdEdzN6HnK4w==} - '@itwin/itwinui-illustrations-react@2.1.0': resolution: {integrity: sha512-5JR2A3mZy0d0qwwHpveSG3fsXLheJkO6a0GoWb8NQWw5edNZMRynJg0l3hVw3CHMgaaCGbUoKC77MuG0jWDzuA==} peerDependencies: @@ -592,36 +547,36 @@ packages: '@itwin/itwinui-react@2.12.25': resolution: {integrity: sha512-2J+ahkbr41NzVTgnkcQ28El8/9jQejKc5x9/LwDyOIwn4bI359QcAIJlUXuhtmAF/2f+zoDGq6maKd/X/Kt8MQ==} + 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' - '@itwin/itwinui-react@3.5.0': - resolution: {integrity: sha512-Xtdq8e4OzQiN0wGa9MRn92tdgp3jk7ITIMlV2hcFoZs16p6pBJVChhpX0ayA6wSDauT6cLg+0dK9K+24TEdQYw==} + '@itwin/itwinui-react@3.15.5': + resolution: {integrity: sha512-AqoFWFGwgZUrGzxn1J8Ea/DKOcXUt0haLjZBQ3lPeCmO6tNQow9NrbHWn+B9KiMAENADwgS9ElqTseDrSRksig==} peerDependencies: react: '>= 17.0.0 < 19.0.0' react-dom: '>=17.0.0 < 19.0.0' - '@itwin/itwinui-variables@2.1.2': - resolution: {integrity: sha512-bwaoiqJdPvMCEhccXh5jE/uF83IoHaHofURZV62t9BEhKXW0LF+iaAwCPC+G4Sttgs6tUtqEGsPqj5RnbdipsQ==} + '@itwin/itwinui-variables@3.3.0': + resolution: {integrity: sha512-bnMlOaX+0Bh+bFdXD1KWBcsgeQTJDvaOY7HXI3ZIADRFy4qnx70DmRMp7w+ZA1FxrX2XTQNjt+kmcphaXTPGCw==} - '@itwin/object-storage-core@2.2.2': - resolution: {integrity: sha512-yaMAWmDvBRWtH/CFkG02y5B+JaA7W8j0Vquk1dAkoxTxCTTQ54w77wJjpGGLGmNs9qO09K3FsXQnrYMRx/ZzzQ==} - engines: {node: '>=12.20 <19.0.0'} + '@itwin/object-storage-core@2.2.5': + resolution: {integrity: sha512-IaGryht2Sg2piCVyrnzfTnxSClhi2k8Xv+OxFD2ARvd+J2o3XFgo5EJBezNe1gVz60+9tuqlczIU6blxfbX05g==} peerDependencies: inversify: ^6.0.1 reflect-metadata: ^0.1.13 - '@itwin/presentation-common@4.4.0': - resolution: {integrity: sha512-k4cZQyMc3uTJ5BvGa2a7qT7tZiS09jKoKGQctzDpDnuMueLcW2+TG7nogKIKl+ded4tKT0zsCBsKXLmAXTQu6Q==} + '@itwin/presentation-common@4.9.7': + resolution: {integrity: sha512-XPrKQdmuhFzasz+JSPnJ8xo3i0Am/PTMxWep5l0ZOG9RfsNEOsfXY1DZpcFgeKbDj0qkmkaGKs17H80+WZVM1A==} peerDependencies: - '@itwin/core-bentley': ^4.4.0 - '@itwin/core-common': ^4.4.0 - '@itwin/core-quantity': ^4.4.0 - '@itwin/ecschema-metadata': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-common': ^4.9.7 + '@itwin/core-quantity': ^4.9.7 + '@itwin/ecschema-metadata': ^4.9.7 - '@itwin/presentation-components@5.4.0': - resolution: {integrity: sha512-3BST8Z2BWKbIErYmyN3TXlIcXHOOm0nNGxT7+97cWf94YC6KWo3nwows/DLG+M7u9tRspbPbNAzNXDcm3cxH5g==} + '@itwin/presentation-components@5.6.0': + resolution: {integrity: sha512-bm3niBLKxO8KLjLETtXss74f0VBo4lAZinv2Oa4pfruU6wxYKmQURZ5Syha95lpDSYbahpcS69ioJG2SDHvshg==} peerDependencies: '@itwin/appui-abstract': ^4.4.0 '@itwin/components-react': ^4.9.0 @@ -638,18 +593,21 @@ packages: react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 - '@itwin/presentation-frontend@4.4.0': - resolution: {integrity: sha512-6lobFOVXgHJC+TOKafpw/tHJwdJ9NtIykliEGpJO9uoLDGDjJxlCgO++TIE+WskWWuPuqYh06v3wWAA9nw+F4g==} + '@itwin/presentation-frontend@4.9.7': + resolution: {integrity: sha512-iscpWrBqZwGwCEFubgyKzNXfm/QR0FeZUe80/7hc4t2vKux5QcwqNL2QHv4sHUruUxSQJn3HATCxucTqN/6WiA==} peerDependencies: - '@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/ecschema-metadata': ^4.4.0 - '@itwin/presentation-common': ^4.4.0 + '@itwin/core-bentley': ^4.9.7 + '@itwin/core-common': ^4.9.7 + '@itwin/core-frontend': ^4.9.7 + '@itwin/core-quantity': ^4.9.7 + '@itwin/ecschema-metadata': ^4.9.7 + '@itwin/presentation-common': ^4.9.7 + + '@itwin/unified-selection@0.1.0': + resolution: {integrity: sha512-1Pe2i3sw5dK4h394uC5wTRWvnXxeBZGv+t9LcG7tQr2L+l0Hv+Ryo5+yTN34kABEhMe2UwSHnBRU8jOGsiorIQ==} - '@itwin/webgl-compatibility@4.4.0': - resolution: {integrity: sha512-o7QAuoHUkvsGQfk4kQVkVgy34Abf+sDmPspqXV+rmfpRk6vpGaEMqlsE7hVOSa5ROltil9nstIHvBJ4tIL4jjw==} + '@itwin/webgl-compatibility@4.9.7': + resolution: {integrity: sha512-B3kmciV/ISFTXehUPgvku+mBgbKxYxvDPWWuC0VyblrcAcyuN9nVCXJvAdpNGCZtFcS8XC4mEWnlLygWjFDXZg==} '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} @@ -684,18 +642,18 @@ packages: '@loaders.gl/worker-utils@3.4.15': resolution: {integrity: sha512-zUUepOYRYmcYIcr/c4Mchox9h5fBFNkD81rsGnLlZyq19QvyHzN+93SVxrLc078gw93t2RKrVcOOZY13zT3t1w==} - '@microsoft/api-extractor-model@7.27.6': - resolution: {integrity: sha512-eiCnlayyum1f7fS2nA9pfIod5VCNR1G+Tq84V/ijDrKrOFVa598BLw145nCsGDMoFenV6ajNi2PR5WCwpAxW6Q==} + '@microsoft/api-extractor-model@7.29.8': + resolution: {integrity: sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==} - '@microsoft/api-extractor@7.36.4': - resolution: {integrity: sha512-21UECq8C/8CpHT23yiqTBQ10egKUacIpxkPyYR7hdswo/M5yTWdBvbq+77YC9uPKQJOUfOD1FImBQ1DzpsdeQQ==} + '@microsoft/api-extractor@7.47.11': + resolution: {integrity: sha512-lrudfbPub5wzBhymfFtgZKuBvXxoSIAdrvS2UbHjoMT2TjIEddq6Z13pcve7A03BAouw0x8sW8G4txdgfiSwpQ==} hasBin: true - '@microsoft/tsdoc-config@0.16.2': - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + '@microsoft/tsdoc-config@0.17.0': + resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} - '@microsoft/tsdoc@0.14.2': - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@microsoft/tsdoc@0.15.0': + resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -734,22 +692,27 @@ packages: '@probe.gl/stats@3.6.0': resolution: {integrity: sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==} - '@rushstack/node-core-library@3.59.7': - resolution: {integrity: sha512-ln1Drq0h+Hwa1JVA65x5mlSgUrBa1uHL+V89FqVWQgXd1vVIMhrtqtWGQrhTnFHxru5ppX+FY39VWELF/FjQCw==} + '@rushstack/node-core-library@5.9.0': + resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/rig-package@0.4.1': - resolution: {integrity: sha512-AGRwpqlXNSp9LhUSz4HKI9xCluqQDt/obsQFdv/NYIekF3pTTPzc+HbQsIsjVjYnJ3DcmxOREVMhvrMEjpiq6g==} + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - '@rushstack/ts-command-line@4.15.2': - resolution: {integrity: sha512-5+C2uoJY8b+odcZD6coEe2XNC4ZjGB4vCMESbqW/8DHRWC/qIHfANdmN9F1wz/lAgxz72i7xRoVtPY2j7e4gpQ==} + '@rushstack/terminal@0.14.2': + resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true - '@seznam/compose-react-refs@1.0.6': - resolution: {integrity: sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q==} + '@rushstack/ts-command-line@4.23.0': + resolution: {integrity: sha512-jYREBtsxduPV6ptNq8jOKp9+yx0ld1Tb/Tkdnlj8gTjazl1sF3DwX2VbluyYrNd0meWIL0bNeer7WDf5tKFjaQ==} '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -769,6 +732,18 @@ packages: '@svgdotjs/svg.js@3.0.13': resolution: {integrity: sha512-Ix3dobG2DvdK5f2SHtZdiiLwi+G0RDuDfwA4tZ1eqTGoiopia8JIfeWGeA0h2frFHcLDXnYvNiVGtW4y6cSDig==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + + '@tanstack/react-virtual@3.10.9': + resolution: {integrity: sha512-OXO2uBjFqA4Ibr2O3y0YMnkrRWGVNqcvHQXmGvMu6IK8chZl3PrDxFXdGZ2iZkSrKh3/qUYoFqYe+Rx23RoU0g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@tanstack/virtual-core@3.10.9': + resolution: {integrity: sha512-kBknKOKzmeR7lN+vSadaKWXaLS0SZZG+oqpQ/k80Q6g9REn6zRHS/ZYdrIzHnpHgy/eWs00SujveUN/GJT2qTw==} + '@testing-library/dom@9.3.3': resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} engines: {node: '>=14'} @@ -828,9 +803,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/prop-types@15.7.11': resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} @@ -843,9 +815,6 @@ packages: '@types/react-table@7.7.19': resolution: {integrity: sha512-47jMa1Pai7ily6BXJCW33IL5ghqmCWs2VM9s+h1D4mCaK5P4uNkZOW3RMMg8MCXBvAJ0v9+sPqKjhid0PaJPQA==} - '@types/react-transition-group@4.4.10': - resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} - '@types/react@18.0.34': resolution: {integrity: sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==} @@ -855,9 +824,6 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/shortid@0.0.32': - resolution: {integrity: sha512-LwWF89yy6Ol8abraYbVedIKzMlgJCTx8zm40yx9t0ZPOJaVR0OmSO4zRRAKfyOJtCwZrEBmhueZX8OiNbQydYw==} - '@types/sinon-chai@3.2.12': resolution: {integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==} @@ -1016,11 +982,6 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vtaits/use-lazy-ref@0.1.0': - resolution: {integrity: sha512-/m5z3Df6I6i/B0lnv6pB2O1+X/nWVquqbnltq+irW1+Nhpv0PpeMzSNf9lTjzT/eHRZtH2fM1370AdYqc3FTyQ==} - peerDependencies: - react: ^17.0.0 || ^18.0.0 - '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -1042,14 +1003,30 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - almost-equal@1.1.0: - resolution: {integrity: sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==} + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} ansi-colors@4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} @@ -1188,16 +1165,12 @@ packages: resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1322,18 +1295,10 @@ packages: colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - colors@1.2.5: - resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} - engines: {node: '>=0.1.90'} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -1350,10 +1315,6 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} @@ -1527,8 +1488,8 @@ packages: dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dompurify@2.4.7: - resolution: {integrity: sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==} + dompurify@2.5.7: + resolution: {integrity: sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==} dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} @@ -1802,9 +1763,6 @@ packages: find-index@0.1.1: resolution: {integrity: sha512-uJ5vWrfBKMcE6y2Z8834dwEZj9mNGxYa3t3I53OwFeuZ8D9oc2E5zcsrkuhX6h4iYrjhiv0T3szQmxlAV9uxDg==} - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -1827,8 +1785,8 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -1934,6 +1892,10 @@ packages: resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} engines: {node: '>= 0.10'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + glob@11.0.0: resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} engines: {node: 20 || >=22} @@ -2037,9 +1999,6 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - highlight-words-core@1.2.2: - resolution: {integrity: sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==} - hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -2309,6 +2268,9 @@ packages: iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.0.1: resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} engines: {node: 20 || >=22} @@ -2316,6 +2278,18 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + jotai@2.10.2: + resolution: {integrity: sha512-DqsBTlRglIBviuJLfK6JxZzpd6vKfbuJ4IqRCz70RFEDeZf46Fcteb/FXxNr1UnoxR5oUy3oq7IE8BrEq0G5DQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -2429,9 +2403,6 @@ packages: lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -2452,6 +2423,9 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.0.0: resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} engines: {node: 20 || >=22} @@ -2500,15 +2474,9 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - 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==} - memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2517,6 +2485,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + meshoptimizer@0.20.0: + resolution: {integrity: sha512-olcJ1q+YVnjroRJpCL1Dj5aZxr2JMr2hRutMUwhuHZvpAL7SIZgOT6eMlFF4TbBGSR89tawE/gqB79J/LrW/Nw==} + micro-memoize@4.1.2: resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==} @@ -2540,6 +2511,9 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2547,10 +2521,6 @@ packages: resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} engines: {node: '>=10'} - minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -2591,9 +2561,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@2.1.11: - resolution: {integrity: sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==} - nanoid@3.3.3: resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2766,6 +2733,10 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} @@ -2906,11 +2877,6 @@ packages: peerDependencies: react: '>=16.13.1' - react-highlight-words@0.20.0: - resolution: {integrity: sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==} - peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 - react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -2929,18 +2895,6 @@ packages: react-native: optional: true - react-select-async-paginate@0.7.2: - resolution: {integrity: sha512-NlF717+Kh/OgSC7YyEYuB0ebsqF2YhyEdcETH1lX6X4INgNKpKH269MI1H5soIThZdCPZl5xz2QSldcPKlPlew==} - peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 - react-select: ^5.0.0 - - react-select@5.7.0: - 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 - react-table@7.8.0: resolution: {integrity: sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==} peerDependencies: @@ -3032,9 +2986,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -3149,10 +3100,6 @@ packages: shiki@0.14.7: resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} - 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. - side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -3180,9 +3127,6 @@ packages: slashes@3.0.12: resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - sleep-promise@9.1.0: - resolution: {integrity: sha512-UHYzVpz9Xn8b+jikYSD6bqvf754xL2uBUzDFwiU6NcdZeifPr6UfgU43xpkPu67VMS88+TI2PSI7Eohgqf2fKA==} - slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -3194,10 +3138,6 @@ packages: source-map-support@0.5.6: resolution: {integrity: sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -3335,9 +3275,6 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} hasBin: true - stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - subarg@1.0.0: resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} @@ -3433,6 +3370,9 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -3482,26 +3422,31 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typedoc-plugin-merge-modules@4.1.0: - resolution: {integrity: sha512-0Qax5eSaiP86zX9LlQQWANjtgkMfSHt6/LRDsWXfK45Ifc3lrgjZG4ieE87BMi3p12r/F0qW9sHQRB18tIs0fg==} + typedoc-plugin-merge-modules@5.1.0: + resolution: {integrity: sha512-jXH27L/wlxFjErgBXleh3opVgjVTXFEuBo68Yfl18S9Oh/IqxK6NV94jlEJ9hl4TXc9Zm2l7Rfk41CEkcCyvFQ==} peerDependencies: - typedoc: 0.23.x || 0.24.x + typedoc: 0.24.x || 0.25.x - typedoc@0.23.28: - resolution: {integrity: sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w==} - engines: {node: '>= 14.14'} + typedoc@0.25.13: + resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==} + engines: {node: '>= 16'} hasBin: true peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x typescript@5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} hasBin: true - typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} hasBin: true uc.micro@1.0.6: @@ -3537,20 +3482,6 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - use-is-mounted-ref@1.5.0: - resolution: {integrity: sha512-p5FksHf/ospZUr5KU9ese6u3jp9fzvZ3wuSb50i0y6fdONaHWgmOqQtxR/PUcwi6hnhQDbNxWSg3eTK3N6m+dg==} - peerDependencies: - react: '>=16.0.0' - - use-isomorphic-layout-effect@1.1.2: - resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - use-sync-external-store@1.2.0: resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: @@ -3566,10 +3497,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -3707,10 +3634,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -3747,11 +3670,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - zustand@4.5.2: resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} engines: {node: '>=12.7.0'} @@ -3922,66 +3840,6 @@ snapshots: dependencies: postcss-selector-parser: 6.0.15 - '@emotion/babel-plugin@11.11.0': - dependencies: - '@babel/helper-module-imports': 7.22.15 - '@babel/runtime': 7.24.0 - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/serialize': 1.1.3 - 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 - - '@emotion/cache@11.11.0': - dependencies: - '@emotion/memoize': 0.8.1 - '@emotion/sheet': 1.2.2 - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - stylis: 4.2.0 - - '@emotion/hash@0.9.1': {} - - '@emotion/memoize@0.8.1': {} - - '@emotion/react@11.11.4(@types/react@18.0.34)(react@18.0.0)': - dependencies: - '@babel/runtime': 7.24.0 - '@emotion/babel-plugin': 11.11.0 - '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.0.0) - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - hoist-non-react-statics: 3.3.2 - react: 18.0.0 - optionalDependencies: - '@types/react': 18.0.34 - - '@emotion/serialize@1.1.3': - dependencies: - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/unitless': 0.8.1 - '@emotion/utils': 1.2.1 - csstype: 3.1.3 - - '@emotion/sheet@1.2.2': {} - - '@emotion/unitless@0.8.1': {} - - '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.0.0)': - dependencies: - react: 18.0.0 - - '@emotion/utils@1.2.1': {} - - '@emotion/weak-memoize@0.3.1': {} - '@es-joy/jsdoccomment@0.46.0': dependencies: comment-parser: 1.4.1 @@ -4013,28 +3871,28 @@ snapshots: '@floating-ui/core@1.6.0': dependencies: - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.2.8 '@floating-ui/dom@1.6.3': dependencies: '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.0.8(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + '@floating-ui/react-dom@2.1.2(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: '@floating-ui/dom': 1.6.3 react: 18.0.0 react-dom: 18.0.0(react@18.0.0) - '@floating-ui/react@0.26.9(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + '@floating-ui/react@0.26.27(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: - '@floating-ui/react-dom': 2.0.8(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@floating-ui/utils': 0.2.1 + '@floating-ui/react-dom': 2.1.2(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@floating-ui/utils': 0.2.8 react: 18.0.0 react-dom: 18.0.0(react@18.0.0) tabbable: 6.2.0 - '@floating-ui/utils@0.2.1': {} + '@floating-ui/utils@0.2.8': {} '@humanwhocodes/config-array@0.11.14': dependencies: @@ -4067,28 +3925,28 @@ snapshots: '@istanbuljs/schema@0.1.3': {} - '@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0)': + '@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 + '@itwin/core-bentley': 4.9.7 - '@itwin/appui-react@4.9.0(erdwd5jsf7a3n42lkatel22zwq)': + '@itwin/appui-react@4.17.3(2qyjowwokaind67rqgkjxvuxdu)': dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/components-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-frontend': 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-geometry': 4.4.0 - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/core-telemetry': 4.4.0(@itwin/core-geometry@4.4.0) - '@itwin/imodel-components-react': 4.9.0(yi3ojzkskqwt5tunz6q52vykju) - '@itwin/itwinui-icons': 1.16.0 + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/components-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-frontend': 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-geometry': 4.9.7 + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/core-telemetry': 4.9.7(@itwin/core-geometry@4.9.7) + '@itwin/imodel-components-react': 4.17.3(s2dspbqyehjbqv2r6eratonq5u) '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-react': 2.12.25(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-variables': 2.1.2 + '@itwin/itwinui-react': 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/itwinui-react-v2': '@itwin/itwinui-react@2.12.25(react-dom@18.0.0(react@18.0.0))(react@18.0.0)' + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 lodash: 4.17.21 @@ -4100,83 +3958,84 @@ snapshots: redux: 4.1.0 rxjs: 7.8.1 ts-key-enum: 2.0.12 + use-sync-external-store: 1.2.0(react@18.0.0) zustand: 4.5.2(@types/react@18.0.34)(immer@9.0.6)(react@18.0.0) transitivePeerDependencies: - '@types/react' - '@itwin/build-tools@4.4.0(@types/node@18.18.10)': + '@itwin/build-tools@4.9.7(@types/node@18.18.10)': dependencies: - '@microsoft/api-extractor': 7.36.4(@types/node@18.18.10) + '@microsoft/api-extractor': 7.47.11(@types/node@18.18.10) chalk: 3.0.0 cpx2: 3.0.0 cross-spawn: 7.0.3 fs-extra: 8.1.0 - glob: 7.2.3 + glob: 10.4.5 mocha: 10.2.0 mocha-junit-reporter: 2.2.1(mocha@10.2.0) rimraf: 3.0.2 tree-kill: 1.2.2 - typedoc: 0.23.28(typescript@5.0.2) - typedoc-plugin-merge-modules: 4.1.0(typedoc@0.23.28(typescript@5.0.2)) - typescript: 5.0.2 + typedoc: 0.25.13(typescript@5.3.3) + typedoc-plugin-merge-modules: 5.1.0(typedoc@0.25.13(typescript@5.3.3)) + typescript: 5.3.3 wtfnode: 0.9.1 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - supports-color - '@itwin/cloud-agnostic-core@2.2.2(inversify@6.0.2)(reflect-metadata@0.1.14)': + '@itwin/cloud-agnostic-core@2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14)': dependencies: inversify: 6.0.2 reflect-metadata: 0.1.14 - '@itwin/components-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + '@itwin/components-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-bentley': 4.4.0 - '@itwin/core-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-react': 2.12.25(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-variables': 2.1.2 - '@types/shortid': 0.0.32 + '@itwin/itwinui-react': 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 immer: 9.0.6 linkify-it: 2.2.0 lodash: 4.17.21 react: 18.0.0 react-dom: 18.0.0(react@18.0.0) - react-highlight-words: 0.20.0(react@18.0.0) react-window: 1.8.10(react-dom@18.0.0(react@18.0.0))(react@18.0.0) rxjs: 7.8.1 - shortid: 2.2.16 ts-key-enum: 2.0.12 + transitivePeerDependencies: + - '@types/react' - '@itwin/core-bentley@4.4.0': {} + '@itwin/core-bentley@4.9.7': {} - '@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0)': + '@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-geometry': 4.4.0 + '@itwin/core-bentley': 4.9.7 + '@itwin/core-geometry': 4.9.7 flatbuffers: 1.12.0 js-base64: 3.7.7 - '@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14)': - dependencies: - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/cloud-agnostic-core': 2.2.2(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-geometry': 4.4.0 - '@itwin/core-i18n': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-orbitgt': 4.4.0 - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-telemetry': 4.4.0(@itwin/core-geometry@4.4.0) - '@itwin/object-storage-core': 2.2.2(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/webgl-compatibility': 4.4.0 + '@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14)': + dependencies: + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/cloud-agnostic-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-geometry': 4.9.7 + '@itwin/core-i18n': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-orbitgt': 4.9.7 + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-telemetry': 4.9.7(@itwin/core-geometry@4.9.7) + '@itwin/object-storage-core': 2.2.5(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/webgl-compatibility': 4.9.7 '@loaders.gl/core': 3.4.15 '@loaders.gl/draco': 3.4.15 fuse.js: 3.6.1 + meshoptimizer: 0.20.0 wms-capabilities: 0.4.0 transitivePeerDependencies: - debug @@ -4184,63 +4043,64 @@ snapshots: - inversify - reflect-metadata - '@itwin/core-geometry@4.4.0': + '@itwin/core-geometry@4.9.7': dependencies: - '@itwin/core-bentley': 4.4.0 + '@itwin/core-bentley': 4.9.7 flatbuffers: 1.12.0 - '@itwin/core-i18n@4.4.0(@itwin/core-bentley@4.4.0)': + '@itwin/core-i18n@4.9.7(@itwin/core-bentley@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 + '@itwin/core-bentley': 4.9.7 i18next: 21.10.0 i18next-browser-languagedetector: 6.1.8 i18next-http-backend: 1.4.5 transitivePeerDependencies: - encoding - '@itwin/core-markup@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-geometry@4.4.0)': + '@itwin/core-markup@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-geometry@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-frontend': 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-geometry': 4.4.0 + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-frontend': 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-geometry': 4.9.7 '@svgdotjs/svg.js': 3.0.13 - '@itwin/core-orbitgt@4.4.0': {} + '@itwin/core-orbitgt@4.9.7': {} - '@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)': + '@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 + '@itwin/core-bentley': 4.9.7 - '@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + '@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-bentley': 4.4.0 + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-bentley': 4.9.7 '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-react': 2.12.25(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-variables': 2.1.2 + '@itwin/itwinui-react': 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 - dompurify: 2.4.7 + dompurify: 2.5.7 lodash: 4.17.21 react: 18.0.0 react-autosuggest: 10.1.0(react@18.0.0) react-dom: 18.0.0(react@18.0.0) resize-observer-polyfill: 1.5.1 ts-key-enum: 2.0.12 + transitivePeerDependencies: + - '@types/react' - '@itwin/core-telemetry@4.4.0(@itwin/core-geometry@4.4.0)': + '@itwin/core-telemetry@4.9.7(@itwin/core-geometry@4.9.7)': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) transitivePeerDependencies: - '@itwin/core-geometry' - '@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))': + '@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - almost-equal: 1.1.0 + '@itwin/core-bentley': 4.9.7 + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) '@itwin/eslint-plugin@4.1.1(eslint@8.57.0)(typescript@5.0.2)': dependencies: @@ -4262,32 +4122,32 @@ snapshots: - eslint-import-resolver-webpack - supports-color - '@itwin/imodel-components-react@4.9.0(yi3ojzkskqwt5tunz6q52vykju)': + '@itwin/imodel-components-react@4.17.3(s2dspbqyehjbqv2r6eratonq5u)': dependencies: '@bentley/icons-generic': 1.0.34 - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/components-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-frontend': 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-geometry': 4.4.0 - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/components-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-frontend': 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-geometry': 4.9.7 + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-react': 2.12.25(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-variables': 2.1.2 + '@itwin/itwinui-react': 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/itwinui-variables': 3.3.0 classnames: 2.3.1 react: 18.0.0 react-dom: 18.0.0(react@18.0.0) ts-key-enum: 2.0.12 + transitivePeerDependencies: + - '@types/react' '@itwin/itwinui-icons-react@2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: react: 18.0.0 react-dom: 18.0.0(react@18.0.0) - '@itwin/itwinui-icons@1.16.0': {} - '@itwin/itwinui-illustrations-react@2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: react: 18.0.0 @@ -4298,58 +4158,62 @@ snapshots: '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@tippyjs/react': 4.2.6(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@types/react-table': 7.7.19 - classnames: 2.3.1 + classnames: 2.5.1 react: 18.0.0 react-dom: 18.0.0(react@18.0.0) react-table: 7.8.0(react@18.0.0) react-transition-group: 4.4.5(react-dom@18.0.0(react@18.0.0))(react@18.0.0) tippy.js: 6.3.7 - '@itwin/itwinui-react@3.5.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + '@itwin/itwinui-react@3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': dependencies: - '@floating-ui/react': 0.26.9(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@floating-ui/react': 0.26.27(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@swc/helpers': 0.5.15 + '@tanstack/react-virtual': 3.10.9(react-dom@18.0.0(react@18.0.0))(react@18.0.0) classnames: 2.5.1 + jotai: 2.10.2(@types/react@18.0.34)(react@18.0.0) react: 18.0.0 react-dom: 18.0.0(react@18.0.0) react-table: 7.8.0(react@18.0.0) react-transition-group: 4.4.5(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - tslib: 2.6.2 + transitivePeerDependencies: + - '@types/react' - '@itwin/itwinui-variables@2.1.2': {} + '@itwin/itwinui-variables@3.3.0': {} - '@itwin/object-storage-core@2.2.2(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)': dependencies: - '@itwin/cloud-agnostic-core': 2.2.2(inversify@6.0.2)(reflect-metadata@0.1.14) - axios: 1.6.7 + '@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-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))': + '@itwin/presentation-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/ecschema-metadata': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/ecschema-metadata': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)) - '@itwin/presentation-components@5.4.0(y7qqz2l5dxxe7qj7qebv6eh7lm)': + '@itwin/presentation-components@5.6.0(qzgnio3rtkfg3psvr2mjdz4uoe)': dependencies: - '@itwin/appui-abstract': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/components-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-react@4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-frontend': 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/core-react': 4.9.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/ecschema-metadata': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)) - '@itwin/imodel-components-react': 4.9.0(yi3ojzkskqwt5tunz6q52vykju) + '@itwin/appui-abstract': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/components-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-react@4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-frontend': 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/core-react': 4.17.3(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/ecschema-metadata': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)) + '@itwin/imodel-components-react': 4.17.3(s2dspbqyehjbqv2r6eratonq5u) '@itwin/itwinui-icons-react': 2.8.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) '@itwin/itwinui-illustrations-react': 2.1.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/itwinui-react': 3.5.0(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - '@itwin/presentation-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))) - '@itwin/presentation-frontend': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))(@itwin/presentation-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))) + '@itwin/itwinui-react': 3.15.5(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) + '@itwin/presentation-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))) + '@itwin/presentation-frontend': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))(@itwin/presentation-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))) classnames: 2.5.1 fast-deep-equal: 3.1.3 fast-sort: 3.4.0 @@ -4357,26 +4221,25 @@ snapshots: react: 18.0.0 react-dom: 18.0.0(react@18.0.0) react-error-boundary: 4.0.13(react@18.0.0) - react-select: 5.7.0(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - react-select-async-paginate: 0.7.2(react-select@5.7.0(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react@18.0.0) rxjs: 7.8.1 - transitivePeerDependencies: - - '@types/react' - '@itwin/presentation-frontend@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-frontend@4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)))(@itwin/presentation-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))))': + '@itwin/presentation-frontend@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-frontend@4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)))(@itwin/presentation-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))))': dependencies: - '@itwin/core-bentley': 4.4.0 - '@itwin/core-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0) - '@itwin/core-frontend': 4.4.0(@itwin/appui-abstract@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-geometry@4.4.0)(@itwin/core-orbitgt@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(inversify@6.0.2)(reflect-metadata@0.1.14) - '@itwin/core-quantity': 4.4.0(@itwin/core-bentley@4.4.0) - '@itwin/ecschema-metadata': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0)) - '@itwin/presentation-common': 4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-common@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-geometry@4.4.0))(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))(@itwin/ecschema-metadata@4.4.0(@itwin/core-bentley@4.4.0)(@itwin/core-quantity@4.4.0(@itwin/core-bentley@4.4.0))) + '@itwin/core-bentley': 4.9.7 + '@itwin/core-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7) + '@itwin/core-frontend': 4.9.7(@itwin/appui-abstract@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-geometry@4.9.7)(@itwin/core-orbitgt@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(inversify@6.0.2)(reflect-metadata@0.1.14) + '@itwin/core-quantity': 4.9.7(@itwin/core-bentley@4.9.7) + '@itwin/ecschema-metadata': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7)) + '@itwin/presentation-common': 4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-common@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-geometry@4.9.7))(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))(@itwin/ecschema-metadata@4.9.7(@itwin/core-bentley@4.9.7)(@itwin/core-quantity@4.9.7(@itwin/core-bentley@4.9.7))) + '@itwin/unified-selection': 0.1.0 rxjs: 7.8.1 rxjs-for-await: 1.0.0(rxjs@7.8.1) - '@itwin/webgl-compatibility@4.4.0': + '@itwin/unified-selection@0.1.0': {} + + '@itwin/webgl-compatibility@4.9.7': dependencies: - '@itwin/core-bentley': 4.4.0 + '@itwin/core-bentley': 4.9.7 '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -4424,39 +4287,40 @@ snapshots: dependencies: '@babel/runtime': 7.24.0 - '@microsoft/api-extractor-model@7.27.6(@types/node@18.18.10)': + '@microsoft/api-extractor-model@7.29.8(@types/node@18.18.10)': dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.59.7(@types/node@18.18.10) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.9.0(@types/node@18.18.10) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.36.4(@types/node@18.18.10)': + '@microsoft/api-extractor@7.47.11(@types/node@18.18.10)': dependencies: - '@microsoft/api-extractor-model': 7.27.6(@types/node@18.18.10) - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.59.7(@types/node@18.18.10) - '@rushstack/rig-package': 0.4.1 - '@rushstack/ts-command-line': 4.15.2 - colors: 1.2.5 + '@microsoft/api-extractor-model': 7.29.8(@types/node@18.18.10) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.9.0(@types/node@18.18.10) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.14.2(@types/node@18.18.10) + '@rushstack/ts-command-line': 4.23.0(@types/node@18.18.10) lodash: 4.17.21 + minimatch: 3.0.8 resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 - typescript: 5.0.4 + typescript: 5.4.2 transitivePeerDependencies: - '@types/node' - '@microsoft/tsdoc-config@0.16.2': + '@microsoft/tsdoc-config@0.17.0': dependencies: - '@microsoft/tsdoc': 0.14.2 - ajv: 6.12.6 + '@microsoft/tsdoc': 0.15.0 + ajv: 8.12.0 jju: 1.4.0 - resolve: 1.19.0 + resolve: 1.22.8 - '@microsoft/tsdoc@0.14.2': {} + '@microsoft/tsdoc@0.15.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4494,31 +4358,39 @@ snapshots: dependencies: '@babel/runtime': 7.24.0 - '@rushstack/node-core-library@3.59.7(@types/node@18.18.10)': + '@rushstack/node-core-library@5.9.0(@types/node@18.18.10)': dependencies: - colors: 1.2.5 + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.8 semver: 7.5.4 - z-schema: 5.0.5 optionalDependencies: '@types/node': 18.18.10 - '@rushstack/rig-package@0.4.1': + '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/ts-command-line@4.15.2': + '@rushstack/terminal@0.14.2(@types/node@18.18.10)': dependencies: + '@rushstack/node-core-library': 5.9.0(@types/node@18.18.10) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 18.18.10 + + '@rushstack/ts-command-line@4.23.0(@types/node@18.18.10)': + dependencies: + '@rushstack/terminal': 0.14.2(@types/node@18.18.10) '@types/argparse': 1.0.38 argparse: 1.0.10 - colors: 1.2.5 string-argv: 0.3.2 - - '@seznam/compose-react-refs@1.0.6': {} + transitivePeerDependencies: + - '@types/node' '@sinonjs/commons@2.0.0': dependencies: @@ -4542,6 +4414,18 @@ snapshots: '@svgdotjs/svg.js@3.0.13': {} + '@swc/helpers@0.5.15': + dependencies: + tslib: 2.8.1 + + '@tanstack/react-virtual@3.10.9(react-dom@18.0.0(react@18.0.0))(react@18.0.0)': + dependencies: + '@tanstack/virtual-core': 3.10.9 + react: 18.0.0 + react-dom: 18.0.0(react@18.0.0) + + '@tanstack/virtual-core@3.10.9': {} + '@testing-library/dom@9.3.3': dependencies: '@babel/code-frame': 7.23.5 @@ -4604,8 +4488,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/parse-json@4.0.2': {} - '@types/prop-types@15.7.11': {} '@types/react-dom@18.0.11': @@ -4623,10 +4505,6 @@ snapshots: dependencies: '@types/react': 18.0.34 - '@types/react-transition-group@4.4.10': - dependencies: - '@types/react': 18.0.34 - '@types/react@18.0.34': dependencies: '@types/prop-types': 15.7.11 @@ -4637,8 +4515,6 @@ snapshots: '@types/semver@7.5.8': {} - '@types/shortid@0.0.32': {} - '@types/sinon-chai@3.2.12': dependencies: '@types/chai': 4.3.5 @@ -4862,10 +4738,6 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vtaits/use-lazy-ref@0.1.0(react@18.0.0)': - dependencies: - react: 18.0.0 - '@yarnpkg/lockfile@1.1.0': {} acorn-jsx@5.3.2(acorn@8.11.3): @@ -4885,6 +4757,14 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -4899,7 +4779,12 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - almost-equal@1.1.0: {} + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 ansi-colors@4.1.1: {} @@ -5059,9 +4944,9 @@ snapshots: axe-core@4.7.0: {} - axios@1.6.7: + axios@1.7.7: dependencies: - follow-redirects: 1.15.5 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -5071,12 +4956,6 @@ snapshots: dependencies: dequal: 2.0.3 - babel-plugin-macros@3.1.0: - dependencies: - '@babel/runtime': 7.24.0 - cosmiconfig: 7.1.0 - resolve: 1.22.8 - balanced-match@1.0.2: {} balanced-match@2.0.0: {} @@ -5221,15 +5100,10 @@ snapshots: colord@2.9.3: {} - colors@1.2.5: {} - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - commander@9.5.0: - optional: true - comment-parser@1.4.1: {} commondir@1.0.1: {} @@ -5240,14 +5114,6 @@ snapshots: convert-source-map@2.0.0: {} - cosmiconfig@7.1.0: - dependencies: - '@types/parse-json': 4.0.2 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@5.0.2): dependencies: import-fresh: 3.3.0 @@ -5431,7 +5297,7 @@ snapshots: '@babel/runtime': 7.24.0 csstype: 3.1.3 - dompurify@2.4.7: {} + dompurify@2.5.7: {} dotenv@16.3.1: {} @@ -5927,8 +5793,6 @@ snapshots: find-index@0.1.1: {} - find-root@1.1.0: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -5951,7 +5815,7 @@ snapshots: flatted@3.3.1: {} - follow-redirects@1.15.5: {} + follow-redirects@1.15.9: {} for-each@0.3.3: dependencies: @@ -6058,6 +5922,15 @@ snapshots: dependencies: find-index: 0.1.1 + glob@10.4.5: + dependencies: + foreground-child: 3.2.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + glob@11.0.0: dependencies: foreground-child: 3.2.1 @@ -6165,8 +6038,6 @@ snapshots: he@1.2.0: {} - highlight-words-core@1.2.2: {} - hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -6433,6 +6304,12 @@ snapshots: reflect.getprototypeof: 1.0.5 set-function-name: 2.0.2 + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.1: dependencies: '@isaacs/cliui': 8.0.2 @@ -6441,6 +6318,11 @@ snapshots: jju@1.4.0: {} + jotai@2.10.2(@types/react@18.0.34)(react@18.0.0): + optionalDependencies: + '@types/react': 18.0.34 + react: 18.0.0 + js-base64@3.7.7: {} js-tokens@4.0.0: {} @@ -6560,8 +6442,6 @@ snapshots: lodash.get@4.4.2: {} - lodash.isequal@4.5.0: {} - lodash.merge@4.6.2: {} lodash.truncate@4.4.2: {} @@ -6581,6 +6461,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + lru-cache@10.4.3: {} + lru-cache@11.0.0: {} lru-cache@5.1.1: @@ -6619,12 +6501,8 @@ snapshots: mdn-data@2.0.30: {} - memoize-one@4.0.3: {} - memoize-one@5.2.1: {} - memoize-one@6.0.0: {} - meow@10.1.5: dependencies: '@types/minimist': 1.2.5 @@ -6642,6 +6520,8 @@ snapshots: merge2@1.4.1: {} + meshoptimizer@0.20.0: {} + micro-memoize@4.1.2: {} micromatch@4.0.5: @@ -6661,15 +6541,15 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@3.1.2: + minimatch@3.0.8: dependencies: brace-expansion: 1.1.11 - minimatch@5.0.1: + minimatch@3.1.2: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 1.1.11 - minimatch@7.4.6: + minimatch@5.0.1: dependencies: brace-expansion: 2.0.1 @@ -6695,7 +6575,7 @@ snapshots: mocha-junit-reporter@2.2.1(mocha@10.2.0): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5 md5: 2.3.0 mkdirp: 3.0.1 mocha: 10.2.0 @@ -6732,8 +6612,6 @@ snapshots: ms@2.1.3: {} - nanoid@2.1.11: {} - nanoid@3.3.3: {} nanoid@3.3.7: {} @@ -6946,6 +6824,11 @@ snapshots: path-parse@1.0.7: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + path-scurry@2.0.0: dependencies: lru-cache: 11.0.0 @@ -7072,13 +6955,6 @@ snapshots: '@babel/runtime': 7.24.0 react: 18.0.0 - react-highlight-words@0.20.0(react@18.0.0): - dependencies: - highlight-words-core: 1.2.2 - memoize-one: 4.0.3 - prop-types: 15.8.1 - react: 18.0.0 - react-is@16.13.1: {} react-is@17.0.2: {} @@ -7095,31 +6971,6 @@ snapshots: optionalDependencies: react-dom: 18.0.0(react@18.0.0) - react-select-async-paginate@0.7.2(react-select@5.7.0(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0))(react@18.0.0): - dependencies: - '@seznam/compose-react-refs': 1.0.6 - '@vtaits/use-lazy-ref': 0.1.0(react@18.0.0) - react: 18.0.0 - react-select: 5.7.0(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - sleep-promise: 9.1.0 - use-is-mounted-ref: 1.5.0(react@18.0.0) - - react-select@5.7.0(@types/react@18.0.34)(react-dom@18.0.0(react@18.0.0))(react@18.0.0): - dependencies: - '@babel/runtime': 7.24.0 - '@emotion/cache': 11.11.0 - '@emotion/react': 11.11.4(@types/react@18.0.34)(react@18.0.0) - '@floating-ui/dom': 1.6.3 - '@types/react-transition-group': 4.4.10 - memoize-one: 6.0.0 - prop-types: 15.8.1 - react: 18.0.0 - react-dom: 18.0.0(react@18.0.0) - react-transition-group: 4.4.5(react-dom@18.0.0(react@18.0.0))(react@18.0.0) - use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.34)(react@18.0.0) - transitivePeerDependencies: - - '@types/react' - react-table@7.8.0(react@18.0.0): dependencies: react: 18.0.0 @@ -7215,11 +7066,6 @@ snapshots: resolve-from@5.0.0: {} - resolve@1.19.0: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - resolve@1.22.8: dependencies: is-core-module: 2.13.1 @@ -7255,7 +7101,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 safe-array-concat@1.1.0: dependencies: @@ -7342,10 +7188,6 @@ snapshots: vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - shortid@2.2.16: - dependencies: - nanoid: 2.1.11 - side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -7375,8 +7217,6 @@ snapshots: slashes@3.0.12: {} - sleep-promise@9.1.0: {} - slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -7390,8 +7230,6 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: {} - source-map@0.6.1: {} spawn-wrap@2.0.0: @@ -7600,8 +7438,6 @@ snapshots: - supports-color - typescript - stylis@4.2.0: {} - subarg@1.0.0: dependencies: minimist: 1.2.8 @@ -7696,6 +7532,8 @@ snapshots: tslib@2.6.2: {} + tslib@2.8.1: {} + tsutils@3.21.0(typescript@5.0.2): dependencies: tslib: 1.14.1 @@ -7758,21 +7596,23 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typedoc-plugin-merge-modules@4.1.0(typedoc@0.23.28(typescript@5.0.2)): + typedoc-plugin-merge-modules@5.1.0(typedoc@0.25.13(typescript@5.3.3)): dependencies: - typedoc: 0.23.28(typescript@5.0.2) + typedoc: 0.25.13(typescript@5.3.3) - typedoc@0.23.28(typescript@5.0.2): + typedoc@0.25.13(typescript@5.3.3): dependencies: lunr: 2.3.9 marked: 4.3.0 - minimatch: 7.4.6 + minimatch: 9.0.5 shiki: 0.14.7 - typescript: 5.0.2 + typescript: 5.3.3 typescript@5.0.2: {} - typescript@5.0.4: {} + typescript@5.3.3: {} + + typescript@5.4.2: {} uc.micro@1.0.6: {} @@ -7806,16 +7646,6 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-is-mounted-ref@1.5.0(react@18.0.0): - dependencies: - react: 18.0.0 - - use-isomorphic-layout-effect@1.1.2(@types/react@18.0.34)(react@18.0.0): - dependencies: - react: 18.0.0 - optionalDependencies: - '@types/react': 18.0.34 - use-sync-external-store@1.2.0(react@18.0.0): dependencies: react: 18.0.0 @@ -7829,8 +7659,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validator@13.11.0: {} - vscode-oniguruma@1.7.0: {} vscode-textmate@8.0.0: {} @@ -7983,8 +7811,6 @@ snapshots: yallist@4.0.0: {} - yaml@1.10.2: {} - yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -8039,14 +7865,6 @@ snapshots: yocto-queue@0.1.0: {} - z-schema@5.0.5: - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - zustand@4.5.2(@types/react@18.0.34)(immer@9.0.6)(react@18.0.0): dependencies: use-sync-external-store: 1.2.0(react@18.0.0) diff --git a/packages/itwin/property-grid/src/components/FilteringPropertyGrid.tsx b/packages/itwin/property-grid/src/components/FilteringPropertyGrid.tsx index 7e6c96a23..391ad9d9e 100644 --- a/packages/itwin/property-grid/src/components/FilteringPropertyGrid.tsx +++ b/packages/itwin/property-grid/src/components/FilteringPropertyGrid.tsx @@ -9,8 +9,7 @@ import { FilteredType, FilteringPropertyDataProvider, PropertyDataChangeEvent, PropertyRecordDataFiltererBase, useDebouncedAsyncValue, VirtualizedPropertyGridWithDataProvider, } from "@itwin/components-react"; -import { FillCentered } from "@itwin/core-react"; -import { Text } from "@itwin/itwinui-react"; +import { Flex, Text } from "@itwin/itwinui-react"; import { PropertyGridManager } from "../PropertyGridManager"; import type { PropertyRecord } from "@itwin/appui-abstract"; @@ -21,7 +20,6 @@ import type { PropertyCategory, PropertyData, PropertyDataFilterResult, - VirtualizedPropertyGridWithDataProviderProps, } from "@itwin/components-react"; import type { IDisposable } from "@itwin/core-bentley"; @@ -29,7 +27,7 @@ import type { IDisposable } from "@itwin/core-bentley"; * Properties for rendering a `FilteringPropertyGrid`. * @public */ -export interface FilteringPropertyGridProps extends VirtualizedPropertyGridWithDataProviderProps { +export interface FilteringPropertyGridProps extends React.ComponentProps { /** Specifies whether child categories should be auto expanded or not. */ autoExpandChildCategories?: boolean; /** Filterer used to filter data. */ @@ -68,13 +66,13 @@ export function FilteringPropertyGrid({ filterer, dataProvider, autoExpandChildC if (!isFiltering && filterMatchesCount === 0) { return ( - + {props.highlight?.highlightedText ? PropertyGridManager.translate("filtering.no-matching-properties", { filter: props.highlight.highlightedText }) : PropertyGridManager.translate("filtering.no-non-null-values")} - + ); } diff --git a/packages/itwin/property-grid/src/components/PropertyGrid.tsx b/packages/itwin/property-grid/src/components/PropertyGrid.tsx index 3ab724293..15683b5e9 100644 --- a/packages/itwin/property-grid/src/components/PropertyGrid.tsx +++ b/packages/itwin/property-grid/src/components/PropertyGrid.tsx @@ -3,8 +3,7 @@ * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ -import { FillCentered } from "@itwin/core-react"; -import { Text } from "@itwin/itwinui-react"; +import { Flex, Text } from "@itwin/itwinui-react"; import { usePropertyDataProviderWithUnifiedSelection } from "@itwin/presentation-components"; import { useDataProvider } from "../hooks/UseDataProvider"; import { PropertyGridManager } from "../PropertyGridManager"; @@ -40,9 +39,9 @@ function UnifiedSelectionPropertyGrid(props: PropertyGridContentProps) { const dataRenderer = (dataRendererProps: FilteringPropertyGridProps) => { if (isOverLimit) { return ( - + {PropertyGridManager.translate("selection.too-many-elements-selected")} - + ); } diff --git a/packages/itwin/property-grid/src/components/PropertyGridContent.tsx b/packages/itwin/property-grid/src/components/PropertyGridContent.tsx index 764d8393d..adcbd5a1d 100644 --- a/packages/itwin/property-grid/src/components/PropertyGridContent.tsx +++ b/packages/itwin/property-grid/src/components/PropertyGridContent.tsx @@ -5,18 +5,23 @@ import "./PropertyGridContent.scss"; import classnames from "classnames"; -import { useCallback, useMemo, useState } from "react"; +import { useMemo, useState } from "react"; import { - CompositeFilterType, CompositePropertyDataFilterer, DisplayValuePropertyDataFilterer, FilteredType, LabelPropertyDataFilterer, - PropertyCategoryLabelFilterer, PropertyValueRendererManager, + CompositeFilterType, + CompositePropertyDataFilterer, + DisplayValuePropertyDataFilterer, + FilteredType, + LabelPropertyDataFilterer, + PropertyCategoryLabelFilterer, + PropertyValueRendererManager, } from "@itwin/components-react"; -import { ResizableContainerObserver } from "@itwin/core-react"; import { Text } from "@itwin/itwinui-react"; import { useActionButtons } from "../hooks/UseActionButtons"; import { useContextMenu } from "../hooks/UseContextMenu"; import { useLoadedInstanceInfo } from "../hooks/UseInstanceInfo"; import { useLatest } from "../hooks/UseLatest"; import { useNullValueSettingContext } from "../hooks/UseNullValuesSetting"; +import { useResizeObserver } from "../hooks/UseResizeObserver"; import { useTelemetryContext } from "../hooks/UseTelemetryContext"; import { FilteringPropertyGrid, NonEmptyValuesPropertyDataFilterer } from "./FilteringPropertyGrid"; import { Header } from "./Header"; @@ -103,11 +108,7 @@ export function PropertyGridContent({ const { showNullValues } = useNullValueSettingContext(); const { onFeatureUsed } = useTelemetryContext(); const filterer = useFilterer({ showNullValues, filterText }); - - const [{ width, height }, setSize] = useState({ width: 0, height: 0 }); - const handleResize = useCallback((w: number, h: number) => { - setSize({ width: w, height: h }); - }, []); + const { ref, height, width } = useResizeObserver(); const reportThrottledFiltering = useThrottled(() => onFeatureUsed("filter-properties"), 1000); @@ -144,10 +145,8 @@ export function PropertyGridContent({ setFilterText(searchText); }} /> -
- - {dataRenderer ? dataRenderer(dataRendererProps) : } - +
+ {dataRenderer ? dataRenderer(dataRendererProps) : }
{renderContextMenu()}
diff --git a/packages/itwin/property-grid/src/e2e-tests/PropertyGrid.test.ts-snapshots/property-grid-narrow-single-element-selected---context-menu-1-chromium-linux.png b/packages/itwin/property-grid/src/e2e-tests/PropertyGrid.test.ts-snapshots/property-grid-narrow-single-element-selected---context-menu-1-chromium-linux.png index bfc41b0bef4bc8a8895af7153d807dc4f451c150..0eea70f1f79b38e74bffdff8a2805b56c9ba7e01 100644 GIT binary patch literal 13133 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 bg%Vuz!*yf4W)l8B21W6qs%)8zssH~16!sSE literal 13073 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 LRTVPiuiyDksN-vr literal 16708 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 F{68J}ulWD~ diff --git a/packages/itwin/property-grid/src/hooks/UseContextMenu.tsx b/packages/itwin/property-grid/src/hooks/UseContextMenu.tsx index a597e6152..f08151570 100644 --- a/packages/itwin/property-grid/src/hooks/UseContextMenu.tsx +++ b/packages/itwin/property-grid/src/hooks/UseContextMenu.tsx @@ -3,8 +3,8 @@ * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ -import { Fragment, useState } from "react"; -import { ContextMenuItem as CoreContextMenuItem, GlobalContextMenu } from "@itwin/core-react"; +import { createContext, Fragment, useContext, useEffect, useState } from "react"; +import { DropdownMenu, MenuItem } from "@itwin/itwinui-react"; import { FavoritePropertiesScope, Presentation } from "@itwin/presentation-frontend"; import { copyToClipboard } from "../api/WebUtilities"; import { PropertyGridManager } from "../PropertyGridManager"; @@ -58,10 +58,17 @@ export interface PropertyGridContextMenuItemProps { * @public */ export function PropertyGridContextMenuItem({ id, children, title, onSelect }: PropsWithChildren) { + const { close } = useContext(contextMenuContext); + + const handleOnClick = () => { + onSelect(); + close(); + }; + return ( - + {children} - + ); } @@ -92,7 +99,16 @@ export interface FavoritePropertiesContextMenuItemProps extends DefaultContextMe */ export function AddFavoritePropertyContextMenuItem({ field, imodel, scope, onSelect }: FavoritePropertiesContextMenuItemProps) { const currentScope = scope ?? FavoritePropertiesScope.IModel; - if (!field || Presentation.favoriteProperties.has(field, imodel, currentScope)) { + const [hasFavorite, setHasFavorite] = useState(false); + + useEffect(() => { + field && + void Presentation.favoriteProperties.hasAsync(field, imodel, currentScope).then((has) => { + return setHasFavorite(!has); + }); + }, [currentScope, field, imodel]); + + if (!hasFavorite || !field) { return null; } @@ -122,7 +138,16 @@ export function AddFavoritePropertyContextMenuItem({ field, imodel, scope, onSel */ export function RemoveFavoritePropertyContextMenuItem({ field, imodel, scope, onSelect }: FavoritePropertiesContextMenuItemProps) { const currentScope = scope ?? FavoritePropertiesScope.IModel; - if (!field || !Presentation.favoriteProperties.has(field, imodel, currentScope)) { + const [hasFavorite, setHasFavorite] = useState(false); + + useEffect(() => { + field && + void Presentation.favoriteProperties.hasAsync(field, imodel, currentScope).then((has) => { + return setHasFavorite(has); + }); + }, [currentScope, field, imodel]); + + if (!hasFavorite || !field) { return null; } @@ -184,7 +209,7 @@ export interface UseContentMenuProps extends ContextMenuProps { interface ContextMenuDefinition { position: { x: number; y: number }; - menuItems: ReactNode[]; + menuItems: JSX.Element[]; } /** @@ -218,17 +243,18 @@ export function useContextMenu({ dataProvider, imodel, contextMenuItems }: UseCo const close = () => setContextMenu(undefined); return ( - - {contextMenu.menuItems} - + + !visible && close()} + > + <> + + ); }; @@ -237,3 +263,11 @@ export function useContextMenu({ dataProvider, imodel, contextMenuItems }: UseCo renderContextMenu, }; } + +interface ContextMenuContext { + close: () => void; +} + +const contextMenuContext = createContext({ + close: () => {}, +}); diff --git a/packages/itwin/property-grid/src/hooks/UseResizeObserver.ts b/packages/itwin/property-grid/src/hooks/UseResizeObserver.ts new file mode 100644 index 000000000..f1c378e92 --- /dev/null +++ b/packages/itwin/property-grid/src/hooks/UseResizeObserver.ts @@ -0,0 +1,37 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Bentley Systems, Incorporated. All rights reserved. + * See LICENSE.md in the project root for license terms and full copyright notice. + *--------------------------------------------------------------------------------------------*/ + +import { useCallback, useRef, useState } from "react"; +import { assert } from "@itwin/core-bentley"; + +/** + * @internal + */ +export function useResizeObserver() { + const observer = useRef(); + const [{ width, height }, setSize] = useState<{ width: number; height: number }>({ width: 0, height: 0 }); + + const ref = useCallback((element: T | null) => { + observer.current?.disconnect(); + if (element) { + observer.current = new ResizeObserver( + /* istanbul ignore next */ + (entries) => { + window.requestAnimationFrame(() => { + assert(entries.length === 1); + setSize(entries[0].contentRect); + }); + }, + ); + observer.current.observe(element); + } + }, []); + + return { + ref, + width, + height, + }; +} diff --git a/packages/itwin/property-grid/src/test/PropertyGridComponent.test.tsx b/packages/itwin/property-grid/src/test/PropertyGridComponent.test.tsx index 6beee9b86..fba0aacc7 100644 --- a/packages/itwin/property-grid/src/test/PropertyGridComponent.test.tsx +++ b/packages/itwin/property-grid/src/test/PropertyGridComponent.test.tsx @@ -8,9 +8,9 @@ import sinon from "sinon"; import { UiFramework } from "@itwin/appui-react"; import { BeEvent } from "@itwin/core-bentley"; import { IModelApp } from "@itwin/core-frontend"; -import { render, waitFor } from "./TestUtils"; import * as multiElementPropertyGrid from "../components/MultiElementPropertyGrid"; import { PropertyGridComponent } from "../PropertyGridComponent"; +import { render, waitFor } from "./TestUtils"; import type { IModelConnection } from "@itwin/core-frontend"; @@ -27,8 +27,11 @@ describe("PropertyGridComponent", () => { sinon.stub(IModelApp, "viewManager").get(() => ({ onSelectedViewportChanged: new BeEvent(), })); + sinon.stub(IModelApp, "toolAdmin").get(() => ({ + activeToolChanged: new BeEvent(), + })); sinon.stub(multiElementPropertyGrid, "MultiElementPropertyGrid").returns(<>MultiElementPropertyGrid); - await UiFramework.initialize(undefined); + await UiFramework.initialize(); }); after(() => { diff --git a/packages/itwin/property-grid/src/test/TestUtils.tsx b/packages/itwin/property-grid/src/test/TestUtils.tsx index 8fd4cc998..a20d46036 100644 --- a/packages/itwin/property-grid/src/test/TestUtils.tsx +++ b/packages/itwin/property-grid/src/test/TestUtils.tsx @@ -46,7 +46,7 @@ export function stubSelectionManager() { export function stubFavoriteProperties() { const favoritePropertiesStub = { onFavoritesChanged: new BeEvent<() => void>(), - has: createFunctionStub().returns(false), + hasAsync: createFunctionStub().resolves(false), add: createFunctionStub(), remove: createFunctionStub(), }; diff --git a/packages/itwin/property-grid/src/test/components/PropertyGridContent.test.tsx b/packages/itwin/property-grid/src/test/components/PropertyGridContent.test.tsx index 28fe84ffd..4f0d7493f 100644 --- a/packages/itwin/property-grid/src/test/components/PropertyGridContent.test.tsx +++ b/packages/itwin/property-grid/src/test/components/PropertyGridContent.test.tsx @@ -147,14 +147,14 @@ describe("", () => { it("filters properties according to search prompt", async () => { const imodel = {} as IModelConnection; - const { queryByText, user, getByRole, getByTitle } = renderWithContext(); + const { queryByText, user, getByRole, getByText } = renderWithContext(); await waitFor(() => { expect(queryByText("Test Prop")).to.not.be.null; expect(queryByText("Null Prop")).to.not.be.null; }); - const searchButton = await waitFor(() => getByTitle(PropertyGridManager.translate("search-bar.open"))); + const searchButton = await waitFor(() => getByText(PropertyGridManager.translate("search-bar.open"))); await user.click(searchButton); const searchTextInput = await waitFor(() => getByRole("searchbox")); @@ -178,7 +178,7 @@ describe("", () => { it("successfully clears filter", async () => { const imodel = {} as IModelConnection; - const { queryByText, user, getByRole, getByTitle } = renderWithContext( + const { queryByText, user, getByRole, getByText } = renderWithContext( ]} />, ); @@ -186,7 +186,7 @@ describe("", () => { expect(queryByText("Test Category")).to.not.be.null; }); - const searchButton = await waitFor(() => getByTitle(PropertyGridManager.translate("search-bar.open"))); + const searchButton = await waitFor(() => getByText(PropertyGridManager.translate("search-bar.open"))); await user.click(searchButton); // input text that should not match anything, thus rendering nothing @@ -198,7 +198,7 @@ describe("", () => { }); // press collapse button which should clear the filter - const collapseSearchButton = await waitFor(() => getByTitle(PropertyGridManager.translate("search-bar.close"))); + const collapseSearchButton = await waitFor(() => getByText(PropertyGridManager.translate("search-bar.close"))); await user.click(collapseSearchButton); await waitFor(() => { @@ -238,7 +238,7 @@ describe("", () => { const imodel = {} as IModelConnection; const onFeatureUsedSpy = sinon.spy(); - const { queryByText, user, getByRole, getByTitle } = renderWithContext( + const { queryByText, user, getByRole, getByText } = renderWithContext( , @@ -249,7 +249,7 @@ describe("", () => { expect(queryByText("Null Prop")).to.not.be.null; }); - const searchButton = await waitFor(() => getByTitle(PropertyGridManager.translate("search-bar.open"))); + const searchButton = await waitFor(() => getByText(PropertyGridManager.translate("search-bar.open"))); await user.click(searchButton); const searchTextInput = await waitFor(() => getByRole("searchbox")); @@ -276,7 +276,7 @@ describe("", () => { const imodel = {} as IModelConnection; const onFeatureUsedSpy = sinon.spy(); - const { queryByText, user, getByRole, getByTitle } = renderWithContext( + const { queryByText, user, getByRole, getByText } = renderWithContext( , @@ -287,7 +287,7 @@ describe("", () => { expect(queryByText("Null Prop")).to.not.be.null; }); - const searchButton = await waitFor(() => getByTitle(PropertyGridManager.translate("search-bar.open"))); + const searchButton = await waitFor(() => getByText(PropertyGridManager.translate("search-bar.open"))); await user.click(searchButton); const searchTextInput = await waitFor(() => getByRole("searchbox")); diff --git a/packages/itwin/property-grid/src/test/hooks/UseContextMenu.test.tsx b/packages/itwin/property-grid/src/test/hooks/UseContextMenu.test.tsx index a72cb6b2f..981232b18 100644 --- a/packages/itwin/property-grid/src/test/hooks/UseContextMenu.test.tsx +++ b/packages/itwin/property-grid/src/test/hooks/UseContextMenu.test.tsx @@ -197,45 +197,45 @@ describe("Default context menu items", () => { beforeEach(() => { favoritesManager.add.reset(); favoritesManager.remove.reset(); - favoritesManager.has.reset(); + favoritesManager.hasAsync.reset(); }); describe("AddFavoritePropertyContextMenuItem", () => { it("renders item with non-favorite property", () => { - favoritesManager.has.returns(false); + favoritesManager.hasAsync.resolves(false); const { queryByText } = render(); expect(queryByText("context-menu.add-favorite.label")); }); it("renders nothing if property is favorite", () => { - favoritesManager.has.returns(true); + favoritesManager.hasAsync.resolves(true); const { container } = render(); expect(container.children).to.have.lengthOf(0); }); it("calls `Presentation.favorites.add` with default scope", async () => { - favoritesManager.has.returns(false); + favoritesManager.hasAsync.resolves(false); const { getByText } = render(); - const item = getByText("context-menu.add-favorite.label"); + const item = await waitFor(() => getByText("context-menu.add-favorite.label")); await userEvents.click(item); await waitFor(() => expect(favoritesManager.add).to.be.calledOnceWith(field, imodel, FavoritePropertiesScope.IModel)); }); it("calls `Presentation.favorites.add` with specified scope", async () => { - favoritesManager.has.returns(false); + favoritesManager.hasAsync.resolves(false); const { getByText } = render(); - const item = getByText("context-menu.add-favorite.label"); + const item = await waitFor(() => getByText("context-menu.add-favorite.label")); await userEvents.click(item); await waitFor(() => expect(favoritesManager.add).to.be.calledOnceWith(field, imodel, FavoritePropertiesScope.ITwin)); }); it("calls custom `onSelect` handler", async () => { - favoritesManager.has.returns(false); + favoritesManager.hasAsync.resolves(false); const spy = sinon.spy(); const { getByText } = render(); - const item = getByText("context-menu.add-favorite.label"); + const item = await waitFor(() => getByText("context-menu.add-favorite.label")); await userEvents.click(item); expect(spy).to.be.calledOnce; @@ -243,41 +243,41 @@ describe("Default context menu items", () => { }); describe("RemoveFavoritePropertyContextMenuItem", () => { - it("renders item with favorite property", () => { - favoritesManager.has.returns(true); + it("renders item with favorite property", async () => { + favoritesManager.hasAsync.resolves(true); const { queryByText } = render(); - expect(queryByText("context-menu.remove-favorite.label")); + await waitFor(() => expect(queryByText("context-menu.remove-favorite.label"))); }); - it("renders nothing if property is not favorite", () => { - favoritesManager.has.returns(false); + it("renders nothing if property is not favorite", async () => { + favoritesManager.hasAsync.resolves(false); const { container } = render(); - expect(container.children).to.have.lengthOf(0); + await waitFor(() => expect(container.children).to.have.lengthOf(0)); }); it("calls `Presentation.favorites.remove` with default scope", async () => { - favoritesManager.has.returns(true); + favoritesManager.hasAsync.resolves(true); const { getByText } = render(); - const item = getByText("context-menu.remove-favorite.label"); + const item = await waitFor(() => getByText("context-menu.remove-favorite.label")); await userEvents.click(item); await waitFor(() => expect(favoritesManager.remove).to.be.calledOnceWith(field, imodel, FavoritePropertiesScope.IModel)); }); it("calls `Presentation.favorites.remove` with specified scope", async () => { - favoritesManager.has.returns(true); + favoritesManager.hasAsync.resolves(true); const { getByText } = render(); - const item = getByText("context-menu.remove-favorite.label"); + const item = await waitFor(() => getByText("context-menu.remove-favorite.label")); await userEvents.click(item); await waitFor(() => expect(favoritesManager.remove).to.be.calledOnceWith(field, imodel, FavoritePropertiesScope.ITwin)); }); it("calls custom `onSelect` handler", async () => { - favoritesManager.has.returns(true); + favoritesManager.hasAsync.resolves(true); const spy = sinon.spy(); const { getByText } = render(); - const item = getByText("context-menu.remove-favorite.label"); + const item = await waitFor(() => getByText("context-menu.remove-favorite.label")); await userEvents.click(item); expect(spy).to.be.calledOnce; diff --git a/packages/itwin/property-grid/src/test/setup.ts b/packages/itwin/property-grid/src/test/setup.ts index 47bbe6bc8..e9f95e201 100644 --- a/packages/itwin/property-grid/src/test/setup.ts +++ b/packages/itwin/property-grid/src/test/setup.ts @@ -8,6 +8,13 @@ import globalJsdom from "global-jsdom"; import * as jsdom from "jsdom"; import sinonChai from "sinon-chai"; +// polyfill ResizeObserver +global.ResizeObserver = class ResizeObserver { + public observe() {} + public unobserve() {} + public disconnect() {} +}; + // get rid of various xhr errors in the console globalJsdom(undefined, { virtualConsole: new jsdom.VirtualConsole().sendTo(console, { omitJSDOMErrors: true }),