@tamagui/demos 2.0.0-1768427228811 → 2.0.0-1768530912818

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.
Files changed (59) hide show
  1. package/dist/cjs/ContextMenuDemo.cjs +179 -98
  2. package/dist/cjs/ContextMenuDemo.js +140 -87
  3. package/dist/cjs/ContextMenuDemo.js.map +1 -1
  4. package/dist/cjs/ContextMenuDemo.native.js +180 -100
  5. package/dist/cjs/ContextMenuDemo.native.js.map +1 -1
  6. package/dist/cjs/DialogDemo.cjs +1 -0
  7. package/dist/cjs/DialogDemo.js +1 -1
  8. package/dist/cjs/DialogDemo.js.map +1 -1
  9. package/dist/cjs/DialogDemo.native.js +1 -0
  10. package/dist/cjs/MenuDemo.cjs +213 -111
  11. package/dist/cjs/MenuDemo.js +204 -131
  12. package/dist/cjs/MenuDemo.js.map +1 -1
  13. package/dist/cjs/MenuDemo.native.js +214 -113
  14. package/dist/cjs/MenuDemo.native.js.map +1 -1
  15. package/dist/cjs/ToastDemo.cjs +3 -3
  16. package/dist/cjs/ToastDemo.js +3 -3
  17. package/dist/cjs/ToastDemo.js.map +1 -1
  18. package/dist/cjs/ToastDemo.native.js +3 -3
  19. package/dist/cjs/ToastDemo.native.js.map +1 -1
  20. package/dist/cjs/tamagui.config.cjs +4 -1
  21. package/dist/cjs/tamagui.config.js +4 -1
  22. package/dist/cjs/tamagui.config.js.map +1 -1
  23. package/dist/cjs/tamagui.config.native.js +4 -1
  24. package/dist/cjs/tamagui.config.native.js.map +1 -1
  25. package/dist/esm/ContextMenuDemo.js +141 -88
  26. package/dist/esm/ContextMenuDemo.js.map +1 -1
  27. package/dist/esm/ContextMenuDemo.mjs +180 -99
  28. package/dist/esm/ContextMenuDemo.mjs.map +1 -1
  29. package/dist/esm/ContextMenuDemo.native.js +180 -100
  30. package/dist/esm/ContextMenuDemo.native.js.map +1 -1
  31. package/dist/esm/DialogDemo.js +1 -1
  32. package/dist/esm/DialogDemo.js.map +1 -1
  33. package/dist/esm/DialogDemo.mjs +1 -0
  34. package/dist/esm/DialogDemo.mjs.map +1 -1
  35. package/dist/esm/DialogDemo.native.js +1 -0
  36. package/dist/esm/MenuDemo.js +213 -133
  37. package/dist/esm/MenuDemo.js.map +1 -1
  38. package/dist/esm/MenuDemo.mjs +214 -112
  39. package/dist/esm/MenuDemo.mjs.map +1 -1
  40. package/dist/esm/MenuDemo.native.js +215 -114
  41. package/dist/esm/MenuDemo.native.js.map +1 -1
  42. package/dist/esm/ToastDemo.js +3 -3
  43. package/dist/esm/ToastDemo.js.map +1 -1
  44. package/dist/esm/ToastDemo.mjs +3 -3
  45. package/dist/esm/ToastDemo.mjs.map +1 -1
  46. package/dist/esm/ToastDemo.native.js +3 -3
  47. package/dist/esm/ToastDemo.native.js.map +1 -1
  48. package/dist/esm/tamagui.config.js +5 -2
  49. package/dist/esm/tamagui.config.js.map +1 -1
  50. package/dist/esm/tamagui.config.mjs +5 -2
  51. package/dist/esm/tamagui.config.mjs.map +1 -1
  52. package/dist/esm/tamagui.config.native.js +5 -2
  53. package/dist/esm/tamagui.config.native.js.map +1 -1
  54. package/package.json +34 -34
  55. package/src/ContextMenuDemo.tsx +119 -98
  56. package/src/DialogDemo.tsx +1 -1
  57. package/src/MenuDemo.tsx +150 -106
  58. package/src/ToastDemo.tsx +3 -3
  59. package/src/tamagui.config.ts +5 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/demos",
3
- "version": "2.0.0-1768427228811",
3
+ "version": "2.0.0-1768530912818",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -50,45 +50,45 @@
50
50
  }
51
51
  },
52
52
  "dependencies": {
53
- "@tamagui/animate-presence": "2.0.0-1768427228811",
54
- "@tamagui/avatar": "2.0.0-1768427228811",
55
- "@tamagui/button": "2.0.0-1768427228811",
56
- "@tamagui/checkbox": "2.0.0-1768427228811",
57
- "@tamagui/checkbox-headless": "2.0.0-1768427228811",
58
- "@tamagui/config": "2.0.0-1768427228811",
59
- "@tamagui/context-menu": "2.0.0-1768427228811",
60
- "@tamagui/core": "2.0.0-1768427228811",
61
- "@tamagui/get-button-sized": "2.0.0-1768427228811",
62
- "@tamagui/image": "2.0.0-1768427228811",
63
- "@tamagui/input": "2.0.0-1768427228811",
64
- "@tamagui/linear-gradient": "2.0.0-1768427228811",
65
- "@tamagui/list-item": "2.0.0-1768427228811",
66
- "@tamagui/logo": "2.0.0-1768427228811",
67
- "@tamagui/lucide-icons": "2.0.0-1768427228811",
68
- "@tamagui/menu": "2.0.0-1768427228811",
69
- "@tamagui/popover": "2.0.0-1768427228811",
70
- "@tamagui/progress": "2.0.0-1768427228811",
71
- "@tamagui/radio-group": "2.0.0-1768427228811",
72
- "@tamagui/radio-headless": "2.0.0-1768427228811",
73
- "@tamagui/roving-focus": "2.0.0-1768427228811",
74
- "@tamagui/select": "2.0.0-1768427228811",
75
- "@tamagui/sheet": "2.0.0-1768427228811",
76
- "@tamagui/slider": "2.0.0-1768427228811",
77
- "@tamagui/stacks": "2.0.0-1768427228811",
78
- "@tamagui/switch": "2.0.0-1768427228811",
79
- "@tamagui/switch-headless": "2.0.0-1768427228811",
80
- "@tamagui/tabs": "2.0.0-1768427228811",
81
- "@tamagui/tamagui-dev-config": "2.0.0-1768427228811",
82
- "@tamagui/theme": "2.0.0-1768427228811",
83
- "@tamagui/toast": "2.0.0-1768427228811",
84
- "tamagui": "2.0.0-1768427228811"
53
+ "@tamagui/animate-presence": "2.0.0-1768530912818",
54
+ "@tamagui/avatar": "2.0.0-1768530912818",
55
+ "@tamagui/button": "2.0.0-1768530912818",
56
+ "@tamagui/checkbox": "2.0.0-1768530912818",
57
+ "@tamagui/checkbox-headless": "2.0.0-1768530912818",
58
+ "@tamagui/config": "2.0.0-1768530912818",
59
+ "@tamagui/context-menu": "2.0.0-1768530912818",
60
+ "@tamagui/core": "2.0.0-1768530912818",
61
+ "@tamagui/get-button-sized": "2.0.0-1768530912818",
62
+ "@tamagui/image": "2.0.0-1768530912818",
63
+ "@tamagui/input": "2.0.0-1768530912818",
64
+ "@tamagui/linear-gradient": "2.0.0-1768530912818",
65
+ "@tamagui/list-item": "2.0.0-1768530912818",
66
+ "@tamagui/logo": "2.0.0-1768530912818",
67
+ "@tamagui/lucide-icons": "2.0.0-1768530912818",
68
+ "@tamagui/menu": "2.0.0-1768530912818",
69
+ "@tamagui/popover": "2.0.0-1768530912818",
70
+ "@tamagui/progress": "2.0.0-1768530912818",
71
+ "@tamagui/radio-group": "2.0.0-1768530912818",
72
+ "@tamagui/radio-headless": "2.0.0-1768530912818",
73
+ "@tamagui/roving-focus": "2.0.0-1768530912818",
74
+ "@tamagui/select": "2.0.0-1768530912818",
75
+ "@tamagui/sheet": "2.0.0-1768530912818",
76
+ "@tamagui/slider": "2.0.0-1768530912818",
77
+ "@tamagui/stacks": "2.0.0-1768530912818",
78
+ "@tamagui/switch": "2.0.0-1768530912818",
79
+ "@tamagui/switch-headless": "2.0.0-1768530912818",
80
+ "@tamagui/tabs": "2.0.0-1768530912818",
81
+ "@tamagui/tamagui-dev-config": "2.0.0-1768530912818",
82
+ "@tamagui/theme": "2.0.0-1768530912818",
83
+ "@tamagui/toast": "2.0.0-1768530912818",
84
+ "tamagui": "2.0.0-1768530912818"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "react": "*",
88
88
  "react-native": "*"
89
89
  },
90
90
  "devDependencies": {
91
- "@tamagui/build": "2.0.0-1768427228811",
91
+ "@tamagui/build": "2.0.0-1768530912818",
92
92
  "react": "*",
93
93
  "react-native": "0.81.5"
94
94
  },
@@ -1,29 +1,12 @@
1
1
  import { ContextMenu } from '@tamagui/context-menu'
2
2
  import { Calendar, Check, ChevronRight } from '@tamagui/lucide-icons'
3
3
  import React from 'react'
4
- import { styled, Text, YStack } from 'tamagui'
4
+ import { Text, YStack } from 'tamagui'
5
5
 
6
6
  /**
7
7
  * Note: you'll want to use createMenu() to customize further.
8
8
  */
9
9
 
10
- const Item = styled(ContextMenu.Item, {
11
- py: 4,
12
- hoverStyle: {
13
- bg: '$color2',
14
- },
15
- pressStyle: {
16
- bg: '$color3',
17
- },
18
- })
19
-
20
- const ItemTitle = styled(ContextMenu.ItemTitle, {
21
- color: '$color11',
22
- })
23
-
24
- Item.displayName = 'Item'
25
- ItemTitle.displayName = 'ItemTitle'
26
-
27
10
  export function ContextMenuDemo() {
28
11
  const [bookmarksChecked, setBookmarksChecked] = React.useState(true)
29
12
  const [native, setNative] = React.useState(true)
@@ -33,7 +16,7 @@ export function ContextMenuDemo() {
33
16
  }
34
17
 
35
18
  return (
36
- <ContextMenu allowFlip native={native} placement="right-start">
19
+ <ContextMenu allowFlip native={native} placement="bottom-start" offset={14}>
37
20
  <ContextMenu.Trigger asChild>
38
21
  <Text text="center" select={null}>
39
22
  Right Click or longPress
@@ -42,22 +25,18 @@ export function ContextMenuDemo() {
42
25
 
43
26
  <ContextMenu.Portal zIndex={100}>
44
27
  <ContextMenu.Content
45
- px={0}
28
+ p="$1.5"
29
+ minW={180}
46
30
  borderWidth={1}
47
- items="flex-start"
48
31
  borderColor="$borderColor"
49
- enterStyle={{ y: -10, opacity: 0 }}
50
- exitStyle={{ y: -10, opacity: 0 }}
51
- elevate
52
- transition={[
53
- 'quick',
54
- {
55
- opacity: {
56
- overshootClamping: true,
57
- },
58
- },
59
- ]}
32
+ transformOrigin="left top"
33
+ enterStyle={{ scale: 0.9, opacity: 0, y: -5 }}
34
+ exitStyle={{ scale: 0.95, opacity: 0, y: -3 }}
35
+ elevation="$3"
36
+ transition="menu"
60
37
  >
38
+ <ContextMenu.Arrow size="$4" borderWidth={1} borderColor="$borderColor" />
39
+
61
40
  <ContextMenu.Preview>
62
41
  {() => {
63
42
  return (
@@ -73,50 +52,64 @@ export function ContextMenuDemo() {
73
52
  )
74
53
  }}
75
54
  </ContextMenu.Preview>
76
- <ContextMenu.Item onSelect={onSelect} key="about-notes">
55
+ <ContextMenu.Item
56
+ onSelect={onSelect}
57
+ key="about-notes"
58
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
59
+ hoverStyle={{ bg: '$backgroundHover' }}
60
+ >
77
61
  <ContextMenu.ItemTitle>About Notes</ContextMenu.ItemTitle>
78
62
  </ContextMenu.Item>
79
63
  <ContextMenu.Separator />
80
- <ContextMenu.Group backgroundColor="transparent">
81
- <ContextMenu.Item onSelect={onSelect} key="settings">
82
- <ContextMenu.ItemTitle>Settings</ContextMenu.ItemTitle>
83
- </ContextMenu.Item>
84
- <ContextMenu.Item
85
- onSelect={onSelect}
86
- justify="space-between"
87
- // when title is nested inside a React element then you need to use `textValue`
88
- textValue="Calender"
89
- key="accounts"
64
+
65
+ <ContextMenu.Item
66
+ onSelect={onSelect}
67
+ key="settings"
68
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
69
+ hoverStyle={{ bg: '$backgroundHover' }}
70
+ >
71
+ <ContextMenu.ItemTitle>Settings</ContextMenu.ItemTitle>
72
+ </ContextMenu.Item>
73
+ <ContextMenu.Item
74
+ onSelect={onSelect}
75
+ justify="space-between"
76
+ textValue="Calendar"
77
+ key="accounts"
78
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
79
+ hoverStyle={{ bg: '$backgroundHover' }}
80
+ >
81
+ <ContextMenu.ItemTitle>Calendar</ContextMenu.ItemTitle>
82
+ <ContextMenu.ItemIcon
83
+ androidIconName="ic_menu_today"
84
+ ios={{
85
+ name: 'calendar',
86
+ }}
90
87
  >
91
- <ContextMenu.ItemTitle>
92
- <Text>Calender</Text>
93
- </ContextMenu.ItemTitle>
94
- <ContextMenu.ItemIcon
95
- androidIconName="ic_menu_today"
96
- ios={{
97
- name: 'calendar',
98
- }}
99
- >
100
- <Calendar color="gray" size="$1" />
101
- </ContextMenu.ItemIcon>
102
- </ContextMenu.Item>
103
- </ContextMenu.Group>
88
+ <Calendar color="gray" size={14} />
89
+ </ContextMenu.ItemIcon>
90
+ </ContextMenu.Item>
91
+
104
92
  <ContextMenu.Separator />
105
- <ContextMenu.Group backgroundColor="transparent">
106
- <ContextMenu.Item
107
- onSelect={onSelect}
108
- key="close-notes"
109
- disabled
110
- textValue="locked notes"
111
- >
112
- <ContextMenu.ItemTitle>
113
- <Text color="gray">locked notes</Text>
114
- </ContextMenu.ItemTitle>
115
- </ContextMenu.Item>
116
- <ContextMenu.Item destructive onSelect={onSelect} key="delete-all">
117
- <ContextMenu.ItemTitle color="red">Delete all</ContextMenu.ItemTitle>
118
- </ContextMenu.Item>
119
- </ContextMenu.Group>
93
+
94
+ <ContextMenu.Item
95
+ onSelect={onSelect}
96
+ key="close-notes"
97
+ disabled
98
+ textValue="Locked Notes"
99
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
100
+ hoverStyle={{ bg: '$backgroundHover' }}
101
+ >
102
+ <ContextMenu.ItemTitle color="gray">Locked Notes</ContextMenu.ItemTitle>
103
+ </ContextMenu.Item>
104
+ <ContextMenu.Item
105
+ destructive
106
+ onSelect={onSelect}
107
+ key="delete-all"
108
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
109
+ hoverStyle={{ bg: '$backgroundHover' }}
110
+ >
111
+ <ContextMenu.ItemTitle color="red">Delete all</ContextMenu.ItemTitle>
112
+ </ContextMenu.Item>
120
113
  <ContextMenu.Separator />
121
114
  {/* Submenu */}
122
115
  <ContextMenu.Sub placement="right-start">
@@ -124,33 +117,61 @@ export function ContextMenuDemo() {
124
117
  key="actions-trigger"
125
118
  justify="space-between"
126
119
  textValue="Actions"
120
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
121
+ hoverStyle={{ bg: '$backgroundHover' }}
127
122
  >
128
123
  <ContextMenu.ItemTitle>Actions</ContextMenu.ItemTitle>
129
- <ChevronRight size="$1" />
124
+ <ChevronRight size={12} color="$color10" />
130
125
  </ContextMenu.SubTrigger>
131
126
  <ContextMenu.Portal zIndex={200}>
132
127
  <ContextMenu.SubContent
133
- enterStyle={{ y: -10, opacity: 0 }}
134
- exitStyle={{ y: -10, opacity: 0 }}
135
- transition={[
136
- 'quick',
137
- {
138
- opacity: {
139
- overshootClamping: true,
140
- },
141
- },
142
- ]}
143
- px={0}
128
+ enterStyle={{ scale: 0.9, opacity: 0, x: -5 }}
129
+ exitStyle={{ scale: 0.95, opacity: 0, x: -3 }}
130
+ transition="menu"
131
+ transformOrigin="left top"
132
+ elevation="$3"
133
+ minW={160}
134
+ bg="$background"
135
+ p="$1.5"
136
+ borderWidth={1}
137
+ borderColor="$borderColor"
144
138
  >
145
- <Item onSelect={onSelect} key="create-note" textValue="Create note">
146
- <ItemTitle>Create note</ItemTitle>
147
- </Item>
148
- <Item onSelect={onSelect} key="delete-all" textValue="Delete all notes">
149
- <ItemTitle>Delete all notes</ItemTitle>
150
- </Item>
151
- <Item onSelect={onSelect} key="sync-all" textValue="Sync notes">
152
- <ItemTitle>Sync notes</ItemTitle>
153
- </Item>
139
+ <ContextMenu.Label
140
+ color="$color10"
141
+ fontWeight="400"
142
+ fontSize={14}
143
+ alignSelf="flex-start"
144
+ style={{ paddingHorizontal: 8, paddingVertical: 5 }}
145
+ >
146
+ Note settings
147
+ </ContextMenu.Label>
148
+ <ContextMenu.Item
149
+ onSelect={onSelect}
150
+ key="create-note"
151
+ textValue="Create note"
152
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
153
+ hoverStyle={{ bg: '$backgroundHover' }}
154
+ >
155
+ <ContextMenu.ItemTitle>Create note</ContextMenu.ItemTitle>
156
+ </ContextMenu.Item>
157
+ <ContextMenu.Item
158
+ onSelect={onSelect}
159
+ key="delete-all"
160
+ textValue="Delete all notes"
161
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
162
+ hoverStyle={{ bg: '$backgroundHover' }}
163
+ >
164
+ <ContextMenu.ItemTitle>Delete all notes</ContextMenu.ItemTitle>
165
+ </ContextMenu.Item>
166
+ <ContextMenu.Item
167
+ onSelect={onSelect}
168
+ key="sync-all"
169
+ textValue="Sync notes"
170
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
171
+ hoverStyle={{ bg: '$backgroundHover' }}
172
+ >
173
+ <ContextMenu.ItemTitle>Sync notes</ContextMenu.ItemTitle>
174
+ </ContextMenu.Item>
154
175
  </ContextMenu.SubContent>
155
176
  </ContextMenu.Portal>
156
177
  </ContextMenu.Sub>
@@ -159,28 +180,28 @@ export function ContextMenuDemo() {
159
180
  key="show-hidden"
160
181
  checked={bookmarksChecked}
161
182
  onCheckedChange={setBookmarksChecked}
162
- gap="$2"
163
183
  justify="space-between"
184
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
185
+ hoverStyle={{ bg: '$backgroundHover' }}
164
186
  >
165
187
  <ContextMenu.ItemTitle>Mark as read</ContextMenu.ItemTitle>
166
188
  <ContextMenu.ItemIndicator>
167
- <Check size="$1" />
189
+ <Check size={12} color="$color10" />
168
190
  </ContextMenu.ItemIndicator>
169
191
  </ContextMenu.CheckboxItem>
170
192
  <ContextMenu.CheckboxItem
171
193
  key="show-other-notes"
172
194
  checked={native}
173
195
  onCheckedChange={setNative}
174
- gap="$2"
175
196
  justify="space-between"
197
+ style={{ paddingHorizontal: 8, paddingVertical: 5, borderRadius: 4 }}
198
+ hoverStyle={{ bg: '$backgroundHover' }}
176
199
  >
177
200
  <ContextMenu.ItemTitle>Enable Native</ContextMenu.ItemTitle>
178
201
  <ContextMenu.ItemIndicator>
179
- <Check size="$1" />
202
+ <Check size={12} color="$color10" />
180
203
  </ContextMenu.ItemIndicator>
181
204
  </ContextMenu.CheckboxItem>
182
-
183
- <ContextMenu.Arrow size={'$2'} />
184
205
  </ContextMenu.Content>
185
206
  </ContextMenu.Portal>
186
207
  </ContextMenu>
@@ -117,7 +117,7 @@ function DialogInstance({ disableAdapt }: { disableAdapt?: boolean }) {
117
117
  <XStack flex={1}>
118
118
  <SelectDemoContents
119
119
  trigger={
120
- <Select.Trigger flex={1} iconAfter={ChevronDown}>
120
+ <Select.Trigger flex={1} iconAfter={ChevronDown} borderRadius="$4">
121
121
  <Select.Value placeholder="Something" />
122
122
  </Select.Trigger>
123
123
  }