@idealyst/components 1.2.63 → 1.2.65
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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idealyst/components",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.65",
|
|
4
4
|
"description": "Shared component library for React and React Native",
|
|
5
5
|
"documentation": "https://github.com/IdealystIO/idealyst-framework/tree/main/packages/components#readme",
|
|
6
6
|
"readme": "README.md",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"publish:npm": "npm publish"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@idealyst/theme": "^1.2.
|
|
59
|
+
"@idealyst/theme": "^1.2.65",
|
|
60
60
|
"@mdi/js": ">=7.0.0",
|
|
61
61
|
"@mdi/react": ">=1.0.0",
|
|
62
62
|
"@react-native-vector-icons/common": ">=12.0.0",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@idealyst/blur": "^1.2.40",
|
|
110
|
-
"@idealyst/theme": "^1.2.
|
|
110
|
+
"@idealyst/theme": "^1.2.65",
|
|
111
111
|
"@idealyst/tooling": "^1.2.30",
|
|
112
112
|
"@mdi/react": "^1.6.1",
|
|
113
113
|
"@types/react": "^19.1.0",
|
|
@@ -146,8 +146,8 @@ const TextArea = forwardRef<IdealystElement, TextAreaProps>(({
|
|
|
146
146
|
// Get dynamic styles - call as functions for theme reactivity
|
|
147
147
|
const containerStyleComputed = (textAreaStyles.container as any)({});
|
|
148
148
|
const labelStyleComputed = (textAreaStyles.label as any)({ disabled });
|
|
149
|
-
const textareaContainerStyleComputed = (textAreaStyles.textareaContainer as any)({});
|
|
150
|
-
const textareaStyleComputed = (textAreaStyles.textarea as any)({
|
|
149
|
+
const textareaContainerStyleComputed = (textAreaStyles.textareaContainer as any)({ type, focused: isFocused, hasError, disabled });
|
|
150
|
+
const textareaStyleComputed = (textAreaStyles.textarea as any)({ autoGrow, disabled });
|
|
151
151
|
const footerStyleComputed = (textAreaStyles.footer as any)({});
|
|
152
152
|
const helperTextStyleComputed = (textAreaStyles.helperText as any)({ hasError });
|
|
153
153
|
const characterCountStyleComputed = (textAreaStyles.characterCount as any)({
|
|
@@ -168,7 +168,8 @@ const TextArea = forwardRef<IdealystElement, TextAreaProps>(({
|
|
|
168
168
|
style={[
|
|
169
169
|
textareaStyleComputed,
|
|
170
170
|
{
|
|
171
|
-
|
|
171
|
+
// Center text vertically when autoGrow (single-line behavior), top-align for multi-line
|
|
172
|
+
textAlignVertical: autoGrow ? 'center' : 'top',
|
|
172
173
|
backgroundColor: 'transparent',
|
|
173
174
|
},
|
|
174
175
|
maxHeight && { maxHeight },
|
|
@@ -127,14 +127,15 @@ export const textAreaStyles = defineStyle('TextArea', (theme: Theme) => ({
|
|
|
127
127
|
fontSize: theme.sizes.$textarea.fontSize,
|
|
128
128
|
padding: theme.sizes.$textarea.padding,
|
|
129
129
|
lineHeight: theme.sizes.$textarea.lineHeight,
|
|
130
|
-
minHeight: theme.sizes.$textarea.minHeight,
|
|
131
130
|
},
|
|
132
131
|
autoGrow: {
|
|
133
132
|
true: {
|
|
134
133
|
// Use input height as minHeight when autoGrow is enabled
|
|
135
134
|
minHeight: theme.sizes.$input.height,
|
|
136
135
|
},
|
|
137
|
-
false: {
|
|
136
|
+
false: {
|
|
137
|
+
// No minHeight - let rows attribute control height
|
|
138
|
+
},
|
|
138
139
|
},
|
|
139
140
|
disabled: {
|
|
140
141
|
true: {
|
|
@@ -139,13 +139,22 @@ const TextArea = forwardRef<IdealystElement, TextAreaProps>(({
|
|
|
139
139
|
marginHorizontal,
|
|
140
140
|
});
|
|
141
141
|
|
|
142
|
-
// Get
|
|
143
|
-
const
|
|
144
|
-
const
|
|
145
|
-
const
|
|
146
|
-
const
|
|
147
|
-
const
|
|
148
|
-
const
|
|
142
|
+
// Get dynamic styles - call as functions for theme reactivity
|
|
143
|
+
const containerStyleComputed = (textAreaStyles.container as any)({});
|
|
144
|
+
const labelStyleComputed = (textAreaStyles.label as any)({ disabled });
|
|
145
|
+
const textareaContainerStyleComputed = (textAreaStyles.textareaContainer as any)({ type, focused: isFocused, hasError, disabled });
|
|
146
|
+
const textareaStyleComputed = (textAreaStyles.textarea as any)({ autoGrow, disabled });
|
|
147
|
+
const footerStyleComputed = (textAreaStyles.footer as any)({});
|
|
148
|
+
const helperTextStyleComputed = (textAreaStyles.helperText as any)({ hasError });
|
|
149
|
+
const characterCountStyleComputed = (textAreaStyles.characterCount as any)({ isNearLimit, isAtLimit });
|
|
150
|
+
|
|
151
|
+
// Convert to web props
|
|
152
|
+
const containerProps = getWebProps([containerStyleComputed, style as any]);
|
|
153
|
+
const labelProps = getWebProps([labelStyleComputed]);
|
|
154
|
+
const textareaContainerProps = getWebProps([textareaContainerStyleComputed]);
|
|
155
|
+
const footerProps = getWebProps([footerStyleComputed]);
|
|
156
|
+
const helperTextProps = getWebProps([helperTextStyleComputed]);
|
|
157
|
+
const characterCountProps = getWebProps([characterCountStyleComputed]);
|
|
149
158
|
|
|
150
159
|
const adjustHeight = () => {
|
|
151
160
|
if (!autoGrow || !textareaRef.current) return;
|
|
@@ -198,7 +207,7 @@ const TextArea = forwardRef<IdealystElement, TextAreaProps>(({
|
|
|
198
207
|
const showFooter = (error || helperText) || (showCharacterCount && maxLength);
|
|
199
208
|
|
|
200
209
|
const computedTextareaProps = getWebProps([
|
|
201
|
-
|
|
210
|
+
textareaStyleComputed,
|
|
202
211
|
textareaStyle as any,
|
|
203
212
|
{ resize } as any, // Apply resize as inline style since it's CSS-only
|
|
204
213
|
minHeight ? { minHeight: `${minHeight}px` } : null,
|