@tamagui/button 1.72.3 → 1.73.1
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/Button.js +25 -15
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Button.native.js +25 -15
- package/dist/cjs/Button.native.js.map +1 -1
- package/dist/esm/Button.js +25 -15
- package/dist/esm/Button.js.map +1 -1
- package/dist/jsx/Button.js +25 -15
- package/dist/jsx/Button.js.map +1 -1
- package/dist/jsx/Button.native.js +25 -15
- package/dist/jsx/Button.native.js.map +1 -1
- package/package.json +7 -7
- package/src/Button.tsx +39 -27
- package/types/Button.d.ts +759 -41
- package/types/Button.d.ts.map +1 -1
package/dist/cjs/Button.js
CHANGED
|
@@ -25,7 +25,19 @@ __export(Button_exports, {
|
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(Button_exports);
|
|
27
27
|
var import_font_size = require("@tamagui/font-size"), import_get_button_sized = require("@tamagui/get-button-sized"), import_helpers_tamagui = require("@tamagui/helpers-tamagui"), import_stacks = require("@tamagui/stacks"), import_text = require("@tamagui/text"), import_web = require("@tamagui/web"), import_react = require("react"), import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
-
const ButtonContext = (0, import_web.createStyledContext)({
|
|
28
|
+
const ButtonContext = (0, import_web.createStyledContext)({
|
|
29
|
+
// keeping these here means they work with styled() passing down color to text
|
|
30
|
+
color: void 0,
|
|
31
|
+
ellipse: void 0,
|
|
32
|
+
fontFamily: void 0,
|
|
33
|
+
fontSize: void 0,
|
|
34
|
+
fontStyle: void 0,
|
|
35
|
+
fontWeight: void 0,
|
|
36
|
+
letterSpacing: void 0,
|
|
37
|
+
maxFontSizeMultiplier: void 0,
|
|
38
|
+
size: void 0,
|
|
39
|
+
textAlign: void 0
|
|
40
|
+
}), BUTTON_NAME = "Button", ButtonFrame = (0, import_web.styled)(import_stacks.ThemeableStack, {
|
|
29
41
|
name: BUTTON_NAME,
|
|
30
42
|
tag: "button",
|
|
31
43
|
context: ButtonContext,
|
|
@@ -127,30 +139,25 @@ const ButtonContext = (0, import_web.createStyledContext)({}), BUTTON_NAME = "Bu
|
|
|
127
139
|
Icon: ButtonIcon
|
|
128
140
|
}), ButtonNestingContext = (0, import_react.createContext)(!1);
|
|
129
141
|
function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
130
|
-
const {
|
|
142
|
+
const isNested = (0, import_react.useContext)(ButtonNestingContext), propsActive = (0, import_web.useProps)(propsIn), {
|
|
131
143
|
children,
|
|
132
144
|
icon,
|
|
133
145
|
iconAfter,
|
|
134
|
-
noTextWrap,
|
|
135
|
-
theme: themeName,
|
|
136
146
|
space,
|
|
137
147
|
spaceFlex,
|
|
138
148
|
scaleIcon = 1,
|
|
139
149
|
scaleSpace = 0.66,
|
|
140
150
|
separator,
|
|
141
|
-
|
|
142
|
-
color,
|
|
143
|
-
fontWeight,
|
|
144
|
-
letterSpacing,
|
|
145
|
-
fontSize,
|
|
151
|
+
noTextWrap,
|
|
146
152
|
fontFamily,
|
|
147
|
-
|
|
148
|
-
textAlign,
|
|
149
|
-
textProps,
|
|
153
|
+
fontSize,
|
|
150
154
|
...rest
|
|
151
|
-
} =
|
|
155
|
+
} = propsActive, size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), iconSize = (typeof size == "number" ? size * 0.5 : (0, import_font_size.getFontSize)(size)) * scaleIcon, getThemedIcon = (0, import_helpers_tamagui.useGetThemedIcon)({
|
|
156
|
+
size: iconSize,
|
|
157
|
+
color: propsActive.color
|
|
158
|
+
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = propsActive.space ?? (0, import_web.getVariableValue)(iconSize) * scaleSpace, contents = noTextWrap ? [children] : (0, import_text.wrapChildrenInText)(
|
|
152
159
|
Text,
|
|
153
|
-
|
|
160
|
+
{ children, fontFamily, fontSize },
|
|
154
161
|
Text === ButtonText && propsIn.unstyled !== !0 ? {
|
|
155
162
|
unstyled: !1,
|
|
156
163
|
size
|
|
@@ -167,6 +174,7 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
167
174
|
// see https://github.com/tamagui/tamagui/issues/505
|
|
168
175
|
propsIn.accessibilityRole === "link" ? "a" : void 0
|
|
169
176
|
), props = {
|
|
177
|
+
size,
|
|
170
178
|
...propsActive.disabled && {
|
|
171
179
|
// in rnw - false still has keyboard tabIndex, undefined = not actually focusable
|
|
172
180
|
focusable: void 0,
|
|
@@ -179,7 +187,9 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
179
187
|
tag
|
|
180
188
|
},
|
|
181
189
|
...rest,
|
|
182
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonNestingContext.Provider, { value: !0, children: inner })
|
|
190
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonNestingContext.Provider, { value: !0, children: inner }),
|
|
191
|
+
// forces it to be a runtime pressStyle so it passes through context text colors
|
|
192
|
+
disableClassName: !0
|
|
183
193
|
};
|
|
184
194
|
return {
|
|
185
195
|
spaceSize,
|
package/dist/cjs/Button.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Button.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA,gBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA4B,+BAC5B,0BAA+B,sCAC/B,yBAAiC,qCACjC,gBAA+B,4BAC/B,cAKO,0BACP,aAWO,yBACP,eAA6D,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Button"]
|
|
6
6
|
}
|
|
@@ -26,7 +26,19 @@ __export(Button_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(Button_exports);
|
|
28
28
|
var import_font_size = require("@tamagui/font-size"), import_get_button_sized = require("@tamagui/get-button-sized"), import_helpers_tamagui = require("@tamagui/helpers-tamagui"), import_stacks = require("@tamagui/stacks"), import_text = require("@tamagui/text"), import_web = require("@tamagui/web"), import_react = require("react"), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
-
const ButtonContext = (0, import_web.createStyledContext)({
|
|
29
|
+
const ButtonContext = (0, import_web.createStyledContext)({
|
|
30
|
+
// keeping these here means they work with styled() passing down color to text
|
|
31
|
+
color: void 0,
|
|
32
|
+
ellipse: void 0,
|
|
33
|
+
fontFamily: void 0,
|
|
34
|
+
fontSize: void 0,
|
|
35
|
+
fontStyle: void 0,
|
|
36
|
+
fontWeight: void 0,
|
|
37
|
+
letterSpacing: void 0,
|
|
38
|
+
maxFontSizeMultiplier: void 0,
|
|
39
|
+
size: void 0,
|
|
40
|
+
textAlign: void 0
|
|
41
|
+
}), BUTTON_NAME = "Button", ButtonFrame = (0, import_web.styled)(import_stacks.ThemeableStack, {
|
|
30
42
|
name: BUTTON_NAME,
|
|
31
43
|
tag: "button",
|
|
32
44
|
context: ButtonContext,
|
|
@@ -128,30 +140,25 @@ const ButtonContext = (0, import_web.createStyledContext)({}), BUTTON_NAME = "Bu
|
|
|
128
140
|
Icon: ButtonIcon
|
|
129
141
|
}), ButtonNestingContext = (0, import_react.createContext)(!1);
|
|
130
142
|
function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
131
|
-
const {
|
|
143
|
+
const isNested = (0, import_react.useContext)(ButtonNestingContext), propsActive = (0, import_web.useProps)(propsIn), {
|
|
132
144
|
children,
|
|
133
145
|
icon,
|
|
134
146
|
iconAfter,
|
|
135
|
-
noTextWrap,
|
|
136
|
-
theme: themeName,
|
|
137
147
|
space,
|
|
138
148
|
spaceFlex,
|
|
139
149
|
scaleIcon = 1,
|
|
140
150
|
scaleSpace = 0.66,
|
|
141
151
|
separator,
|
|
142
|
-
|
|
143
|
-
color,
|
|
144
|
-
fontWeight,
|
|
145
|
-
letterSpacing,
|
|
146
|
-
fontSize,
|
|
152
|
+
noTextWrap,
|
|
147
153
|
fontFamily,
|
|
148
|
-
|
|
149
|
-
textAlign,
|
|
150
|
-
textProps,
|
|
154
|
+
fontSize,
|
|
151
155
|
...rest
|
|
152
|
-
} =
|
|
156
|
+
} = propsActive, size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), iconSize = (typeof size == "number" ? size * 0.5 : (0, import_font_size.getFontSize)(size)) * scaleIcon, getThemedIcon = (0, import_helpers_tamagui.useGetThemedIcon)({
|
|
157
|
+
size: iconSize,
|
|
158
|
+
color: propsActive.color
|
|
159
|
+
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = propsActive.space ?? (0, import_web.getVariableValue)(iconSize) * scaleSpace, contents = noTextWrap ? [children] : (0, import_text.wrapChildrenInText)(
|
|
153
160
|
Text,
|
|
154
|
-
|
|
161
|
+
{ children, fontFamily, fontSize },
|
|
155
162
|
Text === ButtonText && propsIn.unstyled !== !0 ? {
|
|
156
163
|
unstyled: !1,
|
|
157
164
|
size
|
|
@@ -168,6 +175,7 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
168
175
|
// see https://github.com/tamagui/tamagui/issues/505
|
|
169
176
|
propsIn.accessibilityRole === "link" ? "a" : void 0
|
|
170
177
|
), props = {
|
|
178
|
+
size,
|
|
171
179
|
...propsActive.disabled && {
|
|
172
180
|
// in rnw - false still has keyboard tabIndex, undefined = not actually focusable
|
|
173
181
|
focusable: void 0,
|
|
@@ -180,7 +188,9 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
180
188
|
tag
|
|
181
189
|
},
|
|
182
190
|
...rest,
|
|
183
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonNestingContext.Provider, { value: !0, children: inner })
|
|
191
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonNestingContext.Provider, { value: !0, children: inner }),
|
|
192
|
+
// forces it to be a runtime pressStyle so it passes through context text colors
|
|
193
|
+
disableClassName: !0
|
|
184
194
|
};
|
|
185
195
|
return {
|
|
186
196
|
spaceSize,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Button.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,gBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA4B,+BAC5B,0BAA+B,sCAC/B,yBAAiC,qCACjC,gBAA+B,4BAC/B,cAKO,0BACP,aAWO,yBACP,eAA6D,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Button"]
|
|
6
6
|
}
|
package/dist/esm/Button.js
CHANGED
|
@@ -16,7 +16,19 @@ import {
|
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import { createContext, useContext } from "react";
|
|
18
18
|
import { jsx } from "react/jsx-runtime";
|
|
19
|
-
const ButtonContext = createStyledContext({
|
|
19
|
+
const ButtonContext = createStyledContext({
|
|
20
|
+
// keeping these here means they work with styled() passing down color to text
|
|
21
|
+
color: void 0,
|
|
22
|
+
ellipse: void 0,
|
|
23
|
+
fontFamily: void 0,
|
|
24
|
+
fontSize: void 0,
|
|
25
|
+
fontStyle: void 0,
|
|
26
|
+
fontWeight: void 0,
|
|
27
|
+
letterSpacing: void 0,
|
|
28
|
+
maxFontSizeMultiplier: void 0,
|
|
29
|
+
size: void 0,
|
|
30
|
+
textAlign: void 0
|
|
31
|
+
}), BUTTON_NAME = "Button", ButtonFrame = styled(ThemeableStack, {
|
|
20
32
|
name: BUTTON_NAME,
|
|
21
33
|
tag: "button",
|
|
22
34
|
context: ButtonContext,
|
|
@@ -118,30 +130,25 @@ const ButtonContext = createStyledContext({}), BUTTON_NAME = "Button", ButtonFra
|
|
|
118
130
|
Icon: ButtonIcon
|
|
119
131
|
}), ButtonNestingContext = createContext(!1);
|
|
120
132
|
function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
121
|
-
const {
|
|
133
|
+
const isNested = useContext(ButtonNestingContext), propsActive = useProps(propsIn), {
|
|
122
134
|
children,
|
|
123
135
|
icon,
|
|
124
136
|
iconAfter,
|
|
125
|
-
noTextWrap,
|
|
126
|
-
theme: themeName,
|
|
127
137
|
space,
|
|
128
138
|
spaceFlex,
|
|
129
139
|
scaleIcon = 1,
|
|
130
140
|
scaleSpace = 0.66,
|
|
131
141
|
separator,
|
|
132
|
-
|
|
133
|
-
color,
|
|
134
|
-
fontWeight,
|
|
135
|
-
letterSpacing,
|
|
136
|
-
fontSize,
|
|
142
|
+
noTextWrap,
|
|
137
143
|
fontFamily,
|
|
138
|
-
|
|
139
|
-
textAlign,
|
|
140
|
-
textProps,
|
|
144
|
+
fontSize,
|
|
141
145
|
...rest
|
|
142
|
-
} =
|
|
146
|
+
} = propsActive, size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), iconSize = (typeof size == "number" ? size * 0.5 : getFontSize(size)) * scaleIcon, getThemedIcon = useGetThemedIcon({
|
|
147
|
+
size: iconSize,
|
|
148
|
+
color: propsActive.color
|
|
149
|
+
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = propsActive.space ?? getVariableValue(iconSize) * scaleSpace, contents = noTextWrap ? [children] : wrapChildrenInText(
|
|
143
150
|
Text,
|
|
144
|
-
|
|
151
|
+
{ children, fontFamily, fontSize },
|
|
145
152
|
Text === ButtonText && propsIn.unstyled !== !0 ? {
|
|
146
153
|
unstyled: !1,
|
|
147
154
|
size
|
|
@@ -158,6 +165,7 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
158
165
|
// see https://github.com/tamagui/tamagui/issues/505
|
|
159
166
|
propsIn.accessibilityRole === "link" ? "a" : void 0
|
|
160
167
|
), props = {
|
|
168
|
+
size,
|
|
161
169
|
...propsActive.disabled && {
|
|
162
170
|
// in rnw - false still has keyboard tabIndex, undefined = not actually focusable
|
|
163
171
|
focusable: void 0,
|
|
@@ -170,7 +178,9 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
170
178
|
tag
|
|
171
179
|
},
|
|
172
180
|
...rest,
|
|
173
|
-
children: /* @__PURE__ */ jsx(ButtonNestingContext.Provider, { value: !0, children: inner })
|
|
181
|
+
children: /* @__PURE__ */ jsx(ButtonNestingContext.Provider, { value: !0, children: inner }),
|
|
182
|
+
// forces it to be a runtime pressStyle so it passes through context text colors
|
|
183
|
+
disableClassName: !0
|
|
174
184
|
};
|
|
175
185
|
return {
|
|
176
186
|
spaceSize,
|
package/dist/esm/Button.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Button.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EAKE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAA4B,eAAe,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Button"]
|
|
6
6
|
}
|
package/dist/jsx/Button.js
CHANGED
|
@@ -15,7 +15,19 @@ import {
|
|
|
15
15
|
withStaticProperties
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import { createContext, useContext } from "react";
|
|
18
|
-
const ButtonContext = createStyledContext({
|
|
18
|
+
const ButtonContext = createStyledContext({
|
|
19
|
+
// keeping these here means they work with styled() passing down color to text
|
|
20
|
+
color: void 0,
|
|
21
|
+
ellipse: void 0,
|
|
22
|
+
fontFamily: void 0,
|
|
23
|
+
fontSize: void 0,
|
|
24
|
+
fontStyle: void 0,
|
|
25
|
+
fontWeight: void 0,
|
|
26
|
+
letterSpacing: void 0,
|
|
27
|
+
maxFontSizeMultiplier: void 0,
|
|
28
|
+
size: void 0,
|
|
29
|
+
textAlign: void 0
|
|
30
|
+
}), BUTTON_NAME = "Button", ButtonFrame = styled(ThemeableStack, {
|
|
19
31
|
name: BUTTON_NAME,
|
|
20
32
|
tag: "button",
|
|
21
33
|
context: ButtonContext,
|
|
@@ -117,30 +129,25 @@ const ButtonContext = createStyledContext({}), BUTTON_NAME = "Button", ButtonFra
|
|
|
117
129
|
Icon: ButtonIcon
|
|
118
130
|
}), ButtonNestingContext = createContext(!1);
|
|
119
131
|
function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
120
|
-
const {
|
|
132
|
+
const isNested = useContext(ButtonNestingContext), propsActive = useProps(propsIn), {
|
|
121
133
|
children,
|
|
122
134
|
icon,
|
|
123
135
|
iconAfter,
|
|
124
|
-
noTextWrap,
|
|
125
|
-
theme: themeName,
|
|
126
136
|
space,
|
|
127
137
|
spaceFlex,
|
|
128
138
|
scaleIcon = 1,
|
|
129
139
|
scaleSpace = 0.66,
|
|
130
140
|
separator,
|
|
131
|
-
|
|
132
|
-
color,
|
|
133
|
-
fontWeight,
|
|
134
|
-
letterSpacing,
|
|
135
|
-
fontSize,
|
|
141
|
+
noTextWrap,
|
|
136
142
|
fontFamily,
|
|
137
|
-
|
|
138
|
-
textAlign,
|
|
139
|
-
textProps,
|
|
143
|
+
fontSize,
|
|
140
144
|
...rest
|
|
141
|
-
} =
|
|
145
|
+
} = propsActive, size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), iconSize = (typeof size == "number" ? size * 0.5 : getFontSize(size)) * scaleIcon, getThemedIcon = useGetThemedIcon({
|
|
146
|
+
size: iconSize,
|
|
147
|
+
color: propsActive.color
|
|
148
|
+
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = propsActive.space ?? getVariableValue(iconSize) * scaleSpace, contents = noTextWrap ? [children] : wrapChildrenInText(
|
|
142
149
|
Text,
|
|
143
|
-
|
|
150
|
+
{ children, fontFamily, fontSize },
|
|
144
151
|
Text === ButtonText && propsIn.unstyled !== !0 ? {
|
|
145
152
|
unstyled: !1,
|
|
146
153
|
size
|
|
@@ -157,6 +164,7 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
157
164
|
// see https://github.com/tamagui/tamagui/issues/505
|
|
158
165
|
propsIn.accessibilityRole === "link" ? "a" : void 0
|
|
159
166
|
), props = {
|
|
167
|
+
size,
|
|
160
168
|
...propsActive.disabled && {
|
|
161
169
|
// in rnw - false still has keyboard tabIndex, undefined = not actually focusable
|
|
162
170
|
focusable: void 0,
|
|
@@ -169,7 +177,9 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
169
177
|
tag
|
|
170
178
|
},
|
|
171
179
|
...rest,
|
|
172
|
-
children: <ButtonNestingContext.Provider value={!0}>{inner}</ButtonNestingContext.Provider
|
|
180
|
+
children: <ButtonNestingContext.Provider value={!0}>{inner}</ButtonNestingContext.Provider>,
|
|
181
|
+
// forces it to be a runtime pressStyle so it passes through context text colors
|
|
182
|
+
disableClassName: !0
|
|
173
183
|
};
|
|
174
184
|
return {
|
|
175
185
|
spaceSize,
|
package/dist/jsx/Button.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Button.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EAKE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAA4B,eAAe,kBAAkB;AAEtD,MAAM,gBAAgB,oBAM3B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Button"]
|
|
6
6
|
}
|
|
@@ -15,7 +15,19 @@ import {
|
|
|
15
15
|
withStaticProperties
|
|
16
16
|
} from "@tamagui/web";
|
|
17
17
|
import { createContext, useContext } from "react";
|
|
18
|
-
const ButtonContext = createStyledContext({
|
|
18
|
+
const ButtonContext = createStyledContext({
|
|
19
|
+
// keeping these here means they work with styled() passing down color to text
|
|
20
|
+
color: void 0,
|
|
21
|
+
ellipse: void 0,
|
|
22
|
+
fontFamily: void 0,
|
|
23
|
+
fontSize: void 0,
|
|
24
|
+
fontStyle: void 0,
|
|
25
|
+
fontWeight: void 0,
|
|
26
|
+
letterSpacing: void 0,
|
|
27
|
+
maxFontSizeMultiplier: void 0,
|
|
28
|
+
size: void 0,
|
|
29
|
+
textAlign: void 0
|
|
30
|
+
}), BUTTON_NAME = "Button", ButtonFrame = styled(ThemeableStack, {
|
|
19
31
|
name: BUTTON_NAME,
|
|
20
32
|
tag: "button",
|
|
21
33
|
context: ButtonContext,
|
|
@@ -117,30 +129,25 @@ const ButtonContext = createStyledContext({}), BUTTON_NAME = "Button", ButtonFra
|
|
|
117
129
|
Icon: ButtonIcon
|
|
118
130
|
}), ButtonNestingContext = createContext(!1);
|
|
119
131
|
function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
120
|
-
const {
|
|
132
|
+
const isNested = useContext(ButtonNestingContext), propsActive = useProps(propsIn), {
|
|
121
133
|
children,
|
|
122
134
|
icon,
|
|
123
135
|
iconAfter,
|
|
124
|
-
noTextWrap,
|
|
125
|
-
theme: themeName,
|
|
126
136
|
space,
|
|
127
137
|
spaceFlex,
|
|
128
138
|
scaleIcon = 1,
|
|
129
139
|
scaleSpace = 0.66,
|
|
130
140
|
separator,
|
|
131
|
-
|
|
132
|
-
color,
|
|
133
|
-
fontWeight,
|
|
134
|
-
letterSpacing,
|
|
135
|
-
fontSize,
|
|
141
|
+
noTextWrap,
|
|
136
142
|
fontFamily,
|
|
137
|
-
|
|
138
|
-
textAlign,
|
|
139
|
-
textProps,
|
|
143
|
+
fontSize,
|
|
140
144
|
...rest
|
|
141
|
-
} =
|
|
145
|
+
} = propsActive, size = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), iconSize = (typeof size == "number" ? size * 0.5 : getFontSize(size)) * scaleIcon, getThemedIcon = useGetThemedIcon({
|
|
146
|
+
size: iconSize,
|
|
147
|
+
color: propsActive.color
|
|
148
|
+
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = propsActive.space ?? getVariableValue(iconSize) * scaleSpace, contents = noTextWrap ? [children] : wrapChildrenInText(
|
|
142
149
|
Text,
|
|
143
|
-
|
|
150
|
+
{ children, fontFamily, fontSize },
|
|
144
151
|
Text === ButtonText && propsIn.unstyled !== !0 ? {
|
|
145
152
|
unstyled: !1,
|
|
146
153
|
size
|
|
@@ -157,6 +164,7 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
157
164
|
// see https://github.com/tamagui/tamagui/issues/505
|
|
158
165
|
propsIn.accessibilityRole === "link" ? "a" : void 0
|
|
159
166
|
), props = {
|
|
167
|
+
size,
|
|
160
168
|
...propsActive.disabled && {
|
|
161
169
|
// in rnw - false still has keyboard tabIndex, undefined = not actually focusable
|
|
162
170
|
focusable: void 0,
|
|
@@ -169,7 +177,9 @@ function useButton(propsIn, { Text = Button2.Text } = { Text: Button2.Text }) {
|
|
|
169
177
|
tag
|
|
170
178
|
},
|
|
171
179
|
...rest,
|
|
172
|
-
children: <ButtonNestingContext.Provider value={!0}>{inner}</ButtonNestingContext.Provider
|
|
180
|
+
children: <ButtonNestingContext.Provider value={!0}>{inner}</ButtonNestingContext.Provider>,
|
|
181
|
+
// forces it to be a runtime pressStyle so it passes through context text colors
|
|
182
|
+
disableClassName: !0
|
|
173
183
|
};
|
|
174
184
|
return {
|
|
175
185
|
spaceSize,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Button.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP;AAAA,EAKE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAA4B,eAAe,kBAAkB;AAEtD,MAAM,gBAAgB,oBAM3B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Button"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/button",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.73.1",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@tamagui/font-size": "1.
|
|
33
|
-
"@tamagui/get-button-sized": "1.
|
|
34
|
-
"@tamagui/helpers-tamagui": "1.
|
|
35
|
-
"@tamagui/text": "1.
|
|
36
|
-
"@tamagui/web": "1.
|
|
32
|
+
"@tamagui/font-size": "1.73.1",
|
|
33
|
+
"@tamagui/get-button-sized": "1.73.1",
|
|
34
|
+
"@tamagui/helpers-tamagui": "1.73.1",
|
|
35
|
+
"@tamagui/text": "1.73.1",
|
|
36
|
+
"@tamagui/web": "1.73.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.
|
|
42
|
+
"@tamagui/build": "1.73.1",
|
|
43
43
|
"react": "^18.2.0",
|
|
44
44
|
"vitest": "^0.34.3"
|
|
45
45
|
},
|