@tamagui/demos 2.0.0-1768636514428 → 2.0.0-1768696252732
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/ColorsDemo.cjs +41 -29
- package/dist/cjs/ColorsDemo.js +40 -28
- package/dist/cjs/ColorsDemo.js.map +1 -1
- package/dist/cjs/ColorsDemo.native.js +26 -23
- package/dist/cjs/ColorsDemo.native.js.map +1 -1
- package/dist/cjs/ContextMenuDemo.cjs +1 -1
- package/dist/cjs/ContextMenuDemo.js +1 -1
- package/dist/cjs/ContextMenuDemo.js.map +1 -1
- package/dist/cjs/ContextMenuDemo.native.js +1 -1
- package/dist/cjs/RadioGroupUnstyledDemo.cjs +1 -1
- package/dist/cjs/RadioGroupUnstyledDemo.js +1 -1
- package/dist/cjs/RadioGroupUnstyledDemo.js.map +1 -1
- package/dist/cjs/RadioGroupUnstyledDemo.native.js +1 -1
- package/dist/cjs/RadioGroupUnstyledDemo.native.js.map +1 -1
- package/dist/cjs/SelectDemo.cjs +1 -1
- package/dist/cjs/SelectDemo.js +1 -1
- package/dist/cjs/SelectDemo.js.map +1 -1
- package/dist/cjs/SelectDemo.native.js +1 -1
- package/dist/cjs/SelectDemo.native.js.map +1 -1
- package/dist/cjs/TabsHeadlessDemo.cjs +1 -1
- package/dist/cjs/TabsHeadlessDemo.js +1 -1
- package/dist/cjs/TabsHeadlessDemo.js.map +1 -1
- package/dist/cjs/TabsHeadlessDemo.native.js +1 -1
- package/dist/cjs/TabsHeadlessDemo.native.js.map +1 -1
- package/dist/cjs/ToggleGroupDemo.cjs +14 -20
- package/dist/cjs/ToggleGroupDemo.js +10 -19
- package/dist/cjs/ToggleGroupDemo.js.map +1 -1
- package/dist/cjs/ToggleGroupDemo.native.js +14 -20
- package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
- package/dist/esm/ColorsDemo.js +51 -36
- package/dist/esm/ColorsDemo.js.map +1 -1
- package/dist/esm/ColorsDemo.mjs +41 -29
- package/dist/esm/ColorsDemo.mjs.map +1 -1
- package/dist/esm/ColorsDemo.native.js +27 -24
- package/dist/esm/ColorsDemo.native.js.map +1 -1
- package/dist/esm/ContextMenuDemo.js +1 -1
- package/dist/esm/ContextMenuDemo.js.map +1 -1
- package/dist/esm/ContextMenuDemo.mjs +1 -1
- package/dist/esm/ContextMenuDemo.native.js +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.js +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.js.map +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.mjs +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.mjs.map +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.native.js +1 -1
- package/dist/esm/RadioGroupUnstyledDemo.native.js.map +1 -1
- package/dist/esm/SelectDemo.js +1 -1
- package/dist/esm/SelectDemo.js.map +1 -1
- package/dist/esm/SelectDemo.mjs +1 -1
- package/dist/esm/SelectDemo.mjs.map +1 -1
- package/dist/esm/SelectDemo.native.js +1 -1
- package/dist/esm/TabsHeadlessDemo.js +1 -1
- package/dist/esm/TabsHeadlessDemo.js.map +1 -1
- package/dist/esm/TabsHeadlessDemo.mjs +1 -1
- package/dist/esm/TabsHeadlessDemo.mjs.map +1 -1
- package/dist/esm/TabsHeadlessDemo.native.js +1 -1
- package/dist/esm/TabsHeadlessDemo.native.js.map +1 -1
- package/dist/esm/ToggleGroupDemo.js +10 -19
- package/dist/esm/ToggleGroupDemo.js.map +1 -1
- package/dist/esm/ToggleGroupDemo.mjs +14 -20
- package/dist/esm/ToggleGroupDemo.mjs.map +1 -1
- package/dist/esm/ToggleGroupDemo.native.js +14 -20
- package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
- package/package.json +35 -34
- package/src/ColorsDemo.tsx +47 -38
- package/src/ContextMenuDemo.tsx +1 -1
- package/src/RadioGroupUnstyledDemo.tsx +1 -1
- package/src/SelectDemo.tsx +1 -1
- package/src/TabsHeadlessDemo.tsx +1 -1
- package/src/ToggleGroupDemo.tsx +12 -17
package/src/ColorsDemo.tsx
CHANGED
|
@@ -1,49 +1,74 @@
|
|
|
1
|
-
import type { Variable } from '@tamagui/core'
|
|
2
1
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
blue,
|
|
3
|
+
blueDark,
|
|
4
|
+
gray,
|
|
5
|
+
grayDark,
|
|
6
|
+
green,
|
|
7
|
+
greenDark,
|
|
8
|
+
red,
|
|
9
|
+
redDark,
|
|
10
|
+
yellow,
|
|
11
|
+
yellowDark,
|
|
12
|
+
} from '@tamagui/colors'
|
|
13
|
+
import { H2, Paragraph, Separator, Square, XStack, YStack } from 'tamagui'
|
|
12
14
|
|
|
13
|
-
const colorGroups = ['
|
|
15
|
+
const colorGroups = ['gray', 'blue', 'green', 'yellow', 'red'] as const
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const lightColors = {
|
|
18
|
+
gray,
|
|
19
|
+
blue,
|
|
20
|
+
green,
|
|
21
|
+
yellow,
|
|
22
|
+
red,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const darkColors = {
|
|
26
|
+
gray: grayDark,
|
|
27
|
+
blue: blueDark,
|
|
28
|
+
green: greenDark,
|
|
29
|
+
yellow: yellowDark,
|
|
30
|
+
red: redDark,
|
|
31
|
+
}
|
|
18
32
|
|
|
33
|
+
export function ColorsDemo() {
|
|
19
34
|
return (
|
|
20
35
|
<YStack mt="$4" gap="$8">
|
|
21
|
-
<ColorsRow title="Light"
|
|
36
|
+
<ColorsRow title="Light" colorSets={lightColors} />
|
|
22
37
|
<Separator />
|
|
23
|
-
<ColorsRow title="Dark"
|
|
38
|
+
<ColorsRow title="Dark" colorSets={darkColors} />
|
|
24
39
|
</YStack>
|
|
25
40
|
)
|
|
26
41
|
}
|
|
27
42
|
|
|
28
|
-
|
|
43
|
+
type ColorSet = Record<string, string>
|
|
44
|
+
|
|
45
|
+
function ColorsRow({
|
|
46
|
+
title,
|
|
47
|
+
colorSets,
|
|
48
|
+
}: {
|
|
49
|
+
title: string
|
|
50
|
+
colorSets: Record<(typeof colorGroups)[number], ColorSet>
|
|
51
|
+
}) {
|
|
29
52
|
return (
|
|
30
53
|
<YStack gap="$4" $sm={{ gap: '$2' }}>
|
|
31
54
|
<H2 size="$2">{title}</H2>
|
|
32
55
|
|
|
33
56
|
<XStack gap="$4" self="center">
|
|
34
57
|
<YStack gap="$4" $sm={{ gap: '$2' }} self="center">
|
|
35
|
-
{
|
|
58
|
+
{colorGroups.map((groupName) => {
|
|
59
|
+
const colorSet = colorSets[groupName]
|
|
60
|
+
const colors = Object.values(colorSet)
|
|
36
61
|
return (
|
|
37
|
-
<XStack gap="$2" key={
|
|
38
|
-
{
|
|
62
|
+
<XStack gap="$2" key={groupName}>
|
|
63
|
+
{colors.map((color, index) => {
|
|
39
64
|
return (
|
|
40
65
|
<Square
|
|
41
|
-
key={`${
|
|
66
|
+
key={`${groupName}${index}`}
|
|
42
67
|
rounded="$2"
|
|
43
68
|
size="$4"
|
|
44
69
|
height="$4"
|
|
45
70
|
borderWidth={1}
|
|
46
|
-
bg={
|
|
71
|
+
bg={color as any}
|
|
47
72
|
borderColor="$color7"
|
|
48
73
|
$sm={{
|
|
49
74
|
size: '$2',
|
|
@@ -106,19 +131,3 @@ function ColorsRow({ title, colors }: { title: string; colors: Variable[][] }) {
|
|
|
106
131
|
</YStack>
|
|
107
132
|
)
|
|
108
133
|
}
|
|
109
|
-
|
|
110
|
-
function getColors(colors: Record<string, Variable> | undefined, dark = false) {
|
|
111
|
-
if (!colors) {
|
|
112
|
-
console.warn(`⚠️ no colors?`, colors)
|
|
113
|
-
return []
|
|
114
|
-
}
|
|
115
|
-
return colorGroups.map((group) => {
|
|
116
|
-
return Object.keys(colors)
|
|
117
|
-
.filter(
|
|
118
|
-
(color) =>
|
|
119
|
-
color.startsWith(group) &&
|
|
120
|
-
(dark ? color.endsWith('Dark') : !color.endsWith('Dark'))
|
|
121
|
-
)
|
|
122
|
-
.map((key) => colors[key])
|
|
123
|
-
})
|
|
124
|
-
}
|
package/src/ContextMenuDemo.tsx
CHANGED
|
@@ -19,7 +19,7 @@ export function ContextMenuDemo() {
|
|
|
19
19
|
<ContextMenu allowFlip native={native} placement="bottom-start" offset={14}>
|
|
20
20
|
<ContextMenu.Trigger asChild>
|
|
21
21
|
<Text text="center" select={null}>
|
|
22
|
-
Right Click or
|
|
22
|
+
Right Click or Long Press
|
|
23
23
|
</Text>
|
|
24
24
|
</ContextMenu.Trigger>
|
|
25
25
|
|
package/src/SelectDemo.tsx
CHANGED
|
@@ -100,7 +100,7 @@ export function SelectDemoContents(
|
|
|
100
100
|
borderWidth={1}
|
|
101
101
|
borderColor="$borderColor"
|
|
102
102
|
>
|
|
103
|
-
<Select.Indicator transition="
|
|
103
|
+
<Select.Indicator transition="quick" />
|
|
104
104
|
<Select.Group>
|
|
105
105
|
<Select.Label fontWeight="bold">Fruits</Select.Label>
|
|
106
106
|
{/* for longer lists memoizing these is useful */}
|
package/src/TabsHeadlessDemo.tsx
CHANGED
package/src/ToggleGroupDemo.tsx
CHANGED
|
@@ -2,12 +2,13 @@ import { AlignCenter, AlignLeft, AlignRight } from '@tamagui/lucide-icons'
|
|
|
2
2
|
import type { SizeTokens } from 'tamagui'
|
|
3
3
|
import { Label, styled, ToggleGroup, XStack, YStack } from 'tamagui'
|
|
4
4
|
|
|
5
|
-
// Example using styled() to define toggledStyle
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
// Example using styled() to define toggledStyle and hoverStyle
|
|
6
|
+
const StyledItem = styled(ToggleGroup.Item, {
|
|
7
|
+
hoverStyle: {
|
|
8
|
+
backgroundColor: '$color5',
|
|
9
|
+
},
|
|
8
10
|
toggledStyle: {
|
|
9
|
-
backgroundColor: '$
|
|
10
|
-
color: '$yellow9',
|
|
11
|
+
backgroundColor: '$color6',
|
|
11
12
|
},
|
|
12
13
|
})
|
|
13
14
|
|
|
@@ -52,21 +53,16 @@ function ToggleGroupComponent(props: {
|
|
|
52
53
|
disableDeactivation={props.type === 'single' ? true : undefined}
|
|
53
54
|
>
|
|
54
55
|
{/* Using styled() component */}
|
|
55
|
-
<
|
|
56
|
-
value="left"
|
|
57
|
-
aria-label="Left aligned"
|
|
58
|
-
focusStyle={{ background: '$color12' }}
|
|
59
|
-
>
|
|
56
|
+
<StyledItem value="left" aria-label="Left aligned">
|
|
60
57
|
<AlignLeft />
|
|
61
|
-
</
|
|
58
|
+
</StyledItem>
|
|
62
59
|
|
|
63
60
|
{/* Using inline toggledStyle prop */}
|
|
64
61
|
<ToggleGroup.Item
|
|
65
62
|
value="center"
|
|
66
63
|
aria-label="Center aligned"
|
|
67
|
-
|
|
68
|
-
toggledStyle={{ backgroundColor: '$
|
|
69
|
-
focusStyle={{ background: '$color12' }}
|
|
64
|
+
hoverStyle={{ backgroundColor: '$color5' }}
|
|
65
|
+
toggledStyle={{ backgroundColor: '$color6' }}
|
|
70
66
|
>
|
|
71
67
|
<AlignCenter />
|
|
72
68
|
</ToggleGroup.Item>
|
|
@@ -75,9 +71,8 @@ function ToggleGroupComponent(props: {
|
|
|
75
71
|
<ToggleGroup.Item
|
|
76
72
|
value="right"
|
|
77
73
|
aria-label="Right aligned"
|
|
78
|
-
|
|
79
|
-
toggledStyle={{ backgroundColor: '$
|
|
80
|
-
focusStyle={{ background: '$color12' }}
|
|
74
|
+
hoverStyle={{ backgroundColor: '$color5' }}
|
|
75
|
+
toggledStyle={{ backgroundColor: '$color6' }}
|
|
81
76
|
>
|
|
82
77
|
<AlignRight />
|
|
83
78
|
</ToggleGroup.Item>
|