@tamagui/create-menu 1.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.
Files changed (143) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/MenuPredefined.cjs +189 -0
  3. package/dist/cjs/MenuPredefined.js +168 -0
  4. package/dist/cjs/MenuPredefined.js.map +6 -0
  5. package/dist/cjs/MenuPredefined.native.js +192 -0
  6. package/dist/cjs/MenuPredefined.native.js.map +1 -0
  7. package/dist/cjs/createBaseMenu.cjs +1147 -0
  8. package/dist/cjs/createBaseMenu.js +884 -0
  9. package/dist/cjs/createBaseMenu.js.map +6 -0
  10. package/dist/cjs/createBaseMenu.native.js +1346 -0
  11. package/dist/cjs/createBaseMenu.native.js.map +1 -0
  12. package/dist/cjs/createNativeMenu/createNativeMenu.cjs +242 -0
  13. package/dist/cjs/createNativeMenu/createNativeMenu.js +184 -0
  14. package/dist/cjs/createNativeMenu/createNativeMenu.js.map +6 -0
  15. package/dist/cjs/createNativeMenu/createNativeMenu.native.js +307 -0
  16. package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -0
  17. package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +16 -0
  18. package/dist/cjs/createNativeMenu/createNativeMenuTypes.js +14 -0
  19. package/dist/cjs/createNativeMenu/createNativeMenuTypes.js.map +6 -0
  20. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +19 -0
  21. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
  22. package/dist/cjs/createNativeMenu/utils.cjs +68 -0
  23. package/dist/cjs/createNativeMenu/utils.js +66 -0
  24. package/dist/cjs/createNativeMenu/utils.js.map +6 -0
  25. package/dist/cjs/createNativeMenu/utils.native.js +94 -0
  26. package/dist/cjs/createNativeMenu/utils.native.js.map +1 -0
  27. package/dist/cjs/createNativeMenu/withNativeMenu.cjs +37 -0
  28. package/dist/cjs/createNativeMenu/withNativeMenu.js +30 -0
  29. package/dist/cjs/createNativeMenu/withNativeMenu.js.map +6 -0
  30. package/dist/cjs/createNativeMenu/withNativeMenu.native.js +43 -0
  31. package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -0
  32. package/dist/cjs/index.cjs +30 -0
  33. package/dist/cjs/index.js +24 -0
  34. package/dist/cjs/index.js.map +6 -0
  35. package/dist/cjs/index.native.js +33 -0
  36. package/dist/cjs/index.native.js.map +1 -0
  37. package/dist/esm/MenuPredefined.js +154 -0
  38. package/dist/esm/MenuPredefined.js.map +6 -0
  39. package/dist/esm/MenuPredefined.mjs +166 -0
  40. package/dist/esm/MenuPredefined.mjs.map +1 -0
  41. package/dist/esm/MenuPredefined.native.js +166 -0
  42. package/dist/esm/MenuPredefined.native.js.map +1 -0
  43. package/dist/esm/createBaseMenu.js +892 -0
  44. package/dist/esm/createBaseMenu.js.map +6 -0
  45. package/dist/esm/createBaseMenu.mjs +1113 -0
  46. package/dist/esm/createBaseMenu.mjs.map +1 -0
  47. package/dist/esm/createBaseMenu.native.js +1309 -0
  48. package/dist/esm/createBaseMenu.native.js.map +1 -0
  49. package/dist/esm/createNativeMenu/createNativeMenu.js +163 -0
  50. package/dist/esm/createNativeMenu/createNativeMenu.js.map +6 -0
  51. package/dist/esm/createNativeMenu/createNativeMenu.mjs +208 -0
  52. package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -0
  53. package/dist/esm/createNativeMenu/createNativeMenu.native.js +270 -0
  54. package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -0
  55. package/dist/esm/createNativeMenu/createNativeMenuTypes.js +1 -0
  56. package/dist/esm/createNativeMenu/createNativeMenuTypes.js.map +6 -0
  57. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs +2 -0
  58. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
  59. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js +2 -0
  60. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
  61. package/dist/esm/createNativeMenu/utils.js +47 -0
  62. package/dist/esm/createNativeMenu/utils.js.map +6 -0
  63. package/dist/esm/createNativeMenu/utils.mjs +29 -0
  64. package/dist/esm/createNativeMenu/utils.mjs.map +1 -0
  65. package/dist/esm/createNativeMenu/utils.native.js +52 -0
  66. package/dist/esm/createNativeMenu/utils.native.js.map +1 -0
  67. package/dist/esm/createNativeMenu/withNativeMenu.js +15 -0
  68. package/dist/esm/createNativeMenu/withNativeMenu.js.map +6 -0
  69. package/dist/esm/createNativeMenu/withNativeMenu.mjs +14 -0
  70. package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -0
  71. package/dist/esm/createNativeMenu/withNativeMenu.native.js +17 -0
  72. package/dist/esm/createNativeMenu/withNativeMenu.native.js.map +1 -0
  73. package/dist/esm/index.js +8 -0
  74. package/dist/esm/index.js.map +6 -0
  75. package/dist/esm/index.mjs +6 -0
  76. package/dist/esm/index.mjs.map +1 -0
  77. package/dist/esm/index.native.js +6 -0
  78. package/dist/esm/index.native.js.map +1 -0
  79. package/dist/jsx/MenuPredefined.js +154 -0
  80. package/dist/jsx/MenuPredefined.js.map +6 -0
  81. package/dist/jsx/MenuPredefined.mjs +166 -0
  82. package/dist/jsx/MenuPredefined.mjs.map +1 -0
  83. package/dist/jsx/MenuPredefined.native.js +192 -0
  84. package/dist/jsx/MenuPredefined.native.js.map +1 -0
  85. package/dist/jsx/createBaseMenu.js +892 -0
  86. package/dist/jsx/createBaseMenu.js.map +6 -0
  87. package/dist/jsx/createBaseMenu.mjs +1113 -0
  88. package/dist/jsx/createBaseMenu.mjs.map +1 -0
  89. package/dist/jsx/createBaseMenu.native.js +1346 -0
  90. package/dist/jsx/createBaseMenu.native.js.map +1 -0
  91. package/dist/jsx/createNativeMenu/createNativeMenu.js +163 -0
  92. package/dist/jsx/createNativeMenu/createNativeMenu.js.map +6 -0
  93. package/dist/jsx/createNativeMenu/createNativeMenu.mjs +208 -0
  94. package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -0
  95. package/dist/jsx/createNativeMenu/createNativeMenu.native.js +307 -0
  96. package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -0
  97. package/dist/jsx/createNativeMenu/createNativeMenuTypes.js +1 -0
  98. package/dist/jsx/createNativeMenu/createNativeMenuTypes.js.map +6 -0
  99. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs +2 -0
  100. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
  101. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +19 -0
  102. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
  103. package/dist/jsx/createNativeMenu/utils.js +47 -0
  104. package/dist/jsx/createNativeMenu/utils.js.map +6 -0
  105. package/dist/jsx/createNativeMenu/utils.mjs +29 -0
  106. package/dist/jsx/createNativeMenu/utils.mjs.map +1 -0
  107. package/dist/jsx/createNativeMenu/utils.native.js +94 -0
  108. package/dist/jsx/createNativeMenu/utils.native.js.map +1 -0
  109. package/dist/jsx/createNativeMenu/withNativeMenu.js +15 -0
  110. package/dist/jsx/createNativeMenu/withNativeMenu.js.map +6 -0
  111. package/dist/jsx/createNativeMenu/withNativeMenu.mjs +14 -0
  112. package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -0
  113. package/dist/jsx/createNativeMenu/withNativeMenu.native.js +43 -0
  114. package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -0
  115. package/dist/jsx/index.js +8 -0
  116. package/dist/jsx/index.js.map +6 -0
  117. package/dist/jsx/index.mjs +6 -0
  118. package/dist/jsx/index.mjs.map +1 -0
  119. package/dist/jsx/index.native.js +33 -0
  120. package/dist/jsx/index.native.js.map +1 -0
  121. package/package.json +69 -0
  122. package/src/MenuPredefined.tsx +204 -0
  123. package/src/createBaseMenu.tsx +2031 -0
  124. package/src/createNativeMenu/createNativeMenu.tsx +400 -0
  125. package/src/createNativeMenu/createNativeMenuTypes.ts +214 -0
  126. package/src/createNativeMenu/utils.tsx +150 -0
  127. package/src/createNativeMenu/withNativeMenu.tsx +39 -0
  128. package/src/index.tsx +5 -0
  129. package/types/MenuPredefined.d.ts +31 -0
  130. package/types/MenuPredefined.d.ts.map +1 -0
  131. package/types/createBaseMenu.d.ts +298 -0
  132. package/types/createBaseMenu.d.ts.map +1 -0
  133. package/types/createNativeMenu/createNativeMenu.d.ts +42 -0
  134. package/types/createNativeMenu/createNativeMenu.d.ts.map +1 -0
  135. package/types/createNativeMenu/createNativeMenuTypes.d.ts +188 -0
  136. package/types/createNativeMenu/createNativeMenuTypes.d.ts.map +1 -0
  137. package/types/createNativeMenu/index.d.ts +4 -0
  138. package/types/createNativeMenu/utils.d.ts +38 -0
  139. package/types/createNativeMenu/utils.d.ts.map +1 -0
  140. package/types/createNativeMenu/withNativeMenu.d.ts +9 -0
  141. package/types/createNativeMenu/withNativeMenu.d.ts.map +1 -0
  142. package/types/index.d.ts +6 -0
  143. package/types/index.d.ts.map +1 -0
@@ -0,0 +1,270 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { getZeego, NativeMenuContext } from "@tamagui/native";
3
+ import { isWeb, withStaticProperties, isIos } from "@tamagui/web";
4
+ import React from "react";
5
+ var createNativeMenu = function (MenuType) {
6
+ if (isWeb) {
7
+ var Menu = {},
8
+ Trigger = {},
9
+ Content = {},
10
+ Preview = {},
11
+ Item = {},
12
+ ItemIcon = {},
13
+ ItemImage = {},
14
+ SubTrigger = {},
15
+ ItemTitle = {},
16
+ ItemSubtitle = {},
17
+ Group = {},
18
+ Separator = {},
19
+ CheckboxItem = {},
20
+ ItemIndicator = {},
21
+ Label = {},
22
+ Arrow = {},
23
+ Sub = {},
24
+ SubContent = {},
25
+ Portal = {},
26
+ RadioGroup = {},
27
+ RadioItem = {},
28
+ Auxiliary = {};
29
+ return {
30
+ Menu: withStaticProperties(Menu, {
31
+ Trigger,
32
+ Content,
33
+ Item,
34
+ ItemTitle,
35
+ ItemSubtitle,
36
+ SubTrigger,
37
+ Group,
38
+ ItemIcon,
39
+ Separator,
40
+ CheckboxItem,
41
+ ItemIndicator,
42
+ ItemImage,
43
+ Label,
44
+ Arrow,
45
+ Sub,
46
+ SubContent,
47
+ Preview,
48
+ Portal,
49
+ RadioGroup,
50
+ RadioItem,
51
+ Auxiliary
52
+ })
53
+ };
54
+ }
55
+ var zeego = getZeego();
56
+ if (!zeego.isEnabled) return console.warn("Warning: Must call import '@tamagui/native/setup-zeego' at your app entry point to use native menus"), {
57
+ Menu: {}
58
+ };
59
+ var {
60
+ DropdownMenu: ZeegoDropdownMenu,
61
+ ContextMenu: ZeegoContextMenu
62
+ } = zeego.state,
63
+ isContextMenu = MenuType === "ContextMenu",
64
+ ZeegoMenu = isContextMenu ? ZeegoContextMenu : ZeegoDropdownMenu,
65
+ COMPONENT_MAP = {
66
+ SubContent: ZeegoMenu.SubContent,
67
+ Content: ZeegoMenu.Content,
68
+ Sub: ZeegoMenu.Sub,
69
+ Group: ZeegoMenu.Group,
70
+ SubTrigger: ZeegoMenu.SubTrigger
71
+ },
72
+ CONTAINER_TYPES = ["SubContent", "Content", "Sub", "Group"],
73
+ getComponentType = function (displayName) {
74
+ for (var _i = 0, _iter = ["SubContent", "SubTrigger", "Content", "Sub", "Group", "CheckboxItem"]; _i < _iter.length; _i++) {
75
+ var type = _iter[_i];
76
+ if (displayName === type || displayName.includes(`(${type})`)) return type;
77
+ }
78
+ return null;
79
+ },
80
+ isItemLike = function (props, displayName) {
81
+ return getComponentType(displayName) ? !1 : "onSelect" in props || "textValue" in props;
82
+ },
83
+ isPortal = function (displayName) {
84
+ return displayName === "Portal" || displayName.includes("Portal");
85
+ },
86
+ transformForZeego = function (children) {
87
+ var shouldReverseOnIos = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
88
+ result = [];
89
+ return React.Children.forEach(children, function (child) {
90
+ var _child_type;
91
+ if (! /* @__PURE__ */React.isValidElement(child)) {
92
+ result.push(child);
93
+ return;
94
+ }
95
+ var displayName = ((_child_type = child.type) === null || _child_type === void 0 ? void 0 : _child_type.displayName) || "",
96
+ props = child.props;
97
+ if (isPortal(displayName)) {
98
+ var portalChildren = transformForZeego(props.children, !1);
99
+ React.Children.forEach(portalChildren, function (c) {
100
+ return result.push(c);
101
+ });
102
+ return;
103
+ }
104
+ if (displayName.includes("ScrollView")) {
105
+ var scrollChildren = transformForZeego(props.children, !1);
106
+ React.Children.forEach(scrollChildren, function (c) {
107
+ return result.push(c);
108
+ });
109
+ return;
110
+ }
111
+ var componentType = getComponentType(displayName);
112
+ if (componentType === "CheckboxItem") {
113
+ var {
114
+ checked,
115
+ onCheckedChange,
116
+ value,
117
+ onValueChange,
118
+ children: _$children,
119
+ ...rest
120
+ } = props,
121
+ finalValue = value ?? (checked ? "on" : "off"),
122
+ finalOnValueChange = onValueChange ?? (onCheckedChange && function (v) {
123
+ return onCheckedChange(v === "on");
124
+ }),
125
+ cleanChildren = React.Children.map(_$children, function (child2) {
126
+ var _child_type2;
127
+ if (! /* @__PURE__ */React.isValidElement(child2)) return child2;
128
+ var childDisplayName = ((_child_type2 = child2.type) === null || _child_type2 === void 0 ? void 0 : _child_type2.displayName) || "";
129
+ return childDisplayName.includes("ItemIndicator") ? null : child2;
130
+ });
131
+ result.push(/* @__PURE__ */React.createElement(ZeegoMenu.CheckboxItem, {
132
+ ...rest,
133
+ key: child.key,
134
+ value: finalValue,
135
+ onValueChange: finalOnValueChange
136
+ }, cleanChildren));
137
+ return;
138
+ }
139
+ if (componentType) {
140
+ var {
141
+ children: childChildren,
142
+ ...restProps
143
+ } = props,
144
+ isContainer = CONTAINER_TYPES.includes(componentType),
145
+ shouldReverseChildren = componentType === "Content" || componentType === "SubContent";
146
+ result.push(/* @__PURE__ */React.createElement(COMPONENT_MAP[componentType], {
147
+ ...restProps,
148
+ key: child.key
149
+ }, isContainer ? transformForZeego(childChildren, shouldReverseChildren) : childChildren));
150
+ return;
151
+ }
152
+ if (isItemLike(props, displayName)) {
153
+ var {
154
+ children: itemChildren,
155
+ ...itemProps
156
+ } = props;
157
+ result.push(/* @__PURE__ */React.createElement(ZeegoMenu.Item, {
158
+ ...itemProps,
159
+ key: child.key
160
+ }, itemChildren));
161
+ return;
162
+ }
163
+ result.push(child);
164
+ }), isIos && shouldReverseOnIos && !isContextMenu && result.reverse(), result;
165
+ },
166
+ Trigger1 = ZeegoMenu.Trigger,
167
+ Content1 = ZeegoMenu.Content,
168
+ Item1 = ZeegoMenu.Item,
169
+ ItemTitle1 = ZeegoMenu.ItemTitle,
170
+ ItemSubtitle1 = ZeegoMenu.ItemSubtitle,
171
+ ItemIcon1 = ZeegoMenu.ItemIcon,
172
+ ItemImage1 = ZeegoMenu.ItemImage,
173
+ ItemIndicator1 = ZeegoMenu.ItemIndicator,
174
+ Group1 = ZeegoMenu.Group,
175
+ Label1 = ZeegoMenu.Label,
176
+ Separator1 = ZeegoMenu.Separator,
177
+ Sub1 = ZeegoMenu.Sub,
178
+ SubTrigger1 = ZeegoMenu.SubTrigger,
179
+ SubContent1 = ZeegoMenu.SubContent,
180
+ Portal1 = function (param) {
181
+ var {
182
+ children
183
+ } = param;
184
+ return /* @__PURE__ */_jsx(_Fragment, {
185
+ children
186
+ });
187
+ };
188
+ Portal1.displayName = "Portal";
189
+ var Arrow1 = function () {
190
+ return null;
191
+ };
192
+ Arrow1.displayName = "Arrow";
193
+ var RadioGroup1 = function (param) {
194
+ var {
195
+ children
196
+ } = param;
197
+ return /* @__PURE__ */_jsx(_Fragment, {
198
+ children
199
+ });
200
+ };
201
+ RadioGroup1.displayName = `${MenuType}RadioGroup`;
202
+ var RadioItem1 = function (param) {
203
+ var {
204
+ children
205
+ } = param;
206
+ return /* @__PURE__ */_jsx(_Fragment, {
207
+ children
208
+ });
209
+ };
210
+ RadioItem1.displayName = `${MenuType}RadioItem`;
211
+ var CheckboxItem1 = function (props) {
212
+ return null;
213
+ };
214
+ CheckboxItem1.displayName = "CheckboxItem";
215
+ var Preview1 = isContextMenu ? ZeegoContextMenu.Preview : function () {
216
+ return null;
217
+ };
218
+ Preview1.displayName = `${MenuType}Preview`;
219
+ var Auxiliary1 = isContextMenu ? ZeegoContextMenu.Auxiliary : function () {
220
+ return null;
221
+ };
222
+ Auxiliary1.displayName = `${MenuType}Auxiliary`;
223
+ var isAndroid = !isIos && !isWeb,
224
+ Menu1 = function (param) {
225
+ var {
226
+ children,
227
+ onOpenChange,
228
+ onOpenWillChange
229
+ } = param,
230
+ rootProps = {
231
+ onOpenChange
232
+ };
233
+ isContextMenu && onOpenWillChange && (rootProps.onOpenWillChange = onOpenWillChange);
234
+ var content = /* @__PURE__ */_jsx(ZeegoMenu.Root, {
235
+ ...rootProps,
236
+ children: transformForZeego(children)
237
+ });
238
+ return isAndroid ? /* @__PURE__ */_jsx(NativeMenuContext.Provider, {
239
+ value: !0,
240
+ children: content
241
+ }) : content;
242
+ };
243
+ return Menu1.displayName = MenuType, {
244
+ Menu: withStaticProperties(Menu1, {
245
+ Trigger: Trigger1,
246
+ Content: Content1,
247
+ Item: Item1,
248
+ ItemTitle: ItemTitle1,
249
+ ItemSubtitle: ItemSubtitle1,
250
+ ItemIcon: ItemIcon1,
251
+ ItemImage: ItemImage1,
252
+ ItemIndicator: ItemIndicator1,
253
+ Group: Group1,
254
+ Label: Label1,
255
+ Separator: Separator1,
256
+ Sub: Sub1,
257
+ SubTrigger: SubTrigger1,
258
+ SubContent: SubContent1,
259
+ CheckboxItem: CheckboxItem1,
260
+ Portal: Portal1,
261
+ RadioGroup: RadioGroup1,
262
+ RadioItem: RadioItem1,
263
+ Arrow: Arrow1,
264
+ Preview: Preview1,
265
+ Auxiliary: Auxiliary1
266
+ })
267
+ };
268
+ };
269
+ export { createNativeMenu };
270
+ //# sourceMappingURL=createNativeMenu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","getZeego","NativeMenuContext","isWeb","withStaticProperties","isIos","React","createNativeMenu","MenuType","Menu","Trigger","Content","Preview","Item","ItemIcon","ItemImage","SubTrigger","ItemTitle","ItemSubtitle","Group","Separator","CheckboxItem","ItemIndicator","Label","Arrow","Sub","SubContent","Portal","RadioGroup","RadioItem","Auxiliary","zeego","isEnabled","console","warn","DropdownMenu","ZeegoDropdownMenu","ContextMenu","ZeegoContextMenu","state","isContextMenu","ZeegoMenu","COMPONENT_MAP","CONTAINER_TYPES","getComponentType","displayName","_i","_iter","length","type","includes","isItemLike","props","isPortal","transformForZeego","children","shouldReverseOnIos","arguments","result","Children","forEach","child","_child_type","isValidElement","push","portalChildren","c","scrollChildren","componentType","checked","onCheckedChange","value","onValueChange","_$children","rest","finalValue","finalOnValueChange","v","cleanChildren","map","child2","_child_type2","childDisplayName","createElement","key","childChildren","restProps","isContainer","shouldReverseChildren","itemChildren","itemProps","reverse","Trigger1","Content1","Item1","ItemTitle1","ItemSubtitle1","ItemIcon1","ItemImage1","ItemIndicator1","Group1","Label1","Separator1","Sub1","SubTrigger1","SubContent1","Portal1","param","Arrow1","RadioGroup1","RadioItem1","CheckboxItem1","Preview1"],"sources":["../../../src/createNativeMenu/createNativeMenu.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=createNativeMenuTypes.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=createNativeMenuTypes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=createNativeMenuTypes.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ import React, {
2
+ Children,
3
+ cloneElement,
4
+ isValidElement
5
+ } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function flattenChildrenKeyless(children) {
8
+ return React.Children.toArray(children).reduce((flatChildren, child) => child.type === React.Fragment ? flatChildren.concat(
9
+ flattenChildren(child.props.children)
10
+ ) : (flatChildren.push(child), flatChildren), []);
11
+ }
12
+ function flattenChildren(children, componentNamesToIgnore, depth = 0, keys = []) {
13
+ return Children.toArray(children).flatMap((elem) => isValidElement(elem) && typeof elem?.type == "function" && componentNamesToIgnore?.some(
14
+ (skipComponentName) => elem.type.displayName.includes(skipComponentName)
15
+ ) ? elem.props.children : elem).reduce((acc, node, nodeIndex) => (node.type === React.Fragment ? acc.push.apply(
16
+ acc,
17
+ flattenChildren(
18
+ node.props.children,
19
+ componentNamesToIgnore,
20
+ depth + 1,
21
+ keys.concat(node.key || nodeIndex)
22
+ )
23
+ ) : isValidElement(node) ? acc.push(
24
+ cloneElement(node, {
25
+ key: keys.concat(String(node.key)).join(".")
26
+ })
27
+ ) : (typeof node == "string" || typeof node == "number") && acc.push(node), acc), []);
28
+ }
29
+ const pickChildren = (_children, targetChild, componentNamesToIgnore) => {
30
+ const children = flattenChildren(_children, componentNamesToIgnore), target = [], withoutTargetChildren = React.Children.map(children, (item) => isValidElement(item) && isInstanceOfComponent(item, targetChild) ? (target.push(cloneElement(item)), null) : item);
31
+ return {
32
+ targetChildren: target.length >= 0 ? target : void 0,
33
+ withoutTargetChildren
34
+ };
35
+ }, isInstanceOfComponent = (element, targetElement) => element?.type === targetElement || typeof element?.type == "function" && (element?.type?.displayName === targetElement.displayName || element?.type?.displayName === targetElement.displayName + "Wrapper"), filterNull = (t) => t != null, create = (Component, displayName) => {
36
+ const MenuComponent = (props) => /* @__PURE__ */ jsx(Component, { ...props });
37
+ return MenuComponent.displayName = displayName, MenuComponent;
38
+ };
39
+ export {
40
+ create,
41
+ filterNull,
42
+ flattenChildren,
43
+ flattenChildrenKeyless,
44
+ isInstanceOfComponent,
45
+ pickChildren
46
+ };
47
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/createNativeMenu/utils.tsx"],
4
+ "mappings": "AA0BA,OAAO;AAAA,EACL;AAAA,EAGA;AAAA,EACA;AAAA,OACK;AAgHI;AA5GJ,SAAS,uBAAuB,UAAsC;AAE3E,SADsB,MAAM,SAAS,QAAQ,QAAQ,EAChC,OAAO,CAAC,cAA+B,UACrD,MAAkC,SAAS,MAAM,WAC7C,aAAa;AAAA,IAClB,gBAAiB,MAAkC,MAAM,QAAQ;AAAA,EACnE,KAEF,aAAa,KAAK,KAAK,GAChB,eACN,CAAC,CAAC;AACP;AAEO,SAAS,gBACd,UACA,wBACA,QAAQ,GACR,OAA4B,CAAC,GAChB;AACb,SAAO,SAAS,QAAQ,QAAQ,EAC7B,QAAQ,CAAC,SACJ,eAAe,IAAI,KAEnB,OAAQ,MAAc,QAAQ,cAC9B,wBAAwB;AAAA,IAAK,CAAC,sBAC3B,KAAK,KAAa,YAAY,SAAS,iBAAiB;AAAA,EAC3D,IAEQ,KAAa,MAAM,WAGxB,IACR,EACA,OAAO,CAAC,KAAkB,MAAW,eAChC,KAAK,SAAS,MAAM,WACtB,IAAI,KAAK;AAAA,IACP;AAAA,IACA;AAAA,MACE,KAAK,MAAM;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,MACR,KAAK,OAAO,KAAK,OAAO,SAAS;AAAA,IACnC;AAAA,EACF,IAEI,eAAe,IAAI,IACrB,IAAI;AAAA,IACF,aAAa,MAAM;AAAA,MACjB,KAAK,KAAK,OAAO,OAAO,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG;AAAA,IAC7C,CAAC;AAAA,EACH,KACS,OAAO,QAAS,YAAY,OAAO,QAAS,aACrD,IAAI,KAAK,IAAI,GAGV,MACN,CAAC,CAAC;AACT;AAEO,MAAM,eAAe,CAC1B,WACA,aACA,2BACG;AACH,QAAM,WAAW,gBAAgB,WAAW,sBAAsB,GAC5D,SAAgC,CAAC,GACjC,wBAAwB,MAAM,SAAS,IAAI,UAAU,CAAC,SACrD,eAAe,IAAI,KACpB,sBAAsB,MAAM,WAAW,KAEzC,OAAO,KAAK,aAAa,IAAI,CAAC,GACvB,QAJyB,IAOnC;AAID,SAAO;AAAA,IACL,gBAHqB,OAAO,UAAU,IAAI,SAAS;AAAA,IAInD;AAAA,EACF;AACF,GAEa,wBAAwB,CACnC,SACA,kBAGG,SAAiB,SAAS,iBAC1B,OAAQ,SAAiB,QAAQ,eAC9B,SAAiB,MAAM,gBAAiB,cAAsB,eAC7D,SAAiB,MAAM,gBACrB,cAAsB,cAAc,YAIlC,aAAa,CACxB,MAEO,KAAK,MAGD,SAAS,CACpB,WACA,gBACG;AACH,QAAM,gBAAiC,CAAC,UAC/B,oBAAC,aAAW,GAAI,OAAe;AAExC,uBAAc,cAAc,aAErB;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,29 @@
1
+ import React, { Children, cloneElement, isValidElement } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ function flattenChildrenKeyless(children) {
4
+ return React.Children.toArray(children).reduce((flatChildren, child) => child.type === React.Fragment ? flatChildren.concat(flattenChildren(child.props.children)) : (flatChildren.push(child), flatChildren), []);
5
+ }
6
+ function flattenChildren(children, componentNamesToIgnore, depth = 0, keys = []) {
7
+ return Children.toArray(children).flatMap(elem => isValidElement(elem) && typeof elem?.type == "function" && componentNamesToIgnore?.some(skipComponentName => elem.type.displayName.includes(skipComponentName)) ? elem.props.children : elem).reduce((acc, node, nodeIndex) => (node.type === React.Fragment ? acc.push.apply(acc, flattenChildren(node.props.children, componentNamesToIgnore, depth + 1, keys.concat(node.key || nodeIndex))) : isValidElement(node) ? acc.push(cloneElement(node, {
8
+ key: keys.concat(String(node.key)).join(".")
9
+ })) : (typeof node == "string" || typeof node == "number") && acc.push(node), acc), []);
10
+ }
11
+ const pickChildren = (_children, targetChild, componentNamesToIgnore) => {
12
+ const children = flattenChildren(_children, componentNamesToIgnore),
13
+ target = [],
14
+ withoutTargetChildren = React.Children.map(children, item => isValidElement(item) && isInstanceOfComponent(item, targetChild) ? (target.push(cloneElement(item)), null) : item);
15
+ return {
16
+ targetChildren: target.length >= 0 ? target : void 0,
17
+ withoutTargetChildren
18
+ };
19
+ },
20
+ isInstanceOfComponent = (element, targetElement) => element?.type === targetElement || typeof element?.type == "function" && (element?.type?.displayName === targetElement.displayName || element?.type?.displayName === targetElement.displayName + "Wrapper"),
21
+ filterNull = t => t != null,
22
+ create = (Component, displayName) => {
23
+ const MenuComponent = props => /* @__PURE__ */jsx(Component, {
24
+ ...props
25
+ });
26
+ return MenuComponent.displayName = displayName, MenuComponent;
27
+ };
28
+ export { create, filterNull, flattenChildren, flattenChildrenKeyless, isInstanceOfComponent, pickChildren };
29
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Children","cloneElement","isValidElement","jsx","flattenChildrenKeyless","children","toArray","reduce","flatChildren","child","type","Fragment","concat","flattenChildren","props","push","componentNamesToIgnore","depth","keys","flatMap","elem","some","skipComponentName","displayName","includes","acc","node","nodeIndex","apply","key","String","join","pickChildren","_children","targetChild","target","withoutTargetChildren","map","item","isInstanceOfComponent","targetChildren","length","element","targetElement","filterNull","t","create","Component","MenuComponent"],"sources":["../../../src/createNativeMenu/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { Children, cloneElement, isValidElement } from "react";
3
+ function flattenChildrenKeyless(children) {
4
+ var childrenArray = React.Children.toArray(children);
5
+ return childrenArray.reduce(function (flatChildren, child) {
6
+ return child.type === React.Fragment ? flatChildren.concat(flattenChildren(child.props.children)) : (flatChildren.push(child), flatChildren);
7
+ }, []);
8
+ }
9
+ function flattenChildren(children, componentNamesToIgnore) {
10
+ var depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0,
11
+ keys = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
12
+ return Children.toArray(children).flatMap(function (elem) {
13
+ return /* @__PURE__ */isValidElement(elem) && typeof elem?.type == "function" && componentNamesToIgnore?.some(function (skipComponentName) {
14
+ return elem.type.displayName.includes(skipComponentName);
15
+ }) ? elem.props.children : elem;
16
+ }).reduce(function (acc, node, nodeIndex) {
17
+ return node.type === React.Fragment ? acc.push.apply(acc, flattenChildren(node.props.children, componentNamesToIgnore, depth + 1, keys.concat(node.key || nodeIndex))) : /* @__PURE__ */isValidElement(node) ? acc.push(/* @__PURE__ */cloneElement(node, {
18
+ key: keys.concat(String(node.key)).join(".")
19
+ })) : (typeof node == "string" || typeof node == "number") && acc.push(node), acc;
20
+ }, []);
21
+ }
22
+ var pickChildren = function (_children, targetChild, componentNamesToIgnore) {
23
+ var children = flattenChildren(_children, componentNamesToIgnore),
24
+ target = [],
25
+ withoutTargetChildren = React.Children.map(children, function (item) {
26
+ return /* @__PURE__ */isValidElement(item) && isInstanceOfComponent(item, targetChild) ? (target.push(/* @__PURE__ */cloneElement(item)), null) : item;
27
+ }),
28
+ targetChildren = target.length >= 0 ? target : void 0;
29
+ return {
30
+ targetChildren,
31
+ withoutTargetChildren
32
+ };
33
+ },
34
+ isInstanceOfComponent = function (element, targetElement) {
35
+ var _element_type,
36
+ _element_type1,
37
+ matches = element?.type === targetElement || typeof element?.type == "function" && ((element == null || (_element_type = element.type) === null || _element_type === void 0 ? void 0 : _element_type.displayName) === targetElement.displayName || (element == null || (_element_type1 = element.type) === null || _element_type1 === void 0 ? void 0 : _element_type1.displayName) === targetElement.displayName + "Wrapper");
38
+ return matches;
39
+ },
40
+ filterNull = function (t) {
41
+ return t != null;
42
+ },
43
+ create = function (Component, displayName) {
44
+ var MenuComponent = function (props) {
45
+ return /* @__PURE__ */_jsx(Component, {
46
+ ...props
47
+ });
48
+ };
49
+ return MenuComponent.displayName = displayName, MenuComponent;
50
+ };
51
+ export { create, filterNull, flattenChildren, flattenChildrenKeyless, isInstanceOfComponent, pickChildren };
52
+ //# sourceMappingURL=utils.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","React","Children","cloneElement","isValidElement","flattenChildrenKeyless","children","childrenArray","toArray","reduce","flatChildren","child","type","Fragment","concat","flattenChildren","props","push","componentNamesToIgnore","depth","arguments","length","keys","flatMap","elem","some","skipComponentName","displayName","includes","acc","node","nodeIndex","apply","key","String","join","pickChildren","_children","targetChild","target","withoutTargetChildren","map","item","isInstanceOfComponent","targetChildren","element","targetElement","_element_type","_element_type1","matches","filterNull","t","create","Component","MenuComponent"],"sources":["../../../src/createNativeMenu/utils.tsx"],"sourcesContent":[null],"mappings":"AA0BA,SAAOA,GAAA,IAAAC,IAAA;AAAA,OACLC,KAAA,IAAAC,QAAA,EAAAC,YAAA,EAAAC,cAAA;AAAA,SAGAC,uBAAAC,QAAA;EACA,IAAAC,aAAA,GAAAN,KAAA,CAAAC,QAAA,CAAAM,OAAA,CAAAF,QAAA;EAAA,OACKC,aAAA,CAAAE,MAAA,WAAAC,YAAA,EAAAC,KAAA;IAgHI,OAAAA,KAAA,CAAAC,IAAA,KAAAX,KAAA,CAAAY,QAAA,GAAAH,YAAA,CAAAI,MAAA,CAAAC,eAAA,CAAAJ,KAAA,CAAAK,KAAA,CAAAV,QAAA,MAAAI,YAAA,CAAAO,IAAA,CAAAN,KAAA,GAAAD,YAAA;EA5GJ;AAEL;AAEwB,SAClBK,eAAiBA,CAAAT,QAAwC,EAAAY,sBAAQ;EACnE,IAAAC,KAEF,GAAAC,SAAa,CAAAC,MAAU,GAChB,KAAAD,SAAA,CACN,CAAC,CAAC,cAAAA,SAAA;IAAAE,IAAA,GAAAF,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACP,OAAAlB,QAAA,CAAAM,OAAA,CAAAF,QAAA,EAAAiB,OAAA,WAAAC,IAAA;IAEO,OAAS,eACdpB,cACA,CAAAoB,IAAA,YAAAA,IACA,EAAAZ,IAAQ,IACR,UACa,IAAAM,sBAAA,EAAAO,IAAA,WAAAC,iBAAA;MACb,OAAOF,IAAA,CAASZ,IAAA,CAAAe,WAAgB,CAAAC,QAC7B,CAAQF,iBACH;IAG6B,CAAC,IAAAF,IAAA,CAAAR,KAAA,CAAAV,QAC3B,GAAAkB,IAAK;EACR,GAAAf,MAEqB,WAAMoB,GAAA,EAAAC,IAGxB,EACRC,SACO,EAAC;IAGH,OAAAD,IAAA,CAAAlB,IAAA,KAAAX,KAAA,CAAAY,QAAA,GAAAgB,GAAA,CAAAZ,IAAA,CAAAe,KAAA,CAAAH,GAAA,EAAAd,eAAA,CAAAe,IAAA,CAAAd,KAAA,CAAAV,QAAA,EAAAY,sBAAA,EAAAC,KAAA,MAAAG,IAAA,CAAAR,MAAA,CAAAgB,IAAA,CAAAG,GAAA,IAAAF,SAAA,qBAAA3B,cAAA,CAAA0B,IAAA,IAAAD,GAAA,CAAAZ,IAAA,gBAAAd,YAAA,CAAA2B,IAAA;MACAG,GAAA,EAAAX,IAAA,CAAAR,MAAA,CAAAoB,MAAA,CAAAJ,IAAA,CAAAG,GAAA,GAAAE,IAAA;IAAA,EACE,KAAK,OAAML,IAAA,uBAAAA,IAAA,iBAAAD,GAAA,CAAAZ,IAAA,CAAAa,IAAA,GAAAD,GAAA;EAAA,KACX;AAAA;AACQ,IAAAO,YACH,GAAO,SAAAA,CAAKC,SAAO,EAASC,WAAA,EAAApB,sBAAA;IAAA,IACnCZ,QAAA,GAAAS,eAAA,CAAAsB,SAAA,EAAAnB,sBAAA;MAAAqB,MAAA;MAAAC,qBAAA,GAAAvC,KAAA,CAAAC,QAAA,CAAAuC,GAAA,CAAAnC,QAAA,YAAAoC,IAAA;QACF,OAEI,eAAmBtC,cACjB,CAAAsC,IAAA,KAAAC,qBAAA,CAAAD,IAAA,EAAAJ,WAAA,KAAAC,MAAA,CAAAtB,IAAA,gBAAAd,YAAA,CAAAuC,IAAA,YAAAA,IAAA;MAAA,EACF;MAAAE,cAAa,GAAML,MAAA,CAAAlB,MAAA,QAAAkB,MAAA;IAAA,OACjB;MACFK,cAAC;MACHJ;IAOV;EAEO;EAAAG,qBACL,YAAAA,CACAE,OAAA,EAAAC,aACA;IAEA,IAAAC,aAAiB;MAAAC,cAAgB;MAAAC,OAAA,GAAWJ,OAAA,EAAAjC,IAAA,KAAAkC,aACtC,IAAiC,OACjCD,OAAA,EAAAjC,IAAA,cAA8B,MAAAiC,OAAa,QAAU,IAAC,CAAAE,aACrD,GAAAF,OAAe,CAAIjC,IAAA,MACpB,QAAAmC,aAAsB,KAAM,SAAW,KAEzC,IAAAA,aAAY,CAAApB,WAAkB,MACvBmB,aAGV,CAAAnB,WAAA,KAAAkB,OAAA,aAAAG,cAAA,GAAAH,OAAA,CAAAjC,IAAA,cAAAoC,cAAA,uBAAAA,cAAA,CAAArB,WAAA,MAAAmB,aAAA,CAAAnB,WAAA;IAID,OAAOsB,OAAA;EAAA;EAAAC,UACL,YAAAA,CAHqBC,CAAA,EAAO;IAAuB,OAInDA,CAAA;EAAA;EACFC,MAAA,YAAAA,CAAAC,SAAA,EAAA1B,WAAA;IACF,IAEa2B,aAAA,YAAAA,CACXtC,KAAA,EACA;MAqBA,OAAM,eAAkChB,IAAA,CAAAqD,SAC/B;QAET,GAAArC;MAGF","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { isWeb } from "@tamagui/web";
2
+ import { jsx } from "react/jsx-runtime";
3
+ function withNativeMenu({
4
+ Component,
5
+ NativeComponent
6
+ }) {
7
+ if (isWeb || !NativeComponent)
8
+ return Component;
9
+ const Menu = (props) => /* @__PURE__ */ jsx(NativeComponent, { ...props });
10
+ return Menu.displayName = NativeComponent.displayName || Component?.displayName, Menu;
11
+ }
12
+ export {
13
+ withNativeMenu
14
+ };
15
+ //# sourceMappingURL=withNativeMenu.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/createNativeMenu/withNativeMenu.tsx"],
4
+ "mappings": "AAAA,SAAS,aAAa;AA+BX;AA3BJ,SAAS,eAKd;AAAA,EACA;AAAA,EACA;AACF,GAK+C;AAS7C,MANI,SAMA,CAAC;AACH,WAAO;AAGT,QAAM,OAAwB,CAAC,UACtB,oBAAC,mBAAiB,GAAI,OAAe;AAI9C,cAAK,cAAc,gBAAgB,eAAe,WAAW,aAEtD;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,14 @@
1
+ import { isWeb } from "@tamagui/web";
2
+ import { jsx } from "react/jsx-runtime";
3
+ function withNativeMenu({
4
+ Component,
5
+ NativeComponent
6
+ }) {
7
+ if (isWeb || !NativeComponent) return Component;
8
+ const Menu = props => /* @__PURE__ */jsx(NativeComponent, {
9
+ ...props
10
+ });
11
+ return Menu.displayName = NativeComponent.displayName || Component?.displayName, Menu;
12
+ }
13
+ export { withNativeMenu };
14
+ //# sourceMappingURL=withNativeMenu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isWeb","jsx","withNativeMenu","Component","NativeComponent","Menu","props","displayName"],"sources":["../../../src/createNativeMenu/withNativeMenu.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AA+BX,SAAAC,GAAA;AA3BJ,SAASC,eAKd;EACAC,SAAA;EACAC;AACF,GAK+C;EAS7C,IANIJ,KAAA,IAMA,CAACI,eAAA,EACH,OAAOD,SAAA;EAGT,MAAME,IAAA,GAAyBC,KAAA,IACtB,eAAAL,GAAA,CAACG,eAAA;IAAiB,GAAIE;EAAA,CAAe;EAI9C,OAAAD,IAAA,CAAKE,WAAA,GAAcH,eAAA,CAAgBG,WAAA,IAAeJ,SAAA,EAAWI,WAAA,EAEtDF,IAAA;AACT","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { isWeb } from "@tamagui/web";
3
+ function withNativeMenu(param) {
4
+ var {
5
+ Component,
6
+ NativeComponent
7
+ } = param;
8
+ if (isWeb || !NativeComponent) return Component;
9
+ var Menu = function (props) {
10
+ return /* @__PURE__ */_jsx(NativeComponent, {
11
+ ...props
12
+ });
13
+ };
14
+ return Menu.displayName = NativeComponent.displayName || Component?.displayName, Menu;
15
+ }
16
+ export { withNativeMenu };
17
+ //# sourceMappingURL=withNativeMenu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","isWeb","withNativeMenu","param","Component","NativeComponent","Menu","props"],"sources":["../../../src/createNativeMenu/withNativeMenu.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,QAAa;AA+BX,SAAAC,KAAA;AA3BJ,SAASC,eAKdC,KAAA;EACA;IAAAC,SAAA;IAAAC;EAAA,IAAAF,KAAA;EACA,IAAAF,KAAA,KAAAI,eAAA,EAM6C,OAAAD,SAAA;EAS7C,IANIE,IAAA,YAAAA,CAMCC,KAAA;IACH,OAAO,eAAAP,IAAA,CAAAK,eAAA;MAGT,GAAME;IAKN;EAGF","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ export * from "./createBaseMenu";
2
+ export * from "./createNativeMenu/createNativeMenu";
3
+ export * from "./createNativeMenu/withNativeMenu";
4
+ import { MenuPredefined } from "./MenuPredefined";
5
+ export {
6
+ MenuPredefined
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,sBAAsB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./createBaseMenu.mjs";
2
+ export * from "./createNativeMenu/createNativeMenu.mjs";
3
+ export * from "./createNativeMenu/withNativeMenu.mjs";
4
+ import { MenuPredefined } from "./MenuPredefined.mjs";
5
+ export { MenuPredefined };
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MenuPredefined"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAASA,cAAA,QAAsB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ export * from "./createBaseMenu.native.js";
2
+ export * from "./createNativeMenu/createNativeMenu.native.js";
3
+ export * from "./createNativeMenu/withNativeMenu.native.js";
4
+ import { MenuPredefined } from "./MenuPredefined.native.js";
5
+ export { MenuPredefined };
6
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MenuPredefined"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAASA,cAAA,QAAsB","ignoreList":[]}