mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-10-13 19:19:49 +02:00

* compact bottom toolbar * put menu trigger to top left * add popup to switch between grouped tool types * add a dedicated mobile toolbar * update position for mobile * fix active tool type * add mobile mode as well * mobile actions * remove refactored popups * excali logo mobile * include mobile * update mobile menu layout * move selection and deletion back to right * do not fill eraser * fix styling * fix active styling * bigger buttons, smaller gaps * fix other tools not opened * fix: Style panel persistence and restore Signed-off-by: Mark Tolmacs <mark@lazycat.hu> * move hidden action btns to extra popover * fix dropdown overlapping with welcome screen * replace custom popup with popover * improve button styles * swapping redo and delete * always show undo & redo and improve styling * change background * toolbar styles * no any * persist perferred selection tool and align tablet as well * add a renderTopLeftUI to props * tweak border and bg * show combined properties only when using suitable tools * fix preferred tool * new stroke icon * hide color picker hot keys * init preferred tool based on device * fix main menu sizing * fix welcome screen offset * put text before image * disable call highlight on buttons * fix renderTopLeftUI --------- Signed-off-by: Mark Tolmacs <mark@lazycat.hu> Co-authored-by: Mark Tolmacs <mark@lazycat.hu> Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
35 lines
849 B
TypeScript
35 lines
849 B
TypeScript
import clsx from "clsx";
|
|
|
|
import { KEYS } from "@excalidraw/common";
|
|
|
|
import { ToolButton } from "./ToolButton";
|
|
import { handIcon } from "./icons";
|
|
|
|
import "./ToolIcon.scss";
|
|
|
|
type LockIconProps = {
|
|
title?: string;
|
|
name?: string;
|
|
checked: boolean;
|
|
onChange?(): void;
|
|
isMobile?: boolean;
|
|
};
|
|
|
|
export const HandButton = (props: LockIconProps) => {
|
|
return (
|
|
<ToolButton
|
|
className={clsx("Shape", { fillable: false, active: props.checked })}
|
|
type="radio"
|
|
icon={handIcon}
|
|
name="editor-current-shape"
|
|
checked={props.checked}
|
|
title={`${props.title} — H`}
|
|
keyBindingLabel={!props.isMobile ? KEYS.H.toLocaleUpperCase() : undefined}
|
|
aria-label={`${props.title} — H`}
|
|
aria-keyshortcuts={KEYS.H}
|
|
data-testid={`toolbar-hand`}
|
|
onChange={() => props.onChange?.()}
|
|
/>
|
|
);
|
|
};
|