From eee4175e4d7a678ea344846a6bfb55eb1fd63466 Mon Sep 17 00:00:00 2001
From: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
Date: Mon, 7 Oct 2024 08:08:32 +1000
Subject: [PATCH] Revert "fix(ui): Apple Pencil requires onPointerUp instead of
onClick"
This reverts commit 2a90f4f59e25c8cc824a5916a2dc5df1e2b301c5.
---
.../app/components/AppErrorBoundaryFallback.tsx | 4 ++--
.../components/ColorPicker/RgbColorPicker.tsx | 4 ++--
.../components/ColorPicker/RgbaColorPicker.tsx | 4 ++--
.../web/src/common/components/IAIDndImage.tsx | 6 +++---
.../web/src/common/components/IAIDndImageIcon.tsx | 8 ++++----
.../InformationalPopover/InformationalPopover.tsx | 8 ++++----
.../components/CanvasAddEntityButtons.tsx | 12 ++++++------
.../CanvasAlerts/CanvasAlertsSendingTo.tsx | 8 ++++----
.../CanvasContextMenuGlobalMenuItems.tsx | 12 ++++++------
.../CanvasContextMenuItemsCropCanvasToBbox.tsx | 2 +-
.../EntityListGlobalActionBarAddLayerMenu.tsx | 12 ++++++------
...yListSelectedEntityActionBarDuplicateButton.tsx | 4 ++--
...tityListSelectedEntityActionBarFilterButton.tsx | 2 +-
...stSelectedEntityActionBarSaveToAssetsButton.tsx | 4 ++--
...yListSelectedEntityActionBarTransformButton.tsx | 2 +-
.../controlLayers/components/CanvasRightPanel.tsx | 4 ++--
.../ControlLayer/ControlLayerControlAdapter.tsx | 4 ++--
...ControlLayerMenuItemsConvertControlToRaster.tsx | 2 +-
.../ControlLayerMenuItemsTransparencyEffect.tsx | 2 +-
.../controlLayers/components/Filters/Filter.tsx | 8 ++++----
.../components/IPAdapter/IPAdapterImagePreview.tsx | 2 +-
.../components/IPAdapter/IPAdapterSettings.tsx | 2 +-
.../RasterLayerMenuItemsConvertRasterToControl.tsx | 4 ++--
.../RegionalGuidanceAddPromptsIPAdapterButtons.tsx | 6 +++---
.../RegionalGuidanceDeletePromptButton.tsx | 2 +-
.../RegionalGuidanceIPAdapterSettings.tsx | 4 ++--
...onalGuidanceMenuItemsAddPromptsAndIPAdapter.tsx | 2 +-
.../RegionalGuidanceMenuItemsAutoNegative.tsx | 4 ++--
.../Settings/CanvasSettingsClearCachesButton.tsx | 2 +-
.../Settings/CanvasSettingsClearHistoryButton.tsx | 4 ++--
.../Settings/CanvasSettingsLogDebugInfo.tsx | 4 ++--
.../CanvasSettingsRecalculateRectsButton.tsx | 4 ++--
.../StagingArea/StagingAreaToolbarAcceptButton.tsx | 2 +-
.../StagingAreaToolbarDiscardAllButton.tsx | 2 +-
.../StagingAreaToolbarDiscardSelectedButton.tsx | 2 +-
.../StagingArea/StagingAreaToolbarNextButton.tsx | 2 +-
.../StagingArea/StagingAreaToolbarPrevButton.tsx | 2 +-
...agingAreaToolbarSaveSelectedToGalleryButton.tsx | 2 +-
.../StagingAreaToolbarToggleShowResultsButton.tsx | 2 +-
.../components/Tool/ToolBboxButton.tsx | 2 +-
.../components/Tool/ToolBrushButton.tsx | 2 +-
.../components/Tool/ToolColorPickerButton.tsx | 2 +-
.../components/Tool/ToolEraserButton.tsx | 2 +-
.../components/Tool/ToolMoveButton.tsx | 2 +-
.../components/Tool/ToolRectButton.tsx | 2 +-
.../components/Tool/ToolViewButton.tsx | 2 +-
.../Toolbar/CanvasToolbarFitBboxToLayersButton.tsx | 4 ++--
.../components/Toolbar/CanvasToolbarRedoButton.tsx | 4 ++--
.../Toolbar/CanvasToolbarResetCanvasButton.tsx | 4 ++--
.../Toolbar/CanvasToolbarResetViewButton.tsx | 2 +-
.../Toolbar/CanvasToolbarSaveToGalleryButton.tsx | 2 +-
.../components/Toolbar/CanvasToolbarScale.tsx | 8 ++++----
.../components/Toolbar/CanvasToolbarUndoButton.tsx | 4 ++--
.../components/Transform/Transform.tsx | 8 ++++----
.../common/CanvasEntityAddOfTypeButton.tsx | 4 ++--
.../components/common/CanvasEntityContainer.tsx | 4 ++--
.../components/common/CanvasEntityDeleteButton.tsx | 4 ++--
.../common/CanvasEntityEnabledToggle.tsx | 4 ++--
.../components/common/CanvasEntityGroupList.tsx | 2 +-
...anvasEntityIsBookmarkedForQuickSwitchToggle.tsx | 4 ++--
.../common/CanvasEntityIsLockedToggle.tsx | 4 ++--
.../common/CanvasEntityMenuItemsArrange.tsx | 8 ++++----
.../CanvasEntityMenuItemsCopyToClipboard.tsx | 4 ++--
.../common/CanvasEntityMenuItemsCropToBbox.tsx | 4 ++--
.../common/CanvasEntityMenuItemsDelete.tsx | 2 +-
.../common/CanvasEntityMenuItemsDuplicate.tsx | 4 ++--
.../common/CanvasEntityMenuItemsFilter.tsx | 2 +-
.../common/CanvasEntityMenuItemsSave.tsx | 4 ++--
.../common/CanvasEntityMenuItemsTransform.tsx | 2 +-
.../common/CanvasEntityMergeVisibleButton.tsx | 4 ++--
.../common/CanvasEntityTypeIsHiddenToggle.tsx | 4 ++--
.../components/DeleteImageButton.tsx | 6 +++---
.../components/ShowDynamicPromptsPreviewButton.tsx | 2 +-
.../gallery/components/Boards/BoardContextMenu.tsx | 10 +++++-----
.../Boards/BoardsList/AddBoardButton.tsx | 2 +-
.../components/Boards/BoardsList/BoardsList.tsx | 2 +-
.../components/Boards/BoardsList/BoardsSearch.tsx | 2 +-
.../components/Boards/BoardsList/GalleryBoard.tsx | 4 ++--
.../components/Boards/BoardsList/NoBoardBoard.tsx | 2 +-
.../gallery/components/Boards/DeleteBoardModal.tsx | 6 +++---
.../components/Boards/NoBoardBoardContextMenu.tsx | 4 ++--
.../src/features/gallery/components/Gallery.tsx | 6 +++---
.../gallery/components/GalleryPanelContent.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemChangeBoard.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemCopy.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemDelete.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemDownload.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemLoadWorkflow.tsx | 4 ++--
.../ImageMenuItemMetadataRecallActions.tsx | 10 +++++-----
.../ImageMenuItemNewCanvasFromImage.tsx | 2 +-
.../ImageMenuItemNewLayerFromImage.tsx | 2 +-
.../ImageContextMenu/ImageMenuItemOpenInNewTab.tsx | 4 ++--
.../ImageContextMenu/ImageMenuItemOpenInViewer.tsx | 4 ++--
.../ImageMenuItemSelectForCompare.tsx | 4 ++--
.../ImageMenuItemSendToUpscale.tsx | 2 +-
.../ImageContextMenu/ImageMenuItemStarUnstar.tsx | 4 ++--
.../MultipleSelectionMenuItems.tsx | 13 +++++--------
.../gallery/components/ImageGrid/GalleryImage.tsx | 12 ++++++------
.../components/ImageGrid/GalleryPagination.tsx | 14 +++++---------
.../gallery/components/ImageGrid/GallerySearch.tsx | 2 +-
.../ImageGrid/GallerySelectionCountTag.tsx | 2 +-
.../gallery/components/ImageGrid/JumpTo.tsx | 10 +++++-----
.../components/ImageMetadataViewer/DataViewer.tsx | 6 +++---
.../components/ImageViewer/CompareToolbar.tsx | 12 ++++++------
.../components/ImageViewer/CurrentImageButtons.tsx | 14 +++++++-------
.../ImageViewer/ToggleMetadataViewerButton.tsx | 2 +-
.../ImageViewer/ToggleProgressButton.tsx | 4 ++--
.../gallery/components/NextPrevImageButtons.tsx | 8 ++++----
.../web/src/features/lora/components/LoRACard.tsx | 2 +-
.../metadata/components/MetadataItemView.tsx | 2 +-
.../modelManagerV2/hooks/useStarterModelsToast.tsx | 4 ++--
.../HuggingFaceFolder/HuggingFaceForm.tsx | 2 +-
.../HuggingFaceFolder/HuggingFaceResultItem.tsx | 4 ++--
.../HuggingFaceFolder/HuggingFaceResults.tsx | 6 +++---
.../subpanels/AddModelPanel/InstallModelForm.tsx | 2 +-
.../ModelInstallQueue/ModelInstallQueue.tsx | 2 +-
.../ModelInstallQueue/ModelInstallQueueItem.tsx | 2 +-
.../AddModelPanel/ScanFolder/ScanFolderForm.tsx | 2 +-
.../ScanFolder/ScanFolderResultItem.tsx | 7 +------
.../AddModelPanel/ScanFolder/ScanFolderResults.tsx | 4 ++--
.../StarterModels/StartModelsResultItem.tsx | 9 ++-------
.../StarterModels/StarterModelsResults.tsx | 2 +-
.../modelManagerV2/subpanels/InstallModels.tsx | 4 ++--
.../modelManagerV2/subpanels/ModelManager.tsx | 2 +-
.../subpanels/ModelManagerPanel/ModelListItem.tsx | 6 +++---
.../ModelManagerPanel/ModelListNavigation.tsx | 2 +-
.../ModelManagerPanel/ModelTypeFilter.tsx | 4 ++--
.../ControlNetOrT2IAdapterDefaultSettings.tsx | 2 +-
.../ModelPanel/Fields/ModelImageUpload.tsx | 2 +-
.../MainModelDefaultSettings.tsx | 2 +-
.../subpanels/ModelPanel/ModelConvertButton.tsx | 2 +-
.../subpanels/ModelPanel/ModelEdit.tsx | 4 ++--
.../subpanels/ModelPanel/ModelEditButton.tsx | 8 +-------
.../subpanels/ModelPanel/TriggerPhrases.tsx | 4 ++--
.../nodes/Invocation/fields/EditableFieldTitle.tsx | 12 ++++++------
.../Invocation/fields/FieldLinearViewToggle.tsx | 4 ++--
.../nodes/Invocation/fields/LinearViewField.tsx | 4 ++--
.../fields/inputs/ImageFieldInputComponent.tsx | 2 +-
.../flow/nodes/common/NodeCollapseButton.tsx | 2 +-
.../components/flow/nodes/common/NodeTitle.tsx | 10 +++++-----
.../components/flow/nodes/common/NodeWrapper.tsx | 2 +-
.../panels/BottomLeftPanel/ViewportControls.tsx | 10 +++++-----
.../flow/panels/TopPanel/AddNodeButton.tsx | 2 +-
.../flow/panels/TopPanel/ClearFlowButton.tsx | 4 ++--
.../flow/panels/TopPanel/SaveWorkflowButton.tsx | 2 +-
.../flow/panels/TopPanel/UpdateNodesButton.tsx | 2 +-
.../panels/TopRightPanel/ReloadSchemaButton.tsx | 2 +-
.../nodes/components/sidePanel/ModeToggle.tsx | 8 ++++----
.../components/sidePanel/viewMode/EmptyState.tsx | 4 ++--
.../sidePanel/viewMode/WorkflowField.tsx | 2 +-
.../components/Bbox/BboxLockAspectRatioButton.tsx | 4 ++--
.../components/Bbox/BboxSetOptimalSizeButton.tsx | 4 ++--
.../components/Bbox/BboxSwapDimensionsButton.tsx | 4 ++--
.../MainModel/NavigateToModelManagerButton.tsx | 2 +-
.../MainModel/UseDefaultSettingsButton.tsx | 2 +-
.../PostProcessing/PostProcessingPopover.tsx | 10 +++-------
.../components/Prompts/ViewModePrompt.tsx | 2 +-
.../components/Seed/ParamSeedShuffle.tsx | 2 +-
.../src/features/prompt/AddPromptTriggerButton.tsx | 2 +-
.../components/ClearInvocationCacheButton.tsx | 2 +-
.../features/queue/components/ClearQueueButton.tsx | 2 +-
.../queue/components/ClearQueueIconButton.tsx | 2 +-
.../queue/components/InvokeQueueBackButton.tsx | 2 +-
.../queue/components/PauseProcessorButton.tsx | 2 +-
.../features/queue/components/PruneQueueButton.tsx | 2 +-
.../queue/components/QueueActionsMenuButton.tsx | 14 +++++++-------
.../components/QueueList/QueueItemComponent.tsx | 4 ++--
.../queue/components/QueueList/QueueItemDetail.tsx | 4 ++--
.../queue/components/ResumeProcessorButton.tsx | 2 +-
.../src/features/queue/components/SendToToggle.tsx | 4 ++--
.../components/ToggleInvocationCacheButton.tsx | 4 ++--
.../queue/components/common/QueueButton.tsx | 8 ++++----
.../components/SDXLPrompts/SDXLConcatButton.tsx | 2 +-
.../SDXLRefiner/ParamSDXLRefinerModelSelect.tsx | 2 +-
.../UpscaleInitialImage.tsx | 2 +-
.../UpscaleSettingsAccordion/UpscaleWarning.tsx | 2 +-
.../stylePresets/components/ActiveStylePreset.tsx | 6 +++---
.../components/StylePresetCreateButton.tsx | 2 +-
.../components/StylePresetExportButton.tsx | 2 +-
.../components/StylePresetForm/StylePresetForm.tsx | 2 +-
.../StylePresetForm/StylePresetImageField.tsx | 2 +-
.../StylePresetForm/StylePresetPromptField.tsx | 2 +-
.../stylePresets/components/StylePresetList.tsx | 2 +-
.../components/StylePresetListItem.tsx | 8 ++++----
.../components/StylePresetMenuTrigger.tsx | 2 +-
.../stylePresets/components/StylePresetSearch.tsx | 2 +-
.../system/components/AboutModal/AboutModal.tsx | 4 ++--
.../components/HotkeysModal/HotkeysModal.tsx | 4 ++--
.../SettingsDeveloperLogNamespaces.tsx | 4 ++--
.../components/SettingsModal/SettingsModal.tsx | 6 +++---
.../src/features/toast/ErrorToastDescription.tsx | 2 +-
.../ui/components/FloatingGalleryButton.tsx | 2 +-
.../components/FloatingParametersPanelButtons.tsx | 8 ++++----
.../web/src/features/ui/components/TabButton.tsx | 4 ++--
.../LoadWorkflowFromGraphModal.tsx | 4 ++--
.../components/NewWorkflowButton.tsx | 4 ++--
.../NewWorkflowConfirmationAlertDialog.tsx | 6 +++---
.../SaveWorkflowAsDialog/SaveWorkflowAsDialog.tsx | 9 ++-------
.../components/WorkflowLibraryButton.tsx | 2 +-
.../components/WorkflowLibraryList.tsx | 4 ++--
.../components/WorkflowLibraryListItem.tsx | 4 ++--
.../DownloadWorkflowMenuItem.tsx | 2 +-
.../LoadWorkflowFromGraphMenuItem.tsx | 2 +-
.../WorkflowLibraryMenu/NewWorkflowMenuItem.tsx | 4 ++--
.../WorkflowLibraryMenu/SaveWorkflowAsMenuItem.tsx | 2 +-
.../WorkflowLibraryMenu/SaveWorkflowMenuItem.tsx | 2 +-
.../WorkflowLibraryMenu/SettingsMenuItem.tsx | 2 +-
.../components/WorkflowLibraryPagination.tsx | 10 +++++-----
208 files changed, 413 insertions(+), 445 deletions(-)
diff --git a/invokeai/frontend/web/src/app/components/AppErrorBoundaryFallback.tsx b/invokeai/frontend/web/src/app/components/AppErrorBoundaryFallback.tsx
index 3ec5e364d3..b20a8148e2 100644
--- a/invokeai/frontend/web/src/app/components/AppErrorBoundaryFallback.tsx
+++ b/invokeai/frontend/web/src/app/components/AppErrorBoundaryFallback.tsx
@@ -65,10 +65,10 @@ const AppErrorBoundaryFallback = ({ error, resetErrorBoundary }: Props) => {
- } onPointerUp={resetErrorBoundary}>
+ } onClick={resetErrorBoundary}>
{t('accessibility.resetUI')}
- } onPointerUp={handleCopy}>
+ } onClick={handleCopy}>
{t('common.copyError')}
diff --git a/invokeai/frontend/web/src/common/components/ColorPicker/RgbColorPicker.tsx b/invokeai/frontend/web/src/common/components/ColorPicker/RgbColorPicker.tsx
index dd8d86462d..1361039b75 100644
--- a/invokeai/frontend/web/src/common/components/ColorPicker/RgbColorPicker.tsx
+++ b/invokeai/frontend/web/src/common/components/ColorPicker/RgbColorPicker.tsx
@@ -98,8 +98,8 @@ const RgbColorPicker = (props: Props) => {
export default memo(RgbColorPicker);
const ColorSwatch = ({ color, onChange }: { color: RgbColor; onChange: (color: RgbColor) => void }) => {
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
onChange(color);
}, [color, onChange]);
- return ;
+ return ;
};
diff --git a/invokeai/frontend/web/src/common/components/ColorPicker/RgbaColorPicker.tsx b/invokeai/frontend/web/src/common/components/ColorPicker/RgbaColorPicker.tsx
index a83831f5a9..fb3b1da2a0 100644
--- a/invokeai/frontend/web/src/common/components/ColorPicker/RgbaColorPicker.tsx
+++ b/invokeai/frontend/web/src/common/components/ColorPicker/RgbaColorPicker.tsx
@@ -109,8 +109,8 @@ const RgbaColorPicker = (props: Props) => {
export default memo(RgbaColorPicker);
const ColorSwatch = ({ color, onChange }: { color: RgbaColor; onChange: (color: RgbaColor) => void }) => {
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
onChange(color);
}, [color, onChange]);
- return ;
+ return ;
};
diff --git a/invokeai/frontend/web/src/common/components/IAIDndImage.tsx b/invokeai/frontend/web/src/common/components/IAIDndImage.tsx
index 6522a6b9a5..f4b85736c5 100644
--- a/invokeai/frontend/web/src/common/components/IAIDndImage.tsx
+++ b/invokeai/frontend/web/src/common/components/IAIDndImage.tsx
@@ -55,7 +55,7 @@ type IAIDndImageProps = FlexProps & {
imageDTO: ImageDTO | undefined;
onError?: (event: SyntheticEvent) => void;
onLoad?: (event: SyntheticEvent) => void;
- onPointerUp?: (event: MouseEvent) => void;
+ onClick?: (event: MouseEvent) => void;
withMetadataOverlay?: boolean;
isDragDisabled?: boolean;
isDropDisabled?: boolean;
@@ -82,7 +82,7 @@ const IAIDndImage = (props: IAIDndImageProps) => {
const {
imageDTO,
onError,
- onPointerUp,
+ onClick,
withMetadataOverlay = false,
isDropDisabled = false,
isDragDisabled = false,
@@ -228,7 +228,7 @@ const IAIDndImage = (props: IAIDndImageProps) => {
)}
diff --git a/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx b/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx
index 42814fc904..8c24c2be55 100644
--- a/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx
+++ b/invokeai/frontend/web/src/common/components/IAIDndImageIcon.tsx
@@ -16,17 +16,17 @@ const sx: SystemStyleObject = {
},
};
-type Props = Omit & {
- onPointerUp: (event: MouseEvent) => void;
+type Props = Omit & {
+ onClick: (event: MouseEvent) => void;
tooltip: string;
};
const IAIDndImageIcon = (props: Props) => {
- const { onPointerUp, tooltip, icon, ...rest } = props;
+ const { onClick, tooltip, icon, ...rest } = props;
return (
{
[feature, t]
);
- const onPointerUpLearnMore = useCallback(() => {
+ const onClickLearnMore = useCallback(() => {
if (!data?.href) {
return;
}
window.open(data.href);
}, [data?.href]);
- const onPointerUpDontShowMeThese = useCallback(() => {
+ const onClickDontShowMeThese = useCallback(() => {
dispatch(setShouldEnableInformationalPopovers(false));
toast({
title: t('settings.informationalPopoversDisabled'),
@@ -135,13 +135,13 @@ const Content = ({ data, feature, hideDisable }: ContentProps) => {
{!hideDisable && (
-
)}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
index 7cccf3433a..861ff3636f 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAddEntityButtons.tsx
@@ -33,7 +33,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addGlobalReferenceImage}
+ onClick={addGlobalReferenceImage}
isDisabled={isFLUX}
>
{t('controlLayers.globalReferenceImage')}
@@ -46,7 +46,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addInpaintMask}
+ onClick={addInpaintMask}
>
{t('controlLayers.inpaintMask')}
@@ -55,7 +55,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addRegionalGuidance}
+ onClick={addRegionalGuidance}
isDisabled={isFLUX}
>
{t('controlLayers.regionalGuidance')}
@@ -65,7 +65,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addRegionalReferenceImage}
+ onClick={addRegionalReferenceImage}
isDisabled={isFLUX}
>
{t('controlLayers.regionalReferenceImage')}
@@ -79,7 +79,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addControlLayer}
+ onClick={addControlLayer}
isDisabled={isFLUX}
>
{t('controlLayers.controlLayer')}
@@ -89,7 +89,7 @@ export const CanvasAddEntityButtons = memo(() => {
variant="ghost"
justifyContent="flex-start"
leftIcon={}
- onPointerUp={addRasterLayer}
+ onClick={addRasterLayer}
>
{t('controlLayers.rasterLayer')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAlerts/CanvasAlertsSendingTo.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAlerts/CanvasAlertsSendingTo.tsx
index 7291e8f847..67df7ee3a1 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasAlerts/CanvasAlertsSendingTo.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasAlerts/CanvasAlertsSendingTo.tsx
@@ -17,12 +17,12 @@ import { Trans, useTranslation } from 'react-i18next';
const ActivateImageViewerButton = (props: PropsWithChildren) => {
const imageViewer = useImageViewer();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
imageViewer.open();
selectCanvasRightPanelGalleryTab();
}, [imageViewer]);
return (
-
+
{props.children}
);
@@ -58,13 +58,13 @@ export const CanvasAlertsSendingToGallery = () => {
const ActivateCanvasButton = (props: PropsWithChildren) => {
const dispatch = useAppDispatch();
const imageViewer = useImageViewer();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(setActiveTab('canvas'));
selectCanvasRightPanelLayersTab();
imageViewer.close();
}, [dispatch, imageViewer]);
return (
-
+
{props.children}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuGlobalMenuItems.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuGlobalMenuItems.tsx
index 1280b886f2..c66257320c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuGlobalMenuItems.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuGlobalMenuItems.tsx
@@ -30,24 +30,24 @@ export const CanvasContextMenuGlobalMenuItems = memo(() => {
- } isDisabled={isBusy} onPointerUp={saveCanvasToGallery}>
+ } isDisabled={isBusy} onClick={saveCanvasToGallery}>
{t('controlLayers.canvasContextMenu.saveCanvasToGallery')}
- } isDisabled={isBusy} onPointerUp={saveBboxToGallery}>
+ } isDisabled={isBusy} onClick={saveBboxToGallery}>
{t('controlLayers.canvasContextMenu.saveBboxToGallery')}
- } isDisabled={isBusy} onPointerUp={newGlobalReferenceImageFromBbox}>
+ } isDisabled={isBusy} onClick={newGlobalReferenceImageFromBbox}>
{t('controlLayers.canvasContextMenu.newGlobalReferenceImage')}
- } isDisabled={isBusy} onPointerUp={newRegionalReferenceImageFromBbox}>
+ } isDisabled={isBusy} onClick={newRegionalReferenceImageFromBbox}>
{t('controlLayers.canvasContextMenu.newRegionalReferenceImage')}
- } isDisabled={isBusy} onPointerUp={newControlLayerFromBbox}>
+ } isDisabled={isBusy} onClick={newControlLayerFromBbox}>
{t('controlLayers.canvasContextMenu.newControlLayer')}
- } isDisabled={isBusy} onPointerUp={newRasterLayerFromBbox}>
+ } isDisabled={isBusy} onClick={newRasterLayerFromBbox}>
{t('controlLayers.canvasContextMenu.newRasterLayer')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuItemsCropCanvasToBbox.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuItemsCropCanvasToBbox.tsx
index e8bbd39a6b..5f034ed797 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuItemsCropCanvasToBbox.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasContextMenu/CanvasContextMenuItemsCropCanvasToBbox.tsx
@@ -17,7 +17,7 @@ export const CanvasContextMenuItemsCropCanvasToBbox = memo(() => {
}, [canvasManager]);
return (
- } isDisabled={isBusy} onPointerUp={cropCanvasToBbox}>
+ } isDisabled={isBusy} onClick={cropCanvasToBbox}>
{t('controlLayers.canvasContextMenu.cropCanvasToBbox')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
index 091f29a08a..a98773e7f4 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListGlobalActionBarAddLayerMenu.tsx
@@ -40,26 +40,26 @@ export const EntityListGlobalActionBarAddLayerMenu = memo(() => {
/>
- } onPointerUp={addGlobalReferenceImage} isDisabled={isFLUX}>
+ } onClick={addGlobalReferenceImage} isDisabled={isFLUX}>
{t('controlLayers.globalReferenceImage')}
- } onPointerUp={addInpaintMask}>
+ } onClick={addInpaintMask}>
{t('controlLayers.inpaintMask')}
- } onPointerUp={addRegionalGuidance} isDisabled={isFLUX}>
+ } onClick={addRegionalGuidance} isDisabled={isFLUX}>
{t('controlLayers.regionalGuidance')}
- } onPointerUp={addRegionalReferenceImage} isDisabled={isFLUX}>
+ } onClick={addRegionalReferenceImage} isDisabled={isFLUX}>
{t('controlLayers.regionalReferenceImage')}
- } onPointerUp={addControlLayer} isDisabled={isFLUX}>
+ } onClick={addControlLayer} isDisabled={isFLUX}>
{t('controlLayers.controlLayer')}
- } onPointerUp={addRasterLayer}>
+ } onClick={addRasterLayer}>
{t('controlLayers.rasterLayer')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarDuplicateButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarDuplicateButton.tsx
index a9368ba7d8..977d027b99 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarDuplicateButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/CanvasEntityList/EntityListSelectedEntityActionBarDuplicateButton.tsx
@@ -12,7 +12,7 @@ export const EntityListSelectedEntityActionBarDuplicateButton = memo(() => {
const dispatch = useAppDispatch();
const isBusy = useCanvasIsBusy();
const selectedEntityIdentifier = useAppSelector(selectSelectedEntityIdentifier);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (!selectedEntityIdentifier) {
return;
}
@@ -21,7 +21,7 @@ export const EntityListSelectedEntityActionBarDuplicateButton = memo(() => {
return (
{
return (
{
const selectedEntityIdentifier = useAppSelector(selectSelectedEntityIdentifier);
const adapter = useEntityAdapterSafe(selectedEntityIdentifier);
const saveLayerToAssets = useSaveLayerToAssets();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
saveLayerToAssets(adapter);
}, [saveLayerToAssets, adapter]);
@@ -29,7 +29,7 @@ export const EntityListSelectedEntityActionBarSaveToAssetsButton = memo(() => {
return (
{
return (
{
const { t } = useTranslation();
const tabIndex = useStore($canvasRightPanelTabIndex);
const imageViewer = useImageViewer();
- const onPointerUpViewerToggleButton = useCallback(() => {
+ const onClickViewerToggleButton = useCallback(() => {
if ($canvasRightPanelTabIndex.get() !== 1) {
$canvasRightPanelTabIndex.set(1);
}
@@ -38,7 +38,7 @@ export const CanvasRightPanel = memo(() => {
-
+
{imageViewer.isOpen ? t('gallery.closeViewer') : t('gallery.openViewer')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerControlAdapter.tsx b/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerControlAdapter.tsx
index f2a06d55a3..4d324f6599 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerControlAdapter.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerControlAdapter.tsx
@@ -84,7 +84,7 @@ export const ControlLayerControlAdapter = memo(() => {
{
icon={}
/>
{
}, [dispatch, entityIdentifier]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.convertToRasterLayer')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerMenuItemsTransparencyEffect.tsx b/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerMenuItemsTransparencyEffect.tsx
index 3e25988c15..2875774d75 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerMenuItemsTransparencyEffect.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/ControlLayer/ControlLayerMenuItemsTransparencyEffect.tsx
@@ -28,7 +28,7 @@ export const ControlLayerMenuItemsTransparencyEffect = memo(() => {
}, [dispatch, entityIdentifier]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{withTransparencyEffect
? t('controlLayers.disableTransparencyEffect')
: t('controlLayers.enableTransparencyEffect')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Filters/Filter.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Filters/Filter.tsx
index a1bde92693..484fdfd9e9 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Filters/Filter.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Filters/Filter.tsx
@@ -109,7 +109,7 @@ const FilterContent = memo(
}
- onPointerUp={adapter.filterer.processImmediate}
+ onClick={adapter.filterer.processImmediate}
isLoading={isProcessing}
loadingText={t('controlLayers.filter.process')}
isDisabled={!isValid || autoProcessFilter}
@@ -119,7 +119,7 @@ const FilterContent = memo(
}
- onPointerUp={adapter.filterer.reset}
+ onClick={adapter.filterer.reset}
isLoading={isProcessing}
loadingText={t('controlLayers.filter.reset')}
variant="ghost"
@@ -129,7 +129,7 @@ const FilterContent = memo(
}
- onPointerUp={adapter.filterer.apply}
+ onClick={adapter.filterer.apply}
isLoading={isProcessing}
loadingText={t('controlLayers.filter.apply')}
isDisabled={!isValid || !hasProcessed}
@@ -139,7 +139,7 @@ const FilterContent = memo(
}
- onPointerUp={adapter.filterer.cancel}
+ onClick={adapter.filterer.cancel}
loadingText={t('controlLayers.filter.cancel')}
>
{t('controlLayers.filter.cancel')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterImagePreview.tsx b/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterImagePreview.tsx
index ee7bec9c63..1941c5ecc0 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterImagePreview.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterImagePreview.tsx
@@ -69,7 +69,7 @@ export const IPAdapterImagePreview = memo(({ image, onChangeImage, droppableData
{controlImage && (
}
tooltip={t('common.reset')}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterSettings.tsx b/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterSettings.tsx
index 662b05ea36..32209af39c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterSettings.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/IPAdapter/IPAdapterSettings.tsx
@@ -103,7 +103,7 @@ export const IPAdapterSettings = memo(() => {
/>
{
const defaultControlAdapter = useAppSelector(selectDefaultControlAdapter);
const isInteractable = useIsEntityInteractable(entityIdentifier);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(
rasterLayerConvertedToControlLayer({
entityIdentifier,
@@ -27,7 +27,7 @@ export const RasterLayerMenuItemsConvertRasterToControl = memo(() => {
}, [defaultControlAdapter, dispatch, entityIdentifier]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.convertToControlLayer')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceAddPromptsIPAdapterButtons.tsx b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceAddPromptsIPAdapterButtons.tsx
index 5841ea2ce5..059135b507 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceAddPromptsIPAdapterButtons.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceAddPromptsIPAdapterButtons.tsx
@@ -30,7 +30,7 @@ export const RegionalGuidanceAddPromptsIPAdapterButtons = () => {
size="sm"
variant="ghost"
leftIcon={}
- onPointerUp={addRegionalGuidancePositivePrompt}
+ onClick={addRegionalGuidancePositivePrompt}
isDisabled={!validActions.canAddPositivePrompt}
>
{t('controlLayers.prompt')}
@@ -39,12 +39,12 @@ export const RegionalGuidanceAddPromptsIPAdapterButtons = () => {
size="sm"
variant="ghost"
leftIcon={}
- onPointerUp={addRegionalGuidanceNegativePrompt}
+ onClick={addRegionalGuidanceNegativePrompt}
isDisabled={!validActions.canAddNegativePrompt}
>
{t('controlLayers.negativePrompt')}
- } onPointerUp={addRegionalGuidanceIPAdapter}>
+ } onClick={addRegionalGuidanceIPAdapter}>
{t('controlLayers.referenceImage')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceDeletePromptButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceDeletePromptButton.tsx
index 182382082f..2fc7483756 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceDeletePromptButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceDeletePromptButton.tsx
@@ -15,7 +15,7 @@ export const RegionalGuidanceDeletePromptButton = memo(({ onDelete }: Props) =>
variant="link"
aria-label={t('controlLayers.deletePrompt')}
icon={}
- onPointerUp={onDelete}
+ onClick={onDelete}
flexGrow={0}
size="sm"
p={0}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceIPAdapterSettings.tsx b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceIPAdapterSettings.tsx
index f946d0c2de..e6c6f292a3 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceIPAdapterSettings.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/RegionalGuidance/RegionalGuidanceIPAdapterSettings.tsx
@@ -120,7 +120,7 @@ export const RegionalGuidanceIPAdapterSettings = memo(({ referenceImageId }: Pro
icon={}
tooltip={t('controlLayers.deleteReferenceImage')}
aria-label={t('controlLayers.deleteReferenceImage')}
- onPointerUp={onDeleteIPAdapter}
+ onClick={onDeleteIPAdapter}
colorScheme="error"
/>
@@ -135,7 +135,7 @@ export const RegionalGuidanceIPAdapterSettings = memo(({ referenceImageId }: Pro
/>
{
>
{t('controlLayers.addNegativePrompt')}
-
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearCachesButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearCachesButton.tsx
index ba47fcc577..a3fd6c7317 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearCachesButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearCachesButton.tsx
@@ -10,7 +10,7 @@ export const CanvasSettingsClearCachesButton = memo(() => {
canvasManager.cache.clearAll();
}, [canvasManager]);
return (
-
+
{t('controlLayers.clearCaches')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearHistoryButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearHistoryButton.tsx
index 5ade75d3a2..2e11898986 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearHistoryButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsClearHistoryButton.tsx
@@ -7,11 +7,11 @@ import { useTranslation } from 'react-i18next';
export const CanvasSettingsClearHistoryButton = memo(() => {
const { t } = useTranslation();
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(canvasClearHistory());
}, [dispatch]);
return (
-
+
{t('controlLayers.clearHistory')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsLogDebugInfo.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsLogDebugInfo.tsx
index feb77f293e..01323b2fa3 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsLogDebugInfo.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsLogDebugInfo.tsx
@@ -6,11 +6,11 @@ import { useTranslation } from 'react-i18next';
export const CanvasSettingsLogDebugInfoButton = memo(() => {
const { t } = useTranslation();
const canvasManager = useCanvasManager();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
canvasManager.logDebugInfo();
}, [canvasManager]);
return (
-
+
{t('controlLayers.logDebugInfo')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsRecalculateRectsButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsRecalculateRectsButton.tsx
index a3175aaf4d..2eee581392 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsRecalculateRectsButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Settings/CanvasSettingsRecalculateRectsButton.tsx
@@ -6,14 +6,14 @@ import { useTranslation } from 'react-i18next';
export const CanvasSettingsRecalculateRectsButton = memo(() => {
const { t } = useTranslation();
const canvasManager = useCanvasManager();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
for (const adapter of canvasManager.getAllAdapters()) {
adapter.transformer.requestRectCalculation();
}
}, [canvasManager]);
return (
-
+
{t('controlLayers.recalculateRects')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarAcceptButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarAcceptButton.tsx
index e8e60dbf4b..7d01422854 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarAcceptButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarAcceptButton.tsx
@@ -60,7 +60,7 @@ export const StagingAreaToolbarAcceptButton = memo(() => {
tooltip={`${t('common.accept')} (Enter)`}
aria-label={`${t('common.accept')} (Enter)`}
icon={}
- onPointerUp={acceptSelected}
+ onClick={acceptSelected}
colorScheme="invokeBlue"
isDisabled={!selectedImage}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardAllButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardAllButton.tsx
index 2813f6c0e8..ee038c075e 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardAllButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardAllButton.tsx
@@ -18,7 +18,7 @@ export const StagingAreaToolbarDiscardAllButton = memo(() => {
tooltip={`${t('controlLayers.stagingArea.discardAll')} (Esc)`}
aria-label={t('controlLayers.stagingArea.discardAll')}
icon={}
- onPointerUp={discardAll}
+ onClick={discardAll}
colorScheme="error"
fontSize={16}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardSelectedButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardSelectedButton.tsx
index 4b13bc4c9e..4616f75282 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardSelectedButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarDiscardSelectedButton.tsx
@@ -35,7 +35,7 @@ export const StagingAreaToolbarDiscardSelectedButton = memo(() => {
tooltip={t('controlLayers.stagingArea.discard')}
aria-label={t('controlLayers.stagingArea.discard')}
icon={}
- onPointerUp={discardSelected}
+ onClick={discardSelected}
colorScheme="invokeBlue"
fontSize={16}
isDisabled={!selectedImage}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarNextButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarNextButton.tsx
index ca0239e7ae..3809601a62 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarNextButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarNextButton.tsx
@@ -40,7 +40,7 @@ export const StagingAreaToolbarNextButton = memo(() => {
tooltip={`${t('controlLayers.stagingArea.next')} (Right)`}
aria-label={`${t('controlLayers.stagingArea.next')} (Right)`}
icon={}
- onPointerUp={selectNext}
+ onClick={selectNext}
colorScheme="invokeBlue"
isDisabled={imageCount <= 1 || !shouldShowStagedImage}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarPrevButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarPrevButton.tsx
index 066a158cfc..3d064abc2f 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarPrevButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarPrevButton.tsx
@@ -40,7 +40,7 @@ export const StagingAreaToolbarPrevButton = memo(() => {
tooltip={`${t('controlLayers.stagingArea.previous')} (Left)`}
aria-label={`${t('controlLayers.stagingArea.previous')} (Left)`}
icon={}
- onPointerUp={selectPrev}
+ onClick={selectPrev}
colorScheme="invokeBlue"
isDisabled={imageCount <= 1 || !shouldShowStagedImage}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarSaveSelectedToGalleryButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarSaveSelectedToGalleryButton.tsx
index 3ee0697ab5..5a88f1dd5a 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarSaveSelectedToGalleryButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarSaveSelectedToGalleryButton.tsx
@@ -40,7 +40,7 @@ export const StagingAreaToolbarSaveSelectedToGalleryButton = memo(() => {
tooltip={t('controlLayers.stagingArea.saveToGallery')}
aria-label={t('controlLayers.stagingArea.saveToGallery')}
icon={}
- onPointerUp={saveSelectedImageToGallery}
+ onClick={saveSelectedImageToGallery}
colorScheme="invokeBlue"
isDisabled={!selectedImage || !selectedImage.imageDTO.is_intermediate}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarToggleShowResultsButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarToggleShowResultsButton.tsx
index bb1e1e5ab5..ce1b3227fd 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarToggleShowResultsButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/StagingArea/StagingAreaToolbarToggleShowResultsButton.tsx
@@ -29,7 +29,7 @@ export const StagingAreaToolbarToggleShowResultsButton = memo(() => {
}
data-alert={!shouldShowStagedImage}
icon={shouldShowStagedImage ? : }
- onPointerUp={toggleShowResults}
+ onClick={toggleShowResults}
colorScheme="invokeBlue"
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBboxButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBboxButton.tsx
index 2a4d8f8d8f..4796092faf 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBboxButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBboxButton.tsx
@@ -27,7 +27,7 @@ export const ToolBboxButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectBbox}
+ onClick={selectBbox}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBrushButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBrushButton.tsx
index 3e2824ee10..d9afdb18f5 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBrushButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolBrushButton.tsx
@@ -27,7 +27,7 @@ export const ToolBrushButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectBrush}
+ onClick={selectBrush}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolColorPickerButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolColorPickerButton.tsx
index 40f70efc3d..1f48b2ee72 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolColorPickerButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolColorPickerButton.tsx
@@ -27,7 +27,7 @@ export const ToolColorPickerButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectColorPicker}
+ onClick={selectColorPicker}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolEraserButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolEraserButton.tsx
index 4e1994e14c..8257523367 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolEraserButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolEraserButton.tsx
@@ -27,7 +27,7 @@ export const ToolEraserButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectEraser}
+ onClick={selectEraser}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolMoveButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolMoveButton.tsx
index d7d8a465f3..63cbbbce8f 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolMoveButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolMoveButton.tsx
@@ -27,7 +27,7 @@ export const ToolMoveButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectMove}
+ onClick={selectMove}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolRectButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolRectButton.tsx
index 2ed56a160b..6e9251c1ef 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolRectButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolRectButton.tsx
@@ -27,7 +27,7 @@ export const ToolRectButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectRect}
+ onClick={selectRect}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolViewButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolViewButton.tsx
index 8b54515678..f58e66b91c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolViewButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Tool/ToolViewButton.tsx
@@ -27,7 +27,7 @@ export const ToolViewButton = memo(() => {
icon={}
colorScheme={isSelected ? 'invokeBlue' : 'base'}
variant="solid"
- onPointerUp={selectView}
+ onClick={selectView}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarFitBboxToLayersButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarFitBboxToLayersButton.tsx
index b641c6a41e..2ac69f260e 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarFitBboxToLayersButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarFitBboxToLayersButton.tsx
@@ -9,13 +9,13 @@ export const CanvasToolbarFitBboxToLayersButton = memo(() => {
const { t } = useTranslation();
const canvasManager = useCanvasManager();
const isBusy = useCanvasIsBusy();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
canvasManager.bbox.fitToLayers();
}, [canvasManager.bbox]);
return (
{
const dispatch = useAppDispatch();
const isBusy = useCanvasIsBusy();
const mayRedo = useAppSelector(selectCanvasMayRedo);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(canvasRedo());
}, [dispatch]);
@@ -20,7 +20,7 @@ export const CanvasToolbarRedoButton = memo(() => {
}
variant="link"
alignSelf="stretch"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetCanvasButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetCanvasButton.tsx
index 754057d3b6..5eb7bc603e 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetCanvasButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetCanvasButton.tsx
@@ -10,7 +10,7 @@ export const CanvasToolbarResetCanvasButton = memo(() => {
const { t } = useTranslation();
const dispatch = useAppDispatch();
const canvasManager = useCanvasManager();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(canvasReset());
canvasManager.stage.fitLayersToStage();
}, [canvasManager.stage, dispatch]);
@@ -18,7 +18,7 @@ export const CanvasToolbarResetCanvasButton = memo(() => {
}
variant="link"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetViewButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetViewButton.tsx
index 849524232d..88aae8a2ba 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetViewButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarResetViewButton.tsx
@@ -60,7 +60,7 @@ export const CanvasToolbarResetViewButton = memo(() => {
}
variant="link"
alignSelf="stretch"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarSaveToGalleryButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarSaveToGalleryButton.tsx
index 54302cd744..58dcfc0f1c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarSaveToGalleryButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarSaveToGalleryButton.tsx
@@ -16,7 +16,7 @@ export const CanvasToolbarSaveToGalleryButton = memo(() => {
}
aria-label={shift ? t('controlLayers.saveBboxToGallery') : t('controlLayers.saveCanvasToGallery')}
tooltip={shift ? t('controlLayers.saveBboxToGallery') : t('controlLayers.saveCanvasToGallery')}
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarScale.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarScale.tsx
index 7bd1472236..7c002f5b4f 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarScale.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarScale.tsx
@@ -174,7 +174,7 @@ const SCALE_SNAPS = [0.1, 0.15, 0.2, 0.25, 0.5, 0.75, 1, 1.5, 2, 2.5, 5, 7.5, 10
const ZoomOutButton = () => {
const canvasManager = useCanvasManager();
const scale = useStore(computed(canvasManager.stage.$stageAttrs, (attrs) => attrs.scale));
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
const nextScale =
SCALE_SNAPS.slice()
.reverse()
@@ -184,7 +184,7 @@ const ZoomOutButton = () => {
return (
}
aria-label="Zoom out"
variant="link"
@@ -197,14 +197,14 @@ const ZoomOutButton = () => {
const ZoomInButton = () => {
const canvasManager = useCanvasManager();
const scale = useStore(computed(canvasManager.stage.$stageAttrs, (attrs) => attrs.scale));
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
const nextScale = SCALE_SNAPS.find((snap) => snap > scale) ?? canvasManager.stage.config.MAX_SCALE;
canvasManager.stage.setScale(Math.min(nextScale, canvasManager.stage.config.MAX_SCALE));
}, [canvasManager.stage, scale]);
return (
}
aria-label="Zoom out"
variant="link"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarUndoButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarUndoButton.tsx
index a420dec8db..7a884013f0 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarUndoButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarUndoButton.tsx
@@ -12,7 +12,7 @@ export const CanvasToolbarUndoButton = memo(() => {
const dispatch = useAppDispatch();
const isBusy = useCanvasIsBusy();
const mayUndo = useAppSelector(selectCanvasMayUndo);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(canvasUndo());
}, [dispatch]);
@@ -20,7 +20,7 @@ export const CanvasToolbarUndoButton = memo(() => {
}
variant="link"
alignSelf="stretch"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/Transform/Transform.tsx b/invokeai/frontend/web/src/features/controlLayers/components/Transform/Transform.tsx
index 1887d3e1a5..8bcbf4620c 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/Transform/Transform.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/Transform/Transform.tsx
@@ -68,7 +68,7 @@ const TransformContent = memo(({ adapter }: { adapter: CanvasEntityAdapter }) =>
}
- onPointerUp={adapter.transformer.fitProxyRectToBbox}
+ onClick={adapter.transformer.fitProxyRectToBbox}
isLoading={isProcessing}
loadingText={t('controlLayers.transform.fitToBbox')}
variant="ghost"
@@ -78,7 +78,7 @@ const TransformContent = memo(({ adapter }: { adapter: CanvasEntityAdapter }) =>
}
- onPointerUp={adapter.transformer.resetTransform}
+ onClick={adapter.transformer.resetTransform}
isLoading={isProcessing}
loadingText={t('controlLayers.transform.reset')}
variant="ghost"
@@ -87,7 +87,7 @@ const TransformContent = memo(({ adapter }: { adapter: CanvasEntityAdapter }) =>
}
- onPointerUp={adapter.transformer.applyTransform}
+ onClick={adapter.transformer.applyTransform}
isLoading={isProcessing}
loadingText={t('controlLayers.transform.apply')}
variant="ghost"
@@ -96,7 +96,7 @@ const TransformContent = memo(({ adapter }: { adapter: CanvasEntityAdapter }) =>
}
- onPointerUp={adapter.transformer.stopTransform}
+ onClick={adapter.transformer.stopTransform}
isLoading={isProcessing}
loadingText={t('common.cancel')}
variant="ghost"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityAddOfTypeButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityAddOfTypeButton.tsx
index 4bda230675..9fd9d614d1 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityAddOfTypeButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityAddOfTypeButton.tsx
@@ -25,7 +25,7 @@ export const CanvasEntityAddOfTypeButton = memo(({ type }: Props) => {
const addControlLayer = useAddControlLayer();
const addGlobalReferenceImage = useAddGlobalReferenceImage();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
switch (type) {
case 'inpaint_mask':
addInpaintMask();
@@ -67,7 +67,7 @@ export const CanvasEntityAddOfTypeButton = memo(({ type }: Props) => {
tooltip={label}
variant="link"
icon={}
- onPointerUp={onPointerUp}
+ onClick={onClick}
alignSelf="stretch"
isDisabled={isBusy}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityContainer.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityContainer.tsx
index 8de891a6a4..4430fc83dc 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityContainer.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityContainer.tsx
@@ -12,7 +12,7 @@ export const CanvasEntityContainer = memo((props: PropsWithChildren) => {
const entityIdentifier = useEntityIdentifierContext();
const isSelected = useEntityIsSelected(entityIdentifier);
const selectionColor = useEntitySelectionColor(entityIdentifier);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (isSelected) {
return;
}
@@ -25,7 +25,7 @@ export const CanvasEntityContainer = memo((props: PropsWithChildren) => {
flexDir="column"
w="full"
bg={isSelected ? 'base.800' : 'base.850'}
- onPointerUp={onPointerUp}
+ onClick={onClick}
borderInlineStartWidth={5}
borderColor={isSelected ? selectionColor : 'base.800'}
borderRadius="base"
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityDeleteButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityDeleteButton.tsx
index 6c67e90f7d..f6896b9ee7 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityDeleteButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityDeleteButton.tsx
@@ -12,7 +12,7 @@ export const CanvasEntityDeleteButton = memo(() => {
const entityIdentifier = useEntityIdentifierContext();
const dispatch = useAppDispatch();
const isBusy = useCanvasIsBusy();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(entityDeleted({ entityIdentifier }));
}, [dispatch, entityIdentifier]);
@@ -24,7 +24,7 @@ export const CanvasEntityDeleteButton = memo(() => {
variant="link"
alignSelf="stretch"
icon={}
- onPointerUp={onPointerUp}
+ onPointerUp={onClick}
colorScheme="error"
isDisabled={isBusy}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityEnabledToggle.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityEnabledToggle.tsx
index 16539439d9..85464e4535 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityEnabledToggle.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityEnabledToggle.tsx
@@ -14,7 +14,7 @@ export const CanvasEntityEnabledToggle = memo(() => {
const isEnabled = useEntityIsEnabled(entityIdentifier);
const isBusy = useCanvasIsBusy();
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(entityIsEnabledToggled({ entityIdentifier }));
}, [dispatch, entityIdentifier]);
@@ -26,7 +26,7 @@ export const CanvasEntityEnabledToggle = memo(() => {
variant="link"
alignSelf="stretch"
icon={isEnabled ? : }
- onPointerUp={onPointerUp}
+ onClick={onClick}
isDisabled={isBusy}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityGroupList.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityGroupList.tsx
index 7739c7e012..88fa4058e9 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityGroupList.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityGroupList.tsx
@@ -31,7 +31,7 @@ export const CanvasEntityGroupList = memo(({ isSelected, type, children }: Props
{
const entityIdentifier = useEntityIdentifierContext();
const isBookmarked = useEntityIsBookmarkedForQuickSwitch(entityIdentifier);
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (isBookmarked) {
dispatch(bookmarkedEntityChanged({ entityIdentifier: null }));
} else {
@@ -28,7 +28,7 @@ export const CanvasEntityIsBookmarkedForQuickSwitchToggle = memo(() => {
variant="link"
alignSelf="stretch"
icon={isBookmarked ? : }
- onPointerUp={onPointerUp}
+ onClick={onClick}
/>
);
});
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityIsLockedToggle.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityIsLockedToggle.tsx
index ff82b7ba98..f3dbf7d53d 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityIsLockedToggle.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityIsLockedToggle.tsx
@@ -14,7 +14,7 @@ export const CanvasEntityIsLockedToggle = memo(() => {
const isLocked = useEntityIsLocked(entityIdentifier);
const isBusy = useCanvasIsBusy();
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(entityIsLockedToggled({ entityIdentifier }));
}, [dispatch, entityIdentifier]);
@@ -26,7 +26,7 @@ export const CanvasEntityIsLockedToggle = memo(() => {
variant="link"
alignSelf="stretch"
icon={isLocked ? : }
- onPointerUp={onPointerUp}
+ onClick={onClick}
isDisabled={isBusy}
/>
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsArrange.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsArrange.tsx
index 21e3becf9a..0f01c832d6 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsArrange.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsArrange.tsx
@@ -89,28 +89,28 @@ export const CanvasEntityMenuItemsArrange = memo(() => {
return (
<>
}
>
{t('controlLayers.moveToFront')}
}
>
{t('controlLayers.moveForward')}
}
>
{t('controlLayers.moveBackward')}
}
>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCopyToClipboard.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCopyToClipboard.tsx
index 79e52b97e7..9d9882399b 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCopyToClipboard.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCopyToClipboard.tsx
@@ -14,12 +14,12 @@ export const CanvasEntityMenuItemsCopyToClipboard = memo(() => {
const isInteractable = useIsEntityInteractable(entityIdentifier);
const copyLayerToClipboard = useCopyLayerToClipboard();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
copyLayerToClipboard(adapter);
}, [copyLayerToClipboard, adapter]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.copyToClipboard')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCropToBbox.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCropToBbox.tsx
index e9a4907343..4842553109 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCropToBbox.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsCropToBbox.tsx
@@ -11,7 +11,7 @@ export const CanvasEntityMenuItemsCropToBbox = memo(() => {
const entityIdentifier = useEntityIdentifierContext();
const adapter = useEntityAdapterSafe(entityIdentifier);
const isInteractable = useIsEntityInteractable(entityIdentifier);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (!adapter) {
return;
}
@@ -19,7 +19,7 @@ export const CanvasEntityMenuItemsCropToBbox = memo(() => {
}, [adapter]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.cropLayerToBbox')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDelete.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDelete.tsx
index e3a14945c8..5e65990b5b 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDelete.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDelete.tsx
@@ -18,7 +18,7 @@ export const CanvasEntityMenuItemsDelete = memo(() => {
}, [dispatch, entityIdentifier]);
return (
- } isDestructive isDisabled={!isInteractable}>
+ } isDestructive isDisabled={!isInteractable}>
{t('common.delete')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDuplicate.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDuplicate.tsx
index d38ba30314..053087a3dc 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDuplicate.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsDuplicate.tsx
@@ -13,12 +13,12 @@ export const CanvasEntityMenuItemsDuplicate = memo(() => {
const entityIdentifier = useEntityIdentifierContext();
const isInteractable = useIsEntityInteractable(entityIdentifier);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(entityDuplicated({ entityIdentifier }));
}, [dispatch, entityIdentifier]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.duplicate')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsFilter.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsFilter.tsx
index cb04804fcf..9e361c0911 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsFilter.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsFilter.tsx
@@ -11,7 +11,7 @@ export const CanvasEntityMenuItemsFilter = memo(() => {
const filter = useEntityFilter(entityIdentifier);
return (
- } isDisabled={filter.isDisabled}>
+ } isDisabled={filter.isDisabled}>
{t('controlLayers.filter.filter')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsSave.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsSave.tsx
index 78aa93fdf5..9aa3134de8 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsSave.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsSave.tsx
@@ -13,12 +13,12 @@ export const CanvasEntityMenuItemsSave = memo(() => {
const adapter = useEntityAdapterSafe(entityIdentifier);
const isInteractable = useIsEntityInteractable(entityIdentifier);
const saveLayerToAssets = useSaveLayerToAssets();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
saveLayerToAssets(adapter);
}, [saveLayerToAssets, adapter]);
return (
- } isDisabled={!isInteractable}>
+ } isDisabled={!isInteractable}>
{t('controlLayers.saveLayerToAssets')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsTransform.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsTransform.tsx
index 4479d823cd..187099a4eb 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsTransform.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMenuItemsTransform.tsx
@@ -11,7 +11,7 @@ export const CanvasEntityMenuItemsTransform = memo(() => {
const transform = useEntityTransform(entityIdentifier);
return (
- } isDisabled={transform.isDisabled}>
+ } isDisabled={transform.isDisabled}>
{t('controlLayers.transform.transform')}
);
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMergeVisibleButton.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMergeVisibleButton.tsx
index 0e98977883..1457cef836 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMergeVisibleButton.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityMergeVisibleButton.tsx
@@ -26,7 +26,7 @@ export const CanvasEntityMergeVisibleButton = memo(({ type }: Props) => {
const canvasManager = useCanvasManager();
const isBusy = useCanvasIsBusy();
const entityCount = useEntityTypeCount(type);
- const onPointerUp = useCallback(async () => {
+ const onClick = useCallback(async () => {
if (type === 'raster_layer') {
const rect = canvasManager.stage.getVisibleRect('raster_layer');
const result = await withResultAsync(() =>
@@ -83,7 +83,7 @@ export const CanvasEntityMergeVisibleButton = memo(({ type }: Props) => {
tooltip={t('controlLayers.mergeVisible')}
variant="link"
icon={}
- onPointerUp={onPointerUp}
+ onClick={onClick}
alignSelf="stretch"
isDisabled={entityCount <= 1 || isBusy}
/>
diff --git a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityTypeIsHiddenToggle.tsx b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityTypeIsHiddenToggle.tsx
index 744a5d945a..de8e1eb315 100644
--- a/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityTypeIsHiddenToggle.tsx
+++ b/invokeai/frontend/web/src/features/controlLayers/components/common/CanvasEntityTypeIsHiddenToggle.tsx
@@ -18,7 +18,7 @@ export const CanvasEntityTypeIsHiddenToggle = memo(({ type }: Props) => {
const dispatch = useAppDispatch();
const isHidden = useEntityTypeIsHidden(type);
const typeString = useEntityTypeString(type, true);
- const onPointerUp = useCallback(
+ const onClick = useCallback(
(e) => {
e.stopPropagation();
dispatch(allEntitiesOfTypeIsHiddenToggled({ type }));
@@ -33,7 +33,7 @@ export const CanvasEntityTypeIsHiddenToggle = memo(({ type }: Props) => {
tooltip={t(isHidden ? 'controlLayers.hidingType' : 'controlLayers.showingType', { type: typeString })}
variant="link"
icon={isHidden ? : }
- onPointerUp={onPointerUp}
+ onClick={onClick}
alignSelf="stretch"
/>
);
diff --git a/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx b/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx
index c702dd4788..ff790f82c6 100644
--- a/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx
+++ b/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx
@@ -9,11 +9,11 @@ import { PiTrashSimpleBold } from 'react-icons/pi';
import { $isConnected } from 'services/events/stores';
type DeleteImageButtonProps = Omit & {
- onPointerUp: () => void;
+ onClick: () => void;
};
export const DeleteImageButton = memo((props: DeleteImageButtonProps) => {
- const { onPointerUp, isDisabled } = props;
+ const { onClick, isDisabled } = props;
const { t } = useTranslation();
const isConnected = useStore($isConnected);
const imageSelectionLength = useAppSelector(selectSelectionCount);
@@ -21,7 +21,7 @@ export const DeleteImageButton = memo((props: DeleteImageButtonProps) => {
return (
}
tooltip={labelMessage}
aria-label={labelMessage}
diff --git a/invokeai/frontend/web/src/features/dynamicPrompts/components/ShowDynamicPromptsPreviewButton.tsx b/invokeai/frontend/web/src/features/dynamicPrompts/components/ShowDynamicPromptsPreviewButton.tsx
index 02e04d292f..1a23f0d375 100644
--- a/invokeai/frontend/web/src/features/dynamicPrompts/components/ShowDynamicPromptsPreviewButton.tsx
+++ b/invokeai/frontend/web/src/features/dynamicPrompts/components/ShowDynamicPromptsPreviewButton.tsx
@@ -28,7 +28,7 @@ export const ShowDynamicPromptsPreviewButton = memo(() => {
isDisabled={isOpen}
aria-label={t('dynamicPrompts.showDynamicPrompts')}
icon={}
- onPointerUp={onOpen}
+ onClick={onOpen}
sx={isLoading ? loadingStyles : undefined}
colorScheme={isError && !isLoading ? 'error' : 'base'}
/>
diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
index 1067be2035..5b4e6236b1 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx
@@ -75,29 +75,29 @@ const BoardContextMenu = ({ board, children }: Props) => {
{!autoAssignBoardOnClick && (
- } isDisabled={isSelectedForAutoAdd} onPointerUp={handleSetAutoAdd}>
+ } isDisabled={isSelectedForAutoAdd} onClick={handleSetAutoAdd}>
{isSelectedForAutoAdd ? t('boards.selectedForAutoAdd') : t('boards.menuItemAutoAdd')}
)}
{isBulkDownloadEnabled && (
- } onPointerUpCapture={handleBulkDownload}>
+ } onClickCapture={handleBulkDownload}>
{t('boards.downloadBoard')}
)}
{board.archived && (
- } onPointerUp={handleUnarchive}>
+ } onClick={handleUnarchive}>
{t('boards.unarchiveBoard')}
)}
{!board.archived && (
- } onPointerUp={handleArchive}>
+ } onClick={handleArchive}>
{t('boards.archiveBoard')}
)}
- } onPointerUp={setAsBoardToDelete} isDestructive>
+ } onClick={setAsBoardToDelete} isDestructive>
{t('boards.deleteBoard')}
diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/AddBoardButton.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/AddBoardButton.tsx
index 7666fa0ea8..6a9e51cb74 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/AddBoardButton.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/AddBoardButton.tsx
@@ -42,7 +42,7 @@ const AddBoardButton = ({ isPrivateBoard }: Props) => {
isLoading={isLoading}
tooltip={label}
aria-label={label}
- onPointerUp={handleCreateBoard}
+ onClick={handleCreateBoard}
size="md"
data-testid="add-board-button"
variant="link"
diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx
index b5f4978495..0a325d3737 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx
@@ -84,7 +84,7 @@ export const BoardsList = ({ isPrivate }: Props) => {
bg="base.900"
>
{allowPrivateBoards ? (
-
+
{
{boardSearchText && boardSearchText.length && (
{
const autoAssignBoardOnClick = useAppSelector(selectAutoAssignBoardOnClick);
const selectedBoardId = useAppSelector(selectSelectedBoardId);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (selectedBoardId !== board.board_id) {
dispatch(boardIdSelected({ boardId: board.board_id }));
}
@@ -61,7 +61,7 @@ const GalleryBoard = ({ board, isSelected }: GalleryBoardProps) => {
} openDelay={1000} placement="left" closeOnScroll p={2}>
{
} openDelay={1000} placement="left" closeOnScroll>
{
-
+
{t('boards.cancel')}
-
+
{t('boards.deleteBoardOnly')}
-
+
{t('boards.deleteBoardAndImages')}
diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/NoBoardBoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/NoBoardBoardContextMenu.tsx
index 8c9b2ce62a..2f130430a4 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Boards/NoBoardBoardContextMenu.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Boards/NoBoardBoardContextMenu.tsx
@@ -38,12 +38,12 @@ const NoBoardBoardContextMenu = ({ children }: Props) => {
{!autoAssignBoardOnClick && (
- } isDisabled={isSelectedForAutoAdd} onPointerUp={handleSetAutoAdd}>
+ } isDisabled={isSelectedForAutoAdd} onClick={handleSetAutoAdd}>
{isSelectedForAutoAdd ? t('boards.selectedForAutoAdd') : t('boards.menuItemAutoAdd')}
)}
{isBulkDownloadEnabled && (
- } onPointerUpCapture={handleBulkDownload}>
+ } onClickCapture={handleBulkDownload}>
{t('boards.downloadBoard')}
)}
diff --git a/invokeai/frontend/web/src/features/gallery/components/Gallery.tsx b/invokeai/frontend/web/src/features/gallery/components/Gallery.tsx
index 2419615727..0ef57047ed 100644
--- a/invokeai/frontend/web/src/features/gallery/components/Gallery.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/Gallery.tsx
@@ -74,17 +74,17 @@ export const Gallery = () => {
{boardName}
-
+
{t('parameters.images')}
-
+
{t('gallery.assets')}
}
diff --git a/invokeai/frontend/web/src/features/gallery/components/GalleryPanelContent.tsx b/invokeai/frontend/web/src/features/gallery/components/GalleryPanelContent.tsx
index 1f5bf604fc..bd29d1f174 100644
--- a/invokeai/frontend/web/src/features/gallery/components/GalleryPanelContent.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/GalleryPanelContent.tsx
@@ -56,7 +56,7 @@ const GalleryPanelContent = () => {
: }
>
{boardsListPanel.isCollapsed ? t('boards.viewBoards') : t('boards.hideBoards')}
@@ -69,7 +69,7 @@ const GalleryPanelContent = () => {
size="sm"
variant="link"
alignSelf="stretch"
- onPointerUp={handleClickBoardSearch}
+ onClick={handleClickBoardSearch}
tooltip={
boardSearchDisclosure.isOpen ? `${t('gallery.exitBoardSearch')}` : `${t('gallery.displayBoardSearch')}`
}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemChangeBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemChangeBoard.tsx
index f566ca9b7d..200b08b4c2 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemChangeBoard.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemChangeBoard.tsx
@@ -11,13 +11,13 @@ export const ImageMenuItemChangeBoard = memo(() => {
const dispatch = useAppDispatch();
const imageDTO = useImageDTOContext();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(imagesToChangeSelected([imageDTO]));
dispatch(isModalOpenChanged(true));
}, [dispatch, imageDTO]);
return (
- } onPointerUpCapture={onPointerUp}>
+ } onClickCapture={onClick}>
{t('boards.changeBoard')}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemCopy.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemCopy.tsx
index 8f7741054d..ce03f902da 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemCopy.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemCopy.tsx
@@ -10,7 +10,7 @@ export const ImageMenuItemCopy = memo(() => {
const imageDTO = useImageDTOContext();
const { isClipboardAPIAvailable, copyImageToClipboard } = useCopyImageToClipboard();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
copyImageToClipboard(imageDTO.image_url);
}, [copyImageToClipboard, imageDTO.image_url]);
@@ -24,7 +24,7 @@ export const ImageMenuItemCopy = memo(() => {
icon={}
aria-label={t('parameters.copyImage')}
tooltip={t('parameters.copyImage')}
- onPointerUpCapture={onPointerUp}
+ onClickCapture={onClick}
variant="unstyled"
colorScheme="base"
w="min-content"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDelete.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDelete.tsx
index 91e5b58832..b28abffcfb 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDelete.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDelete.tsx
@@ -11,7 +11,7 @@ export const ImageMenuItemDelete = memo(() => {
const dispatch = useAppDispatch();
const imageDTO = useImageDTOContext();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(imagesToDeleteSelected([imageDTO]));
}, [dispatch, imageDTO]);
@@ -19,7 +19,7 @@ export const ImageMenuItemDelete = memo(() => {
}
- onPointerUpCapture={onPointerUp}
+ onClickCapture={onClick}
aria-label={t('gallery.deleteImage', { count: 1 })}
tooltip={t('gallery.deleteImage', { count: 1 })}
variant="unstyled"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDownload.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDownload.tsx
index dd3ba4166f..181068fb47 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDownload.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemDownload.tsx
@@ -10,7 +10,7 @@ export const ImageMenuItemDownload = memo(() => {
const imageDTO = useImageDTOContext();
const { downloadImage } = useDownloadImage();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
downloadImage(imageDTO.image_url, imageDTO.image_name);
}, [downloadImage, imageDTO.image_name, imageDTO.image_url]);
@@ -20,7 +20,7 @@ export const ImageMenuItemDownload = memo(() => {
icon={}
aria-label={t('parameters.downloadImage')}
tooltip={t('parameters.downloadImage')}
- onPointerUp={onPointerUp}
+ onClick={onClick}
variant="unstyled"
colorScheme="base"
w="min-content"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemLoadWorkflow.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemLoadWorkflow.tsx
index 9254e30561..1aab80b21d 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemLoadWorkflow.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemLoadWorkflow.tsx
@@ -14,14 +14,14 @@ export const ImageMenuItemLoadWorkflow = memo(() => {
const [getAndLoadEmbeddedWorkflow, { isLoading }] = useGetAndLoadEmbeddedWorkflow();
const hasTemplates = useStore($hasTemplates);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
getAndLoadEmbeddedWorkflow(imageDTO.image_name);
}, [getAndLoadEmbeddedWorkflow, imageDTO.image_name]);
return (
: }
- onPointerUpCapture={onPointerUp}
+ onClickCapture={onClick}
isDisabled={!imageDTO.has_workflow || !hasTemplates}
>
{t('nodes.loadWorkflow')}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemMetadataRecallActions.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemMetadataRecallActions.tsx
index cdd752cc17..0d1b1a84c5 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemMetadataRecallActions.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemMetadataRecallActions.tsx
@@ -20,19 +20,19 @@ export const ImageMenuItemMetadataRecallActions = memo(() => {
return (
<>
- } onPointerUpCapture={remix} isDisabled={!hasMetadata}>
+ } onClickCapture={remix} isDisabled={!hasMetadata}>
{t('parameters.remixImage')}
- } onPointerUpCapture={recallPrompts} isDisabled={!hasPrompts}>
+ } onClickCapture={recallPrompts} isDisabled={!hasPrompts}>
{t('parameters.usePrompt')}
- } onPointerUpCapture={recallSeed} isDisabled={!hasSeed}>
+ } onClickCapture={recallSeed} isDisabled={!hasSeed}>
{t('parameters.useSeed')}
- } onPointerUpCapture={recallAll} isDisabled={!hasMetadata}>
+ } onClickCapture={recallAll} isDisabled={!hasMetadata}>
{t('parameters.useAll')}
- } onPointerUpCapture={createAsPreset} isDisabled={!hasPrompts}>
+ } onClickCapture={createAsPreset} isDisabled={!hasPrompts}>
{t('stylePresets.useForTemplate')}
>
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewCanvasFromImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewCanvasFromImage.tsx
index 18838f233f..39279c870e 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewCanvasFromImage.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewCanvasFromImage.tsx
@@ -41,7 +41,7 @@ export const ImageMenuItemNewCanvasFromImage = memo(() => {
}, [bboxRect.x, bboxRect.y, dispatch, imageDTO, imageViewer, t]);
return (
- } onPointerUpCapture={handleSendToCanvas}>
+ } onClickCapture={handleSendToCanvas}>
{t('controlLayers.newCanvasFromImage')}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewLayerFromImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewLayerFromImage.tsx
index 86476654f0..8594db8b50 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewLayerFromImage.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemNewLayerFromImage.tsx
@@ -41,7 +41,7 @@ export const ImageMenuItemNewLayerFromImage = memo(() => {
}, [bboxRect.x, bboxRect.y, dispatch, imageDTO, imageViewer, t]);
return (
- } onPointerUpCapture={handleSendToCanvas}>
+ } onClickCapture={handleSendToCanvas}>
{t('controlLayers.newLayerFromImage')}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInNewTab.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInNewTab.tsx
index b1a00ae822..87ed19c187 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInNewTab.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInNewTab.tsx
@@ -7,14 +7,14 @@ import { PiArrowSquareOutBold } from 'react-icons/pi';
export const ImageMenuItemOpenInNewTab = memo(() => {
const { t } = useTranslation();
const imageDTO = useImageDTOContext();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
window.open(imageDTO.image_url, '_blank');
}, [imageDTO.image_url]);
return (
}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInViewer.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInViewer.tsx
index c028fe47ab..710f78d7b4 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInViewer.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemOpenInViewer.tsx
@@ -9,7 +9,7 @@ export const ImageMenuItemOpenInViewer = memo(() => {
const { t } = useTranslation();
const imageDTO = useImageDTOContext();
const imageViewer = useImageViewer();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
imageViewer.openImageInViewer(imageDTO);
}, [imageDTO, imageViewer]);
@@ -17,7 +17,7 @@ export const ImageMenuItemOpenInViewer = memo(() => {
}
- onPointerUpCapture={onPointerUp}
+ onClickCapture={onClick}
aria-label={t('common.openInViewer')}
tooltip={t('common.openInViewer')}
variant="unstyled"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSelectForCompare.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSelectForCompare.tsx
index cfaa6e45d1..08e02f5b05 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSelectForCompare.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSelectForCompare.tsx
@@ -17,7 +17,7 @@ export const ImageMenuItemSelectForCompare = memo(() => {
);
const maySelectForCompare = useAppSelector(selectMaySelectForCompare);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(imageToCompareChanged(imageDTO));
}, [dispatch, imageDTO]);
@@ -26,7 +26,7 @@ export const ImageMenuItemSelectForCompare = memo(() => {
as={MenuItem}
icon={}
isDisabled={!maySelectForCompare}
- onPointerUp={onPointerUp}
+ onClick={onClick}
aria-label={t('gallery.selectForCompare')}
tooltip={t('gallery.selectForCompare')}
variant="unstyled"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSendToUpscale.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSendToUpscale.tsx
index f2a7cb2161..13c2287bf5 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSendToUpscale.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemSendToUpscale.tsx
@@ -24,7 +24,7 @@ export const ImageMenuItemSendToUpscale = memo(() => {
}, [dispatch, imageDTO, t]);
return (
- } onPointerUpCapture={handleSendToCanvas} id="send-to-upscale">
+ } onClickCapture={handleSendToCanvas} id="send-to-upscale">
{t('parameters.sendToUpscale')}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemStarUnstar.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemStarUnstar.tsx
index ff01bfa5be..a82e8ed2a8 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemStarUnstar.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageMenuItemStarUnstar.tsx
@@ -28,14 +28,14 @@ export const ImageMenuItemStarUnstar = memo(() => {
if (imageDTO.starred) {
return (
- } onPointerUpCapture={unstarImage}>
+ } onClickCapture={unstarImage}>
{customStarUi ? customStarUi.off.text : t('gallery.unstarImage')}
);
}
return (
- } onPointerUpCapture={starImage}>
+ } onClickCapture={starImage}>
{customStarUi ? customStarUi.on.text : t('gallery.starImage')}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx
index 5b7b27c376..54fb19c844 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx
@@ -58,28 +58,25 @@ const MultipleSelectionMenuItems = () => {
return (
<>
{areAllStarred && (
- }
- onPointerUpCapture={handleUnstarSelection}
- >
+ } onClickCapture={handleUnstarSelection}>
{customStarUi ? customStarUi.off.text : `Unstar All`}
)}
{(areAllUnstarred || (!areAllStarred && !areAllUnstarred)) && (
- } onPointerUpCapture={handleStarSelection}>
+ } onClickCapture={handleStarSelection}>
{customStarUi ? customStarUi.on.text : `Star All`}
)}
{isBulkDownloadEnabled && (
- } onPointerUpCapture={handleBulkDownload}>
+ } onClickCapture={handleBulkDownload}>
{t('gallery.downloadSelection')}
)}
- } onPointerUpCapture={handleChangeBoard}>
+ } onClickCapture={handleChangeBoard}>
{t('boards.changeBoard')}
- } onPointerUpCapture={handleDeleteSelection}>
+ } onClickCapture={handleDeleteSelection}>
{t('gallery.deleteSelection')}
>
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx
index 04aea091cb..8a4ca0e35d 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx
@@ -157,7 +157,7 @@ const GalleryImageContent = memo(({ index, imageDTO }: HoverableImageProps) => {
aspectRatio="1/1"
>
{
>{`${imageDTO.width}x${imageDTO.height}`}
)}
{
const shift = useShiftModifier();
const { t } = useTranslation();
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(
+ const onClick = useCallback(
(e: MouseEvent) => {
e.stopPropagation();
if (!imageDTO) {
@@ -230,7 +230,7 @@ const DeleteIcon = ({ imageDTO }: { imageDTO: ImageDTO }) => {
return (
}
tooltip={t('gallery.deleteImage_one')}
position="absolute"
@@ -244,13 +244,13 @@ const OpenInViewerIconButton = ({ imageDTO }: { imageDTO: ImageDTO }) => {
const imageViewer = useImageViewer();
const { t } = useTranslation();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
imageViewer.openImageInViewer(imageDTO);
}, [imageDTO, imageViewer]);
return (
}
tooltip={t('gallery.openInViewer')}
position="absolute"
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryPagination.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryPagination.tsx
index b6c12b1c35..27776ab77d 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryPagination.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryPagination.tsx
@@ -9,11 +9,11 @@ export const GalleryPagination = () => {
const { goPrev, goNext, isPrevEnabled, isNextEnabled, pageButtons, goToPage, currentPage, total } =
useGalleryPagination();
- const onPointerUpPrev = useCallback(() => {
+ const onClickPrev = useCallback(() => {
goPrev();
}, [goPrev]);
- const onPointerUpNext = useCallback(() => {
+ const onClickNext = useCallback(() => {
goNext();
}, [goNext]);
@@ -27,7 +27,7 @@ export const GalleryPagination = () => {
size="sm"
aria-label="prev"
icon={}
- onPointerUp={onPointerUpPrev}
+ onClick={onClickPrev}
isDisabled={!isPrevEnabled}
variant="ghost"
/>
@@ -40,7 +40,7 @@ export const GalleryPagination = () => {
size="sm"
aria-label="next"
icon={}
- onPointerUp={onPointerUpNext}
+ onClick={onClickNext}
isDisabled={!isNextEnabled}
variant="ghost"
/>
@@ -64,11 +64,7 @@ const PageButton = ({ page, currentPage, goToPage }: PageButtonProps) => {
);
}
return (
-
+
{page}
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GallerySearch.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GallerySearch.tsx
index 468463b81e..bb2fe8ff29 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GallerySearch.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GallerySearch.tsx
@@ -54,7 +54,7 @@ export const GallerySearch = ({ searchTerm, onChangeSearchTerm, onResetSearchTer
{!isPending && searchTerm.length && (
{selection.length} {t('common.selected')}
-
+
);
});
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/JumpTo.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/JumpTo.tsx
index fdf143c1c6..72f4bba4e8 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/JumpTo.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/JumpTo.tsx
@@ -35,7 +35,7 @@ export const JumpTo = () => {
setNewPage(v - 1);
}, []);
- const onPointerUpGo = useCallback(() => {
+ const onClickGo = useCallback(() => {
goToPage(newPage);
onClose();
}, [newPage, goToPage, onClose]);
@@ -43,10 +43,10 @@ export const JumpTo = () => {
useHotkeys(
'enter',
() => {
- onPointerUpGo();
+ onClickGo();
},
{ enabled: isOpen, enableOnFormTags: ['input'] },
- [isOpen, onPointerUpGo]
+ [isOpen, onClickGo]
);
useHotkeys(
@@ -66,7 +66,7 @@ export const JumpTo = () => {
return (
-
+
{t('gallery.jump')}
@@ -86,7 +86,7 @@ export const JumpTo = () => {
onChange={onChangeJumpTo}
/>
-
+
{t('gallery.go')}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/DataViewer.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/DataViewer.tsx
index 38b22fe345..2cbf93b899 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/DataViewer.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/DataViewer.tsx
@@ -56,7 +56,7 @@ const DataViewer = (props: Props) => {
icon={}
variant="ghost"
opacity={0.7}
- onPointerUp={handleDownload}
+ onClick={handleDownload}
/>
)}
@@ -67,7 +67,7 @@ const DataViewer = (props: Props) => {
icon={}
variant="ghost"
opacity={0.7}
- onPointerUp={handleCopy}
+ onClick={handleCopy}
/>
)}
@@ -105,7 +105,7 @@ const ExtraCopyAction = ({ label, data, getData }: ExtraCopyActionProps) => {
icon={}
variant="ghost"
opacity={0.7}
- onPointerUp={handleCopy}
+ onClick={handleCopy}
/>
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CompareToolbar.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CompareToolbar.tsx
index dba14d786a..5a6d326a52 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CompareToolbar.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CompareToolbar.tsx
@@ -67,13 +67,13 @@ export const CompareToolbar = memo(() => {
icon={}
aria-label={`${t('gallery.swapImages')} (C)`}
tooltip={`${t('gallery.swapImages')} (C)`}
- onPointerUp={swapImages}
+ onClick={swapImages}
/>
{comparisonMode !== 'side-by-side' && (
}
@@ -85,21 +85,21 @@ export const CompareToolbar = memo(() => {
{t('gallery.slider')}
{t('gallery.sideBySide')}
{t('gallery.hover')}
@@ -117,7 +117,7 @@ export const CompareToolbar = memo(() => {
variant="ghost"
aria-label={`${t('gallery.exitCompare')} (Esc)`}
tooltip={`${t('gallery.exitCompare')} (Esc)`}
- onPointerUp={exitCompare}
+ onClick={exitCompare}
>
{t('gallery.exitCompare')}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CurrentImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CurrentImageButtons.tsx
index e0cf5001e4..c8c6e3f1ee 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CurrentImageButtons.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/CurrentImageButtons.tsx
@@ -65,34 +65,34 @@ const CurrentImageButtonsContent = memo(({ imageDTO }: { imageDTO: ImageDTO }) =
tooltip={`${t('nodes.loadWorkflow')} (W)`}
aria-label={`${t('nodes.loadWorkflow')} (W)`}
isDisabled={!imageActions.hasWorkflow || !hasTemplates}
- onPointerUp={imageActions.loadWorkflow}
+ onClick={imageActions.loadWorkflow}
/>
}
tooltip={`${t('parameters.remixImage')} (R)`}
aria-label={`${t('parameters.remixImage')} (R)`}
isDisabled={!imageActions.hasMetadata}
- onPointerUp={imageActions.remix}
+ onClick={imageActions.remix}
/>
}
tooltip={`${t('parameters.usePrompt')} (P)`}
aria-label={`${t('parameters.usePrompt')} (P)`}
isDisabled={!imageActions.hasPrompts}
- onPointerUp={imageActions.recallPrompts}
+ onClick={imageActions.recallPrompts}
/>
}
tooltip={`${t('parameters.useSeed')} (S)`}
aria-label={`${t('parameters.useSeed')} (S)`}
isDisabled={!imageActions.hasSeed}
- onPointerUp={imageActions.recallSeed}
+ onClick={imageActions.recallSeed}
/>
}
tooltip={`${t('parameters.useSize')} (D)`}
aria-label={`${t('parameters.useSize')} (D)`}
- onPointerUp={imageActions.recallSize}
+ onClick={imageActions.recallSize}
isDisabled={isStaging}
/>
@@ -111,7 +111,7 @@ const CurrentImageButtonsContent = memo(({ imageDTO }: { imageDTO: ImageDTO }) =
)}
-
+
>
);
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleMetadataViewerButton.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleMetadataViewerButton.tsx
index 0624272cea..e728a87caf 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleMetadataViewerButton.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleMetadataViewerButton.tsx
@@ -36,7 +36,7 @@ export const ToggleMetadataViewerButton = memo(() => {
icon={}
tooltip={`${t('parameters.info')} (I)`}
aria-label={`${t('parameters.info')} (I)`}
- onPointerUp={toggleMetadataViewer}
+ onClick={toggleMetadataViewer}
isDisabled={!imageDTO}
variant="outline"
colorScheme={shouldShowImageDetails ? 'invokeBlue' : 'base'}
diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleProgressButton.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleProgressButton.tsx
index 757a99779e..de3967f945 100644
--- a/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleProgressButton.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/ImageViewer/ToggleProgressButton.tsx
@@ -11,7 +11,7 @@ export const ToggleProgressButton = memo(() => {
const shouldShowProgressInViewer = useAppSelector(selectShouldShowProgressInViewer);
const { t } = useTranslation();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(setShouldShowProgressInViewer(!shouldShowProgressInViewer));
}, [dispatch, shouldShowProgressInViewer]);
@@ -20,7 +20,7 @@ export const ToggleProgressButton = memo(() => {
aria-label={t('settings.displayInProgress')}
tooltip={t('settings.displayInProgress')}
icon={}
- onPointerUp={onPointerUp}
+ onClick={onClick}
variant="outline"
colorScheme={shouldShowProgressInViewer ? 'invokeBlue' : 'base'}
data-testid="toggle-show-progress-button"
diff --git a/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx
index fd6534293e..573fae141c 100644
--- a/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx
+++ b/invokeai/frontend/web/src/features/gallery/components/NextPrevImageButtons.tsx
@@ -24,7 +24,7 @@ const NextPrevImageButtons = ({ inset = 8 }: { inset?: ChakraProps['insetInlineS
return false;
}, [isOnFirstImageOfView, isPrevEnabled]);
- const onPointerUpLeftArrow = useCallback(() => {
+ const onClickLeftArrow = useCallback(() => {
if (isOnFirstImageOfView) {
if (isPrevEnabled && !isFetching) {
goPrev('arrow');
@@ -44,7 +44,7 @@ const NextPrevImageButtons = ({ inset = 8 }: { inset?: ChakraProps['insetInlineS
return false;
}, [isNextEnabled, isOnLastImageOfView]);
- const onPointerUpRightArrow = useCallback(() => {
+ const onClickRightArrow = useCallback(() => {
if (isOnLastImageOfView) {
if (isNextEnabled && !isFetching) {
goNext('arrow');
@@ -64,7 +64,7 @@ const NextPrevImageButtons = ({ inset = 8 }: { inset?: ChakraProps['insetInlineS
aria-label={t('accessibility.previousImage')}
icon={}
variant="unstyled"
- onPointerUp={onPointerUpLeftArrow}
+ onClick={onClickLeftArrow}
isDisabled={isFetching}
color="base.100"
pointerEvents="auto"
@@ -79,7 +79,7 @@ const NextPrevImageButtons = ({ inset = 8 }: { inset?: ChakraProps['insetInlineS
aria-label={t('accessibility.nextImage')}
icon={}
variant="unstyled"
- onPointerUp={onPointerUpRightArrow}
+ onClick={onClickRightArrow}
isDisabled={isFetching}
color="base.100"
pointerEvents="auto"
diff --git a/invokeai/frontend/web/src/features/lora/components/LoRACard.tsx b/invokeai/frontend/web/src/features/lora/components/LoRACard.tsx
index d0c44ff4b1..28c0ea8198 100644
--- a/invokeai/frontend/web/src/features/lora/components/LoRACard.tsx
+++ b/invokeai/frontend/web/src/features/lora/components/LoRACard.tsx
@@ -56,7 +56,7 @@ export const LoRACard = memo((props: LoRACardProps) => {
aria-label="Remove LoRA"
variant="ghost"
size="sm"
- onPointerUp={handleRemoveLora}
+ onClick={handleRemoveLora}
icon={}
/>
diff --git a/invokeai/frontend/web/src/features/metadata/components/MetadataItemView.tsx b/invokeai/frontend/web/src/features/metadata/components/MetadataItemView.tsx
index 53a38f1898..233e427798 100644
--- a/invokeai/frontend/web/src/features/metadata/components/MetadataItemView.tsx
+++ b/invokeai/frontend/web/src/features/metadata/components/MetadataItemView.tsx
@@ -14,7 +14,7 @@ export const MetadataItemView = memo(
({ label, onRecall, isDisabled, renderedValue, direction = 'row' }: MetadataItemViewProps) => {
return (
- {onRecall && }
+ {onRecall && }
{label}:
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/hooks/useStarterModelsToast.tsx b/invokeai/frontend/web/src/features/modelManagerV2/hooks/useStarterModelsToast.tsx
index a698564935..101394f85a 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/hooks/useStarterModelsToast.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/hooks/useStarterModelsToast.tsx
@@ -43,7 +43,7 @@ const ToastDescription = () => {
const dispatch = useAppDispatch();
const toast = useToast();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(setActiveTab('models'));
$installModelsTab.set(3);
toast.close(TOAST_ID);
@@ -52,7 +52,7 @@ const ToastDescription = () => {
return (
{t('modelManager.noModelsInstalledDesc1')}{' '}
-
+
{t('ui.tabs.modelsTab')}.
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceForm.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceForm.tsx
index 17e84851f9..905063f900 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceForm.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceForm.tsx
@@ -51,7 +51,7 @@ export const HuggingFaceForm = memo(() => {
onChange={handleSetHuggingFaceRepo}
/>
{
const [installModel] = useInstallModel();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
installModel({ source: result });
}, [installModel, result]);
@@ -24,7 +24,7 @@ export const HuggingFaceResultItem = memo(({ result }: Props) => {
{result}
- } onPointerUp={onPointerUp} size="sm" />
+ } onClick={onClick} size="sm" />
);
});
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceResults.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceResults.tsx
index ed00edbf63..25546c6822 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceResults.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/HuggingFaceFolder/HuggingFaceResults.tsx
@@ -42,7 +42,7 @@ export const HuggingFaceResults = memo(({ results }: HuggingFaceResultsProps) =>
setSearchTerm('');
}, []);
- const onPointerUpAddAll = useCallback(() => {
+ const onClickAddAll = useCallback(() => {
for (const result of filteredResults) {
installModel({ source: result });
}
@@ -55,7 +55,7 @@ export const HuggingFaceResults = memo(({ results }: HuggingFaceResultsProps) =>
{t('modelManager.availableModels')}
-
+
{t('modelManager.installAll')}
@@ -74,7 +74,7 @@ export const HuggingFaceResults = memo(({ results }: HuggingFaceResultsProps) =>
variant="link"
aria-label={t('boards.clearSearch')}
icon={}
- onPointerUp={clearSearch}
+ onClick={clearSearch}
/>
)}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/InstallModelForm.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/InstallModelForm.tsx
index 21931ff651..64eb725e5e 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/InstallModelForm.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/InstallModelForm.tsx
@@ -48,7 +48,7 @@ export const InstallModelForm = memo(() => {
{
{t('modelManager.prune')}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ModelInstallQueue/ModelInstallQueueItem.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ModelInstallQueue/ModelInstallQueueItem.tsx
index 6cd1a80593..b14b1fbc4c 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ModelInstallQueue/ModelInstallQueueItem.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ModelInstallQueue/ModelInstallQueueItem.tsx
@@ -119,7 +119,7 @@ export const ModelInstallQueueItem = memo((props: ModelListItemProps) => {
tooltip={t('modelManager.cancel')}
aria-label={t('modelManager.cancel')}
icon={}
- onPointerUp={handleDeleteModelImport}
+ onClick={handleDeleteModelImport}
variant="ghost"
/>
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderForm.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderForm.tsx
index 5c6e3b4ca5..d95196b46b 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderForm.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderForm.tsx
@@ -43,7 +43,7 @@ export const ScanModelsForm = memo(() => {
{
{result.is_installed ? (
{t('common.installed')}
) : (
- }
- onPointerUp={handleInstall}
- size="sm"
- />
+ } onClick={handleInstall} size="sm" />
)}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderResults.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderResults.tsx
index c59e53ed2d..ee8b834a29 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderResults.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/ScanFolder/ScanFolderResults.tsx
@@ -77,7 +77,7 @@ export const ScanModelsResults = memo(({ results }: ScanModelResultsProps) => {
{t('modelManager.inplaceInstall')}
-
+
{t('modelManager.installAll')}
@@ -96,7 +96,7 @@ export const ScanModelsResults = memo(({ results }: ScanModelResultsProps) => {
variant="link"
aria-label={t('boards.clearSearch')}
icon={}
- onPointerUp={clearSearch}
+ onClick={clearSearch}
flexShrink={0}
/>
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StartModelsResultItem.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StartModelsResultItem.tsx
index 2ad8407595..81913f3e8e 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StartModelsResultItem.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StartModelsResultItem.tsx
@@ -38,7 +38,7 @@ export const StarterModelsResultItem = memo(({ result, modelList }: Props) => {
}, [result]);
const [installModel] = useInstallModel();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
for (const { config, source } of allSources) {
if (modelList.some((mc) => config.base === mc.base && config.name === mc.name && config.type === mc.type)) {
continue;
@@ -61,12 +61,7 @@ export const StarterModelsResultItem = memo(({ result, modelList }: Props) => {
{result.is_installed ? (
{t('common.installed')}
) : (
- }
- onPointerUp={onPointerUp}
- size="sm"
- />
+ } onClick={onClick} size="sm" />
)}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StarterModelsResults.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StarterModelsResults.tsx
index 25c89445c4..c443171060 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StarterModelsResults.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/AddModelPanel/StarterModels/StarterModelsResults.tsx
@@ -63,7 +63,7 @@ export const StarterModelsResults = memo(({ results, modelList }: StarterModelsR
variant="link"
aria-label={t('boards.clearSearch')}
icon={}
- onPointerUp={clearSearch}
+ onClick={clearSearch}
flexShrink={0}
/>
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/InstallModels.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/InstallModels.tsx
index 812cb4ebca..754dab8c78 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/InstallModels.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/InstallModels.tsx
@@ -20,7 +20,7 @@ export const InstallModels = memo(() => {
$installModelsTab.set(index);
}, []);
- const onPointerUpLearnMore = useCallback(() => {
+ const onClickLearnMore = useCallback(() => {
window.open('https://support.invoke.ai/support/solutions/articles/151000170961-supported-models');
}, []);
@@ -28,7 +28,7 @@ export const InstallModels = memo(() => {
{t('modelManager.addModel')}
- } onPointerUp={onPointerUpLearnMore}>
+ } onClick={onClickLearnMore}>
{t('modelManager.learnMoreAboutSupportedModels')}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManager.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManager.tsx
index c082af32b3..a07cb8c10b 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManager.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManager.tsx
@@ -19,7 +19,7 @@ export const ModelManager = memo(() => {
{t('common.modelManager')}
- } onPointerUp={handleClickAddModel}>
+ } onClick={handleClickAddModel}>
{t('modelManager.addModels')}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListItem.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListItem.tsx
index 8958df5a17..60e4964b6d 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListItem.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListItem.tsx
@@ -43,7 +43,7 @@ const ModelListItem = ({ model }: ModelListItemProps) => {
dispatch(setSelectedModelKey(model.key));
}, [model.key, dispatch]);
- const onPointerUpDeleteButton = useCallback(
+ const onClickDeleteButton = useCallback(
(e: MouseEvent) => {
e.stopPropagation();
onOpen();
@@ -83,7 +83,7 @@ const ModelListItem = ({ model }: ModelListItemProps) => {
alignItems="center"
gap={2}
cursor="pointer"
- onPointerUp={handleSelectModel}
+ onClick={handleSelectModel}
>
@@ -110,7 +110,7 @@ const ModelListItem = ({ model }: ModelListItemProps) => {
}
aria-label={t('modelManager.deleteConfig')}
colorScheme="error"
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListNavigation.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListNavigation.tsx
index d4459b94b0..c0a85216a9 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListNavigation.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelListNavigation.tsx
@@ -42,7 +42,7 @@ export const ModelListNavigation = memo(() => {
variant="link"
aria-label={t('boards.clearSearch')}
icon={}
- onPointerUp={clearSearch}
+ onClick={clearSearch}
/>
)}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelTypeFilter.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelTypeFilter.tsx
index 4814d077ec..f395c70d0e 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelTypeFilter.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelManagerPanel/ModelTypeFilter.tsx
@@ -46,12 +46,12 @@ export const ModelTypeFilter = memo(() => {
{filteredModelType ? MODEL_TYPE_LABELS[filteredModelType] : t('modelManager.allModels')}
- {t('modelManager.allModels')}
+ {t('modelManager.allModels')}
{objectKeys(MODEL_TYPE_LABELS).map((option) => (
{MODEL_TYPE_LABELS[option]}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx
index 314a8c1939..25005e76c9 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ControlNetOrT2IAdapterDefaultSettings/ControlNetOrT2IAdapterDefaultSettings.tsx
@@ -71,7 +71,7 @@ export const ControlNetOrT2IAdapterDefaultSettings = memo(({ modelConfig }: Prop
leftIcon={}
colorScheme="invokeYellow"
isDisabled={!formState.isDirty}
- onPointerUp={handleSubmit(onSubmit)}
+ onClick={handleSubmit(onSubmit)}
isLoading={isLoadingUpdateModel}
>
{t('common.save')}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/Fields/ModelImageUpload.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/Fields/ModelImageUpload.tsx
index 80827ef58c..292835a7b7 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/Fields/ModelImageUpload.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/Fields/ModelImageUpload.tsx
@@ -94,7 +94,7 @@ const ModelImageUpload = ({ model_key, model_image }: Props) => {
position="absolute"
insetInlineEnd={0}
insetBlockStart={0}
- onPointerUp={handleResetImage}
+ onClick={handleResetImage}
aria-label={t('modelManager.deleteModelImage')}
tooltip={t('modelManager.deleteModelImage')}
icon={}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx
index a33496a955..714d2a6b2a 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/MainModelDefaultSettings/MainModelDefaultSettings.tsx
@@ -116,7 +116,7 @@ export const MainModelDefaultSettings = memo(({ modelConfig }: Props) => {
leftIcon={}
colorScheme="invokeYellow"
isDisabled={!formState.isDirty}
- onPointerUp={handleSubmit(onSubmit)}
+ onClick={handleSubmit(onSubmit)}
isLoading={isLoadingUpdateModel}
>
{t('common.save')}
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelConvertButton.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelConvertButton.tsx
index 55d65f1c0f..14119374d4 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelConvertButton.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelConvertButton.tsx
@@ -52,7 +52,7 @@ export const ModelConvertButton = memo(({ modelConfig }: ModelConvertProps) => {
return (
<>
{
return (
- }>
+ }>
{t('common.cancel')}
{
size="sm"
colorScheme="invokeYellow"
leftIcon={}
- onPointerUp={form.handleSubmit(onSubmit)}
+ onClick={form.handleSubmit(onSubmit)}
isLoading={isSubmitting}
isDisabled={Boolean(Object.keys(form.formState.errors).length)}
>
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEditButton.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEditButton.tsx
index b9cb7eac1e..c308426bc4 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEditButton.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/ModelEditButton.tsx
@@ -14,13 +14,7 @@ export const ModelEditButton = memo(() => {
}, [dispatch]);
return (
- }
- colorScheme="invokeYellow"
- onPointerUp={handleEditModel}
- flexShrink={0}
- >
+ } colorScheme="invokeYellow" onClick={handleEditModel} flexShrink={0}>
{t('modelManager.edit')}
);
diff --git a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/TriggerPhrases.tsx b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/TriggerPhrases.tsx
index 421556f851..3f5133dedf 100644
--- a/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/TriggerPhrases.tsx
+++ b/invokeai/frontend/web/src/features/modelManagerV2/subpanels/ModelPanel/TriggerPhrases.tsx
@@ -85,7 +85,7 @@ export const TriggerPhrases = memo(({ modelConfig }: Props) => {
}
size="sm"
- onPointerUp={addTriggerPhrase}
+ onClick={addTriggerPhrase}
isDisabled={!phrase || Boolean(errors.length)}
isLoading={isLoading}
>
@@ -103,7 +103,7 @@ export const TriggerPhrases = memo(({ modelConfig }: Props) => {
{triggerPhrases.map((phrase, index) => (
{phrase}
-
+
))}
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/EditableFieldTitle.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/EditableFieldTitle.tsx
index ea2ef1ffdb..49fd320558 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/EditableFieldTitle.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/EditableFieldTitle.tsx
@@ -13,7 +13,7 @@ import { useFieldLabel } from 'features/nodes/hooks/useFieldLabel';
import { useFieldTemplateTitle } from 'features/nodes/hooks/useFieldTemplateTitle';
import { fieldLabelChanged } from 'features/nodes/store/nodesSlice';
import { HANDLE_TOOLTIP_OPEN_DELAY } from 'features/nodes/types/constants';
-import type { PointerEvent } from 'react';
+import type { MouseEvent } from 'react';
import { memo, useCallback, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
@@ -112,12 +112,12 @@ export default memo(EditableFieldTitle);
const EditableControls = memo(() => {
const { isEditing, getEditButtonProps } = useEditableControls();
const handleClick = useCallback(
- (e: PointerEvent) => {
- const { onPointerUp } = getEditButtonProps();
- if (!onPointerUp) {
+ (e: MouseEvent) => {
+ const { onClick } = getEditButtonProps();
+ if (!onClick) {
return;
}
- onPointerUp(e);
+ onClick(e);
e.preventDefault();
},
[getEditButtonProps]
@@ -129,7 +129,7 @@ const EditableControls = memo(() => {
return (
{
tooltip={t('nodes.addLinearView')}
aria-label={t('nodes.addLinearView')}
icon={}
- onPointerUp={handleExposeField}
+ onClick={handleExposeField}
pointerEvents="auto"
size="xs"
/>
@@ -57,7 +57,7 @@ const FieldLinearViewToggle = ({ nodeId, fieldName }: Props) => {
tooltip={t('nodes.removeLinearView')}
aria-label={t('nodes.removeLinearView')}
icon={}
- onPointerUp={handleUnexposeField}
+ onClick={handleUnexposeField}
pointerEvents="auto"
size="xs"
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/LinearViewField.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/LinearViewField.tsx
index 82d657a4f6..ef466b2882 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/LinearViewField.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/LinearViewField.tsx
@@ -71,7 +71,7 @@ const LinearViewFieldInternal = ({ nodeId, fieldName }: Props) => {
tooltip={t('nodes.resetToDefaultValue')}
variant="ghost"
size="sm"
- onPointerUp={onReset}
+ onClick={onReset}
icon={}
/>
)}
@@ -89,7 +89,7 @@ const LinearViewFieldInternal = ({ nodeId, fieldName }: Props) => {
tooltip={t('nodes.removeLinearView')}
variant="ghost"
size="sm"
- onPointerUp={handleRemoveField}
+ onClick={handleRemoveField}
icon={}
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/inputs/ImageFieldInputComponent.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/inputs/ImageFieldInputComponent.tsx
index bdf5352765..c5539d902b 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/inputs/ImageFieldInputComponent.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/inputs/ImageFieldInputComponent.tsx
@@ -88,7 +88,7 @@ const ImageFieldInputComponent = (props: FieldComponentProps
: undefined}
tooltip="Reset Image"
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeCollapseButton.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeCollapseButton.tsx
index 2024b02aa1..372854b703 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeCollapseButton.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeCollapseButton.tsx
@@ -22,7 +22,7 @@ const NodeCollapseButton = ({ nodeId, isOpen }: Props) => {
return (
) => {
- const { onPointerUp } = getEditButtonProps();
- if (!onPointerUp) {
+ (e: MouseEvent) => {
+ const { onClick } = getEditButtonProps();
+ if (!onClick) {
return;
}
- onPointerUp(e);
+ onClick(e);
},
[getEditButtonProps]
);
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeWrapper.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeWrapper.tsx
index 3b4bd72e3f..7ae3872864 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeWrapper.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/common/NodeWrapper.tsx
@@ -59,7 +59,7 @@ const NodeWrapper = (props: NodeWrapperProps) => {
return (
{
}
/>
}
/>
}
/>
{/* {
}
/>
*/}
@@ -74,7 +74,7 @@ const ViewportControls = () => {
tooltip={shouldShowMinimapPanel ? t('nodes.hideMinimapnodes') : t('nodes.showMinimapnodes')}
aria-label={shouldShowMinimapPanel ? t('nodes.hideMinimapnodes') : t('nodes.showMinimapnodes')}
isChecked={shouldShowMinimapPanel}
- onPointerUp={handleClickedToggleMiniMapPanel}
+ onClick={handleClickedToggleMiniMapPanel}
icon={}
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/AddNodeButton.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/AddNodeButton.tsx
index be354ee460..72beff084c 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/AddNodeButton.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/AddNodeButton.tsx
@@ -13,7 +13,7 @@ const AddNodeButton = () => {
tooltip={t('nodes.addNodeToolTip')}
aria-label={t('nodes.addNode')}
icon={}
- onPointerUp={addNodeCmdk.setTrue}
+ onClick={addNodeCmdk.setTrue}
pointerEvents="auto"
/>
);
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/ClearFlowButton.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/ClearFlowButton.tsx
index 295779165b..87f7ad71ce 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/ClearFlowButton.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/ClearFlowButton.tsx
@@ -25,7 +25,7 @@ const ClearFlowButton = () => {
onClose();
}, [dispatch, onClose, t]);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (!isTouched) {
handleNewWorkflow();
return;
@@ -39,7 +39,7 @@ const ClearFlowButton = () => {
tooltip={t('nodes.clearWorkflow')}
aria-label={t('nodes.clearWorkflow')}
icon={}
- onPointerUp={onPointerUp}
+ onClick={onClick}
pointerEvents="auto"
/>
{
aria-label={t('workflows.saveWorkflow')}
icon={}
isDisabled={!isTouched}
- onPointerUp={handleClickSave}
+ onClick={handleClickSave}
pointerEvents="auto"
/>
);
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/UpdateNodesButton.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/UpdateNodesButton.tsx
index f521521923..9fa710bfb5 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/UpdateNodesButton.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopPanel/UpdateNodesButton.tsx
@@ -23,7 +23,7 @@ const UpdateNodesButton = () => {
tooltip={t('nodes.updateAllNodes')}
aria-label={t('nodes.updateAllNodes')}
icon={}
- onPointerUp={handleClickUpdateNodes}
+ onClick={handleClickUpdateNodes}
pointerEvents="auto"
colorScheme="warning"
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopRightPanel/ReloadSchemaButton.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopRightPanel/ReloadSchemaButton.tsx
index f7f75c1487..86fa639bf7 100644
--- a/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopRightPanel/ReloadSchemaButton.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/flow/panels/TopRightPanel/ReloadSchemaButton.tsx
@@ -17,7 +17,7 @@ const ReloadNodeTemplatesButton = () => {
leftIcon={}
tooltip={t('nodes.reloadNodeTemplates')}
aria-label={t('nodes.reloadNodeTemplates')}
- onPointerUp={handleReloadSchema}
+ onClick={handleReloadSchema}
>
{t('nodes.reloadNodeTemplates')}
diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/ModeToggle.tsx b/invokeai/frontend/web/src/features/nodes/components/sidePanel/ModeToggle.tsx
index 72ae6b2e90..d1af8e7a74 100644
--- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/ModeToggle.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/ModeToggle.tsx
@@ -10,11 +10,11 @@ export const ModeToggle = () => {
const mode = useAppSelector(selectWorkflowMode);
const { t } = useTranslation();
- const onPointerUpEdit = useCallback(() => {
+ const onClickEdit = useCallback(() => {
dispatch(workflowModeChanged('edit'));
}, [dispatch]);
- const onPointerUpView = useCallback(() => {
+ const onClickView = useCallback(() => {
dispatch(workflowModeChanged('view'));
}, [dispatch]);
@@ -24,7 +24,7 @@ export const ModeToggle = () => {
}
colorScheme="invokeBlue"
/>
@@ -33,7 +33,7 @@ export const ModeToggle = () => {
}
colorScheme="invokeBlue"
/>
diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/EmptyState.tsx b/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/EmptyState.tsx
index 664ebbd545..322e7014ca 100644
--- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/EmptyState.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/EmptyState.tsx
@@ -9,7 +9,7 @@ export const EmptyState = () => {
const { t } = useTranslation();
const dispatch = useAppDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(workflowModeChanged('edit'));
}, [dispatch]);
@@ -46,7 +46,7 @@ export const EmptyState = () => {
{t('nodes.noFieldsViewMode')}
-
+
{t('nodes.edit')}
diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/WorkflowField.tsx b/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/WorkflowField.tsx
index bda5827636..482de6693e 100644
--- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/WorkflowField.tsx
+++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/viewMode/WorkflowField.tsx
@@ -32,7 +32,7 @@ const WorkflowFieldInternal = ({ nodeId, fieldName }: Props) => {
tooltip={t('nodes.resetToDefaultValue')}
variant="ghost"
size="sm"
- onPointerUp={onReset}
+ onClick={onReset}
icon={}
/>
)}
diff --git a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxLockAspectRatioButton.tsx b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxLockAspectRatioButton.tsx
index 64238f017e..c8ea636242 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxLockAspectRatioButton.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxLockAspectRatioButton.tsx
@@ -15,7 +15,7 @@ export const BboxLockAspectRatioButton = memo(() => {
const dispatch = useAppDispatch();
const isLocked = useAppSelector(selectAspectRatioIsLocked);
const isStaging = useAppSelector(selectIsStaging);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(bboxAspectRatioLockToggled());
}, [dispatch]);
@@ -23,7 +23,7 @@ export const BboxLockAspectRatioButton = memo(() => {
: }
diff --git a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSetOptimalSizeButton.tsx b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSetOptimalSizeButton.tsx
index 799634ad84..b01fd78a5f 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSetOptimalSizeButton.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSetOptimalSizeButton.tsx
@@ -27,7 +27,7 @@ export const BboxSetOptimalSizeButton = memo(() => {
() => getIsSizeTooLarge(width, height, optimalDimension),
[height, width, optimalDimension]
);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(bboxSizeOptimized());
}, [dispatch]);
const tooltip = useMemo(() => {
@@ -44,7 +44,7 @@ export const BboxSetOptimalSizeButton = memo(() => {
}
diff --git a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSwapDimensionsButton.tsx b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSwapDimensionsButton.tsx
index e76775286c..a516cd27a9 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSwapDimensionsButton.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Bbox/BboxSwapDimensionsButton.tsx
@@ -10,14 +10,14 @@ export const BboxSwapDimensionsButton = memo(() => {
const { t } = useTranslation();
const dispatch = useAppDispatch();
const isStaging = useAppSelector(selectIsStaging);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(bboxDimensionsSwapped());
}, [dispatch]);
return (
}
diff --git a/invokeai/frontend/web/src/features/parameters/components/MainModel/NavigateToModelManagerButton.tsx b/invokeai/frontend/web/src/features/parameters/components/MainModel/NavigateToModelManagerButton.tsx
index cd01891b42..cd29a8035b 100644
--- a/invokeai/frontend/web/src/features/parameters/components/MainModel/NavigateToModelManagerButton.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/MainModel/NavigateToModelManagerButton.tsx
@@ -25,7 +25,7 @@ export const NavigateToModelManagerButton = memo((props: Omit}
tooltip={`${t('common.goTo')} ${t('ui.tabs.modelsTab')}`}
aria-label={`${t('common.goTo')} ${t('ui.tabs.modelsTab')}`}
- onPointerUp={handleClick}
+ onClick={handleClick}
size="sm"
variant="ghost"
{...props}
diff --git a/invokeai/frontend/web/src/features/parameters/components/MainModel/UseDefaultSettingsButton.tsx b/invokeai/frontend/web/src/features/parameters/components/MainModel/UseDefaultSettingsButton.tsx
index 3e1f99a846..739ae445fe 100644
--- a/invokeai/frontend/web/src/features/parameters/components/MainModel/UseDefaultSettingsButton.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/MainModel/UseDefaultSettingsButton.tsx
@@ -21,7 +21,7 @@ export const UseDefaultSettingsButton = () => {
tooltip={t('modelManager.useDefaultSettings')}
aria-label={t('modelManager.useDefaultSettings')}
isDisabled={!model}
- onPointerUp={handleClickDefaultSettings}
+ onClick={handleClickDefaultSettings}
size="sm"
variant="ghost"
/>
diff --git a/invokeai/frontend/web/src/features/parameters/components/PostProcessing/PostProcessingPopover.tsx b/invokeai/frontend/web/src/features/parameters/components/PostProcessing/PostProcessingPopover.tsx
index 9cea57b509..2b8b335994 100644
--- a/invokeai/frontend/web/src/features/parameters/components/PostProcessing/PostProcessingPopover.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/PostProcessing/PostProcessingPopover.tsx
@@ -44,7 +44,7 @@ export const PostProcessingPopover = memo((props: Props) => {
}
aria-label={t('parameters.postProcessing')}
/>
@@ -54,11 +54,7 @@ export const PostProcessingPopover = memo((props: Props) => {
{!postProcessingModel && }
-
+
{t('parameters.processImage')}
@@ -85,7 +81,7 @@ const MissingModelWarning = () => {
i18nKey="upscaling.postProcessingMissingModelWarning"
components={{
LinkComponent: (
-
+
),
}}
/>
diff --git a/invokeai/frontend/web/src/features/parameters/components/Prompts/ViewModePrompt.tsx b/invokeai/frontend/web/src/features/parameters/components/Prompts/ViewModePrompt.tsx
index 0a9a82c6ea..d2801dd34c 100644
--- a/invokeai/frontend/web/src/features/parameters/components/Prompts/ViewModePrompt.tsx
+++ b/invokeai/frontend/web/src/features/parameters/components/Prompts/ViewModePrompt.tsx
@@ -32,7 +32,7 @@ export const ViewModePrompt = ({
{
}
flexShrink={0}
>
diff --git a/invokeai/frontend/web/src/features/prompt/AddPromptTriggerButton.tsx b/invokeai/frontend/web/src/features/prompt/AddPromptTriggerButton.tsx
index 4c0778ab06..bda8f2eed2 100644
--- a/invokeai/frontend/web/src/features/prompt/AddPromptTriggerButton.tsx
+++ b/invokeai/frontend/web/src/features/prompt/AddPromptTriggerButton.tsx
@@ -18,7 +18,7 @@ export const AddPromptTriggerButton = memo((props: Props) => {
isDisabled={isOpen}
aria-label={t('prompt.addPromptTrigger')}
icon={}
- onPointerUp={onOpen}
+ onClick={onOpen}
/>
);
diff --git a/invokeai/frontend/web/src/features/queue/components/ClearInvocationCacheButton.tsx b/invokeai/frontend/web/src/features/queue/components/ClearInvocationCacheButton.tsx
index 2a6e27617a..52b1b237e7 100644
--- a/invokeai/frontend/web/src/features/queue/components/ClearInvocationCacheButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/ClearInvocationCacheButton.tsx
@@ -8,7 +8,7 @@ const ClearInvocationCacheButton = () => {
const { clearInvocationCache, isDisabled, isLoading } = useClearInvocationCache();
return (
-
+
{t('invocationCache.clear')}
);
diff --git a/invokeai/frontend/web/src/features/queue/components/ClearQueueButton.tsx b/invokeai/frontend/web/src/features/queue/components/ClearQueueButton.tsx
index cb7a325563..297eb313e4 100644
--- a/invokeai/frontend/web/src/features/queue/components/ClearQueueButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/ClearQueueButton.tsx
@@ -20,7 +20,7 @@ const ClearQueueButton = (props: Props) => {
tooltip={t('queue.clearTooltip')}
leftIcon={}
colorScheme="error"
- onPointerUp={clearQueue.openDialog}
+ onClick={clearQueue.openDialog}
data-testid={t('queue.clear')}
{...props}
>
diff --git a/invokeai/frontend/web/src/features/queue/components/ClearQueueIconButton.tsx b/invokeai/frontend/web/src/features/queue/components/ClearQueueIconButton.tsx
index 12a2e18de4..9d9ccc0b49 100644
--- a/invokeai/frontend/web/src/features/queue/components/ClearQueueIconButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/ClearQueueIconButton.tsx
@@ -24,7 +24,7 @@ export const ClearQueueIconButton = memo((_) => {
tooltip={shift ? t('queue.clearTooltip') : t('queue.cancelTooltip')}
icon={shift ? : }
colorScheme="error"
- onPointerUp={shift ? clearQueue.openDialog : cancelCurrentQueueItem.cancelQueueItem}
+ onClick={shift ? clearQueue.openDialog : cancelCurrentQueueItem.cancelQueueItem}
data-testid={shift ? t('queue.clear') : t('queue.cancel')}
/>
);
diff --git a/invokeai/frontend/web/src/features/queue/components/InvokeQueueBackButton.tsx b/invokeai/frontend/web/src/features/queue/components/InvokeQueueBackButton.tsx
index 83b4e7524f..54b076bee9 100644
--- a/invokeai/frontend/web/src/features/queue/components/InvokeQueueBackButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/InvokeQueueBackButton.tsx
@@ -20,7 +20,7 @@ export const InvokeButton = memo(() => {
{
isDisabled={isDisabled}
isLoading={isLoading}
icon={}
- onPointerUp={pauseProcessor}
+ onClick={pauseProcessor}
colorScheme="gold"
/>
);
diff --git a/invokeai/frontend/web/src/features/queue/components/PruneQueueButton.tsx b/invokeai/frontend/web/src/features/queue/components/PruneQueueButton.tsx
index ed177d3ba5..8ecf7a60c9 100644
--- a/invokeai/frontend/web/src/features/queue/components/PruneQueueButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/PruneQueueButton.tsx
@@ -21,7 +21,7 @@ const PruneQueueButton = ({ asIconButton }: Props) => {
label={t('queue.prune')}
tooltip={t('queue.pruneTooltip', { item_count: finishedCount })}
icon={}
- onPointerUp={pruneQueue}
+ onClick={pruneQueue}
colorScheme="invokeBlue"
/>
);
diff --git a/invokeai/frontend/web/src/features/queue/components/QueueActionsMenuButton.tsx b/invokeai/frontend/web/src/features/queue/components/QueueActionsMenuButton.tsx
index 142f015bcc..1ae76eec4b 100644
--- a/invokeai/frontend/web/src/features/queue/components/QueueActionsMenuButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/QueueActionsMenuButton.tsx
@@ -52,10 +52,10 @@ export const QueueActionsMenuButton = memo(() => {
} />
- } onPointerUp={newGallerySessionWithDialog}>
+ } onClick={newGallerySessionWithDialog}>
{t('controlLayers.newGallerySession')}
- } onPointerUp={newCanvasSessionWithDialog}>
+ } onClick={newCanvasSessionWithDialog}>
{t('controlLayers.newCanvasSession')}
@@ -63,7 +63,7 @@ export const QueueActionsMenuButton = memo(() => {
}
- onPointerUp={clearQueue.openDialog}
+ onClick={clearQueue.openDialog}
isLoading={clearQueue.isLoading}
isDisabled={clearQueue.isDisabled}
>
@@ -72,7 +72,7 @@ export const QueueActionsMenuButton = memo(() => {
}
- onPointerUp={clearQueue.openDialog}
+ onClick={clearQueue.openDialog}
isLoading={clearQueue.isLoading}
isDisabled={clearQueue.isDisabled}
>
@@ -81,7 +81,7 @@ export const QueueActionsMenuButton = memo(() => {
{isResumeEnabled && (
}
- onPointerUp={resumeProcessor}
+ onClick={resumeProcessor}
isLoading={isLoadingResumeProcessor}
isDisabled={isDisabledResumeProcessor}
>
@@ -91,14 +91,14 @@ export const QueueActionsMenuButton = memo(() => {
{isPauseEnabled && (
}
- onPointerUp={pauseProcessor}
+ onClick={pauseProcessor}
isLoading={isLoadingPauseProcessor}
isDisabled={isDisabledPauseProcessor}
>
{t('queue.pauseTooltip')}
)}
- } onPointerUp={openQueue}>
+ } onClick={openQueue}>
{t('queue.openQueue')}
diff --git a/invokeai/frontend/web/src/features/queue/components/QueueList/QueueItemComponent.tsx b/invokeai/frontend/web/src/features/queue/components/QueueList/QueueItemComponent.tsx
index a57331988e..a4a1b41a9d 100644
--- a/invokeai/frontend/web/src/features/queue/components/QueueList/QueueItemComponent.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/QueueList/QueueItemComponent.tsx
@@ -66,7 +66,7 @@ const QueueItemComponent = ({ index, item, context }: InnerItemProps) => {
sx={sx}
data-testid="queue-item"
>
-
+
{index + 1}
@@ -110,7 +110,7 @@ const QueueItemComponent = ({ index, item, context }: InnerItemProps) => {
{
{
{t('queue.cancelItem')}
{
isDisabled={isDisabled}
isLoading={isLoading}
icon={}
- onPointerUp={resumeProcessor}
+ onClick={resumeProcessor}
colorScheme="green"
/>
);
diff --git a/invokeai/frontend/web/src/features/queue/components/SendToToggle.tsx b/invokeai/frontend/web/src/features/queue/components/SendToToggle.tsx
index 71145a75c3..d458a61e85 100644
--- a/invokeai/frontend/web/src/features/queue/components/SendToToggle.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/SendToToggle.tsx
@@ -184,14 +184,14 @@ TooltipContent.displayName = 'TooltipContent';
const ActivateCanvasButton = (props: PropsWithChildren) => {
const dispatch = useAppDispatch();
const imageViewer = useImageViewer();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(setActiveTab('canvas'));
selectCanvasRightPanelLayersTab();
imageViewer.close();
}, [dispatch, imageViewer]);
return (
{
if (cacheStatus?.enabled) {
return (
-
+
{t('invocationCache.disable')}
);
}
return (
-
+
{t('invocationCache.enable')}
);
diff --git a/invokeai/frontend/web/src/features/queue/components/common/QueueButton.tsx b/invokeai/frontend/web/src/features/queue/components/common/QueueButton.tsx
index 4441043368..786708faf1 100644
--- a/invokeai/frontend/web/src/features/queue/components/common/QueueButton.tsx
+++ b/invokeai/frontend/web/src/features/queue/components/common/QueueButton.tsx
@@ -7,7 +7,7 @@ type Props = {
label: string;
tooltip: ReactNode;
icon?: ReactElement;
- onPointerUp?: () => void;
+ onClick?: () => void;
isDisabled?: boolean;
colorScheme: ThemeTypings['colorSchemes'];
asIconButton?: boolean;
@@ -20,7 +20,7 @@ const QueueButton = ({
label,
tooltip,
icon,
- onPointerUp,
+ onClick,
isDisabled,
colorScheme,
asIconButton,
@@ -34,7 +34,7 @@ const QueueButton = ({
aria-label={label}
tooltip={tooltip}
icon={icon}
- onPointerUp={onPointerUp}
+ onClick={onClick}
isDisabled={isDisabled}
colorScheme={colorScheme}
isLoading={isLoading}
@@ -49,7 +49,7 @@ const QueueButton = ({
aria-label={label}
tooltip={tooltip}
leftIcon={icon}
- onPointerUp={onPointerUp}
+ onClick={onClick}
isDisabled={isDisabled}
colorScheme={colorScheme}
isLoading={isLoading}
diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLPrompts/SDXLConcatButton.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLPrompts/SDXLConcatButton.tsx
index ccda764b42..79a23e3717 100644
--- a/invokeai/frontend/web/src/features/sdxl/components/SDXLPrompts/SDXLConcatButton.tsx
+++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLPrompts/SDXLConcatButton.tsx
@@ -24,7 +24,7 @@ export const SDXLConcatButton = memo(() => {
: }
variant="promptOverlay"
fontSize={12}
diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx
index 3591c8c133..75b00624a6 100644
--- a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx
+++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx
@@ -56,7 +56,7 @@ const ParamSDXLRefinerModelSelect = () => {
variant="ghost"
icon={}
aria-label={t('common.reset')}
- onPointerUp={onReset}
+ onClick={onReset}
isDisabled={!value}
/>
diff --git a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleInitialImage.tsx b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleInitialImage.tsx
index 6fd16eae11..b4bacc1ad0 100644
--- a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleInitialImage.tsx
+++ b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleInitialImage.tsx
@@ -44,7 +44,7 @@ export const UpscaleInitialImage = () => {
<>
}
tooltip={t('common.reset')}
/>
diff --git a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx
index d3e7ec82f4..757fc27b67 100644
--- a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx
+++ b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx
@@ -79,7 +79,7 @@ export const UpscaleWarning = () => {
i18nKey="upscaling.missingModelsWarning"
components={{
LinkComponent: (
-
+
),
}}
/>
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/ActiveStylePreset.tsx b/invokeai/frontend/web/src/features/stylePresets/components/ActiveStylePreset.tsx
index a24403f90d..e3cf278edf 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/ActiveStylePreset.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/ActiveStylePreset.tsx
@@ -81,7 +81,7 @@ export const ActiveStylePreset = () => {
{
{
{
icon={}
tooltip={t('stylePresets.createPromptTemplate')}
aria-label={t('stylePresets.createPromptTemplate')}
- onPointerUp={handleClickAddNew}
+ onClick={handleClickAddNew}
size="md"
variant="ghost"
w={8}
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetExportButton.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetExportButton.tsx
index ac53bf72e1..dc02b63c4f 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetExportButton.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetExportButton.tsx
@@ -53,7 +53,7 @@ export const StylePresetExportButton = () => {
return (
: }
tooltip={t('stylePresets.exportPromptTemplates')}
aria-label={t('stylePresets.exportPromptTemplates')}
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetForm.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetForm.tsx
index dc409b7bd1..aadc82f1fe 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetForm.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetForm.tsx
@@ -111,7 +111,7 @@ export const StylePresetForm = ({
{allowPrivateStylePresets ? : }
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetImageField.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetImageField.tsx
index 6166bd3138..38eaac471a 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetImageField.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetImageField.tsx
@@ -48,7 +48,7 @@ export const StylePresetImageField = (props: UseControllerProps}
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetPromptField.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetPromptField.tsx
index cc4077ddd5..32c8a51661 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetPromptField.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetForm/StylePresetPromptField.tsx
@@ -50,7 +50,7 @@ export const StylePresetPromptField = (props: Props) => {
{props.label}
-
+
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetListItem.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetListItem.tsx
index ff30ecc2cc..3b7364e954 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetListItem.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetListItem.tsx
@@ -97,7 +97,7 @@ export const StylePresetListItem = ({ preset }: { preset: StylePresetRecordWithI
<>
}
/>
{preset.type !== 'default' && (
@@ -140,14 +140,14 @@ export const StylePresetListItem = ({ preset }: { preset: StylePresetRecordWithI
size="sm"
variant="ghost"
aria-label={t('stylePresets.editTemplate')}
- onPointerUp={handleClickEdit}
+ onClick={handleClickEdit}
icon={}
/>
}
/>
diff --git a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetMenuTrigger.tsx b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetMenuTrigger.tsx
index 662bf2900f..5e6701cc11 100644
--- a/invokeai/frontend/web/src/features/stylePresets/components/StylePresetMenuTrigger.tsx
+++ b/invokeai/frontend/web/src/features/stylePresets/components/StylePresetMenuTrigger.tsx
@@ -22,7 +22,7 @@ export const StylePresetMenuTrigger = () => {
return (
{
{searchTerm && searchTerm.length && (
{
return (
<>
{cloneElement(children, {
- onPointerUp: onOpen,
+ onClick: onOpen,
})}
@@ -67,7 +67,7 @@ const AboutModal = ({ children }: AboutModalProps) => {
}
diff --git a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx
index 71440dfee4..953f0f724c 100644
--- a/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx
+++ b/invokeai/frontend/web/src/features/system/components/HotkeysModal/HotkeysModal.tsx
@@ -77,7 +77,7 @@ const HotkeysModal = ({ children }: HotkeysModalProps) => {
return (
<>
{cloneElement(children, {
- onPointerUp: onOpen,
+ onClick: onOpen,
})}
@@ -90,7 +90,7 @@ const HotkeysModal = ({ children }: HotkeysModalProps) => {
{hotkeyFilter.length && (
{
const { t } = useTranslation();
const dispatch = useDispatch();
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(logNamespaceToggled(namespace));
}, [dispatch, namespace]);
@@ -46,7 +46,7 @@ const LogLevelTag = ({ namespace, isEnabled }: { namespace: LogNamespace; isEnab
{cloneElement(children, {
- onPointerUp: settingsModal.setTrue,
+ onClick: settingsModal.setTrue,
})}
@@ -248,7 +248,7 @@ const SettingsModal = ({ config = defaultConfig, children }: SettingsModalProps)
@@ -263,7 +263,7 @@ const SettingsModal = ({ config = defaultConfig, children }: SettingsModalProps)
)}
-
+
{t('settings.resetWebUI')}
{Boolean(config?.shouldShowResetWebUiText) && (
diff --git a/invokeai/frontend/web/src/features/toast/ErrorToastDescription.tsx b/invokeai/frontend/web/src/features/toast/ErrorToastDescription.tsx
index ba869f19d7..26baf9c739 100644
--- a/invokeai/frontend/web/src/features/toast/ErrorToastDescription.tsx
+++ b/invokeai/frontend/web/src/features/toast/ErrorToastDescription.tsx
@@ -50,7 +50,7 @@ export default function ErrorToastDescription({ errorType, errorMessage, session
size="sm"
aria-label="Copy"
icon={}
- onPointerUp={onCopy.bind(null, sessionId)}
+ onClick={onCopy.bind(null, sessionId)}
variant="ghost"
sx={sx}
/>
diff --git a/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx b/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx
index 894a7c47c5..20c38b2d55 100644
--- a/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/FloatingGalleryButton.tsx
@@ -16,7 +16,7 @@ const FloatingGalleryButton = (props: Props) => {
}
h={48}
/>
diff --git a/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx b/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx
index 6e32901b2d..1ec9559bad 100644
--- a/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/FloatingParametersPanelButtons.tsx
@@ -57,7 +57,7 @@ const FloatingSidePanelButtons = (props: Props) => {
}
flexGrow={1}
/>
@@ -65,7 +65,7 @@ const FloatingSidePanelButtons = (props: Props) => {
{
isLoading={cancelCurrent.isLoading}
aria-label={t('queue.cancelTooltip')}
icon={}
- onPointerUp={cancelCurrent.cancelQueueItem}
+ onClick={cancelCurrent.cancelQueueItem}
colorScheme="error"
flexGrow={1}
/>
@@ -92,7 +92,7 @@ const FloatingSidePanelButtons = (props: Props) => {
aria-label={t('queue.clearTooltip')}
icon={}
colorScheme="error"
- onPointerUp={clearQueue.openDialog}
+ onClick={clearQueue.openDialog}
data-testid={t('queue.clear')}
flexGrow={1}
/>
diff --git a/invokeai/frontend/web/src/features/ui/components/TabButton.tsx b/invokeai/frontend/web/src/features/ui/components/TabButton.tsx
index 8c815f3d44..d59f51f3ed 100644
--- a/invokeai/frontend/web/src/features/ui/components/TabButton.tsx
+++ b/invokeai/frontend/web/src/features/ui/components/TabButton.tsx
@@ -9,7 +9,7 @@ export const TabButton = memo(
forwardRef(({ tab, icon, label }: { tab: TabName; icon: ReactElement; label: string }, ref) => {
const dispatch = useAppDispatch();
const activeTabName = useAppSelector(selectActiveTab);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
dispatch(setActiveTab(tab));
}, [dispatch, tab]);
@@ -18,7 +18,7 @@ export const TabButton = memo(
{
-
+
{t('workflows.convertGraph')}
@@ -77,7 +77,7 @@ export const LoadWorkflowFromGraphModal = () => {
-
+
{t('workflows.loadWorkflow')}
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowButton.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowButton.tsx
index ec8035a82f..c1211f9e2b 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowButton.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowButton.tsx
@@ -8,12 +8,12 @@ export const NewWorkflowButton = memo(() => {
const { t } = useTranslation();
const renderButton = useCallback(
- (onPointerUp: () => void) => (
+ (onClick: () => void) => (
}
- onPointerUp={onPointerUp}
+ onClick={onClick}
pointerEvents="auto"
/>
),
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowConfirmationAlertDialog.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowConfirmationAlertDialog.tsx
index b434da4927..c0b5fee85b 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowConfirmationAlertDialog.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/NewWorkflowConfirmationAlertDialog.tsx
@@ -7,7 +7,7 @@ import { memo, useCallback } from 'react';
import { useTranslation } from 'react-i18next';
type Props = {
- renderButton: (onPointerUp: () => void) => JSX.Element;
+ renderButton: (onClick: () => void) => JSX.Element;
};
export const NewWorkflowConfirmationAlertDialog = memo((props: Props) => {
@@ -29,7 +29,7 @@ export const NewWorkflowConfirmationAlertDialog = memo((props: Props) => {
onClose();
}, [dispatch, onClose, t]);
- const onPointerUp = useCallback(() => {
+ const onClick = useCallback(() => {
if (!isTouched) {
handleNewWorkflow();
return;
@@ -39,7 +39,7 @@ export const NewWorkflowConfirmationAlertDialog = memo((props: Props) => {
return (
<>
- {props.renderButton(onPointerUp)}
+ {props.renderButton(onClick)}
{
-
+
{t('common.cancel')}
-
+
{t('common.saveAs')}
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryButton.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryButton.tsx
index 18f28c619f..dcc347f905 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryButton.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryButton.tsx
@@ -17,7 +17,7 @@ const WorkflowLibraryButton = () => {
aria-label={t('workflows.workflowLibrary')}
tooltip={t('workflows.workflowLibrary')}
icon={}
- onPointerUp={workflowLibraryModal.setTrue}
+ onClick={workflowLibraryModal.setTrue}
pointerEvents="auto"
/>
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryList.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryList.tsx
index 1a65d9a083..cae78b82a2 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryList.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryList.tsx
@@ -161,7 +161,7 @@ const WorkflowLibraryList = () => {
{t(`workflows.${category}Workflows`)}
@@ -208,7 +208,7 @@ const WorkflowLibraryList = () => {
{query.trim().length && (
{
@@ -83,7 +83,7 @@ const WorkflowLibraryListItem = ({ workflowDTO }: Props) => {
flexShrink={0}
colorScheme="error"
isDisabled={isOpen}
- onPointerUp={handleDeleteWorkflow}
+ onClick={handleDeleteWorkflow}
isLoading={deleteWorkflowResult.isLoading}
aria-label={t('workflows.deleteWorkflow')}
>
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem.tsx
index dfbf128942..485c4c9a3c 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem.tsx
@@ -9,7 +9,7 @@ const DownloadWorkflowMenuItem = () => {
const downloadWorkflow = useDownloadWorkflow();
return (
- } onPointerUp={downloadWorkflow}>
+ } onClick={downloadWorkflow}>
{t('workflows.downloadWorkflow')}
);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/LoadWorkflowFromGraphMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/LoadWorkflowFromGraphMenuItem.tsx
index ff8724af04..8006ca937f 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/LoadWorkflowFromGraphMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/LoadWorkflowFromGraphMenuItem.tsx
@@ -13,7 +13,7 @@ const LoadWorkflowFromGraphMenuItem = () => {
const { onOpen } = useLoadWorkflowFromGraphModal();
return (
- } onPointerUp={onOpen} isDisabled={!size(templates)}>
+ } onClick={onOpen} isDisabled={!size(templates)}>
{t('workflows.loadFromGraph')}
);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem.tsx
index 20c883e794..6c5baa584f 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem.tsx
@@ -8,8 +8,8 @@ export const NewWorkflowMenuItem = memo(() => {
const { t } = useTranslation();
const renderButton = useCallback(
- (onPointerUp: () => void) => (
- } onPointerUp={onPointerUp}>
+ (onClick: () => void) => (
+ } onClick={onClick}>
{t('nodes.newWorkflow')}
),
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem.tsx
index b7e1d05455..bd8a909ace 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem.tsx
@@ -9,7 +9,7 @@ const SaveWorkflowAsMenuItem = () => {
const { onOpen } = useSaveWorkflowAsDialog();
return (
- } onPointerUp={onOpen}>
+ } onClick={onOpen}>
{t('workflows.saveWorkflowAs')}
);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem.tsx
index 56abf10da0..c1335b1dc9 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem.tsx
@@ -28,7 +28,7 @@ const SaveWorkflowMenuItem = () => {
}, [onOpen, saveWorkflow]);
return (
- } onPointerUp={handleClickSave}>
+ } onClick={handleClickSave}>
{t('workflows.saveWorkflow')}
);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx
index ede918b6bd..5969942795 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem.tsx
@@ -9,7 +9,7 @@ const DownloadWorkflowMenuItem = () => {
const modal = useWorkflowEditorSettingsModal();
return (
- } onPointerUp={modal.setTrue}>
+ } onClick={modal.setTrue}>
{t('nodes.workflowSettings')}
);
diff --git a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryPagination.tsx b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryPagination.tsx
index cb17e07e0b..f2b6d958ab 100644
--- a/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryPagination.tsx
+++ b/invokeai/frontend/web/src/features/workflowLibrary/components/WorkflowLibraryPagination.tsx
@@ -9,7 +9,7 @@ const PAGES_TO_DISPLAY = 7;
type PageData = {
page: number;
- onPointerUp: () => void;
+ onClick: () => void;
};
type Props = {
@@ -39,7 +39,7 @@ const WorkflowLibraryPagination = ({ page, setPage, data }: Props) => {
for (let i = first; i < last; i++) {
pages.push({
page: i,
- onPointerUp: () => setPage(i),
+ onClick: () => setPage(i),
});
}
return pages;
@@ -49,7 +49,7 @@ const WorkflowLibraryPagination = ({ page, setPage, data }: Props) => {
}
@@ -58,7 +58,7 @@ const WorkflowLibraryPagination = ({ page, setPage, data }: Props) => {
{
))}
}