@tamagui/button 1.26.1 → 1.27.0-1684163004699

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.
@@ -3,29 +3,26 @@ import { createContextScope } from "@tamagui/create-context";
3
3
  import { getFontSize } from "@tamagui/font-size";
4
4
  import { getButtonSized } from "@tamagui/get-button-sized";
5
5
  import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
6
- import { ThemeableStack } from "@tamagui/stacks";
7
- import { SizableText, wrapChildrenInText } from "@tamagui/text";
6
+ import { wrapChildrenInText } from "@tamagui/text";
8
7
  import {
9
8
  ButtonNestingContext,
9
+ getConfig,
10
10
  getVariableValue,
11
11
  isRSC,
12
12
  spacedChildren,
13
13
  styled,
14
- useProps,
14
+ useMediaPropsActive,
15
15
  withStaticProperties
16
16
  } from "@tamagui/web";
17
+ import { useCallback, useContext, useEffect, useState } from "react";
17
18
  import {
18
- forwardRef,
19
- useCallback,
20
- useContext,
21
- useEffect,
22
- useState
23
- } from "react";
24
- const BUTTON_NAME = "Button";
25
- const ButtonFrame = styled(ThemeableStack, {
19
+ BUTTON_ICON_NAME,
20
+ BUTTON_NAME,
21
+ BUTTON_TEXT_NAME,
22
+ Button as BaseButton
23
+ } from "./Button";
24
+ const ButtonFrame = styled(BaseButton, {
26
25
  name: BUTTON_NAME,
27
- tag: "button",
28
- focusable: true,
29
26
  variants: {
30
27
  unstyled: {
31
28
  false: {
@@ -39,15 +36,11 @@ const ButtonFrame = styled(ThemeableStack, {
39
36
  pressTheme: true,
40
37
  backgrounded: true,
41
38
  borderWidth: 1,
42
- borderColor: "transparent",
39
+ borderColor: "$borderColor",
43
40
  pressStyle: {
44
- borderColor: "transparent"
45
- },
46
- hoverStyle: {
47
- borderColor: "transparent"
41
+ borderColor: "$borderColorPress"
48
42
  },
49
43
  focusStyle: {
50
- borderColor: "$borderColorFocus",
51
44
  outlineColor: "$borderColorFocus",
52
45
  outlineStyle: "solid",
53
46
  outlineWidth: 2
@@ -74,8 +67,9 @@ const ButtonFrame = styled(ThemeableStack, {
74
67
  unstyled: false
75
68
  }
76
69
  });
77
- const BUTTON_TEXT_NAME = "ButtonText";
78
- const ButtonTextFrame = styled(SizableText, {
70
+ const [createButtonContext, createButtonScope] = createContextScope(BUTTON_NAME);
71
+ const [ButtonProvider, useButtonContext] = createButtonContext("Button");
72
+ const ButtonTextFrame = styled(BaseButton.Text, {
79
73
  name: BUTTON_TEXT_NAME,
80
74
  variants: {
81
75
  unstyled: {
@@ -94,21 +88,16 @@ const ButtonTextFrame = styled(SizableText, {
94
88
  unstyled: false
95
89
  }
96
90
  });
97
- const [createButtonContext, createButtonScope] = createContextScope("Button");
98
- const [ButtonProvider, useButtonContext] = createButtonContext("Button");
99
- const ButtonTextComponent = ButtonTextFrame.extractable(
100
- forwardRef(
101
- (props, ref) => {
102
- const context = useButtonContext(BUTTON_TEXT_NAME, props.__scopeButton);
103
- useEffect(() => {
104
- const unregister = context.registerButtonText();
105
- return () => unregister();
106
- }, [context.registerButtonText]);
107
- return /* @__PURE__ */ jsx(ButtonTextFrame, { size: props.size ?? context.size, ...props, ref });
108
- }
109
- )
91
+ const ButtonText = ButtonTextFrame.styleable(
92
+ (props, ref) => {
93
+ const context = useButtonContext(BUTTON_TEXT_NAME, props.__scopeButton);
94
+ useEffect(() => {
95
+ const unregister = context.registerButtonText();
96
+ return () => unregister();
97
+ }, [context.registerButtonText]);
98
+ return /* @__PURE__ */ jsx(ButtonTextFrame, { ref, color: context.color, size: context.size, ...props, children: props.children });
99
+ }
110
100
  );
111
- const BUTTON_ICON_NAME = "ButtonIcon";
112
101
  const ButtonIcon = (props) => {
113
102
  const { children, scaleIcon = 1 } = props;
114
103
  const context = useButtonContext(BUTTON_ICON_NAME, props.__scopeButton);
@@ -118,42 +107,39 @@ const ButtonIcon = (props) => {
118
107
  const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
119
108
  return getThemedIcon(children);
120
109
  };
121
- const ButtonComponent = ButtonFrame.styleable(function Button(props, ref) {
122
- const { props: buttonProps } = useButton(props);
123
- const [buttonTextCount, setButtonTextCount] = useState(0);
124
- const registerButtonText = useCallback(() => {
125
- setButtonTextCount((prev) => prev + 1);
126
- return () => setButtonTextCount((prev) => prev - 1);
127
- }, [setButtonTextCount]);
128
- const hasTextComponent = buttonTextCount > 0;
129
- return /* @__PURE__ */ jsx(
130
- ButtonProvider,
131
- {
132
- scope: props.__scopeButton,
133
- color: props.color,
134
- hasTextComponent,
135
- size: props.size ?? "$true",
136
- registerButtonText,
137
- children: /* @__PURE__ */ jsx(ButtonFrame, { ...hasTextComponent ? props : buttonProps, ref })
138
- }
139
- );
140
- });
141
- const buttonStaticConfig = {
142
- inlineProps: /* @__PURE__ */ new Set([
143
- // text props go here (can't really optimize them, but we never fully extract button anyway)
144
- // may be able to remove this entirely, as the compiler / runtime have gotten better
145
- "color",
146
- "fontWeight",
147
- "fontSize",
148
- "fontFamily",
149
- "fontStyle",
150
- "letterSpacing",
151
- "textAlign",
152
- "unstyled"
153
- ])
154
- };
155
- const Button2 = withStaticProperties(ButtonComponent, {
156
- Text: ButtonTextComponent,
110
+ const ButtonComponent = ButtonFrame.styleable(
111
+ (props, ref) => {
112
+ const buttonApi = props.forceButtonApi ?? getConfig().buttonApi ?? "mixed";
113
+ const { props: buttonProps } = useButton(props);
114
+ const [buttonTextCount, setButtonTextCount] = useState(0);
115
+ const registerButtonText = useCallback(() => {
116
+ if (buttonApi === "simple") {
117
+ console.warn(
118
+ "You are using Button.Text with simple button API. Either remove Button.Text or use either `buttonApi: composable` or `mixed` in your tamagui config."
119
+ );
120
+ }
121
+ if (buttonApi === "composable")
122
+ return () => {
123
+ };
124
+ setButtonTextCount((prev) => prev + 1);
125
+ return () => setButtonTextCount((prev) => prev - 1);
126
+ }, [setButtonTextCount]);
127
+ const usesComposableApi = buttonApi === "composable" || buttonApi === "mixed" && buttonTextCount > 0;
128
+ return /* @__PURE__ */ jsx(
129
+ ButtonProvider,
130
+ {
131
+ scope: props.__scopeButton,
132
+ size: props.size ?? "$true",
133
+ color: props.color,
134
+ usesComposableApi,
135
+ registerButtonText,
136
+ children: /* @__PURE__ */ jsx(ButtonFrame, { unstyled: props.unstyled ?? false, ref, ...buttonProps })
137
+ }
138
+ );
139
+ }
140
+ );
141
+ const Button = withStaticProperties(ButtonComponent, {
142
+ Text: ButtonText,
157
143
  Icon: ButtonIcon
158
144
  });
159
145
  function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame }) {
@@ -176,12 +162,12 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
176
162
  fontFamily,
177
163
  fontStyle,
178
164
  textAlign,
165
+ unstyled = false,
179
166
  textProps,
180
167
  ...rest
181
168
  } = propsIn;
182
- const hasUnstyled = typeof propsIn.unstyled !== "undefined";
183
169
  const isNested = isRSC ? false : useContext(ButtonNestingContext);
184
- const propsActive = useProps(propsIn);
170
+ const propsActive = useMediaPropsActive(propsIn);
185
171
  const size = propsActive.size || "$true";
186
172
  const iconSize = (typeof size === "number" ? size * 0.5 : getFontSize(size)) * scaleIcon;
187
173
  const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
@@ -190,8 +176,8 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
190
176
  const contents = wrapChildrenInText(
191
177
  Text,
192
178
  propsActive,
193
- Text === ButtonTextFrame && hasUnstyled ? {
194
- unstyled: propsIn.unstyled
179
+ Text === ButtonTextFrame ? {
180
+ unstyled
195
181
  } : void 0
196
182
  );
197
183
  const inner = spacedChildren({
@@ -226,12 +212,26 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
226
212
  props
227
213
  };
228
214
  }
215
+ const buttonStaticConfig = {
216
+ inlineProps: /* @__PURE__ */ new Set([
217
+ // text props go here (can't really optimize them, but we never fully extract button anyway)
218
+ // may be able to remove this entirely, as the compiler / runtime have gotten better
219
+ "color",
220
+ "fontWeight",
221
+ "fontSize",
222
+ "fontFamily",
223
+ "fontStyle",
224
+ "letterSpacing",
225
+ "textAlign",
226
+ "unstyled"
227
+ ])
228
+ };
229
229
  export {
230
- Button2 as Button,
230
+ Button,
231
231
  ButtonFrame,
232
232
  ButtonTextFrame as ButtonText,
233
233
  buttonStaticConfig,
234
234
  createButtonScope,
235
235
  useButton
236
236
  };
237
- //# sourceMappingURL=Button.mjs.map
237
+ //# sourceMappingURL=themed.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/themed.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -1,4 +1,3 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
1
  import { getFontSize } from "@tamagui/font-size";
3
2
  import { getButtonSized } from "@tamagui/get-button-sized";
4
3
  import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
@@ -6,6 +5,7 @@ import { ThemeableStack } from "@tamagui/stacks";
6
5
  import { SizableText, wrapChildrenInText } from "@tamagui/text";
7
6
  import {
8
7
  ButtonNestingContext,
8
+ createStyledContext,
9
9
  getVariableValue,
10
10
  isRSC,
11
11
  spacedChildren,
@@ -13,17 +13,15 @@ import {
13
13
  useProps,
14
14
  withStaticProperties
15
15
  } from "@tamagui/web";
16
- import {
17
- forwardRef,
18
- useCallback,
19
- useContext,
20
- useEffect,
21
- useState
22
- } from "react";
16
+ import { useContext } from "react";
17
+ const ButtonContext = createStyledContext({
18
+ size: "$true"
19
+ });
23
20
  const BUTTON_NAME = "Button";
24
21
  const ButtonFrame = styled(ThemeableStack, {
25
22
  name: BUTTON_NAME,
26
23
  tag: "button",
24
+ context: ButtonContext,
27
25
  focusable: true,
28
26
  variants: {
29
27
  unstyled: {
@@ -69,9 +67,9 @@ const ButtonFrame = styled(ThemeableStack, {
69
67
  unstyled: false
70
68
  }
71
69
  });
72
- const BUTTON_TEXT_NAME = "ButtonText";
73
- const ButtonTextFrame = styled(SizableText, {
74
- name: BUTTON_TEXT_NAME,
70
+ const ButtonText = styled(SizableText, {
71
+ name: "ButtonText",
72
+ context: ButtonContext,
75
73
  variants: {
76
74
  unstyled: {
77
75
  false: {
@@ -89,45 +87,16 @@ const ButtonTextFrame = styled(SizableText, {
89
87
  unstyled: false
90
88
  }
91
89
  });
92
- const [createButtonContext, createButtonScope] = createContextScope("Button");
93
- const [ButtonProvider, useButtonContext] = createButtonContext("Button");
94
- const ButtonTextComponent = ButtonTextFrame.extractable(
95
- forwardRef(
96
- (props, ref) => {
97
- const context = useButtonContext(BUTTON_TEXT_NAME, props.__scopeButton);
98
- useEffect(() => {
99
- const unregister = context.registerButtonText();
100
- return () => unregister();
101
- }, [context.registerButtonText]);
102
- return <ButtonTextFrame size={props.size ?? context.size} {...props} ref={ref} />;
103
- }
104
- )
105
- );
106
- const BUTTON_ICON_NAME = "ButtonIcon";
107
90
  const ButtonIcon = (props) => {
108
91
  const { children, scaleIcon = 1 } = props;
109
- const context = useButtonContext(BUTTON_ICON_NAME, props.__scopeButton);
110
- const size = context.size;
111
- const color = context.color;
92
+ const { size, color } = useContext(ButtonContext);
112
93
  const iconSize = (typeof size === "number" ? size * 0.5 : getFontSize(size)) * scaleIcon;
113
94
  const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
114
95
  return getThemedIcon(children);
115
96
  };
116
97
  const ButtonComponent = ButtonFrame.styleable(function Button(props, ref) {
117
98
  const { props: buttonProps } = useButton(props);
118
- const [buttonTextCount, setButtonTextCount] = useState(0);
119
- const registerButtonText = useCallback(() => {
120
- setButtonTextCount((prev) => prev + 1);
121
- return () => setButtonTextCount((prev) => prev - 1);
122
- }, [setButtonTextCount]);
123
- const hasTextComponent = buttonTextCount > 0;
124
- return <ButtonProvider
125
- scope={props.__scopeButton}
126
- color={props.color}
127
- hasTextComponent={hasTextComponent}
128
- size={props.size ?? "$true"}
129
- registerButtonText={registerButtonText}
130
- ><ButtonFrame {...hasTextComponent ? props : buttonProps} ref={ref} /></ButtonProvider>;
99
+ return <ButtonFrame {...buttonProps} ref={ref} />;
131
100
  });
132
101
  const buttonStaticConfig = {
133
102
  inlineProps: /* @__PURE__ */ new Set([
@@ -144,10 +113,10 @@ const buttonStaticConfig = {
144
113
  ])
145
114
  };
146
115
  const Button2 = withStaticProperties(ButtonComponent, {
147
- Text: ButtonTextComponent,
116
+ Text: ButtonText,
148
117
  Icon: ButtonIcon
149
118
  });
150
- function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame }) {
119
+ function useButton(propsIn, { Text = ButtonText } = { Text: ButtonText }) {
151
120
  const {
152
121
  children,
153
122
  icon,
@@ -181,7 +150,7 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
181
150
  const contents = wrapChildrenInText(
182
151
  Text,
183
152
  propsActive,
184
- Text === ButtonTextFrame && hasUnstyled ? {
153
+ Text === ButtonText && hasUnstyled ? {
185
154
  unstyled: propsIn.unstyled
186
155
  } : void 0
187
156
  );
@@ -219,10 +188,11 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
219
188
  }
220
189
  export {
221
190
  Button2 as Button,
191
+ ButtonContext,
222
192
  ButtonFrame,
223
- ButtonTextFrame as ButtonText,
193
+ ButtonIcon,
194
+ ButtonText,
224
195
  buttonStaticConfig,
225
- createButtonScope,
226
196
  useButton
227
197
  };
228
198
  //# sourceMappingURL=Button.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Button.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Button"]
6
6
  }
@@ -1,4 +1,3 @@
1
- import { createContextScope } from "@tamagui/create-context";
2
1
  import { getFontSize } from "@tamagui/font-size";
3
2
  import { getButtonSized } from "@tamagui/get-button-sized";
4
3
  import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
@@ -6,6 +5,7 @@ import { ThemeableStack } from "@tamagui/stacks";
6
5
  import { SizableText, wrapChildrenInText } from "@tamagui/text";
7
6
  import {
8
7
  ButtonNestingContext,
8
+ createStyledContext,
9
9
  getVariableValue,
10
10
  isRSC,
11
11
  spacedChildren,
@@ -13,17 +13,15 @@ import {
13
13
  useProps,
14
14
  withStaticProperties
15
15
  } from "@tamagui/web";
16
- import {
17
- forwardRef,
18
- useCallback,
19
- useContext,
20
- useEffect,
21
- useState
22
- } from "react";
16
+ import { useContext } from "react";
17
+ const ButtonContext = createStyledContext({
18
+ size: "$true"
19
+ });
23
20
  const BUTTON_NAME = "Button";
24
21
  const ButtonFrame = styled(ThemeableStack, {
25
22
  name: BUTTON_NAME,
26
23
  tag: "button",
24
+ context: ButtonContext,
27
25
  focusable: true,
28
26
  variants: {
29
27
  unstyled: {
@@ -69,9 +67,9 @@ const ButtonFrame = styled(ThemeableStack, {
69
67
  unstyled: false
70
68
  }
71
69
  });
72
- const BUTTON_TEXT_NAME = "ButtonText";
73
- const ButtonTextFrame = styled(SizableText, {
74
- name: BUTTON_TEXT_NAME,
70
+ const ButtonText = styled(SizableText, {
71
+ name: "ButtonText",
72
+ context: ButtonContext,
75
73
  variants: {
76
74
  unstyled: {
77
75
  false: {
@@ -89,45 +87,16 @@ const ButtonTextFrame = styled(SizableText, {
89
87
  unstyled: false
90
88
  }
91
89
  });
92
- const [createButtonContext, createButtonScope] = createContextScope("Button");
93
- const [ButtonProvider, useButtonContext] = createButtonContext("Button");
94
- const ButtonTextComponent = ButtonTextFrame.extractable(
95
- forwardRef(
96
- (props, ref) => {
97
- const context = useButtonContext(BUTTON_TEXT_NAME, props.__scopeButton);
98
- useEffect(() => {
99
- const unregister = context.registerButtonText();
100
- return () => unregister();
101
- }, [context.registerButtonText]);
102
- return <ButtonTextFrame size={props.size ?? context.size} {...props} ref={ref} />;
103
- }
104
- )
105
- );
106
- const BUTTON_ICON_NAME = "ButtonIcon";
107
90
  const ButtonIcon = (props) => {
108
91
  const { children, scaleIcon = 1 } = props;
109
- const context = useButtonContext(BUTTON_ICON_NAME, props.__scopeButton);
110
- const size = context.size;
111
- const color = context.color;
92
+ const { size, color } = useContext(ButtonContext);
112
93
  const iconSize = (typeof size === "number" ? size * 0.5 : getFontSize(size)) * scaleIcon;
113
94
  const getThemedIcon = useGetThemedIcon({ size: iconSize, color });
114
95
  return getThemedIcon(children);
115
96
  };
116
97
  const ButtonComponent = ButtonFrame.styleable(function Button(props, ref) {
117
98
  const { props: buttonProps } = useButton(props);
118
- const [buttonTextCount, setButtonTextCount] = useState(0);
119
- const registerButtonText = useCallback(() => {
120
- setButtonTextCount((prev) => prev + 1);
121
- return () => setButtonTextCount((prev) => prev - 1);
122
- }, [setButtonTextCount]);
123
- const hasTextComponent = buttonTextCount > 0;
124
- return <ButtonProvider
125
- scope={props.__scopeButton}
126
- color={props.color}
127
- hasTextComponent={hasTextComponent}
128
- size={props.size ?? "$true"}
129
- registerButtonText={registerButtonText}
130
- ><ButtonFrame {...hasTextComponent ? props : buttonProps} ref={ref} /></ButtonProvider>;
99
+ return <ButtonFrame {...buttonProps} ref={ref} />;
131
100
  });
132
101
  const buttonStaticConfig = {
133
102
  inlineProps: /* @__PURE__ */ new Set([
@@ -144,10 +113,10 @@ const buttonStaticConfig = {
144
113
  ])
145
114
  };
146
115
  const Button2 = withStaticProperties(ButtonComponent, {
147
- Text: ButtonTextComponent,
116
+ Text: ButtonText,
148
117
  Icon: ButtonIcon
149
118
  });
150
- function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame }) {
119
+ function useButton(propsIn, { Text = ButtonText } = { Text: ButtonText }) {
151
120
  const {
152
121
  children,
153
122
  icon,
@@ -181,7 +150,7 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
181
150
  const contents = wrapChildrenInText(
182
151
  Text,
183
152
  propsActive,
184
- Text === ButtonTextFrame && hasUnstyled ? {
153
+ Text === ButtonText && hasUnstyled ? {
185
154
  unstyled: propsIn.unstyled
186
155
  } : void 0
187
156
  );
@@ -219,10 +188,11 @@ function useButton(propsIn, { Text = ButtonTextFrame } = { Text: ButtonTextFrame
219
188
  }
220
189
  export {
221
190
  Button2 as Button,
191
+ ButtonContext,
222
192
  ButtonFrame,
223
- ButtonTextFrame as ButtonText,
193
+ ButtonIcon,
194
+ ButtonText,
224
195
  buttonStaticConfig,
225
- createButtonScope,
226
196
  useButton
227
197
  };
228
198
  //# sourceMappingURL=Button.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Button.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Button"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Button.test.tsx"],
4
- "mappings": "AAAA,QAAQ,IAAI,iBAAiB;AAE7B,SAAS,+BAA+B;AACxC,SAA0B,qBAAqB;AAE/C,SAAS,UAAU,QAAQ,YAAY;AAIvC,MAAM,OAAO,cAAc,wBAAwB,CAAC;AAEpD,SAAS,UAAU,MAAM;AACvB,OAAK,OAAO,MAAM;AAChB,WAAO,IAAI,EAAE,WAAW;AAAA,EAC1B,CAAC;AAWH,CAAC;",
4
+ "mappings": "AAAA,QAAQ,IAAI,iBAAiB;AAE7B,SAAS,+BAA+B;AACxC,SAAS,qBAAqB;AAC9B,SAAS,UAAU,QAAQ,YAAY;AAEvC,MAAM,OAAO,cAAc,wBAAwB,CAAC;AAEpD,SAAS,UAAU,MAAM;AACvB,OAAK,OAAO,MAAM;AAChB,WAAO,IAAI,EAAE,WAAW;AAAA,EAC1B,CAAC;AAWH,CAAC;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Button.test.tsx"],
4
- "mappings": "AAAA,QAAQ,IAAI,iBAAiB;AAE7B,SAAS,+BAA+B;AACxC,SAA0B,qBAAqB;AAE/C,SAAS,UAAU,QAAQ,YAAY;AAIvC,MAAM,OAAO,cAAc,wBAAwB,CAAC;AAEpD,SAAS,UAAU,MAAM;AACvB,OAAK,OAAO,MAAM;AAChB,WAAO,IAAI,EAAE,WAAW;AAAA,EAC1B,CAAC;AAWH,CAAC;",
4
+ "mappings": "AAAA,QAAQ,IAAI,iBAAiB;AAE7B,SAAS,+BAA+B;AACxC,SAAS,qBAAqB;AAC9B,SAAS,UAAU,QAAQ,YAAY;AAEvC,MAAM,OAAO,cAAc,wBAAwB,CAAC;AAEpD,SAAS,UAAU,MAAM;AACvB,OAAK,OAAO,MAAM;AAChB,WAAO,IAAI,EAAE,WAAW;AAAA,EAC1B,CAAC;AAWH,CAAC;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,5 @@
1
+ import { Button } from "./Button";
2
+ export {
3
+ Button
4
+ };
5
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/base.ts"],
4
+ "mappings": "AACA,SAAS,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/base.ts"],
4
+ "mappings": "AACA,SAAS,cAAc;",
5
+ "names": []
6
+ }