From 09d3023d7a532e3588e8d3319e732c13fb3e7030 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Thu, 17 Jun 2021 11:05:25 +1000 Subject: [PATCH] Add text area auto size for notes --- package.json | 1 + src/components/TextareaAutoSize.css | 22 +++++++++++++++++++ src/components/TextareaAutoSize.js | 8 +++++++ src/components/note/NoteMenu.js | 15 ++++--------- src/theme.js | 8 +++++++ yarn.lock | 33 +++++++++++++++++++++++++++++ 6 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 src/components/TextareaAutoSize.css create mode 100644 src/components/TextareaAutoSize.js diff --git a/package.json b/package.json index e6a485a..ff5be9c 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "react-scripts": "^4.0.3", "react-select": "^4.2.1", "react-spring": "^8.0.27", + "react-textarea-autosize": "^8.3.3", "react-toast-notifications": "^2.4.3", "react-use-gesture": "^9.1.3", "shortid": "^2.2.15", diff --git a/src/components/TextareaAutoSize.css b/src/components/TextareaAutoSize.css new file mode 100644 index 0000000..4868f44 --- /dev/null +++ b/src/components/TextareaAutoSize.css @@ -0,0 +1,22 @@ +.textarea-auto-size { + box-sizing: border-box; + margin: 0; + min-width: 0; + display: block; + width: 100%; + appearance: none; + font-size: inherit; + line-height: inherit; + border-radius: 4px; + color: inherit; + background-color: transparent; + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + "Helvetica Neue", sans-serif; + padding: 4px; + border: none; + resize: none; +} + +.textarea-auto-size:focus { + outline: none; +} diff --git a/src/components/TextareaAutoSize.js b/src/components/TextareaAutoSize.js new file mode 100644 index 0000000..53e58aa --- /dev/null +++ b/src/components/TextareaAutoSize.js @@ -0,0 +1,8 @@ +import TextareaAutosize from "react-textarea-autosize"; +import "./TextareaAutoSize.css"; + +function StyledTextareaAutoSize(props) { + return ; +} + +export default StyledTextareaAutoSize; diff --git a/src/components/note/NoteMenu.js b/src/components/note/NoteMenu.js index 9724c2c..17c272f 100644 --- a/src/components/note/NoteMenu.js +++ b/src/components/note/NoteMenu.js @@ -1,7 +1,8 @@ import React, { useEffect, useState } from "react"; -import { Box, Flex, Text, IconButton, Textarea } from "theme-ui"; +import { Box, Flex, Text, IconButton } from "theme-ui"; import Slider from "../Slider"; +import TextareaAutosize from "../TextareaAutoSize"; import MapMenu from "../map/MapMenu"; @@ -128,20 +129,12 @@ function NoteMenu({ }} sx={{ alignItems: "center" }} > -