@tamagui/button 2.0.0-rc.4 → 2.0.0-rc.40

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 (93) hide show
  1. package/dist/cjs/Button.cjs +195 -186
  2. package/dist/cjs/Button.native.js +195 -188
  3. package/dist/cjs/Button.native.js.map +1 -1
  4. package/dist/cjs/Button.test.cjs +33 -5
  5. package/dist/cjs/Button.test.native.js +34 -6
  6. package/dist/cjs/Button.test.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +7 -5
  8. package/dist/cjs/index.native.js +7 -5
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/v1/Button.cjs +215 -212
  11. package/dist/cjs/v1/Button.native.js +217 -215
  12. package/dist/cjs/v1/Button.native.js.map +1 -1
  13. package/dist/cjs/v1/Button.test.cjs +5 -5
  14. package/dist/cjs/v1/Button.test.native.js +6 -6
  15. package/dist/cjs/v1/Button.test.native.js.map +1 -1
  16. package/dist/cjs/v1/index.cjs +7 -5
  17. package/dist/cjs/v1/index.native.js +7 -5
  18. package/dist/cjs/v1/index.native.js.map +1 -1
  19. package/dist/esm/Button.mjs +175 -168
  20. package/dist/esm/Button.mjs.map +1 -1
  21. package/dist/esm/Button.native.js +175 -170
  22. package/dist/esm/Button.native.js.map +1 -1
  23. package/dist/esm/Button.test.mjs +30 -2
  24. package/dist/esm/Button.test.mjs.map +1 -1
  25. package/dist/esm/Button.test.native.js +30 -2
  26. package/dist/esm/Button.test.native.js.map +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/index.js.map +1 -6
  29. package/dist/esm/v1/Button.mjs +193 -192
  30. package/dist/esm/v1/Button.mjs.map +1 -1
  31. package/dist/esm/v1/Button.native.js +194 -194
  32. package/dist/esm/v1/Button.native.js.map +1 -1
  33. package/dist/esm/v1/Button.test.mjs +2 -2
  34. package/dist/esm/v1/Button.test.mjs.map +1 -1
  35. package/dist/esm/v1/Button.test.native.js +2 -2
  36. package/dist/esm/v1/Button.test.native.js.map +1 -1
  37. package/dist/jsx/Button.mjs +175 -168
  38. package/dist/jsx/Button.mjs.map +1 -1
  39. package/dist/jsx/Button.native.js +195 -188
  40. package/dist/jsx/Button.native.js.map +1 -1
  41. package/dist/jsx/Button.test.mjs +30 -2
  42. package/dist/jsx/Button.test.mjs.map +1 -1
  43. package/dist/jsx/Button.test.native.js +34 -6
  44. package/dist/jsx/Button.test.native.js.map +1 -1
  45. package/dist/jsx/index.js +1 -1
  46. package/dist/jsx/index.js.map +1 -6
  47. package/dist/jsx/index.native.js +7 -5
  48. package/dist/jsx/v1/Button.mjs +193 -192
  49. package/dist/jsx/v1/Button.mjs.map +1 -1
  50. package/dist/jsx/v1/Button.native.js +217 -215
  51. package/dist/jsx/v1/Button.native.js.map +1 -1
  52. package/dist/jsx/v1/Button.test.mjs +2 -2
  53. package/dist/jsx/v1/Button.test.mjs.map +1 -1
  54. package/dist/jsx/v1/Button.test.native.js +6 -6
  55. package/dist/jsx/v1/Button.test.native.js.map +1 -1
  56. package/dist/jsx/v1/index.native.js +7 -5
  57. package/package.json +15 -18
  58. package/src/Button.test.tsx +24 -0
  59. package/src/Button.tsx +16 -3
  60. package/types/Button.d.ts +9 -0
  61. package/types/Button.d.ts.map +1 -1
  62. package/dist/cjs/Button.js +0 -176
  63. package/dist/cjs/Button.js.map +0 -6
  64. package/dist/cjs/Button.test.js +0 -8
  65. package/dist/cjs/Button.test.js.map +0 -6
  66. package/dist/cjs/index.js +0 -15
  67. package/dist/cjs/index.js.map +0 -6
  68. package/dist/cjs/v1/Button.js +0 -208
  69. package/dist/cjs/v1/Button.js.map +0 -6
  70. package/dist/cjs/v1/Button.test.js +0 -8
  71. package/dist/cjs/v1/Button.test.js.map +0 -6
  72. package/dist/cjs/v1/index.js +0 -15
  73. package/dist/cjs/v1/index.js.map +0 -6
  74. package/dist/esm/Button.js +0 -174
  75. package/dist/esm/Button.js.map +0 -6
  76. package/dist/esm/Button.test.js +0 -10
  77. package/dist/esm/Button.test.js.map +0 -6
  78. package/dist/esm/v1/Button.js +0 -201
  79. package/dist/esm/v1/Button.js.map +0 -6
  80. package/dist/esm/v1/Button.test.js +0 -10
  81. package/dist/esm/v1/Button.test.js.map +0 -6
  82. package/dist/esm/v1/index.js +0 -2
  83. package/dist/esm/v1/index.js.map +0 -6
  84. package/dist/jsx/Button.js +0 -174
  85. package/dist/jsx/Button.js.map +0 -6
  86. package/dist/jsx/Button.test.js +0 -10
  87. package/dist/jsx/Button.test.js.map +0 -6
  88. package/dist/jsx/v1/Button.js +0 -201
  89. package/dist/jsx/v1/Button.js.map +0 -6
  90. package/dist/jsx/v1/Button.test.js +0 -10
  91. package/dist/jsx/v1/Button.test.js.map +0 -6
  92. package/dist/jsx/v1/index.js +0 -2
  93. package/dist/jsx/v1/index.js.map +0 -6
@@ -1,192 +1,199 @@
1
1
  import { getFontSize } from "@tamagui/font-size";
2
2
  import { getButtonSized } from "@tamagui/get-button-sized";
3
- import { getIcon } from "@tamagui/helpers-tamagui";
3
+ import { getIcon, useCurrentColor } from "@tamagui/helpers-tamagui";
4
4
  import { ButtonNestingContext, getElevation, themeableVariants } from "@tamagui/stacks";
5
5
  import { SizableText, wrapChildrenInText } from "@tamagui/text";
6
6
  import { createStyledContext, getTokenValue, styled, useProps, View, withStaticProperties } from "@tamagui/web";
7
7
  import { useContext } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  const context = createStyledContext({
10
- size: void 0,
11
- variant: void 0,
12
- color: void 0,
13
- elevation: void 0
10
+ size: void 0,
11
+ variant: void 0,
12
+ color: void 0,
13
+ elevation: void 0
14
+ });
15
+ const Frame = styled(View, {
16
+ context,
17
+ name: "Button",
18
+ role: "button",
19
+ render: /* @__PURE__ */jsx("button", {
20
+ type: "button"
14
21
  }),
15
- Frame = styled(View, {
16
- context,
17
- name: "Button",
18
- role: "button",
19
- render: /* @__PURE__ */jsx("button", {
20
- type: "button"
21
- }),
22
- tabIndex: 0,
23
- variants: {
24
- unstyled: {
25
- false: {
26
- size: "$true",
27
- justifyContent: "center",
28
- alignItems: "center",
29
- flexWrap: "nowrap",
30
- flexDirection: "row",
31
- cursor: "pointer",
32
- backgroundColor: "$background",
33
- borderWidth: 1,
34
- borderColor: "transparent",
35
- hoverStyle: {
36
- backgroundColor: "$backgroundHover",
37
- borderColor: "$borderColorHover"
38
- },
39
- pressStyle: {
40
- backgroundColor: "$backgroundPress",
41
- borderColor: "$borderColorHover"
42
- },
43
- focusVisibleStyle: {
44
- outlineColor: "$outlineColor",
45
- outlineStyle: "solid",
46
- outlineWidth: 2
47
- }
22
+ tabIndex: 0,
23
+ variants: {
24
+ unstyled: {
25
+ false: {
26
+ size: "$true",
27
+ justifyContent: "center",
28
+ alignItems: "center",
29
+ flexWrap: "nowrap",
30
+ flexDirection: "row",
31
+ cursor: "pointer",
32
+ backgroundColor: "$background",
33
+ borderWidth: 1,
34
+ borderColor: "transparent",
35
+ hoverStyle: {
36
+ backgroundColor: "$backgroundHover",
37
+ borderColor: "$borderColorHover"
38
+ },
39
+ pressStyle: {
40
+ backgroundColor: "$backgroundPress",
41
+ borderColor: "$borderColorHover"
42
+ },
43
+ focusVisibleStyle: {
44
+ outlineColor: "$outlineColor",
45
+ outlineStyle: "solid",
46
+ outlineWidth: 2
48
47
  }
49
- },
50
- variant: {
51
- outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : {
48
+ }
49
+ },
50
+ variant: {
51
+ outlined: process.env.TAMAGUI_HEADLESS === "1" ? {} : {
52
+ backgroundColor: "transparent",
53
+ borderWidth: 1,
54
+ borderColor: "$borderColor",
55
+ hoverStyle: {
52
56
  backgroundColor: "transparent",
53
- borderWidth: 1,
54
- borderColor: "$borderColor",
55
- hoverStyle: {
56
- backgroundColor: "transparent",
57
- borderColor: "$borderColorHover"
58
- },
59
- pressStyle: {
60
- backgroundColor: "transparent",
61
- borderColor: "$borderColorPress"
62
- }
63
- }
64
- },
65
- circular: themeableVariants.circular,
66
- chromeless: themeableVariants.chromeless,
67
- size: {
68
- "...size": (val, extras) => {
69
- const buttonStyle = getButtonSized(val, extras),
70
- gap = getTokenValue(val);
71
- return {
72
- ...buttonStyle,
73
- gap
74
- };
57
+ borderColor: "$borderColorHover"
75
58
  },
76
- ":number": (val, extras) => {
77
- const buttonStyle = getButtonSized(val, extras),
78
- gap = val * 0.4;
79
- return {
80
- ...buttonStyle,
81
- gap
82
- };
59
+ pressStyle: {
60
+ backgroundColor: "transparent",
61
+ borderColor: "$borderColorPress"
83
62
  }
63
+ }
64
+ },
65
+ circular: themeableVariants.circular,
66
+ chromeless: themeableVariants.chromeless,
67
+ size: {
68
+ "...size": (val, extras) => {
69
+ const buttonStyle = getButtonSized(val, extras);
70
+ const gap = getTokenValue(val);
71
+ return {
72
+ ...buttonStyle,
73
+ gap
74
+ };
84
75
  },
85
- elevation: {
86
- "...size": getElevation,
87
- ":number": getElevation
88
- },
89
- disabled: {
90
- true: {
91
- pointerEvents: "none",
92
- // @ts-ignore
93
- "aria-disabled": !0
94
- }
76
+ ":number": (val, extras) => {
77
+ const buttonStyle = getButtonSized(val, extras);
78
+ const gap = val * 0.4;
79
+ return {
80
+ ...buttonStyle,
81
+ gap
82
+ };
95
83
  }
96
84
  },
97
- defaultVariants: {
98
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
85
+ elevation: {
86
+ "...size": getElevation,
87
+ ":number": getElevation
88
+ },
89
+ disabled: {
90
+ true: {
91
+ pointerEvents: "none",
92
+ // @ts-ignore
93
+ "aria-disabled": true
94
+ }
99
95
  }
100
- }),
101
- Text = styled(SizableText, {
102
- context,
103
- variants: {
104
- unstyled: {
105
- false: {
106
- userSelect: "none",
107
- cursor: "pointer",
108
- // flexGrow 1 leads to inconsistent native style where text pushes to start of view
109
- flexGrow: 0,
110
- flexShrink: 1,
111
- ellipsis: !0,
112
- color: "$color"
113
- }
96
+ },
97
+ defaultVariants: {
98
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
99
+ }
100
+ });
101
+ const Text = styled(SizableText, {
102
+ context,
103
+ variants: {
104
+ unstyled: {
105
+ false: {
106
+ userSelect: "none",
107
+ cursor: "pointer",
108
+ // flexGrow 1 leads to inconsistent native style where text pushes to start of view
109
+ flexGrow: 0,
110
+ flexShrink: 1,
111
+ ellipsis: true,
112
+ color: "$color"
114
113
  }
115
- },
116
- defaultVariants: {
117
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
118
114
  }
119
- }),
120
- Icon = props => {
121
- const {
122
- children,
123
- scaleIcon = 1,
124
- size
125
- } = props,
126
- styledContext = context.useStyledContext();
127
- if (!styledContext) throw new Error("Button.Icon must be used within a Button");
128
- const sizeToken = size ?? styledContext.size,
129
- iconSize = (typeof sizeToken == "number" ? sizeToken * 0.5 : getFontSize(sizeToken)) * scaleIcon;
130
- return getIcon(children, {
131
- size: iconSize,
132
- color: styledContext.color
133
- });
134
115
  },
135
- ButtonContext = createStyledContext({
136
- size: void 0,
137
- variant: void 0,
138
- color: void 0
139
- }),
140
- ButtonComponent = Frame.styleable((propsIn, ref) => {
141
- const isNested = useContext(ButtonNestingContext),
142
- processedProps = useProps(propsIn, {
143
- noNormalize: !0,
144
- noExpand: !0
145
- }),
146
- {
147
- children,
148
- iconSize,
149
- icon,
150
- iconAfter,
151
- scaleIcon = 1,
152
- ...props
153
- } = processedProps,
154
- size = propsIn.size || (propsIn.unstyled ? void 0 : "$true"),
155
- styledContext = context.useStyledContext(),
156
- finalSize = iconSize ?? size ?? styledContext?.size,
157
- iconSizeNumber = (typeof finalSize == "number" ? finalSize * 0.5 : getFontSize(finalSize)) * scaleIcon,
158
- [themedIcon, themedIconAfter] = [icon, iconAfter].map(icon2 => icon2 ? getIcon(icon2, {
159
- size: iconSizeNumber,
160
- color: styledContext?.color
161
- // No marginLeft or marginRight needed - spacing is handled by the gap property in Frame's size variants
162
- }) : null),
163
- wrappedChildren = wrapChildrenInText(Text, {
164
- children
165
- }, {
166
- unstyled: process.env.TAMAGUI_HEADLESS === "1",
167
- size: finalSize ?? styledContext?.size
168
- });
169
- return /* @__PURE__ */jsx(ButtonNestingContext.Provider, {
170
- value: !0,
171
- children: /* @__PURE__ */jsxs(Frame, {
172
- ref,
173
- ...props,
174
- ...(isNested && {
175
- render: "span"
176
- }),
177
- ...(props.circular && !propsIn.size && {
178
- size
179
- }),
180
- tabIndex: 0,
181
- children: [themedIcon, wrappedChildren, themedIconAfter]
182
- })
116
+ defaultVariants: {
117
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
118
+ }
119
+ });
120
+ const Icon = props => {
121
+ const {
122
+ children,
123
+ scaleIcon = 1,
124
+ size
125
+ } = props;
126
+ const styledContext = context.useStyledContext();
127
+ if (!styledContext) {
128
+ throw new Error("Button.Icon must be used within a Button");
129
+ }
130
+ const sizeToken = size ?? styledContext.size;
131
+ const iconColor = useCurrentColor(styledContext.color);
132
+ const iconSize = (typeof sizeToken === "number" ? sizeToken * 0.5 : getFontSize(sizeToken)) * scaleIcon;
133
+ return getIcon(children, {
134
+ size: iconSize,
135
+ color: iconColor
136
+ });
137
+ };
138
+ const ButtonContext = createStyledContext({
139
+ size: void 0,
140
+ variant: void 0,
141
+ color: void 0
142
+ });
143
+ const ButtonComponent = Frame.styleable((propsIn, ref) => {
144
+ const isNested = useContext(ButtonNestingContext);
145
+ const processedProps = useProps(propsIn, {
146
+ noNormalize: true,
147
+ noExpand: true
148
+ });
149
+ const {
150
+ children,
151
+ iconSize,
152
+ icon,
153
+ iconAfter,
154
+ scaleIcon = 1,
155
+ ...props
156
+ } = processedProps;
157
+ const size = propsIn.size || (propsIn.unstyled ? void 0 : "$true");
158
+ const styledContext = context.useStyledContext();
159
+ const iconColor = useCurrentColor(styledContext?.color);
160
+ const finalSize = iconSize ?? size ?? styledContext?.size;
161
+ const iconSizeNumber = (typeof finalSize === "number" ? finalSize * 0.5 : getFontSize(finalSize)) * scaleIcon;
162
+ const [themedIcon, themedIconAfter] = [icon, iconAfter].map(icon2 => {
163
+ if (!icon2) return null;
164
+ return getIcon(icon2, {
165
+ size: iconSizeNumber,
166
+ color: iconColor
167
+ // No marginLeft or marginRight needed - spacing is handled by the gap property in Frame's size variants
183
168
  });
184
- }),
185
- Button = withStaticProperties(ButtonComponent, {
186
- Apply: context.Provider,
187
- Frame,
188
- Text,
189
- Icon
190
169
  });
170
+ const wrappedChildren = wrapChildrenInText(Text, {
171
+ children
172
+ }, {
173
+ unstyled: process.env.TAMAGUI_HEADLESS === "1",
174
+ size: finalSize ?? styledContext?.size
175
+ });
176
+ return /* @__PURE__ */jsx(ButtonNestingContext.Provider, {
177
+ value: true,
178
+ children: /* @__PURE__ */jsxs(Frame, {
179
+ ref,
180
+ ...props,
181
+ ...(isNested && {
182
+ render: "span"
183
+ }),
184
+ ...(props.circular && !propsIn.size && {
185
+ size
186
+ }),
187
+ tabIndex: 0,
188
+ children: [themedIcon, wrappedChildren, themedIconAfter]
189
+ })
190
+ });
191
+ });
192
+ const Button = withStaticProperties(ButtonComponent, {
193
+ Apply: context.Provider,
194
+ Frame,
195
+ Text,
196
+ Icon
197
+ });
191
198
  export { Button, ButtonContext };
192
199
  //# sourceMappingURL=Button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getFontSize","getButtonSized","getIcon","ButtonNestingContext","getElevation","themeableVariants","SizableText","wrapChildrenInText","createStyledContext","getTokenValue","styled","useProps","View","withStaticProperties","useContext","jsx","jsxs","context","size","variant","color","elevation","Frame","name","role","render","type","tabIndex","variants","unstyled","false","justifyContent","alignItems","flexWrap","flexDirection","cursor","backgroundColor","borderWidth","borderColor","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineStyle","outlineWidth","outlined","process","env","TAMAGUI_HEADLESS","circular","chromeless","...size","val","extras","buttonStyle","gap",":number","disabled","true","pointerEvents","defaultVariants","Text","userSelect","flexGrow","flexShrink","ellipsis","Icon","props","children","scaleIcon","styledContext","useStyledContext","Error","sizeToken","iconSize","ButtonContext","ButtonComponent","styleable","propsIn","ref","isNested","processedProps","noNormalize","noExpand","icon","iconAfter","finalSize","iconSizeNumber","themedIcon","themedIconAfter","map","icon2","wrappedChildren","Provider","value","Button","Apply"],"sources":["../../src/Button.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getFontSize","getButtonSized","getIcon","useCurrentColor","ButtonNestingContext","getElevation","themeableVariants","SizableText","wrapChildrenInText","createStyledContext","getTokenValue","styled","useProps","View","withStaticProperties","useContext","jsx","jsxs","context","size","variant","color","elevation","Frame","name","role","render","type","tabIndex","variants","unstyled","false","justifyContent","alignItems","flexWrap","flexDirection","cursor","backgroundColor","borderWidth","borderColor","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineStyle","outlineWidth","outlined","process","env","TAMAGUI_HEADLESS","circular","chromeless","...size","val","extras","buttonStyle","gap",":number","disabled","true","pointerEvents","defaultVariants","Text","userSelect","flexGrow","flexShrink","ellipsis","Icon","props","children","scaleIcon","styledContext","useStyledContext","Error","sizeToken","iconColor","iconSize","ButtonContext","ButtonComponent","styleable","propsIn","ref","isNested","processedProps","noNormalize","noExpand","icon","iconAfter","finalSize","iconSizeNumber","themedIcon","themedIconAfter","map","icon2","wrappedChildren","Provider","value","Button","Apply"],"sources":["../../src/Button.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}