@tamagui/card 1.2.8 → 1.2.10

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.
@@ -0,0 +1,88 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import {
3
+ isTamaguiElement,
4
+ styled,
5
+ withStaticProperties
6
+ } from "@tamagui/core";
7
+ import { ThemeableStack } from "@tamagui/stacks";
8
+ import React, { cloneElement, forwardRef } from "react";
9
+ const CardFrame = styled(ThemeableStack, {
10
+ name: "Card",
11
+ backgroundColor: "$background",
12
+ position: "relative",
13
+ overflow: "hidden",
14
+ variants: {
15
+ size: {
16
+ "...size": (val, { tokens }) => {
17
+ return {
18
+ borderRadius: tokens.radius[val] ?? val
19
+ };
20
+ }
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ size: "$true"
25
+ }
26
+ });
27
+ const CardHeader = styled(ThemeableStack, {
28
+ name: "CardHeader",
29
+ zIndex: 10,
30
+ backgroundColor: "transparent",
31
+ marginBottom: "auto",
32
+ variants: {
33
+ size: {
34
+ "...size": (val, { tokens }) => {
35
+ return {
36
+ padding: tokens.space[val] ?? val
37
+ };
38
+ }
39
+ }
40
+ }
41
+ });
42
+ const CardFooter = styled(CardHeader, {
43
+ name: "CardFooter",
44
+ zIndex: 5,
45
+ flexDirection: "row",
46
+ marginTop: "auto",
47
+ marginBottom: 0
48
+ });
49
+ const CardBackground = styled(ThemeableStack, {
50
+ name: "CardBackground",
51
+ zIndex: 0,
52
+ fullscreen: true,
53
+ overflow: "hidden",
54
+ pointerEvents: "none",
55
+ padding: 0
56
+ });
57
+ const Card = withStaticProperties(
58
+ CardFrame.extractable(
59
+ forwardRef(
60
+ ({ size, __scopeCard, children, ...props }, ref) => {
61
+ return (
62
+ // <CardProvider scope={__scopeCard} size={size}>
63
+ /* @__PURE__ */ jsx(CardFrame, { ref, ...props, children: React.Children.map(children, (child) => {
64
+ if (isTamaguiElement(child) && !child.props.size) {
65
+ return cloneElement(child, {
66
+ size
67
+ });
68
+ }
69
+ return child;
70
+ }) })
71
+ );
72
+ }
73
+ )
74
+ ),
75
+ {
76
+ Header: CardHeader,
77
+ Footer: CardFooter,
78
+ Background: CardBackground
79
+ }
80
+ );
81
+ export {
82
+ Card,
83
+ CardBackground,
84
+ CardFooter,
85
+ CardFrame,
86
+ CardHeader
87
+ };
88
+ //# sourceMappingURL=Card.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Card.tsx"],
4
+ "sourcesContent": ["import {\n GetProps,\n SizeTokens,\n isTamaguiElement,\n styled,\n themeable,\n withStaticProperties,\n} from '@tamagui/core'\nimport { ScopedProps, createContextScope } from '@tamagui/create-context'\nimport { ThemeableStack } from '@tamagui/stacks'\nimport React, { cloneElement, forwardRef } from 'react'\nimport { View } from 'react-native'\n\n// const CARD_NAME = 'CARD'\n\n// type CardContextValue = {\n// size?: SizeTokens\n// }\n\n// const [createCardContext, createCardScope] = createContextScope(CARD_NAME)\n// const [CardProvider, useCardContext] = createCardContext<CardContextValue>(CARD_NAME)\n\nexport const CardFrame = styled(ThemeableStack, {\n name: 'Card',\n backgroundColor: '$background',\n position: 'relative',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (val, { tokens }) => {\n return {\n borderRadius: tokens.radius[val] ?? val,\n }\n },\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\nexport const CardHeader = styled(ThemeableStack, {\n name: 'CardHeader',\n zIndex: 10,\n backgroundColor: 'transparent',\n marginBottom: 'auto',\n\n variants: {\n size: {\n '...size': (val, { tokens }) => {\n return {\n padding: tokens.space[val] ?? val,\n }\n },\n },\n } as const,\n})\n\nexport const CardFooter = styled(CardHeader, {\n name: 'CardFooter',\n zIndex: 5,\n flexDirection: 'row',\n marginTop: 'auto',\n marginBottom: 0,\n})\n\nexport const CardBackground = styled(ThemeableStack, {\n name: 'CardBackground',\n zIndex: 0,\n fullscreen: true,\n overflow: 'hidden',\n pointerEvents: 'none',\n padding: 0,\n})\n\nexport type CardHeaderProps = GetProps<typeof CardHeader>\nexport type CardFooterProps = GetProps<typeof CardFooter>\n\nexport type CardProps = GetProps<typeof CardFrame>\n\nexport const Card = withStaticProperties(\n CardFrame.extractable(\n forwardRef<HTMLElement | View, ScopedProps<CardProps, 'Card'>>(\n ({ size, __scopeCard, children, ...props }, ref) => {\n return (\n // <CardProvider scope={__scopeCard} size={size}>\n <CardFrame ref={ref} {...props}>\n {React.Children.map(children, (child) => {\n if (isTamaguiElement(child) && !child.props.size) {\n return cloneElement(child, {\n size,\n })\n }\n return child\n })}\n </CardFrame>\n // </CardProvider>\n )\n }\n )\n ),\n {\n Header: CardHeader,\n Footer: CardFooter,\n Background: CardBackground,\n }\n)\n\n// export { createCardScope, useCardContext }\n"],
5
+ "mappings": "AAwFU;AAxFV;AAAA,EAGE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,OAAO,SAAS,cAAc,kBAAkB;AAYzC,MAAM,YAAY,OAAO,gBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,KAAK,EAAE,OAAO,MAAM;AAC9B,eAAO;AAAA,UACL,cAAc,OAAO,OAAO,GAAG,KAAK;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAEM,MAAM,aAAa,OAAO,gBAAgB;AAAA,EAC/C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,cAAc;AAAA,EAEd,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,KAAK,EAAE,OAAO,MAAM;AAC9B,eAAO;AAAA,UACL,SAAS,OAAO,MAAM,GAAG,KAAK;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,OAAO,YAAY;AAAA,EAC3C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,cAAc;AAChB,CAAC;AAEM,MAAM,iBAAiB,OAAO,gBAAgB;AAAA,EACnD,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,SAAS;AACX,CAAC;AAOM,MAAM,OAAO;AAAA,EAClB,UAAU;AAAA,IACR;AAAA,MACE,CAAC,EAAE,MAAM,aAAa,UAAU,GAAG,MAAM,GAAG,QAAQ;AAClD;AAAA;AAAA,UAEE,oBAAC,aAAU,KAAW,GAAG,OACtB,gBAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AACvC,gBAAI,iBAAiB,KAAK,KAAK,CAAC,MAAM,MAAM,MAAM;AAChD,qBAAO,aAAa,OAAO;AAAA,gBACzB;AAAA,cACF,CAAC;AAAA,YACH;AACA,mBAAO;AAAA,UACT,CAAC,GACH;AAAA;AAAA,MAGJ;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Card";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["export * from './Card'\n"],
5
+ "mappings": "AAAA,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,87 @@
1
+ import {
2
+ isTamaguiElement,
3
+ styled,
4
+ withStaticProperties
5
+ } from "@tamagui/core";
6
+ import { ThemeableStack } from "@tamagui/stacks";
7
+ import React, { cloneElement, forwardRef } from "react";
8
+ const CardFrame = styled(ThemeableStack, {
9
+ name: "Card",
10
+ backgroundColor: "$background",
11
+ position: "relative",
12
+ overflow: "hidden",
13
+ variants: {
14
+ size: {
15
+ "...size": (val, { tokens }) => {
16
+ return {
17
+ borderRadius: tokens.radius[val] ?? val
18
+ };
19
+ }
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ size: "$true"
24
+ }
25
+ });
26
+ const CardHeader = styled(ThemeableStack, {
27
+ name: "CardHeader",
28
+ zIndex: 10,
29
+ backgroundColor: "transparent",
30
+ marginBottom: "auto",
31
+ variants: {
32
+ size: {
33
+ "...size": (val, { tokens }) => {
34
+ return {
35
+ padding: tokens.space[val] ?? val
36
+ };
37
+ }
38
+ }
39
+ }
40
+ });
41
+ const CardFooter = styled(CardHeader, {
42
+ name: "CardFooter",
43
+ zIndex: 5,
44
+ flexDirection: "row",
45
+ marginTop: "auto",
46
+ marginBottom: 0
47
+ });
48
+ const CardBackground = styled(ThemeableStack, {
49
+ name: "CardBackground",
50
+ zIndex: 0,
51
+ fullscreen: true,
52
+ overflow: "hidden",
53
+ pointerEvents: "none",
54
+ padding: 0
55
+ });
56
+ const Card = withStaticProperties(
57
+ CardFrame.extractable(
58
+ forwardRef(
59
+ ({ size, __scopeCard, children, ...props }, ref) => {
60
+ return (
61
+ // <CardProvider scope={__scopeCard} size={size}>
62
+ <CardFrame ref={ref} {...props}>{React.Children.map(children, (child) => {
63
+ if (isTamaguiElement(child) && !child.props.size) {
64
+ return cloneElement(child, {
65
+ size
66
+ });
67
+ }
68
+ return child;
69
+ })}</CardFrame>
70
+ );
71
+ }
72
+ )
73
+ ),
74
+ {
75
+ Header: CardHeader,
76
+ Footer: CardFooter,
77
+ Background: CardBackground
78
+ }
79
+ );
80
+ export {
81
+ Card,
82
+ CardBackground,
83
+ CardFooter,
84
+ CardFrame,
85
+ CardHeader
86
+ };
87
+ //# sourceMappingURL=Card.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Card.tsx"],
4
+ "sourcesContent": ["import {\n GetProps,\n SizeTokens,\n isTamaguiElement,\n styled,\n themeable,\n withStaticProperties,\n} from '@tamagui/core'\nimport { ScopedProps, createContextScope } from '@tamagui/create-context'\nimport { ThemeableStack } from '@tamagui/stacks'\nimport React, { cloneElement, forwardRef } from 'react'\nimport { View } from 'react-native'\n\n// const CARD_NAME = 'CARD'\n\n// type CardContextValue = {\n// size?: SizeTokens\n// }\n\n// const [createCardContext, createCardScope] = createContextScope(CARD_NAME)\n// const [CardProvider, useCardContext] = createCardContext<CardContextValue>(CARD_NAME)\n\nexport const CardFrame = styled(ThemeableStack, {\n name: 'Card',\n backgroundColor: '$background',\n position: 'relative',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (val, { tokens }) => {\n return {\n borderRadius: tokens.radius[val] ?? val,\n }\n },\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\nexport const CardHeader = styled(ThemeableStack, {\n name: 'CardHeader',\n zIndex: 10,\n backgroundColor: 'transparent',\n marginBottom: 'auto',\n\n variants: {\n size: {\n '...size': (val, { tokens }) => {\n return {\n padding: tokens.space[val] ?? val,\n }\n },\n },\n } as const,\n})\n\nexport const CardFooter = styled(CardHeader, {\n name: 'CardFooter',\n zIndex: 5,\n flexDirection: 'row',\n marginTop: 'auto',\n marginBottom: 0,\n})\n\nexport const CardBackground = styled(ThemeableStack, {\n name: 'CardBackground',\n zIndex: 0,\n fullscreen: true,\n overflow: 'hidden',\n pointerEvents: 'none',\n padding: 0,\n})\n\nexport type CardHeaderProps = GetProps<typeof CardHeader>\nexport type CardFooterProps = GetProps<typeof CardFooter>\n\nexport type CardProps = GetProps<typeof CardFrame>\n\nexport const Card = withStaticProperties(\n CardFrame.extractable(\n forwardRef<HTMLElement | View, ScopedProps<CardProps, 'Card'>>(\n ({ size, __scopeCard, children, ...props }, ref) => {\n return (\n // <CardProvider scope={__scopeCard} size={size}>\n <CardFrame ref={ref} {...props}>\n {React.Children.map(children, (child) => {\n if (isTamaguiElement(child) && !child.props.size) {\n return cloneElement(child, {\n size,\n })\n }\n return child\n })}\n </CardFrame>\n // </CardProvider>\n )\n }\n )\n ),\n {\n Header: CardHeader,\n Footer: CardFooter,\n Background: CardBackground,\n }\n)\n\n// export { createCardScope, useCardContext }\n"],
5
+ "mappings": "AAAA;AAAA,EAGE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,OAAO,SAAS,cAAc,kBAAkB;AAYzC,MAAM,YAAY,OAAO,gBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,KAAK,EAAE,OAAO,MAAM;AAC9B,eAAO;AAAA,UACL,cAAc,OAAO,OAAO,GAAG,KAAK;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAEM,MAAM,aAAa,OAAO,gBAAgB;AAAA,EAC/C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,cAAc;AAAA,EAEd,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,KAAK,EAAE,OAAO,MAAM;AAC9B,eAAO;AAAA,UACL,SAAS,OAAO,MAAM,GAAG,KAAK;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,MAAM,aAAa,OAAO,YAAY;AAAA,EAC3C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,cAAc;AAChB,CAAC;AAEM,MAAM,iBAAiB,OAAO,gBAAgB;AAAA,EACnD,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,SAAS;AACX,CAAC;AAOM,MAAM,OAAO;AAAA,EAClB,UAAU;AAAA,IACR;AAAA,MACE,CAAC,EAAE,MAAM,aAAa,UAAU,GAAG,MAAM,GAAG,QAAQ;AAClD;AAAA;AAAA,UAEE,CAAC,UAAU,KAAK,SAAS,QACtB,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU;AACvC,gBAAI,iBAAiB,KAAK,KAAK,CAAC,MAAM,MAAM,MAAM;AAChD,qBAAO,aAAa,OAAO;AAAA,gBACzB;AAAA,cACF,CAAC;AAAA,YACH;AACA,mBAAO;AAAA,UACT,CAAC,EACH,EATC;AAAA;AAAA,MAYL;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Card";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["export * from './Card'\n"],
5
+ "mappings": "AAAA,cAAc;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/card",
3
- "version": "1.2.8",
3
+ "version": "1.2.10",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -26,14 +26,14 @@
26
26
  "./package.json": "./package.json",
27
27
  ".": {
28
28
  "types": "./types/index.d.ts",
29
- "import": "./dist/esm/index.js",
29
+ "import": "./dist/esm/index.mjs",
30
30
  "require": "./dist/cjs/index.js"
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/core": "^1.2.8",
35
- "@tamagui/create-context": "^1.2.8",
36
- "@tamagui/stacks": "^1.2.8"
34
+ "@tamagui/core": "^1.2.10",
35
+ "@tamagui/create-context": "^1.2.10",
36
+ "@tamagui/stacks": "^1.2.10"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": "*",
@@ -41,7 +41,7 @@
41
41
  "react-native": "*"
42
42
  },
43
43
  "devDependencies": {
44
- "@tamagui/build": "^1.2.8",
44
+ "@tamagui/build": "^1.2.10",
45
45
  "react": "^18.2.0",
46
46
  "react-dom": "^18.2.0",
47
47
  "react-native": "*"