diff --git a/api-generator/components/textarea.js b/api-generator/components/textarea.js
index eb95104f5..fdaf7aaae 100644
--- a/api-generator/components/textarea.js
+++ b/api-generator/components/textarea.js
@@ -10,6 +10,12 @@ const TextareaProps = [
type: 'boolean',
default: 'false',
description: 'When present, height of textarea changes as being typed.'
+ },
+ {
+ name: 'pt',
+ type: 'any',
+ default: 'null',
+ description: 'Uses to pass attributes to DOM elements inside the component.'
}
];
diff --git a/components/lib/config/PrimeVue.d.ts b/components/lib/config/PrimeVue.d.ts
index bb81dacfa..f5ca10192 100644
--- a/components/lib/config/PrimeVue.d.ts
+++ b/components/lib/config/PrimeVue.d.ts
@@ -48,10 +48,10 @@ import { ProgressSpinnerPassThroughOptions } from '../progressspinner';
import { RadioButtonPassThroughOptions } from '../radiobutton';
import { ScrollPanelPassThroughOptions } from '../scrollpanel';
import { ScrollTopPassThroughOptions } from '../scrolltop';
+import { SelectButtonPassThroughOptions } from '../selectbutton';
import { SidebarPassThroughOptions } from '../sidebar';
import { SkeletonPassThroughOptions } from '../skeleton';
import { SpeedDialPassThroughOptions } from '../speeddial';
-import { SelectButtonPassThroughOptions } from '../selectbutton';
import { SplitButtonPassThroughOptions } from '../splitbutton';
import { SplitterPassThroughOptions } from '../splitter';
import { TabMenuPassThroughOptions } from '../tabmenu';
@@ -59,6 +59,7 @@ import { TabPanelPassThroughOptions } from '../tabpanel';
import { TabViewPassThroughOptions } from '../tabview';
import { TagPassThroughOptions } from '../tag';
import { TerminalPassThroughOptions } from '../terminal';
+import { TextareaPassThroughOptions } from '../textarea';
import { TieredMenuPassThroughOptions } from '../tieredmenu';
import { ToastPassThroughOptions } from '../toast';
import { ToolbarPassThroughOptions } from '../toolbar';
@@ -143,6 +144,7 @@ interface PrimeVuePTOptions {
tabview?: TabViewPassThroughOptions;
tag?: TagPassThroughOptions;
terminal?: TerminalPassThroughOptions;
+ textarea?: TextareaPassThroughOptions;
tieredmenu?: TieredMenuPassThroughOptions;
toast?: ToastPassThroughOptions;
toolbar?: ToolbarPassThroughOptions;
diff --git a/components/lib/textarea/Textarea.d.ts b/components/lib/textarea/Textarea.d.ts
index 23332f145..c7807a3ff 100755
--- a/components/lib/textarea/Textarea.d.ts
+++ b/components/lib/textarea/Textarea.d.ts
@@ -10,6 +10,33 @@
import { TextareaHTMLAttributes } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
+export declare type TextareaPassThroughOptionType = TextareaPassThroughAttributes | ((options: TextareaPassThroughMethodOptions) => TextareaPassThroughAttributes) | null | undefined;
+
+/**
+ * Custom passthrough(pt) option method.
+ */
+export interface TextareaPassThroughMethodOptions {
+ props: TextareaProps;
+}
+
+/**
+ * Custom passthrough(pt) options.
+ * @see {@link TextareaProps.pt}
+ */
+export interface TextareaPassThroughOptions {
+ /**
+ * Uses to pass attributes to the root's DOM element.
+ */
+ root?: TextareaPassThroughOptionType;
+}
+
+/**
+ * Custom passthrough attributes for each DOM elements
+ */
+export interface TextareaPassThroughAttributes {
+ [key: string]: any;
+}
+
/**
* Defines valid properties in Textarea component. In addition to these, all properties of TextareaHTMLAttributes can be used in this component.
* @extends TextareaHTMLAttributes
@@ -24,6 +51,11 @@ export interface TextareaProps extends TextareaHTMLAttributes {
* @defaultValue false
*/
autoResize?: boolean | undefined;
+ /**
+ * Uses to pass attributes to DOM elements inside the component.
+ * @type {TextareaPassThroughOptions}
+ */
+ pt?: TextareaPassThroughOptions;
}
/**
diff --git a/components/lib/textarea/Textarea.vue b/components/lib/textarea/Textarea.vue
index ac7024031..8dee0b9fe 100755
--- a/components/lib/textarea/Textarea.vue
+++ b/components/lib/textarea/Textarea.vue
@@ -1,10 +1,13 @@
-
+