|
@@ -1,7 +1,6 @@
|
|
|
import React from "react";
|
|
|
import { AppState } from "../../src/types";
|
|
|
import { ButtonIconSelect } from "../components/ButtonIconSelect";
|
|
|
-import { ButtonSelect } from "../components/ButtonSelect";
|
|
|
import { ColorPicker } from "../components/ColorPicker";
|
|
|
import { IconPicker } from "../components/IconPicker";
|
|
|
import {
|
|
@@ -21,6 +20,16 @@ import {
|
|
|
StrokeStyleDottedIcon,
|
|
|
StrokeStyleSolidIcon,
|
|
|
StrokeWidthIcon,
|
|
|
+ FontSizeSmallIcon,
|
|
|
+ FontSizeMediumIcon,
|
|
|
+ FontSizeLargeIcon,
|
|
|
+ FontSizeExtraLargeIcon,
|
|
|
+ FontFamilyHandDrawnIcon,
|
|
|
+ FontFamilyNormalIcon,
|
|
|
+ FontFamilyCodeIcon,
|
|
|
+ TextAlignLeftIcon,
|
|
|
+ TextAlignCenterIcon,
|
|
|
+ TextAlignRightIcon,
|
|
|
} from "../components/icons";
|
|
|
import { DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE } from "../constants";
|
|
|
import {
|
|
@@ -413,13 +422,29 @@ export const actionChangeFontSize = register({
|
|
|
PanelComponent: ({ elements, appState, updateData }) => (
|
|
|
<fieldset>
|
|
|
<legend>{t("labels.fontSize")}</legend>
|
|
|
- <ButtonSelect
|
|
|
+ <ButtonIconSelect
|
|
|
group="font-size"
|
|
|
options={[
|
|
|
- { value: 16, text: t("labels.small") },
|
|
|
- { value: 20, text: t("labels.medium") },
|
|
|
- { value: 28, text: t("labels.large") },
|
|
|
- { value: 36, text: t("labels.veryLarge") },
|
|
|
+ {
|
|
|
+ value: 16,
|
|
|
+ text: t("labels.small"),
|
|
|
+ icon: <FontSizeSmallIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 20,
|
|
|
+ text: t("labels.medium"),
|
|
|
+ icon: <FontSizeMediumIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 28,
|
|
|
+ text: t("labels.large"),
|
|
|
+ icon: <FontSizeLargeIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 36,
|
|
|
+ text: t("labels.veryLarge"),
|
|
|
+ icon: <FontSizeExtraLargeIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
]}
|
|
|
value={getFormValue(
|
|
|
elements,
|
|
@@ -456,16 +481,28 @@ export const actionChangeFontFamily = register({
|
|
|
};
|
|
|
},
|
|
|
PanelComponent: ({ elements, appState, updateData }) => {
|
|
|
- const options: { value: FontFamily; text: string }[] = [
|
|
|
- { value: 1, text: t("labels.handDrawn") },
|
|
|
- { value: 2, text: t("labels.normal") },
|
|
|
- { value: 3, text: t("labels.code") },
|
|
|
+ const options: { value: FontFamily; text: string; icon: JSX.Element }[] = [
|
|
|
+ {
|
|
|
+ value: 1,
|
|
|
+ text: t("labels.handDrawn"),
|
|
|
+ icon: <FontFamilyHandDrawnIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 2,
|
|
|
+ text: t("labels.normal"),
|
|
|
+ icon: <FontFamilyNormalIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 3,
|
|
|
+ text: t("labels.code"),
|
|
|
+ icon: <FontFamilyCodeIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
];
|
|
|
|
|
|
return (
|
|
|
<fieldset>
|
|
|
<legend>{t("labels.fontFamily")}</legend>
|
|
|
- <ButtonSelect<FontFamily | false>
|
|
|
+ <ButtonIconSelect<FontFamily | false>
|
|
|
group="font-family"
|
|
|
options={options}
|
|
|
value={getFormValue(
|
|
@@ -506,12 +543,24 @@ export const actionChangeTextAlign = register({
|
|
|
PanelComponent: ({ elements, appState, updateData }) => (
|
|
|
<fieldset>
|
|
|
<legend>{t("labels.textAlign")}</legend>
|
|
|
- <ButtonSelect<TextAlign | false>
|
|
|
+ <ButtonIconSelect<TextAlign | false>
|
|
|
group="text-align"
|
|
|
options={[
|
|
|
- { value: "left", text: t("labels.left") },
|
|
|
- { value: "center", text: t("labels.center") },
|
|
|
- { value: "right", text: t("labels.right") },
|
|
|
+ {
|
|
|
+ value: "left",
|
|
|
+ text: t("labels.left"),
|
|
|
+ icon: <TextAlignLeftIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "center",
|
|
|
+ text: t("labels.center"),
|
|
|
+ icon: <TextAlignCenterIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "right",
|
|
|
+ text: t("labels.right"),
|
|
|
+ icon: <TextAlignRightIcon theme={appState.theme} />,
|
|
|
+ },
|
|
|
]}
|
|
|
value={getFormValue(
|
|
|
elements,
|