@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.
Files changed (162) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/MenuPredefined.cjs +182 -0
  3. package/dist/cjs/MenuPredefined.js +162 -0
  4. package/dist/cjs/MenuPredefined.js.map +6 -0
  5. package/dist/cjs/MenuPredefined.native.js +185 -0
  6. package/dist/cjs/MenuPredefined.native.js.map +1 -0
  7. package/dist/cjs/createBaseMenu.cjs +927 -0
  8. package/dist/cjs/createBaseMenu.js +724 -0
  9. package/dist/cjs/createBaseMenu.js.map +6 -0
  10. package/dist/cjs/createBaseMenu.native.js +1105 -0
  11. package/dist/cjs/createBaseMenu.native.js.map +1 -0
  12. package/dist/cjs/createNativeMenu/createNativeMenu.cjs +224 -0
  13. package/dist/cjs/createNativeMenu/createNativeMenu.js +172 -0
  14. package/dist/cjs/createNativeMenu/createNativeMenu.js.map +6 -0
  15. package/dist/cjs/createNativeMenu/createNativeMenu.native.js +287 -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/index.cjs +19 -0
  23. package/dist/cjs/createNativeMenu/index.js +16 -0
  24. package/dist/cjs/createNativeMenu/index.js.map +6 -0
  25. package/dist/cjs/createNativeMenu/index.native.js +22 -0
  26. package/dist/cjs/createNativeMenu/index.native.js.map +1 -0
  27. package/dist/cjs/createNativeMenu/utils.cjs +68 -0
  28. package/dist/cjs/createNativeMenu/utils.js +66 -0
  29. package/dist/cjs/createNativeMenu/utils.js.map +6 -0
  30. package/dist/cjs/createNativeMenu/utils.native.js +94 -0
  31. package/dist/cjs/createNativeMenu/utils.native.js.map +1 -0
  32. package/dist/cjs/createNativeMenu/withNativeMenu.cjs +37 -0
  33. package/dist/cjs/createNativeMenu/withNativeMenu.js +30 -0
  34. package/dist/cjs/createNativeMenu/withNativeMenu.js.map +6 -0
  35. package/dist/cjs/createNativeMenu/withNativeMenu.native.js +43 -0
  36. package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -0
  37. package/dist/cjs/index.cjs +30 -0
  38. package/dist/cjs/index.js +24 -0
  39. package/dist/cjs/index.js.map +6 -0
  40. package/dist/cjs/index.native.js +33 -0
  41. package/dist/cjs/index.native.js.map +1 -0
  42. package/dist/esm/MenuPredefined.js +147 -0
  43. package/dist/esm/MenuPredefined.js.map +6 -0
  44. package/dist/esm/MenuPredefined.mjs +159 -0
  45. package/dist/esm/MenuPredefined.mjs.map +1 -0
  46. package/dist/esm/MenuPredefined.native.js +159 -0
  47. package/dist/esm/MenuPredefined.native.js.map +1 -0
  48. package/dist/esm/createBaseMenu.js +729 -0
  49. package/dist/esm/createBaseMenu.js.map +6 -0
  50. package/dist/esm/createBaseMenu.mjs +893 -0
  51. package/dist/esm/createBaseMenu.mjs.map +1 -0
  52. package/dist/esm/createBaseMenu.native.js +1068 -0
  53. package/dist/esm/createBaseMenu.native.js.map +1 -0
  54. package/dist/esm/createNativeMenu/createNativeMenu.js +150 -0
  55. package/dist/esm/createNativeMenu/createNativeMenu.js.map +6 -0
  56. package/dist/esm/createNativeMenu/createNativeMenu.mjs +190 -0
  57. package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -0
  58. package/dist/esm/createNativeMenu/createNativeMenu.native.js +250 -0
  59. package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -0
  60. package/dist/esm/createNativeMenu/createNativeMenuTypes.js +1 -0
  61. package/dist/esm/createNativeMenu/createNativeMenuTypes.js.map +6 -0
  62. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs +2 -0
  63. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
  64. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js +2 -0
  65. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
  66. package/dist/esm/createNativeMenu/index.js +3 -0
  67. package/dist/esm/createNativeMenu/index.js.map +6 -0
  68. package/dist/esm/createNativeMenu/index.mjs +3 -0
  69. package/dist/esm/createNativeMenu/index.mjs.map +1 -0
  70. package/dist/esm/createNativeMenu/index.native.js +3 -0
  71. package/dist/esm/createNativeMenu/index.native.js.map +1 -0
  72. package/dist/esm/createNativeMenu/utils.js +47 -0
  73. package/dist/esm/createNativeMenu/utils.js.map +6 -0
  74. package/dist/esm/createNativeMenu/utils.mjs +29 -0
  75. package/dist/esm/createNativeMenu/utils.mjs.map +1 -0
  76. package/dist/esm/createNativeMenu/utils.native.js +52 -0
  77. package/dist/esm/createNativeMenu/utils.native.js.map +1 -0
  78. package/dist/esm/createNativeMenu/withNativeMenu.js +15 -0
  79. package/dist/esm/createNativeMenu/withNativeMenu.js.map +6 -0
  80. package/dist/esm/createNativeMenu/withNativeMenu.mjs +14 -0
  81. package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -0
  82. package/dist/esm/createNativeMenu/withNativeMenu.native.js +17 -0
  83. package/dist/esm/createNativeMenu/withNativeMenu.native.js.map +1 -0
  84. package/dist/esm/index.js +8 -0
  85. package/dist/esm/index.js.map +6 -0
  86. package/dist/esm/index.mjs +6 -0
  87. package/dist/esm/index.mjs.map +1 -0
  88. package/dist/esm/index.native.js +6 -0
  89. package/dist/esm/index.native.js.map +1 -0
  90. package/dist/jsx/MenuPredefined.js +147 -0
  91. package/dist/jsx/MenuPredefined.js.map +6 -0
  92. package/dist/jsx/MenuPredefined.mjs +159 -0
  93. package/dist/jsx/MenuPredefined.mjs.map +1 -0
  94. package/dist/jsx/MenuPredefined.native.js +185 -0
  95. package/dist/jsx/MenuPredefined.native.js.map +1 -0
  96. package/dist/jsx/createBaseMenu.js +729 -0
  97. package/dist/jsx/createBaseMenu.js.map +6 -0
  98. package/dist/jsx/createBaseMenu.mjs +893 -0
  99. package/dist/jsx/createBaseMenu.mjs.map +1 -0
  100. package/dist/jsx/createBaseMenu.native.js +1105 -0
  101. package/dist/jsx/createBaseMenu.native.js.map +1 -0
  102. package/dist/jsx/createNativeMenu/createNativeMenu.js +150 -0
  103. package/dist/jsx/createNativeMenu/createNativeMenu.js.map +6 -0
  104. package/dist/jsx/createNativeMenu/createNativeMenu.mjs +190 -0
  105. package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -0
  106. package/dist/jsx/createNativeMenu/createNativeMenu.native.js +287 -0
  107. package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -0
  108. package/dist/jsx/createNativeMenu/createNativeMenuTypes.js +1 -0
  109. package/dist/jsx/createNativeMenu/createNativeMenuTypes.js.map +6 -0
  110. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs +2 -0
  111. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs.map +1 -0
  112. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +19 -0
  113. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -0
  114. package/dist/jsx/createNativeMenu/index.js +3 -0
  115. package/dist/jsx/createNativeMenu/index.js.map +6 -0
  116. package/dist/jsx/createNativeMenu/index.mjs +3 -0
  117. package/dist/jsx/createNativeMenu/index.mjs.map +1 -0
  118. package/dist/jsx/createNativeMenu/index.native.js +22 -0
  119. package/dist/jsx/createNativeMenu/index.native.js.map +1 -0
  120. package/dist/jsx/createNativeMenu/utils.js +47 -0
  121. package/dist/jsx/createNativeMenu/utils.js.map +6 -0
  122. package/dist/jsx/createNativeMenu/utils.mjs +29 -0
  123. package/dist/jsx/createNativeMenu/utils.mjs.map +1 -0
  124. package/dist/jsx/createNativeMenu/utils.native.js +94 -0
  125. package/dist/jsx/createNativeMenu/utils.native.js.map +1 -0
  126. package/dist/jsx/createNativeMenu/withNativeMenu.js +15 -0
  127. package/dist/jsx/createNativeMenu/withNativeMenu.js.map +6 -0
  128. package/dist/jsx/createNativeMenu/withNativeMenu.mjs +14 -0
  129. package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -0
  130. package/dist/jsx/createNativeMenu/withNativeMenu.native.js +43 -0
  131. package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -0
  132. package/dist/jsx/index.js +8 -0
  133. package/dist/jsx/index.js.map +6 -0
  134. package/dist/jsx/index.mjs +6 -0
  135. package/dist/jsx/index.mjs.map +1 -0
  136. package/dist/jsx/index.native.js +33 -0
  137. package/dist/jsx/index.native.js.map +1 -0
  138. package/package.json +80 -0
  139. package/src/MenuPredefined.tsx +195 -0
  140. package/src/createBaseMenu.tsx +1703 -0
  141. package/src/createNativeMenu/createNativeMenu.tsx +372 -0
  142. package/src/createNativeMenu/createNativeMenuTypes.ts +214 -0
  143. package/src/createNativeMenu/index.tsx +7 -0
  144. package/src/createNativeMenu/utils.tsx +150 -0
  145. package/src/createNativeMenu/withNativeMenu.tsx +38 -0
  146. package/src/index.tsx +9 -0
  147. package/types/MenuPredefined.d.ts +28 -0
  148. package/types/MenuPredefined.d.ts.map +1 -0
  149. package/types/createBaseMenu.d.ts +207 -0
  150. package/types/createBaseMenu.d.ts.map +1 -0
  151. package/types/createNativeMenu/createNativeMenu.d.ts +42 -0
  152. package/types/createNativeMenu/createNativeMenu.d.ts.map +1 -0
  153. package/types/createNativeMenu/createNativeMenuTypes.d.ts +188 -0
  154. package/types/createNativeMenu/createNativeMenuTypes.d.ts.map +1 -0
  155. package/types/createNativeMenu/index.d.ts +4 -0
  156. package/types/createNativeMenu/index.d.ts.map +1 -0
  157. package/types/createNativeMenu/utils.d.ts +38 -0
  158. package/types/createNativeMenu/utils.d.ts.map +1 -0
  159. package/types/createNativeMenu/withNativeMenu.d.ts +9 -0
  160. package/types/createNativeMenu/withNativeMenu.d.ts.map +1 -0
  161. package/types/index.d.ts +6 -0
  162. package/types/index.d.ts.map +1 -0
@@ -0,0 +1,250 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { isWeb, withStaticProperties, isIos } from "@tamagui/web";
3
+ import React from "react";
4
+ var createNativeMenu = function (MenuType) {
5
+ if (isWeb) {
6
+ var Menu = {},
7
+ Trigger = {},
8
+ Content = {},
9
+ Preview = {},
10
+ Item = {},
11
+ ItemIcon = {},
12
+ ItemImage = {},
13
+ SubTrigger = {},
14
+ ItemTitle = {},
15
+ ItemSubtitle = {},
16
+ Group = {},
17
+ Separator = {},
18
+ CheckboxItem = {},
19
+ ItemIndicator = {},
20
+ Label = {},
21
+ Arrow = {},
22
+ Sub = {},
23
+ SubContent = {},
24
+ Portal = {},
25
+ RadioGroup = {},
26
+ RadioItem = {},
27
+ Auxiliary = {};
28
+ return {
29
+ Menu: withStaticProperties(Menu, {
30
+ Trigger,
31
+ Content,
32
+ Item,
33
+ ItemTitle,
34
+ ItemSubtitle,
35
+ SubTrigger,
36
+ Group,
37
+ ItemIcon,
38
+ Separator,
39
+ CheckboxItem,
40
+ ItemIndicator,
41
+ ItemImage,
42
+ Label,
43
+ Arrow,
44
+ Sub,
45
+ SubContent,
46
+ Preview,
47
+ Portal,
48
+ RadioGroup,
49
+ RadioItem,
50
+ Auxiliary
51
+ })
52
+ };
53
+ }
54
+ var ZeegoDropdownMenu = require("zeego/dropdown-menu"),
55
+ ZeegoContextMenu = require("zeego/context-menu"),
56
+ isContextMenu = MenuType === "ContextMenu",
57
+ ZeegoMenu = isContextMenu ? ZeegoContextMenu : ZeegoDropdownMenu,
58
+ COMPONENT_MAP = {
59
+ SubContent: ZeegoMenu.SubContent,
60
+ Content: ZeegoMenu.Content,
61
+ Sub: ZeegoMenu.Sub,
62
+ Group: ZeegoMenu.Group,
63
+ SubTrigger: ZeegoMenu.SubTrigger
64
+ },
65
+ CONTAINER_TYPES = ["SubContent", "Content", "Sub", "Group"],
66
+ getComponentType = function (displayName) {
67
+ for (var _i = 0, _iter = ["SubContent", "SubTrigger", "Content", "Sub", "Group", "CheckboxItem"]; _i < _iter.length; _i++) {
68
+ var type = _iter[_i];
69
+ if (displayName === type || displayName.includes(`(${type})`)) return type;
70
+ }
71
+ return null;
72
+ },
73
+ isItemLike = function (props, displayName) {
74
+ return getComponentType(displayName) ? !1 : "onSelect" in props || "textValue" in props;
75
+ },
76
+ isPortal = function (displayName) {
77
+ return displayName === "Portal" || displayName.includes("Portal");
78
+ },
79
+ transformForZeego = function (children) {
80
+ var shouldReverseOnIos = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
81
+ result = [];
82
+ return React.Children.forEach(children, function (child) {
83
+ var _child_type;
84
+ if (! /* @__PURE__ */React.isValidElement(child)) {
85
+ result.push(child);
86
+ return;
87
+ }
88
+ var displayName = ((_child_type = child.type) === null || _child_type === void 0 ? void 0 : _child_type.displayName) || "",
89
+ props = child.props;
90
+ if (isPortal(displayName)) {
91
+ var portalChildren = transformForZeego(props.children, !1);
92
+ React.Children.forEach(portalChildren, function (c) {
93
+ return result.push(c);
94
+ });
95
+ return;
96
+ }
97
+ var componentType = getComponentType(displayName);
98
+ if (componentType === "CheckboxItem") {
99
+ var {
100
+ checked,
101
+ onCheckedChange,
102
+ value,
103
+ onValueChange,
104
+ children: _$children,
105
+ ...rest
106
+ } = props,
107
+ finalValue = value ?? (checked ? "on" : "off"),
108
+ finalOnValueChange = onValueChange ?? (onCheckedChange && function (v) {
109
+ return onCheckedChange(v === "on");
110
+ }),
111
+ cleanChildren = React.Children.map(_$children, function (child2) {
112
+ var _child_type2;
113
+ if (! /* @__PURE__ */React.isValidElement(child2)) return child2;
114
+ var childDisplayName = ((_child_type2 = child2.type) === null || _child_type2 === void 0 ? void 0 : _child_type2.displayName) || "";
115
+ return childDisplayName.includes("ItemIndicator") ? null : child2;
116
+ });
117
+ result.push(/* @__PURE__ */React.createElement(ZeegoMenu.CheckboxItem, {
118
+ ...rest,
119
+ key: child.key,
120
+ value: finalValue,
121
+ onValueChange: finalOnValueChange
122
+ }, cleanChildren));
123
+ return;
124
+ }
125
+ if (componentType) {
126
+ var {
127
+ children: childChildren,
128
+ ...restProps
129
+ } = props,
130
+ isContainer = CONTAINER_TYPES.includes(componentType),
131
+ shouldReverseChildren = componentType === "Content" || componentType === "SubContent";
132
+ result.push(/* @__PURE__ */React.createElement(COMPONENT_MAP[componentType], {
133
+ ...restProps,
134
+ key: child.key
135
+ }, isContainer ? transformForZeego(childChildren, shouldReverseChildren) : childChildren));
136
+ return;
137
+ }
138
+ if (isItemLike(props, displayName)) {
139
+ var {
140
+ children: itemChildren,
141
+ ...itemProps
142
+ } = props;
143
+ result.push(/* @__PURE__ */React.createElement(ZeegoMenu.Item, {
144
+ ...itemProps,
145
+ key: child.key
146
+ }, itemChildren));
147
+ return;
148
+ }
149
+ result.push(child);
150
+ }), isIos && shouldReverseOnIos && !isContextMenu && result.reverse(), result;
151
+ },
152
+ Trigger1 = ZeegoMenu.Trigger,
153
+ Content1 = ZeegoMenu.Content,
154
+ Item1 = ZeegoMenu.Item,
155
+ ItemTitle1 = ZeegoMenu.ItemTitle,
156
+ ItemSubtitle1 = ZeegoMenu.ItemSubtitle,
157
+ ItemIcon1 = ZeegoMenu.ItemIcon,
158
+ ItemImage1 = ZeegoMenu.ItemImage,
159
+ ItemIndicator1 = ZeegoMenu.ItemIndicator,
160
+ Group1 = ZeegoMenu.Group,
161
+ Label1 = ZeegoMenu.Label,
162
+ Separator1 = ZeegoMenu.Separator,
163
+ Sub1 = ZeegoMenu.Sub,
164
+ SubTrigger1 = ZeegoMenu.SubTrigger,
165
+ SubContent1 = ZeegoMenu.SubContent,
166
+ Portal1 = function (param) {
167
+ var {
168
+ children
169
+ } = param;
170
+ return /* @__PURE__ */_jsx(_Fragment, {
171
+ children
172
+ });
173
+ };
174
+ Portal1.displayName = "Portal";
175
+ var Arrow1 = function () {
176
+ return null;
177
+ };
178
+ Arrow1.displayName = "Arrow";
179
+ var RadioGroup1 = function (param) {
180
+ var {
181
+ children
182
+ } = param;
183
+ return /* @__PURE__ */_jsx(_Fragment, {
184
+ children
185
+ });
186
+ };
187
+ RadioGroup1.displayName = `${MenuType}RadioGroup`;
188
+ var RadioItem1 = function (param) {
189
+ var {
190
+ children
191
+ } = param;
192
+ return /* @__PURE__ */_jsx(_Fragment, {
193
+ children
194
+ });
195
+ };
196
+ RadioItem1.displayName = `${MenuType}RadioItem`;
197
+ var CheckboxItem1 = function (props) {
198
+ return null;
199
+ };
200
+ CheckboxItem1.displayName = "CheckboxItem";
201
+ var Preview1 = isContextMenu ? ZeegoContextMenu.Preview : function () {
202
+ return null;
203
+ };
204
+ Preview1.displayName = `${MenuType}Preview`;
205
+ var Auxiliary1 = isContextMenu ? ZeegoContextMenu.Auxiliary : function () {
206
+ return null;
207
+ };
208
+ Auxiliary1.displayName = `${MenuType}Auxiliary`;
209
+ var Menu1 = function (param) {
210
+ var {
211
+ children,
212
+ onOpenChange,
213
+ onOpenWillChange
214
+ } = param,
215
+ rootProps = {
216
+ onOpenChange
217
+ };
218
+ return isContextMenu && onOpenWillChange && (rootProps.onOpenWillChange = onOpenWillChange), /* @__PURE__ */_jsx(ZeegoMenu.Root, {
219
+ ...rootProps,
220
+ children: transformForZeego(children)
221
+ });
222
+ };
223
+ return Menu1.displayName = MenuType, {
224
+ Menu: withStaticProperties(Menu1, {
225
+ Trigger: Trigger1,
226
+ Content: Content1,
227
+ Item: Item1,
228
+ ItemTitle: ItemTitle1,
229
+ ItemSubtitle: ItemSubtitle1,
230
+ ItemIcon: ItemIcon1,
231
+ ItemImage: ItemImage1,
232
+ ItemIndicator: ItemIndicator1,
233
+ Group: Group1,
234
+ Label: Label1,
235
+ Separator: Separator1,
236
+ Sub: Sub1,
237
+ SubTrigger: SubTrigger1,
238
+ SubContent: SubContent1,
239
+ CheckboxItem: CheckboxItem1,
240
+ Portal: Portal1,
241
+ RadioGroup: RadioGroup1,
242
+ RadioItem: RadioItem1,
243
+ Arrow: Arrow1,
244
+ Preview: Preview1,
245
+ Auxiliary: Auxiliary1
246
+ })
247
+ };
248
+ };
249
+ export { createNativeMenu };
250
+ //# sourceMappingURL=createNativeMenu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Fragment","_Fragment","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","ZeegoDropdownMenu","require","ZeegoContextMenu","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","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,3 @@
1
+ export * from "./createNativeMenu";
2
+ export * from "./withNativeMenu";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/createNativeMenu/index.tsx"],
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./createNativeMenu.mjs";
2
+ export * from "./withNativeMenu.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/createNativeMenu/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./createNativeMenu.native.js";
2
+ export * from "./withNativeMenu.native.js";
3
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/createNativeMenu/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","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":"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","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)
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;AA8BX;AApBJ,SAAS,eAGd;AAAA,EACA;AAAA,EACA;AACF,GAKkC;AAGhC,MAAI;AACF,WAAO;AAIT,QAAM,OAAwB,CAAC,UACtB,oBAAC,mBAAiB,GAAI,OAAmC;AAIlE,cAAK,cAAc,gBAAgB,eAAe,UAAU,aAErD;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) 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;AA8BX,SAAAC,GAAA;AApBJ,SAASC,eAGd;EACAC,SAAA;EACAC;AACF,GAKkC;EAGhC,IAAIJ,KAAA,EACF,OAAOG,SAAA;EAIT,MAAME,IAAA,GAAyBC,KAAA,IACtB,eAAAL,GAAA,CAACG,eAAA;IAAiB,GAAIE;EAAA,CAAmC;EAIlE,OAAAD,IAAA,CAAKE,WAAA,GAAcH,eAAA,CAAgBG,WAAA,IAAeJ,SAAA,CAAUI,WAAA,EAErDF,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) 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;AA8BX,SAAAC,KAAA;AApBJ,SAASC,eAGdC,KAAA;EACA;IAAAC,SAAA;IAAAC;EAAA,IAAAF,KAAA;EACA,IAAAF,KAAA,EAMgC,OAAAG,SAAA;EAGhC,IAAIE,IAAA,YAAAA,CAAAC,KAAA;IACF,OAAO,eAAAP,IAAA,CAAAK,eAAA;MAIT,GAAME;IAKN;EAGF","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import "@tamagui/polyfill-dev";
2
+ export * from "./createBaseMenu";
3
+ export * from "./createNativeMenu/index";
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,OAAO;AAEP,cAAc;AACd,cAAc;AAKd,SAAS,sBAAsB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ import "@tamagui/polyfill-dev";
2
+ export * from "./createBaseMenu.mjs";
3
+ export * from "./createNativeMenu/index.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,OAAO;AAEP,cAAc;AACd,cAAc;AAKd,SAASA,cAAA,QAAsB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import "@tamagui/polyfill-dev";
2
+ export * from "./createBaseMenu.native.js";
3
+ export * from "./createNativeMenu/index.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,OAAO;AAEP,cAAc;AACd,cAAc;AAKd,SAASA,cAAA,QAAsB","ignoreList":[]}