diff --git a/site/package.json b/site/package.json index 62da2c42abc4c..b099706bd57a3 100644 --- a/site/package.json +++ b/site/package.json @@ -105,6 +105,7 @@ "react-query": "npm:@tanstack/react-query@5.77.0", "react-router-dom": "6.26.2", "react-syntax-highlighter": "15.6.1", + "react-textarea-autosize": "8.5.9", "react-virtualized-auto-sizer": "1.0.24", "react-window": "1.8.11", "recharts": "2.15.0", diff --git a/site/pnpm-lock.yaml b/site/pnpm-lock.yaml index 9adc62dfed1e1..7b332074b32fc 100644 --- a/site/pnpm-lock.yaml +++ b/site/pnpm-lock.yaml @@ -229,6 +229,9 @@ importers: react-syntax-highlighter: specifier: 15.6.1 version: 15.6.1(react@18.3.1) + react-textarea-autosize: + specifier: 8.5.9 + version: 8.5.9(@types/react@18.3.12)(react@18.3.1) react-virtualized-auto-sizer: specifier: 1.0.24 version: 1.0.24(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -5481,6 +5484,12 @@ packages: peerDependencies: react: '>= 0.14.0' + react-textarea-autosize@8.5.9: + resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==, tarball: https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.9.tgz} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-transition-group@4.4.5: resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==, tarball: https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz} peerDependencies: @@ -6176,6 +6185,33 @@ packages: '@types/react': optional: true + use-composed-ref@1.4.0: + resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==, tarball: https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==, tarball: https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-latest@1.3.0: + resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==, tarball: https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + use-sidecar@1.1.2: resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==, tarball: https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz} engines: {node: '>=10'} @@ -12397,6 +12433,15 @@ snapshots: react: 18.3.1 refractor: 3.6.0 + react-textarea-autosize@8.5.9(@types/react@18.3.12)(react@18.3.1): + dependencies: + '@babel/runtime': 7.26.10 + react: 18.3.1 + use-composed-ref: 1.4.0(@types/react@18.3.12)(react@18.3.1) + use-latest: 1.3.0(@types/react@18.3.12)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.26.10 @@ -13189,6 +13234,25 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 + use-composed-ref@1.4.0(@types/react@18.3.12)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + use-isomorphic-layout-effect@1.2.1(@types/react@18.3.12)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + use-latest@1.3.0(@types/react@18.3.12)(react@18.3.1): + dependencies: + react: 18.3.1 + use-isomorphic-layout-effect: 1.2.1(@types/react@18.3.12)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.12 + use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1): dependencies: detect-node-es: 1.1.0 diff --git a/site/src/pages/TasksPage/TasksPage.tsx b/site/src/pages/TasksPage/TasksPage.tsx index c4a0ae897bd37..9f07d0b0c6cdd 100644 --- a/site/src/pages/TasksPage/TasksPage.tsx +++ b/site/src/pages/TasksPage/TasksPage.tsx @@ -49,6 +49,7 @@ import type { FC, PropsWithChildren, ReactNode } from "react"; import { Helmet } from "react-helmet-async"; import { useMutation, useQuery, useQueryClient } from "react-query"; import { Link as RouterLink } from "react-router-dom"; +import TextareaAutosize from "react-textarea-autosize"; import { cn } from "utils/cn"; import { pageTitle } from "utils/page"; import { relativeTime } from "utils/time"; @@ -204,7 +205,7 @@ const TaskForm: FC = ({ templates }) => { -