tamagui 1.2.9 → 1.2.11
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/esm/createTamagui.mjs +62 -0
- package/dist/esm/createTamagui.mjs.map +7 -0
- package/dist/esm/helpers/inputHelpers.mjs +40 -0
- package/dist/esm/helpers/inputHelpers.mjs.map +7 -0
- package/dist/esm/index.mjs +165 -0
- package/dist/esm/index.mjs.map +7 -0
- package/dist/esm/lib/linear-gradient.native.mjs +2 -0
- package/dist/esm/lib/linear-gradient.native.mjs.map +7 -0
- package/dist/esm/linear-gradient.mjs +2 -0
- package/dist/esm/linear-gradient.mjs.map +7 -0
- package/dist/esm/setup.mjs +24 -0
- package/dist/esm/setup.mjs.map +7 -0
- package/dist/esm/viewTypes.mjs +1 -0
- package/dist/esm/viewTypes.mjs.map +7 -0
- package/dist/esm/views/Anchor.mjs +37 -0
- package/dist/esm/views/Anchor.mjs.map +7 -0
- package/dist/esm/views/EnsureFlexed.mjs +18 -0
- package/dist/esm/views/EnsureFlexed.mjs.map +7 -0
- package/dist/esm/views/Fieldset.mjs +18 -0
- package/dist/esm/views/Fieldset.mjs.map +7 -0
- package/dist/esm/views/Form.mjs +9 -0
- package/dist/esm/views/Form.mjs.map +7 -0
- package/dist/esm/views/Grid.mjs +43 -0
- package/dist/esm/views/Grid.mjs.map +7 -0
- package/dist/esm/views/Group.mjs +137 -0
- package/dist/esm/views/Group.mjs.map +7 -0
- package/dist/esm/views/Input.mjs +48 -0
- package/dist/esm/views/Input.mjs.map +7 -0
- package/dist/esm/views/Layouts.mjs +51 -0
- package/dist/esm/views/Layouts.mjs.map +7 -0
- package/dist/esm/views/Skeleton.mjs +39 -0
- package/dist/esm/views/Skeleton.mjs.map +7 -0
- package/dist/esm/views/Spinner.mjs +29 -0
- package/dist/esm/views/Spinner.mjs.map +7 -0
- package/dist/esm/views/TamaguiProvider.mjs +10 -0
- package/dist/esm/views/TamaguiProvider.mjs.map +7 -0
- package/dist/esm/views/TamaguiProvider.server.mjs +6 -0
- package/dist/esm/views/TamaguiProvider.server.mjs.map +7 -0
- package/dist/esm/views/TextArea.mjs +24 -0
- package/dist/esm/views/TextArea.mjs.map +7 -0
- package/dist/esm/views/VisuallyHidden.mjs +37 -0
- package/dist/esm/views/VisuallyHidden.mjs.map +7 -0
- package/dist/jsx/createTamagui.mjs +62 -0
- package/dist/jsx/createTamagui.mjs.map +7 -0
- package/dist/jsx/helpers/inputHelpers.mjs +40 -0
- package/dist/jsx/helpers/inputHelpers.mjs.map +7 -0
- package/dist/jsx/index.mjs +165 -0
- package/dist/jsx/index.mjs.map +7 -0
- package/dist/jsx/lib/linear-gradient.native.mjs +2 -0
- package/dist/jsx/lib/linear-gradient.native.mjs.map +7 -0
- package/dist/jsx/linear-gradient.mjs +2 -0
- package/dist/jsx/linear-gradient.mjs.map +7 -0
- package/dist/jsx/setup.mjs +24 -0
- package/dist/jsx/setup.mjs.map +7 -0
- package/dist/jsx/viewTypes.mjs +1 -0
- package/dist/jsx/viewTypes.mjs.map +7 -0
- package/dist/jsx/views/Anchor.mjs +32 -0
- package/dist/jsx/views/Anchor.mjs.map +7 -0
- package/dist/jsx/views/EnsureFlexed.mjs +18 -0
- package/dist/jsx/views/EnsureFlexed.mjs.map +7 -0
- package/dist/jsx/views/Fieldset.mjs +18 -0
- package/dist/jsx/views/Fieldset.mjs.map +7 -0
- package/dist/jsx/views/Form.mjs +9 -0
- package/dist/jsx/views/Form.mjs.map +7 -0
- package/dist/jsx/views/Grid.mjs +34 -0
- package/dist/jsx/views/Grid.mjs.map +7 -0
- package/dist/jsx/views/Group.mjs +128 -0
- package/dist/jsx/views/Group.mjs.map +7 -0
- package/dist/jsx/views/Input.mjs +48 -0
- package/dist/jsx/views/Input.mjs.map +7 -0
- package/dist/jsx/views/Layouts.mjs +51 -0
- package/dist/jsx/views/Layouts.mjs.map +7 -0
- package/dist/jsx/views/Skeleton.mjs +35 -0
- package/dist/jsx/views/Skeleton.mjs.map +7 -0
- package/dist/jsx/views/Spinner.mjs +28 -0
- package/dist/jsx/views/Spinner.mjs.map +7 -0
- package/dist/jsx/views/TamaguiProvider.mjs +9 -0
- package/dist/jsx/views/TamaguiProvider.mjs.map +7 -0
- package/dist/jsx/views/TamaguiProvider.server.mjs +6 -0
- package/dist/jsx/views/TamaguiProvider.server.mjs.map +7 -0
- package/dist/jsx/views/TextArea.mjs +24 -0
- package/dist/jsx/views/TextArea.mjs.map +7 -0
- package/dist/jsx/views/VisuallyHidden.mjs +37 -0
- package/dist/jsx/views/VisuallyHidden.mjs.map +7 -0
- package/package.json +46 -46
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
getConfig,
|
|
4
|
+
getExpandedShorthands,
|
|
5
|
+
getTokens,
|
|
6
|
+
getVariableValue,
|
|
7
|
+
isTamaguiElement,
|
|
8
|
+
mergeProps,
|
|
9
|
+
spacedChildren,
|
|
10
|
+
styled,
|
|
11
|
+
useMediaPropsActive
|
|
12
|
+
} from "@tamagui/core";
|
|
13
|
+
import { ThemeableStack } from "@tamagui/stacks";
|
|
14
|
+
import React, { Children, forwardRef, isValidElement } from "react";
|
|
15
|
+
import { ScrollView } from "react-native";
|
|
16
|
+
const GroupFrame = styled(ThemeableStack, {
|
|
17
|
+
name: "GroupFrame",
|
|
18
|
+
backgroundColor: "$background",
|
|
19
|
+
y: 0,
|
|
20
|
+
variants: {
|
|
21
|
+
size: (val, { tokens }) => {
|
|
22
|
+
const borderRadius = tokens.radius[val] ?? val ?? tokens.radius["$true"];
|
|
23
|
+
return {
|
|
24
|
+
borderRadius
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
defaultVariants: {
|
|
29
|
+
size: "$true"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
function createGroup(verticalDefault) {
|
|
33
|
+
return forwardRef((props, ref) => {
|
|
34
|
+
const activeProps = useMediaPropsActive(props);
|
|
35
|
+
const {
|
|
36
|
+
children: childrenProp,
|
|
37
|
+
space,
|
|
38
|
+
size = "$true",
|
|
39
|
+
spaceDirection,
|
|
40
|
+
separator,
|
|
41
|
+
scrollable,
|
|
42
|
+
vertical = verticalDefault,
|
|
43
|
+
disabled: disabledProp,
|
|
44
|
+
disablePassBorderRadius: disablePassBorderRadiusProp,
|
|
45
|
+
borderRadius,
|
|
46
|
+
...restProps
|
|
47
|
+
} = getExpandedShorthands(activeProps);
|
|
48
|
+
const radius = borderRadius ?? (size ? getVariableValue(getTokens().radius[size]) - 1 : void 0);
|
|
49
|
+
const hasRadius = radius !== void 0;
|
|
50
|
+
const disablePassBorderRadius = disablePassBorderRadiusProp ?? !hasRadius;
|
|
51
|
+
const childrens = Children.toArray(childrenProp);
|
|
52
|
+
const children = childrens.map((child, i) => {
|
|
53
|
+
if (!isValidElement(child))
|
|
54
|
+
return child;
|
|
55
|
+
const disabled = child.props.disabled ?? disabledProp;
|
|
56
|
+
const isFirst = i === 0;
|
|
57
|
+
const isLast = i === childrens.length - 1;
|
|
58
|
+
const radiusStyles = disablePassBorderRadius ? null : {
|
|
59
|
+
borderTopLeftRadius: 0,
|
|
60
|
+
borderTopRightRadius: 0,
|
|
61
|
+
borderBottomLeftRadius: 0,
|
|
62
|
+
borderBottomRightRadius: 0,
|
|
63
|
+
...hasRadius && {
|
|
64
|
+
...isFirst && !vertical && {
|
|
65
|
+
borderTopLeftRadius: radius,
|
|
66
|
+
borderBottomLeftRadius: radius
|
|
67
|
+
},
|
|
68
|
+
...isFirst && vertical && {
|
|
69
|
+
borderTopLeftRadius: radius,
|
|
70
|
+
borderTopRightRadius: radius
|
|
71
|
+
},
|
|
72
|
+
...isLast && !vertical && {
|
|
73
|
+
borderTopRightRadius: radius,
|
|
74
|
+
borderBottomRightRadius: radius
|
|
75
|
+
},
|
|
76
|
+
...isLast && vertical && {
|
|
77
|
+
borderBottomLeftRadius: radius,
|
|
78
|
+
borderBottomRightRadius: radius
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const props2 = {
|
|
83
|
+
disabled,
|
|
84
|
+
...isTamaguiElement(child) ? radiusStyles : { style: radiusStyles }
|
|
85
|
+
};
|
|
86
|
+
return cloneElementWithPropOrder(child, props2);
|
|
87
|
+
});
|
|
88
|
+
return /* @__PURE__ */ jsx(
|
|
89
|
+
GroupFrame,
|
|
90
|
+
{
|
|
91
|
+
ref,
|
|
92
|
+
size,
|
|
93
|
+
flexDirection: !vertical ? "row" : "column",
|
|
94
|
+
borderRadius,
|
|
95
|
+
...restProps,
|
|
96
|
+
children: wrapScroll(
|
|
97
|
+
activeProps,
|
|
98
|
+
spacedChildren({
|
|
99
|
+
direction: spaceDirection,
|
|
100
|
+
separator,
|
|
101
|
+
space,
|
|
102
|
+
children
|
|
103
|
+
})
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const YGroup = createGroup(true);
|
|
110
|
+
const XGroup = createGroup(false);
|
|
111
|
+
const wrapScroll = ({ scrollable, vertical, showScrollIndicator = false }, children) => {
|
|
112
|
+
if (scrollable)
|
|
113
|
+
return /* @__PURE__ */ jsx(
|
|
114
|
+
ScrollView,
|
|
115
|
+
{
|
|
116
|
+
...vertical && {
|
|
117
|
+
showsVerticalScrollIndicator: showScrollIndicator
|
|
118
|
+
},
|
|
119
|
+
...!vertical && {
|
|
120
|
+
horizontal: true,
|
|
121
|
+
showsHorizontalScrollIndicator: showScrollIndicator
|
|
122
|
+
},
|
|
123
|
+
children
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
return children;
|
|
127
|
+
};
|
|
128
|
+
const cloneElementWithPropOrder = (child, props) => {
|
|
129
|
+
const next = mergeProps(child.props, props, false, getConfig().shorthands)[0];
|
|
130
|
+
return React.cloneElement({ ...child, props: null }, next);
|
|
131
|
+
};
|
|
132
|
+
export {
|
|
133
|
+
GroupFrame,
|
|
134
|
+
XGroup,
|
|
135
|
+
YGroup
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=Group.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/Group.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n GetProps,\n TamaguiElement,\n getConfig,\n getExpandedShorthands,\n getTokens,\n getVariableValue,\n isTamaguiElement,\n mergeProps,\n spacedChildren,\n styled,\n useMediaPropsActive,\n} from '@tamagui/core'\nimport { ThemeableStack } from '@tamagui/stacks'\nimport React, { Children, forwardRef, isValidElement } from 'react'\nimport { ScrollView } from 'react-native'\n\nexport const GroupFrame = styled(ThemeableStack, {\n name: 'GroupFrame',\n backgroundColor: '$background',\n y: 0,\n\n variants: {\n size: (val, { tokens }) => {\n const borderRadius = tokens.radius[val] ?? val ?? tokens.radius['$true']\n return {\n borderRadius,\n }\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\nexport type GroupProps = GetProps<typeof GroupFrame> & {\n scrollable?: boolean\n /**\n * @default false\n */\n showScrollIndicator?: boolean\n disabled?: boolean\n vertical?: boolean\n disablePassBorderRadius?: boolean\n}\n\nfunction createGroup(verticalDefault: boolean) {\n return forwardRef<TamaguiElement, GroupProps>((props, ref) => {\n const activeProps = useMediaPropsActive(props)\n\n const {\n children: childrenProp,\n space,\n size = '$true',\n spaceDirection,\n separator,\n scrollable,\n vertical = verticalDefault,\n disabled: disabledProp,\n disablePassBorderRadius: disablePassBorderRadiusProp,\n borderRadius,\n ...restProps\n } = getExpandedShorthands(activeProps)\n\n const radius =\n borderRadius ?? (size ? getVariableValue(getTokens().radius[size]) - 1 : undefined)\n\n const hasRadius = radius !== undefined\n const disablePassBorderRadius = disablePassBorderRadiusProp ?? !hasRadius\n const childrens = Children.toArray(childrenProp)\n const children = childrens.map((child, i) => {\n if (!isValidElement(child)) return child\n const disabled = child.props.disabled ?? disabledProp\n\n const isFirst = i === 0\n const isLast = i === childrens.length - 1\n\n const radiusStyles = disablePassBorderRadius\n ? null\n : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n ...(hasRadius && {\n ...(isFirst &&\n !vertical && {\n borderTopLeftRadius: radius,\n borderBottomLeftRadius: radius,\n }),\n ...(isFirst &&\n vertical && {\n borderTopLeftRadius: radius,\n borderTopRightRadius: radius,\n }),\n ...(isLast &&\n !vertical && {\n borderTopRightRadius: radius,\n borderBottomRightRadius: radius,\n }),\n ...(isLast &&\n vertical && {\n borderBottomLeftRadius: radius,\n borderBottomRightRadius: radius,\n }),\n }),\n }\n\n const props = {\n disabled,\n ...(isTamaguiElement(child) ? radiusStyles : { style: radiusStyles }),\n }\n\n return cloneElementWithPropOrder(child, props)\n })\n\n return (\n <GroupFrame\n ref={ref}\n size={size}\n flexDirection={!vertical ? 'row' : 'column'}\n borderRadius={borderRadius}\n {...restProps}\n >\n {wrapScroll(\n activeProps,\n spacedChildren({\n direction: spaceDirection,\n separator,\n space,\n children,\n })\n )}\n </GroupFrame>\n )\n })\n}\n\nexport const YGroup = createGroup(true)\nexport const XGroup = createGroup(false)\n\nconst wrapScroll = (\n { scrollable, vertical, showScrollIndicator = false }: GroupProps,\n children: any\n) => {\n if (scrollable)\n return (\n <ScrollView\n {...(vertical && {\n showsVerticalScrollIndicator: showScrollIndicator,\n })}\n {...(!vertical && {\n horizontal: true,\n showsHorizontalScrollIndicator: showScrollIndicator,\n })}\n >\n {children}\n </ScrollView>\n )\n return children\n}\n\nconst cloneElementWithPropOrder = (child: any, props: Object) => {\n const next = mergeProps(child.props, props, false, getConfig().shorthands)[0]\n return React.cloneElement({ ...child, props: null }, next)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["props"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { setupReactNative, styled } from "@tamagui/core";
|
|
2
|
+
import { focusableInputHOC } from "@tamagui/focusable";
|
|
3
|
+
import { TextInput } from "react-native";
|
|
4
|
+
import { inputSizeVariant } from "../helpers/inputHelpers";
|
|
5
|
+
setupReactNative({
|
|
6
|
+
TextInput
|
|
7
|
+
});
|
|
8
|
+
const InputFrame = styled(
|
|
9
|
+
TextInput,
|
|
10
|
+
{
|
|
11
|
+
name: "Input",
|
|
12
|
+
fontFamily: "$body",
|
|
13
|
+
borderWidth: 1,
|
|
14
|
+
outlineWidth: 0,
|
|
15
|
+
color: "$color",
|
|
16
|
+
focusable: true,
|
|
17
|
+
borderColor: "$borderColor",
|
|
18
|
+
backgroundColor: "$background",
|
|
19
|
+
placeholderTextColor: "$placeholderColor",
|
|
20
|
+
// this fixes a flex bug where it overflows container
|
|
21
|
+
minWidth: 0,
|
|
22
|
+
hoverStyle: {
|
|
23
|
+
borderColor: "$borderColorHover"
|
|
24
|
+
},
|
|
25
|
+
focusStyle: {
|
|
26
|
+
borderColor: "$borderColorFocus",
|
|
27
|
+
borderWidth: 2,
|
|
28
|
+
marginHorizontal: -1
|
|
29
|
+
},
|
|
30
|
+
variants: {
|
|
31
|
+
size: {
|
|
32
|
+
"...size": inputSizeVariant
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
size: "$true"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
isInput: true
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
const Input = focusableInputHOC(InputFrame);
|
|
44
|
+
export {
|
|
45
|
+
Input,
|
|
46
|
+
InputFrame
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=Input.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/Input.tsx"],
|
|
4
|
+
"sourcesContent": ["import { GetProps, setupReactNative, styled } from '@tamagui/core'\nimport { focusableInputHOC } from '@tamagui/focusable'\nimport { TextInput } from 'react-native'\n\nimport { inputSizeVariant } from '../helpers/inputHelpers'\n\nsetupReactNative({\n TextInput,\n})\n\nexport const InputFrame = styled(\n TextInput,\n {\n name: 'Input',\n fontFamily: '$body',\n borderWidth: 1,\n outlineWidth: 0,\n color: '$color',\n focusable: true,\n borderColor: '$borderColor',\n backgroundColor: '$background',\n placeholderTextColor: '$placeholderColor',\n\n // this fixes a flex bug where it overflows container\n minWidth: 0,\n\n hoverStyle: {\n borderColor: '$borderColorHover',\n },\n\n focusStyle: {\n borderColor: '$borderColorFocus',\n borderWidth: 2,\n marginHorizontal: -1,\n },\n\n variants: {\n size: {\n '...size': inputSizeVariant,\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n },\n {\n isInput: true,\n }\n)\n\nexport type InputProps = GetProps<typeof InputFrame>\n\nexport const Input = focusableInputHOC(InputFrame)\n"],
|
|
5
|
+
"mappings": "AAAA,SAAmB,kBAAkB,cAAc;AACnD,SAAS,yBAAyB;AAClC,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAEjC,iBAAiB;AAAA,EACf;AACF,CAAC;AAEM,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,OAAO;AAAA,IACP,WAAW;AAAA,IACX,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,sBAAsB;AAAA;AAAA,IAGtB,UAAU;AAAA,IAEV,YAAY;AAAA,MACV,aAAa;AAAA,IACf;AAAA,IAEA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,aAAa;AAAA,MACb,kBAAkB;AAAA,IACpB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA;AAAA,IACE,SAAS;AAAA,EACX;AACF;AAIO,MAAM,QAAQ,kBAAkB,UAAU;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Stack, styled } from "@tamagui/core";
|
|
2
|
+
const Section = styled(Stack, {
|
|
3
|
+
name: "Section",
|
|
4
|
+
tag: "section",
|
|
5
|
+
flexDirection: "column",
|
|
6
|
+
accessibilityRole: "summary"
|
|
7
|
+
});
|
|
8
|
+
const Article = styled(Stack, {
|
|
9
|
+
name: "Article",
|
|
10
|
+
tag: "article",
|
|
11
|
+
flexDirection: "column"
|
|
12
|
+
});
|
|
13
|
+
const Main = styled(Stack, {
|
|
14
|
+
name: "Main",
|
|
15
|
+
tag: "main",
|
|
16
|
+
flexDirection: "column"
|
|
17
|
+
});
|
|
18
|
+
const Header = styled(Stack, {
|
|
19
|
+
name: "Header",
|
|
20
|
+
tag: "header",
|
|
21
|
+
accessibilityRole: "header",
|
|
22
|
+
flexDirection: "column"
|
|
23
|
+
});
|
|
24
|
+
const Aside = styled(Stack, {
|
|
25
|
+
name: "Aside",
|
|
26
|
+
tag: "aside",
|
|
27
|
+
flexDirection: "column"
|
|
28
|
+
// accessibilityRole: 'complementary',
|
|
29
|
+
});
|
|
30
|
+
const Footer = styled(Stack, {
|
|
31
|
+
name: "Footer",
|
|
32
|
+
tag: "footer",
|
|
33
|
+
flexDirection: "column"
|
|
34
|
+
// accessibilityRole: 'contentinfo',
|
|
35
|
+
});
|
|
36
|
+
const Nav = styled(Stack, {
|
|
37
|
+
name: "Nav",
|
|
38
|
+
tag: "nav",
|
|
39
|
+
flexDirection: "column"
|
|
40
|
+
// accessibilityRole: 'navigation',
|
|
41
|
+
});
|
|
42
|
+
export {
|
|
43
|
+
Article,
|
|
44
|
+
Aside,
|
|
45
|
+
Footer,
|
|
46
|
+
Header,
|
|
47
|
+
Main,
|
|
48
|
+
Nav,
|
|
49
|
+
Section
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=Layouts.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/Layouts.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Stack, styled } from '@tamagui/core'\n\nexport const Section = styled(Stack, {\n name: 'Section',\n tag: 'section',\n flexDirection: 'column',\n accessibilityRole: 'summary',\n})\n\nexport const Article = styled(Stack, {\n name: 'Article',\n tag: 'article',\n flexDirection: 'column',\n})\n\nexport const Main = styled(Stack, {\n name: 'Main',\n tag: 'main',\n flexDirection: 'column',\n})\n\nexport const Header = styled(Stack, {\n name: 'Header',\n tag: 'header',\n accessibilityRole: 'header',\n flexDirection: 'column',\n})\n\nexport const Aside = styled(Stack, {\n name: 'Aside',\n tag: 'aside',\n flexDirection: 'column',\n // accessibilityRole: 'complementary',\n})\n\nexport const Footer = styled(Stack, {\n name: 'Footer',\n tag: 'footer',\n flexDirection: 'column',\n // accessibilityRole: 'contentinfo',\n})\n\nexport const Nav = styled(Stack, {\n name: 'Nav',\n tag: 'nav',\n flexDirection: 'column',\n // accessibilityRole: 'navigation',\n})\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,OAAO,cAAc;AAEvB,MAAM,UAAU,OAAO,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA,EACf,mBAAmB;AACrB,CAAC;AAEM,MAAM,UAAU,OAAO,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC;AAEM,MAAM,OAAO,OAAO,OAAO;AAAA,EAChC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC;AAEM,MAAM,SAAS,OAAO,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,eAAe;AACjB,CAAC;AAEM,MAAM,QAAQ,OAAO,OAAO;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;AAEM,MAAM,SAAS,OAAO,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;AAEM,MAAM,MAAM,OAAO,OAAO;AAAA,EAC/B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styled } from "@tamagui/core";
|
|
3
|
+
import { LinearGradient } from "@tamagui/linear-gradient";
|
|
4
|
+
import { YStack } from "@tamagui/stacks";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { VisuallyHidden } from "./VisuallyHidden";
|
|
7
|
+
const SkeletonFrame = styled(YStack, {
|
|
8
|
+
name: "Skeleton",
|
|
9
|
+
backgroundColor: "$backgroundHover",
|
|
10
|
+
overflow: "hidden",
|
|
11
|
+
position: "relative"
|
|
12
|
+
});
|
|
13
|
+
const Skeleton = SkeletonFrame.extractable(
|
|
14
|
+
forwardRef(({ children, ...props }, ref) => {
|
|
15
|
+
return /* @__PURE__ */ jsxs(SkeletonFrame, { ref, ...props, children: [
|
|
16
|
+
/* @__PURE__ */ jsx(SkeletonShine, {}),
|
|
17
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { preserveDimensions: true, children })
|
|
18
|
+
] });
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
const SkeletonShine = (props) => {
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
LinearGradient,
|
|
24
|
+
{
|
|
25
|
+
position: "absolute",
|
|
26
|
+
top: 0,
|
|
27
|
+
bottom: 0,
|
|
28
|
+
width: "25%",
|
|
29
|
+
colors: ["$background", "$color"],
|
|
30
|
+
...props
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
Skeleton,
|
|
36
|
+
SkeletonFrame,
|
|
37
|
+
SkeletonShine
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Skeleton.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/Skeleton.tsx"],
|
|
4
|
+
"sourcesContent": ["import { GetProps, TamaguiElement, styled } from '@tamagui/core'\nimport { LinearGradient, LinearGradientProps } from '@tamagui/linear-gradient'\nimport { YStack } from '@tamagui/stacks'\nimport { forwardRef } from 'react'\n\nimport { VisuallyHidden } from './VisuallyHidden'\n\nexport const SkeletonFrame = styled(YStack, {\n name: 'Skeleton',\n backgroundColor: '$backgroundHover',\n overflow: 'hidden',\n position: 'relative',\n})\n\nexport type SkeletonProps = GetProps<typeof SkeletonFrame>\n\nexport const Skeleton = SkeletonFrame.extractable(\n forwardRef<TamaguiElement>(({ children, ...props }: SkeletonProps, ref) => {\n return (\n <SkeletonFrame ref={ref} {...props}>\n <SkeletonShine />\n <VisuallyHidden preserveDimensions>{children}</VisuallyHidden>\n </SkeletonFrame>\n )\n })\n)\n\nexport const SkeletonShine = (props: LinearGradientProps) => {\n return (\n <LinearGradient\n position=\"absolute\"\n top={0}\n bottom={0}\n width=\"25%\"\n colors={['$background', '$color']}\n {...props}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": "AAmBM,SACE,KADF;AAnBN,SAAmC,cAAc;AACjD,SAAS,sBAA2C;AACpD,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAE3B,SAAS,sBAAsB;AAExB,MAAM,gBAAgB,OAAO,QAAQ;AAAA,EAC1C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,UAAU;AACZ,CAAC;AAIM,MAAM,WAAW,cAAc;AAAA,EACpC,WAA2B,CAAC,EAAE,UAAU,GAAG,MAAM,GAAkB,QAAQ;AACzE,WACE,qBAAC,iBAAc,KAAW,GAAG,OAC3B;AAAA,0BAAC,iBAAc;AAAA,MACf,oBAAC,kBAAe,oBAAkB,MAAE,UAAS;AAAA,OAC/C;AAAA,EAEJ,CAAC;AACH;AAEO,MAAM,gBAAgB,CAAC,UAA+B;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,QAAQ,CAAC,eAAe,QAAQ;AAAA,MAC/B,GAAG;AAAA;AAAA,EACN;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
themeable,
|
|
4
|
+
useTheme,
|
|
5
|
+
variableToString
|
|
6
|
+
} from "@tamagui/core";
|
|
7
|
+
import { YStack } from "@tamagui/stacks";
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { ActivityIndicator } from "react-native";
|
|
10
|
+
const Spinner = YStack.extractable(
|
|
11
|
+
themeable(
|
|
12
|
+
React.forwardRef((props, ref) => {
|
|
13
|
+
const { size, color: colorProp, ...stackProps } = props;
|
|
14
|
+
const theme = useTheme();
|
|
15
|
+
let color = colorProp;
|
|
16
|
+
if (color && color[0] === "$") {
|
|
17
|
+
color = variableToString(theme[color]);
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ jsx(YStack, { ref, ...stackProps, children: /* @__PURE__ */ jsx(ActivityIndicator, { size, color }) });
|
|
20
|
+
}),
|
|
21
|
+
{
|
|
22
|
+
componentName: "Spinner"
|
|
23
|
+
}
|
|
24
|
+
)
|
|
25
|
+
);
|
|
26
|
+
export {
|
|
27
|
+
Spinner
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=Spinner.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/Spinner.tsx"],
|
|
4
|
+
"sourcesContent": ["import {\n ColorTokens,\n TamaguiElement,\n ThemeTokens,\n themeable,\n useTheme,\n variableToString,\n} from '@tamagui/core'\nimport { YStack, YStackProps } from '@tamagui/stacks'\nimport * as React from 'react'\nimport { ActivityIndicator } from 'react-native'\n\nexport type SpinnerProps = Omit<YStackProps, 'children'> & {\n size?: 'small' | 'large'\n color?: (ColorTokens | ThemeTokens | (string & {})) | null\n}\n\nexport const Spinner: React.ForwardRefExoticComponent<\n SpinnerProps & React.RefAttributes<any>\n> = YStack.extractable(\n themeable(\n React.forwardRef<TamaguiElement>((props: SpinnerProps, ref) => {\n const { size, color: colorProp, ...stackProps } = props\n const theme = useTheme()\n let color = colorProp as string\n if (color && color[0] === '$') {\n color = variableToString(theme[color])\n }\n return (\n <YStack ref={ref} {...stackProps}>\n <ActivityIndicator size={size} color={color} />\n </YStack>\n )\n }),\n {\n componentName: 'Spinner',\n },\n ),\n) as any\n"],
|
|
5
|
+
"mappings": "AA8BU;AA9BV;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAA2B;AACpC,YAAY,WAAW;AACvB,SAAS,yBAAyB;AAO3B,MAAM,UAET,OAAO;AAAA,EACT;AAAA,IACE,MAAM,WAA2B,CAAC,OAAqB,QAAQ;AAC7D,YAAM,EAAE,MAAM,OAAO,WAAW,GAAG,WAAW,IAAI;AAClD,YAAM,QAAQ,SAAS;AACvB,UAAI,QAAQ;AACZ,UAAI,SAAS,MAAM,CAAC,MAAM,KAAK;AAC7B,gBAAQ,iBAAiB,MAAM,KAAK,CAAC;AAAA,MACvC;AACA,aACE,oBAAC,UAAO,KAAW,GAAG,YACpB,8BAAC,qBAAkB,MAAY,OAAc,GAC/C;AAAA,IAEJ,CAAC;AAAA,IACD;AAAA,MACE,eAAe;AAAA,IACjB;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { TamaguiProvider as OGProvider, isRSC } from "@tamagui/core";
|
|
3
|
+
import { PortalProvider } from "@tamagui/portal";
|
|
4
|
+
const TamaguiProvider = isRSC ? OGProvider : ({ children, ...props }) => {
|
|
5
|
+
return /* @__PURE__ */ jsx(OGProvider, { ...props, children: /* @__PURE__ */ jsx(PortalProvider, { shouldAddRootHost: true, children }) });
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
TamaguiProvider
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=TamaguiProvider.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/TamaguiProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { TamaguiProviderProps } from '@tamagui/core'\nimport { TamaguiProvider as OGProvider, isRSC } from '@tamagui/core'\nimport { PortalProvider } from '@tamagui/portal'\n\nexport const TamaguiProvider = isRSC\n ? OGProvider\n : ({ children, ...props }: TamaguiProviderProps) => {\n return (\n <OGProvider {...props}>\n <PortalProvider shouldAddRootHost>{children}</PortalProvider>\n </OGProvider>\n )\n }\n"],
|
|
5
|
+
"mappings": "AASU;AARV,SAAS,mBAAmB,YAAY,aAAa;AACrD,SAAS,sBAAsB;AAExB,MAAM,kBAAkB,QAC3B,aACA,CAAC,EAAE,UAAU,GAAG,MAAM,MAA4B;AAChD,SACE,oBAAC,cAAY,GAAG,OACd,8BAAC,kBAAe,mBAAiB,MAAE,UAAS,GAC9C;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/TamaguiProvider.server.tsx"],
|
|
4
|
+
"sourcesContent": ["import { TamaguiProvider as OGProvider } from '@tamagui/core'\n\nexport const TamaguiProvider = OGProvider\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,mBAAmB,kBAAkB;AAEvC,MAAM,kBAAkB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { styled } from "@tamagui/core";
|
|
2
|
+
import { focusableInputHOC } from "@tamagui/focusable";
|
|
3
|
+
import { textAreaSizeVariant } from "../helpers/inputHelpers";
|
|
4
|
+
import { InputFrame } from "./Input";
|
|
5
|
+
const TextAreaFrame = styled(InputFrame, {
|
|
6
|
+
name: "TextArea",
|
|
7
|
+
multiline: true,
|
|
8
|
+
numberOfLines: 4,
|
|
9
|
+
height: "auto",
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
"...size": textAreaSizeVariant
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
size: "$true"
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const TextArea = focusableInputHOC(TextAreaFrame);
|
|
20
|
+
export {
|
|
21
|
+
TextArea,
|
|
22
|
+
TextAreaFrame
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=TextArea.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/TextArea.tsx"],
|
|
4
|
+
"sourcesContent": ["import { GetProps, styled } from '@tamagui/core'\nimport { focusableInputHOC } from '@tamagui/focusable'\n\nimport { textAreaSizeVariant } from '../helpers/inputHelpers'\nimport { InputFrame } from './Input'\n\nexport const TextAreaFrame = styled(InputFrame, {\n name: 'TextArea',\n multiline: true,\n numberOfLines: 4,\n height: 'auto',\n\n variants: {\n size: {\n '...size': textAreaSizeVariant,\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\nexport type TextAreaProps = GetProps<typeof TextArea>\n\nexport const TextArea = focusableInputHOC(TextAreaFrame)\n"],
|
|
5
|
+
"mappings": "AAAA,SAAmB,cAAc;AACjC,SAAS,yBAAyB;AAElC,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAEpB,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA,EACX,eAAe;AAAA,EACf,QAAQ;AAAA,EAER,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAIM,MAAM,WAAW,kBAAkB,aAAa;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Stack, styled } from "@tamagui/core";
|
|
2
|
+
const VisuallyHidden = styled(Stack, {
|
|
3
|
+
position: "absolute",
|
|
4
|
+
width: 1,
|
|
5
|
+
height: 1,
|
|
6
|
+
margin: -1,
|
|
7
|
+
zIndex: -1e4,
|
|
8
|
+
overflow: "hidden",
|
|
9
|
+
opacity: 1e-8,
|
|
10
|
+
pointerEvents: "none",
|
|
11
|
+
variants: {
|
|
12
|
+
preserveDimensions: {
|
|
13
|
+
true: {
|
|
14
|
+
position: "relative",
|
|
15
|
+
width: "auto",
|
|
16
|
+
height: "auto"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
visible: {
|
|
20
|
+
true: {
|
|
21
|
+
position: "relative",
|
|
22
|
+
width: "auto",
|
|
23
|
+
height: "auto",
|
|
24
|
+
margin: 0,
|
|
25
|
+
zIndex: 1,
|
|
26
|
+
overflow: "visible",
|
|
27
|
+
opacity: 1,
|
|
28
|
+
pointerEvents: "auto"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
VisuallyHidden["isVisuallyHidden"] = true;
|
|
34
|
+
export {
|
|
35
|
+
VisuallyHidden
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=VisuallyHidden.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/VisuallyHidden.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Stack, styled } from '@tamagui/core'\n\nexport const VisuallyHidden = styled(Stack, {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n zIndex: -10000,\n overflow: 'hidden',\n opacity: 0.00000001,\n pointerEvents: 'none',\n\n variants: {\n preserveDimensions: {\n true: {\n position: 'relative',\n width: 'auto',\n height: 'auto',\n },\n } as const,\n\n visible: {\n true: {\n position: 'relative',\n width: 'auto',\n height: 'auto',\n margin: 0,\n zIndex: 1,\n overflow: 'visible',\n opacity: 1,\n pointerEvents: 'auto',\n },\n } as const,\n },\n})\n\n// @tamgui/core checks for this in spacing\nVisuallyHidden['isVisuallyHidden'] = true\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,OAAO,cAAc;AAEvB,MAAM,iBAAiB,OAAO,OAAO;AAAA,EAC1C,UAAU;AAAA,EACV,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,eAAe;AAAA,EAEf,UAAU;AAAA,IACR,oBAAoB;AAAA,MAClB,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAGD,eAAe,kBAAkB,IAAI;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createTamagui as createTamaguiCore } from "@tamagui/core";
|
|
2
|
+
const createTamagui = process.env.NODE_ENV !== "development" ? createTamaguiCore : (conf) => {
|
|
3
|
+
const sizeTokenKeys = [
|
|
4
|
+
"$0",
|
|
5
|
+
"$1",
|
|
6
|
+
"$2",
|
|
7
|
+
"$3",
|
|
8
|
+
"$4",
|
|
9
|
+
"$5",
|
|
10
|
+
"$6",
|
|
11
|
+
"$7",
|
|
12
|
+
"$8",
|
|
13
|
+
"$9",
|
|
14
|
+
"$10",
|
|
15
|
+
"$true"
|
|
16
|
+
];
|
|
17
|
+
const hasKeys = (expectedKeys, obj) => {
|
|
18
|
+
return expectedKeys.every((k) => typeof obj[k] !== "undefined");
|
|
19
|
+
};
|
|
20
|
+
const tamaguiConfig = createTamaguiCore(conf);
|
|
21
|
+
for (const name of ["size", "space"]) {
|
|
22
|
+
const tokenSet = tamaguiConfig.tokensParsed[name];
|
|
23
|
+
if (!tokenSet) {
|
|
24
|
+
throw new Error(
|
|
25
|
+
`Expected tokens for "${name}" in ${Object.keys(
|
|
26
|
+
tamaguiConfig.tokensParsed
|
|
27
|
+
).join(", ")}`
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
if (!hasKeys(sizeTokenKeys, tokenSet)) {
|
|
31
|
+
throw new Error(`
|
|
32
|
+
createTamagui() missing definition for expected tokens.${name}:
|
|
33
|
+
|
|
34
|
+
Received: ${Object.keys(tokenSet).join(", ")}
|
|
35
|
+
|
|
36
|
+
Expected: ${sizeTokenKeys.join(", ")}
|
|
37
|
+
|
|
38
|
+
`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const expected = Object.keys(tamaguiConfig.tokensParsed.size);
|
|
42
|
+
for (const name of ["radius", "zIndex"]) {
|
|
43
|
+
const tokenSet = tamaguiConfig.tokensParsed[name];
|
|
44
|
+
const received = Object.keys(tokenSet);
|
|
45
|
+
const hasSomeOverlap = received.some((rk) => expected.includes(rk));
|
|
46
|
+
if (!hasSomeOverlap) {
|
|
47
|
+
throw new Error(`
|
|
48
|
+
createTamagui() invalid tokens.${name}:
|
|
49
|
+
|
|
50
|
+
Received: ${received.join(", ")}
|
|
51
|
+
|
|
52
|
+
Expected a subset of: ${expected.join(", ")}
|
|
53
|
+
|
|
54
|
+
`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return tamaguiConfig;
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
createTamagui
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=createTamagui.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTamagui.ts"],
|
|
4
|
+
"sourcesContent": ["import { createTamagui as createTamaguiCore } from '@tamagui/core'\n\n/**\n * Adds some helpful validation at dev time only for `tamagui` specifically\n **/\n\nexport const createTamagui: typeof createTamaguiCore =\n process.env.NODE_ENV !== 'development'\n ? createTamaguiCore\n : (conf) => {\n const sizeTokenKeys = [\n '$0',\n '$1',\n '$2',\n '$3',\n '$4',\n '$5',\n '$6',\n '$7',\n '$8',\n '$9',\n '$10',\n '$true',\n ]\n\n const hasKeys = (expectedKeys: string[], obj: Record<any, any>) => {\n return expectedKeys.every((k) => typeof obj[k] !== 'undefined')\n }\n\n const tamaguiConfig = createTamaguiCore(conf)\n\n // size and space should be fully defined\n for (const name of ['size', 'space'] as const) {\n const tokenSet = tamaguiConfig.tokensParsed[name]\n if (!tokenSet) {\n throw new Error(\n `Expected tokens for \"${name}\" in ${Object.keys(\n tamaguiConfig.tokensParsed,\n ).join(', ')}`,\n )\n }\n if (!hasKeys(sizeTokenKeys, tokenSet)) {\n throw new Error(`\ncreateTamagui() missing definition for expected tokens.${name}:\n\nReceived: ${Object.keys(tokenSet).join(', ')}\n\nExpected: ${sizeTokenKeys.join(', ')}\n\n`)\n }\n }\n\n // others must define subset of size tokens\n const expected = Object.keys(tamaguiConfig.tokensParsed.size)\n for (const name of ['radius', 'zIndex'] as const) {\n const tokenSet = tamaguiConfig.tokensParsed[name]\n const received = Object.keys(tokenSet)\n const hasSomeOverlap = received.some((rk) => expected.includes(rk))\n if (!hasSomeOverlap) {\n throw new Error(`\ncreateTamagui() invalid tokens.${name}:\n\nReceived: ${received.join(', ')}\n\nExpected a subset of: ${expected.join(', ')}\n\n`)\n }\n }\n\n return tamaguiConfig\n }\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,iBAAiB,yBAAyB;AAM5C,MAAM,gBACX,QAAQ,IAAI,aAAa,gBACrB,oBACA,CAAC,SAAS;AACR,QAAM,gBAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,UAAU,CAAC,cAAwB,QAA0B;AACjE,WAAO,aAAa,MAAM,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,WAAW;AAAA,EAChE;AAEA,QAAM,gBAAgB,kBAAkB,IAAI;AAG5C,aAAW,QAAQ,CAAC,QAAQ,OAAO,GAAY;AAC7C,UAAM,WAAW,cAAc,aAAa,IAAI;AAChD,QAAI,CAAC,UAAU;AACb,YAAM,IAAI;AAAA,QACR,wBAAwB,YAAY,OAAO;AAAA,UACzC,cAAc;AAAA,QAChB,EAAE,KAAK,IAAI;AAAA,MACb;AAAA,IACF;AACA,QAAI,CAAC,QAAQ,eAAe,QAAQ,GAAG;AACrC,YAAM,IAAI,MAAM;AAAA,yDAC6B;AAAA;AAAA,YAE7C,OAAO,KAAK,QAAQ,EAAE,KAAK,IAAI;AAAA;AAAA,YAE/B,cAAc,KAAK,IAAI;AAAA;AAAA,CAElC;AAAA,IACS;AAAA,EACF;AAGA,QAAM,WAAW,OAAO,KAAK,cAAc,aAAa,IAAI;AAC5D,aAAW,QAAQ,CAAC,UAAU,QAAQ,GAAY;AAChD,UAAM,WAAW,cAAc,aAAa,IAAI;AAChD,UAAM,WAAW,OAAO,KAAK,QAAQ;AACrC,UAAM,iBAAiB,SAAS,KAAK,CAAC,OAAO,SAAS,SAAS,EAAE,CAAC;AAClE,QAAI,CAAC,gBAAgB;AACnB,YAAM,IAAI,MAAM;AAAA,iCACK;AAAA;AAAA,YAErB,SAAS,KAAK,IAAI;AAAA;AAAA,wBAEN,SAAS,KAAK,IAAI;AAAA;AAAA,CAEzC;AAAA,IACS;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getVariableValue, isWeb } from "@tamagui/core";
|
|
2
|
+
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
|
+
import { getFontSized } from "@tamagui/get-font-sized";
|
|
4
|
+
import { stepTokenUpOrDown } from "@tamagui/get-size";
|
|
5
|
+
const inputSizeVariant = (val = "$true", extras) => {
|
|
6
|
+
if (extras.props.multiline || extras.props.numberOfLines > 1) {
|
|
7
|
+
return textAreaSizeVariant(val, extras);
|
|
8
|
+
}
|
|
9
|
+
const buttonStyles = getButtonSized(val, extras);
|
|
10
|
+
const paddingHorizontal = stepTokenUpOrDown("space", val, -1, [2]);
|
|
11
|
+
const fontStyle = getFontSized(val, extras);
|
|
12
|
+
if (!isWeb && fontStyle) {
|
|
13
|
+
delete fontStyle["lineHeight"];
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
...fontStyle,
|
|
17
|
+
...buttonStyles,
|
|
18
|
+
paddingHorizontal
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
const textAreaSizeVariant = (val = "$true", extras) => {
|
|
22
|
+
const { props } = extras;
|
|
23
|
+
const buttonStyles = getButtonSized(val, extras);
|
|
24
|
+
const fontStyle = getFontSized(val, extras);
|
|
25
|
+
const height = props.numberOfLines ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight) : "auto";
|
|
26
|
+
const paddingVertical = stepTokenUpOrDown("space", val, -2, [2]);
|
|
27
|
+
const paddingHorizontal = stepTokenUpOrDown("space", val, -1, [2]);
|
|
28
|
+
return {
|
|
29
|
+
...buttonStyles,
|
|
30
|
+
...fontStyle,
|
|
31
|
+
paddingVertical,
|
|
32
|
+
paddingHorizontal,
|
|
33
|
+
height
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
inputSizeVariant,
|
|
38
|
+
textAreaSizeVariant
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=inputHelpers.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/inputHelpers.tsx"],
|
|
4
|
+
"sourcesContent": ["import { SizeVariantSpreadFunction, getVariableValue, isWeb } from '@tamagui/core'\nimport { getButtonSized } from '@tamagui/get-button-sized'\nimport { getFontSized } from '@tamagui/get-font-sized'\nimport { stepTokenUpOrDown } from '@tamagui/get-size'\n\nexport const inputSizeVariant: SizeVariantSpreadFunction<any> = (\n val = '$true',\n extras\n) => {\n if (extras.props.multiline || extras.props.numberOfLines > 1) {\n return textAreaSizeVariant(val, extras)\n }\n const buttonStyles = getButtonSized(val, extras)\n const paddingHorizontal = stepTokenUpOrDown('space', val, -1, [2])\n const fontStyle = getFontSized(val, extras)\n // lineHeight messes up input on native\n if (!isWeb && fontStyle) {\n delete fontStyle['lineHeight']\n }\n return {\n ...fontStyle,\n ...buttonStyles,\n paddingHorizontal,\n }\n}\n\nexport const textAreaSizeVariant: SizeVariantSpreadFunction<any> = (\n val = '$true',\n extras\n) => {\n const { props } = extras\n const buttonStyles = getButtonSized(val, extras)\n const fontStyle = getFontSized(val, extras)!\n const height = props.numberOfLines\n ? (props.numberOfLines || 1) * getVariableValue(fontStyle.lineHeight)\n : 'auto'\n const paddingVertical = stepTokenUpOrDown('space', val, -2, [2])\n const paddingHorizontal = stepTokenUpOrDown('space', val, -1, [2])\n return {\n ...buttonStyles,\n ...fontStyle,\n paddingVertical,\n paddingHorizontal,\n height,\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAoC,kBAAkB,aAAa;AACnE,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,yBAAyB;AAE3B,MAAM,mBAAmD,CAC9D,MAAM,SACN,WACG;AACH,MAAI,OAAO,MAAM,aAAa,OAAO,MAAM,gBAAgB,GAAG;AAC5D,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACxC;AACA,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,oBAAoB,kBAAkB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;AACjE,QAAM,YAAY,aAAa,KAAK,MAAM;AAE1C,MAAI,CAAC,SAAS,WAAW;AACvB,WAAO,UAAU,YAAY;AAAA,EAC/B;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,sBAAsD,CACjE,MAAM,SACN,WACG;AACH,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,eAAe,eAAe,KAAK,MAAM;AAC/C,QAAM,YAAY,aAAa,KAAK,MAAM;AAC1C,QAAM,SAAS,MAAM,iBAChB,MAAM,iBAAiB,KAAK,iBAAiB,UAAU,UAAU,IAClE;AACJ,QAAM,kBAAkB,kBAAkB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;AAC/D,QAAM,oBAAoB,kBAAkB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;AACjE,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|