@luxfi/ui 7.4.13 → 7.4.15
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/dist/bank.d.cts +11 -11
- package/dist/bank.d.ts +11 -11
- package/dist/button.cjs +0 -12
- package/dist/button.d.cts +1 -5
- package/dist/button.d.ts +1 -5
- package/dist/button.js +1 -12
- package/dist/dialog.d.cts +6 -6
- package/dist/dialog.d.ts +6 -6
- package/dist/drawer.d.cts +2 -2
- package/dist/drawer.d.ts +2 -2
- package/dist/expiration-selector.cjs +4 -5
- package/dist/expiration-selector.js +4 -5
- package/dist/heading.cjs +12 -3
- package/dist/heading.js +12 -3
- package/dist/index.cjs +38 -32
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +39 -32
- package/dist/input.cjs +5 -5
- package/dist/input.d.cts +1 -1
- package/dist/input.d.ts +1 -1
- package/dist/input.js +5 -5
- package/dist/lux.config.cjs +2 -0
- package/dist/lux.config.d.cts +781 -233
- package/dist/lux.config.d.ts +781 -233
- package/dist/lux.config.js +2 -0
- package/dist/option-position.cjs +10 -2
- package/dist/option-position.js +10 -2
- package/dist/provider.cjs +2 -0
- package/dist/provider.js +2 -0
- package/dist/textarea.cjs +10 -10
- package/dist/textarea.js +10 -10
- package/package.json +18 -14
- package/src/button.tsx +0 -18
- package/src/heading.tsx +12 -3
- package/src/index.ts +0 -1
- package/src/input.tsx +6 -6
- package/src/lux.config.ts +19 -0
- package/src/textarea.tsx +6 -6
package/dist/lux.config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { createGui } from '@hanzo/gui';
|
|
3
|
+
import { config as config$1 } from '@hanzo/ui/gui-config';
|
|
3
4
|
import { defaultConfig } from '@hanzogui/config/v5';
|
|
4
5
|
import { animations } from '@hanzogui/config/v5-css';
|
|
5
6
|
|
|
@@ -54,6 +55,7 @@ var luxThemes = {
|
|
|
54
55
|
};
|
|
55
56
|
var config = createGui({
|
|
56
57
|
...defaultConfig,
|
|
58
|
+
...config$1,
|
|
57
59
|
animations,
|
|
58
60
|
settings: {
|
|
59
61
|
...defaultConfig.settings,
|
package/dist/option-position.cjs
CHANGED
|
@@ -153,8 +153,16 @@ function ActionButton({ onClick, children }) {
|
|
|
153
153
|
paddingVertical: 4,
|
|
154
154
|
backgroundColor: "var(--color-button-subtle-bg)",
|
|
155
155
|
cursor: "pointer",
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
157
|
+
gui.Text,
|
|
158
|
+
{
|
|
159
|
+
fontSize: 12,
|
|
160
|
+
fontWeight: "500",
|
|
161
|
+
color: "var(--color-button-subtle-fg)",
|
|
162
|
+
hoverStyle: { color: "var(--color-hover)" },
|
|
163
|
+
children
|
|
164
|
+
}
|
|
165
|
+
)
|
|
158
166
|
}
|
|
159
167
|
);
|
|
160
168
|
}
|
package/dist/option-position.js
CHANGED
|
@@ -131,8 +131,16 @@ function ActionButton({ onClick, children }) {
|
|
|
131
131
|
paddingVertical: 4,
|
|
132
132
|
backgroundColor: "var(--color-button-subtle-bg)",
|
|
133
133
|
cursor: "pointer",
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
children: /* @__PURE__ */ jsx(
|
|
135
|
+
Text,
|
|
136
|
+
{
|
|
137
|
+
fontSize: 12,
|
|
138
|
+
fontWeight: "500",
|
|
139
|
+
color: "var(--color-button-subtle-fg)",
|
|
140
|
+
hoverStyle: { color: "var(--color-hover)" },
|
|
141
|
+
children
|
|
142
|
+
}
|
|
143
|
+
)
|
|
136
144
|
}
|
|
137
145
|
);
|
|
138
146
|
}
|
package/dist/provider.cjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
var gui = require('@hanzo/gui');
|
|
5
5
|
var reactQuery = require('@tanstack/react-query');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var guiConfig = require('@hanzo/ui/gui-config');
|
|
7
8
|
var v5 = require('@hanzogui/config/v5');
|
|
8
9
|
var v5Css = require('@hanzogui/config/v5-css');
|
|
9
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -169,6 +170,7 @@ var luxThemes = {
|
|
|
169
170
|
};
|
|
170
171
|
var config = gui.createGui({
|
|
171
172
|
...v5.defaultConfig,
|
|
173
|
+
...guiConfig.config,
|
|
172
174
|
animations: v5Css.animations,
|
|
173
175
|
settings: {
|
|
174
176
|
...v5.defaultConfig.settings,
|
package/dist/provider.js
CHANGED
|
@@ -3,6 +3,7 @@ import { createGui, GuiProvider } from '@hanzo/gui';
|
|
|
3
3
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
4
4
|
export { QueryClient, useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
5
5
|
import React from 'react';
|
|
6
|
+
import { config as config$1 } from '@hanzo/ui/gui-config';
|
|
6
7
|
import { defaultConfig } from '@hanzogui/config/v5';
|
|
7
8
|
import { animations } from '@hanzogui/config/v5-css';
|
|
8
9
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -164,6 +165,7 @@ var luxThemes = {
|
|
|
164
165
|
};
|
|
165
166
|
var config = createGui({
|
|
166
167
|
...defaultConfig,
|
|
168
|
+
...config$1,
|
|
167
169
|
animations,
|
|
168
170
|
settings: {
|
|
169
171
|
...defaultConfig.settings,
|
package/dist/textarea.cjs
CHANGED
|
@@ -11,11 +11,11 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
11
11
|
|
|
12
12
|
// src/textarea.tsx
|
|
13
13
|
var SIZE = {
|
|
14
|
-
xs: { height: 24, paddingHorizontal: 8, fontSize:
|
|
15
|
-
sm: { height: 32, paddingHorizontal: 12, fontSize:
|
|
16
|
-
md: { height: 40, paddingHorizontal: 16, fontSize:
|
|
17
|
-
lg: { height: 48, paddingHorizontal: 16, fontSize:
|
|
18
|
-
"2xl": { height: 56, paddingHorizontal: 16, fontSize:
|
|
14
|
+
xs: { height: 24, paddingHorizontal: 8, fontSize: "$1", borderRadius: 4 },
|
|
15
|
+
sm: { height: 32, paddingHorizontal: 12, fontSize: "$3", borderRadius: 6 },
|
|
16
|
+
md: { height: 40, paddingHorizontal: 16, fontSize: "$5", borderRadius: 6 },
|
|
17
|
+
lg: { height: 48, paddingHorizontal: 16, fontSize: "$6", borderRadius: 8 },
|
|
18
|
+
"2xl": { height: 56, paddingHorizontal: 16, fontSize: "$7", borderRadius: 8 }
|
|
19
19
|
};
|
|
20
20
|
var VARIANT = {
|
|
21
21
|
outline: { borderWidth: 1, borderStyle: "solid" },
|
|
@@ -58,11 +58,11 @@ var Input = React__default.default.forwardRef(
|
|
|
58
58
|
);
|
|
59
59
|
Input.displayName = "Input";
|
|
60
60
|
var SIZE2 = {
|
|
61
|
-
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize:
|
|
62
|
-
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize:
|
|
63
|
-
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize:
|
|
64
|
-
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
65
|
-
"2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
61
|
+
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize: "$1", borderRadius: 4 },
|
|
62
|
+
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize: "$3", borderRadius: 6 },
|
|
63
|
+
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize: "$5", borderRadius: 6 },
|
|
64
|
+
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$6", borderRadius: 8 },
|
|
65
|
+
"2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$7", borderRadius: 8 }
|
|
66
66
|
};
|
|
67
67
|
var Textarea = React__default.default.forwardRef(
|
|
68
68
|
({ size = "md", variant = "outline", className, onChange, onChangeText, ...rest }, ref) => {
|
package/dist/textarea.js
CHANGED
|
@@ -5,11 +5,11 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
5
5
|
|
|
6
6
|
// src/textarea.tsx
|
|
7
7
|
var SIZE = {
|
|
8
|
-
xs: { height: 24, paddingHorizontal: 8, fontSize:
|
|
9
|
-
sm: { height: 32, paddingHorizontal: 12, fontSize:
|
|
10
|
-
md: { height: 40, paddingHorizontal: 16, fontSize:
|
|
11
|
-
lg: { height: 48, paddingHorizontal: 16, fontSize:
|
|
12
|
-
"2xl": { height: 56, paddingHorizontal: 16, fontSize:
|
|
8
|
+
xs: { height: 24, paddingHorizontal: 8, fontSize: "$1", borderRadius: 4 },
|
|
9
|
+
sm: { height: 32, paddingHorizontal: 12, fontSize: "$3", borderRadius: 6 },
|
|
10
|
+
md: { height: 40, paddingHorizontal: 16, fontSize: "$5", borderRadius: 6 },
|
|
11
|
+
lg: { height: 48, paddingHorizontal: 16, fontSize: "$6", borderRadius: 8 },
|
|
12
|
+
"2xl": { height: 56, paddingHorizontal: 16, fontSize: "$7", borderRadius: 8 }
|
|
13
13
|
};
|
|
14
14
|
var VARIANT = {
|
|
15
15
|
outline: { borderWidth: 1, borderStyle: "solid" },
|
|
@@ -52,11 +52,11 @@ var Input = React.forwardRef(
|
|
|
52
52
|
);
|
|
53
53
|
Input.displayName = "Input";
|
|
54
54
|
var SIZE2 = {
|
|
55
|
-
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize:
|
|
56
|
-
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize:
|
|
57
|
-
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize:
|
|
58
|
-
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
59
|
-
"2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
55
|
+
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize: "$1", borderRadius: 4 },
|
|
56
|
+
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize: "$3", borderRadius: 6 },
|
|
57
|
+
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize: "$5", borderRadius: 6 },
|
|
58
|
+
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$6", borderRadius: 8 },
|
|
59
|
+
"2xl": { paddingHorizontal: 16, paddingVertical: 12, fontSize: "$7", borderRadius: 8 }
|
|
60
60
|
};
|
|
61
61
|
var Textarea = React.forwardRef(
|
|
62
62
|
({ size = "md", variant = "outline", className, onChange, onChangeText, ...rest }, ref) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luxfi/ui",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.15",
|
|
4
4
|
"description": "Cross-platform UI components on @hanzo/gui. Native mobile + web.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -312,14 +312,16 @@
|
|
|
312
312
|
"tailwind-merge": "^3.0.0"
|
|
313
313
|
},
|
|
314
314
|
"peerDependencies": {
|
|
315
|
-
"@hanzo/
|
|
315
|
+
"@hanzo/design": "^0.5.1",
|
|
316
|
+
"@hanzo/gui": "^8.1.1",
|
|
316
317
|
"@hanzo/iam": "^0.13.8",
|
|
317
|
-
"@
|
|
318
|
-
"@hanzogui/
|
|
319
|
-
"@hanzogui/
|
|
320
|
-
"@hanzogui/
|
|
321
|
-
"@hanzogui/
|
|
322
|
-
"@hanzogui/
|
|
318
|
+
"@hanzo/ui": "^8.0.70",
|
|
319
|
+
"@hanzogui/colors": "^8.1.1",
|
|
320
|
+
"@hanzogui/config": "^8.1.1",
|
|
321
|
+
"@hanzogui/core": "^8.1.1",
|
|
322
|
+
"@hanzogui/lucide-icons-2": "^8.1.1",
|
|
323
|
+
"@hanzogui/themes": "^8.1.1",
|
|
324
|
+
"@hanzogui/web": "^8.1.1",
|
|
323
325
|
"@tanstack/react-query": "^5.76.0",
|
|
324
326
|
"react": ">=19",
|
|
325
327
|
"react-dom": ">=19"
|
|
@@ -345,13 +347,15 @@
|
|
|
345
347
|
}
|
|
346
348
|
},
|
|
347
349
|
"devDependencies": {
|
|
348
|
-
"@hanzo/
|
|
350
|
+
"@hanzo/design": "0.5.1",
|
|
351
|
+
"@hanzo/gui": "8.1.1",
|
|
349
352
|
"@hanzo/iam": "^0.13.8",
|
|
350
|
-
"@
|
|
351
|
-
"@hanzogui/
|
|
352
|
-
"@hanzogui/
|
|
353
|
-
"@hanzogui/
|
|
354
|
-
"@hanzogui/
|
|
353
|
+
"@hanzo/ui": "8.0.70",
|
|
354
|
+
"@hanzogui/colors": "8.1.1",
|
|
355
|
+
"@hanzogui/config": "8.1.1",
|
|
356
|
+
"@hanzogui/core": "8.1.1",
|
|
357
|
+
"@hanzogui/themes": "8.1.1",
|
|
358
|
+
"@hanzogui/web": "8.1.1",
|
|
355
359
|
"@playwright/test": "^1.58",
|
|
356
360
|
"@tailwindcss/vite": "^4",
|
|
357
361
|
"@types/react": "^19.0.0",
|
package/src/button.tsx
CHANGED
|
@@ -369,24 +369,6 @@ export const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
369
369
|
},
|
|
370
370
|
);
|
|
371
371
|
|
|
372
|
-
// ---------------------------------------------------------------------------
|
|
373
|
-
// buttonVariants — compatibility shim for consumers that call buttonVariants()
|
|
374
|
-
// Returns the className string for a given variant + size combo.
|
|
375
|
-
// ---------------------------------------------------------------------------
|
|
376
|
-
|
|
377
|
-
const SIZE_CLASSES: Record<string, string> = {
|
|
378
|
-
'2xs': 'px-2 h-5 min-w-5 text-xs rounded-sm gap-1',
|
|
379
|
-
xs: 'px-2 h-6 min-w-6 text-sm rounded-sm gap-1',
|
|
380
|
-
sm: 'px-3 h-8 min-w-8 text-sm rounded-md gap-1',
|
|
381
|
-
md: 'px-3 h-10 min-w-10 text-base rounded-md gap-2',
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
export function buttonVariants(opts?: { variant?: string; size?: string }): string {
|
|
385
|
-
const v = opts?.variant ?? 'solid';
|
|
386
|
-
const s = opts?.size ?? 'md';
|
|
387
|
-
return [BASE_CLASSES, VARIANT_CLASSES[v] ?? '', SIZE_CLASSES[s] ?? ''].filter(Boolean).join(' ');
|
|
388
|
-
}
|
|
389
|
-
|
|
390
372
|
// ---------------------------------------------------------------------------
|
|
391
373
|
// ButtonGroup
|
|
392
374
|
// ---------------------------------------------------------------------------
|
package/src/heading.tsx
CHANGED
|
@@ -21,9 +21,18 @@ export interface HeadingProps extends React.ComponentPropsWithoutRef<'h1'> {
|
|
|
21
21
|
const TAG = { '1': H1, '2': H2, '3': H3 } as const;
|
|
22
22
|
|
|
23
23
|
const RAMP = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
// Tokens, not numbers. `$n` publishes as `var(--text-*, <px>)` through the
|
|
25
|
+
// shared config, and @hanzo/design multiplies `--text-*` by `--type-scale` —
|
|
26
|
+
// so these three lines are what lets a person's type-size setting reach a
|
|
27
|
+
// heading at all. Written as `18` they would render identically today and
|
|
28
|
+
// never move again.
|
|
29
|
+
//
|
|
30
|
+
// lineHeight is deliberately absent: gui derives it from the resolved size,
|
|
31
|
+
// so it scales WITH the text. A fixed 24 next to an adjustable size is how
|
|
32
|
+
// you get 32px text in a 24px box.
|
|
33
|
+
'1': { fontSize: '$6', $lg: { fontSize: '$10', letterSpacing: -0.5 } },
|
|
34
|
+
'2': { fontSize: '$5', $lg: { fontSize: '$8' } },
|
|
35
|
+
'3': { fontSize: '$3', fontWeight: '600', $lg: { fontSize: '$6', fontWeight: '500' } },
|
|
27
36
|
} as const;
|
|
28
37
|
|
|
29
38
|
export const Heading = React.forwardRef<HTMLHeadingElement, HeadingProps>(
|
package/src/index.ts
CHANGED
package/src/input.tsx
CHANGED
|
@@ -26,12 +26,12 @@ export interface InputProps extends Omit<React.ComponentPropsWithRef<'input'>, '
|
|
|
26
26
|
readonly onChangeText?: (text: string) => void;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export const SIZE: Record<InputSize, Record<string,
|
|
30
|
-
xs: { height: 24, paddingHorizontal: 8, fontSize:
|
|
31
|
-
sm: { height: 32, paddingHorizontal: 12, fontSize:
|
|
32
|
-
md: { height: 40, paddingHorizontal: 16, fontSize:
|
|
33
|
-
lg: { height: 48, paddingHorizontal: 16, fontSize:
|
|
34
|
-
'2xl': { height: 56, paddingHorizontal: 16, fontSize:
|
|
29
|
+
export const SIZE: Record<InputSize, Record<string, unknown>> = {
|
|
30
|
+
xs: { height: 24, paddingHorizontal: 8, fontSize: '$1', borderRadius: 4 },
|
|
31
|
+
sm: { height: 32, paddingHorizontal: 12, fontSize: '$3', borderRadius: 6 },
|
|
32
|
+
md: { height: 40, paddingHorizontal: 16, fontSize: '$5', borderRadius: 6 },
|
|
33
|
+
lg: { height: 48, paddingHorizontal: 16, fontSize: '$6', borderRadius: 8 },
|
|
34
|
+
'2xl': { height: 56, paddingHorizontal: 16, fontSize: '$7', borderRadius: 8 },
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
export const VARIANT: Record<InputVariant, Record<string, unknown>> = {
|
package/src/lux.config.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { createGui } from '@hanzo/gui';
|
|
4
|
+
import { config as hanzoConfig } from '@hanzo/ui/gui-config';
|
|
4
5
|
import { defaultConfig } from '@hanzogui/config/v5';
|
|
5
6
|
import { animations } from '@hanzogui/config/v5-css';
|
|
6
7
|
|
|
@@ -60,8 +61,26 @@ export const luxThemes = {
|
|
|
60
61
|
// the motion — one wiring for the whole fleet, not one per app.
|
|
61
62
|
// Native surfaces can swap `@hanzogui/config/v5-css` for `/v5-rn` without
|
|
62
63
|
// touching a component: the transition token names are identical.
|
|
64
|
+
// The type ramp comes from @hanzo/ui's shared config, not from v5's literals.
|
|
65
|
+
//
|
|
66
|
+
// That config publishes gui's `$n` font ladder as `var(--text-*, <px>)` rather
|
|
67
|
+
// than as numbers, and @hanzo/design's ramp multiplies `--text-*` by
|
|
68
|
+
// `--type-scale` — the knob @hanzo/appearance writes onto <html>. gui resolves
|
|
69
|
+
// a size in JS and applies it INLINE, and an inline style outranks every
|
|
70
|
+
// stylesheet, so a custom property is the only thing that can reach a
|
|
71
|
+
// `fontSize="$n"` call site at all. Taking v5's ladder instead would render
|
|
72
|
+
// identically today and be frozen forever: a person's type-size setting would
|
|
73
|
+
// have nothing to move.
|
|
74
|
+
//
|
|
75
|
+
// The px literal survives as each var()'s fallback, so a Lux surface that
|
|
76
|
+
// mounts no token layer still renders at the intended size.
|
|
77
|
+
//
|
|
78
|
+
// Only TYPE is on that ramp upstream — `space` and `radius` arrive as numbers,
|
|
79
|
+
// so density is not adjustable yet. That is a gap in the shared config, not
|
|
80
|
+
// something to paper over here with a private scale.
|
|
63
81
|
export const config = createGui({
|
|
64
82
|
...defaultConfig,
|
|
83
|
+
...hanzoConfig,
|
|
65
84
|
animations,
|
|
66
85
|
settings: {
|
|
67
86
|
...defaultConfig.settings,
|
package/src/textarea.tsx
CHANGED
|
@@ -19,12 +19,12 @@ export interface TextareaProps extends Omit<React.ComponentPropsWithRef<'textare
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/** Same ramp as Input, but a textarea is sized by padding, not by height. */
|
|
22
|
-
const SIZE: Record<TextareaSize, Record<string,
|
|
23
|
-
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize:
|
|
24
|
-
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize:
|
|
25
|
-
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize:
|
|
26
|
-
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
27
|
-
'2xl': { paddingHorizontal: 16, paddingVertical: 12, fontSize:
|
|
22
|
+
const SIZE: Record<TextareaSize, Record<string, unknown>> = {
|
|
23
|
+
xs: { paddingHorizontal: 8, paddingVertical: 4, fontSize: '$1', borderRadius: 4 },
|
|
24
|
+
sm: { paddingHorizontal: 12, paddingVertical: 8, fontSize: '$3', borderRadius: 6 },
|
|
25
|
+
md: { paddingHorizontal: 16, paddingVertical: 8, fontSize: '$5', borderRadius: 6 },
|
|
26
|
+
lg: { paddingHorizontal: 16, paddingVertical: 12, fontSize: '$6', borderRadius: 8 },
|
|
27
|
+
'2xl': { paddingHorizontal: 16, paddingVertical: 12, fontSize: '$7', borderRadius: 8 },
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
|