@mgcrea/react-native-tailwind 0.6.0 → 0.6.1

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/README.md CHANGED
@@ -1,13 +1,32 @@
1
- # React Native Tailwind
2
-
3
- <div align="center">
4
-
5
- [![npm version](https://img.shields.io/npm/v/@mgcrea/react-native-tailwind.svg?style=for-the-badge)](https://www.npmjs.com/package/@mgcrea/react-native-tailwind)
6
- [![npm downloads](https://img.shields.io/npm/dt/@mgcrea/react-native-tailwind.svg?style=for-the-badge)](https://www.npmjs.com/package/@mgcrea/react-native-tailwind)
7
- [![license](https://img.shields.io/github/license/mgcrea/react-native-tailwind.svg?style=for-the-badge)](https://github.com/mgcrea/react-native-tailwind/blob/main/LICENSE)
8
- [![build status](https://img.shields.io/github/actions/workflow/status/mgcrea/react-native-tailwind/main.yaml?style=for-the-badge&branch=master)](https://github.com/mgcrea/react-native-tailwind/actions/workflows/main.yaml)
9
-
10
- </div>
1
+ <!-- # React Native Tailwind -->
2
+
3
+ <!-- markdownlint-disable MD033 -->
4
+ <p align="center">
5
+ <a href="https://mgcrea.github.io/react-native-swiftui">
6
+ <img src="./.github/assets/logo.png" alt="logo" width="480" height="300"/>
7
+ </a>
8
+ </p>
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/@mgcrea/react-native-tailwind">
11
+ <img src="https://img.shields.io/npm/v/@mgcrea/react-native-tailwind.svg?style=for-the-badge" alt="npm version" />
12
+ </a>
13
+ <a href="https://www.npmjs.com/package/@mgcrea/react-native-tailwind">
14
+ <img src="https://img.shields.io/npm/dt/@mgcrea/react-native-tailwind.svg?style=for-the-badge" alt="npm total downloads" />
15
+ </a>
16
+ <a href="https://www.npmjs.com/package/@mgcrea/react-native-tailwind">
17
+ <img src="https://img.shields.io/npm/dm/@mgcrea/react-native-tailwind.svg?style=for-the-badge" alt="npm monthly downloads" />
18
+ </a>
19
+ <a href="https://www.npmjs.com/package/@mgcrea/react-native-tailwind">
20
+ <img src="https://img.shields.io/npm/l/@mgcrea/react-native-tailwind.svg?style=for-the-badge" alt="npm license" />
21
+ </a>
22
+ <br />
23
+ <a href="https://github.com/mgcrea/react-native-tailwind/actions/workflows/main.yaml">
24
+ <img src="https://img.shields.io/github/actions/workflow/status/mgcrea/react-native-tailwind/main.yaml?style=for-the-badge&branch=main" alt="build status" />
25
+ </a>
26
+ <a href="https://depfu.com/github/mgcrea/react-native-tailwind">
27
+ <img src="https://img.shields.io/depfu/dependencies/github/mgcrea/react-native-tailwind?style=for-the-badge" alt="dependencies status" />
28
+ </a>
29
+ </p>
11
30
 
12
31
  ## Overview
13
32
 
@@ -27,6 +46,10 @@ Compile-time Tailwind CSS for React Native with zero runtime overhead. Transform
27
46
  - 🎯 **State modifiers** — `active:`, `hover:`, `focus:`, and `disabled:` modifiers for interactive components
28
47
  - 📜 **Special style props** — Support for `contentContainerClassName`, `columnWrapperClassName`, and more
29
48
 
49
+ ## Demo
50
+
51
+ ![demo](./.github/assets/demo.gif)
52
+
30
53
  ## Installation
31
54
 
32
55
  ```bash
@@ -258,112 +258,310 @@ function parseBorderRadius(cls) {
258
258
  return null;
259
259
  }
260
260
 
261
- // src/parser/colors.ts
262
- var COLORS = {
263
- // Gray
264
- "gray-50": "#F9FAFB",
265
- "gray-100": "#F3F4F6",
266
- "gray-200": "#E5E7EB",
267
- "gray-300": "#D1D5DB",
268
- "gray-400": "#9CA3AF",
269
- "gray-500": "#6B7280",
270
- "gray-600": "#4B5563",
271
- "gray-700": "#374151",
272
- "gray-800": "#1F2937",
273
- "gray-900": "#111827",
274
- // Red
275
- "red-50": "#FEF2F2",
276
- "red-100": "#FEE2E2",
277
- "red-200": "#FECACA",
278
- "red-300": "#FCA5A5",
279
- "red-400": "#F87171",
280
- "red-500": "#EF4444",
281
- "red-600": "#DC2626",
282
- "red-700": "#B91C1C",
283
- "red-800": "#991B1B",
284
- "red-900": "#7F1D1D",
285
- // Blue
286
- "blue-50": "#EFF6FF",
287
- "blue-100": "#DBEAFE",
288
- "blue-200": "#BFDBFE",
289
- "blue-300": "#93C5FD",
290
- "blue-400": "#60A5FA",
291
- "blue-500": "#3B82F6",
292
- "blue-600": "#2563EB",
293
- "blue-700": "#1D4ED8",
294
- "blue-800": "#1E40AF",
295
- "blue-900": "#1E3A8A",
296
- // Green
297
- "green-50": "#F0FDF4",
298
- "green-100": "#DCFCE7",
299
- "green-200": "#BBF7D0",
300
- "green-300": "#86EFAC",
301
- "green-400": "#4ADE80",
302
- "green-500": "#22C55E",
303
- "green-600": "#16A34A",
304
- "green-700": "#15803D",
305
- "green-800": "#166534",
306
- "green-900": "#14532D",
307
- // Yellow
308
- "yellow-50": "#FEFCE8",
309
- "yellow-100": "#FEF9C3",
310
- "yellow-200": "#FEF08A",
311
- "yellow-300": "#FDE047",
312
- "yellow-400": "#FACC15",
313
- "yellow-500": "#EAB308",
314
- "yellow-600": "#CA8A04",
315
- "yellow-700": "#A16207",
316
- "yellow-800": "#854D0E",
317
- "yellow-900": "#713F12",
318
- // Purple
319
- "purple-50": "#FAF5FF",
320
- "purple-100": "#F3E8FF",
321
- "purple-200": "#E9D5FF",
322
- "purple-300": "#D8B4FE",
323
- "purple-400": "#C084FC",
324
- "purple-500": "#A855F7",
325
- "purple-600": "#9333EA",
326
- "purple-700": "#7E22CE",
327
- "purple-800": "#6B21A8",
328
- "purple-900": "#581C87",
329
- // Pink
330
- "pink-50": "#FDF2F8",
331
- "pink-100": "#FCE7F3",
332
- "pink-200": "#FBCFE8",
333
- "pink-300": "#F9A8D4",
334
- "pink-400": "#F472B6",
335
- "pink-500": "#EC4899",
336
- "pink-600": "#DB2777",
337
- "pink-700": "#BE185D",
338
- "pink-800": "#9D174D",
339
- "pink-900": "#831843",
340
- // Orange
341
- "orange-50": "#FFF7ED",
342
- "orange-100": "#FFEDD5",
343
- "orange-200": "#FED7AA",
344
- "orange-300": "#FDBA74",
345
- "orange-400": "#FB923C",
346
- "orange-500": "#F97316",
347
- "orange-600": "#EA580C",
348
- "orange-700": "#C2410C",
349
- "orange-800": "#9A3412",
350
- "orange-900": "#7C2D12",
351
- // Indigo
352
- "indigo-50": "#EEF2FF",
353
- "indigo-100": "#E0E7FF",
354
- "indigo-200": "#C7D2FE",
355
- "indigo-300": "#A5B4FC",
356
- "indigo-400": "#818CF8",
357
- "indigo-500": "#6366F1",
358
- "indigo-600": "#4F46E5",
359
- "indigo-700": "#4338CA",
360
- "indigo-800": "#3730A3",
361
- "indigo-900": "#312E81",
362
- // Basic colors
363
- white: "#FFFFFF",
364
- black: "#000000",
365
- transparent: "transparent"
261
+ // src/config/palettes.ts
262
+ var TAILWIND_PALETTES = {
263
+ red: {
264
+ "50": "#fef2f2",
265
+ "100": "#ffe2e2",
266
+ "200": "#ffc9c9",
267
+ "300": "#ffa2a2",
268
+ "400": "#ff6467",
269
+ "500": "#fb2c36",
270
+ "600": "#e7000b",
271
+ "700": "#c10007",
272
+ "800": "#9f0712",
273
+ "900": "#82181a",
274
+ "950": "#460809"
275
+ },
276
+ orange: {
277
+ "50": "#fff7ed",
278
+ "100": "#ffedd4",
279
+ "200": "#ffd6a7",
280
+ "300": "#ffb86a",
281
+ "400": "#ff8904",
282
+ "500": "#ff6900",
283
+ "600": "#f54900",
284
+ "700": "#ca3500",
285
+ "800": "#9f2d00",
286
+ "900": "#7e2a0c",
287
+ "950": "#441306"
288
+ },
289
+ amber: {
290
+ "50": "#fffbeb",
291
+ "100": "#fef3c6",
292
+ "200": "#fee685",
293
+ "300": "#ffd230",
294
+ "400": "#ffb900",
295
+ "500": "#fe9a00",
296
+ "600": "#e17100",
297
+ "700": "#bb4d00",
298
+ "800": "#973c00",
299
+ "900": "#7b3306",
300
+ "950": "#461901"
301
+ },
302
+ yellow: {
303
+ "50": "#fefce8",
304
+ "100": "#fef9c2",
305
+ "200": "#fff085",
306
+ "300": "#ffdf20",
307
+ "400": "#fdc700",
308
+ "500": "#f0b100",
309
+ "600": "#d08700",
310
+ "700": "#a65f00",
311
+ "800": "#894b00",
312
+ "900": "#733e0a",
313
+ "950": "#432004"
314
+ },
315
+ lime: {
316
+ "50": "#f7fee7",
317
+ "100": "#ecfcca",
318
+ "200": "#d8f999",
319
+ "300": "#bbf451",
320
+ "400": "#9ae600",
321
+ "500": "#7ccf00",
322
+ "600": "#5ea500",
323
+ "700": "#497d00",
324
+ "800": "#3c6300",
325
+ "900": "#35530e",
326
+ "950": "#192e03"
327
+ },
328
+ green: {
329
+ "50": "#f0fdf4",
330
+ "100": "#dcfce7",
331
+ "200": "#b9f8cf",
332
+ "300": "#7bf1a8",
333
+ "400": "#05df72",
334
+ "500": "#00c950",
335
+ "600": "#00a63e",
336
+ "700": "#008236",
337
+ "800": "#016630",
338
+ "900": "#0d542b",
339
+ "950": "#032e15"
340
+ },
341
+ emerald: {
342
+ "50": "#ecfdf5",
343
+ "100": "#d0fae5",
344
+ "200": "#a4f4cf",
345
+ "300": "#5ee9b5",
346
+ "400": "#00d492",
347
+ "500": "#00bc7d",
348
+ "600": "#009966",
349
+ "700": "#007a55",
350
+ "800": "#006045",
351
+ "900": "#004f3b",
352
+ "950": "#002c22"
353
+ },
354
+ teal: {
355
+ "50": "#f0fdfa",
356
+ "100": "#cbfbf1",
357
+ "200": "#96f7e4",
358
+ "300": "#46ecd5",
359
+ "400": "#00d5be",
360
+ "500": "#00bba7",
361
+ "600": "#009689",
362
+ "700": "#00786f",
363
+ "800": "#005f5a",
364
+ "900": "#0b4f4a",
365
+ "950": "#022f2e"
366
+ },
367
+ cyan: {
368
+ "50": "#ecfeff",
369
+ "100": "#cefafe",
370
+ "200": "#a2f4fd",
371
+ "300": "#53eafd",
372
+ "400": "#00d3f2",
373
+ "500": "#00b8db",
374
+ "600": "#0092b8",
375
+ "700": "#007595",
376
+ "800": "#005f78",
377
+ "900": "#104e64",
378
+ "950": "#053345"
379
+ },
380
+ sky: {
381
+ "50": "#f0f9ff",
382
+ "100": "#dff2fe",
383
+ "200": "#b8e6fe",
384
+ "300": "#74d4ff",
385
+ "400": "#00bcff",
386
+ "500": "#00a6f4",
387
+ "600": "#0084d1",
388
+ "700": "#0069a8",
389
+ "800": "#00598a",
390
+ "900": "#024a70",
391
+ "950": "#052f4a"
392
+ },
393
+ blue: {
394
+ "50": "#eff6ff",
395
+ "100": "#dbeafe",
396
+ "200": "#bedbff",
397
+ "300": "#8ec5ff",
398
+ "400": "#51a2ff",
399
+ "500": "#2b7fff",
400
+ "600": "#155dfc",
401
+ "700": "#1447e6",
402
+ "800": "#193cb8",
403
+ "900": "#1c398e",
404
+ "950": "#162456"
405
+ },
406
+ indigo: {
407
+ "50": "#eef2ff",
408
+ "100": "#e0e7ff",
409
+ "200": "#c6d2ff",
410
+ "300": "#a3b3ff",
411
+ "400": "#7c86ff",
412
+ "500": "#615fff",
413
+ "600": "#4f39f6",
414
+ "700": "#432dd7",
415
+ "800": "#372aac",
416
+ "900": "#312c85",
417
+ "950": "#1e1a4d"
418
+ },
419
+ violet: {
420
+ "50": "#f5f3ff",
421
+ "100": "#ede9fe",
422
+ "200": "#ddd6ff",
423
+ "300": "#c4b4ff",
424
+ "400": "#a684ff",
425
+ "500": "#8e51ff",
426
+ "600": "#7f22fe",
427
+ "700": "#7008e7",
428
+ "800": "#5d0ec0",
429
+ "900": "#4d179a",
430
+ "950": "#2f0d68"
431
+ },
432
+ purple: {
433
+ "50": "#faf5ff",
434
+ "100": "#f3e8ff",
435
+ "200": "#e9d4ff",
436
+ "300": "#dab2ff",
437
+ "400": "#c27aff",
438
+ "500": "#ad46ff",
439
+ "600": "#9810fa",
440
+ "700": "#8200db",
441
+ "800": "#6e11b0",
442
+ "900": "#59168b",
443
+ "950": "#3c0366"
444
+ },
445
+ fuchsia: {
446
+ "50": "#fdf4ff",
447
+ "100": "#fae8ff",
448
+ "200": "#f6cfff",
449
+ "300": "#f4a8ff",
450
+ "400": "#ed6aff",
451
+ "500": "#e12afb",
452
+ "600": "#c800de",
453
+ "700": "#a800b7",
454
+ "800": "#8a0194",
455
+ "900": "#721378",
456
+ "950": "#4b004f"
457
+ },
458
+ pink: {
459
+ "50": "#fdf2f8",
460
+ "100": "#fce7f3",
461
+ "200": "#fccee8",
462
+ "300": "#fda5d5",
463
+ "400": "#fb64b6",
464
+ "500": "#f6339a",
465
+ "600": "#e60076",
466
+ "700": "#c6005c",
467
+ "800": "#a3004c",
468
+ "900": "#861043",
469
+ "950": "#510424"
470
+ },
471
+ rose: {
472
+ "50": "#fff1f2",
473
+ "100": "#ffe4e6",
474
+ "200": "#ffccd3",
475
+ "300": "#ffa1ad",
476
+ "400": "#ff637e",
477
+ "500": "#ff2056",
478
+ "600": "#ec003f",
479
+ "700": "#c70036",
480
+ "800": "#a50036",
481
+ "900": "#8b0836",
482
+ "950": "#4d0218"
483
+ },
484
+ slate: {
485
+ "50": "#f8fafc",
486
+ "100": "#f1f5f9",
487
+ "200": "#e2e8f0",
488
+ "300": "#cad5e2",
489
+ "400": "#90a1b9",
490
+ "500": "#62748e",
491
+ "600": "#45556c",
492
+ "700": "#314158",
493
+ "800": "#1d293d",
494
+ "900": "#0f172b",
495
+ "950": "#020618"
496
+ },
497
+ gray: {
498
+ "50": "#f9fafb",
499
+ "100": "#f3f4f6",
500
+ "200": "#e5e7eb",
501
+ "300": "#d1d5dc",
502
+ "400": "#99a1af",
503
+ "500": "#6a7282",
504
+ "600": "#4a5565",
505
+ "700": "#364153",
506
+ "800": "#1e2939",
507
+ "900": "#101828",
508
+ "950": "#030712"
509
+ },
510
+ zinc: {
511
+ "50": "#fafafa",
512
+ "100": "#f4f4f5",
513
+ "200": "#e4e4e7",
514
+ "300": "#d4d4d8",
515
+ "400": "#9f9fa9",
516
+ "500": "#71717b",
517
+ "600": "#52525c",
518
+ "700": "#3f3f46",
519
+ "800": "#27272a",
520
+ "900": "#18181b",
521
+ "950": "#09090b"
522
+ },
523
+ neutral: {
524
+ "50": "#fafafa",
525
+ "100": "#f5f5f5",
526
+ "200": "#e5e5e5",
527
+ "300": "#d4d4d4",
528
+ "400": "#a1a1a1",
529
+ "500": "#737373",
530
+ "600": "#525252",
531
+ "700": "#404040",
532
+ "800": "#262626",
533
+ "900": "#171717",
534
+ "950": "#0a0a0a"
535
+ },
536
+ stone: {
537
+ "50": "#fafaf9",
538
+ "100": "#f5f5f4",
539
+ "200": "#e7e5e4",
540
+ "300": "#d6d3d1",
541
+ "400": "#a6a09b",
542
+ "500": "#79716b",
543
+ "600": "#57534d",
544
+ "700": "#44403b",
545
+ "800": "#292524",
546
+ "900": "#1c1917",
547
+ "950": "#0c0a09"
548
+ }
366
549
  };
550
+
551
+ // src/parser/colors.ts
552
+ function flattenColors() {
553
+ const flat = {};
554
+ for (const [colorName, shades] of Object.entries(TAILWIND_PALETTES)) {
555
+ for (const [shade, hex] of Object.entries(shades)) {
556
+ flat[`${colorName}-${shade}`] = hex;
557
+ }
558
+ }
559
+ flat.white = "#FFFFFF";
560
+ flat.black = "#000000";
561
+ flat.transparent = "transparent";
562
+ return flat;
563
+ }
564
+ var COLORS = flattenColors();
367
565
  function applyOpacity(hex, opacity) {
368
566
  if (hex === "transparent") {
369
567
  return "transparent";
@@ -561,6 +759,29 @@ var OVERFLOW_MAP = {
561
759
  "overflow-visible": { overflow: "visible" },
562
760
  "overflow-scroll": { overflow: "scroll" }
563
761
  };
762
+ var OPACITY_MAP = {
763
+ "opacity-0": { opacity: 0 },
764
+ "opacity-5": { opacity: 0.05 },
765
+ "opacity-10": { opacity: 0.1 },
766
+ "opacity-15": { opacity: 0.15 },
767
+ "opacity-20": { opacity: 0.2 },
768
+ "opacity-25": { opacity: 0.25 },
769
+ "opacity-30": { opacity: 0.3 },
770
+ "opacity-35": { opacity: 0.35 },
771
+ "opacity-40": { opacity: 0.4 },
772
+ "opacity-45": { opacity: 0.45 },
773
+ "opacity-50": { opacity: 0.5 },
774
+ "opacity-55": { opacity: 0.55 },
775
+ "opacity-60": { opacity: 0.6 },
776
+ "opacity-65": { opacity: 0.65 },
777
+ "opacity-70": { opacity: 0.7 },
778
+ "opacity-75": { opacity: 0.75 },
779
+ "opacity-80": { opacity: 0.8 },
780
+ "opacity-85": { opacity: 0.85 },
781
+ "opacity-90": { opacity: 0.9 },
782
+ "opacity-95": { opacity: 0.95 },
783
+ "opacity-100": { opacity: 1 }
784
+ };
564
785
  var Z_INDEX_SCALE = {
565
786
  0: 0,
566
787
  10: 10,
@@ -691,7 +912,7 @@ function parseLayout(cls) {
691
912
  return { top: insetValue, right: insetValue, bottom: insetValue, left: insetValue };
692
913
  }
693
914
  }
694
- return DISPLAY_MAP[cls] ?? FLEX_DIRECTION_MAP[cls] ?? FLEX_WRAP_MAP[cls] ?? FLEX_MAP[cls] ?? GROW_SHRINK_MAP[cls] ?? JUSTIFY_CONTENT_MAP[cls] ?? ALIGN_ITEMS_MAP[cls] ?? ALIGN_SELF_MAP[cls] ?? ALIGN_CONTENT_MAP[cls] ?? POSITION_MAP[cls] ?? OVERFLOW_MAP[cls] ?? null;
915
+ return DISPLAY_MAP[cls] ?? FLEX_DIRECTION_MAP[cls] ?? FLEX_WRAP_MAP[cls] ?? FLEX_MAP[cls] ?? GROW_SHRINK_MAP[cls] ?? JUSTIFY_CONTENT_MAP[cls] ?? ALIGN_ITEMS_MAP[cls] ?? ALIGN_SELF_MAP[cls] ?? ALIGN_CONTENT_MAP[cls] ?? POSITION_MAP[cls] ?? OVERFLOW_MAP[cls] ?? OPACITY_MAP[cls] ?? null;
695
916
  }
696
917
 
697
918
  // src/parser/shadows.ts
@@ -1353,6 +1574,11 @@ var FONT_SIZES = {
1353
1574
  "8xl": 96,
1354
1575
  "9xl": 128
1355
1576
  };
1577
+ var FONT_FAMILY_MAP = {
1578
+ "font-sans": { fontFamily: "System" },
1579
+ "font-serif": { fontFamily: "serif" },
1580
+ "font-mono": { fontFamily: "Courier" }
1581
+ };
1356
1582
  var FONT_WEIGHT_MAP = {
1357
1583
  "font-thin": { fontWeight: "100" },
1358
1584
  "font-extralight": { fontWeight: "200" },
@@ -1450,7 +1676,7 @@ function parseTypography(cls) {
1450
1676
  return { lineHeight: arbitraryValue };
1451
1677
  }
1452
1678
  }
1453
- return FONT_WEIGHT_MAP[cls] ?? FONT_STYLE_MAP[cls] ?? TEXT_ALIGN_MAP[cls] ?? TEXT_DECORATION_MAP[cls] ?? TEXT_TRANSFORM_MAP[cls] ?? LINE_HEIGHT_MAP[cls] ?? TRACKING_MAP[cls] ?? null;
1679
+ return FONT_FAMILY_MAP[cls] ?? FONT_WEIGHT_MAP[cls] ?? FONT_STYLE_MAP[cls] ?? TEXT_ALIGN_MAP[cls] ?? TEXT_DECORATION_MAP[cls] ?? TEXT_TRANSFORM_MAP[cls] ?? LINE_HEIGHT_MAP[cls] ?? TRACKING_MAP[cls] ?? null;
1454
1680
  }
1455
1681
 
1456
1682
  // src/parser/modifiers.ts
@@ -1575,14 +1801,14 @@ function loadTailwindConfig(configPath) {
1575
1801
  return null;
1576
1802
  }
1577
1803
  }
1578
- function flattenColors(colors, prefix = "") {
1804
+ function flattenColors2(colors, prefix = "") {
1579
1805
  const result = {};
1580
1806
  for (const [key, value] of Object.entries(colors)) {
1581
1807
  const newKey = prefix ? `${prefix}-${key}` : key;
1582
1808
  if (typeof value === "string") {
1583
1809
  result[newKey] = value;
1584
1810
  } else if (typeof value === "object" && value !== null) {
1585
- Object.assign(result, flattenColors(value, newKey));
1811
+ Object.assign(result, flattenColors2(value, newKey));
1586
1812
  }
1587
1813
  }
1588
1814
  return result;
@@ -1603,7 +1829,7 @@ function extractCustomColors(filename) {
1603
1829
  );
1604
1830
  }
1605
1831
  const colors = config.theme.extend?.colors ?? config.theme.colors ?? {};
1606
- return flattenColors(colors);
1832
+ return flattenColors2(colors);
1607
1833
  }
1608
1834
 
1609
1835
  // src/babel/index.ts
@@ -11,6 +11,7 @@ export type PressableProps = Omit<RNPressableProps, "style"> & {
11
11
  * Style can be a static style object/array or a function that receives Pressable state + disabled
12
12
  */
13
13
  style?: StyleProp<ViewStyle> | ((state: EnhancedPressableState) => StyleProp<ViewStyle>);
14
+ className?: string;
14
15
  };
15
16
  /**
16
17
  * Enhanced Pressable that supports the disabled: modifier
@@ -28,5 +29,6 @@ export declare const Pressable: import("react").ForwardRefExoticComponent<Omit<R
28
29
  * Style can be a static style object/array or a function that receives Pressable state + disabled
29
30
  */
30
31
  style?: StyleProp<ViewStyle> | ((state: EnhancedPressableState) => StyleProp<ViewStyle>);
32
+ className?: string;
31
33
  } & import("react").RefAttributes<import("react-native").View>>;
32
34
  export {};
@@ -23,6 +23,7 @@ export type TextInputProps = Omit<RNTextInputProps, "style"> & {
23
23
  focused: boolean;
24
24
  disabled: boolean;
25
25
  }) => RNTextInputProps["style"]);
26
+ className?: string;
26
27
  /**
27
28
  * Convenience prop for disabled state (overrides editable if provided)
28
29
  * When true, sets editable to false
@@ -48,6 +49,7 @@ export declare const TextInput: import("react").ForwardRefExoticComponent<Omit<R
48
49
  focused: boolean;
49
50
  disabled: boolean;
50
51
  }) => RNTextInputProps["style"]);
52
+ className?: string;
51
53
  /**
52
54
  * Convenience prop for disabled state (overrides editable if provided)
53
55
  * When true, sets editable to false