@tamagui/create-menu 2.0.0-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/LICENSE +21 -0
- package/dist/cjs/MenuPredefined.cjs +182 -0
- package/dist/cjs/MenuPredefined.js +162 -0
- package/dist/cjs/MenuPredefined.js.map +6 -0
- package/dist/cjs/MenuPredefined.native.js +185 -0
- package/dist/cjs/MenuPredefined.native.js.map +1 -0
- package/dist/cjs/createBaseMenu.cjs +927 -0
- package/dist/cjs/createBaseMenu.js +724 -0
- package/dist/cjs/createBaseMenu.js.map +6 -0
- package/dist/cjs/createBaseMenu.native.js +1105 -0
- package/dist/cjs/createBaseMenu.native.js.map +1 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.cjs +224 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.js +172 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.js.map +6 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js +287 -0
- package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +16 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.js +14 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.js.map +6 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +19 -0
- package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
- package/dist/cjs/createNativeMenu/index.cjs +19 -0
- package/dist/cjs/createNativeMenu/index.js +16 -0
- package/dist/cjs/createNativeMenu/index.js.map +6 -0
- package/dist/cjs/createNativeMenu/index.native.js +22 -0
- package/dist/cjs/createNativeMenu/index.native.js.map +1 -0
- package/dist/cjs/createNativeMenu/utils.cjs +68 -0
- package/dist/cjs/createNativeMenu/utils.js +66 -0
- package/dist/cjs/createNativeMenu/utils.js.map +6 -0
- package/dist/cjs/createNativeMenu/utils.native.js +94 -0
- package/dist/cjs/createNativeMenu/utils.native.js.map +1 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.cjs +37 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.js +30 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.js.map +6 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js +43 -0
- package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -0
- package/dist/cjs/index.cjs +30 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +33 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/esm/MenuPredefined.js +147 -0
- package/dist/esm/MenuPredefined.js.map +6 -0
- package/dist/esm/MenuPredefined.mjs +159 -0
- package/dist/esm/MenuPredefined.mjs.map +1 -0
- package/dist/esm/MenuPredefined.native.js +159 -0
- package/dist/esm/MenuPredefined.native.js.map +1 -0
- package/dist/esm/createBaseMenu.js +729 -0
- package/dist/esm/createBaseMenu.js.map +6 -0
- package/dist/esm/createBaseMenu.mjs +893 -0
- package/dist/esm/createBaseMenu.mjs.map +1 -0
- package/dist/esm/createBaseMenu.native.js +1068 -0
- package/dist/esm/createBaseMenu.native.js.map +1 -0
- package/dist/esm/createNativeMenu/createNativeMenu.js +150 -0
- package/dist/esm/createNativeMenu/createNativeMenu.js.map +6 -0
- package/dist/esm/createNativeMenu/createNativeMenu.mjs +190 -0
- package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -0
- package/dist/esm/createNativeMenu/createNativeMenu.native.js +250 -0
- package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.js +1 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.js.map +6 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs +2 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js +2 -0
- package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
- package/dist/esm/createNativeMenu/index.js +3 -0
- package/dist/esm/createNativeMenu/index.js.map +6 -0
- package/dist/esm/createNativeMenu/index.mjs +3 -0
- package/dist/esm/createNativeMenu/index.mjs.map +1 -0
- package/dist/esm/createNativeMenu/index.native.js +3 -0
- package/dist/esm/createNativeMenu/index.native.js.map +1 -0
- package/dist/esm/createNativeMenu/utils.js +47 -0
- package/dist/esm/createNativeMenu/utils.js.map +6 -0
- package/dist/esm/createNativeMenu/utils.mjs +29 -0
- package/dist/esm/createNativeMenu/utils.mjs.map +1 -0
- package/dist/esm/createNativeMenu/utils.native.js +52 -0
- package/dist/esm/createNativeMenu/utils.native.js.map +1 -0
- package/dist/esm/createNativeMenu/withNativeMenu.js +15 -0
- package/dist/esm/createNativeMenu/withNativeMenu.js.map +6 -0
- package/dist/esm/createNativeMenu/withNativeMenu.mjs +14 -0
- package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -0
- package/dist/esm/createNativeMenu/withNativeMenu.native.js +17 -0
- package/dist/esm/createNativeMenu/withNativeMenu.native.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +6 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +6 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/jsx/MenuPredefined.js +147 -0
- package/dist/jsx/MenuPredefined.js.map +6 -0
- package/dist/jsx/MenuPredefined.mjs +159 -0
- package/dist/jsx/MenuPredefined.mjs.map +1 -0
- package/dist/jsx/MenuPredefined.native.js +185 -0
- package/dist/jsx/MenuPredefined.native.js.map +1 -0
- package/dist/jsx/createBaseMenu.js +729 -0
- package/dist/jsx/createBaseMenu.js.map +6 -0
- package/dist/jsx/createBaseMenu.mjs +893 -0
- package/dist/jsx/createBaseMenu.mjs.map +1 -0
- package/dist/jsx/createBaseMenu.native.js +1105 -0
- package/dist/jsx/createBaseMenu.native.js.map +1 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.js +150 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.js.map +6 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.mjs +190 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js +287 -0
- package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.js +1 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.js.map +6 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs +2 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +19 -0
- package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
- package/dist/jsx/createNativeMenu/index.js +3 -0
- package/dist/jsx/createNativeMenu/index.js.map +6 -0
- package/dist/jsx/createNativeMenu/index.mjs +3 -0
- package/dist/jsx/createNativeMenu/index.mjs.map +1 -0
- package/dist/jsx/createNativeMenu/index.native.js +22 -0
- package/dist/jsx/createNativeMenu/index.native.js.map +1 -0
- package/dist/jsx/createNativeMenu/utils.js +47 -0
- package/dist/jsx/createNativeMenu/utils.js.map +6 -0
- package/dist/jsx/createNativeMenu/utils.mjs +29 -0
- package/dist/jsx/createNativeMenu/utils.mjs.map +1 -0
- package/dist/jsx/createNativeMenu/utils.native.js +94 -0
- package/dist/jsx/createNativeMenu/utils.native.js.map +1 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.js +15 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.js.map +6 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.mjs +14 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js +43 -0
- package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -0
- package/dist/jsx/index.js +8 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +6 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +33 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/package.json +80 -0
- package/src/MenuPredefined.tsx +195 -0
- package/src/createBaseMenu.tsx +1703 -0
- package/src/createNativeMenu/createNativeMenu.tsx +372 -0
- package/src/createNativeMenu/createNativeMenuTypes.ts +214 -0
- package/src/createNativeMenu/index.tsx +7 -0
- package/src/createNativeMenu/utils.tsx +150 -0
- package/src/createNativeMenu/withNativeMenu.tsx +38 -0
- package/src/index.tsx +9 -0
- package/types/MenuPredefined.d.ts +28 -0
- package/types/MenuPredefined.d.ts.map +1 -0
- package/types/createBaseMenu.d.ts +207 -0
- package/types/createBaseMenu.d.ts.map +1 -0
- package/types/createNativeMenu/createNativeMenu.d.ts +42 -0
- package/types/createNativeMenu/createNativeMenu.d.ts.map +1 -0
- package/types/createNativeMenu/createNativeMenuTypes.d.ts +188 -0
- package/types/createNativeMenu/createNativeMenuTypes.d.ts.map +1 -0
- package/types/createNativeMenu/index.d.ts +4 -0
- package/types/createNativeMenu/index.d.ts.map +1 -0
- package/types/createNativeMenu/utils.d.ts +38 -0
- package/types/createNativeMenu/utils.d.ts.map +1 -0
- package/types/createNativeMenu/withNativeMenu.d.ts +9 -0
- package/types/createNativeMenu/withNativeMenu.d.ts.map +1 -0
- package/types/index.d.ts +6 -0
- package/types/index.d.ts.map +1 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { ImageProps } from 'react-native';
|
|
2
|
+
import type { SFSymbol } from 'sf-symbols-typescript';
|
|
3
|
+
type ImageOptions = {
|
|
4
|
+
tint?: string;
|
|
5
|
+
};
|
|
6
|
+
export type MenuProps = {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
native?: boolean;
|
|
9
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Callback function indicating that the menu intends to open or close. Passes a `willOpen` boolean argument indicating whether it is opening or closing.
|
|
12
|
+
* Unlike `onOpenChange`, this is called before the animation begins.
|
|
13
|
+
* @platform `ios`
|
|
14
|
+
*/
|
|
15
|
+
onOpenWillChange?: (willOpen: boolean) => void;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Props for the auxiliary view that can be shown alongside a context menu on iOS
|
|
19
|
+
* @platform ios
|
|
20
|
+
*/
|
|
21
|
+
export type ContextMenuAuxiliaryProps = {
|
|
22
|
+
height?: number;
|
|
23
|
+
width?: number;
|
|
24
|
+
anchorPosition?: 'top' | 'bottom' | 'automatic';
|
|
25
|
+
children: React.ReactNode | ((options: {
|
|
26
|
+
dismissMenu: () => void;
|
|
27
|
+
}) => React.ReactNode);
|
|
28
|
+
onDidShow?: () => void;
|
|
29
|
+
marginWithScreenEdge?: number;
|
|
30
|
+
onWillShow?: () => void;
|
|
31
|
+
};
|
|
32
|
+
export type MenuTriggerProps = {
|
|
33
|
+
children: React.ReactElement;
|
|
34
|
+
asChild?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Determine whether the menu should open on `press` or `longPress`. Defaults to `press` for `Menu` and `longPress` for `ContextMenu`.
|
|
37
|
+
*
|
|
38
|
+
* Only applies for `ios` and `android`.
|
|
39
|
+
*/
|
|
40
|
+
action?: 'press' | 'longPress';
|
|
41
|
+
};
|
|
42
|
+
export type MenuContentProps = {
|
|
43
|
+
children: React.ReactNode;
|
|
44
|
+
};
|
|
45
|
+
export type ContextMenuContentProps = MenuContentProps;
|
|
46
|
+
export type MenuGroupProps = {
|
|
47
|
+
children: React.ReactNode;
|
|
48
|
+
};
|
|
49
|
+
export type MenuItemProps = {
|
|
50
|
+
children: React.ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* If you want to pass a React text node to `<ItemTitle />`, then you need to use this prop. This gets used on iOS and Android.
|
|
53
|
+
*/
|
|
54
|
+
textValue?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Callback when the item is selected
|
|
57
|
+
*/
|
|
58
|
+
onSelect?: (event?: Event) => void;
|
|
59
|
+
} & {
|
|
60
|
+
disabled?: boolean;
|
|
61
|
+
hidden?: boolean;
|
|
62
|
+
destructive?: boolean;
|
|
63
|
+
key: string;
|
|
64
|
+
};
|
|
65
|
+
export interface MenuItemCommonProps {
|
|
66
|
+
/**
|
|
67
|
+
* React elements to render as fallback icon (typically for web)
|
|
68
|
+
*/
|
|
69
|
+
children?: React.ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* The name of an iOS-only SF Symbol. For a full list, see https://developer.apple.com/sf-symbols/.
|
|
72
|
+
* @deprecated Please use the `name` inside of the `ios` prop instead.
|
|
73
|
+
* @platform ios
|
|
74
|
+
*/
|
|
75
|
+
iosIconName?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Icon configuration to be used on iOS. You can pass a SF Symbol icon using the `name` prop.
|
|
78
|
+
* Additionally, you can configure the SF Symbol's features like weight, scale, color etc. by passing
|
|
79
|
+
* the corresponding props. Note that some of those features require iOS 15+.
|
|
80
|
+
*
|
|
81
|
+
* @platform ios
|
|
82
|
+
*/
|
|
83
|
+
ios?: {
|
|
84
|
+
name: SFSymbol;
|
|
85
|
+
weight?: 'ultraLight' | 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'bold' | 'heavy' | 'black';
|
|
86
|
+
scale?: 'small' | 'medium' | 'large';
|
|
87
|
+
hierarchicalColor?: string;
|
|
88
|
+
paletteColors?: string[];
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* The name of an android-only resource drawable. For a full list, see https://developer.android.com/reference/android/R.drawable.html.
|
|
92
|
+
*
|
|
93
|
+
* @platform android
|
|
94
|
+
*/
|
|
95
|
+
androidIconName?: string;
|
|
96
|
+
}
|
|
97
|
+
export type MenuItemIconProps = MenuItemCommonProps;
|
|
98
|
+
export type MenuItemImageProps = MenuItemCommonProps & {
|
|
99
|
+
/**
|
|
100
|
+
* `source={require('path/to/image')}`
|
|
101
|
+
*/
|
|
102
|
+
source: ImageProps['source'];
|
|
103
|
+
ios?: {
|
|
104
|
+
style?: ImageOptions;
|
|
105
|
+
lazy?: boolean;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
export type MenuArrowProps = {};
|
|
109
|
+
export type MenuSubTriggerProps = MenuItemProps & {
|
|
110
|
+
key: string;
|
|
111
|
+
};
|
|
112
|
+
export type MenuSubProps = {
|
|
113
|
+
children?: React.ReactNode;
|
|
114
|
+
};
|
|
115
|
+
export type MenuSubContentProps = {
|
|
116
|
+
children: React.ReactNode;
|
|
117
|
+
};
|
|
118
|
+
export type ContextMenuSubContentProps = ContextMenuContentProps;
|
|
119
|
+
export type MenuItemTitleProps = {
|
|
120
|
+
children: string | React.ReactNode;
|
|
121
|
+
};
|
|
122
|
+
export type MenuItemSubtitleProps = {
|
|
123
|
+
children: string;
|
|
124
|
+
};
|
|
125
|
+
export type MenuSeparatorProps = {};
|
|
126
|
+
export type MenuCheckboxItemProps = Omit<MenuItemProps, 'onSelect'> & {
|
|
127
|
+
/**
|
|
128
|
+
* The controlled checked state of the checkbox item.
|
|
129
|
+
* Use this with `onCheckedChange` for the web-style API.
|
|
130
|
+
*/
|
|
131
|
+
checked?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Callback when the checked state changes.
|
|
134
|
+
* Use this with `checked` for the web-style API.
|
|
135
|
+
*/
|
|
136
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
137
|
+
/**
|
|
138
|
+
* The controlled value state for native platforms.
|
|
139
|
+
* Use this with `onValueChange` for the native-style API.
|
|
140
|
+
* @platform ios, android
|
|
141
|
+
*/
|
|
142
|
+
value?: 'mixed' | 'on' | 'off' | boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Callback when the value changes on native platforms.
|
|
145
|
+
* Use this with `value` for the native-style API.
|
|
146
|
+
* @platform ios, android
|
|
147
|
+
*/
|
|
148
|
+
onValueChange?: (state: 'mixed' | 'on' | 'off', prevState: 'mixed' | 'on' | 'off') => void;
|
|
149
|
+
key: string;
|
|
150
|
+
};
|
|
151
|
+
export type MenuItemIndicatorProps = {
|
|
152
|
+
children?: React.ReactNode;
|
|
153
|
+
};
|
|
154
|
+
export type MenuLabelProps = {
|
|
155
|
+
children: string;
|
|
156
|
+
/**
|
|
157
|
+
* If you want to pass a React text node to `<Lable />`, then you need to use this prop. This gets used on iOS and Android.
|
|
158
|
+
*/
|
|
159
|
+
textValue?: string;
|
|
160
|
+
};
|
|
161
|
+
export type ContextMenuPreviewProps = {
|
|
162
|
+
children: React.ReactNode | (() => React.ReactNode);
|
|
163
|
+
/**
|
|
164
|
+
* Size of the preview
|
|
165
|
+
* @platform ios
|
|
166
|
+
*/
|
|
167
|
+
size?: {
|
|
168
|
+
width?: number;
|
|
169
|
+
height?: number;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Called when the preview is pressed
|
|
173
|
+
* @platform ios
|
|
174
|
+
*/
|
|
175
|
+
onPress?: () => void;
|
|
176
|
+
/**
|
|
177
|
+
* Background color of the preview
|
|
178
|
+
* @platform ios
|
|
179
|
+
*/
|
|
180
|
+
backgroundColor?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Border radius of the preview
|
|
183
|
+
* @platform ios
|
|
184
|
+
*/
|
|
185
|
+
borderRadius?: number;
|
|
186
|
+
};
|
|
187
|
+
export {};
|
|
188
|
+
//# sourceMappingURL=createNativeMenuTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNativeMenuTypes.d.ts","sourceRoot":"","sources":["../../src/createNativeMenu/createNativeMenuTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/createNativeMenu/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAEhC,YAAY,EACV,iBAAiB,IAAI,uBAAuB,EAC5C,mBAAmB,IAAI,yBAAyB,GACjD,MAAM,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credit to geist-ui/react, it's initially copied from there and updated.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
|
|
6
|
+
Copyright (c) 2020 Geist UI
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
in the Software without restriction, including without limitation the rights
|
|
11
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
furnished to do so, subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice shall be included in all
|
|
16
|
+
copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
|
+
SOFTWARE.
|
|
25
|
+
*/
|
|
26
|
+
import React, { type ReactNode } from 'react';
|
|
27
|
+
type ReactChildArray = ReturnType<typeof React.Children.toArray>;
|
|
28
|
+
export declare function flattenChildrenKeyless(children: ReactNode): ReactChildArray;
|
|
29
|
+
export declare function flattenChildren(children: ReactNode, componentNamesToIgnore?: string[], depth?: number, keys?: (string | number)[]): ReactNode[];
|
|
30
|
+
export declare const pickChildren: <Props = any>(_children: ReactNode | undefined, targetChild: React.ElementType, componentNamesToIgnore?: string[]) => {
|
|
31
|
+
targetChildren: React.ReactElement<Props, string | React.JSXElementConstructor<any>>[] | undefined;
|
|
32
|
+
withoutTargetChildren: (string | number | bigint | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined>)[] | null | undefined;
|
|
33
|
+
};
|
|
34
|
+
export declare const isInstanceOfComponent: (element: React.ReactElement | ReactNode | undefined, targetElement: React.ElementType) => boolean;
|
|
35
|
+
export declare const filterNull: <T extends unknown | null | undefined>(t: T) => t is NonNullable<T>;
|
|
36
|
+
export declare const create: <Props extends {}>(Component: React.ComponentType<Props>, displayName: string) => React.FC<Props>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/createNativeMenu/utils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,EAGZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAEd,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAEhE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,GAAG,eAAe,CAW3E;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,SAAS,EACnB,sBAAsB,CAAC,EAAE,MAAM,EAAE,EACjC,KAAK,SAAI,EACT,IAAI,GAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,GAC7B,SAAS,EAAE,CAuCb;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,GAAG,GAAG,EACtC,WAAW,SAAS,GAAG,SAAS,EAChC,aAAa,KAAK,CAAC,WAAW,EAC9B,yBAAyB,MAAM,EAAE;;;CAoBlC,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,SAAS,KAAK,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,EACnD,eAAe,KAAK,CAAC,WAAW,YASjC,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,EAC7D,GAAG,CAAC,KACH,CAAC,IAAI,WAAW,CAAC,CAAC,CAEpB,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,KAAK,SAAS,EAAE,EACrC,WAAW,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EACrC,aAAa,MAAM,oBAQpB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type CombinedProps<C, N> = C extends React.ComponentType<infer CP> ? N extends React.ComponentType<infer NP> ? CP & NP : CP : N extends React.ComponentType<infer NP> ? NP : {};
|
|
2
|
+
export declare function withNativeMenu<C extends React.ComponentType<any>, N extends React.ComponentType<any>>({ Component, NativeComponent, }: {
|
|
3
|
+
Component: C;
|
|
4
|
+
NativeComponent: N;
|
|
5
|
+
scope?: string;
|
|
6
|
+
isRoot?: boolean;
|
|
7
|
+
}): React.FC<CombinedProps<C, N>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=withNativeMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withNativeMenu.d.ts","sourceRoot":"","sources":["../../src/createNativeMenu/withNativeMenu.tsx"],"names":[],"mappings":"AAEA,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAC9D,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GACrC,EAAE,GAAG,EAAE,GACP,EAAE,GACJ,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GACrC,EAAE,GACF,EAAE,CAAA;AAER,wBAAgB,cAAc,CAC5B,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAClC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAClC,EACA,SAAS,EACT,eAAe,GAChB,EAAE;IACD,SAAS,EAAE,CAAC,CAAA;IACZ,eAAe,EAAE,CAAC,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAgBhC"}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '@tamagui/polyfill-dev';
|
|
2
|
+
export * from './createBaseMenu';
|
|
3
|
+
export * from './createNativeMenu/index';
|
|
4
|
+
export type { MenuItemImageProps, MenuItemIconProps, } from './createNativeMenu/createNativeMenuTypes';
|
|
5
|
+
export { MenuPredefined } from './MenuPredefined';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAE9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
|