@xaui/native 0.0.21 → 0.0.24
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 +195 -2
- package/dist/alert/index.js +1 -2
- package/dist/app-bar/index.cjs +217 -0
- package/dist/app-bar/index.d.cts +52 -0
- package/dist/app-bar/index.d.ts +52 -0
- package/dist/app-bar/index.js +142 -0
- package/dist/autocomplete/index.js +48 -36
- package/dist/avatar/index.js +1 -2
- package/dist/badge/index.js +1 -2
- package/dist/bottom-sheet/index.js +1 -2
- package/dist/bottom-tab-bar/index.cjs +571 -0
- package/dist/bottom-tab-bar/index.d.cts +211 -0
- package/dist/bottom-tab-bar/index.d.ts +211 -0
- package/dist/bottom-tab-bar/index.js +497 -0
- package/dist/button/index.d.cts +102 -5
- package/dist/button/index.d.ts +102 -5
- package/dist/button/index.js +2 -3
- package/dist/button.type-j1ZdkkSl.d.cts +4 -0
- package/dist/button.type-j1ZdkkSl.d.ts +4 -0
- package/dist/card/index.cjs +2 -0
- package/dist/card/index.d.cts +6 -1
- package/dist/card/index.d.ts +6 -1
- package/dist/card/index.js +4 -2
- package/dist/carousel/index.js +1 -1
- package/dist/chart/index.cjs +1067 -0
- package/dist/chart/index.d.cts +218 -0
- package/dist/chart/index.d.ts +218 -0
- package/dist/chart/index.js +1026 -0
- package/dist/checkbox/index.js +1 -2
- package/dist/chip/index.js +1 -2
- package/dist/chunk-3XSXTM3G.js +661 -0
- package/dist/chunk-4KSZLONZ.js +79 -0
- package/dist/{chunk-DXXNBF5P.js → chunk-CZFDZPAS.js} +0 -5
- package/dist/{chunk-LTKYHG5V.js → chunk-GHCVNQET.js} +12 -5
- package/dist/chunk-I4V5Y5GD.js +76 -0
- package/dist/{chunk-F7WH4DMG.js → chunk-UI5L26KD.js} +1 -1
- package/dist/{chunk-LUBWRVI2.js → chunk-ULJSCNPE.js} +1 -1
- package/dist/chunk-URBEEDFX.js +79 -0
- package/dist/core/index.js +3 -5
- package/dist/datepicker/index.js +1 -2
- package/dist/divider/index.js +2 -3
- package/dist/drawer/index.cjs +310 -0
- package/dist/drawer/index.d.cts +58 -0
- package/dist/drawer/index.d.ts +58 -0
- package/dist/drawer/index.js +236 -0
- package/dist/{accordion → expansion-panel}/index.cjs +45 -45
- package/dist/{accordion → expansion-panel}/index.d.cts +30 -30
- package/dist/{accordion → expansion-panel}/index.d.ts +30 -30
- package/dist/{accordion → expansion-panel}/index.js +40 -41
- package/dist/fab/index.d.cts +3 -3
- package/dist/fab/index.d.ts +3 -3
- package/dist/fab/index.js +3 -4
- package/dist/fab-menu/index.d.cts +2 -2
- package/dist/fab-menu/index.d.ts +2 -2
- package/dist/fab-menu/index.js +3 -4
- package/dist/{fab.type-Ba0QMprb.d.ts → fab.type-CgIYqQlT.d.ts} +1 -1
- package/dist/{fab.type-U09H8B7D.d.cts → fab.type-l2vjG8-p.d.cts} +1 -1
- package/dist/feature-discovery/index.cjs +531 -0
- package/dist/feature-discovery/index.d.cts +82 -0
- package/dist/feature-discovery/index.d.ts +82 -0
- package/dist/feature-discovery/index.js +464 -0
- package/dist/indicator/index.js +2 -3
- package/dist/input/index.cjs +258 -164
- package/dist/input/index.d.cts +15 -1
- package/dist/input/index.d.ts +15 -1
- package/dist/input/index.js +219 -126
- package/dist/list/index.js +1 -2
- package/dist/menu/index.js +2 -2
- package/dist/menubox/index.cjs +369 -0
- package/dist/menubox/index.d.cts +98 -0
- package/dist/menubox/index.d.ts +98 -0
- package/dist/menubox/index.js +296 -0
- package/dist/pager/index.cjs +243 -0
- package/dist/pager/index.d.cts +93 -0
- package/dist/pager/index.d.ts +93 -0
- package/dist/pager/index.js +205 -0
- package/dist/progress/index.js +1 -2
- package/dist/radio/index.cjs +537 -0
- package/dist/radio/index.d.cts +145 -0
- package/dist/radio/index.d.ts +145 -0
- package/dist/radio/index.js +464 -0
- package/dist/segment-button/index.js +2 -2
- package/dist/select/index.js +22 -10
- package/dist/skeleton/index.js +2 -2
- package/dist/slider/index.cjs +655 -0
- package/dist/slider/index.d.cts +171 -0
- package/dist/slider/index.d.ts +171 -0
- package/dist/slider/index.js +575 -0
- package/dist/stepper/index.cjs +624 -0
- package/dist/stepper/index.d.cts +137 -0
- package/dist/stepper/index.d.ts +137 -0
- package/dist/stepper/index.js +549 -0
- package/dist/switch/index.js +1 -2
- package/dist/tabs/index.cjs +523 -0
- package/dist/tabs/index.d.cts +176 -0
- package/dist/tabs/index.d.ts +176 -0
- package/dist/tabs/index.js +438 -0
- package/dist/timepicker/index.cjs +1280 -0
- package/dist/timepicker/index.d.cts +215 -0
- package/dist/timepicker/index.d.ts +215 -0
- package/dist/timepicker/index.js +1181 -0
- package/dist/toolbar/index.cjs +395 -0
- package/dist/toolbar/index.d.cts +100 -0
- package/dist/toolbar/index.d.ts +100 -0
- package/dist/toolbar/index.js +325 -0
- package/dist/typography/index.js +1 -2
- package/dist/view/index.cjs +16 -2
- package/dist/view/index.js +16 -2
- package/package.json +73 -8
- package/dist/button.type-D8tzEBo7.d.ts +0 -104
- package/dist/button.type-ikaWzhIg.d.cts +0 -104
- package/dist/chunk-GBHQCAKW.js +0 -19
- package/dist/chunk-JEGEPGVU.js +0 -287
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { StyleProp, ViewStyle, Insets, TextStyle, GestureResponderEvent } from 'react-native';
|
|
3
|
+
import { T as ThemeColor } from '../index-BOw6tbkc.cjs';
|
|
4
|
+
|
|
5
|
+
type BottomTabBarSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
type BottomTabBarVariant = 'stacked' | 'inline' | 'icon-only';
|
|
7
|
+
type BottomTabBarIconRenderParams = {
|
|
8
|
+
focused: boolean;
|
|
9
|
+
color: string;
|
|
10
|
+
size: number;
|
|
11
|
+
};
|
|
12
|
+
type BottomTabBarItemLabelRenderParams = {
|
|
13
|
+
focused: boolean;
|
|
14
|
+
color: string;
|
|
15
|
+
children: string;
|
|
16
|
+
position: 'below-icon' | 'beside-icon';
|
|
17
|
+
};
|
|
18
|
+
type BottomTabBarItemCustomAppearance = {
|
|
19
|
+
container?: StyleProp<ViewStyle>;
|
|
20
|
+
indicator?: StyleProp<ViewStyle>;
|
|
21
|
+
label?: StyleProp<TextStyle>;
|
|
22
|
+
};
|
|
23
|
+
type BottomTabBarItemProps = {
|
|
24
|
+
/**
|
|
25
|
+
* Unique key for this tab item.
|
|
26
|
+
*/
|
|
27
|
+
itemKey: string;
|
|
28
|
+
/**
|
|
29
|
+
* Label shown under icon.
|
|
30
|
+
*/
|
|
31
|
+
label: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Icon content or icon render function.
|
|
34
|
+
*/
|
|
35
|
+
icon?: ReactNode | ((params: BottomTabBarIconRenderParams) => ReactNode);
|
|
36
|
+
/**
|
|
37
|
+
* Optional icon when selected.
|
|
38
|
+
*/
|
|
39
|
+
activeIcon?: ReactNode | ((params: BottomTabBarIconRenderParams) => ReactNode);
|
|
40
|
+
/**
|
|
41
|
+
* Optional badge shown near icon.
|
|
42
|
+
*/
|
|
43
|
+
badge?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Whether this item is disabled.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
isDisabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Controlled selected state (standalone mode).
|
|
51
|
+
*/
|
|
52
|
+
isSelected?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to show label.
|
|
55
|
+
*/
|
|
56
|
+
showLabel?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Per-item active color override.
|
|
59
|
+
*/
|
|
60
|
+
activeColor?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Per-item inactive color override.
|
|
63
|
+
*/
|
|
64
|
+
inactiveColor?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Per-item active indicator color override.
|
|
67
|
+
*/
|
|
68
|
+
indicatorColor?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Custom style for item.
|
|
71
|
+
*/
|
|
72
|
+
style?: StyleProp<ViewStyle>;
|
|
73
|
+
/**
|
|
74
|
+
* Custom appearance styles.
|
|
75
|
+
*/
|
|
76
|
+
customAppearance?: BottomTabBarItemCustomAppearance;
|
|
77
|
+
/**
|
|
78
|
+
* Callback fired when item is pressed.
|
|
79
|
+
*/
|
|
80
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Callback fired when item is long-pressed.
|
|
83
|
+
*/
|
|
84
|
+
onLongPress?: (event: GestureResponderEvent) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Accessibility label.
|
|
87
|
+
*/
|
|
88
|
+
accessibilityLabel?: string;
|
|
89
|
+
/**
|
|
90
|
+
* testID for e2e tests.
|
|
91
|
+
*/
|
|
92
|
+
testID?: string;
|
|
93
|
+
};
|
|
94
|
+
type ExpoRouterTabRoute = {
|
|
95
|
+
key: string;
|
|
96
|
+
name: string;
|
|
97
|
+
params?: Record<string, unknown>;
|
|
98
|
+
};
|
|
99
|
+
type ExpoRouterTabState = {
|
|
100
|
+
index: number;
|
|
101
|
+
routes: ExpoRouterTabRoute[];
|
|
102
|
+
};
|
|
103
|
+
type ExpoRouterTabDescriptorOptions = {
|
|
104
|
+
title?: string;
|
|
105
|
+
tabBarLabel?: string | ((props: BottomTabBarItemLabelRenderParams) => ReactNode);
|
|
106
|
+
tabBarIcon?: (props: BottomTabBarIconRenderParams) => ReactNode;
|
|
107
|
+
tabBarActiveTintColor?: string;
|
|
108
|
+
tabBarInactiveTintColor?: string;
|
|
109
|
+
tabBarBadge?: ReactNode;
|
|
110
|
+
tabBarShowLabel?: boolean;
|
|
111
|
+
tabBarButtonTestID?: string;
|
|
112
|
+
tabBarAccessibilityLabel?: string;
|
|
113
|
+
tabBarItemStyle?: StyleProp<ViewStyle>;
|
|
114
|
+
tabBarStyle?: StyleProp<ViewStyle>;
|
|
115
|
+
href?: string | null;
|
|
116
|
+
};
|
|
117
|
+
type ExpoRouterTabDescriptor = {
|
|
118
|
+
options: ExpoRouterTabDescriptorOptions;
|
|
119
|
+
};
|
|
120
|
+
type ExpoRouterTabDescriptors = Record<string, ExpoRouterTabDescriptor>;
|
|
121
|
+
type ExpoRouterTabNavigation = {
|
|
122
|
+
emit: (options: {
|
|
123
|
+
type: 'tabPress' | 'tabLongPress';
|
|
124
|
+
target?: string;
|
|
125
|
+
canPreventDefault?: boolean;
|
|
126
|
+
}) => {
|
|
127
|
+
defaultPrevented?: boolean;
|
|
128
|
+
};
|
|
129
|
+
navigate: (name: string, params?: Record<string, unknown>) => void;
|
|
130
|
+
};
|
|
131
|
+
type ExpoRouterBottomTabBarCompatibleProps = {
|
|
132
|
+
state: ExpoRouterTabState;
|
|
133
|
+
descriptors: ExpoRouterTabDescriptors;
|
|
134
|
+
navigation: ExpoRouterTabNavigation;
|
|
135
|
+
insets?: Partial<Insets>;
|
|
136
|
+
};
|
|
137
|
+
type BottomTabBarBaseProps = {
|
|
138
|
+
/**
|
|
139
|
+
* Shared theme color.
|
|
140
|
+
* @default 'primary'
|
|
141
|
+
*/
|
|
142
|
+
themeColor?: ThemeColor;
|
|
143
|
+
/**
|
|
144
|
+
* Bar size.
|
|
145
|
+
* @default 'md'
|
|
146
|
+
*/
|
|
147
|
+
size?: BottomTabBarSize;
|
|
148
|
+
/**
|
|
149
|
+
* Layout variant for each tab item.
|
|
150
|
+
* @default 'stacked'
|
|
151
|
+
*/
|
|
152
|
+
variant?: BottomTabBarVariant;
|
|
153
|
+
/**
|
|
154
|
+
* Whether all items are disabled.
|
|
155
|
+
* @default false
|
|
156
|
+
*/
|
|
157
|
+
isDisabled?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Whether labels are shown by default.
|
|
160
|
+
* @default true
|
|
161
|
+
*/
|
|
162
|
+
showLabel?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Safe area bottom inset (manual mode). In expo-router mode this comes from `insets.bottom`.
|
|
165
|
+
*/
|
|
166
|
+
insetBottom?: number;
|
|
167
|
+
/**
|
|
168
|
+
* Active indicator color override.
|
|
169
|
+
*/
|
|
170
|
+
indicatorColor?: string;
|
|
171
|
+
/**
|
|
172
|
+
* Active icon/label color override.
|
|
173
|
+
*/
|
|
174
|
+
activeColor?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Inactive icon/label color override.
|
|
177
|
+
*/
|
|
178
|
+
inactiveColor?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Bar container style.
|
|
181
|
+
*/
|
|
182
|
+
style?: StyleProp<ViewStyle>;
|
|
183
|
+
/**
|
|
184
|
+
* Custom appearance styles.
|
|
185
|
+
*/
|
|
186
|
+
customAppearance?: {
|
|
187
|
+
container?: StyleProp<ViewStyle>;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
type BottomTabBarComposableProps = BottomTabBarBaseProps & {
|
|
191
|
+
children: ReactNode;
|
|
192
|
+
/**
|
|
193
|
+
* Controlled selected item key.
|
|
194
|
+
*/
|
|
195
|
+
selectedKey?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Uncontrolled default selected item key.
|
|
198
|
+
*/
|
|
199
|
+
defaultSelectedKey?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Callback fired when selected item changes.
|
|
202
|
+
*/
|
|
203
|
+
onSelectionChange?: (key: string) => void;
|
|
204
|
+
};
|
|
205
|
+
type BottomTabBarProps = BottomTabBarComposableProps | (BottomTabBarBaseProps & ExpoRouterBottomTabBarCompatibleProps);
|
|
206
|
+
|
|
207
|
+
declare const BottomTabBar: React.FC<BottomTabBarProps>;
|
|
208
|
+
|
|
209
|
+
declare const BottomTabBarItem: React.FC<BottomTabBarItemProps>;
|
|
210
|
+
|
|
211
|
+
export { BottomTabBar, type BottomTabBarComposableProps, type BottomTabBarIconRenderParams, BottomTabBarItem, type BottomTabBarItemCustomAppearance, type BottomTabBarItemLabelRenderParams, type BottomTabBarItemProps, type BottomTabBarProps, type BottomTabBarSize, type BottomTabBarVariant, type ExpoRouterBottomTabBarCompatibleProps, type ExpoRouterTabDescriptor, type ExpoRouterTabDescriptorOptions, type ExpoRouterTabDescriptors, type ExpoRouterTabNavigation, type ExpoRouterTabRoute, type ExpoRouterTabState };
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { StyleProp, ViewStyle, Insets, TextStyle, GestureResponderEvent } from 'react-native';
|
|
3
|
+
import { T as ThemeColor } from '../index-BOw6tbkc.js';
|
|
4
|
+
|
|
5
|
+
type BottomTabBarSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
type BottomTabBarVariant = 'stacked' | 'inline' | 'icon-only';
|
|
7
|
+
type BottomTabBarIconRenderParams = {
|
|
8
|
+
focused: boolean;
|
|
9
|
+
color: string;
|
|
10
|
+
size: number;
|
|
11
|
+
};
|
|
12
|
+
type BottomTabBarItemLabelRenderParams = {
|
|
13
|
+
focused: boolean;
|
|
14
|
+
color: string;
|
|
15
|
+
children: string;
|
|
16
|
+
position: 'below-icon' | 'beside-icon';
|
|
17
|
+
};
|
|
18
|
+
type BottomTabBarItemCustomAppearance = {
|
|
19
|
+
container?: StyleProp<ViewStyle>;
|
|
20
|
+
indicator?: StyleProp<ViewStyle>;
|
|
21
|
+
label?: StyleProp<TextStyle>;
|
|
22
|
+
};
|
|
23
|
+
type BottomTabBarItemProps = {
|
|
24
|
+
/**
|
|
25
|
+
* Unique key for this tab item.
|
|
26
|
+
*/
|
|
27
|
+
itemKey: string;
|
|
28
|
+
/**
|
|
29
|
+
* Label shown under icon.
|
|
30
|
+
*/
|
|
31
|
+
label: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Icon content or icon render function.
|
|
34
|
+
*/
|
|
35
|
+
icon?: ReactNode | ((params: BottomTabBarIconRenderParams) => ReactNode);
|
|
36
|
+
/**
|
|
37
|
+
* Optional icon when selected.
|
|
38
|
+
*/
|
|
39
|
+
activeIcon?: ReactNode | ((params: BottomTabBarIconRenderParams) => ReactNode);
|
|
40
|
+
/**
|
|
41
|
+
* Optional badge shown near icon.
|
|
42
|
+
*/
|
|
43
|
+
badge?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Whether this item is disabled.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
isDisabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Controlled selected state (standalone mode).
|
|
51
|
+
*/
|
|
52
|
+
isSelected?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to show label.
|
|
55
|
+
*/
|
|
56
|
+
showLabel?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Per-item active color override.
|
|
59
|
+
*/
|
|
60
|
+
activeColor?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Per-item inactive color override.
|
|
63
|
+
*/
|
|
64
|
+
inactiveColor?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Per-item active indicator color override.
|
|
67
|
+
*/
|
|
68
|
+
indicatorColor?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Custom style for item.
|
|
71
|
+
*/
|
|
72
|
+
style?: StyleProp<ViewStyle>;
|
|
73
|
+
/**
|
|
74
|
+
* Custom appearance styles.
|
|
75
|
+
*/
|
|
76
|
+
customAppearance?: BottomTabBarItemCustomAppearance;
|
|
77
|
+
/**
|
|
78
|
+
* Callback fired when item is pressed.
|
|
79
|
+
*/
|
|
80
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Callback fired when item is long-pressed.
|
|
83
|
+
*/
|
|
84
|
+
onLongPress?: (event: GestureResponderEvent) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Accessibility label.
|
|
87
|
+
*/
|
|
88
|
+
accessibilityLabel?: string;
|
|
89
|
+
/**
|
|
90
|
+
* testID for e2e tests.
|
|
91
|
+
*/
|
|
92
|
+
testID?: string;
|
|
93
|
+
};
|
|
94
|
+
type ExpoRouterTabRoute = {
|
|
95
|
+
key: string;
|
|
96
|
+
name: string;
|
|
97
|
+
params?: Record<string, unknown>;
|
|
98
|
+
};
|
|
99
|
+
type ExpoRouterTabState = {
|
|
100
|
+
index: number;
|
|
101
|
+
routes: ExpoRouterTabRoute[];
|
|
102
|
+
};
|
|
103
|
+
type ExpoRouterTabDescriptorOptions = {
|
|
104
|
+
title?: string;
|
|
105
|
+
tabBarLabel?: string | ((props: BottomTabBarItemLabelRenderParams) => ReactNode);
|
|
106
|
+
tabBarIcon?: (props: BottomTabBarIconRenderParams) => ReactNode;
|
|
107
|
+
tabBarActiveTintColor?: string;
|
|
108
|
+
tabBarInactiveTintColor?: string;
|
|
109
|
+
tabBarBadge?: ReactNode;
|
|
110
|
+
tabBarShowLabel?: boolean;
|
|
111
|
+
tabBarButtonTestID?: string;
|
|
112
|
+
tabBarAccessibilityLabel?: string;
|
|
113
|
+
tabBarItemStyle?: StyleProp<ViewStyle>;
|
|
114
|
+
tabBarStyle?: StyleProp<ViewStyle>;
|
|
115
|
+
href?: string | null;
|
|
116
|
+
};
|
|
117
|
+
type ExpoRouterTabDescriptor = {
|
|
118
|
+
options: ExpoRouterTabDescriptorOptions;
|
|
119
|
+
};
|
|
120
|
+
type ExpoRouterTabDescriptors = Record<string, ExpoRouterTabDescriptor>;
|
|
121
|
+
type ExpoRouterTabNavigation = {
|
|
122
|
+
emit: (options: {
|
|
123
|
+
type: 'tabPress' | 'tabLongPress';
|
|
124
|
+
target?: string;
|
|
125
|
+
canPreventDefault?: boolean;
|
|
126
|
+
}) => {
|
|
127
|
+
defaultPrevented?: boolean;
|
|
128
|
+
};
|
|
129
|
+
navigate: (name: string, params?: Record<string, unknown>) => void;
|
|
130
|
+
};
|
|
131
|
+
type ExpoRouterBottomTabBarCompatibleProps = {
|
|
132
|
+
state: ExpoRouterTabState;
|
|
133
|
+
descriptors: ExpoRouterTabDescriptors;
|
|
134
|
+
navigation: ExpoRouterTabNavigation;
|
|
135
|
+
insets?: Partial<Insets>;
|
|
136
|
+
};
|
|
137
|
+
type BottomTabBarBaseProps = {
|
|
138
|
+
/**
|
|
139
|
+
* Shared theme color.
|
|
140
|
+
* @default 'primary'
|
|
141
|
+
*/
|
|
142
|
+
themeColor?: ThemeColor;
|
|
143
|
+
/**
|
|
144
|
+
* Bar size.
|
|
145
|
+
* @default 'md'
|
|
146
|
+
*/
|
|
147
|
+
size?: BottomTabBarSize;
|
|
148
|
+
/**
|
|
149
|
+
* Layout variant for each tab item.
|
|
150
|
+
* @default 'stacked'
|
|
151
|
+
*/
|
|
152
|
+
variant?: BottomTabBarVariant;
|
|
153
|
+
/**
|
|
154
|
+
* Whether all items are disabled.
|
|
155
|
+
* @default false
|
|
156
|
+
*/
|
|
157
|
+
isDisabled?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Whether labels are shown by default.
|
|
160
|
+
* @default true
|
|
161
|
+
*/
|
|
162
|
+
showLabel?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Safe area bottom inset (manual mode). In expo-router mode this comes from `insets.bottom`.
|
|
165
|
+
*/
|
|
166
|
+
insetBottom?: number;
|
|
167
|
+
/**
|
|
168
|
+
* Active indicator color override.
|
|
169
|
+
*/
|
|
170
|
+
indicatorColor?: string;
|
|
171
|
+
/**
|
|
172
|
+
* Active icon/label color override.
|
|
173
|
+
*/
|
|
174
|
+
activeColor?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Inactive icon/label color override.
|
|
177
|
+
*/
|
|
178
|
+
inactiveColor?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Bar container style.
|
|
181
|
+
*/
|
|
182
|
+
style?: StyleProp<ViewStyle>;
|
|
183
|
+
/**
|
|
184
|
+
* Custom appearance styles.
|
|
185
|
+
*/
|
|
186
|
+
customAppearance?: {
|
|
187
|
+
container?: StyleProp<ViewStyle>;
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
type BottomTabBarComposableProps = BottomTabBarBaseProps & {
|
|
191
|
+
children: ReactNode;
|
|
192
|
+
/**
|
|
193
|
+
* Controlled selected item key.
|
|
194
|
+
*/
|
|
195
|
+
selectedKey?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Uncontrolled default selected item key.
|
|
198
|
+
*/
|
|
199
|
+
defaultSelectedKey?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Callback fired when selected item changes.
|
|
202
|
+
*/
|
|
203
|
+
onSelectionChange?: (key: string) => void;
|
|
204
|
+
};
|
|
205
|
+
type BottomTabBarProps = BottomTabBarComposableProps | (BottomTabBarBaseProps & ExpoRouterBottomTabBarCompatibleProps);
|
|
206
|
+
|
|
207
|
+
declare const BottomTabBar: React.FC<BottomTabBarProps>;
|
|
208
|
+
|
|
209
|
+
declare const BottomTabBarItem: React.FC<BottomTabBarItemProps>;
|
|
210
|
+
|
|
211
|
+
export { BottomTabBar, type BottomTabBarComposableProps, type BottomTabBarIconRenderParams, BottomTabBarItem, type BottomTabBarItemCustomAppearance, type BottomTabBarItemLabelRenderParams, type BottomTabBarItemProps, type BottomTabBarProps, type BottomTabBarSize, type BottomTabBarVariant, type ExpoRouterBottomTabBarCompatibleProps, type ExpoRouterTabDescriptor, type ExpoRouterTabDescriptorOptions, type ExpoRouterTabDescriptors, type ExpoRouterTabNavigation, type ExpoRouterTabRoute, type ExpoRouterTabState };
|