@thewhileloop/whileui 2.0.0 → 3.0.0

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.
Files changed (56) hide show
  1. package/README.md +18 -5
  2. package/dist/blocks/commerce/metric-card.d.ts +9 -29
  3. package/dist/blocks/datepicker/date-range-picker-modal.d.ts +1 -1
  4. package/dist/blocks/datepicker/date-range-picker-modal.js +6 -14
  5. package/dist/blocks/datepicker/datepicker-modal.d.ts +1 -1
  6. package/dist/blocks/datepicker/datepicker-modal.js +6 -12
  7. package/dist/blocks/layout/smart-input.d.ts +3 -2
  8. package/dist/blocks/layout/smart-input.js +33 -18
  9. package/dist/blocks/media/smart-image.d.ts +39 -98
  10. package/dist/blocks/navigation/drawer-menu.js +88 -72
  11. package/dist/components/alert/alert.d.ts +23 -55
  12. package/dist/components/alert/alert.js +1 -1
  13. package/dist/components/alert-dialog/alert-dialog.js +1 -4
  14. package/dist/components/avatar/avatar.d.ts +18 -45
  15. package/dist/components/avatar/avatar.js +1 -1
  16. package/dist/components/badge/badge.d.ts +84 -212
  17. package/dist/components/button/button.d.ts +69 -188
  18. package/dist/components/card/card.d.ts +29 -73
  19. package/dist/components/card/card.js +1 -1
  20. package/dist/components/container/container.d.ts +24 -96
  21. package/dist/components/data-row/data-row.d.ts +18 -38
  22. package/dist/components/data-row/data-row.js +1 -1
  23. package/dist/components/form-field/form-field.d.ts +31 -87
  24. package/dist/components/form-field/form-field.js +1 -1
  25. package/dist/components/hover-card/hover-card.d.ts +3 -2
  26. package/dist/components/input/input.d.ts +12 -31
  27. package/dist/components/label/label.d.ts +3 -3
  28. package/dist/components/labeled-field/labeled-field.d.ts +3 -2
  29. package/dist/components/numeric-input/numeric-input.d.ts +27 -82
  30. package/dist/components/numeric-input/numeric-input.js +69 -78
  31. package/dist/components/otp-input/otp-input.d.ts +21 -65
  32. package/dist/components/popover/popover.d.ts +4 -3
  33. package/dist/components/pressable/pressable.d.ts +3 -3
  34. package/dist/components/progress/progress.d.ts +15 -39
  35. package/dist/components/row/row.d.ts +63 -163
  36. package/dist/components/segmented-control/segmented-control.d.ts +69 -241
  37. package/dist/components/select/select.d.ts +10 -22
  38. package/dist/components/select/select.js +2 -2
  39. package/dist/components/separator/separator.d.ts +3 -3
  40. package/dist/components/skeleton/skeleton.d.ts +9 -29
  41. package/dist/components/spinner/spinner.d.ts +12 -36
  42. package/dist/components/stack/stack.d.ts +63 -163
  43. package/dist/components/tabs/tabs.d.ts +9 -29
  44. package/dist/components/text/text.d.ts +51 -131
  45. package/dist/components/textarea/textarea.d.ts +15 -39
  46. package/dist/components/textarea/textarea.js +1 -1
  47. package/dist/components/toast/toast.d.ts +12 -36
  48. package/dist/components/toggle/toggle.d.ts +42 -138
  49. package/dist/components/toggle-group/toggle-group.d.ts +42 -138
  50. package/dist/components/tooltip/tooltip.d.ts +3 -2
  51. package/dist/components/view/view.d.ts +3 -3
  52. package/dist/lib/ref-types.d.ts +3 -0
  53. package/dist/lib/ref-types.js +1 -0
  54. package/dist/lib/theme-bridge.d.ts +4 -2
  55. package/dist/lib/theme-bridge.js +13 -9
  56. package/package.json +29 -28
@@ -1,104 +1,60 @@
1
- import React from 'react';
2
- import { View, type ViewProps, type TextProps } from 'react-native';
1
+ import { type ViewInstance, type ViewProps, type TextInstance, type TextProps } from 'react-native';
3
2
  import { type VariantProps } from '../../lib/tv';
4
3
  import { type FrostedSurfaceProps } from '../../lib/frosted-surface';
5
4
  import { type ShadowTier } from '../../lib/recipes';
5
+ import type { ForwardRefComponent } from '../../lib/ref-types';
6
6
  declare const cardVariants: import("tailwind-variants").TVReturnType<{
7
7
  padding: {
8
- none: string;
9
- sm: string;
10
- default: string;
11
- lg: string;
8
+ none: "";
9
+ sm: "";
10
+ default: "";
11
+ lg: "";
12
12
  };
13
13
  unstyled: {
14
- true: string;
15
- false: string;
14
+ true: "rounded-none border-0 bg-transparent shadow-none";
15
+ false: "";
16
16
  };
17
- }, undefined, "border border-border bg-card", import("tailwind-variants/dist/config.js").TVConfig<{
17
+ }, undefined, "border border-border bg-card", {
18
18
  padding: {
19
- none: string;
20
- sm: string;
21
- default: string;
22
- lg: string;
19
+ none: "";
20
+ sm: "";
21
+ default: "";
22
+ lg: "";
23
23
  };
24
24
  unstyled: {
25
- true: string;
26
- false: string;
25
+ true: "rounded-none border-0 bg-transparent shadow-none";
26
+ false: "";
27
27
  };
28
- }, {
28
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
29
29
  padding: {
30
- none: string;
31
- sm: string;
32
- default: string;
33
- lg: string;
30
+ none: "";
31
+ sm: "";
32
+ default: "";
33
+ lg: "";
34
34
  };
35
35
  unstyled: {
36
- true: string;
37
- false: string;
36
+ true: "rounded-none border-0 bg-transparent shadow-none";
37
+ false: "";
38
38
  };
39
- }>, {
40
- padding: {
41
- none: string;
42
- sm: string;
43
- default: string;
44
- lg: string;
45
- };
46
- unstyled: {
47
- true: string;
48
- false: string;
49
- };
50
- }, undefined, import("tailwind-variants").TVReturnType<{
51
- padding: {
52
- none: string;
53
- sm: string;
54
- default: string;
55
- lg: string;
56
- };
57
- unstyled: {
58
- true: string;
59
- false: string;
60
- };
61
- }, undefined, "border border-border bg-card", import("tailwind-variants/dist/config.js").TVConfig<{
62
- padding: {
63
- none: string;
64
- sm: string;
65
- default: string;
66
- lg: string;
67
- };
68
- unstyled: {
69
- true: string;
70
- false: string;
71
- };
72
- }, {
73
- padding: {
74
- none: string;
75
- sm: string;
76
- default: string;
77
- lg: string;
78
- };
79
- unstyled: {
80
- true: string;
81
- false: string;
82
- };
83
- }>, unknown, unknown, undefined>>;
39
+ }, undefined>>;
84
40
  export interface CardProps extends ViewProps, VariantProps<typeof cardVariants>, FrostedSurfaceProps {
85
41
  /** Elevation tier; 'sm' by default, 'none' for flat cards. */
86
42
  shadow?: ShadowTier;
87
43
  }
88
- declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<View>>;
44
+ declare const Card: ForwardRefComponent<ViewInstance, CardProps>;
89
45
  export interface CardHeaderProps extends ViewProps {
90
46
  }
91
- declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<View>>;
47
+ declare const CardHeader: ForwardRefComponent<ViewInstance, CardHeaderProps>;
92
48
  export interface CardTitleProps extends TextProps {
93
49
  }
94
- declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<import("react-native").Text>>;
50
+ declare const CardTitle: ForwardRefComponent<TextInstance, CardTitleProps>;
95
51
  export interface CardDescriptionProps extends TextProps {
96
52
  }
97
- declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<import("react-native").Text>>;
53
+ declare const CardDescription: ForwardRefComponent<TextInstance, CardDescriptionProps>;
98
54
  export interface CardContentProps extends ViewProps {
99
55
  }
100
- declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<View>>;
56
+ declare const CardContent: ForwardRefComponent<ViewInstance, CardContentProps>;
101
57
  export interface CardFooterProps extends ViewProps {
102
58
  }
103
- declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<View>>;
59
+ declare const CardFooter: ForwardRefComponent<ViewInstance, CardFooterProps>;
104
60
  export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, cardVariants };
@@ -1,6 +1,6 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { View } from 'react-native';
3
+ import { View, } from 'react-native';
4
4
  import { Text } from '../text';
5
5
  import { cn } from '../../lib/cn';
6
6
  import { tv } from '../../lib/tv';
@@ -15,130 +15,58 @@ import { type VariantProps } from '../../lib/tv';
15
15
  declare const containerVariants: import("tailwind-variants").TVReturnType<{
16
16
  size: {
17
17
  /** Forms, auth, single-column reading. */
18
- sm: string;
18
+ sm: "max-w-xl";
19
19
  /** Default. Feeds, dashboards, most app screens. */
20
- md: string;
20
+ md: "max-w-3xl";
21
21
  /** Multi-column dashboards and wide tables. */
22
- lg: string;
22
+ lg: "max-w-5xl";
23
23
  /** Near-full width, still stops short of an ultrawide monitor. */
24
- xl: string;
24
+ xl: "max-w-7xl";
25
25
  /** Opt out — edge-to-edge at every width. */
26
- full: string;
26
+ full: "max-w-none";
27
27
  };
28
28
  /** Fill the available height, for a container used as a screen root. */
29
29
  fill: {
30
- true: string;
31
- false: string;
30
+ true: "flex-1";
31
+ false: "";
32
32
  };
33
- }, undefined, "w-full self-center", import("tailwind-variants/dist/config.js").TVConfig<{
33
+ }, undefined, "w-full self-center", {
34
34
  size: {
35
35
  /** Forms, auth, single-column reading. */
36
- sm: string;
36
+ sm: "max-w-xl";
37
37
  /** Default. Feeds, dashboards, most app screens. */
38
- md: string;
38
+ md: "max-w-3xl";
39
39
  /** Multi-column dashboards and wide tables. */
40
- lg: string;
40
+ lg: "max-w-5xl";
41
41
  /** Near-full width, still stops short of an ultrawide monitor. */
42
- xl: string;
42
+ xl: "max-w-7xl";
43
43
  /** Opt out — edge-to-edge at every width. */
44
- full: string;
44
+ full: "max-w-none";
45
45
  };
46
46
  /** Fill the available height, for a container used as a screen root. */
47
47
  fill: {
48
- true: string;
49
- false: string;
48
+ true: "flex-1";
49
+ false: "";
50
50
  };
51
- }, {
51
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
52
52
  size: {
53
53
  /** Forms, auth, single-column reading. */
54
- sm: string;
54
+ sm: "max-w-xl";
55
55
  /** Default. Feeds, dashboards, most app screens. */
56
- md: string;
56
+ md: "max-w-3xl";
57
57
  /** Multi-column dashboards and wide tables. */
58
- lg: string;
58
+ lg: "max-w-5xl";
59
59
  /** Near-full width, still stops short of an ultrawide monitor. */
60
- xl: string;
60
+ xl: "max-w-7xl";
61
61
  /** Opt out — edge-to-edge at every width. */
62
- full: string;
62
+ full: "max-w-none";
63
63
  };
64
64
  /** Fill the available height, for a container used as a screen root. */
65
65
  fill: {
66
- true: string;
67
- false: string;
66
+ true: "flex-1";
67
+ false: "";
68
68
  };
69
- }>, {
70
- size: {
71
- /** Forms, auth, single-column reading. */
72
- sm: string;
73
- /** Default. Feeds, dashboards, most app screens. */
74
- md: string;
75
- /** Multi-column dashboards and wide tables. */
76
- lg: string;
77
- /** Near-full width, still stops short of an ultrawide monitor. */
78
- xl: string;
79
- /** Opt out — edge-to-edge at every width. */
80
- full: string;
81
- };
82
- /** Fill the available height, for a container used as a screen root. */
83
- fill: {
84
- true: string;
85
- false: string;
86
- };
87
- }, undefined, import("tailwind-variants").TVReturnType<{
88
- size: {
89
- /** Forms, auth, single-column reading. */
90
- sm: string;
91
- /** Default. Feeds, dashboards, most app screens. */
92
- md: string;
93
- /** Multi-column dashboards and wide tables. */
94
- lg: string;
95
- /** Near-full width, still stops short of an ultrawide monitor. */
96
- xl: string;
97
- /** Opt out — edge-to-edge at every width. */
98
- full: string;
99
- };
100
- /** Fill the available height, for a container used as a screen root. */
101
- fill: {
102
- true: string;
103
- false: string;
104
- };
105
- }, undefined, "w-full self-center", import("tailwind-variants/dist/config.js").TVConfig<{
106
- size: {
107
- /** Forms, auth, single-column reading. */
108
- sm: string;
109
- /** Default. Feeds, dashboards, most app screens. */
110
- md: string;
111
- /** Multi-column dashboards and wide tables. */
112
- lg: string;
113
- /** Near-full width, still stops short of an ultrawide monitor. */
114
- xl: string;
115
- /** Opt out — edge-to-edge at every width. */
116
- full: string;
117
- };
118
- /** Fill the available height, for a container used as a screen root. */
119
- fill: {
120
- true: string;
121
- false: string;
122
- };
123
- }, {
124
- size: {
125
- /** Forms, auth, single-column reading. */
126
- sm: string;
127
- /** Default. Feeds, dashboards, most app screens. */
128
- md: string;
129
- /** Multi-column dashboards and wide tables. */
130
- lg: string;
131
- /** Near-full width, still stops short of an ultrawide monitor. */
132
- xl: string;
133
- /** Opt out — edge-to-edge at every width. */
134
- full: string;
135
- };
136
- /** Fill the available height, for a container used as a screen root. */
137
- fill: {
138
- true: string;
139
- false: string;
140
- };
141
- }>, unknown, unknown, undefined>>;
69
+ }, undefined>>;
142
70
  export interface ContainerProps extends ViewProps, VariantProps<typeof containerVariants> {
143
71
  className?: string;
144
72
  }
@@ -1,41 +1,21 @@
1
- import React from 'react';
2
- import { Text, View, type TextProps, type ViewProps } from 'react-native';
1
+ import { type TextInstance, type TextProps, type ViewInstance, type ViewProps } from 'react-native';
2
+ import type { ForwardRefComponent } from '../../lib/ref-types';
3
3
  declare const dataRowVariants: import("tailwind-variants").TVReturnType<{
4
4
  size: {
5
- default: string;
6
- compact: string;
5
+ default: "";
6
+ compact: "";
7
7
  };
8
- }, undefined, "w-full flex-row items-center gap-3", import("tailwind-variants/dist/config.js").TVConfig<{
8
+ }, undefined, "w-full flex-row items-center gap-3", {
9
9
  size: {
10
- default: string;
11
- compact: string;
10
+ default: "";
11
+ compact: "";
12
12
  };
13
- }, {
13
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
14
14
  size: {
15
- default: string;
16
- compact: string;
15
+ default: "";
16
+ compact: "";
17
17
  };
18
- }>, {
19
- size: {
20
- default: string;
21
- compact: string;
22
- };
23
- }, undefined, import("tailwind-variants").TVReturnType<{
24
- size: {
25
- default: string;
26
- compact: string;
27
- };
28
- }, undefined, "w-full flex-row items-center gap-3", import("tailwind-variants/dist/config.js").TVConfig<{
29
- size: {
30
- default: string;
31
- compact: string;
32
- };
33
- }, {
34
- size: {
35
- default: string;
36
- compact: string;
37
- };
38
- }>, unknown, unknown, undefined>>;
18
+ }, undefined>>;
39
19
  export interface DataRowProps extends ViewProps {
40
20
  size?: 'default' | 'compact';
41
21
  className?: string;
@@ -58,11 +38,11 @@ export interface DataRowDescriptionProps extends TextProps {
58
38
  export interface DataRowValueProps extends TextProps {
59
39
  className?: string;
60
40
  }
61
- declare const DataRow: React.ForwardRefExoticComponent<DataRowProps & React.RefAttributes<View>>;
62
- declare const DataRowLeft: React.ForwardRefExoticComponent<DataRowLeftProps & React.RefAttributes<View>>;
63
- declare const DataRowCenter: React.ForwardRefExoticComponent<DataRowCenterProps & React.RefAttributes<View>>;
64
- declare const DataRowRight: React.ForwardRefExoticComponent<DataRowRightProps & React.RefAttributes<View>>;
65
- declare const DataRowLabel: React.ForwardRefExoticComponent<DataRowLabelProps & React.RefAttributes<Text>>;
66
- declare const DataRowDescription: React.ForwardRefExoticComponent<DataRowDescriptionProps & React.RefAttributes<Text>>;
67
- declare const DataRowValue: React.ForwardRefExoticComponent<DataRowValueProps & React.RefAttributes<Text>>;
41
+ declare const DataRow: ForwardRefComponent<ViewInstance, DataRowProps>;
42
+ declare const DataRowLeft: ForwardRefComponent<ViewInstance, DataRowLeftProps>;
43
+ declare const DataRowCenter: ForwardRefComponent<ViewInstance, DataRowCenterProps>;
44
+ declare const DataRowRight: ForwardRefComponent<ViewInstance, DataRowRightProps>;
45
+ declare const DataRowLabel: ForwardRefComponent<TextInstance, DataRowLabelProps>;
46
+ declare const DataRowDescription: ForwardRefComponent<TextInstance, DataRowDescriptionProps>;
47
+ declare const DataRowValue: ForwardRefComponent<TextInstance, DataRowValueProps>;
68
48
  export { DataRow, DataRowLeft, DataRowCenter, DataRowRight, DataRowLabel, DataRowDescription, DataRowValue, dataRowVariants, };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { createContext, useContext, useMemo } from 'react';
3
- import { Text, View } from 'react-native';
3
+ import { Text, View, } from 'react-native';
4
4
  import { cn } from '../../lib/cn';
5
5
  import { tv } from '../../lib/tv';
6
6
  import { useVisualTokens } from '../../lib/visual-tokens';
@@ -1,106 +1,50 @@
1
- import React from 'react';
2
- import { Text, View, type TextProps, type ViewProps } from 'react-native';
1
+ import { type TextInstance, type TextProps, type ViewInstance, type ViewProps } from 'react-native';
3
2
  import { type VariantProps } from '../../lib/tv';
3
+ import type { ForwardRefComponent } from '../../lib/ref-types';
4
4
  declare const formFieldVariants: import("tailwind-variants").TVReturnType<{
5
5
  density: {
6
- default: string;
7
- compact: string;
6
+ default: "gap-1.5";
7
+ compact: "gap-1";
8
8
  };
9
- }, undefined, "w-full", import("tailwind-variants/dist/config.js").TVConfig<{
9
+ }, undefined, "w-full", {
10
10
  density: {
11
- default: string;
12
- compact: string;
11
+ default: "gap-1.5";
12
+ compact: "gap-1";
13
13
  };
14
- }, {
14
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
15
15
  density: {
16
- default: string;
17
- compact: string;
16
+ default: "gap-1.5";
17
+ compact: "gap-1";
18
18
  };
19
- }>, {
20
- density: {
21
- default: string;
22
- compact: string;
23
- };
24
- }, undefined, import("tailwind-variants").TVReturnType<{
25
- density: {
26
- default: string;
27
- compact: string;
28
- };
29
- }, undefined, "w-full", import("tailwind-variants/dist/config.js").TVConfig<{
30
- density: {
31
- default: string;
32
- compact: string;
33
- };
34
- }, {
35
- density: {
36
- default: string;
37
- compact: string;
38
- };
39
- }>, unknown, unknown, undefined>>;
19
+ }, undefined>>;
40
20
  declare const formControlVariants: import("tailwind-variants").TVReturnType<{
41
21
  density: {
42
- default: string;
43
- compact: string;
44
- };
45
- invalid: {
46
- true: string;
47
- false: string;
48
- };
49
- }, undefined, "justify-center", import("tailwind-variants/dist/config.js").TVConfig<{
50
- density: {
51
- default: string;
52
- compact: string;
53
- };
54
- invalid: {
55
- true: string;
56
- false: string;
57
- };
58
- }, {
59
- density: {
60
- default: string;
61
- compact: string;
62
- };
63
- invalid: {
64
- true: string;
65
- false: string;
66
- };
67
- }>, {
68
- density: {
69
- default: string;
70
- compact: string;
71
- };
72
- invalid: {
73
- true: string;
74
- false: string;
75
- };
76
- }, undefined, import("tailwind-variants").TVReturnType<{
77
- density: {
78
- default: string;
79
- compact: string;
22
+ default: "";
23
+ compact: "";
80
24
  };
81
25
  invalid: {
82
- true: string;
83
- false: string;
26
+ true: "";
27
+ false: "";
84
28
  };
85
- }, undefined, "justify-center", import("tailwind-variants/dist/config.js").TVConfig<{
29
+ }, undefined, "justify-center", {
86
30
  density: {
87
- default: string;
88
- compact: string;
31
+ default: "";
32
+ compact: "";
89
33
  };
90
34
  invalid: {
91
- true: string;
92
- false: string;
35
+ true: "";
36
+ false: "";
93
37
  };
94
- }, {
38
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
95
39
  density: {
96
- default: string;
97
- compact: string;
40
+ default: "";
41
+ compact: "";
98
42
  };
99
43
  invalid: {
100
- true: string;
101
- false: string;
44
+ true: "";
45
+ false: "";
102
46
  };
103
- }>, unknown, unknown, undefined>>;
47
+ }, undefined>>;
104
48
  export interface FormFieldProps extends ViewProps, VariantProps<typeof formFieldVariants> {
105
49
  invalid?: boolean;
106
50
  disabled?: boolean;
@@ -115,9 +59,9 @@ export interface FormHintProps extends TextProps {
115
59
  }
116
60
  export interface FormMessageProps extends TextProps {
117
61
  }
118
- declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<View>>;
119
- declare const FormLabel: React.ForwardRefExoticComponent<FormLabelProps & React.RefAttributes<Text>>;
120
- declare const FormControl: React.ForwardRefExoticComponent<FormControlProps & React.RefAttributes<View>>;
121
- declare const FormHint: React.ForwardRefExoticComponent<FormHintProps & React.RefAttributes<Text>>;
122
- declare const FormMessage: React.ForwardRefExoticComponent<FormMessageProps & React.RefAttributes<Text>>;
62
+ declare const FormField: ForwardRefComponent<ViewInstance, FormFieldProps>;
63
+ declare const FormLabel: ForwardRefComponent<TextInstance, FormLabelProps>;
64
+ declare const FormControl: ForwardRefComponent<ViewInstance, FormControlProps>;
65
+ declare const FormHint: ForwardRefComponent<TextInstance, FormHintProps>;
66
+ declare const FormMessage: ForwardRefComponent<TextInstance, FormMessageProps>;
123
67
  export { FormField, FormLabel, FormControl, FormHint, FormMessage, formFieldVariants, formControlVariants, };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { createContext, useContext, useMemo } from 'react';
3
- import { Text, View } from 'react-native';
3
+ import { Text, View, } from 'react-native';
4
4
  import { cn } from '../../lib/cn';
5
5
  import { tv } from '../../lib/tv';
6
6
  import { useInteractionTokens } from '../../lib/interaction-tokens';
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import * as HoverCardPrimitive from '@rn-primitives/hover-card';
3
3
  import { type FrostedSurfaceProps } from '../../lib/frosted-surface';
4
+ import type { ForwardRefComponent } from '../../lib/ref-types';
4
5
  export interface HoverCardProps {
5
6
  onOpenChange?: (open: boolean) => void;
6
7
  openDelay?: number;
@@ -15,6 +16,6 @@ export interface HoverCardContentProps extends React.ComponentPropsWithoutRef<ty
15
16
  portalHost?: string;
16
17
  }
17
18
  declare function HoverCard({ onOpenChange, openDelay, closeDelay, children }: HoverCardProps): React.JSX.Element;
18
- declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<import("@rn-primitives/hover-card").TriggerRef>>;
19
- declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<import("react-native").View>>;
19
+ declare const HoverCardTrigger: ForwardRefComponent<HoverCardPrimitive.TriggerRef, HoverCardTriggerProps>;
20
+ declare const HoverCardContent: ForwardRefComponent<HoverCardPrimitive.ContentRef, HoverCardContentProps>;
20
21
  export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -1,47 +1,28 @@
1
1
  import React from 'react';
2
- import { TextInput, type TextInputProps } from 'react-native';
2
+ import { type TextInputInstance, type TextInputProps } from 'react-native';
3
3
  import { type VariantProps } from '../../lib/tv';
4
+ import type { ForwardRefComponent } from '../../lib/ref-types';
4
5
  declare const inputVariants: import("tailwind-variants").TVReturnType<{
5
6
  variant: {
6
- default: string;
7
- error: string;
7
+ default: "border-border";
8
+ error: "border-destructive";
8
9
  };
9
- }, undefined, "w-full border-border bg-muted text-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
10
+ }, undefined, "w-full border-border bg-muted text-foreground", {
10
11
  variant: {
11
- default: string;
12
- error: string;
12
+ default: "border-border";
13
+ error: "border-destructive";
13
14
  };
14
- }, {
15
+ }, undefined, import("tailwind-variants").TVReturnTypeLike<{
15
16
  variant: {
16
- default: string;
17
- error: string;
17
+ default: "border-border";
18
+ error: "border-destructive";
18
19
  };
19
- }>, {
20
- variant: {
21
- default: string;
22
- error: string;
23
- };
24
- }, undefined, import("tailwind-variants").TVReturnType<{
25
- variant: {
26
- default: string;
27
- error: string;
28
- };
29
- }, undefined, "w-full border-border bg-muted text-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
30
- variant: {
31
- default: string;
32
- error: string;
33
- };
34
- }, {
35
- variant: {
36
- default: string;
37
- error: string;
38
- };
39
- }>, unknown, unknown, undefined>>;
20
+ }, undefined>>;
40
21
  export interface InputProps extends TextInputProps, VariantProps<typeof inputVariants> {
41
22
  className?: string;
42
23
  prefix?: React.ReactNode;
43
24
  suffix?: React.ReactNode;
44
25
  inputClassName?: string;
45
26
  }
46
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<TextInput>>;
27
+ declare const Input: ForwardRefComponent<TextInputInstance, InputProps>;
47
28
  export { Input, inputVariants };
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
- import { Text, type TextProps } from 'react-native';
1
+ import { type TextInstance, type TextProps } from 'react-native';
2
+ import type { ForwardRefComponent } from '../../lib/ref-types';
3
3
  export interface LabelProps extends TextProps {
4
4
  }
5
- declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<Text>>;
5
+ declare const Label: ForwardRefComponent<TextInstance, LabelProps>;
6
6
  export { Label };
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import { View, type ViewProps } from 'react-native';
2
+ import { type ViewInstance, type ViewProps } from 'react-native';
3
3
  import { type FormFieldProps } from '../form-field';
4
+ import type { ForwardRefComponent } from '../../lib/ref-types';
4
5
  export interface LabeledFieldProps extends Omit<FormFieldProps, 'children'> {
5
6
  label?: React.ReactNode;
6
7
  hint?: React.ReactNode;
@@ -14,5 +15,5 @@ export interface LabeledFieldControlProps extends ViewProps {
14
15
  className?: string;
15
16
  }
16
17
  declare function LabeledField({ label, hint, error, leftSlot, rightSlot, children, controlWrapperClassName, required, disabled, invalid, ...props }: LabeledFieldProps): React.JSX.Element;
17
- declare const LabeledFieldControl: React.ForwardRefExoticComponent<LabeledFieldControlProps & React.RefAttributes<View>>;
18
+ declare const LabeledFieldControl: ForwardRefComponent<ViewInstance, LabeledFieldControlProps>;
18
19
  export { LabeledField, LabeledFieldControl };