@tamagui/button 2.0.0-rc.8 → 2.0.0

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 (96) hide show
  1. package/dist/cjs/Button.cjs +247 -174
  2. package/dist/cjs/Button.native.js +252 -177
  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 +221 -212
  11. package/dist/cjs/v1/Button.native.js +223 -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 +227 -156
  20. package/dist/esm/Button.mjs.map +1 -1
  21. package/dist/esm/Button.native.js +232 -159
  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 +199 -192
  30. package/dist/esm/v1/Button.mjs.map +1 -1
  31. package/dist/esm/v1/Button.native.js +200 -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 +227 -156
  38. package/dist/jsx/Button.mjs.map +1 -1
  39. package/dist/jsx/Button.native.js +252 -177
  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 +199 -192
  49. package/dist/jsx/v1/Button.mjs.map +1 -1
  50. package/dist/jsx/v1/Button.native.js +223 -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 +129 -25
  60. package/src/v1/Button.tsx +6 -0
  61. package/types/Button.d.ts +148 -39
  62. package/types/Button.d.ts.map +1 -1
  63. package/types/v1/Button.d.ts +21 -21
  64. package/types/v1/Button.d.ts.map +1 -1
  65. package/dist/cjs/Button.js +0 -176
  66. package/dist/cjs/Button.js.map +0 -6
  67. package/dist/cjs/Button.test.js +0 -8
  68. package/dist/cjs/Button.test.js.map +0 -6
  69. package/dist/cjs/index.js +0 -15
  70. package/dist/cjs/index.js.map +0 -6
  71. package/dist/cjs/v1/Button.js +0 -208
  72. package/dist/cjs/v1/Button.js.map +0 -6
  73. package/dist/cjs/v1/Button.test.js +0 -8
  74. package/dist/cjs/v1/Button.test.js.map +0 -6
  75. package/dist/cjs/v1/index.js +0 -15
  76. package/dist/cjs/v1/index.js.map +0 -6
  77. package/dist/esm/Button.js +0 -174
  78. package/dist/esm/Button.js.map +0 -6
  79. package/dist/esm/Button.test.js +0 -10
  80. package/dist/esm/Button.test.js.map +0 -6
  81. package/dist/esm/v1/Button.js +0 -201
  82. package/dist/esm/v1/Button.js.map +0 -6
  83. package/dist/esm/v1/Button.test.js +0 -10
  84. package/dist/esm/v1/Button.test.js.map +0 -6
  85. package/dist/esm/v1/index.js +0 -2
  86. package/dist/esm/v1/index.js.map +0 -6
  87. package/dist/jsx/Button.js +0 -174
  88. package/dist/jsx/Button.js.map +0 -6
  89. package/dist/jsx/Button.test.js +0 -10
  90. package/dist/jsx/Button.test.js.map +0 -6
  91. package/dist/jsx/v1/Button.js +0 -201
  92. package/dist/jsx/v1/Button.js.map +0 -6
  93. package/dist/jsx/v1/Button.test.js +0 -10
  94. package/dist/jsx/v1/Button.test.js.map +0 -6
  95. package/dist/jsx/v1/index.js +0 -2
  96. package/dist/jsx/v1/index.js.map +0 -6
@@ -5,15 +5,17 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
9
10
  get: () => from[key],
10
11
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
12
  });
12
- return to;
13
- },
14
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
17
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
- value: !0
18
+ value: true
17
19
  }), mod);
18
20
  var index_exports = {};
19
21
  module.exports = __toCommonJS(index_exports);
@@ -9,129 +9,136 @@ import { useContext } from "react";
9
9
  import { spacedChildren } from "@tamagui/spacer";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  const ButtonContext = createStyledContext({
12
- // keeping these here means they work with styled() passing down color to text
13
- color: void 0,
14
- ellipsis: void 0,
15
- fontFamily: void 0,
16
- fontSize: void 0,
17
- fontStyle: void 0,
18
- fontWeight: void 0,
19
- letterSpacing: void 0,
20
- maxFontSizeMultiplier: void 0,
21
- size: void 0,
22
- textAlign: void 0,
23
- variant: void 0
24
- }),
25
- BUTTON_NAME = "Button",
26
- ButtonFrame = styled(ThemeableStack, {
27
- name: BUTTON_NAME,
28
- render: "button",
29
- context: ButtonContext,
30
- role: "button",
31
- focusable: !0,
32
- variants: {
33
- unstyled: {
34
- false: {
35
- size: "$true",
36
- justifyContent: "center",
37
- alignItems: "center",
38
- flexWrap: "nowrap",
39
- flexDirection: "row",
40
- cursor: "pointer",
41
- hoverTheme: !0,
42
- pressTheme: !0,
43
- backgroundColor: "$background",
44
- borderWidth: 1,
45
- borderColor: "transparent",
46
- focusVisibleStyle: {
47
- outlineColor: "$outlineColor",
48
- outlineStyle: "solid",
49
- outlineWidth: 2
50
- }
51
- }
52
- },
53
- variant: {
54
- outlined: {
55
- backgroundColor: "transparent",
56
- borderWidth: 2,
57
- borderColor: "$borderColor",
58
- hoverStyle: {
59
- backgroundColor: "transparent",
60
- borderColor: "$borderColorHover"
61
- },
62
- pressStyle: {
63
- backgroundColor: "transparent",
64
- borderColor: "$borderColorPress"
65
- },
66
- focusVisibleStyle: {
67
- backgroundColor: "transparent",
68
- borderColor: "$borderColorFocus"
69
- }
70
- }
12
+ // keeping these here means they work with styled() passing down color to text
13
+ color: void 0,
14
+ ellipsis: void 0,
15
+ fontFamily: void 0,
16
+ fontSize: void 0,
17
+ fontStyle: void 0,
18
+ fontWeight: void 0,
19
+ letterSpacing: void 0,
20
+ maxFontSizeMultiplier: void 0,
21
+ size: void 0,
22
+ textAlign: void 0,
23
+ variant: void 0
24
+ });
25
+ const BUTTON_NAME = "Button";
26
+ const ButtonFrame = styled(ThemeableStack, {
27
+ name: BUTTON_NAME,
28
+ render: "button",
29
+ context: ButtonContext,
30
+ role: "button",
31
+ focusable: true,
32
+ variants: {
33
+ unstyled: {
34
+ true: {
35
+ // reset browser <button> defaults
36
+ outlineWidth: 0,
37
+ borderWidth: 0,
38
+ backgroundColor: "transparent"
71
39
  },
72
- size: {
73
- "...size": getButtonSized,
74
- ":number": getButtonSized
75
- },
76
- disabled: {
77
- true: {
78
- pointerEvents: "none"
40
+ false: {
41
+ size: "$true",
42
+ justifyContent: "center",
43
+ alignItems: "center",
44
+ flexWrap: "nowrap",
45
+ flexDirection: "row",
46
+ cursor: "pointer",
47
+ hoverTheme: true,
48
+ pressTheme: true,
49
+ backgroundColor: "$background",
50
+ borderWidth: 1,
51
+ borderColor: "transparent",
52
+ focusVisibleStyle: {
53
+ outlineColor: "$outlineColor",
54
+ outlineStyle: "solid",
55
+ outlineWidth: 2
79
56
  }
80
57
  }
81
58
  },
82
- defaultVariants: {
83
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
84
- }
85
- }),
86
- ButtonText = styled(SizableText, {
87
- name: "Button",
88
- context: ButtonContext,
89
- variants: {
90
- unstyled: {
91
- false: {
92
- userSelect: "none",
93
- cursor: "pointer",
94
- // flexGrow 1 leads to inconsistent native style where text pushes to start of view
95
- flexGrow: 0,
96
- flexShrink: 1,
97
- ellipsis: !0,
98
- color: "$color"
59
+ variant: {
60
+ outlined: {
61
+ backgroundColor: "transparent",
62
+ borderWidth: 2,
63
+ borderColor: "$borderColor",
64
+ hoverStyle: {
65
+ backgroundColor: "transparent",
66
+ borderColor: "$borderColorHover"
67
+ },
68
+ pressStyle: {
69
+ backgroundColor: "transparent",
70
+ borderColor: "$borderColorPress"
71
+ },
72
+ focusVisibleStyle: {
73
+ backgroundColor: "transparent",
74
+ borderColor: "$borderColorFocus"
99
75
  }
100
76
  }
101
77
  },
102
- defaultVariants: {
103
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
78
+ size: {
79
+ "...size": getButtonSized,
80
+ ":number": getButtonSized
81
+ },
82
+ disabled: {
83
+ true: {
84
+ pointerEvents: "none"
85
+ }
104
86
  }
105
- }),
106
- ButtonIcon = props => {
107
- const {
108
- children,
109
- scaleIcon = 1
110
- } = props,
111
- {
112
- size,
113
- color
114
- } = useContext(ButtonContext),
115
- iconSize = (typeof size == "number" ? size * 0.5 : getFontSize(size)) * scaleIcon;
116
- return useGetThemedIcon({
117
- size: iconSize,
118
- color
119
- })(children);
120
87
  },
121
- ButtonComponent = ButtonFrame.styleable(function (props, ref) {
122
- const {
123
- props: buttonProps
124
- } = useButton(props);
125
- return /* @__PURE__ */jsx(ButtonFrame, {
126
- "data-disable-theme": !0,
127
- ...buttonProps,
128
- ref
129
- });
130
- }),
131
- Button2 = withStaticProperties(ButtonComponent, {
132
- Text: ButtonText,
133
- Icon: ButtonIcon
88
+ defaultVariants: {
89
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
90
+ }
91
+ });
92
+ const ButtonText = styled(SizableText, {
93
+ name: "Button",
94
+ context: ButtonContext,
95
+ variants: {
96
+ unstyled: {
97
+ false: {
98
+ userSelect: "none",
99
+ cursor: "pointer",
100
+ // flexGrow 1 leads to inconsistent native style where text pushes to start of view
101
+ flexGrow: 0,
102
+ flexShrink: 1,
103
+ ellipsis: true,
104
+ color: "$color"
105
+ }
106
+ }
107
+ },
108
+ defaultVariants: {
109
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
110
+ }
111
+ });
112
+ const ButtonIcon = props => {
113
+ const {
114
+ children,
115
+ scaleIcon = 1
116
+ } = props;
117
+ const {
118
+ size,
119
+ color
120
+ } = useContext(ButtonContext);
121
+ const iconSize = (typeof size === "number" ? size * 0.5 : getFontSize(size)) * scaleIcon;
122
+ const getThemedIcon = useGetThemedIcon({
123
+ size: iconSize,
124
+ color
134
125
  });
126
+ return getThemedIcon(children);
127
+ };
128
+ const ButtonComponent = ButtonFrame.styleable(function Button(props, ref) {
129
+ const {
130
+ props: buttonProps
131
+ } = useButton(props);
132
+ return /* @__PURE__ */jsx(ButtonFrame, {
133
+ "data-disable-theme": true,
134
+ ...buttonProps,
135
+ ref
136
+ });
137
+ });
138
+ const Button2 = withStaticProperties(ButtonComponent, {
139
+ Text: ButtonText,
140
+ Icon: ButtonIcon
141
+ });
135
142
  function useButton({
136
143
  textProps,
137
144
  ...propsIn
@@ -140,87 +147,87 @@ function useButton({
140
147
  } = {
141
148
  Text: Button2.Text
142
149
  }) {
143
- const isNested = useContext(ButtonNestingContext),
144
- propsActive = useProps(propsIn, {
145
- noNormalize: !0,
146
- noExpand: !0
147
- }),
148
- {
149
- icon,
150
- iconAfter,
151
- gap,
152
- spaceFlex,
153
- scaleIcon = 1,
154
- scaleSpace = 0.66,
155
- noTextWrap,
156
- fontFamily,
157
- fontSize,
158
- fontWeight,
159
- fontStyle,
160
- letterSpacing,
161
- render,
162
- ellipsis,
163
- maxFontSizeMultiplier,
164
- ...restProps
165
- } = propsActive,
166
- size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"),
167
- color = propsActive.color,
168
- iconSize = (typeof size == "number" ? size * 0.5 : getFontSize(size, {
169
- font: fontFamily?.[0] === "$" ? fontFamily : void 0
170
- })) * scaleIcon,
171
- getThemedIcon = useGetThemedIcon({
172
- size: iconSize,
173
- color
150
+ const isNested = useContext(ButtonNestingContext);
151
+ const propsActive = useProps(propsIn, {
152
+ noNormalize: true,
153
+ noExpand: true
154
+ });
155
+ const {
156
+ icon,
157
+ iconAfter,
158
+ gap,
159
+ spaceFlex,
160
+ scaleIcon = 1,
161
+ scaleSpace = 0.66,
162
+ noTextWrap,
163
+ fontFamily,
164
+ fontSize,
165
+ fontWeight,
166
+ fontStyle,
167
+ letterSpacing,
168
+ render,
169
+ ellipsis,
170
+ maxFontSizeMultiplier,
171
+ ...restProps
172
+ } = propsActive;
173
+ const size = propsActive.size || (propsActive.unstyled ? void 0 : "$true");
174
+ const color = propsActive.color;
175
+ const iconSize = (typeof size === "number" ? size * 0.5 : getFontSize(size, {
176
+ font: fontFamily?.[0] === "$" ? fontFamily : void 0
177
+ })) * scaleIcon;
178
+ const getThemedIcon = useGetThemedIcon({
179
+ size: iconSize,
180
+ color
181
+ });
182
+ const [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon);
183
+ const spaceSize = gap ?? getVariableValue(iconSize) * scaleSpace;
184
+ const contents = noTextWrap ? [propsIn.children] : wrapChildrenInText(Text, {
185
+ children: propsIn.children,
186
+ fontFamily,
187
+ fontSize,
188
+ textProps,
189
+ fontWeight,
190
+ fontStyle,
191
+ letterSpacing,
192
+ ellipsis,
193
+ maxFontSizeMultiplier
194
+ }, Text === ButtonText && propsActive.unstyled !== true ? {
195
+ unstyled: process.env.TAMAGUI_HEADLESS === "1",
196
+ size
197
+ } : void 0);
198
+ const inner = spacedChildren({
199
+ // a bit arbitrary but scaling to font size is necessary so long as button does
200
+ space: spaceSize,
201
+ spaceFlex,
202
+ ensureKeys: true,
203
+ direction: propsActive.flexDirection === "column" || propsActive.flexDirection === "column-reverse" ? "vertical" : "horizontal",
204
+ // for keys to stay the same we keep indices as similar a possible
205
+ // so even if icons are undefined we still pass them
206
+ children: [themedIcon, ...contents, themedIconAfter]
207
+ });
208
+ const props = {
209
+ size,
210
+ ...(propsIn.disabled && {
211
+ // in rnw - false still has keyboard tabIndex, undefined = not actually focusable
212
+ focusable: void 0,
213
+ // even with tabIndex unset, it will keep focusVisibleStyle on web so disable it here
214
+ focusVisibleStyle: {
215
+ borderColor: "$background"
216
+ }
174
217
  }),
175
- [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon),
176
- spaceSize = gap ?? getVariableValue(iconSize) * scaleSpace,
177
- contents = noTextWrap ? [propsIn.children] : wrapChildrenInText(Text, {
178
- children: propsIn.children,
179
- fontFamily,
180
- fontSize,
181
- textProps,
182
- fontWeight,
183
- fontStyle,
184
- letterSpacing,
185
- ellipsis,
186
- maxFontSizeMultiplier
187
- }, Text === ButtonText && propsActive.unstyled !== !0 ? {
188
- unstyled: process.env.TAMAGUI_HEADLESS === "1",
189
- size
190
- } : void 0),
191
- inner = spacedChildren({
192
- // a bit arbitrary but scaling to font size is necessary so long as button does
193
- space: spaceSize,
194
- spaceFlex,
195
- ensureKeys: !0,
196
- direction: propsActive.flexDirection === "column" || propsActive.flexDirection === "column-reverse" ? "vertical" : "horizontal",
197
- // for keys to stay the same we keep indices as similar a possible
198
- // so even if icons are undefined we still pass them
199
- children: [themedIcon, ...contents, themedIconAfter]
218
+ // fixes SSR issue + DOM nesting issue of not allowing button in button
219
+ render: render ?? (isNested ? "span" :
220
+ // defaults to <a /> when accessibilityRole = link
221
+ // see https://github.com/tamagui/tamagui/issues/505
222
+ propsActive.accessibilityRole === "link" || propsActive.role === "link" ? "a" : "button"),
223
+ ...restProps,
224
+ children: /* @__PURE__ */jsx(ButtonNestingContext.Provider, {
225
+ value: true,
226
+ children: inner
200
227
  }),
201
- props = {
202
- size,
203
- ...(propsIn.disabled && {
204
- // in rnw - false still has keyboard tabIndex, undefined = not actually focusable
205
- focusable: void 0,
206
- // even with tabIndex unset, it will keep focusVisibleStyle on web so disable it here
207
- focusVisibleStyle: {
208
- borderColor: "$background"
209
- }
210
- }),
211
- // fixes SSR issue + DOM nesting issue of not allowing button in button
212
- render: render ?? (isNested ? "span" :
213
- // defaults to <a /> when accessibilityRole = link
214
- // see https://github.com/tamagui/tamagui/issues/505
215
- propsActive.accessibilityRole === "link" || propsActive.role === "link" ? "a" : "button"),
216
- ...restProps,
217
- children: /* @__PURE__ */jsx(ButtonNestingContext.Provider, {
218
- value: !0,
219
- children: inner
220
- }),
221
- // forces it to be a runtime pressStyle so it passes through context text colors
222
- disableClassName: !0
223
- };
228
+ // forces it to be a runtime pressStyle so it passes through context text colors
229
+ disableClassName: true
230
+ };
224
231
  return {
225
232
  spaceSize,
226
233
  isNested,
@@ -1 +1 @@
1
- {"version":3,"names":["getFontSize","getButtonSized","withStaticProperties","useGetThemedIcon","ButtonNestingContext","ThemeableStack","SizableText","wrapChildrenInText","createStyledContext","getVariableValue","styled","useProps","useContext","spacedChildren","jsx","ButtonContext","color","ellipsis","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","maxFontSizeMultiplier","size","textAlign","variant","BUTTON_NAME","ButtonFrame","name","render","context","role","focusable","variants","unstyled","false","justifyContent","alignItems","flexWrap","flexDirection","cursor","hoverTheme","pressTheme","backgroundColor","borderWidth","borderColor","focusVisibleStyle","outlineColor","outlineStyle","outlineWidth","outlined","hoverStyle","pressStyle","disabled","true","pointerEvents","defaultVariants","process","env","TAMAGUI_HEADLESS","ButtonText","userSelect","flexGrow","flexShrink","ButtonIcon","props","children","scaleIcon","iconSize","ButtonComponent","styleable","ref","buttonProps","useButton","Button2","Text","Icon","textProps","propsIn","isNested","propsActive","noNormalize","noExpand","icon","iconAfter","gap","spaceFlex","scaleSpace","noTextWrap","restProps","font","getThemedIcon","themedIcon","themedIconAfter","map","spaceSize","contents","inner","space","ensureKeys","direction","accessibilityRole","Provider","value","disableClassName"],"sources":["../../../src/v1/Button.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getFontSize","getButtonSized","withStaticProperties","useGetThemedIcon","ButtonNestingContext","ThemeableStack","SizableText","wrapChildrenInText","createStyledContext","getVariableValue","styled","useProps","useContext","spacedChildren","jsx","ButtonContext","color","ellipsis","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","maxFontSizeMultiplier","size","textAlign","variant","BUTTON_NAME","ButtonFrame","name","render","context","role","focusable","variants","unstyled","true","outlineWidth","borderWidth","backgroundColor","false","justifyContent","alignItems","flexWrap","flexDirection","cursor","hoverTheme","pressTheme","borderColor","focusVisibleStyle","outlineColor","outlineStyle","outlined","hoverStyle","pressStyle","disabled","pointerEvents","defaultVariants","process","env","TAMAGUI_HEADLESS","ButtonText","userSelect","flexGrow","flexShrink","ButtonIcon","props","children","scaleIcon","iconSize","getThemedIcon","ButtonComponent","styleable","Button","ref","buttonProps","useButton","Button2","Text","Icon","textProps","propsIn","isNested","propsActive","noNormalize","noExpand","icon","iconAfter","gap","spaceFlex","scaleSpace","noTextWrap","restProps","font","themedIcon","themedIconAfter","map","spaceSize","contents","inner","space","ensureKeys","direction","accessibilityRole","Provider","value","disableClassName"],"sources":["../../../src/v1/Button.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}