@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.
Files changed (69) hide show
  1. package/dist/cjs/ColorsDemo.cjs +41 -29
  2. package/dist/cjs/ColorsDemo.js +40 -28
  3. package/dist/cjs/ColorsDemo.js.map +1 -1
  4. package/dist/cjs/ColorsDemo.native.js +26 -23
  5. package/dist/cjs/ColorsDemo.native.js.map +1 -1
  6. package/dist/cjs/ContextMenuDemo.cjs +1 -1
  7. package/dist/cjs/ContextMenuDemo.js +1 -1
  8. package/dist/cjs/ContextMenuDemo.js.map +1 -1
  9. package/dist/cjs/ContextMenuDemo.native.js +1 -1
  10. package/dist/cjs/RadioGroupUnstyledDemo.cjs +1 -1
  11. package/dist/cjs/RadioGroupUnstyledDemo.js +1 -1
  12. package/dist/cjs/RadioGroupUnstyledDemo.js.map +1 -1
  13. package/dist/cjs/RadioGroupUnstyledDemo.native.js +1 -1
  14. package/dist/cjs/RadioGroupUnstyledDemo.native.js.map +1 -1
  15. package/dist/cjs/SelectDemo.cjs +1 -1
  16. package/dist/cjs/SelectDemo.js +1 -1
  17. package/dist/cjs/SelectDemo.js.map +1 -1
  18. package/dist/cjs/SelectDemo.native.js +1 -1
  19. package/dist/cjs/SelectDemo.native.js.map +1 -1
  20. package/dist/cjs/TabsHeadlessDemo.cjs +1 -1
  21. package/dist/cjs/TabsHeadlessDemo.js +1 -1
  22. package/dist/cjs/TabsHeadlessDemo.js.map +1 -1
  23. package/dist/cjs/TabsHeadlessDemo.native.js +1 -1
  24. package/dist/cjs/TabsHeadlessDemo.native.js.map +1 -1
  25. package/dist/cjs/ToggleGroupDemo.cjs +14 -20
  26. package/dist/cjs/ToggleGroupDemo.js +10 -19
  27. package/dist/cjs/ToggleGroupDemo.js.map +1 -1
  28. package/dist/cjs/ToggleGroupDemo.native.js +14 -20
  29. package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
  30. package/dist/esm/ColorsDemo.js +51 -36
  31. package/dist/esm/ColorsDemo.js.map +1 -1
  32. package/dist/esm/ColorsDemo.mjs +41 -29
  33. package/dist/esm/ColorsDemo.mjs.map +1 -1
  34. package/dist/esm/ColorsDemo.native.js +27 -24
  35. package/dist/esm/ColorsDemo.native.js.map +1 -1
  36. package/dist/esm/ContextMenuDemo.js +1 -1
  37. package/dist/esm/ContextMenuDemo.js.map +1 -1
  38. package/dist/esm/ContextMenuDemo.mjs +1 -1
  39. package/dist/esm/ContextMenuDemo.native.js +1 -1
  40. package/dist/esm/RadioGroupUnstyledDemo.js +1 -1
  41. package/dist/esm/RadioGroupUnstyledDemo.js.map +1 -1
  42. package/dist/esm/RadioGroupUnstyledDemo.mjs +1 -1
  43. package/dist/esm/RadioGroupUnstyledDemo.mjs.map +1 -1
  44. package/dist/esm/RadioGroupUnstyledDemo.native.js +1 -1
  45. package/dist/esm/RadioGroupUnstyledDemo.native.js.map +1 -1
  46. package/dist/esm/SelectDemo.js +1 -1
  47. package/dist/esm/SelectDemo.js.map +1 -1
  48. package/dist/esm/SelectDemo.mjs +1 -1
  49. package/dist/esm/SelectDemo.mjs.map +1 -1
  50. package/dist/esm/SelectDemo.native.js +1 -1
  51. package/dist/esm/TabsHeadlessDemo.js +1 -1
  52. package/dist/esm/TabsHeadlessDemo.js.map +1 -1
  53. package/dist/esm/TabsHeadlessDemo.mjs +1 -1
  54. package/dist/esm/TabsHeadlessDemo.mjs.map +1 -1
  55. package/dist/esm/TabsHeadlessDemo.native.js +1 -1
  56. package/dist/esm/TabsHeadlessDemo.native.js.map +1 -1
  57. package/dist/esm/ToggleGroupDemo.js +10 -19
  58. package/dist/esm/ToggleGroupDemo.js.map +1 -1
  59. package/dist/esm/ToggleGroupDemo.mjs +14 -20
  60. package/dist/esm/ToggleGroupDemo.mjs.map +1 -1
  61. package/dist/esm/ToggleGroupDemo.native.js +14 -20
  62. package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
  63. package/package.json +35 -34
  64. package/src/ColorsDemo.tsx +47 -38
  65. package/src/ContextMenuDemo.tsx +1 -1
  66. package/src/RadioGroupUnstyledDemo.tsx +1 -1
  67. package/src/SelectDemo.tsx +1 -1
  68. package/src/TabsHeadlessDemo.tsx +1 -1
  69. package/src/ToggleGroupDemo.tsx +12 -17
@@ -1,49 +1,74 @@
1
- import type { Variable } from '@tamagui/core'
2
1
  import {
3
- H2,
4
- Paragraph,
5
- Separator,
6
- Square,
7
- XStack,
8
- YStack,
9
- getTokens,
10
- getVariableValue,
11
- } from 'tamagui'
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 = ['orange', 'yellow', 'green', 'blue', 'purple', 'pink', 'red']
15
+ const colorGroups = ['gray', 'blue', 'green', 'yellow', 'red'] as const
14
16
 
15
- export function ColorsDemo() {
16
- const colors = getTokens({ prefixed: false }).color
17
- const [colorsLight, colorsDark] = [getColors(colors), getColors(colors, true)]
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" colors={colorsLight} />
36
+ <ColorsRow title="Light" colorSets={lightColors} />
22
37
  <Separator />
23
- <ColorsRow title="Dark" colors={colorsDark} />
38
+ <ColorsRow title="Dark" colorSets={darkColors} />
24
39
  </YStack>
25
40
  )
26
41
  }
27
42
 
28
- function ColorsRow({ title, colors }: { title: string; colors: Variable[][] }) {
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
- {colors.map((group, index) => {
58
+ {colorGroups.map((groupName) => {
59
+ const colorSet = colorSets[groupName]
60
+ const colors = Object.values(colorSet)
36
61
  return (
37
- <XStack gap="$2" key={index}>
38
- {group.map((color) => {
62
+ <XStack gap="$2" key={groupName}>
63
+ {colors.map((color, index) => {
39
64
  return (
40
65
  <Square
41
- key={`${color.key}${index}`}
66
+ key={`${groupName}${index}`}
42
67
  rounded="$2"
43
68
  size="$4"
44
69
  height="$4"
45
70
  borderWidth={1}
46
- bg={getVariableValue(color)}
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
- }
@@ -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 longPress
22
+ Right Click or Long Press
23
23
  </Text>
24
24
  </ContextMenu.Trigger>
25
25
 
@@ -6,7 +6,7 @@ const RADIO_GROUP_ITEM_NAME = 'RadioGroupItem'
6
6
 
7
7
  const RadioGroupItemFrame = styled(YStack, {
8
8
  name: RADIO_GROUP_ITEM_NAME,
9
- tag: 'button',
9
+ render: 'button',
10
10
 
11
11
  rounded: 1000,
12
12
  bg: '$background',
@@ -100,7 +100,7 @@ export function SelectDemoContents(
100
100
  borderWidth={1}
101
101
  borderColor="$borderColor"
102
102
  >
103
- <Select.Indicator transition="select" />
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 */}
@@ -20,7 +20,7 @@ export const TabsFrame = styled(SizableStack, {
20
20
 
21
21
  export const TabFrame = styled(ThemeableStack, {
22
22
  name: 'TabsTrigger',
23
- tag: 'button',
23
+ render: 'button',
24
24
  cursor: 'pointer',
25
25
  variants: {
26
26
  size: {
@@ -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 GreenItem = styled(ToggleGroup.Item, {
7
- color: '$green8',
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: '$green9',
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
- <GreenItem
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
- </GreenItem>
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
- color="$blue8"
68
- toggledStyle={{ backgroundColor: '$blue9', color: '$green9' }}
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
- color="$red8"
79
- toggledStyle={{ backgroundColor: '$red9', color: '$blue9' }}
80
- focusStyle={{ background: '$color12' }}
74
+ hoverStyle={{ backgroundColor: '$color5' }}
75
+ toggledStyle={{ backgroundColor: '$color6' }}
81
76
  >
82
77
  <AlignRight />
83
78
  </ToggleGroup.Item>