@tamagui/card 1.2.9 → 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.
- package/dist/esm/Card.mjs +88 -0
- package/dist/esm/Card.mjs.map +7 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +7 -0
- package/dist/jsx/Card.mjs +87 -0
- package/dist/jsx/Card.mjs.map +7 -0
- package/dist/jsx/index.mjs +2 -0
- package/dist/jsx/index.mjs.map +7 -0
- package/package.json +6 -6
|
@@ -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,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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/card",
|
|
3
|
-
"version": "1.2.
|
|
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.
|
|
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.
|
|
35
|
-
"@tamagui/create-context": "^1.2.
|
|
36
|
-
"@tamagui/stacks": "^1.2.
|
|
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.
|
|
44
|
+
"@tamagui/build": "^1.2.10",
|
|
45
45
|
"react": "^18.2.0",
|
|
46
46
|
"react-dom": "^18.2.0",
|
|
47
47
|
"react-native": "*"
|