tcce-design-system 0.3.21 → 0.3.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- :root{--color-main-blue-primary: #22205f;--color-main-orange-primary: #f66a24;--color-main-grey: #605f60;--color-main-alternative: #bf5f60;--color-main-alternative-secondary: #f2f2f2;--color-main-positive-state: #01d42f;--color-main-warning-state: #ea3a3d;--color-main-yellow-primary: #faca4a;--color-main-white: #ffffff;--color-main-black: #000000;--color-main-light-borders: #f1f5f7;--color-main-input-borders: rgba(96, 95, 96, .7);--color-dark-100: #e8e8e8;--color-dark-200: #d1d1d1;--color-dark-300: #a2a3a3;--color-dark-400: #747476;--color-dark-500: #454648;--color-dark-600: #17181a;--color-dark-700: #121315;--color-dark-800: #0e0e10;--color-dark-900: #090a0a;--color-light-100: #ffffff;--color-light-200: #f1f5f7;--color-light-300: #d9e1e7;--color-light-400: #b3c5d4;--color-light-500: #99b2c6;--color-light-600: #809fb8;--color-light-700: #667f93;--color-light-800: #4d5f6e;--color-light-900: #33404a;--color-light-1000: #1a2025;--color-blue-100: #c0b6fe;--color-blue-200: #816dfd;--color-blue-300: #4324fc;--color-blue-400: #2003d3;--color-blue-500: #15028a;--color-blue-600: #0a0141;--color-blue-700: #09013a;--color-blue-800: #080134;--color-blue-900: #07012d;--color-blue-1000: #060127;--color-red-100: #f8bdbe;--color-red-200: #f59c9e;--color-red-300: #f17c7e;--color-red-400: #ed5b5d;--color-red-500: #ea3a3d;--color-red-600: #bc1417;--color-red-700: #bc1417;--color-red-800: #971012;--color-red-900: #710c0e;--color-red-1000: #4b0809;--color-orange-100: #fee6db;--color-orange-200: #fccdb6;--color-orange-300: #fab592;--color-orange-400: #f99c6d;--color-orange-500: #f88349;--color-orange-700: #d94e09;--color-orange-800: #a33b07;--color-orange-900: #6c2704;--color-orange-1000: #361402;--color-yellow-100: #fffaed;--color-yellow-200: #fef4db;--color-yellow-300: #fdeab7;--color-yellow-400: #fcdf92;--color-yellow-500: #fbd56e;--color-yellow-600: #faca4a;--color-yellow-700: #c8a23b;--color-yellow-800: #96792c;--color-yellow-900: #64511e;--color-yellow-1000: #32280f;--color-green-100: #ceffd8;--color-green-200: #9cffb2;--color-green-300: #6bfe8b;--color-green-400: #3afe65;--color-green-500: #09fe3e;--color-green-600: #01d42f;--color-green-700: #01aa26;--color-green-800: #017f1c;--color-green-900: #005513;--color-green-1000: #002a09;--color-purple-100: #e0ddf1;--color-purple-200: #c0bae4;--color-purple-300: #a198d6;--color-purple-400: #8276c9;--color-purple-500: #6353bb;--color-purple-600: #4d3fa0;--color-purple-700: #3d327d;--color-purple-800: #2c245b;--color-purple-900: #231d49;--color-purple-1000: #1a1637;--border-radius-button: 1.875rem;--border-radius-secondary-button: .625rem;--border-radius-card: 1.25rem;--border-radius-article: .875rem;--border-radius-outline: .5rem;--shadow-black-card: 0 1.25rem 2.5rem 0 rgba(0, 0, 0, .15);--shadow-hover-black-card: 0 1.875rem 3.75rem 0 rgba(0, 0, 0, .35);--shadow-black-button: 0 .625rem 1.25rem 0 rgba(0, 0, 0, .15);--shadow-hover-black-button: 0 .9375rem 1.875rem 0 rgba(0, 0, 0, .25);--shadow-hover-orange-button: 0 .9375rem 1.875rem 0 #fab592;--border-input: 1px solid rgba(96, 95, 96, .7);--border-input-disabled: 1px solid #d1d1d1;--border-input-error: 1px solid #ea3a3d;--border-input-focus: 1px solid #22205f}@font-face{font-family:Dax;src:url(./assets/fonts/dax-regular/dax-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dax;src:url(./assets/fonts/Dax-Bold/Dax-Bold.otf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueUltraLight.otf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueUltraLightItalic.otf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueThin.otf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueThinItalic.otf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueLight.otf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueLightItalic.otf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueRoman.otf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueMedium.otf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueMediumItalic.otf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBold.otf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBoldItalic.otf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueHeavy.otf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueHeavyItalic.otf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBlack.otf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBlackItalic.otf) format("truetype");font-weight:900;font-style:italic;font-display:swap}*{scrollbar-width:thin;scrollbar-color:var(--color-main-orange-primary) #f1f1f1}*::-webkit-scrollbar{width:.5rem}*::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.625rem}*::-webkit-scrollbar-thumb{background:var(--color-main-orange-primary);border-radius:.625rem}*::-webkit-scrollbar-thumb:hover{background:var(--color-main-orange-primary)}.my-toast{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:176.782%;border:none!important;box-shadow:var(--shadow-black-card);border-radius:var(--border-radius-article)!important}[data-sonner-toast][data-type=success]{background:linear-gradient(135deg,var(--color-main-positive-state) 0%,var(--color-green-200) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toast][data-type=error]{background:linear-gradient(135deg,var(--color-main-warning-state) 0%,var(--color-red-300) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toaster]{bottom:6rem!important}[data-sonner-toaster][data-position=bottom-center]{transform:translateY(-3rem)!important}
1
+ :root{--color-main-blue-primary: #22205f;--color-main-orange-primary: #f66a24;--color-main-grey: #605f60;--color-main-alternative: #bf5f60;--color-main-alternative-secondary: #f2f2f2;--color-main-positive-state: #01d42f;--color-main-warning-state: #ea3a3d;--color-main-yellow-primary: #faca4a;--color-main-white: #ffffff;--color-main-black: #000000;--color-main-light-borders: #f1f5f7;--color-main-input-borders: rgba(96, 95, 96, .7);--color-main-light-background: #f1f5f7;--color-dark-100: #e8e8e8;--color-dark-200: #d1d1d1;--color-dark-300: #a2a3a3;--color-dark-400: #747476;--color-dark-500: #454648;--color-dark-600: #17181a;--color-dark-700: #121315;--color-dark-800: #0e0e10;--color-dark-900: #090a0a;--color-light-100: #ffffff;--color-light-200: #f1f5f7;--color-light-300: #d9e1e7;--color-light-400: #b3c5d4;--color-light-500: #99b2c6;--color-light-600: #809fb8;--color-light-700: #667f93;--color-light-800: #4d5f6e;--color-light-900: #33404a;--color-light-1000: #1a2025;--color-blue-100: #c0b6fe;--color-blue-200: #816dfd;--color-blue-300: #4324fc;--color-blue-400: #2003d3;--color-blue-500: #15028a;--color-blue-600: #0a0141;--color-blue-700: #09013a;--color-blue-800: #080134;--color-blue-900: #07012d;--color-blue-1000: #060127;--color-red-100: #f8bdbe;--color-red-200: #f59c9e;--color-red-300: #f17c7e;--color-red-400: #ed5b5d;--color-red-500: #ea3a3d;--color-red-600: #bc1417;--color-red-700: #bc1417;--color-red-800: #971012;--color-red-900: #710c0e;--color-red-1000: #4b0809;--color-orange-100: #fee6db;--color-orange-200: #fccdb6;--color-orange-300: #fab592;--color-orange-400: #f99c6d;--color-orange-500: #f88349;--color-orange-700: #d94e09;--color-orange-800: #a33b07;--color-orange-900: #6c2704;--color-orange-1000: #361402;--color-yellow-100: #fffaed;--color-yellow-200: #fef4db;--color-yellow-300: #fdeab7;--color-yellow-400: #fcdf92;--color-yellow-500: #fbd56e;--color-yellow-600: #faca4a;--color-yellow-700: #c8a23b;--color-yellow-800: #96792c;--color-yellow-900: #64511e;--color-yellow-1000: #32280f;--color-green-100: #ceffd8;--color-green-200: #9cffb2;--color-green-300: #6bfe8b;--color-green-400: #3afe65;--color-green-500: #09fe3e;--color-green-600: #01d42f;--color-green-700: #01aa26;--color-green-800: #017f1c;--color-green-900: #005513;--color-green-1000: #002a09;--color-purple-100: #e0ddf1;--color-purple-200: #c0bae4;--color-purple-300: #a198d6;--color-purple-400: #8276c9;--color-purple-500: #6353bb;--color-purple-600: #4d3fa0;--color-purple-700: #3d327d;--color-purple-800: #2c245b;--color-purple-900: #231d49;--color-purple-1000: #1a1637;--border-radius-button: 1.875rem;--border-radius-secondary-button: .625rem;--border-radius-card: 1.25rem;--border-radius-article: .875rem;--border-radius-outline: .5rem;--shadow-black-card: 0 1.25rem 2.5rem 0 rgba(0, 0, 0, .15);--shadow-hover-black-card: 0 1.875rem 3.75rem 0 rgba(0, 0, 0, .35);--shadow-black-button: 0 .625rem 1.25rem 0 rgba(0, 0, 0, .15);--shadow-hover-black-button: 0 .9375rem 1.875rem 0 rgba(0, 0, 0, .25);--shadow-hover-orange-button: 0 .9375rem 1.875rem 0 #fab592;--border-input: 1px solid rgba(96, 95, 96, .7);--border-input-disabled: 1px solid #d1d1d1;--border-input-error: 1px solid #ea3a3d;--border-input-focus: 1px solid #22205f}@font-face{font-family:Dax;src:url(./assets/fonts/dax-regular/dax-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dax;src:url(./assets/fonts/Dax-Bold/Dax-Bold.otf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueUltraLight.otf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueUltraLightItalic.otf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueThin.otf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueThinItalic.otf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueLight.otf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueLightItalic.otf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueRoman.otf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueItalic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueMedium.otf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueMediumItalic.otf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBold.otf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBoldItalic.otf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueHeavy.otf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueHeavyItalic.otf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBlack.otf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(./assets/fonts/Helvetica-Neue/HelveticaNeueBlackItalic.otf) format("truetype");font-weight:900;font-style:italic;font-display:swap}*{scrollbar-width:thin;scrollbar-color:var(--color-main-orange-primary) #f1f1f1}*::-webkit-scrollbar{width:.5rem}*::-webkit-scrollbar-track{background:#f1f1f1;border-radius:.625rem}*::-webkit-scrollbar-thumb{background:var(--color-main-orange-primary);border-radius:.625rem}*::-webkit-scrollbar-thumb:hover{background:var(--color-main-orange-primary)}.my-toast{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1rem;font-style:normal;font-weight:400;line-height:176.782%;border:none!important;box-shadow:var(--shadow-black-card);border-radius:var(--border-radius-article)!important}[data-sonner-toast][data-type=success]{background:linear-gradient(135deg,var(--color-main-positive-state) 0%,var(--color-green-200) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toast][data-type=error]{background:linear-gradient(135deg,var(--color-main-warning-state) 0%,var(--color-red-300) 100%)!important;color:var(--color-main-white)!important}[data-sonner-toaster]{bottom:6rem!important}[data-sonner-toaster][data-position=bottom-center]{transform:translateY(-3rem)!important}
@@ -122,6 +122,14 @@ declare type BadgeVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'd
122
122
 
123
123
  export declare const baseFieldStyles: RuleSet<object>;
124
124
 
125
+ /**
126
+ * Base props shared across all form field components.
127
+ * Extends standard HTML input attributes while providing consistent sizing and state management.
128
+ * @param size - The size variant of the form field. Default is 'md'.
129
+ * @param hasError - When true, displays the field in an error state with error styling.
130
+ * @param disabled - When true, disables the field and prevents user interaction.
131
+ * @param className - Additional CSS class names for custom styling.
132
+ */
125
133
  export declare interface BaseFormFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
126
134
  size?: FormFieldSize;
127
135
  hasError?: boolean;
@@ -129,8 +137,39 @@ export declare interface BaseFormFieldProps extends Omit<InputHTMLAttributes<HTM
129
137
  className?: string;
130
138
  }
131
139
 
140
+ /**
141
+ * BaseInput is the foundational text input component with support for icons, multiple types, sizes, and states.
142
+ *
143
+ * Features:
144
+ * - Multiple sizes (xs, sm, md, lg) with appropriate text sizing
145
+ * - Icon support on both left and right sides
146
+ * - Various input types (text, email, password, number, tel, url)
147
+ * - Error and disabled states with visual feedback
148
+ * - Flushed variant for minimal styling
149
+ * - Full HTML input attributes support
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * <BaseInput
154
+ * placeholder="Enter email"
155
+ * type="email"
156
+ * leftIcon={RiMailLine}
157
+ * size="md"
158
+ * />
159
+ * ```
160
+ */
132
161
  export declare const BaseInput: ForwardRefExoticComponent<BaseInputProps & RefAttributes<HTMLInputElement>>;
133
162
 
163
+ /**
164
+ * Props for the BaseInput component.
165
+ * Extends BaseFormFieldProps with input-specific properties and icon support.
166
+ * @param type - HTML input type determining keyboard and validation behavior. Default is 'text'.
167
+ * @param flushed - When true, applies a minimal style with only a bottom border. Default is false.
168
+ * @param leftIcon - Optional icon component displayed on the left side of the input.
169
+ * @param rightIcon - Optional icon component displayed on the right side of the input.
170
+ * @param iconSize - Size of the left and right icons ('tn', 'sm', 'md'). Default is 'md'.
171
+ * @param iconColor - Color of the icons. Default is 'currentColor'.
172
+ */
134
173
  export declare interface BaseInputProps extends Omit<BaseFormFieldProps, 'type'>, WithIconsProps {
135
174
  type?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
136
175
  flushed?: boolean;
@@ -727,8 +766,19 @@ export declare interface FormFieldProps extends BaseFormFieldProps, Omit<WithIco
727
766
  className?: string;
728
767
  }
729
768
 
769
+ /**
770
+ * Available sizes for form field components.
771
+ * - xs: Extra small size (30px height, 14px font).
772
+ * - sm: Small size (36px height, 14px font).
773
+ * - md: Medium size (42px height, 16px font) - Default for most inputs.
774
+ * - lg: Large size (48px height, 18px font).
775
+ */
730
776
  export declare type FormFieldSize = 'xs' | 'sm' | 'md' | 'lg';
731
777
 
778
+ /**
779
+ * Interactive states for form fields.
780
+ * Used to describe the current visual and interactive state of a form element.
781
+ */
732
782
  export declare type FormFieldState = 'default' | 'hover' | 'focus' | 'error' | 'disabled';
733
783
 
734
784
  /**
@@ -929,7 +979,7 @@ export declare const hasPermission: (userPermissions?: Permission[], requiredPer
929
979
  * @returns JSX.Element The rendered header.
930
980
  */
931
981
  export declare const Header: {
932
- ({ logo, user, hasNotifications, notificationCount, onNotificationClick, onUserProfileClick, onLogout, userMenuItems, }: HeaderProps): JSX.Element;
982
+ ({ logo, user, hasNotifications, notificationCount, onNotificationClick, onUserProfileClick, onLogout, userMenuItems, className, }: HeaderProps): JSX.Element;
933
983
  displayName: string;
934
984
  };
935
985
 
@@ -954,6 +1004,7 @@ export declare interface HeaderProps {
954
1004
  onUserProfileClick?: () => void;
955
1005
  onLogout?: () => void;
956
1006
  userMenuItems?: UserMenuItem[];
1007
+ className?: string;
957
1008
  }
958
1009
 
959
1010
  export declare const HeadingBold: IStyledComponentBase<"web", Substitute<DetailedHTMLProps<HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, {
@@ -1074,6 +1125,9 @@ export declare const isAllowedInputType: (t: string) => t is AllowedInputType;
1074
1125
 
1075
1126
  export declare const Label: ({ children, htmlFor, className, required, disabled, size, ...props }: BaseLabelProps) => JSX.Element;
1076
1127
 
1128
+ /**
1129
+ * Available sizes for label components.
1130
+ */
1077
1131
  export declare type LabelSize = 'xs' | 'sm' | 'md' | 'lg';
1078
1132
 
1079
1133
  /**
@@ -1165,13 +1219,16 @@ export declare interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElemen
1165
1219
 
1166
1220
  /**
1167
1221
  * Defines the available sizes for the Link component.
1222
+ * Can be a preset size that maps to bodyTextStyles: xs(12), sm(14), md(16), lg(20), xl(24), 2xl(30)
1223
+ * Or a custom CSS size value (e.g., '1.5em', '18px', '1.2rem')
1168
1224
  */
1169
- export declare type LinkSize = 'sm' | 'md' | 'lg';
1225
+ export declare type LinkSize = 'xs' | 'sm' | 'md' | 'lg' | (number & {});
1170
1226
 
1171
1227
  /**
1172
1228
  * CSS styles for each Link size.
1173
1229
  */
1174
1230
  export declare const LinkSizeStyles: {
1231
+ xs: RuleSet<object>;
1175
1232
  sm: RuleSet<object>;
1176
1233
  md: RuleSet<object>;
1177
1234
  lg: RuleSet<object>;
@@ -2063,9 +2120,29 @@ color?: string;
2063
2120
  }>> & string;
2064
2121
  export { Text_2 as Text }
2065
2122
 
2123
+ /**
2124
+ * TextAreaInput provides a flexible multi-line text input component.
2125
+ * Supports manual and automatic resizing, icons, and multiple size variants.
2126
+ * Use for comments, descriptions, messages, or any long-form text input.
2127
+ */
2066
2128
  export declare const TextAreaInput: ForwardRefExoticComponent<TextAreaInputProps & RefAttributes<HTMLTextAreaElement>>;
2067
2129
 
2068
- export declare interface TextAreaInputProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
2130
+ /**
2131
+ * Props for the TextAreaInput component.
2132
+ * A flexible multi-line text input with support for icons, auto-resize, and various sizing options.
2133
+ * @param size - The size variant of the textarea. Default is 'md'.
2134
+ * @param hasError - When true, displays the textarea in an error state with error styling.
2135
+ * @param disabled - When true, disables the textarea and prevents user interaction.
2136
+ * @param minRows - Minimum number of visible rows. Affects the initial height of the textarea. Default is 3.
2137
+ * @param maxRows - Maximum number of rows when autoResize is enabled. Limits the height expansion.
2138
+ * @param resize - Controls the manual resize behavior of the textarea. Default is 'vertical'.
2139
+ * @param autoResize - When true, automatically adjusts height based on content within minRows/maxRows constraints.
2140
+ * @param leftIcon - Optional icon component displayed on the left side of the textarea.
2141
+ * @param rightIcon - Optional icon component displayed on the right side of the textarea.
2142
+ * @param iconSize - Size of the left and right icons. Default is 'md'.
2143
+ * @param iconColor - Color of the icons. Default is 'currentColor'.
2144
+ */
2145
+ export declare interface TextAreaInputProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>, WithIconsProps {
2069
2146
  size?: FormFieldSize;
2070
2147
  hasError?: boolean;
2071
2148
  disabled?: boolean;
@@ -2176,13 +2253,13 @@ export declare interface UserAbilities {
2176
2253
  }
2177
2254
 
2178
2255
  /**
2179
- * User menu item configuration
2180
- * Defines a single item in the user profile dropdown menu.
2181
- * @param id Unique identifier for the menu item
2182
- * @param label Display text for the menu item
2183
- * @param icon Icon component to display next to the label
2184
- * @param onClick Function to call when the item is clicked
2185
- * @param variant Optional styling variant ('default' or 'danger')
2256
+ * Menu item configuration for the user profile dropdown.
2257
+ * Defines individual actions displayed in the dropdown menu.
2258
+ * @param id - Unique identifier for the menu item.
2259
+ * @param label - Display text shown in the menu.
2260
+ * @param icon - Icon component or ReactNode displayed next to the label.
2261
+ * @param onClick - Callback invoked when the menu item is clicked.
2262
+ * @param variant - Visual style variant. 'danger' applies warning colors (e.g., for logout/delete). Default is 'default'.
2186
2263
  */
2187
2264
  export declare interface UserMenuItem {
2188
2265
  id: string;
@@ -2203,10 +2280,10 @@ export declare const UserProfile: {
2203
2280
 
2204
2281
  /**
2205
2282
  * Props for the UserProfile component.
2206
- * @param user The user object containing name and role information
2207
- * @param onProfileClick Optional function to call when profile is clicked
2208
- * @param onLogout Optional function to call when logout is selected
2209
- * @param menuItems Optional array of custom menu items to display
2283
+ * @param user - User object containing id, name, email, and roles array. The first role's name is displayed.
2284
+ * @param onProfileClick - Optional callback invoked when the Profile menu item is selected.
2285
+ * @param onLogout - Optional callback invoked when the Logout menu item is selected.
2286
+ * @param menuItems - Optional array of custom menu items to display alongside the default Profile and Logout items.
2210
2287
  */
2211
2288
  export declare interface UserProfileProps {
2212
2289
  user: User;