@tamagui/menu 1.0.0-beta.200 → 1.0.0-beta.204

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/Menu.js CHANGED
@@ -1,7 +1,9 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
9
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -29,6 +31,7 @@ var __copyProps = (to, from, except, desc) => {
29
31
  }
30
32
  return to;
31
33
  };
34
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
32
35
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
36
  var Menu_exports = {};
34
37
  __export(Menu_exports, {
@@ -37,35 +40,39 @@ __export(Menu_exports, {
37
40
  module.exports = __toCommonJS(Menu_exports);
38
41
  var import_core = require("@tamagui/core");
39
42
  var import_drawer = require("@tamagui/drawer");
40
- var import_react = require("react");
43
+ var import_use_controllable_state = require("@tamagui/use-controllable-state");
44
+ var import_react = __toESM(require("react"));
41
45
  var import_tamagui = require("tamagui");
42
46
  const MenuItem = /* @__PURE__ */ __name((props) => {
43
47
  return props.children;
44
48
  }, "MenuItem");
45
- const Menu = (0, import_core.withStaticProperties)(({ children, trigger, onChangeOpen }) => {
46
- const [show, setShow] = (0, import_react.useState)(false);
49
+ const Menu = (0, import_core.withStaticProperties)(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
47
50
  const media = (0, import_core.useMedia)();
48
- (0, import_react.useEffect)(() => {
49
- onChangeOpen == null ? void 0 : onChangeOpen(show);
50
- }, [show]);
51
+ const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
52
+ prop: openProp,
53
+ defaultProp: defaultOpen || false,
54
+ onChange(next) {
55
+ onChangeOpen == null ? void 0 : onChangeOpen(next);
56
+ }
57
+ });
51
58
  const triggerProps = (0, import_react.useMemo)(() => {
52
59
  return {
53
60
  onPress: () => {
54
- setShow((x) => !x);
61
+ setOpen((x) => !x);
55
62
  }
56
63
  };
57
64
  }, []);
58
65
  if (media.sm) {
59
- return /* @__PURE__ */ React.createElement(React.Fragment, null, (0, import_react.cloneElement)(trigger, triggerProps), /* @__PURE__ */ React.createElement(import_drawer.Drawer, {
60
- open: show,
61
- onDismiss: () => setShow(false)
66
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, (0, import_react.cloneElement)(trigger, triggerProps), /* @__PURE__ */ import_react.default.createElement(import_drawer.Drawer, {
67
+ open,
68
+ onDismiss: () => setOpen(false)
62
69
  }, children));
63
70
  }
64
- return /* @__PURE__ */ React.createElement(import_tamagui.Popover, {
71
+ return /* @__PURE__ */ import_react.default.createElement(import_tamagui.Popover, {
65
72
  trigger: (props) => (0, import_react.cloneElement)(trigger, __spreadValues(__spreadValues({}, props), triggerProps)),
66
- isOpen: show,
67
- onChangeOpen: setShow
68
- }, /* @__PURE__ */ React.createElement(import_tamagui.Popover.Content, null, /* @__PURE__ */ React.createElement(import_tamagui.YStack, {
73
+ open,
74
+ onChangeOpen: setOpen
75
+ }, /* @__PURE__ */ import_react.default.createElement(import_tamagui.Popover.Content, null, /* @__PURE__ */ import_react.default.createElement(import_tamagui.Popover.Arrow, null), /* @__PURE__ */ import_react.default.createElement(import_tamagui.YStack, {
69
76
  backgroundColor: "$background",
70
77
  borderRadius: "$2"
71
78
  }, children)));
@@ -73,4 +80,8 @@ const Menu = (0, import_core.withStaticProperties)(({ children, trigger, onChang
73
80
  Item: MenuItem,
74
81
  Provider: import_drawer.DrawerProvider
75
82
  });
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ Menu
86
+ });
76
87
  //# sourceMappingURL=Menu.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Menu.tsx"],
4
- "sourcesContent": ["import { useMedia, withStaticProperties } from '@tamagui/core'\nimport { Drawer, DrawerProvider } from '@tamagui/drawer'\nimport { cloneElement, useEffect, useMemo, useState } from 'react'\nimport { Popover, YStack } from 'tamagui'\n\nconst MenuItem = (props) => {\n return props.children\n}\n\nexport const Menu = withStaticProperties(\n ({ children, trigger, onChangeOpen }) => {\n const [show, setShow] = useState(false)\n const media = useMedia()\n\n useEffect(() => {\n onChangeOpen?.(show)\n }, [show])\n\n const triggerProps = useMemo(() => {\n return {\n onPress: () => {\n setShow((x) => !x)\n },\n }\n }, [])\n\n if (media.sm) {\n return (\n <>\n {cloneElement(trigger, triggerProps)}\n <Drawer open={show} onDismiss={() => setShow(false)}>\n {children}\n </Drawer>\n </>\n )\n }\n\n return (\n <Popover\n trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}\n isOpen={show}\n onChangeOpen={setShow}\n >\n <Popover.Content>\n {/* <Popover.Arrow /> */}\n <YStack backgroundColor=\"$background\" borderRadius=\"$2\">\n {children}\n </YStack>\n </Popover.Content>\n </Popover>\n )\n },\n {\n Item: MenuItem,\n Provider: DrawerProvider,\n }\n)\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+C;AAC/C,oBAAuC;AACvC,mBAA2D;AAC3D,qBAAgC;AAEhC,MAAM,WAAW,wBAAC,UAAU;AAC1B,SAAO,MAAM;AACf,GAFiB;AAIV,MAAM,OAAO,sCAClB,CAAC,EAAE,UAAU,SAAS,mBAAmB;AACvC,QAAM,CAAC,MAAM,WAAW,2BAAS,KAAK;AACtC,QAAM,QAAQ,0BAAS;AAEvB,8BAAU,MAAM;AACd,iDAAe;AAAA,EACjB,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,eAAe,0BAAQ,MAAM;AACjC,WAAO;AAAA,MACL,SAAS,MAAM;AACb,gBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,MAAI,MAAM,IAAI;AACZ,WACE,0DACG,+BAAa,SAAS,YAAY,GACnC,oCAAC;AAAA,MAAO,MAAM;AAAA,MAAM,WAAW,MAAM,QAAQ,KAAK;AAAA,OAC/C,QACH,CACF;AAAA,EAEJ;AAEA,SACE,oCAAC;AAAA,IACC,SAAS,CAAC,UAAU,+BAAa,SAAS,kCAAK,QAAU,aAAc;AAAA,IACvE,QAAQ;AAAA,IACR,cAAc;AAAA,KAEd,oCAAC,uBAAQ,SAAR,MAEC,oCAAC;AAAA,IAAO,iBAAgB;AAAA,IAAc,cAAa;AAAA,KAChD,QACH,CACF,CACF;AAEJ,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
4
+ "sourcesContent": ["import { useMedia, withStaticProperties } from '@tamagui/core'\nimport { Drawer, DrawerProvider } from '@tamagui/drawer'\nimport { useControllableState } from '@tamagui/use-controllable-state'\nimport React, { cloneElement, useEffect, useMemo, useState } from 'react'\nimport { Popover, YStack } from 'tamagui'\n\nconst MenuItem = (props) => {\n return props.children\n}\n\ntype MenuProps = {\n children?: React.ReactNode\n open?: boolean\n defaultOpen?: boolean\n trigger?: any\n onChangeOpen?: (next: boolean) => void\n}\n\nexport const Menu = withStaticProperties(\n ({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => {\n const media = useMedia()\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen || false,\n onChange(next) {\n onChangeOpen?.(next)\n },\n })\n\n const triggerProps = useMemo(() => {\n return {\n onPress: () => {\n setOpen((x) => !x)\n },\n }\n }, [])\n\n if (media.sm) {\n return (\n <>\n {cloneElement(trigger, triggerProps)}\n <Drawer open={open} onDismiss={() => setOpen(false)}>\n {children}\n </Drawer>\n </>\n )\n }\n\n return (\n <Popover\n trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}\n open={open}\n onChangeOpen={setOpen}\n >\n <Popover.Content>\n <Popover.Arrow />\n <YStack backgroundColor=\"$background\" borderRadius=\"$2\">\n {children}\n </YStack>\n </Popover.Content>\n </Popover>\n )\n },\n {\n Item: MenuItem,\n Provider: DrawerProvider,\n }\n)\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA+C;AAC/C,oBAAuC;AACvC,oCAAqC;AACrC,mBAAkE;AAClE,qBAAgC;AAEhC,MAAM,WAAW,wBAAC,UAAU;AAC1B,SAAO,MAAM;AACf,GAFiB;AAYV,MAAM,OAAO,sCAClB,CAAC,EAAE,UAAU,MAAM,UAAU,aAAa,SAAS,mBAA8B;AAC/E,QAAM,QAAQ,0BAAS;AACvB,QAAM,CAAC,MAAM,WAAW,wDAAqB;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa,eAAe;AAAA,IAC5B,SAAS,MAAM;AACb,mDAAe;AAAA,IACjB;AAAA,EACF,CAAC;AAED,QAAM,eAAe,0BAAQ,MAAM;AACjC,WAAO;AAAA,MACL,SAAS,MAAM;AACb,gBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,MAAI,MAAM,IAAI;AACZ,WACE,wFACG,+BAAa,SAAS,YAAY,GACnC,mDAAC;AAAA,MAAO;AAAA,MAAY,WAAW,MAAM,QAAQ,KAAK;AAAA,OAC/C,QACH,CACF;AAAA,EAEJ;AAEA,SACE,mDAAC;AAAA,IACC,SAAS,CAAC,UAAU,+BAAa,SAAS,kCAAK,QAAU,aAAc;AAAA,IACvE;AAAA,IACA,cAAc;AAAA,KAEd,mDAAC,uBAAQ,SAAR,MACC,mDAAC,uBAAQ,OAAR,IAAc,GACf,mDAAC;AAAA,IAAO,iBAAgB;AAAA,IAAc,cAAa;AAAA,KAChD,QACH,CACF,CACF;AAEJ,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
6
6
  "names": []
7
7
  }
package/dist/esm/Menu.js CHANGED
@@ -2,35 +2,39 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { useMedia, withStaticProperties } from "@tamagui/core";
4
4
  import { Drawer, DrawerProvider } from "@tamagui/drawer";
5
- import { cloneElement, useEffect, useMemo, useState } from "react";
5
+ import { useControllableState } from "@tamagui/use-controllable-state";
6
+ import React, { cloneElement, useMemo } from "react";
6
7
  import { Popover, YStack } from "tamagui";
7
8
  const MenuItem = /* @__PURE__ */ __name((props) => {
8
9
  return props.children;
9
10
  }, "MenuItem");
10
- const Menu = withStaticProperties(({ children, trigger, onChangeOpen }) => {
11
- const [show, setShow] = useState(false);
11
+ const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
12
  const media = useMedia();
13
- useEffect(() => {
14
- onChangeOpen == null ? void 0 : onChangeOpen(show);
15
- }, [show]);
13
+ const [open, setOpen] = useControllableState({
14
+ prop: openProp,
15
+ defaultProp: defaultOpen || false,
16
+ onChange(next) {
17
+ onChangeOpen == null ? void 0 : onChangeOpen(next);
18
+ }
19
+ });
16
20
  const triggerProps = useMemo(() => {
17
21
  return {
18
22
  onPress: () => {
19
- setShow((x) => !x);
23
+ setOpen((x) => !x);
20
24
  }
21
25
  };
22
26
  }, []);
23
27
  if (media.sm) {
24
28
  return /* @__PURE__ */ React.createElement(React.Fragment, null, cloneElement(trigger, triggerProps), /* @__PURE__ */ React.createElement(Drawer, {
25
- open: show,
26
- onDismiss: () => setShow(false)
29
+ open,
30
+ onDismiss: () => setOpen(false)
27
31
  }, children));
28
32
  }
29
33
  return /* @__PURE__ */ React.createElement(Popover, {
30
34
  trigger: (props) => cloneElement(trigger, { ...props, ...triggerProps }),
31
- isOpen: show,
32
- onChangeOpen: setShow
33
- }, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(YStack, {
35
+ open,
36
+ onChangeOpen: setOpen
37
+ }, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(Popover.Arrow, null), /* @__PURE__ */ React.createElement(YStack, {
34
38
  backgroundColor: "$background",
35
39
  borderRadius: "$2"
36
40
  }, children)));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Menu.tsx"],
4
- "sourcesContent": ["import { useMedia, withStaticProperties } from '@tamagui/core'\nimport { Drawer, DrawerProvider } from '@tamagui/drawer'\nimport { cloneElement, useEffect, useMemo, useState } from 'react'\nimport { Popover, YStack } from 'tamagui'\n\nconst MenuItem = (props) => {\n return props.children\n}\n\nexport const Menu = withStaticProperties(\n ({ children, trigger, onChangeOpen }) => {\n const [show, setShow] = useState(false)\n const media = useMedia()\n\n useEffect(() => {\n onChangeOpen?.(show)\n }, [show])\n\n const triggerProps = useMemo(() => {\n return {\n onPress: () => {\n setShow((x) => !x)\n },\n }\n }, [])\n\n if (media.sm) {\n return (\n <>\n {cloneElement(trigger, triggerProps)}\n <Drawer open={show} onDismiss={() => setShow(false)}>\n {children}\n </Drawer>\n </>\n )\n }\n\n return (\n <Popover\n trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}\n isOpen={show}\n onChangeOpen={setShow}\n >\n <Popover.Content>\n {/* <Popover.Arrow /> */}\n <YStack backgroundColor=\"$background\" borderRadius=\"$2\">\n {children}\n </YStack>\n </Popover.Content>\n </Popover>\n )\n },\n {\n Item: MenuItem,\n Provider: DrawerProvider,\n }\n)\n"],
5
- "mappings": ";;AAAA;AACA;AACA;AACA;AAEA,MAAM,WAAW,wBAAC,UAAU;AAC1B,SAAO,MAAM;AACf,GAFiB;AAIV,MAAM,OAAO,qBAClB,CAAC,EAAE,UAAU,SAAS,mBAAmB;AACvC,QAAM,CAAC,MAAM,WAAW,SAAS,KAAK;AACtC,QAAM,QAAQ,SAAS;AAEvB,YAAU,MAAM;AACd,iDAAe;AAAA,EACjB,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,eAAe,QAAQ,MAAM;AACjC,WAAO;AAAA,MACL,SAAS,MAAM;AACb,gBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,MAAI,MAAM,IAAI;AACZ,WACE,0DACG,aAAa,SAAS,YAAY,GACnC,oCAAC;AAAA,MAAO,MAAM;AAAA,MAAM,WAAW,MAAM,QAAQ,KAAK;AAAA,OAC/C,QACH,CACF;AAAA,EAEJ;AAEA,SACE,oCAAC;AAAA,IACC,SAAS,CAAC,UAAU,aAAa,SAAS,KAAK,UAAU,aAAa,CAAC;AAAA,IACvE,QAAQ;AAAA,IACR,cAAc;AAAA,KAEd,oCAAC,QAAQ,SAAR,MAEC,oCAAC;AAAA,IAAO,iBAAgB;AAAA,IAAc,cAAa;AAAA,KAChD,QACH,CACF,CACF;AAEJ,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
4
+ "sourcesContent": ["import { useMedia, withStaticProperties } from '@tamagui/core'\nimport { Drawer, DrawerProvider } from '@tamagui/drawer'\nimport { useControllableState } from '@tamagui/use-controllable-state'\nimport React, { cloneElement, useEffect, useMemo, useState } from 'react'\nimport { Popover, YStack } from 'tamagui'\n\nconst MenuItem = (props) => {\n return props.children\n}\n\ntype MenuProps = {\n children?: React.ReactNode\n open?: boolean\n defaultOpen?: boolean\n trigger?: any\n onChangeOpen?: (next: boolean) => void\n}\n\nexport const Menu = withStaticProperties(\n ({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => {\n const media = useMedia()\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen || false,\n onChange(next) {\n onChangeOpen?.(next)\n },\n })\n\n const triggerProps = useMemo(() => {\n return {\n onPress: () => {\n setOpen((x) => !x)\n },\n }\n }, [])\n\n if (media.sm) {\n return (\n <>\n {cloneElement(trigger, triggerProps)}\n <Drawer open={open} onDismiss={() => setOpen(false)}>\n {children}\n </Drawer>\n </>\n )\n }\n\n return (\n <Popover\n trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}\n open={open}\n onChangeOpen={setOpen}\n >\n <Popover.Content>\n <Popover.Arrow />\n <YStack backgroundColor=\"$background\" borderRadius=\"$2\">\n {children}\n </YStack>\n </Popover.Content>\n </Popover>\n )\n },\n {\n Item: MenuItem,\n Provider: DrawerProvider,\n }\n)\n"],
5
+ "mappings": ";;AAAA;AACA;AACA;AACA;AACA;AAEA,MAAM,WAAW,wBAAC,UAAU;AAC1B,SAAO,MAAM;AACf,GAFiB;AAYV,MAAM,OAAO,qBAClB,CAAC,EAAE,UAAU,MAAM,UAAU,aAAa,SAAS,mBAA8B;AAC/E,QAAM,QAAQ,SAAS;AACvB,QAAM,CAAC,MAAM,WAAW,qBAAqB;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa,eAAe;AAAA,IAC5B,SAAS,MAAM;AACb,mDAAe;AAAA,IACjB;AAAA,EACF,CAAC;AAED,QAAM,eAAe,QAAQ,MAAM;AACjC,WAAO;AAAA,MACL,SAAS,MAAM;AACb,gBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,MAAI,MAAM,IAAI;AACZ,WACE,0DACG,aAAa,SAAS,YAAY,GACnC,oCAAC;AAAA,MAAO;AAAA,MAAY,WAAW,MAAM,QAAQ,KAAK;AAAA,OAC/C,QACH,CACF;AAAA,EAEJ;AAEA,SACE,oCAAC;AAAA,IACC,SAAS,CAAC,UAAU,aAAa,SAAS,KAAK,UAAU,aAAa,CAAC;AAAA,IACvE;AAAA,IACA,cAAc;AAAA,KAEd,oCAAC,QAAQ,SAAR,MACC,oCAAC,QAAQ,OAAR,IAAc,GACf,oCAAC;AAAA,IAAO,iBAAgB;AAAA,IAAc,cAAa;AAAA,KAChD,QACH,CACF,CACF;AAEJ,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
6
6
  "names": []
7
7
  }
package/dist/jsx/Menu.js CHANGED
@@ -2,31 +2,38 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { useMedia, withStaticProperties } from "@tamagui/core";
4
4
  import { Drawer, DrawerProvider } from "@tamagui/drawer";
5
- import { cloneElement, useEffect, useMemo, useState } from "react";
5
+ import { useControllableState } from "@tamagui/use-controllable-state";
6
+ import { cloneElement, useMemo } from "react";
6
7
  import { Popover, YStack } from "tamagui";
7
8
  const MenuItem = /* @__PURE__ */ __name((props) => {
8
9
  return props.children;
9
10
  }, "MenuItem");
10
- const Menu = withStaticProperties(({ children, trigger, onChangeOpen }) => {
11
- const [show, setShow] = useState(false);
11
+ const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
12
  const media = useMedia();
13
- useEffect(() => {
14
- onChangeOpen == null ? void 0 : onChangeOpen(show);
15
- }, [show]);
13
+ const [open, setOpen] = useControllableState({
14
+ prop: openProp,
15
+ defaultProp: defaultOpen || false,
16
+ onChange(next) {
17
+ onChangeOpen == null ? void 0 : onChangeOpen(next);
18
+ }
19
+ });
16
20
  const triggerProps = useMemo(() => {
17
21
  return {
18
22
  onPress: () => {
19
- setShow((x) => !x);
23
+ setOpen((x) => !x);
20
24
  }
21
25
  };
22
26
  }, []);
23
27
  if (media.sm) {
24
28
  return <>
25
29
  {cloneElement(trigger, triggerProps)}
26
- <Drawer open={show} onDismiss={() => setShow(false)}>{children}</Drawer>
30
+ <Drawer open={open} onDismiss={() => setOpen(false)}>{children}</Drawer>
27
31
  </>;
28
32
  }
29
- return <Popover trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })} isOpen={show} onChangeOpen={setShow}><Popover.Content><YStack backgroundColor="$background" borderRadius="$2">{children}</YStack></Popover.Content></Popover>;
33
+ return <Popover trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })} open={open} onChangeOpen={setOpen}><Popover.Content>
34
+ <Popover.Arrow />
35
+ <YStack backgroundColor="$background" borderRadius="$2">{children}</YStack>
36
+ </Popover.Content></Popover>;
30
37
  }, {
31
38
  Item: MenuItem,
32
39
  Provider: DrawerProvider
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/menu",
3
- "version": "1.0.0-beta.200+9591831d",
3
+ "version": "1.0.0-beta.204+322b9fd1",
4
4
  "sideEffects": true,
5
5
  "source": "src/index.ts",
6
6
  "typings": "types",
@@ -18,23 +18,24 @@
18
18
  "clean:build": "tamagui-build clean:build"
19
19
  },
20
20
  "dependencies": {
21
- "@gorhom/bottom-sheet": "^4.1.5",
22
- "@tamagui/core": "^1.0.0-beta.200+9591831d",
23
- "@tamagui/polyfill-dev": "^1.0.0-beta.200+9591831d",
24
- "react-native-gesture-handler": "^2.2.0",
25
- "react-native-reanimated": "^2.4.1"
21
+ "@gorhom/bottom-sheet": "^4.2.1",
22
+ "@tamagui/core": "^1.0.0-beta.204+322b9fd1",
23
+ "@tamagui/polyfill-dev": "^1.0.0-beta.204+322b9fd1",
24
+ "@tamagui/use-controllable-state": "^1.0.0-beta.204+322b9fd1",
25
+ "react-native-gesture-handler": "^2.4.1",
26
+ "react-native-reanimated": "^2.8.0"
26
27
  },
27
28
  "peerDependencies": {
28
29
  "react": "*",
29
30
  "react-dom": "*"
30
31
  },
31
32
  "devDependencies": {
32
- "@tamagui/build": "^1.0.0-beta.200+9591831d",
33
+ "@tamagui/build": "^1.0.0-beta.204+322b9fd1",
33
34
  "react": "*",
34
35
  "react-dom": "*"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"
38
39
  },
39
- "gitHead": "9591831d7d4a58cc4e01846e68a0d3324570b5c8"
40
+ "gitHead": "322b9fd15b9cfbe9b671390a3b4e2562addd57fd"
40
41
  }
package/types/Menu.d.ts CHANGED
@@ -1,10 +1,14 @@
1
- /// <reference types="react" />
2
- export declare const Menu: (({ children, trigger, onChangeOpen }: {
3
- children: any;
4
- trigger: any;
5
- onChangeOpen: any;
6
- }) => JSX.Element) & {
1
+ import React from 'react';
2
+ declare type MenuProps = {
3
+ children?: React.ReactNode;
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ trigger?: any;
7
+ onChangeOpen?: (next: boolean) => void;
8
+ };
9
+ export declare const Menu: (({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => JSX.Element) & {
7
10
  Item: (props: any) => any;
8
11
  Provider: ({ children, }: import("@gorhom/bottom-sheet/lib/typescript/components/bottomSheetModalProvider/types").BottomSheetModalProviderProps) => JSX.Element;
9
12
  };
13
+ export {};
10
14
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../src/Menu.tsx"],"names":[],"mappings":";AASA,eAAO,MAAM,IAAI;;;;;;;CA+ChB,CAAA"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../src/Menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAqD,MAAM,OAAO,CAAA;AAOzE,aAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,IAAI,sEACoD,SAAS;;;CAgD7E,CAAA"}