From 9a9df1fd64026e413e2041b2c33985d44f0402f6 Mon Sep 17 00:00:00 2001 From: Adrian Borrmann Date: Mon, 22 Sep 2025 09:39:26 -0600 Subject: [PATCH 1/4] Implement textarea as typescript --- .../src/components/Textarea.react.js | 287 ------------------ .../src/components/Textarea.tsx | 99 ++++++ .../src/components/css/textarea.css | 14 + components/dash-core-components/src/index.ts | 2 +- components/dash-core-components/src/types.ts | 188 ++++++++++++ 5 files changed, 302 insertions(+), 288 deletions(-) delete mode 100644 components/dash-core-components/src/components/Textarea.react.js create mode 100644 components/dash-core-components/src/components/Textarea.tsx create mode 100644 components/dash-core-components/src/components/css/textarea.css diff --git a/components/dash-core-components/src/components/Textarea.react.js b/components/dash-core-components/src/components/Textarea.react.js deleted file mode 100644 index 2611823f02..0000000000 --- a/components/dash-core-components/src/components/Textarea.react.js +++ /dev/null @@ -1,287 +0,0 @@ -/* eslint-disable no-unused-vars */ -import React from 'react'; -import PropTypes from 'prop-types'; -import {pick} from 'ramda'; - -const textAreaProps = [ - 'id', - 'autoFocus', - 'cols', - 'disabled', - 'form', - 'maxLength', - 'minLength', - 'name', - 'placeholder', - 'readOnly', - 'required', - 'rows', - 'wrap', - 'accessKey', - 'className', - 'contentEditable', - 'contextMenu', - 'dir', - 'draggable', - 'hidden', - 'lang', - 'spellCheck', - 'style', - 'tabIndex', - 'title', -]; - -/** - * A basic HTML textarea for entering multiline text. - * - */ -const Textarea = ({ - setProps, - value, - n_blur = 0, - n_blur_timestamp = -1, - n_clicks, - n_clicks_timestamp = -1, - persisted_props, - persistence_type, - ...props -}) => { - const ctx = window.dash_component_api.useDashContext(); - const isLoading = ctx.useLoading(); - - return ( -