@tamagui/native 2.7.7 → 3.0.0-beta.643.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/dist/cjs/PressBoundary.cjs +53 -71
- package/dist/cjs/PressBoundary.native.cjs +86 -0
- package/dist/cjs/PressBoundary.native.js +63 -80
- package/dist/cjs/PressBoundary.native.js.map +1 -1
- package/dist/cjs/burntState.cjs +29 -32
- package/dist/cjs/burntState.native.cjs +45 -0
- package/dist/cjs/burntState.native.js +29 -31
- package/dist/cjs/burntState.native.js.map +1 -1
- package/dist/cjs/components.cjs +35 -55
- package/dist/cjs/components.native.cjs +56 -0
- package/dist/cjs/components.native.js +35 -54
- package/dist/cjs/components.native.js.map +1 -1
- package/dist/cjs/expoUIMenuAdapter.cjs +240 -254
- package/dist/cjs/expoUIMenuAdapter.native.cjs +315 -0
- package/dist/cjs/expoUIMenuAdapter.native.js +285 -303
- package/dist/cjs/expoUIMenuAdapter.native.js.map +1 -1
- package/dist/cjs/gesture-handler.cjs +21 -22
- package/dist/cjs/gesture-handler.native.cjs +38 -0
- package/dist/cjs/gesture-handler.native.js +21 -21
- package/dist/cjs/gesture-handler.native.js.map +1 -1
- package/dist/cjs/gestureState.cjs +202 -207
- package/dist/cjs/gestureState.native.cjs +262 -0
- package/dist/cjs/gestureState.native.js +215 -219
- package/dist/cjs/gestureState.native.js.map +1 -1
- package/dist/cjs/globalState.cjs +31 -34
- package/dist/cjs/globalState.native.cjs +44 -0
- package/dist/cjs/globalState.native.js +31 -33
- package/dist/cjs/globalState.native.js.map +1 -1
- package/dist/cjs/index.cjs +34 -34
- package/dist/cjs/index.native.cjs +59 -0
- package/dist/cjs/index.native.js +34 -33
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboardControllerState.cjs +28 -29
- package/dist/cjs/keyboardControllerState.native.cjs +50 -0
- package/dist/cjs/keyboardControllerState.native.js +28 -28
- package/dist/cjs/keyboardControllerState.native.js.map +1 -1
- package/dist/cjs/linearGradientState.cjs +28 -31
- package/dist/cjs/linearGradientState.native.cjs +44 -0
- package/dist/cjs/linearGradientState.native.js +28 -30
- package/dist/cjs/linearGradientState.native.js.map +1 -1
- package/dist/cjs/nativeMenuContext.cjs +15 -18
- package/dist/cjs/nativeMenuContext.native.cjs +28 -0
- package/dist/cjs/nativeMenuContext.native.js +15 -17
- package/dist/cjs/nativeMenuContext.native.js.map +1 -1
- package/dist/cjs/nativeMenuState.cjs +27 -28
- package/dist/cjs/nativeMenuState.native.cjs +47 -0
- package/dist/cjs/nativeMenuState.native.js +27 -27
- package/dist/cjs/nativeMenuState.native.js.map +1 -1
- package/dist/cjs/portalState.cjs +28 -31
- package/dist/cjs/portalState.native.cjs +44 -0
- package/dist/cjs/portalState.native.js +28 -30
- package/dist/cjs/portalState.native.js.map +1 -1
- package/dist/cjs/safeAreaState.cjs +77 -53
- package/dist/cjs/safeAreaState.native.cjs +101 -0
- package/dist/cjs/safeAreaState.native.js +79 -52
- package/dist/cjs/safeAreaState.native.js.map +1 -1
- package/dist/cjs/setup-burnt.cjs +15 -14
- package/dist/cjs/setup-burnt.native.cjs +20 -0
- package/dist/cjs/setup-burnt.native.js +15 -13
- package/dist/cjs/setup-burnt.native.js.map +1 -1
- package/dist/cjs/setup-expo-linear-gradient.cjs +14 -13
- package/dist/cjs/setup-expo-linear-gradient.native.cjs +19 -0
- package/dist/cjs/setup-expo-linear-gradient.native.js +14 -12
- package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/cjs/setup-expo-ui-menu.cjs +12 -13
- package/dist/cjs/setup-expo-ui-menu.native.cjs +18 -0
- package/dist/cjs/setup-expo-ui-menu.native.js +12 -12
- package/dist/cjs/setup-expo-ui-menu.native.js.map +1 -1
- package/dist/cjs/setup-gesture-handler.cjs +51 -57
- package/dist/cjs/setup-gesture-handler.native.cjs +72 -0
- package/dist/cjs/setup-gesture-handler.native.js +51 -56
- package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
- package/dist/cjs/setup-keyboard-controller.native.cjs +28 -0
- package/dist/cjs/setup-keyboard-controller.native.js +23 -29
- package/dist/cjs/setup-keyboard-controller.native.js.map +1 -1
- package/dist/cjs/setup-safe-area.cjs +17 -3
- package/dist/cjs/setup-safe-area.native.cjs +28 -0
- package/dist/cjs/setup-safe-area.native.js +23 -16
- package/dist/cjs/setup-safe-area.native.js.map +1 -1
- package/dist/cjs/setup-teleport.cjs +16 -15
- package/dist/cjs/setup-teleport.native.cjs +21 -0
- package/dist/cjs/setup-teleport.native.js +16 -14
- package/dist/cjs/setup-teleport.native.js.map +1 -1
- package/dist/cjs/setup-worklets.cjs +19 -18
- package/dist/cjs/setup-worklets.native.cjs +24 -0
- package/dist/cjs/setup-worklets.native.js +19 -17
- package/dist/cjs/setup-worklets.native.js.map +1 -1
- package/dist/cjs/setup-zeego.cjs +18 -17
- package/dist/cjs/setup-zeego.native.cjs +23 -0
- package/dist/cjs/setup-zeego.native.js +18 -16
- package/dist/cjs/setup-zeego.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/workletsState.cjs +31 -34
- package/dist/cjs/workletsState.native.cjs +47 -0
- package/dist/cjs/workletsState.native.js +31 -33
- package/dist/cjs/workletsState.native.js.map +1 -1
- package/dist/esm/PressBoundary.mjs +37 -45
- package/dist/esm/PressBoundary.mjs.map +1 -1
- package/dist/esm/PressBoundary.native.js +48 -56
- package/dist/esm/PressBoundary.native.js.map +1 -1
- package/dist/esm/burntState.mjs +16 -14
- package/dist/esm/burntState.mjs.map +1 -1
- package/dist/esm/burntState.native.js +16 -14
- package/dist/esm/burntState.native.js.map +1 -1
- package/dist/esm/components.mjs +20 -37
- package/dist/esm/components.mjs.map +1 -1
- package/dist/esm/components.native.js +21 -38
- package/dist/esm/components.native.js.map +1 -1
- package/dist/esm/expoUIMenuAdapter.mjs +224 -228
- package/dist/esm/expoUIMenuAdapter.mjs.map +1 -1
- package/dist/esm/expoUIMenuAdapter.native.js +270 -279
- package/dist/esm/expoUIMenuAdapter.native.js.map +1 -1
- package/dist/esm/gesture-handler.mjs +3 -4
- package/dist/esm/gesture-handler.native.js +3 -4
- package/dist/esm/gestureState.mjs +185 -187
- package/dist/esm/gestureState.mjs.map +1 -1
- package/dist/esm/gestureState.native.js +198 -200
- package/dist/esm/gestureState.native.js.map +1 -1
- package/dist/esm/globalState.mjs +17 -16
- package/dist/esm/globalState.mjs.map +1 -1
- package/dist/esm/globalState.native.js +17 -16
- package/dist/esm/globalState.native.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/index.mjs +5 -6
- package/dist/esm/index.native.js +5 -6
- package/dist/esm/keyboardControllerState.mjs +13 -11
- package/dist/esm/keyboardControllerState.mjs.map +1 -1
- package/dist/esm/keyboardControllerState.native.js +13 -11
- package/dist/esm/keyboardControllerState.native.js.map +1 -1
- package/dist/esm/linearGradientState.mjs +15 -13
- package/dist/esm/linearGradientState.mjs.map +1 -1
- package/dist/esm/linearGradientState.native.js +15 -13
- package/dist/esm/linearGradientState.native.js.map +1 -1
- package/dist/esm/nativeMenuContext.mjs +2 -0
- package/dist/esm/nativeMenuContext.mjs.map +1 -1
- package/dist/esm/nativeMenuContext.native.js +2 -0
- package/dist/esm/nativeMenuContext.native.js.map +1 -1
- package/dist/esm/nativeMenuState.mjs +13 -11
- package/dist/esm/nativeMenuState.mjs.map +1 -1
- package/dist/esm/nativeMenuState.native.js +13 -11
- package/dist/esm/nativeMenuState.native.js.map +1 -1
- package/dist/esm/portalState.mjs +15 -13
- package/dist/esm/portalState.mjs.map +1 -1
- package/dist/esm/portalState.native.js +15 -13
- package/dist/esm/portalState.native.js.map +1 -1
- package/dist/esm/safeAreaState.mjs +64 -38
- package/dist/esm/safeAreaState.mjs.map +1 -1
- package/dist/esm/safeAreaState.native.js +66 -38
- package/dist/esm/safeAreaState.native.js.map +1 -1
- package/dist/esm/setup-burnt.mjs +20 -13
- package/dist/esm/setup-burnt.mjs.map +1 -1
- package/dist/esm/setup-burnt.native.js +20 -13
- package/dist/esm/setup-burnt.native.js.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.mjs +19 -12
- package/dist/esm/setup-expo-linear-gradient.mjs.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.native.js +19 -12
- package/dist/esm/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/esm/setup-expo-ui-menu.mjs +17 -12
- package/dist/esm/setup-expo-ui-menu.mjs.map +1 -1
- package/dist/esm/setup-expo-ui-menu.native.js +17 -12
- package/dist/esm/setup-expo-ui-menu.native.js.map +1 -1
- package/dist/esm/setup-gesture-handler.mjs +42 -40
- package/dist/esm/setup-gesture-handler.mjs.map +1 -1
- package/dist/esm/setup-gesture-handler.native.js +42 -40
- package/dist/esm/setup-gesture-handler.native.js.map +1 -1
- package/dist/esm/setup-keyboard-controller.mjs +0 -2
- package/dist/esm/setup-keyboard-controller.native.js +28 -29
- package/dist/esm/setup-keyboard-controller.native.js.map +1 -1
- package/dist/esm/setup-safe-area.mjs +0 -4
- package/dist/esm/setup-safe-area.native.js +23 -22
- package/dist/esm/setup-safe-area.native.js.map +1 -1
- package/dist/esm/setup-teleport.mjs +21 -14
- package/dist/esm/setup-teleport.mjs.map +1 -1
- package/dist/esm/setup-teleport.native.js +21 -14
- package/dist/esm/setup-teleport.native.js.map +1 -1
- package/dist/esm/setup-worklets.mjs +24 -17
- package/dist/esm/setup-worklets.mjs.map +1 -1
- package/dist/esm/setup-worklets.native.js +24 -17
- package/dist/esm/setup-worklets.native.js.map +1 -1
- package/dist/esm/setup-zeego.mjs +23 -16
- package/dist/esm/setup-zeego.mjs.map +1 -1
- package/dist/esm/setup-zeego.native.js +23 -16
- package/dist/esm/setup-zeego.native.js.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/esm/workletsState.mjs +18 -16
- package/dist/esm/workletsState.mjs.map +1 -1
- package/dist/esm/workletsState.native.js +18 -16
- package/dist/esm/workletsState.native.js.map +1 -1
- package/package.json +84 -7
- package/src/PressBoundary.tsx +48 -45
- package/src/expoUIMenuAdapter.tsx +1 -2
- package/src/gestureState.ts +2 -2
- package/src/index.ts +1 -1
- package/src/safeAreaState.ts +59 -27
- package/src/setup-safe-area.ts +27 -22
- package/src/setup-safe-area.web.ts +2 -0
- package/src/types.ts +1 -0
- package/types/PressBoundary.d.ts +3 -1
- package/types/PressBoundary.d.ts.map +2 -2
- package/types/expoUIMenuAdapter.d.ts.map +2 -2
- package/types/gestureState.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +2 -2
- package/types/safeAreaState.d.ts +5 -2
- package/types/safeAreaState.d.ts.map +2 -2
- package/types/setup-safe-area.d.ts.map +1 -1
- package/types/setup-safe-area.web.d.ts +3 -0
- package/types/setup-safe-area.web.d.ts.map +11 -0
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +2 -2
- package/.turbo/turbo-build.log +0 -2
- package/dist/esm/gesture-handler.mjs.map +0 -1
- package/dist/esm/gesture-handler.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/setup-keyboard-controller.mjs.map +0 -1
- package/dist/esm/setup-safe-area.mjs.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- package/tsconfig.json +0 -12
package/dist/esm/components.mjs
CHANGED
|
@@ -1,44 +1,27 @@
|
|
|
1
1
|
import { getPortal } from "./portalState.mjs";
|
|
2
2
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return /* @__PURE__ */jsx(Portal, {
|
|
13
|
-
hostName,
|
|
14
|
-
children
|
|
15
|
-
});
|
|
3
|
+
|
|
4
|
+
function NativePortal({ hostName = "root", children }) {
|
|
5
|
+
const state = getPortal().state;
|
|
6
|
+
if (state.type !== "teleport") return null;
|
|
7
|
+
const { Portal } = globalThis.__tamagui_teleport;
|
|
8
|
+
return /* @__PURE__ */ jsx(Portal, {
|
|
9
|
+
hostName,
|
|
10
|
+
children
|
|
11
|
+
});
|
|
16
12
|
}
|
|
17
|
-
function NativePortalHost({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const {
|
|
23
|
-
PortalHost
|
|
24
|
-
} = globalThis.__tamagui_teleport;
|
|
25
|
-
return /* @__PURE__ */jsx(PortalHost, {
|
|
26
|
-
name
|
|
27
|
-
});
|
|
13
|
+
function NativePortalHost({ name }) {
|
|
14
|
+
const state = getPortal().state;
|
|
15
|
+
if (state.type !== "teleport") return null;
|
|
16
|
+
const { PortalHost } = globalThis.__tamagui_teleport;
|
|
17
|
+
return /* @__PURE__ */ jsx(PortalHost, { name });
|
|
28
18
|
}
|
|
29
|
-
function NativePortalProvider({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
children
|
|
35
|
-
});
|
|
36
|
-
const {
|
|
37
|
-
PortalProvider
|
|
38
|
-
} = globalThis.__tamagui_teleport;
|
|
39
|
-
return /* @__PURE__ */jsx(PortalProvider, {
|
|
40
|
-
children
|
|
41
|
-
});
|
|
19
|
+
function NativePortalProvider({ children }) {
|
|
20
|
+
const state = getPortal().state;
|
|
21
|
+
if (state.type !== "teleport") return /* @__PURE__ */ jsx(Fragment, { children });
|
|
22
|
+
const { PortalProvider } = globalThis.__tamagui_teleport;
|
|
23
|
+
return /* @__PURE__ */ jsx(PortalProvider, { children });
|
|
42
24
|
}
|
|
25
|
+
|
|
43
26
|
export { NativePortal, NativePortalHost, NativePortalProvider };
|
|
44
27
|
//# sourceMappingURL=components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components.js","names":[],"sources":["esm/components.js"],"sourcesContent":["import { getPortal } from \"./portalState\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction NativePortal({\n hostName = \"root\",\n children\n}) {\n const state = getPortal().state;\n if (state.type !== \"teleport\") return null;\n const { Portal } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ jsx(Portal, { hostName, children });\n}\nfunction NativePortalHost({ name }) {\n const state = getPortal().state;\n if (state.type !== \"teleport\") return null;\n const { PortalHost } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ jsx(PortalHost, { name });\n}\nfunction NativePortalProvider({ children }) {\n const state = getPortal().state;\n if (state.type !== \"teleport\") return /* @__PURE__ */ jsx(Fragment, { children });\n const { PortalProvider } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ jsx(PortalProvider, { children });\n}\nexport {\n NativePortal,\n NativePortalHost,\n NativePortalProvider\n};\n//# sourceMappingURL=components.js.map\n"],"mappings":";;;;AAEA,SAAS,aAAa,EACpB,WAAW,QACX,YACC;CACD,MAAM,QAAQ,UAAU,EAAE;CAC1B,IAAI,MAAM,SAAS,YAAY,OAAO;CACtC,MAAM,EAAE,WAAW,WAAW;CAC9B,OAAuB,oBAAI,QAAQ;EAAE;EAAU;CAAS,CAAC;AAC3D;AACA,SAAS,iBAAiB,EAAE,QAAQ;CAClC,MAAM,QAAQ,UAAU,EAAE;CAC1B,IAAI,MAAM,SAAS,YAAY,OAAO;CACtC,MAAM,EAAE,eAAe,WAAW;CAClC,OAAuB,oBAAI,YAAY,EAAE,KAAK,CAAC;AACjD;AACA,SAAS,qBAAqB,EAAE,YAAY;CAC1C,MAAM,QAAQ,UAAU,EAAE;CAC1B,IAAI,MAAM,SAAS,YAAY,OAAuB,oBAAI,UAAU,EAAE,SAAS,CAAC;CAChF,MAAM,EAAE,mBAAmB,WAAW;CACtC,OAAuB,oBAAI,gBAAgB,EAAE,SAAS,CAAC;AACzD"}
|
|
@@ -1,47 +1,30 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getPortal } from "./portalState.native.js";
|
|
3
|
+
|
|
3
4
|
function NativePortal(param) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} = globalThis.__tamagui_teleport;
|
|
13
|
-
return /* @__PURE__ */_jsx(Portal, {
|
|
14
|
-
hostName,
|
|
15
|
-
children
|
|
16
|
-
});
|
|
5
|
+
var { hostName = "root", children } = param;
|
|
6
|
+
var state = getPortal().state;
|
|
7
|
+
if (state.type !== "teleport") return null;
|
|
8
|
+
var { Portal } = globalThis.__tamagui_teleport;
|
|
9
|
+
return /* @__PURE__ */ jsx(Portal, {
|
|
10
|
+
hostName,
|
|
11
|
+
children
|
|
12
|
+
});
|
|
17
13
|
}
|
|
18
14
|
function NativePortalHost(param) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var {
|
|
25
|
-
PortalHost
|
|
26
|
-
} = globalThis.__tamagui_teleport;
|
|
27
|
-
return /* @__PURE__ */_jsx(PortalHost, {
|
|
28
|
-
name
|
|
29
|
-
});
|
|
15
|
+
var { name } = param;
|
|
16
|
+
var state = getPortal().state;
|
|
17
|
+
if (state.type !== "teleport") return null;
|
|
18
|
+
var { PortalHost } = globalThis.__tamagui_teleport;
|
|
19
|
+
return /* @__PURE__ */ jsx(PortalHost, { name });
|
|
30
20
|
}
|
|
31
21
|
function NativePortalProvider(param) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
children
|
|
38
|
-
});
|
|
39
|
-
var {
|
|
40
|
-
PortalProvider
|
|
41
|
-
} = globalThis.__tamagui_teleport;
|
|
42
|
-
return /* @__PURE__ */_jsx(PortalProvider, {
|
|
43
|
-
children
|
|
44
|
-
});
|
|
22
|
+
var { children } = param;
|
|
23
|
+
var state = getPortal().state;
|
|
24
|
+
if (state.type !== "teleport") return /* @__PURE__ */ jsx(Fragment, { children });
|
|
25
|
+
var { PortalProvider } = globalThis.__tamagui_teleport;
|
|
26
|
+
return /* @__PURE__ */ jsx(PortalProvider, { children });
|
|
45
27
|
}
|
|
28
|
+
|
|
46
29
|
export { NativePortal, NativePortalHost, NativePortalProvider };
|
|
47
30
|
//# sourceMappingURL=components.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"file":"components.native.js","names":["_Fragment"],"sources":["esm/components.native.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { getPortal } from \"./portalState\";\nfunction NativePortal(param) {\n var { hostName = \"root\", children } = param;\n var state = getPortal().state;\n if (state.type !== \"teleport\") return null;\n var { Portal } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ _jsx(Portal, {\n hostName,\n children\n });\n}\nfunction NativePortalHost(param) {\n var { name } = param;\n var state = getPortal().state;\n if (state.type !== \"teleport\") return null;\n var { PortalHost } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ _jsx(PortalHost, {\n name\n });\n}\nfunction NativePortalProvider(param) {\n var { children } = param;\n var state = getPortal().state;\n if (state.type !== \"teleport\") return /* @__PURE__ */ _jsx(_Fragment, {\n children\n });\n var { PortalProvider } = globalThis.__tamagui_teleport;\n return /* @__PURE__ */ _jsx(PortalProvider, {\n children\n });\n}\nexport {\n NativePortal,\n NativePortalHost,\n NativePortalProvider\n};\n//# sourceMappingURL=components.js.map\n"],"mappings":";;;;AAEA,SAAS,aAAa,OAAO;CAC3B,IAAI,EAAE,WAAW,QAAQ,aAAa;CACtC,IAAI,QAAQ,UAAU,EAAE;CACxB,IAAI,MAAM,SAAS,YAAY,OAAO;CACtC,IAAI,EAAE,WAAW,WAAW;CAC5B,OAAuB,oBAAK,QAAQ;EAClC;EACA;CACF,CAAC;AACH;AACA,SAAS,iBAAiB,OAAO;CAC/B,IAAI,EAAE,SAAS;CACf,IAAI,QAAQ,UAAU,EAAE;CACxB,IAAI,MAAM,SAAS,YAAY,OAAO;CACtC,IAAI,EAAE,eAAe,WAAW;CAChC,OAAuB,oBAAK,YAAY,EACtC,KACF,CAAC;AACH;AACA,SAAS,qBAAqB,OAAO;CACnC,IAAI,EAAE,aAAa;CACnB,IAAI,QAAQ,UAAU,EAAE;CACxB,IAAI,MAAM,SAAS,YAAY,OAAuB,oBAAKA,UAAW,EACpE,SACF,CAAC;CACD,IAAI,EAAE,mBAAmB,WAAW;CACpC,OAAuB,oBAAK,gBAAgB,EAC1C,SACF,CAAC;AACH"}
|
|
@@ -1,243 +1,239 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
3
4
|
function marker(name) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const Marker = () => null;
|
|
6
|
+
Marker.displayName = `ExpoUI${name}`;
|
|
7
|
+
return Marker;
|
|
7
8
|
}
|
|
8
9
|
function isMarkerType(candidate, type) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (candidate === type) return true;
|
|
11
|
+
const wanted = type.displayName;
|
|
12
|
+
if (!wanted) return false;
|
|
13
|
+
return typeof candidate === "function" && candidate.displayName === wanted;
|
|
13
14
|
}
|
|
14
15
|
function elementOfType(children, type) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
for (const child of React.Children.toArray(children)) {
|
|
17
|
+
if (React.isValidElement(child) && isMarkerType(child.type, type)) {
|
|
18
|
+
return child;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
21
22
|
}
|
|
22
|
-
const warnedUnsupported = /* @__PURE__ */new Set();
|
|
23
|
+
const warnedUnsupported = /* @__PURE__ */ new Set();
|
|
23
24
|
function warnUnsupported(feature) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
if (warnedUnsupported.has(feature) || process.env.NODE_ENV === "production") {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
warnedUnsupported.add(feature);
|
|
29
|
+
console.warn(`[Tamagui] @expo/ui/community/menu does not support ${feature}, so it will not render. Register a different native menu adapter if you need it.`);
|
|
29
30
|
}
|
|
30
31
|
function textFromNode(node) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
33
|
+
if (!React.isValidElement(node)) return "";
|
|
34
|
+
return React.Children.toArray(node.props.children).map(textFromNode).join("");
|
|
34
35
|
}
|
|
35
|
-
function createExpoUIMenuAdapter({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
return {
|
|
237
|
-
name: "expo-ui",
|
|
238
|
-
Menu: createModule(false),
|
|
239
|
-
ContextMenu: createModule(true)
|
|
240
|
-
};
|
|
36
|
+
function createExpoUIMenuAdapter({ MenuView }) {
|
|
37
|
+
const NativeMenuView = MenuView;
|
|
38
|
+
function createModule(isContextMenu) {
|
|
39
|
+
const Trigger = marker("Trigger");
|
|
40
|
+
const Content = marker("Content");
|
|
41
|
+
const Item = marker("Item");
|
|
42
|
+
const ItemTitle = marker("ItemTitle");
|
|
43
|
+
const ItemSubtitle = marker("ItemSubtitle");
|
|
44
|
+
const ItemIcon = marker("ItemIcon");
|
|
45
|
+
const ItemImage = marker("ItemImage");
|
|
46
|
+
const ItemIndicator = marker("ItemIndicator");
|
|
47
|
+
const Group = marker("Group");
|
|
48
|
+
const Label = marker("Label");
|
|
49
|
+
const Separator = marker("Separator");
|
|
50
|
+
const Sub = marker("Sub");
|
|
51
|
+
const SubTrigger = marker("SubTrigger");
|
|
52
|
+
const SubContent = marker("SubContent");
|
|
53
|
+
const CheckboxItem = marker("CheckboxItem");
|
|
54
|
+
const Preview = marker("Preview");
|
|
55
|
+
const Auxiliary = marker("Auxiliary");
|
|
56
|
+
function Root({ children, onOpenChange, onOpenWillChange }) {
|
|
57
|
+
const trigger = elementOfType(children, Trigger);
|
|
58
|
+
const content = elementOfType(children, Content);
|
|
59
|
+
const preview = elementOfType(children, Preview);
|
|
60
|
+
const auxiliary = elementOfType(children, Auxiliary);
|
|
61
|
+
if (preview || auxiliary) {
|
|
62
|
+
warnUnsupported("context-menu previews or auxiliary views");
|
|
63
|
+
}
|
|
64
|
+
if (!trigger || !content) {
|
|
65
|
+
throw new Error("Tamagui native menus require one Trigger and one Content");
|
|
66
|
+
}
|
|
67
|
+
let nextId = 0;
|
|
68
|
+
const handlers = /* @__PURE__ */ new Map();
|
|
69
|
+
function actionId(element) {
|
|
70
|
+
return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
|
|
71
|
+
}
|
|
72
|
+
function itemTitle(element) {
|
|
73
|
+
if (typeof element.props.textValue === "string") return element.props.textValue;
|
|
74
|
+
const title = elementOfType(element.props.children, ItemTitle);
|
|
75
|
+
return title ? textFromNode(title.props.children) : "";
|
|
76
|
+
}
|
|
77
|
+
function actionImage(element) {
|
|
78
|
+
const image = elementOfType(element.props.children, ItemImage);
|
|
79
|
+
if (image?.props.source) return image.props.source;
|
|
80
|
+
const icon = elementOfType(element.props.children, ItemIcon);
|
|
81
|
+
if (!icon) return void 0;
|
|
82
|
+
const ios = icon.props.ios;
|
|
83
|
+
if (typeof ios === "object" && ios && "name" in ios && typeof ios.name === "string") {
|
|
84
|
+
return ios.name;
|
|
85
|
+
}
|
|
86
|
+
return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
|
|
87
|
+
}
|
|
88
|
+
function attributes(element) {
|
|
89
|
+
const destructive = element.props.destructive === true;
|
|
90
|
+
const disabled = element.props.disabled === true;
|
|
91
|
+
const hidden = element.props.hidden === true;
|
|
92
|
+
return destructive || disabled || hidden ? {
|
|
93
|
+
destructive,
|
|
94
|
+
disabled,
|
|
95
|
+
hidden
|
|
96
|
+
} : void 0;
|
|
97
|
+
}
|
|
98
|
+
function actionsFrom(childrenToParse) {
|
|
99
|
+
const actions = [];
|
|
100
|
+
let section = null;
|
|
101
|
+
function append(action) {
|
|
102
|
+
if (section) {
|
|
103
|
+
section.push(action);
|
|
104
|
+
} else {
|
|
105
|
+
actions.push(action);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function flushSection() {
|
|
109
|
+
if (!section?.length) {
|
|
110
|
+
section = [];
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
actions.push({
|
|
114
|
+
id: `tamagui-menu-section-${nextId++}`,
|
|
115
|
+
title: "",
|
|
116
|
+
subactions: section,
|
|
117
|
+
displayInline: true
|
|
118
|
+
});
|
|
119
|
+
section = [];
|
|
120
|
+
}
|
|
121
|
+
for (const child of React.Children.toArray(childrenToParse)) {
|
|
122
|
+
if (!React.isValidElement(child)) continue;
|
|
123
|
+
if (isMarkerType(child.type, Separator)) {
|
|
124
|
+
if (!section) section = actions.splice(0);
|
|
125
|
+
flushSection();
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (isMarkerType(child.type, Group)) {
|
|
129
|
+
const label2 = elementOfType(child.props.children, Label);
|
|
130
|
+
append({
|
|
131
|
+
id: actionId(child),
|
|
132
|
+
title: label2 ? textFromNode(label2.props.children) : "",
|
|
133
|
+
subactions: actionsFrom(child.props.children),
|
|
134
|
+
displayInline: true
|
|
135
|
+
});
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (isMarkerType(child.type, Sub)) {
|
|
139
|
+
const subTrigger = elementOfType(child.props.children, SubTrigger);
|
|
140
|
+
const subContent = elementOfType(child.props.children, SubContent);
|
|
141
|
+
if (!subTrigger || !subContent) {
|
|
142
|
+
throw new Error("Tamagui native submenus require one SubTrigger and SubContent");
|
|
143
|
+
}
|
|
144
|
+
append({
|
|
145
|
+
id: actionId(child),
|
|
146
|
+
title: itemTitle(subTrigger),
|
|
147
|
+
image: actionImage(subTrigger),
|
|
148
|
+
attributes: attributes(subTrigger),
|
|
149
|
+
subactions: actionsFrom(subContent.props.children)
|
|
150
|
+
});
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
if (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) continue;
|
|
154
|
+
if (elementOfType(child.props.children, ItemSubtitle)) {
|
|
155
|
+
warnUnsupported("menu item subtitles");
|
|
156
|
+
}
|
|
157
|
+
const id = actionId(child);
|
|
158
|
+
if (isMarkerType(child.type, CheckboxItem)) {
|
|
159
|
+
const current = child.props.value === true || child.props.value === "on" || child.props.checked === true;
|
|
160
|
+
const onValueChange = child.props.onValueChange;
|
|
161
|
+
const onCheckedChange = child.props.onCheckedChange;
|
|
162
|
+
handlers.set(id, () => {
|
|
163
|
+
if (typeof onValueChange === "function") {
|
|
164
|
+
onValueChange(current ? "off" : "on", current ? "on" : "off");
|
|
165
|
+
} else if (typeof onCheckedChange === "function") {
|
|
166
|
+
onCheckedChange(!current);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
append({
|
|
170
|
+
id,
|
|
171
|
+
title: itemTitle(child),
|
|
172
|
+
image: actionImage(child),
|
|
173
|
+
state: current ? "on" : "off",
|
|
174
|
+
attributes: attributes(child)
|
|
175
|
+
});
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const onSelect = child.props.onSelect;
|
|
179
|
+
if (typeof onSelect === "function") {
|
|
180
|
+
handlers.set(id, () => onSelect());
|
|
181
|
+
}
|
|
182
|
+
append({
|
|
183
|
+
id,
|
|
184
|
+
title: itemTitle(child),
|
|
185
|
+
image: actionImage(child),
|
|
186
|
+
attributes: attributes(child)
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (section) flushSection();
|
|
190
|
+
return actions;
|
|
191
|
+
}
|
|
192
|
+
const label = elementOfType(content.props.children, Label);
|
|
193
|
+
const triggerAction = trigger.props.action;
|
|
194
|
+
return /* @__PURE__ */ jsx(NativeMenuView, {
|
|
195
|
+
actions: actionsFrom(content.props.children),
|
|
196
|
+
title: label ? textFromNode(label.props.children) : void 0,
|
|
197
|
+
shouldOpenOnLongPress: triggerAction === "longPress" || triggerAction !== "press" && isContextMenu,
|
|
198
|
+
onPressAction: (event) => handlers.get(event.nativeEvent.event)?.(),
|
|
199
|
+
onOpenMenu: () => {
|
|
200
|
+
onOpenWillChange?.(true);
|
|
201
|
+
onOpenChange?.(true);
|
|
202
|
+
},
|
|
203
|
+
onCloseMenu: () => {
|
|
204
|
+
onOpenWillChange?.(false);
|
|
205
|
+
onOpenChange?.(false);
|
|
206
|
+
},
|
|
207
|
+
children: trigger.props.children
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
Root,
|
|
212
|
+
Trigger,
|
|
213
|
+
Content,
|
|
214
|
+
Item,
|
|
215
|
+
ItemTitle,
|
|
216
|
+
ItemSubtitle,
|
|
217
|
+
ItemIcon,
|
|
218
|
+
ItemImage,
|
|
219
|
+
ItemIndicator,
|
|
220
|
+
Group,
|
|
221
|
+
Label,
|
|
222
|
+
Separator,
|
|
223
|
+
Sub,
|
|
224
|
+
SubTrigger,
|
|
225
|
+
SubContent,
|
|
226
|
+
CheckboxItem,
|
|
227
|
+
Preview,
|
|
228
|
+
Auxiliary
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
return {
|
|
232
|
+
name: "expo-ui",
|
|
233
|
+
Menu: createModule(false),
|
|
234
|
+
ContextMenu: createModule(true)
|
|
235
|
+
};
|
|
241
236
|
}
|
|
237
|
+
|
|
242
238
|
export { createExpoUIMenuAdapter };
|
|
243
239
|
//# sourceMappingURL=expoUIMenuAdapter.mjs.map
|