@tamagui/menu 1.0.0-beta.9 → 1.0.1-beta.101

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
@@ -2,23 +2,8 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
5
  var __getProtoOf = Object.getPrototypeOf;
7
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
22
7
  var __export = (target, all) => {
23
8
  for (var name in all)
24
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -42,10 +27,9 @@ var import_core = require("@tamagui/core");
42
27
  var import_drawer = require("@tamagui/drawer");
43
28
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
44
29
  var import_react = __toESM(require("react"));
45
- var import_tamagui = require("tamagui");
46
- const MenuItem = /* @__PURE__ */ __name((props) => {
30
+ const MenuItem = (props) => {
47
31
  return props.children;
48
- }, "MenuItem");
32
+ };
49
33
  const Menu = (0, import_core.withStaticProperties)(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
50
34
  const media = (0, import_core.useMedia)();
51
35
  const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
@@ -68,14 +52,7 @@ const Menu = (0, import_core.withStaticProperties)(({ children, open: openProp,
68
52
  onDismiss: () => setOpen(false)
69
53
  }, children));
70
54
  }
71
- return /* @__PURE__ */ import_react.default.createElement(import_tamagui.Popover, {
72
- trigger: (props) => (0, import_react.cloneElement)(trigger, __spreadValues(__spreadValues({}, props), triggerProps)),
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, {
76
- backgroundColor: "$background",
77
- borderRadius: "$2"
78
- }, children)));
55
+ return null;
79
56
  }, {
80
57
  Item: MenuItem,
81
58
  Provider: import_drawer.DrawerProvider
@@ -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 { 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;",
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 null\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;AAGlE,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,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,SAAO;AAeT,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
6
6
  "names": []
7
7
  }
package/dist/esm/Menu.js CHANGED
@@ -1,13 +1,10 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  import { useMedia, withStaticProperties } from "@tamagui/core";
4
2
  import { Drawer, DrawerProvider } from "@tamagui/drawer";
5
3
  import { useControllableState } from "@tamagui/use-controllable-state";
6
4
  import React, { cloneElement, useMemo } from "react";
7
- import { Popover, YStack } from "tamagui";
8
- const MenuItem = /* @__PURE__ */ __name((props) => {
5
+ const MenuItem = (props) => {
9
6
  return props.children;
10
- }, "MenuItem");
7
+ };
11
8
  const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
9
  const media = useMedia();
13
10
  const [open, setOpen] = useControllableState({
@@ -30,14 +27,7 @@ const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trig
30
27
  onDismiss: () => setOpen(false)
31
28
  }, children));
32
29
  }
33
- return /* @__PURE__ */ React.createElement(Popover, {
34
- trigger: (props) => cloneElement(trigger, { ...props, ...triggerProps }),
35
- open,
36
- onChangeOpen: setOpen
37
- }, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(Popover.Arrow, null), /* @__PURE__ */ React.createElement(YStack, {
38
- backgroundColor: "$background",
39
- borderRadius: "$2"
40
- }, children)));
30
+ return null;
41
31
  }, {
42
32
  Item: MenuItem,
43
33
  Provider: DrawerProvider
@@ -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 { 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;",
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 null\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;AAGA,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,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,SAAO;AAeT,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
6
6
  "names": []
7
7
  }
package/dist/jsx/Menu.js CHANGED
@@ -1,13 +1,10 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
1
  import { useMedia, withStaticProperties } from "@tamagui/core";
4
2
  import { Drawer, DrawerProvider } from "@tamagui/drawer";
5
3
  import { useControllableState } from "@tamagui/use-controllable-state";
6
4
  import { cloneElement, useMemo } from "react";
7
- import { Popover, YStack } from "tamagui";
8
- const MenuItem = /* @__PURE__ */ __name((props) => {
5
+ const MenuItem = (props) => {
9
6
  return props.children;
10
- }, "MenuItem");
7
+ };
11
8
  const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
9
  const media = useMedia();
13
10
  const [open, setOpen] = useControllableState({
@@ -30,10 +27,7 @@ const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trig
30
27
  <Drawer open={open} onDismiss={() => setOpen(false)}>{children}</Drawer>
31
28
  </>;
32
29
  }
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
+ return null;
37
31
  }, {
38
32
  Item: MenuItem,
39
33
  Provider: DrawerProvider
@@ -41,3 +35,4 @@ const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trig
41
35
  export {
42
36
  Menu
43
37
  };
38
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Menu.tsx"],
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 null\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;AAGA,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,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;AAAA,OACG,aAAa,SAAS,YAAY;AAAA,MACnC,CAAC,OAAO,MAAM,MAAM,WAAW,MAAM,QAAQ,KAAK,IAC/C,SACH,EAFC;AAAA,IAGH;AAAA,EAEJ;AAEA,SAAO;AAeT,GACA;AAAA,EACE,MAAM;AAAA,EACN,UAAU;AACZ,CACF;",
6
+ "names": []
7
+ }
package/dist/jsx/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  import "@tamagui/polyfill-dev";
2
2
  export * from "./Menu";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "sourcesContent": ["import '@tamagui/polyfill-dev'\nexport * from './Menu'\n"],
5
+ "mappings": "AAAA;AACA;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "@tamagui/menu",
3
- "version": "1.0.0-beta.9",
4
- "sideEffects": true,
3
+ "version": "1.0.1-beta.101",
4
+ "sideEffects": [
5
+ "*.css"
6
+ ],
5
7
  "source": "src/index.ts",
6
- "typings": "types",
8
+ "types": "./types/index.d.ts",
7
9
  "main": "dist/cjs",
8
10
  "module": "dist/esm",
9
11
  "module:jsx": "dist/jsx",
10
12
  "files": [
13
+ "src",
11
14
  "types",
12
15
  "dist"
13
16
  ],
@@ -18,19 +21,19 @@
18
21
  "clean:build": "tamagui-build clean:build"
19
22
  },
20
23
  "dependencies": {
21
- "@gorhom/bottom-sheet": "^4.2.1",
22
- "@tamagui/core": "^1.0.0-beta.9",
23
- "@tamagui/polyfill-dev": "^1.0.0-beta.9",
24
- "@tamagui/use-controllable-state": "^1.0.0-beta.9",
25
- "react-native-gesture-handler": "^2.1.0",
26
- "react-native-reanimated": "^2.3.1"
24
+ "@gorhom/bottom-sheet": "^4.3.1",
25
+ "@tamagui/core": "^1.0.1-beta.101",
26
+ "@tamagui/polyfill-dev": "^1.0.1-beta.101",
27
+ "@tamagui/use-controllable-state": "^1.0.1-beta.101",
28
+ "react-native-gesture-handler": "*",
29
+ "react-native-reanimated": "^2.8.0"
27
30
  },
28
31
  "peerDependencies": {
29
32
  "react": "*",
30
33
  "react-dom": "*"
31
34
  },
32
35
  "devDependencies": {
33
- "@tamagui/build": "^1.0.0-beta.9",
36
+ "@tamagui/build": "^1.0.1-beta.101",
34
37
  "react": "*",
35
38
  "react-dom": "*"
36
39
  },
package/src/Menu.tsx ADDED
@@ -0,0 +1,69 @@
1
+ import { useMedia, withStaticProperties } from '@tamagui/core'
2
+ import { Drawer, DrawerProvider } from '@tamagui/drawer'
3
+ import { useControllableState } from '@tamagui/use-controllable-state'
4
+ import React, { cloneElement, useEffect, useMemo, useState } from 'react'
5
+ import { Popover, YStack } from 'tamagui'
6
+
7
+ const MenuItem = (props) => {
8
+ return props.children
9
+ }
10
+
11
+ type MenuProps = {
12
+ children?: React.ReactNode
13
+ open?: boolean
14
+ defaultOpen?: boolean
15
+ trigger?: any
16
+ onChangeOpen?: (next: boolean) => void
17
+ }
18
+
19
+ export const Menu = withStaticProperties(
20
+ ({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => {
21
+ const media = useMedia()
22
+ const [open, setOpen] = useControllableState({
23
+ prop: openProp,
24
+ defaultProp: defaultOpen || false,
25
+ onChange(next) {
26
+ onChangeOpen?.(next)
27
+ },
28
+ })
29
+
30
+ const triggerProps = useMemo(() => {
31
+ return {
32
+ onPress: () => {
33
+ setOpen((x) => !x)
34
+ },
35
+ }
36
+ }, [])
37
+
38
+ if (media.sm) {
39
+ return (
40
+ <>
41
+ {cloneElement(trigger, triggerProps)}
42
+ <Drawer open={open} onDismiss={() => setOpen(false)}>
43
+ {children}
44
+ </Drawer>
45
+ </>
46
+ )
47
+ }
48
+
49
+ return null
50
+ // return (
51
+ // <Popover
52
+ // trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}
53
+ // open={open}
54
+ // onChangeOpen={setOpen}
55
+ // >
56
+ // <Popover.Content>
57
+ // <Popover.Arrow />
58
+ // <YStack backgroundColor="$background" borderRadius="$2">
59
+ // {children}
60
+ // </YStack>
61
+ // </Popover.Content>
62
+ // </Popover>
63
+ // )
64
+ },
65
+ {
66
+ Item: MenuItem,
67
+ Provider: DrawerProvider,
68
+ }
69
+ )
package/src/index.tsx ADDED
@@ -0,0 +1,2 @@
1
+ import '@tamagui/polyfill-dev'
2
+ export * from './Menu'
package/types/Menu.d.ts CHANGED
@@ -6,7 +6,7 @@ declare type MenuProps = {
6
6
  trigger?: any;
7
7
  onChangeOpen?: (next: boolean) => void;
8
8
  };
9
- export declare const Menu: (({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => JSX.Element) & {
9
+ export declare const Menu: (({ children, open: openProp, defaultOpen, trigger, onChangeOpen }: MenuProps) => JSX.Element | null) & {
10
10
  Item: (props: any) => any;
11
11
  Provider: ({ children, }: import("@gorhom/bottom-sheet/lib/typescript/components/bottomSheetModalProvider/types").BottomSheetModalProviderProps) => JSX.Element;
12
12
  };
@@ -1 +1 @@
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"}
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;;;CAiD7E,CAAA"}
package/types/index.d.ts CHANGED
File without changes
File without changes