@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.
- package/README.md +18 -5
- package/dist/blocks/commerce/metric-card.d.ts +9 -29
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts +1 -1
- package/dist/blocks/datepicker/date-range-picker-modal.js +6 -14
- package/dist/blocks/datepicker/datepicker-modal.d.ts +1 -1
- package/dist/blocks/datepicker/datepicker-modal.js +6 -12
- package/dist/blocks/layout/smart-input.d.ts +3 -2
- package/dist/blocks/layout/smart-input.js +33 -18
- package/dist/blocks/media/smart-image.d.ts +39 -98
- package/dist/blocks/navigation/drawer-menu.js +88 -72
- package/dist/components/alert/alert.d.ts +23 -55
- package/dist/components/alert/alert.js +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +1 -4
- package/dist/components/avatar/avatar.d.ts +18 -45
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/badge/badge.d.ts +84 -212
- package/dist/components/button/button.d.ts +69 -188
- package/dist/components/card/card.d.ts +29 -73
- package/dist/components/card/card.js +1 -1
- package/dist/components/container/container.d.ts +24 -96
- package/dist/components/data-row/data-row.d.ts +18 -38
- package/dist/components/data-row/data-row.js +1 -1
- package/dist/components/form-field/form-field.d.ts +31 -87
- package/dist/components/form-field/form-field.js +1 -1
- package/dist/components/hover-card/hover-card.d.ts +3 -2
- package/dist/components/input/input.d.ts +12 -31
- package/dist/components/label/label.d.ts +3 -3
- package/dist/components/labeled-field/labeled-field.d.ts +3 -2
- package/dist/components/numeric-input/numeric-input.d.ts +27 -82
- package/dist/components/numeric-input/numeric-input.js +69 -78
- package/dist/components/otp-input/otp-input.d.ts +21 -65
- package/dist/components/popover/popover.d.ts +4 -3
- package/dist/components/pressable/pressable.d.ts +3 -3
- package/dist/components/progress/progress.d.ts +15 -39
- package/dist/components/row/row.d.ts +63 -163
- package/dist/components/segmented-control/segmented-control.d.ts +69 -241
- package/dist/components/select/select.d.ts +10 -22
- package/dist/components/select/select.js +2 -2
- package/dist/components/separator/separator.d.ts +3 -3
- package/dist/components/skeleton/skeleton.d.ts +9 -29
- package/dist/components/spinner/spinner.d.ts +12 -36
- package/dist/components/stack/stack.d.ts +63 -163
- package/dist/components/tabs/tabs.d.ts +9 -29
- package/dist/components/text/text.d.ts +51 -131
- package/dist/components/textarea/textarea.d.ts +15 -39
- package/dist/components/textarea/textarea.js +1 -1
- package/dist/components/toast/toast.d.ts +12 -36
- package/dist/components/toggle/toggle.d.ts +42 -138
- package/dist/components/toggle-group/toggle-group.d.ts +42 -138
- package/dist/components/tooltip/tooltip.d.ts +3 -2
- package/dist/components/view/view.d.ts +3 -3
- package/dist/lib/ref-types.d.ts +3 -0
- package/dist/lib/ref-types.js +1 -0
- package/dist/lib/theme-bridge.d.ts +4 -2
- package/dist/lib/theme-bridge.js +13 -9
- package/package.json +29 -28
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { TextInput } from 'react-native';
|
|
3
|
+
import { TextInput, } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
5
|
import { focusRing } from '../../lib/focus-ring';
|
|
6
6
|
import { tv } from '../../lib/tv';
|
|
@@ -25,47 +25,23 @@ export interface ToastProviderProps {
|
|
|
25
25
|
export declare function ToastProvider({ children }: ToastProviderProps): React.JSX.Element;
|
|
26
26
|
declare const toastVariants: import("tailwind-variants").TVReturnType<{
|
|
27
27
|
variant: {
|
|
28
|
-
default:
|
|
29
|
-
destructive:
|
|
30
|
-
success:
|
|
28
|
+
default: "border-border bg-background";
|
|
29
|
+
destructive: "border-destructive bg-destructive";
|
|
30
|
+
success: "border-success bg-success";
|
|
31
31
|
};
|
|
32
|
-
}, undefined, "w-full flex-row items-center justify-between border",
|
|
32
|
+
}, undefined, "w-full flex-row items-center justify-between border", {
|
|
33
33
|
variant: {
|
|
34
|
-
default:
|
|
35
|
-
destructive:
|
|
36
|
-
success:
|
|
34
|
+
default: "border-border bg-background";
|
|
35
|
+
destructive: "border-destructive bg-destructive";
|
|
36
|
+
success: "border-success bg-success";
|
|
37
37
|
};
|
|
38
|
-
}, {
|
|
38
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
39
39
|
variant: {
|
|
40
|
-
default:
|
|
41
|
-
destructive:
|
|
42
|
-
success:
|
|
40
|
+
default: "border-border bg-background";
|
|
41
|
+
destructive: "border-destructive bg-destructive";
|
|
42
|
+
success: "border-success bg-success";
|
|
43
43
|
};
|
|
44
|
-
}
|
|
45
|
-
variant: {
|
|
46
|
-
default: string;
|
|
47
|
-
destructive: string;
|
|
48
|
-
success: string;
|
|
49
|
-
};
|
|
50
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
51
|
-
variant: {
|
|
52
|
-
default: string;
|
|
53
|
-
destructive: string;
|
|
54
|
-
success: string;
|
|
55
|
-
};
|
|
56
|
-
}, undefined, "w-full flex-row items-center justify-between border", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
57
|
-
variant: {
|
|
58
|
-
default: string;
|
|
59
|
-
destructive: string;
|
|
60
|
-
success: string;
|
|
61
|
-
};
|
|
62
|
-
}, {
|
|
63
|
-
variant: {
|
|
64
|
-
default: string;
|
|
65
|
-
destructive: string;
|
|
66
|
-
success: string;
|
|
67
|
-
};
|
|
68
|
-
}>, unknown, unknown, undefined>>;
|
|
44
|
+
}, undefined>>;
|
|
69
45
|
export interface ToastProps extends ViewProps, VariantProps<typeof toastVariants> {
|
|
70
46
|
toast: ToastData;
|
|
71
47
|
onDismiss: () => void;
|
|
@@ -3,174 +3,78 @@ import { type PressableProps, type TextProps } from 'react-native';
|
|
|
3
3
|
import { type VariantProps } from '../../lib/tv';
|
|
4
4
|
declare const toggleVariants: import("tailwind-variants").TVReturnType<{
|
|
5
5
|
variant: {
|
|
6
|
-
default:
|
|
7
|
-
outline:
|
|
6
|
+
default: "bg-transparent";
|
|
7
|
+
outline: "border border-input bg-transparent";
|
|
8
8
|
};
|
|
9
9
|
size: {
|
|
10
|
-
default:
|
|
11
|
-
sm:
|
|
12
|
-
lg:
|
|
10
|
+
default: "";
|
|
11
|
+
sm: "";
|
|
12
|
+
lg: "";
|
|
13
13
|
};
|
|
14
14
|
pressed: {
|
|
15
|
-
true:
|
|
16
|
-
false:
|
|
15
|
+
true: "bg-accent";
|
|
16
|
+
false: "";
|
|
17
17
|
};
|
|
18
|
-
}, undefined, "inline-flex items-center justify-center active:bg-accent",
|
|
18
|
+
}, undefined, "inline-flex items-center justify-center active:bg-accent", {
|
|
19
19
|
variant: {
|
|
20
|
-
default:
|
|
21
|
-
outline:
|
|
20
|
+
default: "bg-transparent";
|
|
21
|
+
outline: "border border-input bg-transparent";
|
|
22
22
|
};
|
|
23
23
|
size: {
|
|
24
|
-
default:
|
|
25
|
-
sm:
|
|
26
|
-
lg:
|
|
24
|
+
default: "";
|
|
25
|
+
sm: "";
|
|
26
|
+
lg: "";
|
|
27
27
|
};
|
|
28
28
|
pressed: {
|
|
29
|
-
true:
|
|
30
|
-
false:
|
|
29
|
+
true: "bg-accent";
|
|
30
|
+
false: "";
|
|
31
31
|
};
|
|
32
|
-
}, {
|
|
32
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
33
33
|
variant: {
|
|
34
|
-
default:
|
|
35
|
-
outline:
|
|
34
|
+
default: "bg-transparent";
|
|
35
|
+
outline: "border border-input bg-transparent";
|
|
36
36
|
};
|
|
37
37
|
size: {
|
|
38
|
-
default:
|
|
39
|
-
sm:
|
|
40
|
-
lg:
|
|
38
|
+
default: "";
|
|
39
|
+
sm: "";
|
|
40
|
+
lg: "";
|
|
41
41
|
};
|
|
42
42
|
pressed: {
|
|
43
|
-
true:
|
|
44
|
-
false:
|
|
43
|
+
true: "bg-accent";
|
|
44
|
+
false: "";
|
|
45
45
|
};
|
|
46
|
-
}
|
|
47
|
-
variant: {
|
|
48
|
-
default: string;
|
|
49
|
-
outline: string;
|
|
50
|
-
};
|
|
51
|
-
size: {
|
|
52
|
-
default: string;
|
|
53
|
-
sm: string;
|
|
54
|
-
lg: string;
|
|
55
|
-
};
|
|
56
|
-
pressed: {
|
|
57
|
-
true: string;
|
|
58
|
-
false: string;
|
|
59
|
-
};
|
|
60
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
61
|
-
variant: {
|
|
62
|
-
default: string;
|
|
63
|
-
outline: string;
|
|
64
|
-
};
|
|
65
|
-
size: {
|
|
66
|
-
default: string;
|
|
67
|
-
sm: string;
|
|
68
|
-
lg: string;
|
|
69
|
-
};
|
|
70
|
-
pressed: {
|
|
71
|
-
true: string;
|
|
72
|
-
false: string;
|
|
73
|
-
};
|
|
74
|
-
}, undefined, "inline-flex items-center justify-center active:bg-accent", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
75
|
-
variant: {
|
|
76
|
-
default: string;
|
|
77
|
-
outline: string;
|
|
78
|
-
};
|
|
79
|
-
size: {
|
|
80
|
-
default: string;
|
|
81
|
-
sm: string;
|
|
82
|
-
lg: string;
|
|
83
|
-
};
|
|
84
|
-
pressed: {
|
|
85
|
-
true: string;
|
|
86
|
-
false: string;
|
|
87
|
-
};
|
|
88
|
-
}, {
|
|
89
|
-
variant: {
|
|
90
|
-
default: string;
|
|
91
|
-
outline: string;
|
|
92
|
-
};
|
|
93
|
-
size: {
|
|
94
|
-
default: string;
|
|
95
|
-
sm: string;
|
|
96
|
-
lg: string;
|
|
97
|
-
};
|
|
98
|
-
pressed: {
|
|
99
|
-
true: string;
|
|
100
|
-
false: string;
|
|
101
|
-
};
|
|
102
|
-
}>, unknown, unknown, undefined>>;
|
|
46
|
+
}, undefined>>;
|
|
103
47
|
declare const toggleTextVariants: import("tailwind-variants").TVReturnType<{
|
|
104
48
|
pressed: {
|
|
105
|
-
true:
|
|
106
|
-
false:
|
|
107
|
-
};
|
|
108
|
-
size: {
|
|
109
|
-
default: string;
|
|
110
|
-
sm: string;
|
|
111
|
-
lg: string;
|
|
112
|
-
};
|
|
113
|
-
}, undefined, "font-medium", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
114
|
-
pressed: {
|
|
115
|
-
true: string;
|
|
116
|
-
false: string;
|
|
117
|
-
};
|
|
118
|
-
size: {
|
|
119
|
-
default: string;
|
|
120
|
-
sm: string;
|
|
121
|
-
lg: string;
|
|
122
|
-
};
|
|
123
|
-
}, {
|
|
124
|
-
pressed: {
|
|
125
|
-
true: string;
|
|
126
|
-
false: string;
|
|
127
|
-
};
|
|
128
|
-
size: {
|
|
129
|
-
default: string;
|
|
130
|
-
sm: string;
|
|
131
|
-
lg: string;
|
|
132
|
-
};
|
|
133
|
-
}>, {
|
|
134
|
-
pressed: {
|
|
135
|
-
true: string;
|
|
136
|
-
false: string;
|
|
137
|
-
};
|
|
138
|
-
size: {
|
|
139
|
-
default: string;
|
|
140
|
-
sm: string;
|
|
141
|
-
lg: string;
|
|
142
|
-
};
|
|
143
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
144
|
-
pressed: {
|
|
145
|
-
true: string;
|
|
146
|
-
false: string;
|
|
49
|
+
true: "text-accent-foreground";
|
|
50
|
+
false: "text-muted-foreground";
|
|
147
51
|
};
|
|
148
52
|
size: {
|
|
149
|
-
default:
|
|
150
|
-
sm:
|
|
151
|
-
lg:
|
|
53
|
+
default: "";
|
|
54
|
+
sm: "";
|
|
55
|
+
lg: "";
|
|
152
56
|
};
|
|
153
|
-
}, undefined, "font-medium",
|
|
57
|
+
}, undefined, "font-medium", {
|
|
154
58
|
pressed: {
|
|
155
|
-
true:
|
|
156
|
-
false:
|
|
59
|
+
true: "text-accent-foreground";
|
|
60
|
+
false: "text-muted-foreground";
|
|
157
61
|
};
|
|
158
62
|
size: {
|
|
159
|
-
default:
|
|
160
|
-
sm:
|
|
161
|
-
lg:
|
|
63
|
+
default: "";
|
|
64
|
+
sm: "";
|
|
65
|
+
lg: "";
|
|
162
66
|
};
|
|
163
|
-
}, {
|
|
67
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
164
68
|
pressed: {
|
|
165
|
-
true:
|
|
166
|
-
false:
|
|
69
|
+
true: "text-accent-foreground";
|
|
70
|
+
false: "text-muted-foreground";
|
|
167
71
|
};
|
|
168
72
|
size: {
|
|
169
|
-
default:
|
|
170
|
-
sm:
|
|
171
|
-
lg:
|
|
73
|
+
default: "";
|
|
74
|
+
sm: "";
|
|
75
|
+
lg: "";
|
|
172
76
|
};
|
|
173
|
-
}
|
|
77
|
+
}, undefined>>;
|
|
174
78
|
export interface ToggleProps extends Omit<PressableProps, 'children'> {
|
|
175
79
|
pressed?: boolean;
|
|
176
80
|
defaultPressed?: boolean;
|
|
@@ -3,174 +3,78 @@ import { type ViewProps, type PressableProps, type TextProps } from 'react-nativ
|
|
|
3
3
|
type ToggleGroupType = 'single' | 'multiple';
|
|
4
4
|
declare const toggleGroupItemVariants: import("tailwind-variants").TVReturnType<{
|
|
5
5
|
variant: {
|
|
6
|
-
default:
|
|
7
|
-
outline:
|
|
6
|
+
default: "bg-transparent";
|
|
7
|
+
outline: "border border-input bg-transparent";
|
|
8
8
|
};
|
|
9
9
|
size: {
|
|
10
|
-
default:
|
|
11
|
-
sm:
|
|
12
|
-
lg:
|
|
10
|
+
default: "";
|
|
11
|
+
sm: "";
|
|
12
|
+
lg: "";
|
|
13
13
|
};
|
|
14
14
|
pressed: {
|
|
15
|
-
true:
|
|
16
|
-
false:
|
|
15
|
+
true: "bg-accent";
|
|
16
|
+
false: "";
|
|
17
17
|
};
|
|
18
|
-
}, undefined, "inline-flex items-center justify-center",
|
|
18
|
+
}, undefined, "inline-flex items-center justify-center", {
|
|
19
19
|
variant: {
|
|
20
|
-
default:
|
|
21
|
-
outline:
|
|
20
|
+
default: "bg-transparent";
|
|
21
|
+
outline: "border border-input bg-transparent";
|
|
22
22
|
};
|
|
23
23
|
size: {
|
|
24
|
-
default:
|
|
25
|
-
sm:
|
|
26
|
-
lg:
|
|
24
|
+
default: "";
|
|
25
|
+
sm: "";
|
|
26
|
+
lg: "";
|
|
27
27
|
};
|
|
28
28
|
pressed: {
|
|
29
|
-
true:
|
|
30
|
-
false:
|
|
29
|
+
true: "bg-accent";
|
|
30
|
+
false: "";
|
|
31
31
|
};
|
|
32
|
-
}, {
|
|
32
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
33
33
|
variant: {
|
|
34
|
-
default:
|
|
35
|
-
outline:
|
|
34
|
+
default: "bg-transparent";
|
|
35
|
+
outline: "border border-input bg-transparent";
|
|
36
36
|
};
|
|
37
37
|
size: {
|
|
38
|
-
default:
|
|
39
|
-
sm:
|
|
40
|
-
lg:
|
|
38
|
+
default: "";
|
|
39
|
+
sm: "";
|
|
40
|
+
lg: "";
|
|
41
41
|
};
|
|
42
42
|
pressed: {
|
|
43
|
-
true:
|
|
44
|
-
false:
|
|
43
|
+
true: "bg-accent";
|
|
44
|
+
false: "";
|
|
45
45
|
};
|
|
46
|
-
}
|
|
47
|
-
variant: {
|
|
48
|
-
default: string;
|
|
49
|
-
outline: string;
|
|
50
|
-
};
|
|
51
|
-
size: {
|
|
52
|
-
default: string;
|
|
53
|
-
sm: string;
|
|
54
|
-
lg: string;
|
|
55
|
-
};
|
|
56
|
-
pressed: {
|
|
57
|
-
true: string;
|
|
58
|
-
false: string;
|
|
59
|
-
};
|
|
60
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
61
|
-
variant: {
|
|
62
|
-
default: string;
|
|
63
|
-
outline: string;
|
|
64
|
-
};
|
|
65
|
-
size: {
|
|
66
|
-
default: string;
|
|
67
|
-
sm: string;
|
|
68
|
-
lg: string;
|
|
69
|
-
};
|
|
70
|
-
pressed: {
|
|
71
|
-
true: string;
|
|
72
|
-
false: string;
|
|
73
|
-
};
|
|
74
|
-
}, undefined, "inline-flex items-center justify-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
75
|
-
variant: {
|
|
76
|
-
default: string;
|
|
77
|
-
outline: string;
|
|
78
|
-
};
|
|
79
|
-
size: {
|
|
80
|
-
default: string;
|
|
81
|
-
sm: string;
|
|
82
|
-
lg: string;
|
|
83
|
-
};
|
|
84
|
-
pressed: {
|
|
85
|
-
true: string;
|
|
86
|
-
false: string;
|
|
87
|
-
};
|
|
88
|
-
}, {
|
|
89
|
-
variant: {
|
|
90
|
-
default: string;
|
|
91
|
-
outline: string;
|
|
92
|
-
};
|
|
93
|
-
size: {
|
|
94
|
-
default: string;
|
|
95
|
-
sm: string;
|
|
96
|
-
lg: string;
|
|
97
|
-
};
|
|
98
|
-
pressed: {
|
|
99
|
-
true: string;
|
|
100
|
-
false: string;
|
|
101
|
-
};
|
|
102
|
-
}>, unknown, unknown, undefined>>;
|
|
46
|
+
}, undefined>>;
|
|
103
47
|
declare const toggleGroupItemTextVariants: import("tailwind-variants").TVReturnType<{
|
|
104
48
|
pressed: {
|
|
105
|
-
true:
|
|
106
|
-
false:
|
|
107
|
-
};
|
|
108
|
-
size: {
|
|
109
|
-
default: string;
|
|
110
|
-
sm: string;
|
|
111
|
-
lg: string;
|
|
112
|
-
};
|
|
113
|
-
}, undefined, "font-medium", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
114
|
-
pressed: {
|
|
115
|
-
true: string;
|
|
116
|
-
false: string;
|
|
117
|
-
};
|
|
118
|
-
size: {
|
|
119
|
-
default: string;
|
|
120
|
-
sm: string;
|
|
121
|
-
lg: string;
|
|
122
|
-
};
|
|
123
|
-
}, {
|
|
124
|
-
pressed: {
|
|
125
|
-
true: string;
|
|
126
|
-
false: string;
|
|
127
|
-
};
|
|
128
|
-
size: {
|
|
129
|
-
default: string;
|
|
130
|
-
sm: string;
|
|
131
|
-
lg: string;
|
|
132
|
-
};
|
|
133
|
-
}>, {
|
|
134
|
-
pressed: {
|
|
135
|
-
true: string;
|
|
136
|
-
false: string;
|
|
137
|
-
};
|
|
138
|
-
size: {
|
|
139
|
-
default: string;
|
|
140
|
-
sm: string;
|
|
141
|
-
lg: string;
|
|
142
|
-
};
|
|
143
|
-
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
144
|
-
pressed: {
|
|
145
|
-
true: string;
|
|
146
|
-
false: string;
|
|
49
|
+
true: "text-accent-foreground";
|
|
50
|
+
false: "text-muted-foreground";
|
|
147
51
|
};
|
|
148
52
|
size: {
|
|
149
|
-
default:
|
|
150
|
-
sm:
|
|
151
|
-
lg:
|
|
53
|
+
default: "";
|
|
54
|
+
sm: "";
|
|
55
|
+
lg: "";
|
|
152
56
|
};
|
|
153
|
-
}, undefined, "font-medium",
|
|
57
|
+
}, undefined, "font-medium", {
|
|
154
58
|
pressed: {
|
|
155
|
-
true:
|
|
156
|
-
false:
|
|
59
|
+
true: "text-accent-foreground";
|
|
60
|
+
false: "text-muted-foreground";
|
|
157
61
|
};
|
|
158
62
|
size: {
|
|
159
|
-
default:
|
|
160
|
-
sm:
|
|
161
|
-
lg:
|
|
63
|
+
default: "";
|
|
64
|
+
sm: "";
|
|
65
|
+
lg: "";
|
|
162
66
|
};
|
|
163
|
-
}, {
|
|
67
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
164
68
|
pressed: {
|
|
165
|
-
true:
|
|
166
|
-
false:
|
|
69
|
+
true: "text-accent-foreground";
|
|
70
|
+
false: "text-muted-foreground";
|
|
167
71
|
};
|
|
168
72
|
size: {
|
|
169
|
-
default:
|
|
170
|
-
sm:
|
|
171
|
-
lg:
|
|
73
|
+
default: "";
|
|
74
|
+
sm: "";
|
|
75
|
+
lg: "";
|
|
172
76
|
};
|
|
173
|
-
}
|
|
77
|
+
}, undefined>>;
|
|
174
78
|
export interface ToggleGroupProps extends ViewProps {
|
|
175
79
|
type?: ToggleGroupType;
|
|
176
80
|
defaultValue?: string | string[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as TooltipPrimitive from '@rn-primitives/tooltip';
|
|
3
|
+
import type { ForwardRefComponent } from '../../lib/ref-types';
|
|
3
4
|
export interface TooltipProps {
|
|
4
5
|
onOpenChange?: (open: boolean) => void;
|
|
5
6
|
delayDuration?: number;
|
|
@@ -15,6 +16,6 @@ export interface TooltipContentProps extends React.ComponentPropsWithoutRef<type
|
|
|
15
16
|
portalHost?: string;
|
|
16
17
|
}
|
|
17
18
|
declare function Tooltip({ onOpenChange, delayDuration, skipDelayDuration, disableHoverableContent, children, }: TooltipProps): React.JSX.Element;
|
|
18
|
-
declare const TooltipTrigger:
|
|
19
|
-
declare const TooltipContent:
|
|
19
|
+
declare const TooltipTrigger: ForwardRefComponent<TooltipPrimitive.TriggerRef, TooltipTriggerProps>;
|
|
20
|
+
declare const TooltipContent: ForwardRefComponent<TooltipPrimitive.ContentRef, TooltipContentProps>;
|
|
20
21
|
export { Tooltip, TooltipTrigger, TooltipContent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { type ViewInstance, type ViewProps as RNViewProps } from 'react-native';
|
|
2
|
+
import type { ForwardRefComponent } from '../../lib/ref-types';
|
|
3
3
|
export interface ViewProps extends RNViewProps {
|
|
4
4
|
}
|
|
5
|
-
declare const View:
|
|
5
|
+
declare const View: ForwardRefComponent<ViewInstance, ViewProps>;
|
|
6
6
|
export { View };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/** A named public shape for ref-forwarding components under React Native's Strict API. */
|
|
3
|
+
export type ForwardRefComponent<TInstance, TProps> = React.ForwardRefExoticComponent<React.PropsWithoutRef<TProps> & React.RefAttributes<TInstance>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -8,7 +8,6 @@ export interface ThemeBridgeProps {
|
|
|
8
8
|
mode?: ThemeMode;
|
|
9
9
|
initialMode?: ThemeMode;
|
|
10
10
|
adapter?: ThemeBridgeAdapter;
|
|
11
|
-
onModeChange?: (mode: ThemeMode) => void;
|
|
12
11
|
}
|
|
13
12
|
export interface UseThemeBridgeOptions {
|
|
14
13
|
initialMode?: ThemeMode;
|
|
@@ -24,5 +23,8 @@ export declare function applyThemeMode(mode: ThemeMode): void;
|
|
|
24
23
|
export declare function resolveThemeMode(adapter?: ThemeBridgeAdapter, fallback?: ThemeMode): Promise<ThemeMode>;
|
|
25
24
|
export declare function syncThemeMode(mode: ThemeMode, adapter?: ThemeBridgeAdapter): Promise<ThemeMode>;
|
|
26
25
|
export declare function useThemeBridge({ initialMode, adapter, }?: UseThemeBridgeOptions): UseThemeBridgeResult;
|
|
27
|
-
export declare function ThemeBridge({ mode
|
|
26
|
+
export declare function ThemeBridge({ mode, initialMode, adapter }: ThemeBridgeProps): import("react").FunctionComponentElement<Pick<ThemeBridgeProps, "initialMode" | "adapter">> | import("react").FunctionComponentElement<{
|
|
27
|
+
mode: ThemeMode;
|
|
28
|
+
adapter?: ThemeBridgeAdapter;
|
|
29
|
+
}>;
|
|
28
30
|
export {};
|
package/dist/lib/theme-bridge.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
1
|
+
import { createElement, useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { Uniwind, useUniwind } from 'uniwind';
|
|
3
3
|
const modeCycle = ['light', 'dark', 'system'];
|
|
4
4
|
export function applyThemeMode(mode) {
|
|
@@ -74,14 +74,18 @@ export function useThemeBridge({ initialMode = 'system', adapter, } = {}) {
|
|
|
74
74
|
cycleMode,
|
|
75
75
|
}), [cycleMode, mode, theme]);
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
const { mode, setMode } = useThemeBridge({ initialMode, adapter });
|
|
79
|
-
const effectiveMode = controlledMode ?? mode;
|
|
77
|
+
function ControlledThemeBridge({ mode, adapter, }) {
|
|
80
78
|
useEffect(() => {
|
|
81
|
-
|
|
82
|
-
}, [
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
void syncThemeMode(mode, adapter);
|
|
80
|
+
}, [adapter, mode]);
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
function UncontrolledThemeBridge({ initialMode, adapter, }) {
|
|
84
|
+
useThemeBridge({ initialMode, adapter });
|
|
86
85
|
return null;
|
|
87
86
|
}
|
|
87
|
+
export function ThemeBridge({ mode, initialMode = 'system', adapter }) {
|
|
88
|
+
return mode === undefined
|
|
89
|
+
? createElement(UncontrolledThemeBridge, { initialMode, adapter })
|
|
90
|
+
: createElement(ControlledThemeBridge, { mode, adapter });
|
|
91
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thewhileloop/whileui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "WhileUI Native — Copy-paste components for React Native. You own the code.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -60,25 +60,25 @@
|
|
|
60
60
|
"test:watch": "jest --watch"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
|
-
"@rn-primitives/hooks": ">=1.
|
|
64
|
-
"@rn-primitives/hover-card": ">=1.
|
|
65
|
-
"@rn-primitives/popover": ">=1.
|
|
66
|
-
"@rn-primitives/portal": ">=1.
|
|
67
|
-
"@rn-primitives/select": ">=1.
|
|
68
|
-
"@rn-primitives/slot": ">=1.
|
|
69
|
-
"@rn-primitives/tooltip": ">=1.
|
|
70
|
-
"expo": ">=
|
|
71
|
-
"expo-blur": ">=
|
|
72
|
-
"expo-image": ">=
|
|
73
|
-
"react": ">=19.
|
|
74
|
-
"react-native": ">=0.
|
|
75
|
-
"react-native-gesture-handler": ">=
|
|
76
|
-
"react-native-reanimated": ">=4.
|
|
77
|
-
"react-native-safe-area-context": ">=5.
|
|
78
|
-
"react-native-screens": ">=4.
|
|
63
|
+
"@rn-primitives/hooks": ">=1.5.2",
|
|
64
|
+
"@rn-primitives/hover-card": ">=1.5.2",
|
|
65
|
+
"@rn-primitives/popover": ">=1.5.2",
|
|
66
|
+
"@rn-primitives/portal": ">=1.5.3",
|
|
67
|
+
"@rn-primitives/select": ">=1.5.2",
|
|
68
|
+
"@rn-primitives/slot": ">=1.5.2",
|
|
69
|
+
"@rn-primitives/tooltip": ">=1.5.2",
|
|
70
|
+
"expo": ">=58.0.0",
|
|
71
|
+
"expo-blur": ">=58.0.0",
|
|
72
|
+
"expo-image": ">=58.0.0",
|
|
73
|
+
"react": ">=19.3.0",
|
|
74
|
+
"react-native": ">=0.88.0",
|
|
75
|
+
"react-native-gesture-handler": ">=3.3.0",
|
|
76
|
+
"react-native-reanimated": ">=4.7.0",
|
|
77
|
+
"react-native-safe-area-context": ">=5.10.0",
|
|
78
|
+
"react-native-screens": ">=4.30.0",
|
|
79
79
|
"tailwindcss": ">=4.0.0",
|
|
80
80
|
"uniwind": ">=1.12.0",
|
|
81
|
-
"react-native-worklets": ">=0.
|
|
81
|
+
"react-native-worklets": ">=0.13.0"
|
|
82
82
|
},
|
|
83
83
|
"peerDependenciesMeta": {
|
|
84
84
|
"expo-blur": {
|
|
@@ -89,19 +89,20 @@
|
|
|
89
89
|
"clsx": "^2.1.0",
|
|
90
90
|
"culori": "^4.0.2",
|
|
91
91
|
"react-native-calendars": "^1.1314.0",
|
|
92
|
-
"tailwind-merge": "^3.
|
|
93
|
-
"tailwind-variants": "^
|
|
92
|
+
"tailwind-merge": "^3.7.0",
|
|
93
|
+
"tailwind-variants": "^3.3.1"
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
|
-
"@
|
|
96
|
+
"@react-native/jest-preset": "0.88.0",
|
|
97
|
+
"@testing-library/react-native": "^14.1.0",
|
|
97
98
|
"@types/culori": "^4.0.1",
|
|
98
|
-
"@types/jest": "^
|
|
99
|
-
"@types/react": "~19.
|
|
100
|
-
"expo-image": "~
|
|
101
|
-
"jest": "^
|
|
102
|
-
"jest-expo": "~
|
|
103
|
-
"react-native-screens": "~4.
|
|
104
|
-
"test-renderer": "^1.
|
|
99
|
+
"@types/jest": "^30.0.0",
|
|
100
|
+
"@types/react": "~19.3.0",
|
|
101
|
+
"expo-image": "~58.0.15",
|
|
102
|
+
"jest": "^30.5.2",
|
|
103
|
+
"jest-expo": "~58.0.11",
|
|
104
|
+
"react-native-screens": "~4.30.0",
|
|
105
|
+
"test-renderer": "^1.3.1",
|
|
105
106
|
"typescript": "~6.0.3"
|
|
106
107
|
}
|
|
107
108
|
}
|