@tamagui/demos 1.79.11 → 1.79.13

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.
@@ -0,0 +1,160 @@
1
+ import { isAndroid, isWeb } from "@tamagui/core";
2
+ import { DropdownMenu } from "@tamagui/dropdown-menu";
3
+ import { Backpack, Calendar, Check } from "@tamagui/lucide-icons";
4
+ import { ChevronRight } from "@tamagui/lucide-icons";
5
+ import React from "react";
6
+ import { Button, Text, useEvent } from "tamagui";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ function DropDownMenuDemo() {
9
+ const [bookmarksChecked, setBookmarksChecked] = React.useState(!0), [native, setNative] = React.useState(!1), onSelect = useEvent(() => {
10
+ });
11
+ return /* @__PURE__ */ jsxs(
12
+ DropdownMenu,
13
+ {
14
+ offset: {
15
+ crossAxis: 25
16
+ },
17
+ allowFlip: !0,
18
+ native,
19
+ placement: "bottom-start",
20
+ children: [
21
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { asChild: !0, children: /* @__PURE__ */ jsx(Button, { width: 60, children: /* @__PURE__ */ jsx(Backpack, {}) }) }),
22
+ /* @__PURE__ */ jsx(DropdownMenu.Portal, { zIndex: 100, children: /* @__PURE__ */ jsxs(
23
+ DropdownMenu.Content,
24
+ {
25
+ paddingHorizontal: 0,
26
+ maxWidth: 180,
27
+ borderWidth: 1,
28
+ ai: "flex-start",
29
+ borderColor: "$borderColor",
30
+ enterStyle: { y: -10, opacity: 0 },
31
+ exitStyle: { y: -10, opacity: 0 },
32
+ elevate: !0,
33
+ animation: [
34
+ "quick",
35
+ {
36
+ opacity: {
37
+ overshootClamping: !0
38
+ }
39
+ }
40
+ ],
41
+ children: [
42
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "About Notes" }) }, "about-notes"),
43
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
44
+ /* @__PURE__ */ jsxs(DropdownMenu.Group, { children: [
45
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Settings" }) }, "settings"),
46
+ /* @__PURE__ */ jsxs(
47
+ DropdownMenu.Item,
48
+ {
49
+ onSelect,
50
+ jc: "space-between",
51
+ textValue: "Calender",
52
+ children: [
53
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: /* @__PURE__ */ jsx(Text, { children: "Calender" }) }),
54
+ /* @__PURE__ */ jsx(
55
+ DropdownMenu.ItemIcon,
56
+ {
57
+ androidIconName: "ic_menu_today",
58
+ ios: {
59
+ name: "u.square",
60
+ hierarchicalColor: "#000",
61
+ pointSize: 20
62
+ },
63
+ children: /* @__PURE__ */ jsx(Calendar, { color: "gray", size: "$1" })
64
+ }
65
+ )
66
+ ]
67
+ },
68
+ "accounts"
69
+ )
70
+ ] }),
71
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
72
+ /* @__PURE__ */ jsxs(DropdownMenu.Group, { children: [
73
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, disabled: !0, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { color: "gray", children: "Locked" }) }, "close-notes"),
74
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, destructive: !0, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Delete all" }) }, "delete-all")
75
+ ] }),
76
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
77
+ /* @__PURE__ */ jsxs(DropdownMenu.Sub, { placement: "right-start", children: [
78
+ /* @__PURE__ */ jsx(DropdownMenu.SubTrigger, { jc: "space-between", children: /* @__PURE__ */ jsxs(Fragment, { children: [
79
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Actions" }),
80
+ !native || isWeb ? /* @__PURE__ */ jsx(ChevronRight, { size: "$1" }) : null
81
+ ] }) }, "actions-trigger"),
82
+ /* @__PURE__ */ jsx(DropdownMenu.Portal, { zIndex: 200, children: /* @__PURE__ */ jsxs(
83
+ DropdownMenu.SubContent,
84
+ {
85
+ enterStyle: { y: -10, opacity: 0 },
86
+ exitStyle: { y: -10, opacity: 0 },
87
+ elevate: !0,
88
+ animation: [
89
+ "quick",
90
+ {
91
+ opacity: {
92
+ overshootClamping: !0
93
+ }
94
+ }
95
+ ],
96
+ paddingHorizontal: 0,
97
+ children: [
98
+ /* @__PURE__ */ jsx(DropdownMenu.Label, { fontSize: "$1", children: "Note settings" }),
99
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Create note" }) }, "create-note"),
100
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Delete all notes" }) }, "delete-all"),
101
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Sync notes" }) }, "sync-all")
102
+ ]
103
+ }
104
+ ) })
105
+ ] }),
106
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, { className: "DropdownMenuSeparator" }),
107
+ /* @__PURE__ */ jsxs(
108
+ DropdownMenu.CheckboxItem,
109
+ {
110
+ checked: bookmarksChecked,
111
+ onCheckedChange: setBookmarksChecked,
112
+ value: bookmarksChecked ? "on" : "off",
113
+ onValueChange: (v) => setBookmarksChecked(v == "on"),
114
+ ...isAndroid && native && {
115
+ onSelect: () => {
116
+ isAndroid && setBookmarksChecked(!bookmarksChecked);
117
+ }
118
+ },
119
+ gap: "$2",
120
+ children: [
121
+ /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { className: "DropdownMenuItemIndicator", children: /* @__PURE__ */ jsx(Check, { size: "$1" }) }),
122
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Mark as read" }),
123
+ isAndroid && native && bookmarksChecked && /* @__PURE__ */ jsx(DropdownMenu.ItemIcon, { androidIconName: "checkbox_on_background" })
124
+ ]
125
+ },
126
+ "show-hidden"
127
+ ),
128
+ /* @__PURE__ */ jsxs(
129
+ DropdownMenu.CheckboxItem,
130
+ {
131
+ checked: native,
132
+ onCheckedChange: setNative,
133
+ value: native ? "on" : "off",
134
+ onValueChange: (v) => setNative(v == "on"),
135
+ ...isAndroid && native && {
136
+ onSelect: () => {
137
+ setNative(!native);
138
+ }
139
+ },
140
+ gap: "$2",
141
+ children: [
142
+ /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: "$1" }) }),
143
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Enable Native" }),
144
+ isAndroid && native && /* @__PURE__ */ jsx(DropdownMenu.ItemIcon, { androidIconName: "checkbox_on_background" })
145
+ ]
146
+ },
147
+ "show-other-notes"
148
+ ),
149
+ /* @__PURE__ */ jsx(DropdownMenu.Arrow, { size: "$2" })
150
+ ]
151
+ }
152
+ ) })
153
+ ]
154
+ }
155
+ );
156
+ }
157
+ export {
158
+ DropDownMenuDemo
159
+ };
160
+ //# sourceMappingURL=DropDownMenuDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DropDownMenuDemo.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,160 @@
1
+ import { isAndroid, isWeb } from "@tamagui/core";
2
+ import { DropdownMenu } from "@tamagui/dropdown-menu";
3
+ import { Backpack, Calendar, Check } from "@tamagui/lucide-icons";
4
+ import { ChevronRight } from "@tamagui/lucide-icons";
5
+ import React from "react";
6
+ import { Button, Text, useEvent } from "tamagui";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ function DropDownMenuDemo() {
9
+ const [bookmarksChecked, setBookmarksChecked] = React.useState(!0), [native, setNative] = React.useState(!1), onSelect = useEvent(() => {
10
+ });
11
+ return /* @__PURE__ */ jsxs(
12
+ DropdownMenu,
13
+ {
14
+ offset: {
15
+ crossAxis: 25
16
+ },
17
+ allowFlip: !0,
18
+ native,
19
+ placement: "bottom-start",
20
+ children: [
21
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { asChild: !0, children: /* @__PURE__ */ jsx(Button, { width: 60, children: /* @__PURE__ */ jsx(Backpack, {}) }) }),
22
+ /* @__PURE__ */ jsx(DropdownMenu.Portal, { zIndex: 100, children: /* @__PURE__ */ jsxs(
23
+ DropdownMenu.Content,
24
+ {
25
+ paddingHorizontal: 0,
26
+ maxWidth: 180,
27
+ borderWidth: 1,
28
+ ai: "flex-start",
29
+ borderColor: "$borderColor",
30
+ enterStyle: { y: -10, opacity: 0 },
31
+ exitStyle: { y: -10, opacity: 0 },
32
+ elevate: !0,
33
+ animation: [
34
+ "quick",
35
+ {
36
+ opacity: {
37
+ overshootClamping: !0
38
+ }
39
+ }
40
+ ],
41
+ children: [
42
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "About Notes" }) }, "about-notes"),
43
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
44
+ /* @__PURE__ */ jsxs(DropdownMenu.Group, { children: [
45
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Settings" }) }, "settings"),
46
+ /* @__PURE__ */ jsxs(
47
+ DropdownMenu.Item,
48
+ {
49
+ onSelect,
50
+ jc: "space-between",
51
+ textValue: "Calender",
52
+ children: [
53
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: /* @__PURE__ */ jsx(Text, { children: "Calender" }) }),
54
+ /* @__PURE__ */ jsx(
55
+ DropdownMenu.ItemIcon,
56
+ {
57
+ androidIconName: "ic_menu_today",
58
+ ios: {
59
+ name: "u.square",
60
+ hierarchicalColor: "#000",
61
+ pointSize: 20
62
+ },
63
+ children: /* @__PURE__ */ jsx(Calendar, { color: "gray", size: "$1" })
64
+ }
65
+ )
66
+ ]
67
+ },
68
+ "accounts"
69
+ )
70
+ ] }),
71
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
72
+ /* @__PURE__ */ jsxs(DropdownMenu.Group, { children: [
73
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, disabled: !0, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { color: "gray", children: "Locked" }) }, "close-notes"),
74
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, destructive: !0, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Delete all" }) }, "delete-all")
75
+ ] }),
76
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
77
+ /* @__PURE__ */ jsxs(DropdownMenu.Sub, { placement: "right-start", children: [
78
+ /* @__PURE__ */ jsx(DropdownMenu.SubTrigger, { jc: "space-between", children: /* @__PURE__ */ jsxs(Fragment, { children: [
79
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Actions" }),
80
+ !native || isWeb ? /* @__PURE__ */ jsx(ChevronRight, { size: "$1" }) : null
81
+ ] }) }, "actions-trigger"),
82
+ /* @__PURE__ */ jsx(DropdownMenu.Portal, { zIndex: 200, children: /* @__PURE__ */ jsxs(
83
+ DropdownMenu.SubContent,
84
+ {
85
+ enterStyle: { y: -10, opacity: 0 },
86
+ exitStyle: { y: -10, opacity: 0 },
87
+ elevate: !0,
88
+ animation: [
89
+ "quick",
90
+ {
91
+ opacity: {
92
+ overshootClamping: !0
93
+ }
94
+ }
95
+ ],
96
+ paddingHorizontal: 0,
97
+ children: [
98
+ /* @__PURE__ */ jsx(DropdownMenu.Label, { fontSize: "$1", children: "Note settings" }),
99
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Create note" }) }, "create-note"),
100
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Delete all notes" }) }, "delete-all"),
101
+ /* @__PURE__ */ jsx(DropdownMenu.Item, { onSelect, children: /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Sync notes" }) }, "sync-all")
102
+ ]
103
+ }
104
+ ) })
105
+ ] }),
106
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, { className: "DropdownMenuSeparator" }),
107
+ /* @__PURE__ */ jsxs(
108
+ DropdownMenu.CheckboxItem,
109
+ {
110
+ checked: bookmarksChecked,
111
+ onCheckedChange: setBookmarksChecked,
112
+ value: bookmarksChecked ? "on" : "off",
113
+ onValueChange: (v) => setBookmarksChecked(v == "on"),
114
+ ...isAndroid && native && {
115
+ onSelect: () => {
116
+ isAndroid && setBookmarksChecked(!bookmarksChecked);
117
+ }
118
+ },
119
+ gap: "$2",
120
+ children: [
121
+ /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { className: "DropdownMenuItemIndicator", children: /* @__PURE__ */ jsx(Check, { size: "$1" }) }),
122
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Mark as read" }),
123
+ isAndroid && native && bookmarksChecked && /* @__PURE__ */ jsx(DropdownMenu.ItemIcon, { androidIconName: "checkbox_on_background" })
124
+ ]
125
+ },
126
+ "show-hidden"
127
+ ),
128
+ /* @__PURE__ */ jsxs(
129
+ DropdownMenu.CheckboxItem,
130
+ {
131
+ checked: native,
132
+ onCheckedChange: setNative,
133
+ value: native ? "on" : "off",
134
+ onValueChange: (v) => setNative(v == "on"),
135
+ ...isAndroid && native && {
136
+ onSelect: () => {
137
+ setNative(!native);
138
+ }
139
+ },
140
+ gap: "$2",
141
+ children: [
142
+ /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { size: "$1" }) }),
143
+ /* @__PURE__ */ jsx(DropdownMenu.ItemTitle, { children: "Enable Native" }),
144
+ isAndroid && native && /* @__PURE__ */ jsx(DropdownMenu.ItemIcon, { androidIconName: "checkbox_on_background" })
145
+ ]
146
+ },
147
+ "show-other-notes"
148
+ ),
149
+ /* @__PURE__ */ jsx(DropdownMenu.Arrow, { size: "$2" })
150
+ ]
151
+ }
152
+ ) })
153
+ ]
154
+ }
155
+ );
156
+ }
157
+ export {
158
+ DropDownMenuDemo
159
+ };
160
+ //# sourceMappingURL=DropDownMenuDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DropDownMenuDemo.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,147 @@
1
+ import { ContextMenu } from "@tamagui/context-menu";
2
+ import { isAndroid, isWeb } from "@tamagui/core";
3
+ import { Calendar, Check } from "@tamagui/lucide-icons";
4
+ import { ChevronRight } from "@tamagui/lucide-icons";
5
+ import React from "react";
6
+ import { Image } from "react-native-web";
7
+ import { Text, YStack, useEvent } from "tamagui";
8
+ function ContextMenuDemo() {
9
+ const [bookmarksChecked, setBookmarksChecked] = React.useState(!0), [native, setNative] = React.useState(!0), onSelect = useEvent(() => {
10
+ });
11
+ return <ContextMenu allowFlip native={native} placement="bottom-start">
12
+ <ContextMenu.Trigger asChild><YStack
13
+ jc="center"
14
+ ai="center"
15
+ bw={1}
16
+ boc="$borderColor"
17
+ width={250}
18
+ height={200}
19
+ ><Text textAlign="center">Right Click or longPress</Text></YStack></ContextMenu.Trigger>
20
+ <ContextMenu.Portal zIndex={100}><ContextMenu.Content
21
+ paddingHorizontal={0}
22
+ maxWidth={180}
23
+ borderWidth={1}
24
+ ai="flex-start"
25
+ borderColor="$borderColor"
26
+ enterStyle={{ y: -10, opacity: 0 }}
27
+ exitStyle={{ y: -10, opacity: 0 }}
28
+ elevate
29
+ animation={[
30
+ "quick",
31
+ {
32
+ opacity: {
33
+ overshootClamping: !0
34
+ }
35
+ }
36
+ ]}
37
+ >
38
+ <ContextMenu.Preview>{() => <YStack bc="$green1" jc="center" ai="center" p={20}>
39
+ <Text>Your Preview here</Text>
40
+ <Image
41
+ width={240}
42
+ height={100}
43
+ resizeMode="contain"
44
+ source={{ uri: "https://tamagui.dev/social.png" }}
45
+ />
46
+ </YStack>}</ContextMenu.Preview>
47
+ <ContextMenu.Item onSelect={onSelect} key="about-notes"><ContextMenu.ItemTitle>About Notes</ContextMenu.ItemTitle></ContextMenu.Item>
48
+ <ContextMenu.Separator />
49
+ <ContextMenu.Group>
50
+ <ContextMenu.Item onSelect={onSelect} key="settings"><ContextMenu.ItemTitle>Settings</ContextMenu.ItemTitle></ContextMenu.Item>
51
+ <ContextMenu.Item
52
+ onSelect={onSelect}
53
+ jc="space-between"
54
+ textValue="Calender"
55
+ key="accounts"
56
+ >
57
+ <ContextMenu.ItemTitle><Text>Calender</Text></ContextMenu.ItemTitle>
58
+ <ContextMenu.ItemIcon
59
+ androidIconName="ic_menu_today"
60
+ ios={{
61
+ name: "u.square",
62
+ hierarchicalColor: "#000",
63
+ pointSize: 20
64
+ }}
65
+ ><Calendar color="gray" size="$1" /></ContextMenu.ItemIcon>
66
+ </ContextMenu.Item>
67
+ </ContextMenu.Group>
68
+ <ContextMenu.Separator />
69
+ <ContextMenu.Group>
70
+ <ContextMenu.Item onSelect={onSelect} key="close-notes" disabled><ContextMenu.ItemTitle color="gray">Locked</ContextMenu.ItemTitle></ContextMenu.Item>
71
+ <ContextMenu.Item onSelect={onSelect} destructive key="delete-all"><ContextMenu.ItemTitle>Delete all</ContextMenu.ItemTitle></ContextMenu.Item>
72
+ </ContextMenu.Group>
73
+ <ContextMenu.Separator />
74
+ <ContextMenu.Sub placement="right-start">
75
+ <ContextMenu.SubTrigger jc="space-between" key="actions-trigger"><>
76
+ <ContextMenu.ItemTitle>Actions</ContextMenu.ItemTitle>
77
+ {!native || isWeb ? <ChevronRight size="$1" /> : null}
78
+ </></ContextMenu.SubTrigger>
79
+ <ContextMenu.Portal zIndex={200}><ContextMenu.SubContent
80
+ enterStyle={{ y: -10, opacity: 0 }}
81
+ exitStyle={{ y: -10, opacity: 0 }}
82
+ elevate
83
+ animation={[
84
+ "quick",
85
+ {
86
+ opacity: {
87
+ overshootClamping: !0
88
+ }
89
+ }
90
+ ]}
91
+ paddingHorizontal={0}
92
+ >
93
+ <ContextMenu.Label fontSize="$1">Note settings</ContextMenu.Label>
94
+ <ContextMenu.Item onSelect={onSelect} key="create-note"><ContextMenu.ItemTitle>Create note</ContextMenu.ItemTitle></ContextMenu.Item>
95
+ <ContextMenu.Item onSelect={onSelect} key="delete-all"><ContextMenu.ItemTitle>Delete all notes</ContextMenu.ItemTitle></ContextMenu.Item>
96
+ <ContextMenu.Item onSelect={onSelect} key="sync-all"><ContextMenu.ItemTitle>Sync notes</ContextMenu.ItemTitle></ContextMenu.Item>
97
+ </ContextMenu.SubContent></ContextMenu.Portal>
98
+ </ContextMenu.Sub>
99
+ <ContextMenu.Separator className="DropdownMenuSeparator" />
100
+ <ContextMenu.CheckboxItem
101
+ key="show-hidden"
102
+ checked={bookmarksChecked}
103
+ onCheckedChange={setBookmarksChecked}
104
+ value={bookmarksChecked ? "on" : "off"}
105
+ onValueChange={(v) => setBookmarksChecked(v == "on")}
106
+ {...isAndroid && native && {
107
+ onSelect: () => {
108
+ isAndroid && setBookmarksChecked(!bookmarksChecked);
109
+ }
110
+ }}
111
+ gap="$2"
112
+ >
113
+ <ContextMenu.ItemIndicator className="DropdownMenuItemIndicator"><Check size="$1" /></ContextMenu.ItemIndicator>
114
+ <ContextMenu.ItemTitle>Mark as read</ContextMenu.ItemTitle>
115
+ {
116
+ /* android native menu treat checkbox as simple MenuItem */
117
+ }
118
+ {isAndroid && native && bookmarksChecked && <ContextMenu.ItemIcon androidIconName="checkbox_on_background" />}
119
+ </ContextMenu.CheckboxItem>
120
+ <ContextMenu.CheckboxItem
121
+ key="show-other-notes"
122
+ checked={native}
123
+ onCheckedChange={setNative}
124
+ value={native ? "on" : "off"}
125
+ onValueChange={(v) => setNative(v == "on")}
126
+ {...isAndroid && native && {
127
+ onSelect: () => {
128
+ setNative(!native);
129
+ }
130
+ }}
131
+ gap="$2"
132
+ >
133
+ <ContextMenu.ItemIndicator><Check size="$1" /></ContextMenu.ItemIndicator>
134
+ <ContextMenu.ItemTitle>Enable Native</ContextMenu.ItemTitle>
135
+ {
136
+ /* android native menu treat checkbox as simple MenuItem */
137
+ }
138
+ {isAndroid && native && <ContextMenu.ItemIcon androidIconName="checkbox_on_background" />}
139
+ </ContextMenu.CheckboxItem>
140
+ <ContextMenu.Arrow size="$2" />
141
+ </ContextMenu.Content></ContextMenu.Portal>
142
+ </ContextMenu>;
143
+ }
144
+ export {
145
+ ContextMenuDemo
146
+ };
147
+ //# sourceMappingURL=ContextMenuDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ContextMenuDemo.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,147 @@
1
+ import { ContextMenu } from "@tamagui/context-menu";
2
+ import { isAndroid, isWeb } from "@tamagui/core";
3
+ import { Calendar, Check } from "@tamagui/lucide-icons";
4
+ import { ChevronRight } from "@tamagui/lucide-icons";
5
+ import React from "react";
6
+ import { Image } from "react-native";
7
+ import { Text, YStack, useEvent } from "tamagui";
8
+ function ContextMenuDemo() {
9
+ const [bookmarksChecked, setBookmarksChecked] = React.useState(!0), [native, setNative] = React.useState(!0), onSelect = useEvent(() => {
10
+ });
11
+ return <ContextMenu allowFlip native={native} placement="bottom-start">
12
+ <ContextMenu.Trigger asChild><YStack
13
+ jc="center"
14
+ ai="center"
15
+ bw={1}
16
+ boc="$borderColor"
17
+ width={250}
18
+ height={200}
19
+ ><Text textAlign="center">Right Click or longPress</Text></YStack></ContextMenu.Trigger>
20
+ <ContextMenu.Portal zIndex={100}><ContextMenu.Content
21
+ paddingHorizontal={0}
22
+ maxWidth={180}
23
+ borderWidth={1}
24
+ ai="flex-start"
25
+ borderColor="$borderColor"
26
+ enterStyle={{ y: -10, opacity: 0 }}
27
+ exitStyle={{ y: -10, opacity: 0 }}
28
+ elevate
29
+ animation={[
30
+ "quick",
31
+ {
32
+ opacity: {
33
+ overshootClamping: !0
34
+ }
35
+ }
36
+ ]}
37
+ >
38
+ <ContextMenu.Preview>{() => <YStack bc="$green1" jc="center" ai="center" p={20}>
39
+ <Text>Your Preview here</Text>
40
+ <Image
41
+ width={240}
42
+ height={100}
43
+ resizeMode="contain"
44
+ source={{ uri: "https://tamagui.dev/social.png" }}
45
+ />
46
+ </YStack>}</ContextMenu.Preview>
47
+ <ContextMenu.Item onSelect={onSelect} key="about-notes"><ContextMenu.ItemTitle>About Notes</ContextMenu.ItemTitle></ContextMenu.Item>
48
+ <ContextMenu.Separator />
49
+ <ContextMenu.Group>
50
+ <ContextMenu.Item onSelect={onSelect} key="settings"><ContextMenu.ItemTitle>Settings</ContextMenu.ItemTitle></ContextMenu.Item>
51
+ <ContextMenu.Item
52
+ onSelect={onSelect}
53
+ jc="space-between"
54
+ textValue="Calender"
55
+ key="accounts"
56
+ >
57
+ <ContextMenu.ItemTitle><Text>Calender</Text></ContextMenu.ItemTitle>
58
+ <ContextMenu.ItemIcon
59
+ androidIconName="ic_menu_today"
60
+ ios={{
61
+ name: "u.square",
62
+ hierarchicalColor: "#000",
63
+ pointSize: 20
64
+ }}
65
+ ><Calendar color="gray" size="$1" /></ContextMenu.ItemIcon>
66
+ </ContextMenu.Item>
67
+ </ContextMenu.Group>
68
+ <ContextMenu.Separator />
69
+ <ContextMenu.Group>
70
+ <ContextMenu.Item onSelect={onSelect} key="close-notes" disabled><ContextMenu.ItemTitle color="gray">Locked</ContextMenu.ItemTitle></ContextMenu.Item>
71
+ <ContextMenu.Item onSelect={onSelect} destructive key="delete-all"><ContextMenu.ItemTitle>Delete all</ContextMenu.ItemTitle></ContextMenu.Item>
72
+ </ContextMenu.Group>
73
+ <ContextMenu.Separator />
74
+ <ContextMenu.Sub placement="right-start">
75
+ <ContextMenu.SubTrigger jc="space-between" key="actions-trigger"><>
76
+ <ContextMenu.ItemTitle>Actions</ContextMenu.ItemTitle>
77
+ {!native || isWeb ? <ChevronRight size="$1" /> : null}
78
+ </></ContextMenu.SubTrigger>
79
+ <ContextMenu.Portal zIndex={200}><ContextMenu.SubContent
80
+ enterStyle={{ y: -10, opacity: 0 }}
81
+ exitStyle={{ y: -10, opacity: 0 }}
82
+ elevate
83
+ animation={[
84
+ "quick",
85
+ {
86
+ opacity: {
87
+ overshootClamping: !0
88
+ }
89
+ }
90
+ ]}
91
+ paddingHorizontal={0}
92
+ >
93
+ <ContextMenu.Label fontSize="$1">Note settings</ContextMenu.Label>
94
+ <ContextMenu.Item onSelect={onSelect} key="create-note"><ContextMenu.ItemTitle>Create note</ContextMenu.ItemTitle></ContextMenu.Item>
95
+ <ContextMenu.Item onSelect={onSelect} key="delete-all"><ContextMenu.ItemTitle>Delete all notes</ContextMenu.ItemTitle></ContextMenu.Item>
96
+ <ContextMenu.Item onSelect={onSelect} key="sync-all"><ContextMenu.ItemTitle>Sync notes</ContextMenu.ItemTitle></ContextMenu.Item>
97
+ </ContextMenu.SubContent></ContextMenu.Portal>
98
+ </ContextMenu.Sub>
99
+ <ContextMenu.Separator className="DropdownMenuSeparator" />
100
+ <ContextMenu.CheckboxItem
101
+ key="show-hidden"
102
+ checked={bookmarksChecked}
103
+ onCheckedChange={setBookmarksChecked}
104
+ value={bookmarksChecked ? "on" : "off"}
105
+ onValueChange={(v) => setBookmarksChecked(v == "on")}
106
+ {...isAndroid && native && {
107
+ onSelect: () => {
108
+ isAndroid && setBookmarksChecked(!bookmarksChecked);
109
+ }
110
+ }}
111
+ gap="$2"
112
+ >
113
+ <ContextMenu.ItemIndicator className="DropdownMenuItemIndicator"><Check size="$1" /></ContextMenu.ItemIndicator>
114
+ <ContextMenu.ItemTitle>Mark as read</ContextMenu.ItemTitle>
115
+ {
116
+ /* android native menu treat checkbox as simple MenuItem */
117
+ }
118
+ {isAndroid && native && bookmarksChecked && <ContextMenu.ItemIcon androidIconName="checkbox_on_background" />}
119
+ </ContextMenu.CheckboxItem>
120
+ <ContextMenu.CheckboxItem
121
+ key="show-other-notes"
122
+ checked={native}
123
+ onCheckedChange={setNative}
124
+ value={native ? "on" : "off"}
125
+ onValueChange={(v) => setNative(v == "on")}
126
+ {...isAndroid && native && {
127
+ onSelect: () => {
128
+ setNative(!native);
129
+ }
130
+ }}
131
+ gap="$2"
132
+ >
133
+ <ContextMenu.ItemIndicator><Check size="$1" /></ContextMenu.ItemIndicator>
134
+ <ContextMenu.ItemTitle>Enable Native</ContextMenu.ItemTitle>
135
+ {
136
+ /* android native menu treat checkbox as simple MenuItem */
137
+ }
138
+ {isAndroid && native && <ContextMenu.ItemIcon androidIconName="checkbox_on_background" />}
139
+ </ContextMenu.CheckboxItem>
140
+ <ContextMenu.Arrow size="$2" />
141
+ </ContextMenu.Content></ContextMenu.Portal>
142
+ </ContextMenu>;
143
+ }
144
+ export {
145
+ ContextMenuDemo
146
+ };
147
+ //# sourceMappingURL=ContextMenuDemo.js.map