tamagui 1.74.3 → 1.74.5

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 (55) hide show
  1. package/dist/cjs/native.js +20 -0
  2. package/dist/cjs/native.js.map +6 -0
  3. package/dist/cjs/views/Grid.js +62 -0
  4. package/dist/cjs/views/Grid.js.map +6 -0
  5. package/dist/cjs/views/Grid.native.js +63 -0
  6. package/dist/cjs/views/Grid.native.js.map +6 -0
  7. package/dist/esm/createTamagui.native.js +52 -0
  8. package/dist/esm/createTamagui.native.js.map +6 -0
  9. package/dist/esm/helpers/inputHelpers.native.js +37 -0
  10. package/dist/esm/helpers/inputHelpers.native.js.map +6 -0
  11. package/dist/esm/index.native.js +175 -0
  12. package/dist/esm/index.native.js.map +6 -0
  13. package/dist/esm/lib/linear-gradient.native.js +2 -0
  14. package/dist/esm/lib/linear-gradient.native.js.map +6 -0
  15. package/dist/esm/linear-gradient.native.js +2 -0
  16. package/dist/esm/linear-gradient.native.js.map +6 -0
  17. package/dist/esm/setup.native.js +19 -0
  18. package/dist/esm/setup.native.js.map +6 -0
  19. package/dist/esm/viewTypes.native.js +1 -0
  20. package/dist/esm/viewTypes.native.js.map +6 -0
  21. package/dist/esm/views/Anchor.native.js +29 -0
  22. package/dist/esm/views/Anchor.native.js.map +6 -0
  23. package/dist/esm/views/EnsureFlexed.native.js +18 -0
  24. package/dist/esm/views/EnsureFlexed.native.js.map +6 -0
  25. package/dist/esm/views/Fieldset.native.js +18 -0
  26. package/dist/esm/views/Fieldset.native.js.map +6 -0
  27. package/dist/esm/views/Grid.js +37 -0
  28. package/dist/esm/views/Grid.js.map +6 -0
  29. package/dist/esm/views/Input.native.js +73 -0
  30. package/dist/esm/views/Input.native.js.map +6 -0
  31. package/dist/esm/views/Layouts.native.js +45 -0
  32. package/dist/esm/views/Layouts.native.js.map +6 -0
  33. package/dist/esm/views/Skeleton.native.js +1 -0
  34. package/dist/esm/views/Skeleton.native.js.map +6 -0
  35. package/dist/esm/views/Spinner.native.js +25 -0
  36. package/dist/esm/views/Spinner.native.js.map +6 -0
  37. package/dist/esm/views/TamaguiProvider.native.js +8 -0
  38. package/dist/esm/views/TamaguiProvider.native.js.map +6 -0
  39. package/dist/esm/views/TamaguiProvider.server.native.js +6 -0
  40. package/dist/esm/views/TamaguiProvider.server.native.js.map +6 -0
  41. package/dist/esm/views/TextArea.native.js +35 -0
  42. package/dist/esm/views/TextArea.native.js.map +6 -0
  43. package/dist/esm/views/VisuallyHidden.native.js +37 -0
  44. package/dist/esm/views/VisuallyHidden.native.js.map +6 -0
  45. package/dist/jsx/native.js +2 -0
  46. package/dist/jsx/native.js.map +6 -0
  47. package/dist/jsx/views/Grid.js +28 -0
  48. package/dist/jsx/views/Grid.js.map +6 -0
  49. package/dist/jsx/views/Grid.native.js +28 -0
  50. package/dist/jsx/views/Grid.native.js.map +6 -0
  51. package/dist/native.js +67 -46
  52. package/dist/native.js.map +3 -3
  53. package/dist/test.native.js +61 -45
  54. package/dist/test.native.js.map +3 -3
  55. package/package.json +52 -52
@@ -0,0 +1,73 @@
1
+ import { isWeb, styled, useTheme } from "@tamagui/core";
2
+ import { useFocusable } from "@tamagui/focusable";
3
+ import { TextInput } from "react-native";
4
+ import { inputSizeVariant } from "../helpers/inputHelpers";
5
+ import { jsx } from "react/jsx-runtime";
6
+ const defaultStyles = {
7
+ size: "$true",
8
+ fontFamily: "$body",
9
+ borderWidth: 1,
10
+ outlineWidth: 0,
11
+ color: "$color",
12
+ ...isWeb ? {
13
+ tabIndex: 0
14
+ } : {
15
+ focusable: !0
16
+ },
17
+ borderColor: "$borderColor",
18
+ backgroundColor: "$background",
19
+ // this fixes a flex bug where it overflows container
20
+ minWidth: 0,
21
+ hoverStyle: {
22
+ borderColor: "$borderColorHover"
23
+ },
24
+ focusStyle: {
25
+ outlineColor: "$borderColorFocus",
26
+ outlineWidth: 2,
27
+ outlineStyle: "solid",
28
+ borderColor: "$borderColorFocus"
29
+ }
30
+ }, InputFrame = styled(
31
+ TextInput,
32
+ {
33
+ name: "Input",
34
+ variants: {
35
+ unstyled: {
36
+ false: defaultStyles
37
+ },
38
+ size: {
39
+ "...size": inputSizeVariant
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ unstyled: !1
44
+ }
45
+ },
46
+ {
47
+ isInput: !0
48
+ }
49
+ ), Input = InputFrame.styleable((propsIn, ref) => {
50
+ const props = useInputProps(propsIn, ref);
51
+ return /* @__PURE__ */ jsx(InputFrame, { ...props });
52
+ });
53
+ function useInputProps(props, ref) {
54
+ const theme = useTheme(), { onChangeText, ref: combinedRef } = useFocusable({
55
+ props,
56
+ ref,
57
+ isInput: !0
58
+ }), placeholderColorProp = props.placeholderTextColor, placeholderTextColor = theme[placeholderColorProp]?.get() ?? placeholderColorProp ?? theme.placeholderColor?.get();
59
+ return {
60
+ ref: combinedRef,
61
+ editable: !props.disabled,
62
+ ...props,
63
+ placeholderTextColor,
64
+ onChangeText
65
+ };
66
+ }
67
+ export {
68
+ Input,
69
+ InputFrame,
70
+ defaultStyles,
71
+ useInputProps
72
+ };
73
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Input.tsx"],
4
+ "mappings": "AAAA,SAAmC,OAAO,QAAQ,gBAAgB;AAClE,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAkExB;AAhEF,MAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,OAAO;AAAA,EAEP,GAAI,QACA;AAAA,IACE,UAAU;AAAA,EACZ,IACA;AAAA,IACE,WAAW;AAAA,EACb;AAAA,EAEJ,aAAa;AAAA,EACb,iBAAiB;AAAA;AAAA,EAGjB,UAAU;AAAA,EAEV,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,aAAa;AAAA,EACf;AACF,GAEa,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IAEN,UAAU;AAAA,MACR,UAAU;AAAA,QACR,OAAO;AAAA,MACT;AAAA,MAEA,MAAM;AAAA,QACJ,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IAEA,iBAAiB;AAAA,MACf,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA;AAAA,IACE,SAAS;AAAA,EACX;AACF,GAOa,QAAQ,WAAW,UAAsB,CAAC,SAAS,QAAQ;AACtE,QAAM,QAAQ,cAAc,SAAS,GAAG;AACxC,SAAO,oBAAC,cAAY,GAAG,OAAO;AAChC,CAAC;AAEM,SAAS,cAAc,OAAmB,KAAU;AACzD,QAAM,QAAQ,SAAS,GACjB,EAAE,cAAc,KAAK,YAAY,IAAI,aAAa;AAAA,IACtD;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EACX,CAAC,GAEK,uBAAuB,MAAM,sBAC7B,uBACJ,MAAM,oBAA2B,GAAG,IAAI,KACxC,wBACA,MAAM,kBAAkB,IAAI;AAE9B,SAAO;AAAA,IACL,KAAK;AAAA,IACL,UAAU,CAAC,MAAM;AAAA,IACjB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,45 @@
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
+ }), Article = styled(Stack, {
8
+ name: "Article",
9
+ tag: "article",
10
+ flexDirection: "column"
11
+ }), Main = styled(Stack, {
12
+ name: "Main",
13
+ tag: "main",
14
+ flexDirection: "column"
15
+ }), Header = styled(Stack, {
16
+ name: "Header",
17
+ tag: "header",
18
+ accessibilityRole: "header",
19
+ flexDirection: "column"
20
+ }), Aside = styled(Stack, {
21
+ name: "Aside",
22
+ tag: "aside",
23
+ flexDirection: "column"
24
+ // accessibilityRole: 'complementary',
25
+ }), Footer = styled(Stack, {
26
+ name: "Footer",
27
+ tag: "footer",
28
+ flexDirection: "column"
29
+ // accessibilityRole: 'contentinfo',
30
+ }), Nav = styled(Stack, {
31
+ name: "Nav",
32
+ tag: "nav",
33
+ flexDirection: "column"
34
+ // accessibilityRole: 'navigation',
35
+ });
36
+ export {
37
+ Article,
38
+ Aside,
39
+ Footer,
40
+ Header,
41
+ Main,
42
+ Nav,
43
+ Section
44
+ };
45
+ //# sourceMappingURL=Layouts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Layouts.tsx"],
4
+ "mappings": "AAAA,SAAS,OAAO,cAAc;AAEvB,MAAM,UAAU,OAAO,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA,EACf,mBAAmB;AACrB,CAAC,GAEY,UAAU,OAAO,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,OAAO,OAAO,OAAO;AAAA,EAChC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AACjB,CAAC,GAEY,SAAS,OAAO,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,eAAe;AACjB,CAAC,GAEY,QAAQ,OAAO,OAAO;AAAA,EACjC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,SAAS,OAAO,OAAO;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC,GAEY,MAAM,OAAO,OAAO;AAAA,EAC/B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,eAAe;AAAA;AAEjB,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1,25 @@
1
+ import {
2
+ themeable,
3
+ useTheme,
4
+ variableToString
5
+ } from "@tamagui/core";
6
+ import { YStack } from "@tamagui/stacks";
7
+ import * as React from "react";
8
+ import { ActivityIndicator } from "react-native";
9
+ import { jsx } from "react/jsx-runtime";
10
+ const Spinner = YStack.extractable(
11
+ themeable(
12
+ React.forwardRef((props, ref) => {
13
+ const { size, color: colorProp, ...stackProps } = props, theme = useTheme();
14
+ let color = colorProp;
15
+ return color && color[0] === "$" && (color = variableToString(theme[color])), /* @__PURE__ */ jsx(YStack, { ref, ...stackProps, children: /* @__PURE__ */ jsx(ActivityIndicator, { size, color }) });
16
+ }),
17
+ {
18
+ componentName: "Spinner"
19
+ }
20
+ )
21
+ );
22
+ export {
23
+ Spinner
24
+ };
25
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Spinner.tsx"],
4
+ "mappings": "AAAA;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAA2B;AACpC,YAAY,WAAW;AACvB,SAAS,yBAAyB;AAoBxB;AAbH,MAAM,UAET,OAAO;AAAA,EACT;AAAA,IACE,MAAM,WAA2B,CAAC,OAAqB,QAAQ;AAC7D,YAAM,EAAE,MAAM,OAAO,WAAW,GAAG,WAAW,IAAI,OAC5C,QAAQ,SAAS;AACvB,UAAI,QAAQ;AACZ,aAAI,SAAS,MAAM,CAAC,MAAM,QACxB,QAAQ,iBAAiB,MAAM,KAAK,CAAC,IAGrC,oBAAC,UAAO,KAAW,GAAG,YACpB,8BAAC,qBAAkB,MAAY,OAAc,GAC/C;AAAA,IAEJ,CAAC;AAAA,IACD;AAAA,MACE,eAAe;AAAA,IACjB;AAAA,EACF;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ import { TamaguiProvider as OGProvider } from "@tamagui/core";
2
+ import { PortalProvider } from "@tamagui/portal";
3
+ import { jsx } from "react/jsx-runtime";
4
+ const TamaguiProvider = ({ children, ...props }) => /* @__PURE__ */ jsx(OGProvider, { ...props, children: /* @__PURE__ */ jsx(PortalProvider, { shouldAddRootHost: !0, children }) });
5
+ export {
6
+ TamaguiProvider
7
+ };
8
+ //# sourceMappingURL=TamaguiProvider.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
+ "mappings": "AACA,SAAS,mBAAmB,kBAAkB;AAC9C,SAAS,sBAAsB;AAKzB;AAHC,MAAM,kBAAkB,CAAC,EAAE,UAAU,GAAG,MAAM,MAEjD,oBAAC,cAAY,GAAG,OACd,8BAAC,kBAAe,mBAAiB,IAAE,UAAS,GAC9C;",
5
+ "names": []
6
+ }
@@ -0,0 +1,6 @@
1
+ import { TamaguiProvider as OGProvider } from "@tamagui/core";
2
+ const TamaguiProvider = OGProvider;
3
+ export {
4
+ TamaguiProvider
5
+ };
6
+ //# sourceMappingURL=TamaguiProvider.server.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TamaguiProvider.server.tsx"],
4
+ "mappings": "AAAA,SAAS,mBAAmB,kBAAkB;AAEvC,MAAM,kBAAkB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,35 @@
1
+ import { isWeb, styled } from "@tamagui/core";
2
+ import { textAreaSizeVariant } from "../helpers/inputHelpers";
3
+ import { InputFrame, defaultStyles, useInputProps } from "./Input";
4
+ import { jsx } from "react/jsx-runtime";
5
+ const TextAreaFrame = styled(InputFrame, {
6
+ name: "TextArea",
7
+ multiline: !0,
8
+ // this attribute fixes firefox newline issue
9
+ whiteSpace: "pre-wrap",
10
+ variants: {
11
+ unstyled: {
12
+ false: {
13
+ height: "auto",
14
+ ...defaultStyles
15
+ }
16
+ },
17
+ size: {
18
+ "...size": textAreaSizeVariant
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ unstyled: !1
23
+ }
24
+ }), TextArea = TextAreaFrame.styleable((propsIn, ref) => {
25
+ const props = useInputProps(propsIn, ref), linesProp = {
26
+ // web uses rows now, but native not caught up :/
27
+ [isWeb ? "rows" : "numberOfLines"]: propsIn.unstyled ? void 0 : 4
28
+ };
29
+ return /* @__PURE__ */ jsx(TextAreaFrame, { ...linesProp, ...props });
30
+ });
31
+ export {
32
+ TextArea,
33
+ TextAreaFrame
34
+ };
35
+ //# sourceMappingURL=TextArea.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TextArea.tsx"],
4
+ "mappings": "AAAA,SAAS,OAAO,cAAc;AAE9B,SAAS,2BAA2B;AACpC,SAAS,YAAwB,eAAe,qBAAqB;AAuC5D;AAjCF,MAAM,gBAAgB,OAAO,YAAY;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU;AAAA,EACZ;AACF,CAAC,GAIY,WAAW,cAAc,UAAsB,CAAC,SAAS,QAAQ;AAC5E,QAAM,QAAQ,cAAc,SAAS,GAAG,GAElC,YAAY;AAAA;AAAA,IAEhB,CAAC,QAAQ,SAAS,eAAe,GAAG,QAAQ,WAAW,SAAY;AAAA,EACrE;AACA,SAAO,oBAAC,iBAAe,GAAG,WAAY,GAAG,OAAO;AAClD,CAAC;",
5
+ "names": []
6
+ }
@@ -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 = !0;
34
+ export {
35
+ VisuallyHidden
36
+ };
37
+ //# sourceMappingURL=VisuallyHidden.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/VisuallyHidden.tsx"],
4
+ "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,mBAAsB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./index";
2
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/native.ts"],
4
+ "mappings": "AAAA,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,28 @@
1
+ import { isWeb } from "@tamagui/core";
2
+ import { XStack } from "@tamagui/stacks";
3
+ import React from "react";
4
+ function Grid({ children, columns, itemMinWidth = 200, gap }) {
5
+ if (isWeb)
6
+ return <div
7
+ style={{
8
+ gap,
9
+ display: "grid",
10
+ justifyContent: "stretch",
11
+ // gridTemplateRows: 'repeat(4, 1fr)',
12
+ gridTemplateColumns: `repeat( auto-fit, minmax(${itemMinWidth}px, 1fr) )`
13
+ // gridTemplateColumns: '1fr 1fr',
14
+ }}
15
+ >{children}</div>;
16
+ const childrenList = React.Children.toArray(children);
17
+ return <XStack alignItems="center" justifyContent="center" flexWrap="wrap">{childrenList.map((child, i) => child ? <XStack
18
+ key={i}
19
+ flex={1}
20
+ minWidth={itemMinWidth}
21
+ marginRight={gap}
22
+ marginBottom={gap}
23
+ >{child}</XStack> : null)}</XStack>;
24
+ }
25
+ export {
26
+ Grid
27
+ };
28
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Grid.tsx"],
4
+ "mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,cAAc;AACvB,OAAO,WAAW;AASX,SAAS,KAAK,EAAE,UAAU,SAAS,eAAe,KAAK,IAAI,GAAc;AAC9E,MAAI;AACF,WACE,CAAC;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT,gBAAgB;AAAA;AAAA,QAEhB,qBAAqB,4BAA4B,YAAY;AAAA;AAAA,MAE/D;AAAA,MAEC,SACH,EAXC;AAeL,QAAM,eAAe,MAAM,SAAS,QAAQ,QAAQ;AAEpD,SACE,CAAC,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,QAC1D,aAAa,IAAI,CAAC,OAAO,MACnB,QAMH,CAAC;AAAA,IACC,KAAK;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,IACb,cAAc;AAAA,IAEb,MACH,EARC,UALM,IAeV,EACH,EAnBC;AAqBL;",
5
+ "names": []
6
+ }
@@ -0,0 +1,28 @@
1
+ import { isWeb } from "@tamagui/core";
2
+ import { XStack } from "@tamagui/stacks";
3
+ import React from "react";
4
+ function Grid({ children, columns, itemMinWidth = 200, gap }) {
5
+ if (isWeb)
6
+ return <div
7
+ style={{
8
+ gap,
9
+ display: "grid",
10
+ justifyContent: "stretch",
11
+ // gridTemplateRows: 'repeat(4, 1fr)',
12
+ gridTemplateColumns: `repeat( auto-fit, minmax(${itemMinWidth}px, 1fr) )`
13
+ // gridTemplateColumns: '1fr 1fr',
14
+ }}
15
+ >{children}</div>;
16
+ const childrenList = React.Children.toArray(children);
17
+ return <XStack alignItems="center" justifyContent="center" flexWrap="wrap">{childrenList.map((child, i) => child ? <XStack
18
+ key={i}
19
+ flex={1}
20
+ minWidth={itemMinWidth}
21
+ marginRight={gap}
22
+ marginBottom={gap}
23
+ >{child}</XStack> : null)}</XStack>;
24
+ }
25
+ export {
26
+ Grid
27
+ };
28
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Grid.tsx"],
4
+ "mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,cAAc;AACvB,OAAO,WAAW;AASX,SAAS,KAAK,EAAE,UAAU,SAAS,eAAe,KAAK,IAAI,GAAc;AAC9E,MAAI;AACF,WACE,CAAC;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT,gBAAgB;AAAA;AAAA,QAEhB,qBAAqB,4BAA4B,YAAY;AAAA;AAAA,MAE/D;AAAA,MAEC,SACH,EAXC;AAeL,QAAM,eAAe,MAAM,SAAS,QAAQ,QAAQ;AAEpD,SACE,CAAC,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,QAC1D,aAAa,IAAI,CAAC,OAAO,MACnB,QAMH,CAAC;AAAA,IACC,KAAK;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,aAAa;AAAA,IACb,cAAc;AAAA,IAEb,MACH,EARC,UALM,IAeV,EACH,EAnBC;AAqBL;",
5
+ "names": []
6
+ }