@tamagui/menu 1.0.1-beta.18 → 1.0.1-beta.181

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,24 +1,8 @@
1
- var __create = Object.create;
1
+ "use strict";
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  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
6
  var __export = (target, all) => {
23
7
  for (var name in all)
24
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -31,55 +15,56 @@ var __copyProps = (to, from, except, desc) => {
31
15
  }
32
16
  return to;
33
17
  };
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));
35
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
19
  var Menu_exports = {};
37
20
  __export(Menu_exports, {
38
21
  Menu: () => Menu
39
22
  });
40
23
  module.exports = __toCommonJS(Menu_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
41
25
  var import_core = require("@tamagui/core");
42
26
  var import_drawer = require("@tamagui/drawer");
43
27
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
44
- var import_react = __toESM(require("react"));
45
- var import_tamagui = require("tamagui");
46
- const MenuItem = /* @__PURE__ */ __name((props) => {
28
+ var import_react = require("react");
29
+ const MenuItem = (props) => {
47
30
  return props.children;
48
- }, "MenuItem");
49
- const Menu = (0, import_core.withStaticProperties)(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
50
- const media = (0, import_core.useMedia)();
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
- });
58
- const triggerProps = (0, import_react.useMemo)(() => {
59
- return {
60
- onPress: () => {
61
- setOpen((x) => !x);
31
+ };
32
+ const Menu = (0, import_core.withStaticProperties)(
33
+ ({ children, open: openProp, defaultOpen, trigger, onOpenChange }) => {
34
+ const media = (0, import_core.useMedia)();
35
+ const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
36
+ prop: openProp,
37
+ defaultProp: defaultOpen || false,
38
+ onChange(next) {
39
+ onOpenChange == null ? void 0 : onOpenChange(next);
62
40
  }
63
- };
64
- }, []);
65
- if (media.sm) {
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)
69
- }, children));
41
+ });
42
+ const triggerProps = (0, import_react.useMemo)(() => {
43
+ return {
44
+ onPress: () => {
45
+ setOpen((x) => !x);
46
+ }
47
+ };
48
+ }, []);
49
+ if (media.sm) {
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
51
+ children: [
52
+ (0, import_react.cloneElement)(trigger, triggerProps),
53
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_drawer.Drawer, {
54
+ open,
55
+ onDismiss: () => setOpen(false),
56
+ children
57
+ })
58
+ ]
59
+ });
60
+ }
61
+ return null;
62
+ },
63
+ {
64
+ Item: MenuItem,
65
+ Provider: import_drawer.DrawerProvider
70
66
  }
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)));
79
- }, {
80
- Item: MenuItem,
81
- Provider: import_drawer.DrawerProvider
82
- });
67
+ );
83
68
  // Annotate the CommonJS export names for ESM import in node:
84
69
  0 && (module.exports = {
85
70
  Menu
@@ -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'\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 onOpenChange?: (next: boolean) => void\n}\n\nexport const Menu = withStaticProperties(\n ({ children, open: openProp, defaultOpen, trigger, onOpenChange }: MenuProps) => {\n const media = useMedia()\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen || false,\n onChange(next) {\n onOpenChange?.(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 // onOpenChange={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;AAsCQ;AAtCR,kBAA+C;AAC/C,oBAAuC;AACvC,oCAAqC;AACrC,mBAAkE;AAElE,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,MAAM,WAAO;AAAA,EAClB,CAAC,EAAE,UAAU,MAAM,UAAU,aAAa,SAAS,aAAa,MAAiB;AAC/E,UAAM,YAAQ,sBAAS;AACvB,UAAM,CAAC,MAAM,OAAO,QAAI,oDAAqB;AAAA,MAC3C,MAAM;AAAA,MACN,aAAa,eAAe;AAAA,MAC5B,SAAS,MAAM;AACb,qDAAe;AAAA,MACjB;AAAA,IACF,CAAC;AAED,UAAM,mBAAe,sBAAQ,MAAM;AACjC,aAAO;AAAA,QACL,SAAS,MAAM;AACb,kBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,QACnB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,QAAI,MAAM,IAAI;AACZ,aACE;AAAA,QACG;AAAA,yCAAa,SAAS,YAAY;AAAA,UACnC,4CAAC;AAAA,YAAO;AAAA,YAAY,WAAW,MAAM,QAAQ,KAAK;AAAA,YAC/C;AAAA,WACH;AAAA;AAAA,OACF;AAAA,IAEJ;AAEA,WAAO;AAAA,EAeT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
4
  "sourcesContent": ["import '@tamagui/polyfill-dev'\nexport * from './Menu'\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAO;AACP,wBAAc,mBADd;",
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAO;AACP,wBAAc,mBADd;",
6
6
  "names": []
7
7
  }
package/dist/esm/Menu.js CHANGED
@@ -1,47 +1,47 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
2
  import { useMedia, withStaticProperties } from "@tamagui/core";
4
3
  import { Drawer, DrawerProvider } from "@tamagui/drawer";
5
4
  import { useControllableState } from "@tamagui/use-controllable-state";
6
- import React, { cloneElement, useMemo } from "react";
7
- import { Popover, YStack } from "tamagui";
8
- const MenuItem = /* @__PURE__ */ __name((props) => {
5
+ import { cloneElement, useMemo } from "react";
6
+ const MenuItem = (props) => {
9
7
  return props.children;
10
- }, "MenuItem");
11
- const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
- const media = useMedia();
13
- const [open, setOpen] = useControllableState({
14
- prop: openProp,
15
- defaultProp: defaultOpen || false,
16
- onChange(next) {
17
- onChangeOpen == null ? void 0 : onChangeOpen(next);
18
- }
19
- });
20
- const triggerProps = useMemo(() => {
21
- return {
22
- onPress: () => {
23
- setOpen((x) => !x);
8
+ };
9
+ const Menu = withStaticProperties(
10
+ ({ children, open: openProp, defaultOpen, trigger, onOpenChange }) => {
11
+ const media = useMedia();
12
+ const [open, setOpen] = useControllableState({
13
+ prop: openProp,
14
+ defaultProp: defaultOpen || false,
15
+ onChange(next) {
16
+ onOpenChange == null ? void 0 : onOpenChange(next);
24
17
  }
25
- };
26
- }, []);
27
- if (media.sm) {
28
- return /* @__PURE__ */ React.createElement(React.Fragment, null, cloneElement(trigger, triggerProps), /* @__PURE__ */ React.createElement(Drawer, {
29
- open,
30
- onDismiss: () => setOpen(false)
31
- }, children));
18
+ });
19
+ const triggerProps = useMemo(() => {
20
+ return {
21
+ onPress: () => {
22
+ setOpen((x) => !x);
23
+ }
24
+ };
25
+ }, []);
26
+ if (media.sm) {
27
+ return /* @__PURE__ */ jsxs(Fragment, {
28
+ children: [
29
+ cloneElement(trigger, triggerProps),
30
+ /* @__PURE__ */ jsx(Drawer, {
31
+ open,
32
+ onDismiss: () => setOpen(false),
33
+ children
34
+ })
35
+ ]
36
+ });
37
+ }
38
+ return null;
39
+ },
40
+ {
41
+ Item: MenuItem,
42
+ Provider: DrawerProvider
32
43
  }
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)));
41
- }, {
42
- Item: MenuItem,
43
- Provider: DrawerProvider
44
- });
44
+ );
45
45
  export {
46
46
  Menu
47
47
  };
@@ -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'\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 onOpenChange?: (next: boolean) => void\n}\n\nexport const Menu = withStaticProperties(\n ({ children, open: openProp, defaultOpen, trigger, onOpenChange }: MenuProps) => {\n const media = useMedia()\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen || false,\n onChange(next) {\n onOpenChange?.(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 // onOpenChange={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": "AAsCQ,mBAEE,KAFF;AAtCR,SAAS,UAAU,4BAA4B;AAC/C,SAAS,QAAQ,sBAAsB;AACvC,SAAS,4BAA4B;AACrC,SAAgB,cAAyB,eAAyB;AAElE,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,MAAM,OAAO;AAAA,EAClB,CAAC,EAAE,UAAU,MAAM,UAAU,aAAa,SAAS,aAAa,MAAiB;AAC/E,UAAM,QAAQ,SAAS;AACvB,UAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,MAC3C,MAAM;AAAA,MACN,aAAa,eAAe;AAAA,MAC5B,SAAS,MAAM;AACb,qDAAe;AAAA,MACjB;AAAA,IACF,CAAC;AAED,UAAM,eAAe,QAAQ,MAAM;AACjC,aAAO;AAAA,QACL,SAAS,MAAM;AACb,kBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,QACnB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,QAAI,MAAM,IAAI;AACZ,aACE;AAAA,QACG;AAAA,uBAAa,SAAS,YAAY;AAAA,UACnC,oBAAC;AAAA,YAAO;AAAA,YAAY,WAAW,MAAM,QAAQ,KAAK;AAAA,YAC/C;AAAA,WACH;AAAA;AAAA,OACF;AAAA,IAEJ;AAEA,WAAO;AAAA,EAeT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
File without changes
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
4
  "sourcesContent": ["import '@tamagui/polyfill-dev'\nexport * from './Menu'\n"],
5
- "mappings": "AAAA;AACA;",
5
+ "mappings": "AAAA,OAAO;AACP,cAAc;",
6
6
  "names": []
7
7
  }
package/dist/jsx/Menu.js CHANGED
@@ -1,43 +1,41 @@
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");
11
- const Menu = withStaticProperties(({ children, open: openProp, defaultOpen, trigger, onChangeOpen }) => {
12
- const media = useMedia();
13
- const [open, setOpen] = useControllableState({
14
- prop: openProp,
15
- defaultProp: defaultOpen || false,
16
- onChange(next) {
17
- onChangeOpen == null ? void 0 : onChangeOpen(next);
18
- }
19
- });
20
- const triggerProps = useMemo(() => {
21
- return {
22
- onPress: () => {
23
- setOpen((x) => !x);
7
+ };
8
+ const Menu = withStaticProperties(
9
+ ({ children, open: openProp, defaultOpen, trigger, onOpenChange }) => {
10
+ const media = useMedia();
11
+ const [open, setOpen] = useControllableState({
12
+ prop: openProp,
13
+ defaultProp: defaultOpen || false,
14
+ onChange(next) {
15
+ onOpenChange?.(next);
24
16
  }
25
- };
26
- }, []);
27
- if (media.sm) {
28
- return <>
29
- {cloneElement(trigger, triggerProps)}
30
- <Drawer open={open} onDismiss={() => setOpen(false)}>{children}</Drawer>
31
- </>;
17
+ });
18
+ const triggerProps = useMemo(() => {
19
+ return {
20
+ onPress: () => {
21
+ setOpen((x) => !x);
22
+ }
23
+ };
24
+ }, []);
25
+ if (media.sm) {
26
+ return <>
27
+ {cloneElement(trigger, triggerProps)}
28
+ <Drawer open={open} onDismiss={() => setOpen(false)}>{children}</Drawer>
29
+ </>;
30
+ }
31
+ return null;
32
+ },
33
+ {
34
+ Item: MenuItem,
35
+ Provider: DrawerProvider
32
36
  }
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>;
37
- }, {
38
- Item: MenuItem,
39
- Provider: DrawerProvider
40
- });
37
+ );
41
38
  export {
42
39
  Menu
43
40
  };
41
+ //# 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'\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 onOpenChange?: (next: boolean) => void\n}\n\nexport const Menu = withStaticProperties(\n ({ children, open: openProp, defaultOpen, trigger, onOpenChange }: MenuProps) => {\n const media = useMedia()\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen || false,\n onChange(next) {\n onOpenChange?.(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 // onOpenChange={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,SAAS,UAAU,4BAA4B;AAC/C,SAAS,QAAQ,sBAAsB;AACvC,SAAS,4BAA4B;AACrC,SAAgB,cAAyB,eAAyB;AAElE,MAAM,WAAW,CAAC,UAAU;AAC1B,SAAO,MAAM;AACf;AAUO,MAAM,OAAO;AAAA,EAClB,CAAC,EAAE,UAAU,MAAM,UAAU,aAAa,SAAS,aAAa,MAAiB;AAC/E,UAAM,QAAQ,SAAS;AACvB,UAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,MAC3C,MAAM;AAAA,MACN,aAAa,eAAe;AAAA,MAC5B,SAAS,MAAM;AACb,uBAAe,IAAI;AAAA,MACrB;AAAA,IACF,CAAC;AAED,UAAM,eAAe,QAAQ,MAAM;AACjC,aAAO;AAAA,QACL,SAAS,MAAM;AACb,kBAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,QACnB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,QAAI,MAAM,IAAI;AACZ,aACE;AAAA,SACG,aAAa,SAAS,YAAY;AAAA,QACnC,CAAC,OAAO,MAAM,MAAM,WAAW,MAAM,QAAQ,KAAK,IAC/C,SACH,EAFC;AAAA,MAGH;AAAA,IAEJ;AAEA,WAAO;AAAA,EAeT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
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,OAAO;AACP,cAAc;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,36 +1,37 @@
1
1
  {
2
2
  "name": "@tamagui/menu",
3
- "version": "1.0.1-beta.18",
4
- "sideEffects": true,
3
+ "version": "1.0.1-beta.181",
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
  ],
14
17
  "scripts": {
15
18
  "build": "tamagui-build",
16
19
  "watch": "tamagui-build --watch",
20
+ "lint": "eslint",
21
+ "lint:fix": "yarn lint --fix",
17
22
  "clean": "tamagui-build clean",
18
23
  "clean:build": "tamagui-build clean:build"
19
24
  },
20
25
  "dependencies": {
21
- "@gorhom/bottom-sheet": "^4.2.1",
22
- "@tamagui/core": "^1.0.1-beta.18",
23
- "@tamagui/polyfill-dev": "^1.0.1-beta.18",
24
- "@tamagui/use-controllable-state": "^1.0.1-beta.18",
25
- "react-native-gesture-handler": "*",
26
- "react-native-reanimated": "~2.8.0"
26
+ "@tamagui/core": "^1.0.1-beta.181",
27
+ "@tamagui/popover": "^1.0.1-beta.181"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "react": "*",
30
31
  "react-dom": "*"
31
32
  },
32
33
  "devDependencies": {
33
- "@tamagui/build": "^1.0.1-beta.18",
34
+ "@tamagui/build": "^1.0.1-beta.181",
34
35
  "react": "*",
35
36
  "react-dom": "*"
36
37
  },
package/src/Menu.tsx ADDED
@@ -0,0 +1,68 @@
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
+
6
+ const MenuItem = (props) => {
7
+ return props.children
8
+ }
9
+
10
+ type MenuProps = {
11
+ children?: React.ReactNode
12
+ open?: boolean
13
+ defaultOpen?: boolean
14
+ trigger?: any
15
+ onOpenChange?: (next: boolean) => void
16
+ }
17
+
18
+ export const Menu = withStaticProperties(
19
+ ({ children, open: openProp, defaultOpen, trigger, onOpenChange }: MenuProps) => {
20
+ const media = useMedia()
21
+ const [open, setOpen] = useControllableState({
22
+ prop: openProp,
23
+ defaultProp: defaultOpen || false,
24
+ onChange(next) {
25
+ onOpenChange?.(next)
26
+ },
27
+ })
28
+
29
+ const triggerProps = useMemo(() => {
30
+ return {
31
+ onPress: () => {
32
+ setOpen((x) => !x)
33
+ },
34
+ }
35
+ }, [])
36
+
37
+ if (media.sm) {
38
+ return (
39
+ <>
40
+ {cloneElement(trigger, triggerProps)}
41
+ <Drawer open={open} onDismiss={() => setOpen(false)}>
42
+ {children}
43
+ </Drawer>
44
+ </>
45
+ )
46
+ }
47
+
48
+ return null
49
+ // return (
50
+ // <Popover
51
+ // trigger={(props) => cloneElement(trigger, { ...props, ...triggerProps })}
52
+ // open={open}
53
+ // onOpenChange={setOpen}
54
+ // >
55
+ // <Popover.Content>
56
+ // <Popover.Arrow />
57
+ // <YStack backgroundColor="$background" borderRadius="$2">
58
+ // {children}
59
+ // </YStack>
60
+ // </Popover.Content>
61
+ // </Popover>
62
+ // )
63
+ },
64
+ {
65
+ Item: MenuItem,
66
+ Provider: DrawerProvider,
67
+ }
68
+ )
package/src/index.tsx ADDED
@@ -0,0 +1,2 @@
1
+ import '@tamagui/polyfill-dev'
2
+ export * from './Menu'
package/types/Menu.d.ts CHANGED
@@ -4,9 +4,9 @@ declare type MenuProps = {
4
4
  open?: boolean;
5
5
  defaultOpen?: boolean;
6
6
  trigger?: any;
7
- onChangeOpen?: (next: boolean) => void;
7
+ onOpenChange?: (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, defaultOpen, trigger, onOpenChange }: 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 +0,0 @@
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 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAC9B,cAAc,QAAQ,CAAA"}