diff --git a/apps/test-app/package.json b/apps/test-app/package.json
index 22856aa8af1..9854f25b4e1 100644
--- a/apps/test-app/package.json
+++ b/apps/test-app/package.json
@@ -62,7 +62,6 @@
"vite-plugin-static-copy": "catalog:"
},
"dependencies": {
- "@bentley/icons-generic": "catalog:",
"@bentley/icons-generic-webfont": "catalog:",
"@itwin/appui-abstract": "catalog:",
"@itwin/appui-react": "workspace:*",
diff --git a/apps/test-app/src/frontend/appui/icons/draw.svg b/apps/test-app/src/frontend/appui/icons/draw.svg
deleted file mode 100644
index b4566be1ab8..00000000000
--- a/apps/test-app/src/frontend/appui/icons/draw.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-app/src/frontend/appui/icons/filter-outlined.svg b/apps/test-app/src/frontend/appui/icons/filter-outlined.svg
deleted file mode 100644
index 9d1baf8551c..00000000000
--- a/apps/test-app/src/frontend/appui/icons/filter-outlined.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-app/src/frontend/appui/icons/filter.svg b/apps/test-app/src/frontend/appui/icons/filter.svg
deleted file mode 100644
index 8d6efb5bd8e..00000000000
--- a/apps/test-app/src/frontend/appui/icons/filter.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-app/src/frontend/appui/icons/rotate.svg b/apps/test-app/src/frontend/appui/icons/rotate.svg
deleted file mode 100644
index 35f2167f494..00000000000
--- a/apps/test-app/src/frontend/appui/icons/rotate.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-providers/package.json b/apps/test-providers/package.json
index f0d42fcdaea..0fa65835274 100644
--- a/apps/test-providers/package.json
+++ b/apps/test-providers/package.json
@@ -47,7 +47,6 @@
"typescript": "~5.6.3"
},
"dependencies": {
- "@bentley/icons-generic": "catalog:",
"@itwin/appui-abstract": "catalog:",
"@itwin/appui-react": "workspace:*",
"@itwin/components-react": "workspace:*",
diff --git a/apps/test-providers/public/locales/en/AppuiTestProviders.json b/apps/test-providers/public/locales/en/AppuiTestProviders.json
index 01ffdd12b80..ef978090443 100644
--- a/apps/test-providers/public/locales/en/AppuiTestProviders.json
+++ b/apps/test-providers/public/locales/en/AppuiTestProviders.json
@@ -74,15 +74,6 @@
"NewYork": "New York"
}
},
- "uiItemsProvidersTest-GenericLocateTool": {
- "keyin": "state generic tool",
- "description": "Generic Tool from Provider",
- "flyover": "Generic Tool",
- "Prompts": {
- "identifyElement": "Identify Element",
- "identifyPosition": "Identify Position"
- }
- },
"SetWidgetStateTool": {
"keyin": "widget setstate"
},
diff --git a/apps/test-providers/src/appui-test-providers.ts b/apps/test-providers/src/appui-test-providers.ts
index 5e1a7b42016..71f6206b35e 100644
--- a/apps/test-providers/src/appui-test-providers.ts
+++ b/apps/test-providers/src/appui-test-providers.ts
@@ -3,7 +3,6 @@
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
export * from "./tools/ContentLayoutTools.js";
-export * from "./tools/GenericLocateTool.js";
export * from "./tools/InspectUiItemInfoTool.js";
export * from "./tools/OpenAbstractModalDialogTool.js";
export * from "./tools/OpenCustomDialogTool.js";
diff --git a/apps/test-providers/src/tools/ContentLayoutTools.tsx b/apps/test-providers/src/tools/ContentLayoutTools.tsx
index 3d7fd9f82da..5088b3a5cf5 100644
--- a/apps/test-providers/src/tools/ContentLayoutTools.tsx
+++ b/apps/test-providers/src/tools/ContentLayoutTools.tsx
@@ -20,10 +20,13 @@ import {
useConditionalValue,
} from "@itwin/appui-react";
import { IModelConnection, ScreenViewport, Tool } from "@itwin/core-frontend";
-import { SvgWindow, SvgWindowSplitVertical } from "@itwin/itwinui-icons-react";
-
-import layoutRestoreIconSvg from "@bentley/icons-generic/icons/download.svg";
-import layoutSaveIconSvg from "@bentley/icons-generic/icons/upload.svg";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import {
+ SvgDownload,
+ SvgUpload,
+ SvgWindow,
+ SvgWindowSplitVertical,
+} from "@itwin/itwinui-icons-react";
import { ViewportContent } from "../ui/ViewportContent.js";
function getIModelSpecificKey(
@@ -64,9 +67,8 @@ export async function getSavedViewLayoutProps(
return savedViewLayoutProps;
}
-export class SaveContentLayoutTool extends Tool {
+class SaveContentLayoutToolBase extends Tool {
public static override toolId = "SaveContentLayoutTool";
- public static override iconSpec = layoutSaveIconSvg;
public static override get minArgs() {
return 0;
}
@@ -124,9 +126,13 @@ export class SaveContentLayoutTool extends Tool {
}
}
-export class RestoreSavedContentLayoutTool extends Tool {
+export const SaveContentLayoutTool = ToolUtilities.defineIcon(
+ SaveContentLayoutToolBase,
+
+);
+
+class RestoreSavedContentLayoutToolBase extends Tool {
public static override toolId = "RestoreSavedContentLayoutTool";
- public static override iconSpec = layoutRestoreIconSvg;
public static override get minArgs() {
return 0;
}
@@ -182,6 +188,11 @@ export class RestoreSavedContentLayoutTool extends Tool {
}
}
+export const RestoreSavedContentLayoutTool = ToolUtilities.defineIcon(
+ RestoreSavedContentLayoutToolBase,
+
+);
+
function SplitWindowIcon() {
const split = useConditionalValue(
() =>
diff --git a/apps/test-providers/src/tools/DynamicTool.svg b/apps/test-providers/src/tools/DynamicTool.svg
deleted file mode 100644
index 4065232587c..00000000000
--- a/apps/test-providers/src/tools/DynamicTool.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
diff --git a/apps/test-providers/src/tools/GenericLocateTool.ts b/apps/test-providers/src/tools/GenericLocateTool.ts
deleted file mode 100644
index ad029d66bfc..00000000000
--- a/apps/test-providers/src/tools/GenericLocateTool.ts
+++ /dev/null
@@ -1,177 +0,0 @@
-/*---------------------------------------------------------------------------------------------
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
- * See LICENSE.md in the project root for license terms and full copyright notice.
- *--------------------------------------------------------------------------------------------*/
-
-import {
- BeButtonEvent,
- CoordinateLockOverrides,
- EventHandled,
- HitDetail,
- IModelApp,
- LocateFilterStatus,
- LocateResponse,
- PrimitiveTool,
- SelectionMethod,
- SelectionMode,
-} from "@itwin/core-frontend";
-import { Point3d } from "@itwin/core-geometry";
-import { UiFramework } from "@itwin/appui-react";
-import { ToolbarItemUtilities } from "@itwin/appui-abstract";
-import { AppUiTestProviders } from "../AppUiTestProviders.js";
-import genericToolSvg from "./generic-tool.svg";
-
-/** Sample Primitive tool where user selects an element for processing */
-export class GenericLocateTool extends PrimitiveTool {
- public userPoint: Point3d | undefined;
- public elementId: string | undefined;
- public static override get toolId() {
- return "uiItemsProvidersTest-GenericLocateTool";
- }
- public static get toolStringKey() {
- return `tools.${GenericLocateTool.toolId}.`;
- }
- public static override iconSpec = genericToolSvg;
- public static useDefaultPosition = false;
- public override autoLockTarget(): void {} // NOTE: For selecting elements we only care about iModel, so don't lock target model automatically.
- protected wantSelectionClearOnMiss(_ev: BeButtonEvent): boolean {
- return SelectionMode.Replace === this.getSelectionMode();
- }
- protected wantPickableDecorations(): boolean {
- return false;
- } // Allow pickable decorations selection to be independent of manipulators...
- protected getSelectionMethod(): SelectionMethod {
- return SelectionMethod.Pick;
- }
- protected getSelectionMode(): SelectionMode {
- return SelectionMode.Replace;
- }
- public override requireWriteableTarget() {
- return false;
- }
- public override async filterHit(_hit: HitDetail, _out?: LocateResponse) {
- return Promise.resolve(LocateFilterStatus.Accept);
- }
-
- public static getPrompt(name: string): string {
- const key = `tools.${this.toolId}.Prompts.${name}`;
- return AppUiTestProviders.translate(key);
- }
-
- public async process(_elementId: string, _point?: Point3d) {
- // Exit the tool
- return this.exitTool();
- }
-
- public override async onDataButtonUp(
- ev: BeButtonEvent
- ): Promise {
- const hit = await IModelApp.locateManager.doLocate(
- new LocateResponse(),
- true,
- ev.point,
- ev.viewport,
- ev.inputSource
- );
- if (this.elementId === undefined) {
- if (hit !== undefined) {
- this.elementId = hit.sourceId;
- // Process right away if user wants default position
- if (GenericLocateTool.useDefaultPosition)
- await this.process(hit.sourceId);
- else this.setupAndPromptForNextAction();
- }
- } else if (!GenericLocateTool.useDefaultPosition) {
- this.userPoint = ev.point;
- if (hit !== undefined) this.userPoint = hit.hitPoint;
- // Process with the defined point
- await this.process(this.elementId, this.userPoint);
- }
-
- return EventHandled.Yes;
- }
-
- public override async onResetButtonUp(
- _ev: BeButtonEvent
- ): Promise {
- await this.onReinitialize();
- return EventHandled.No;
- }
-
- protected outputMarkupPrompt(msg: string) {
- IModelApp.notifications.outputPrompt(GenericLocateTool.getPrompt(msg));
- }
-
- public setupAndPromptForNextAction() {
- if (!this.elementId) {
- this.outputMarkupPrompt("identifyElement");
- } else if (!GenericLocateTool.useDefaultPosition) {
- this.outputMarkupPrompt("identifyPosition");
- // Enable snapping for accurate positions
- IModelApp.accuSnap.enableSnap(true);
- }
- }
-
- public override async onPostInstall() {
- await super.onPostInstall();
-
- const iModelConnection = UiFramework.getIModelConnection();
- if (!iModelConnection) return;
-
- if (iModelConnection.selectionSet.size === 1) {
- // Process and exit tool
- iModelConnection.selectionSet.elements.forEach(
- (elementId: string, _val: string, _set: Set) => {
- void this.process(elementId);
- }
- );
- await IModelApp.toolAdmin.startDefaultTool();
- } else {
- // Empty all before starting tool
- iModelConnection.selectionSet.emptyAll();
- // Show prompt for identifying the element
- this.outputMarkupPrompt("identifyElement");
-
- IModelApp.toolAdmin.setCursor("arrow");
- IModelApp.toolAdmin.setLocateCircleOn(true);
-
- IModelApp.toolAdmin.toolState.coordLockOvr = CoordinateLockOverrides.All;
- IModelApp.locateManager.initToolLocate();
- IModelApp.locateManager.options.allowDecorations = true; // Always locate to display tool tip even if we reject for adding to selection set...
-
- // Locate elements
- IModelApp.accuSnap.enableLocate(true);
- IModelApp.accuSnap.enableSnap(false);
- }
- }
-
- public async onRestartTool() {
- return this.exitTool();
- }
-
- public static async startTool(): Promise {
- return new GenericLocateTool().run();
- }
-
- public static getActionButtonDef(
- itemPriority: number,
- groupPriority?: number
- ) {
- const overrides = undefined !== groupPriority ? { groupPriority } : {};
- const iconSpec = this.iconSpec;
- return ToolbarItemUtilities.createActionButton(
- GenericLocateTool.toolId,
- itemPriority,
- iconSpec,
- GenericLocateTool.flyover,
- async () => {
- await IModelApp.tools.run(
- GenericLocateTool.toolId,
- IModelApp.viewManager.selectedView,
- true
- );
- },
- overrides
- );
- }
-}
diff --git a/apps/test-providers/src/tools/InspectUiItemInfoTool.ts b/apps/test-providers/src/tools/InspectUiItemInfoTool.tsx
similarity index 92%
rename from apps/test-providers/src/tools/InspectUiItemInfoTool.ts
rename to apps/test-providers/src/tools/InspectUiItemInfoTool.tsx
index 6f772984bd6..e7a9ba723db 100644
--- a/apps/test-providers/src/tools/InspectUiItemInfoTool.ts
+++ b/apps/test-providers/src/tools/InspectUiItemInfoTool.tsx
@@ -2,27 +2,24 @@
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
-/** @packageDocumentation
- * @module Tools
- */
+import * as React from "react";
import {
BeButtonEvent,
EventHandled,
IModelApp,
PrimitiveTool,
} from "@itwin/core-frontend";
-import inspectIconSvg from "@bentley/icons-generic/icons/search.svg";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import { SvgSearch } from "@itwin/itwinui-icons-react";
-export class InspectUiItemInfoTool extends PrimitiveTool {
+class InspectUiItemInfoToolBase extends PrimitiveTool {
private _timerId: number | undefined;
private _currentX = 0;
private _currentY = 0;
private _lastElement: HTMLElement | null = null;
- private static _counter = 0;
public static override toolId = "InspectUiItemInfoTool";
- public static override iconSpec = inspectIconSvg;
public static override get minArgs() {
return 0;
@@ -153,3 +150,8 @@ export class InspectUiItemInfoTool extends PrimitiveTool {
IModelApp.notifications.outputPrompt("click over UI item");
}
}
+
+export const InspectUiItemInfoTool = ToolUtilities.defineIcon(
+ InspectUiItemInfoToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/OpenCustomDialogTool.tsx b/apps/test-providers/src/tools/OpenCustomDialogTool.tsx
index 849dbc7d5dd..4800ea8f1ee 100644
--- a/apps/test-providers/src/tools/OpenCustomDialogTool.tsx
+++ b/apps/test-providers/src/tools/OpenCustomDialogTool.tsx
@@ -7,20 +7,20 @@
*/
import * as React from "react";
+import { UiFramework } from "@itwin/appui-react";
import { Tool } from "@itwin/core-frontend";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import { SvgRefresh } from "@itwin/itwinui-icons-react";
import { SampleModalDialog } from "../ui/dialogs/SampleModalDialog.js";
import { AppUiTestProviders } from "../AppUiTestProviders.js";
-import connectedQuerySvg from "../ui/icons/connected-query.svg";
-import { UiFramework } from "@itwin/appui-react";
/**
* Immediate tool that will open an example modal dialog.The tool is created and register to allow the user
* to activate the tool via the key-in palette using the tools keyin property (which must be unique across
* all registered tools).
*/
-export class OpenCustomDialogTool extends Tool {
+class OpenCustomDialogToolBase extends Tool {
public static override toolId = "appuiTestProviders-OpenCustomDialogTool";
- public static override iconSpec = connectedQuerySvg;
public static override get minArgs() {
return 0;
@@ -47,3 +47,8 @@ export class OpenCustomDialogTool extends Tool {
return "open custom dialog";
}
}
+
+export const OpenCustomDialogTool = ToolUtilities.defineIcon(
+ OpenCustomDialogToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/OpenPopoutDialogTool.tsx b/apps/test-providers/src/tools/OpenPopoutDialogTool.tsx
index 0b19d3c8605..25df1ca4481 100644
--- a/apps/test-providers/src/tools/OpenPopoutDialogTool.tsx
+++ b/apps/test-providers/src/tools/OpenPopoutDialogTool.tsx
@@ -8,8 +8,9 @@ import {
ConditionalBooleanValue,
ToolbarItemUtilities,
} from "@itwin/appui-abstract";
-import windowAddSvg from "@bentley/icons-generic/icons/window-add.svg";
import { ChildWindowLocationProps, UiFramework } from "@itwin/appui-react";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import { SvgWindowAdd } from "@itwin/itwinui-icons-react";
import { PopoutDialog } from "../ui/dialogs/PopoutDialog.js";
/**
@@ -17,9 +18,8 @@ import { PopoutDialog } from "../ui/dialogs/PopoutDialog.js";
* to activate the tool via the key-in palette using the tools keyin property (which must be unique across
* all registered tools).
*/
-export class OpenPopoutDialogTool extends Tool {
+class OpenPopoutDialogToolBase extends Tool {
public static override toolId = "appuiTestProviders-OpenPopoutDialogTool";
- public static override iconSpec = windowAddSvg;
public static override get minArgs() {
return 0;
@@ -82,3 +82,8 @@ export class OpenPopoutDialogTool extends Tool {
);
}
}
+
+export const OpenPopoutDialogTool = ToolUtilities.defineIcon(
+ OpenPopoutDialogToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/OpenPopoutViewTool.tsx b/apps/test-providers/src/tools/OpenPopoutViewTool.tsx
index e5523b954ec..68dfeb911ff 100644
--- a/apps/test-providers/src/tools/OpenPopoutViewTool.tsx
+++ b/apps/test-providers/src/tools/OpenPopoutViewTool.tsx
@@ -2,17 +2,17 @@
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
+import * as React from "react";
import { ToolbarItemUtilities } from "@itwin/appui-abstract";
import { ChildWindowLocationProps, UiFramework } from "@itwin/appui-react";
import { IModelApp, Tool } from "@itwin/core-frontend";
-import * as React from "react";
-import windowPopoutSvg from "@bentley/icons-generic/icons/window-new.svg";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import { SvgWindowPopout } from "@itwin/itwinui-icons-react";
import { PopupTestView } from "../ui/dialogs/PopupTestView.js";
-export class OpenPopoutViewTool extends Tool {
+class OpenPopoutViewToolBase extends Tool {
private static _counter = 0;
public static override toolId = "OpenViewPopout";
- public static override iconSpec = windowPopoutSvg;
public static get dialogId(): string {
return `appui-test-app:popup-view-dialog-${OpenPopoutViewTool._counter}`;
}
@@ -79,3 +79,8 @@ export class OpenPopoutViewTool extends Tool {
);
}
}
+
+export const OpenPopoutViewTool = ToolUtilities.defineIcon(
+ OpenPopoutViewToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/OpenSynchronizedViewTool.tsx b/apps/test-providers/src/tools/OpenSynchronizedViewTool.tsx
index 2955d908f31..2f719b41ca2 100644
--- a/apps/test-providers/src/tools/OpenSynchronizedViewTool.tsx
+++ b/apps/test-providers/src/tools/OpenSynchronizedViewTool.tsx
@@ -2,17 +2,17 @@
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
+import * as React from "react";
import { UiFramework } from "@itwin/appui-react";
import { IModelApp, Tool } from "@itwin/core-frontend";
-import * as React from "react";
-import { SynchronizedFloatingView } from "../ui/dialogs/SynchronizedFloatingViewComponent.js";
-import panoramaconSvg from "@bentley/icons-generic/icons/panorama.svg";
+import { ToolUtilities } from "@itwin/imodel-components-react";
import { Dialog } from "@itwin/itwinui-react";
+import { SvgPanorama } from "@itwin/itwinui-icons-react";
+import { SynchronizedFloatingView } from "../ui/dialogs/SynchronizedFloatingViewComponent.js";
-export class OpenSynchronizedViewTool extends Tool {
+class OpenSynchronizedViewToolBase extends Tool {
private static _counter = 0;
public static override toolId = "OpenViewDialog";
- public static override iconSpec = panoramaconSvg;
public static get dialogId(): string {
return `ui-test-app:popup-view-dialog-${OpenSynchronizedViewTool._counter}`;
}
@@ -118,3 +118,8 @@ function IModelViewDialog({
);
}
+
+export const OpenSynchronizedViewTool = ToolUtilities.defineIcon(
+ OpenSynchronizedViewToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/SampleTool.svg b/apps/test-providers/src/tools/SampleTool.svg
deleted file mode 100644
index fa15b397553..00000000000
--- a/apps/test-providers/src/tools/SampleTool.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
diff --git a/apps/test-providers/src/tools/SampleTool.tsx b/apps/test-providers/src/tools/SampleTool.tsx
index e35b2f97f57..b99c3e8dae2 100644
--- a/apps/test-providers/src/tools/SampleTool.tsx
+++ b/apps/test-providers/src/tools/SampleTool.tsx
@@ -39,8 +39,8 @@ import {
UiFramework,
} from "@itwin/appui-react";
import { AppUiTestProviders } from "../AppUiTestProviders.js";
-import sampleToolSvg from "./SampleTool.svg";
-import { SvgPlaceholder } from "@itwin/itwinui-icons-react";
+import { SvgFeedback, SvgPlaceholder } from "@itwin/itwinui-icons-react";
+import { ToolUtilities } from "@itwin/imodel-components-react";
enum ToolOptions {
Red,
@@ -51,10 +51,9 @@ enum ToolOptions {
Pink,
}
-export class SampleTool extends PrimitiveTool {
+class SampleToolBase extends PrimitiveTool {
// ensure toolId is unique by adding "uiItemsProvidersTest-" prefix
public static override toolId = "uiItemsProvidersTest-SampleTool";
- public static override iconSpec = sampleToolSvg;
public readonly points: Point3d[] = [];
private _showCoordinatesOnPointerMove = false;
private _stationFormatterSpec?: FormatterSpec;
@@ -730,3 +729,8 @@ export class SampleTool extends PrimitiveTool {
return true;
}
}
+
+export const SampleTool = ToolUtilities.defineIcon(
+ SampleToolBase,
+
+);
diff --git a/apps/test-providers/src/tools/ToolWithDynamicSettings.ts b/apps/test-providers/src/tools/ToolWithDynamicSettings.tsx
similarity index 95%
rename from apps/test-providers/src/tools/ToolWithDynamicSettings.ts
rename to apps/test-providers/src/tools/ToolWithDynamicSettings.tsx
index 2549323efb0..95f2a429b97 100644
--- a/apps/test-providers/src/tools/ToolWithDynamicSettings.ts
+++ b/apps/test-providers/src/tools/ToolWithDynamicSettings.tsx
@@ -2,7 +2,7 @@
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
-
+import * as React from "react";
import { Point3d } from "@itwin/core-geometry";
import {
BeButtonEvent,
@@ -19,7 +19,8 @@ import {
EnumerationChoice,
PropertyDescription,
} from "@itwin/appui-abstract";
-import dynamicToolSvg from "./DynamicTool.svg";
+import { ToolUtilities } from "@itwin/imodel-components-react";
+import { SvgCopy } from "@itwin/itwinui-icons-react";
import { AppUiTestProviders } from "../AppUiTestProviders.js";
interface MajorCities {
@@ -55,10 +56,9 @@ const cities: MajorCities[] = [
},
];
-export class ToolWithDynamicSettings extends PrimitiveTool {
+class ToolWithDynamicSettingsBase extends PrimitiveTool {
public static override toolId =
"uiItemsProvidersTest-ToolWithDynamicSettings";
- public static override iconSpec = dynamicToolSvg;
public points: Point3d[] = [];
private static translate(str: string) {
return AppUiTestProviders.translate(`tools.${this.toolId}.${str}`);
@@ -242,3 +242,8 @@ export class ToolWithDynamicSettings extends PrimitiveTool {
return true;
}
}
+
+export const ToolWithDynamicSettings = ToolUtilities.defineIcon(
+ ToolWithDynamicSettingsBase,
+
+);
diff --git a/apps/test-providers/src/tools/generic-tool.svg b/apps/test-providers/src/tools/generic-tool.svg
deleted file mode 100644
index 7f6289cf5ce..00000000000
--- a/apps/test-providers/src/tools/generic-tool.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-providers/src/ui/icons/connected-query.svg b/apps/test-providers/src/ui/icons/connected-query.svg
deleted file mode 100644
index 4e36856b2cf..00000000000
--- a/apps/test-providers/src/ui/icons/connected-query.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-providers/src/ui/icons/visibility-semi-transparent.svg b/apps/test-providers/src/ui/icons/visibility-semi-transparent.svg
deleted file mode 100644
index c886fd8f295..00000000000
--- a/apps/test-providers/src/ui/icons/visibility-semi-transparent.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/test-providers/src/ui/providers/CustomContentStageUiProvider.tsx b/apps/test-providers/src/ui/providers/CustomContentStageUiProvider.tsx
index 2ee4f7f1172..0450f14606a 100644
--- a/apps/test-providers/src/ui/providers/CustomContentStageUiProvider.tsx
+++ b/apps/test-providers/src/ui/providers/CustomContentStageUiProvider.tsx
@@ -28,11 +28,11 @@ import {
import { AppUiTestProviders } from "../../AppUiTestProviders.js";
import { OpenCustomDialogTool } from "../../tools/OpenCustomDialogTool.js";
import { SampleModelessDialog } from "../dialogs/SampleModelessDialog.js";
-import visibilitySemiTransparentSvg from "../icons/visibility-semi-transparent.svg";
import { SelectedElementDataWidgetComponent } from "../widgets/SelectedElementDataWidget.js";
import {
SvgActivity,
SvgFlag,
+ SvgVisibilityShow,
SvgWindow,
SvgWindowAdd,
} from "@itwin/itwinui-icons-react";
@@ -56,7 +56,7 @@ export class CustomContentStageUiProvider implements UiItemsProvider {
const customActionButton = ToolbarItemUtilities.createActionItem(
"custom-action-button",
-1,
- visibilitySemiTransparentSvg,
+ ,
"Custom Action Button",
() => {
IModelApp.notifications.outputMessage(
diff --git a/docs/storybook/package.json b/docs/storybook/package.json
index 7573a1942b1..d054e826c95 100644
--- a/docs/storybook/package.json
+++ b/docs/storybook/package.json
@@ -14,7 +14,6 @@
"docs": "betools extract --fileExt=ts,tsx --extractFrom=./src --recursive --out=../../generated-docs/extract"
},
"dependencies": {
- "@bentley/icons-generic": "catalog:",
"@bentley/icons-generic-webfont": "catalog:",
"@itwin/appui-abstract": "catalog:",
"@itwin/appui-react": "workspace:*",
diff --git a/docs/storybook/src/components/ToolbarComposer.stories.tsx b/docs/storybook/src/components/ToolbarComposer.stories.tsx
index 5189af8d797..ac125f1fbce 100644
--- a/docs/storybook/src/components/ToolbarComposer.stories.tsx
+++ b/docs/storybook/src/components/ToolbarComposer.stories.tsx
@@ -32,7 +32,7 @@ import {
SvgPlaceholder,
SvgRemove,
} from "@itwin/itwinui-icons-react";
-import placeholderIcon from "@bentley/icons-generic/icons/placeholder.svg";
+import placeholderIcon from "../../assets/placeholder.svg";
import { AppUiDecorator, InitializerDecorator } from "../Decorators";
import { withResizer } from "../../.storybook/addons/Resizer";
import { createBumpEvent } from "../createBumpEvent";
diff --git a/e2e-tests/tests/toolbar/toolbar-composer.test.ts-snapshots/toolbar-composer-test-1-chromium-linux.png b/e2e-tests/tests/toolbar/toolbar-composer.test.ts-snapshots/toolbar-composer-test-1-chromium-linux.png
index 3996cf73c4b..868eca05aa0 100644
Binary files a/e2e-tests/tests/toolbar/toolbar-composer.test.ts-snapshots/toolbar-composer-test-1-chromium-linux.png and b/e2e-tests/tests/toolbar/toolbar-composer.test.ts-snapshots/toolbar-composer-test-1-chromium-linux.png differ
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7511b1a0291..1c265efb737 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,9 +6,6 @@ settings:
catalogs:
default:
- '@bentley/icons-generic':
- specifier: ^1.0.34
- version: 1.0.34
'@bentley/icons-generic-webfont':
specifier: ^1.0.34
version: 1.0.34
@@ -176,9 +173,6 @@ importers:
apps/test-app:
dependencies:
- '@bentley/icons-generic':
- specifier: 'catalog:'
- version: 1.0.34
'@bentley/icons-generic-webfont':
specifier: 'catalog:'
version: 1.0.34
@@ -399,9 +393,6 @@ importers:
apps/test-providers:
dependencies:
- '@bentley/icons-generic':
- specifier: 'catalog:'
- version: 1.0.34
'@itwin/appui-abstract':
specifier: 'catalog:'
version: 5.8.1(@itwin/core-bentley@5.8.1)
@@ -496,9 +487,6 @@ importers:
docs/storybook:
dependencies:
- '@bentley/icons-generic':
- specifier: 'catalog:'
- version: 1.0.34
'@bentley/icons-generic-webfont':
specifier: 'catalog:'
version: 1.0.34
@@ -1913,9 +1901,6 @@ packages:
'@bentley/icons-generic-webfont@1.0.34':
resolution: {integrity: sha512-5zZgs+himE2vjf39CVlDXMHCFAwSfcoORqJBk3Vji8QVCF8AIX4IX2DO6HlsIAM7szxMNqhz1kd07Xfppro6MA==}
- '@bentley/icons-generic@1.0.34':
- resolution: {integrity: sha512-IIs1wDcY2oZ8tJ3EZRw0U51M+0ZL3MvwoDYYmhUXaa9/UZqpFoOyLBGaxjirQteWXqTIMm3mFvmC+Nbn1ok4Iw==}
-
'@bentley/imodeljs-native@5.8.27':
resolution: {integrity: sha512-sGNvkjCxspiBWJBFH9/cF23BvrZ1p1zXwjTlXzgpgdOzVM8ZWA2WFIZUo4g6MJOX5OWAD1MNgz5OP3SHC2TINQ==}
@@ -9410,8 +9395,6 @@ snapshots:
'@bentley/icons-generic-webfont@1.0.34': {}
- '@bentley/icons-generic@1.0.34': {}
-
'@bentley/imodeljs-native@5.8.27': {}
'@changesets/apply-release-plan@7.1.1':
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 0276d05e756..b7a6e02162b 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -6,7 +6,6 @@ packages:
- docs/storybook
catalog:
- '@bentley/icons-generic': ^1.0.34
'@bentley/icons-generic-webfont': ^1.0.34
'@itwin/appui-abstract': ^5.8.1
'@itwin/build-tools': ^5.8.1