ControlsNew
Glass Textarea
A recessed glass field for longer text that can grow as you type.
pnpm dlx shadcn@4.14.1 add @glassyui/glass-textareanpx shadcn@4.14.1 add @glassyui-native/glass-textareaPreview
Demos ready. Update 0.
This preview runs the React version. In an app, iOS 26 and later draw the React Native version with the system’s own Liquid Glass. See it on a phone.
Installation
First add the exact @glassyui mapping to components.json as shown in Getting Started. Then run the pinned item command:
pnpm dlx shadcn@4.14.1 add @glassyui/glass-textareaWhat this installs6 files, 1 package
Direct registry declarations
These values belong to @glassyui/glass-textarea itself in registry.json.
Package dependencies
clsx
Registry dependencies
@glassyui/glass-provider
File targets
components/glassyui/glass-textarea.tsxcomponents/glassyui/lib/merge-refs.ts
Complete installed closure
This follows every namespaced registry dependency recursively and de-duplicates the packages and target files installed with this item.
Package dependencies
clsx
Installed files
components/glassyui/glass-textarea.tsxcomponents/glassyui/lib/merge-refs.tscomponents/glassyui/glass-provider.tsxcomponents/glassyui/liquid-filters.tsxcomponents/glassyui/lib/preferences.tscomponents/glassyui/styles/liquid.css
First add the @glassyui-native mapping to components.json as shown in the Expo guide. Then add the component and match its packages to your Expo SDK:
npx shadcn@4.14.1 add @glassyui-native/glass-textareanpx expo install --fixUsage
import { GlassTextarea } from "@/components/glassyui/glass-textarea";
export function MessageDemo() {
return <GlassTextarea autoResize label="Message" hint="Grows as you type." placeholder="Say hello…" />;
}import { useState } from 'react';
import { GlassTextarea } from '@/components/glassyui/glass-textarea';
export default function TextareaExample() {
const [notes, setNotes] = useState('');
return (
<GlassTextarea
label="Notes"
maxRows={6}
onChangeText={setNotes}
placeholder="Add a note"
value={notes}
/>
);
}
Examples
<GlassTextarea autoResize maxRows={5} label="Notes" /><GlassTextarea rows={6} label="Bio" />API
The React Native version takes the same props under React Native’s names: onPress for onClick and style for className. The Expo guide lists what else differs.
GlassTextareaForward-ref native textarea styled like GlassInput.
GlassTextareaPropsNative textarea props plus label, hint, autoResize and maxRows.
labelOptional visible label rendered above the field.
hintOptional helper text rendered below the field.
autoResizeGrows with its text, up to maxRows, then scrolls.
maxRowsThe most rows an auto-resizing textarea grows to. Defaults to 8.
Notes
Rewrapping
An auto-resizing field fits again when its width changes and the text rewraps.
Accessibility
Keep the Radix-backed semantics intact and preserve visible labels, focus states, and keyboard operation when copying the source.
Performance
Use provider quality preferences for dense app screens. Reserve strong refraction for hero or showcase surfaces.