| 
					
				 | 
			
			
				@@ -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, 
			 |