@xyo-network/react-card 2.64.0-rc.7 → 2.64.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/browser/components/CardContentEx.cjs +56 -0
- package/dist/{node/components/CardContentEx.mjs.map → browser/components/CardContentEx.cjs.map} +1 -1
- package/dist/browser/components/CardContentEx.d.cts +11 -0
- package/dist/browser/components/CardContentEx.d.cts.map +1 -0
- package/dist/browser/components/CardContentEx.js +5 -4
- package/dist/browser/components/CardContentEx.js.map +1 -1
- package/dist/browser/components/CardEx.cjs +48 -0
- package/dist/{node/components/CardEx.mjs.map → browser/components/CardEx.cjs.map} +1 -1
- package/dist/browser/components/CardEx.d.cts +8 -0
- package/dist/browser/components/CardEx.d.cts.map +1 -0
- package/dist/browser/components/CardEx.js +4 -3
- package/dist/browser/components/CardEx.js.map +1 -1
- package/dist/browser/components/FullWidthCard/FullWidthCard.cjs +93 -0
- package/dist/{node/components/FullWidthCard/FullWidthCard.mjs.map → browser/components/FullWidthCard/FullWidthCard.cjs.map} +1 -1
- package/dist/browser/components/FullWidthCard/FullWidthCard.d.cts +15 -0
- package/dist/browser/components/FullWidthCard/FullWidthCard.d.cts.map +1 -0
- package/dist/browser/components/FullWidthCard/FullWidthCard.js +3 -2
- package/dist/browser/components/FullWidthCard/FullWidthCard.js.map +1 -1
- package/dist/browser/components/FullWidthCard/index.cjs +95 -0
- package/dist/browser/components/FullWidthCard/index.cjs.map +1 -0
- package/dist/browser/components/FullWidthCard/index.d.cts +2 -0
- package/dist/browser/components/FullWidthCard/index.d.cts.map +1 -0
- package/dist/browser/components/FullWidthCard/index.js +71 -1
- package/dist/browser/components/FullWidthCard/index.js.map +1 -1
- package/dist/browser/components/PageCard.cjs +71 -0
- package/dist/browser/components/PageCard.cjs.map +1 -0
- package/dist/browser/components/PageCard.d.cts +10 -0
- package/dist/browser/components/PageCard.d.cts.map +1 -0
- package/dist/browser/components/PageCard.js +33 -8
- package/dist/browser/components/PageCard.js.map +1 -1
- package/dist/browser/components/SimpleCard/SimpleCard.cjs +120 -0
- package/dist/browser/components/SimpleCard/SimpleCard.cjs.map +1 -0
- package/dist/browser/components/SimpleCard/SimpleCard.d.cts +16 -0
- package/dist/browser/components/SimpleCard/SimpleCard.d.cts.map +1 -0
- package/dist/browser/components/SimpleCard/SimpleCard.js +36 -11
- package/dist/browser/components/SimpleCard/SimpleCard.js.map +1 -1
- package/dist/browser/components/SimpleCard/index.cjs +122 -0
- package/dist/browser/components/SimpleCard/index.cjs.map +1 -0
- package/dist/browser/components/SimpleCard/index.d.cts +2 -0
- package/dist/browser/components/SimpleCard/index.d.cts.map +1 -0
- package/dist/browser/components/SimpleCard/index.js +98 -1
- package/dist/browser/components/SimpleCard/index.js.map +1 -1
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.cjs +129 -0
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.cjs.map +1 -0
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.d.cts +8 -0
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.d.cts.map +1 -0
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.js +102 -4
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.js.map +1 -1
- package/dist/browser/components/SimpleCardGrid/index.cjs +131 -0
- package/dist/browser/components/SimpleCardGrid/index.cjs.map +1 -0
- package/dist/browser/components/SimpleCardGrid/index.d.cts +2 -0
- package/dist/browser/components/SimpleCardGrid/index.d.cts.map +1 -0
- package/dist/browser/components/SimpleCardGrid/index.js +107 -1
- package/dist/browser/components/SimpleCardGrid/index.js.map +1 -1
- package/dist/browser/components/index.cjs +248 -0
- package/dist/browser/components/index.cjs.map +1 -0
- package/dist/browser/components/index.d.cts +6 -0
- package/dist/browser/components/index.d.cts.map +1 -0
- package/dist/browser/components/index.js +224 -5
- package/dist/browser/components/index.js.map +1 -1
- package/dist/browser/index.cjs +248 -0
- package/dist/browser/index.cjs.map +1 -0
- package/dist/browser/index.d.cts +2 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +224 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/types/images.d.cjs +2 -0
- package/dist/docs.json +1998 -0
- package/dist/node/components/CardContentEx.cjs +62 -0
- package/dist/node/components/CardContentEx.cjs.map +1 -0
- package/dist/node/components/CardContentEx.d.cts +11 -0
- package/dist/node/components/CardContentEx.d.cts.map +1 -0
- package/dist/node/components/CardContentEx.js +15 -38
- package/dist/node/components/CardContentEx.js.map +1 -1
- package/dist/node/components/CardEx.cjs +53 -0
- package/dist/node/components/CardEx.cjs.map +1 -0
- package/dist/node/components/CardEx.d.cts +8 -0
- package/dist/node/components/CardEx.d.cts.map +1 -0
- package/dist/node/components/CardEx.js +12 -36
- package/dist/node/components/CardEx.js.map +1 -1
- package/dist/node/components/FullWidthCard/FullWidthCard.cjs +97 -0
- package/dist/node/components/FullWidthCard/FullWidthCard.cjs.map +1 -0
- package/dist/node/components/FullWidthCard/FullWidthCard.d.cts +15 -0
- package/dist/node/components/FullWidthCard/FullWidthCard.d.cts.map +1 -0
- package/dist/node/components/FullWidthCard/FullWidthCard.js +28 -51
- package/dist/node/components/FullWidthCard/FullWidthCard.js.map +1 -1
- package/dist/node/components/FullWidthCard/index.cjs +99 -0
- package/dist/node/components/FullWidthCard/index.cjs.map +1 -0
- package/dist/node/components/FullWidthCard/index.d.cts +2 -0
- package/dist/node/components/FullWidthCard/index.d.cts.map +1 -0
- package/dist/node/components/FullWidthCard/index.js +70 -21
- package/dist/node/components/FullWidthCard/index.js.map +1 -1
- package/dist/node/components/PageCard.cjs +75 -0
- package/dist/node/components/PageCard.cjs.map +1 -0
- package/dist/node/components/PageCard.d.cts +10 -0
- package/dist/node/components/PageCard.d.cts.map +1 -0
- package/dist/node/components/PageCard.js +40 -39
- package/dist/node/components/PageCard.js.map +1 -1
- package/dist/node/components/SimpleCard/SimpleCard.cjs +124 -0
- package/dist/node/components/SimpleCard/SimpleCard.cjs.map +1 -0
- package/dist/node/components/SimpleCard/SimpleCard.d.cts +16 -0
- package/dist/node/components/SimpleCard/SimpleCard.d.cts.map +1 -0
- package/dist/node/components/SimpleCard/SimpleCard.js +51 -50
- package/dist/node/components/SimpleCard/SimpleCard.js.map +1 -1
- package/dist/node/components/SimpleCard/index.cjs +126 -0
- package/dist/node/components/SimpleCard/index.cjs.map +1 -0
- package/dist/node/components/SimpleCard/index.d.cts +2 -0
- package/dist/node/components/SimpleCard/index.d.cts.map +1 -0
- package/dist/node/components/SimpleCard/index.js +97 -21
- package/dist/node/components/SimpleCard/index.js.map +1 -1
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.cjs +133 -0
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.cjs.map +1 -0
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.d.cts +8 -0
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.d.cts.map +1 -0
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.js +104 -30
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.js.map +1 -1
- package/dist/node/components/SimpleCardGrid/index.cjs +135 -0
- package/dist/node/components/SimpleCardGrid/index.cjs.map +1 -0
- package/dist/node/components/SimpleCardGrid/index.d.cts +2 -0
- package/dist/node/components/SimpleCardGrid/index.d.cts.map +1 -0
- package/dist/node/components/SimpleCardGrid/index.js +106 -21
- package/dist/node/components/SimpleCardGrid/index.js.map +1 -1
- package/dist/node/components/index.cjs +259 -0
- package/dist/node/components/index.cjs.map +1 -0
- package/dist/node/components/index.d.cts +6 -0
- package/dist/node/components/index.d.cts.map +1 -0
- package/dist/node/components/index.js +222 -27
- package/dist/node/components/index.js.map +1 -1
- package/dist/node/index.cjs +259 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +2 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +222 -19
- package/dist/node/index.js.map +1 -1
- package/dist/node/types/images.d.cjs +2 -0
- package/dist/node/types/images.d.cjs.map +1 -0
- package/dist/node/types/images.d.js +0 -1
- package/package.json +16 -16
- package/dist/browser/components/CardContentEx.stories.js +0 -51
- package/dist/browser/components/CardContentEx.stories.js.map +0 -1
- package/dist/browser/components/FullWidthCard/FullWidthCard.stories.js +0 -27
- package/dist/browser/components/FullWidthCard/FullWidthCard.stories.js.map +0 -1
- package/dist/browser/components/PageCard.stories.js +0 -54
- package/dist/browser/components/PageCard.stories.js.map +0 -1
- package/dist/browser/components/SimpleCard/SimpleCard.stories.js +0 -76
- package/dist/browser/components/SimpleCard/SimpleCard.stories.js.map +0 -1
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.stories.js +0 -68
- package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.stories.js.map +0 -1
- package/dist/node/components/CardContentEx.mjs +0 -34
- package/dist/node/components/CardContentEx.stories.js +0 -77
- package/dist/node/components/CardContentEx.stories.js.map +0 -1
- package/dist/node/components/CardContentEx.stories.mjs +0 -51
- package/dist/node/components/CardContentEx.stories.mjs.map +0 -1
- package/dist/node/components/CardEx.mjs +0 -26
- package/dist/node/components/FullWidthCard/FullWidthCard.mjs +0 -71
- package/dist/node/components/FullWidthCard/FullWidthCard.stories.js +0 -51
- package/dist/node/components/FullWidthCard/FullWidthCard.stories.js.map +0 -1
- package/dist/node/components/FullWidthCard/FullWidthCard.stories.mjs +0 -27
- package/dist/node/components/FullWidthCard/FullWidthCard.stories.mjs.map +0 -1
- package/dist/node/components/FullWidthCard/index.mjs +0 -2
- package/dist/node/components/FullWidthCard/index.mjs.map +0 -1
- package/dist/node/components/PageCard.mjs +0 -25
- package/dist/node/components/PageCard.mjs.map +0 -1
- package/dist/node/components/PageCard.stories.js +0 -80
- package/dist/node/components/PageCard.stories.js.map +0 -1
- package/dist/node/components/PageCard.stories.mjs +0 -54
- package/dist/node/components/PageCard.stories.mjs.map +0 -1
- package/dist/node/components/SimpleCard/SimpleCard.mjs +0 -74
- package/dist/node/components/SimpleCard/SimpleCard.mjs.map +0 -1
- package/dist/node/components/SimpleCard/SimpleCard.stories.js +0 -115
- package/dist/node/components/SimpleCard/SimpleCard.stories.js.map +0 -1
- package/dist/node/components/SimpleCard/SimpleCard.stories.mjs +0 -76
- package/dist/node/components/SimpleCard/SimpleCard.stories.mjs.map +0 -1
- package/dist/node/components/SimpleCard/index.mjs +0 -2
- package/dist/node/components/SimpleCard/index.mjs.map +0 -1
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.mjs +0 -10
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.mjs.map +0 -1
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.js +0 -102
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.js.map +0 -1
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.mjs +0 -68
- package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.mjs.map +0 -1
- package/dist/node/components/SimpleCardGrid/index.mjs +0 -2
- package/dist/node/components/SimpleCardGrid/index.mjs.map +0 -1
- package/dist/node/components/index.mjs +0 -6
- package/dist/node/components/index.mjs.map +0 -1
- package/dist/node/index.mjs +0 -2
- package/dist/node/index.mjs.map +0 -1
- package/dist/node/types/images.d.mjs +0 -1
- /package/dist/{node/types/images.d.mjs.map → browser/types/images.d.cjs.map} +0 -0
@@ -1,2 +1,72 @@
|
|
1
|
-
|
1
|
+
// src/components/FullWidthCard/FullWidthCard.tsx
|
2
|
+
import { ArrowForwardRounded as ArrowForwardRoundedIcon } from "@mui/icons-material";
|
3
|
+
import { alpha, Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom } from "@mui/material";
|
4
|
+
import { FlexGrowCol } from "@xylabs/react-flexbox";
|
5
|
+
import { useIsMobile } from "@xyo-network/react-shared";
|
6
|
+
import { useState } from "react";
|
7
|
+
import { useNavigate } from "react-router-dom";
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
9
|
+
var FullWidthCard = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {
|
10
|
+
const theme = useTheme();
|
11
|
+
const [raised, setRaised] = useState(false);
|
12
|
+
const navigate = useNavigate();
|
13
|
+
const isMobile = useIsMobile();
|
14
|
+
const localRouteChange = (to2) => {
|
15
|
+
to2 ? navigate(to2) : navigate("/404");
|
16
|
+
};
|
17
|
+
const externalRouteChange = (href2) => {
|
18
|
+
href2 ? window.open(href2) : navigate("/404");
|
19
|
+
};
|
20
|
+
return /* @__PURE__ */ jsxs(
|
21
|
+
Card,
|
22
|
+
{
|
23
|
+
elevation: raised ? 3 : 0,
|
24
|
+
style: { height: "100%", width: "100%" },
|
25
|
+
...props,
|
26
|
+
sx: {
|
27
|
+
"&:hover": {
|
28
|
+
cursor: "pointer"
|
29
|
+
},
|
30
|
+
backgroundColor: alpha(theme.palette.primary.light, 0.05)
|
31
|
+
},
|
32
|
+
onMouseEnter: () => isMobile ? null : cardIsButton ? setRaised(true) : null,
|
33
|
+
onMouseLeave: () => isMobile ? null : cardIsButton ? setRaised(false) : null,
|
34
|
+
onClick: () => cardIsButton ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
|
35
|
+
children: [
|
36
|
+
media ? /* @__PURE__ */ jsx(CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
|
37
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs(Grid, { container: true, alignItems: "center", paddingY: 2, paddingX: 2, children: [
|
38
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 6, children: typeof name === "string" ? /* @__PURE__ */ jsx(Typography, { fontWeight: 700, variant: "h2", textAlign: "left", paddingBottom: 1, children: name }) : name }),
|
39
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 5, children: /* @__PURE__ */ jsx(Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: desc }) }),
|
40
|
+
/* @__PURE__ */ jsx(Grid, { item: true, xs: 1, display: isMobile ? "none" : "flex", justifyContent: "center", children: /* @__PURE__ */ jsx(Zoom, { in: raised, children: /* @__PURE__ */ jsx(
|
41
|
+
IconButton,
|
42
|
+
{
|
43
|
+
color: "primary",
|
44
|
+
size: small ? "small" : "medium",
|
45
|
+
onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
|
46
|
+
disableFocusRipple: true,
|
47
|
+
disableRipple: true,
|
48
|
+
disableTouchRipple: true,
|
49
|
+
children: /* @__PURE__ */ jsx(ArrowForwardRoundedIcon, { fontSize: small ? "small" : "medium" })
|
50
|
+
}
|
51
|
+
) }) })
|
52
|
+
] }) }),
|
53
|
+
/* @__PURE__ */ jsx(CardActions, { sx: { display: { md: isMobile ? "flex" : "none" } }, children: /* @__PURE__ */ jsx(FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ jsx(
|
54
|
+
IconButton,
|
55
|
+
{
|
56
|
+
color: "primary",
|
57
|
+
size: small ? "small" : "medium",
|
58
|
+
onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
|
59
|
+
disableFocusRipple: true,
|
60
|
+
disableRipple: true,
|
61
|
+
disableTouchRipple: true,
|
62
|
+
children: /* @__PURE__ */ jsx(ArrowForwardRoundedIcon, { fontSize: small ? "small" : "medium" })
|
63
|
+
}
|
64
|
+
) }) })
|
65
|
+
]
|
66
|
+
}
|
67
|
+
);
|
68
|
+
};
|
69
|
+
export {
|
70
|
+
FullWidthCard
|
71
|
+
};
|
2
72
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/FullWidthCard/
|
1
|
+
{"version":3,"sources":["../../../../src/components/FullWidthCard/FullWidthCard.tsx"],"sourcesContent":["import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n"],"mappings":"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","names":["to","href"]}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
|
20
|
+
// src/components/PageCard.tsx
|
21
|
+
var PageCard_exports = {};
|
22
|
+
__export(PageCard_exports, {
|
23
|
+
PageCard: () => PageCard
|
24
|
+
});
|
25
|
+
module.exports = __toCommonJS(PageCard_exports);
|
26
|
+
var import_icons_material = require("@mui/icons-material");
|
27
|
+
var import_material2 = require("@mui/material");
|
28
|
+
var import_react_shared2 = require("@xyo-network/react-shared");
|
29
|
+
var import_react2 = require("react");
|
30
|
+
|
31
|
+
// src/components/CardEx.tsx
|
32
|
+
var import_material = require("@mui/material");
|
33
|
+
var import_react_shared = require("@xyo-network/react-shared");
|
34
|
+
var import_react = require("react");
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
36
|
+
var CardExWithRef = (0, import_react.forwardRef)(({ style, gradient, ...props }, ref) => {
|
37
|
+
const { styles } = (0, import_react_shared.useGradientStyles)();
|
38
|
+
const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
|
39
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
40
|
+
import_material.Card,
|
41
|
+
{
|
42
|
+
style: {
|
43
|
+
...gradientStyle,
|
44
|
+
...style
|
45
|
+
},
|
46
|
+
ref,
|
47
|
+
...props
|
48
|
+
}
|
49
|
+
);
|
50
|
+
});
|
51
|
+
CardExWithRef.displayName = "CardEx";
|
52
|
+
var CardEx = CardExWithRef;
|
53
|
+
|
54
|
+
// src/components/PageCard.tsx
|
55
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
56
|
+
var PageCardWithRef = (0, import_react2.forwardRef)(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {
|
57
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(CardEx, { style: { backgroundColor: "transparent", position: "relative", ...style }, elevation: 0, ref, ...props, children: [
|
58
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
59
|
+
import_material2.CardHeader,
|
60
|
+
{
|
61
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_shared2.TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
|
62
|
+
subheader: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_shared2.TypographyEx, { variant: "subtitle1", children: subheader }),
|
63
|
+
action: action ? action : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.IconButton, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material.Refresh, {}) }) : null })
|
64
|
+
}
|
65
|
+
),
|
66
|
+
children
|
67
|
+
] });
|
68
|
+
});
|
69
|
+
PageCardWithRef.displayName = "PageCard";
|
70
|
+
var PageCard = PageCardWithRef;
|
71
|
+
//# sourceMappingURL=PageCard.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PageCard.tsx","../../../src/components/CardEx.tsx"],"sourcesContent":["import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAuC;AACvC,IAAAA,mBAAwD;AACxD,IAAAC,uBAA6B;AAC7B,IAAAC,gBAAsC;;;ACHtC,sBAAgC;AAChC,0BAAkC;AAClC,mBAA2B;AAUvB;AAJG,IAAM,oBAAuC,yBAAW,CAAC,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ;AACrG,QAAM,EAAE,OAAO,QAAI,uCAAkB;AACrC,QAAM,gBAAgB,aAAa,WAAW,OAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC;AAC/G,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,cAAc,cAAc;AAErB,IAAM,SAAS;;;ADVlB,IAAAC,sBAAA;AAFJ,IAAM,sBAA2C,0BAAW,CAAC,EAAE,WAAW,OAAO,WAAW,UAAU,QAAQ,OAAO,GAAG,MAAM,GAAG,QAAQ;AACvI,SACE,8CAAC,UAAO,OAAO,EAAE,iBAAiB,eAAe,UAAU,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,KAAW,GAAG,OAC7G;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OACE,6CAAC,qCAAa,SAAQ,MAAK,cAAY,MACpC,iBACH;AAAA,QAEF,WAAW,6CAAC,qCAAa,SAAQ,aAAa,qBAAU;AAAA,QACxD,QACE,SACE,SAEA,6EACG,sBACC,6CAAC,+BAAW,SAAS,MAAM,YAAY,GACrC,uDAAC,sBAAAC,SAAA,EAAY,GACf,IACE,MACN;AAAA;AAAA,IAGN;AAAA,IACC;AAAA,KACH;AAEJ,CAAC;AAED,gBAAgB,cAAc;AAEvB,IAAM,WAAW;","names":["import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { CardHeaderProps } from '@mui/material';
|
2
|
+
import { ReactNode } from 'react';
|
3
|
+
import { CardExProps } from './CardEx';
|
4
|
+
export interface PageCardProps extends CardExProps {
|
5
|
+
action?: ReactNode;
|
6
|
+
onRefresh?: () => void;
|
7
|
+
subheader?: CardHeaderProps['subheader'];
|
8
|
+
}
|
9
|
+
export declare const PageCard: import("react").FC<PageCardProps>;
|
10
|
+
//# sourceMappingURL=PageCard.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
|
@@ -1,24 +1,49 @@
|
|
1
|
-
|
1
|
+
// src/components/PageCard.tsx
|
2
2
|
import { Refresh as RefreshIcon } from "@mui/icons-material";
|
3
3
|
import { CardHeader, IconButton } from "@mui/material";
|
4
4
|
import { TypographyEx } from "@xyo-network/react-shared";
|
5
|
+
import { forwardRef as forwardRef2 } from "react";
|
6
|
+
|
7
|
+
// src/components/CardEx.tsx
|
8
|
+
import { Card } from "@mui/material";
|
9
|
+
import { useGradientStyles } from "@xyo-network/react-shared";
|
5
10
|
import { forwardRef } from "react";
|
6
|
-
import {
|
7
|
-
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
12
|
+
var CardExWithRef = forwardRef(({ style, gradient, ...props }, ref) => {
|
13
|
+
const { styles } = useGradientStyles();
|
14
|
+
const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
|
15
|
+
return /* @__PURE__ */ jsx(
|
16
|
+
Card,
|
17
|
+
{
|
18
|
+
style: {
|
19
|
+
...gradientStyle,
|
20
|
+
...style
|
21
|
+
},
|
22
|
+
ref,
|
23
|
+
...props
|
24
|
+
}
|
25
|
+
);
|
26
|
+
});
|
27
|
+
CardExWithRef.displayName = "CardEx";
|
28
|
+
var CardEx = CardExWithRef;
|
29
|
+
|
30
|
+
// src/components/PageCard.tsx
|
31
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
32
|
+
var PageCardWithRef = forwardRef2(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {
|
8
33
|
return /* @__PURE__ */ jsxs(CardEx, { style: { backgroundColor: "transparent", position: "relative", ...style }, elevation: 0, ref, ...props, children: [
|
9
|
-
/* @__PURE__ */
|
34
|
+
/* @__PURE__ */ jsx2(
|
10
35
|
CardHeader,
|
11
36
|
{
|
12
|
-
title: /* @__PURE__ */
|
13
|
-
subheader: /* @__PURE__ */
|
14
|
-
action: action ? action : /* @__PURE__ */
|
37
|
+
title: /* @__PURE__ */ jsx2(TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
|
38
|
+
subheader: /* @__PURE__ */ jsx2(TypographyEx, { variant: "subtitle1", children: subheader }),
|
39
|
+
action: action ? action : /* @__PURE__ */ jsx2(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx2(IconButton, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ jsx2(RefreshIcon, {}) }) : null })
|
15
40
|
}
|
16
41
|
),
|
17
42
|
children
|
18
43
|
] });
|
19
44
|
});
|
20
45
|
PageCardWithRef.displayName = "PageCard";
|
21
|
-
|
46
|
+
var PageCard = PageCardWithRef;
|
22
47
|
export {
|
23
48
|
PageCard
|
24
49
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PageCard.tsx"],"sourcesContent":["import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/components/PageCard.tsx","../../../src/components/CardEx.tsx"],"sourcesContent":["import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n"],"mappings":";AAAA,SAAS,WAAW,mBAAmB;AACvC,SAAS,YAA6B,kBAAkB;AACxD,SAAS,oBAAoB;AAC7B,SAAS,cAAAA,mBAA6B;;;ACHtC,SAAS,YAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAUvB;AAJG,IAAM,gBAAuC,WAAW,CAAC,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ;AACrG,QAAM,EAAE,OAAO,IAAI,kBAAkB;AACrC,QAAM,gBAAgB,aAAa,WAAW,OAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC;AAC/G,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,cAAc,cAAc;AAErB,IAAM,SAAS;;;ADVlB,SAYQ,UATF,OAAAC,MAHN;AAFJ,IAAM,kBAA2CC,YAAW,CAAC,EAAE,WAAW,OAAO,WAAW,UAAU,QAAQ,OAAO,GAAG,MAAM,GAAG,QAAQ;AACvI,SACE,qBAAC,UAAO,OAAO,EAAE,iBAAiB,eAAe,UAAU,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,KAAW,GAAG,OAC7G;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,OACE,gBAAAA,KAAC,gBAAa,SAAQ,MAAK,cAAY,MACpC,iBACH;AAAA,QAEF,WAAW,gBAAAA,KAAC,gBAAa,SAAQ,aAAa,qBAAU;AAAA,QACxD,QACE,SACE,SAEA,gBAAAA,KAAA,YACG,sBACC,gBAAAA,KAAC,cAAW,SAAS,MAAM,YAAY,GACrC,0BAAAA,KAAC,eAAY,GACf,IACE,MACN;AAAA;AAAA,IAGN;AAAA,IACC;AAAA,KACH;AAEJ,CAAC;AAED,gBAAgB,cAAc;AAEvB,IAAM,WAAW;","names":["forwardRef","jsx","forwardRef"]}
|
@@ -0,0 +1,120 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
|
20
|
+
// src/components/SimpleCard/SimpleCard.tsx
|
21
|
+
var SimpleCard_exports = {};
|
22
|
+
__export(SimpleCard_exports, {
|
23
|
+
SimpleCard: () => SimpleCard
|
24
|
+
});
|
25
|
+
module.exports = __toCommonJS(SimpleCard_exports);
|
26
|
+
var import_icons_material = require("@mui/icons-material");
|
27
|
+
var import_material2 = require("@mui/material");
|
28
|
+
var import_react_flexbox = require("@xylabs/react-flexbox");
|
29
|
+
var import_react_shared2 = require("@xyo-network/react-shared");
|
30
|
+
var import_react2 = require("react");
|
31
|
+
var import_react_router_dom = require("react-router-dom");
|
32
|
+
|
33
|
+
// src/components/CardEx.tsx
|
34
|
+
var import_material = require("@mui/material");
|
35
|
+
var import_react_shared = require("@xyo-network/react-shared");
|
36
|
+
var import_react = require("react");
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
38
|
+
var CardExWithRef = (0, import_react.forwardRef)(({ style, gradient, ...props }, ref) => {
|
39
|
+
const { styles } = (0, import_react_shared.useGradientStyles)();
|
40
|
+
const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
|
41
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
42
|
+
import_material.Card,
|
43
|
+
{
|
44
|
+
style: {
|
45
|
+
...gradientStyle,
|
46
|
+
...style
|
47
|
+
},
|
48
|
+
ref,
|
49
|
+
...props
|
50
|
+
}
|
51
|
+
);
|
52
|
+
});
|
53
|
+
CardExWithRef.displayName = "CardEx";
|
54
|
+
var CardEx = CardExWithRef;
|
55
|
+
|
56
|
+
// src/components/SimpleCard/SimpleCard.tsx
|
57
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
58
|
+
var SimpleCard = ({
|
59
|
+
desc,
|
60
|
+
iconImage,
|
61
|
+
interactionVariant = "card",
|
62
|
+
headline,
|
63
|
+
href,
|
64
|
+
media,
|
65
|
+
small,
|
66
|
+
subtitle,
|
67
|
+
sx,
|
68
|
+
to,
|
69
|
+
...props
|
70
|
+
}) => {
|
71
|
+
const theme = (0, import_material2.useTheme)();
|
72
|
+
const [raised, setRaised] = (0, import_react2.useState)(false);
|
73
|
+
const navigate = (0, import_react_router_dom.useNavigate)();
|
74
|
+
const isMobile = (0, import_react_shared2.useIsMobile)();
|
75
|
+
const localRouteChange = (to2) => {
|
76
|
+
to2 ? navigate(to2) : navigate("/404");
|
77
|
+
};
|
78
|
+
const externalRouteChange = (href2) => {
|
79
|
+
href2 ? window.open(href2) : navigate("/404");
|
80
|
+
};
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
82
|
+
CardEx,
|
83
|
+
{
|
84
|
+
elevation: raised ? 3 : 0,
|
85
|
+
sx: {
|
86
|
+
"&:hover": {
|
87
|
+
cursor: interactionVariant == "button" ? "pointer" : null
|
88
|
+
},
|
89
|
+
backgroundColor: (0, import_material2.alpha)(theme.palette.primary.light, 0.05),
|
90
|
+
...sx
|
91
|
+
},
|
92
|
+
onMouseEnter: () => isMobile ? null : interactionVariant == "button" ? setRaised(true) : null,
|
93
|
+
onMouseLeave: () => isMobile ? null : interactionVariant == "button" ? setRaised(false) : null,
|
94
|
+
onClick: () => interactionVariant == "button" ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
|
95
|
+
...props,
|
96
|
+
children: [
|
97
|
+
media ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
|
98
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.CardContent, { sx: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexCol, { width: "100%", alignItems: "flex-start", children: [
|
99
|
+
iconImage ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("img", { src: iconImage, height: "40px", style: { paddingBottom: "8px" } }) : null,
|
100
|
+
typeof headline === "string" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: small ? "body1" : "h6", textAlign: "left", gutterBottom: true, children: headline }) : headline,
|
101
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: "subtitle2", textAlign: "left", gutterBottom: true, children: subtitle }) : null,
|
102
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Typography, { variant: small ? "caption" : "body1", textAlign: "left", gutterBottom: true, children: desc })
|
103
|
+
] }) }),
|
104
|
+
interactionVariant == "button" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.CardActions, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox.FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
105
|
+
import_material2.IconButton,
|
106
|
+
{
|
107
|
+
color: raised ? "secondary" : "primary",
|
108
|
+
size: small ? "small" : "medium",
|
109
|
+
onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
|
110
|
+
disableFocusRipple: true,
|
111
|
+
disableRipple: true,
|
112
|
+
disableTouchRipple: true,
|
113
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_icons_material.ArrowForwardRounded, { fontSize: small ? "small" : "medium" })
|
114
|
+
}
|
115
|
+
) }) }) : null
|
116
|
+
]
|
117
|
+
}
|
118
|
+
);
|
119
|
+
};
|
120
|
+
//# sourceMappingURL=SimpleCard.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SimpleCard/SimpleCard.tsx","../../../../src/components/CardEx.tsx"],"sourcesContent":["import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n"],"mappings":"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","names":["import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { ReactNode } from 'react';
|
2
|
+
import { To } from 'react-router-dom';
|
3
|
+
import { CardExProps } from '../CardEx';
|
4
|
+
export interface SimpleCardProps extends CardExProps {
|
5
|
+
desc?: ReactNode;
|
6
|
+
headline?: ReactNode;
|
7
|
+
href?: string;
|
8
|
+
iconImage?: string;
|
9
|
+
interactionVariant?: 'button' | 'card';
|
10
|
+
media?: string;
|
11
|
+
small?: boolean;
|
12
|
+
subtitle?: string;
|
13
|
+
to?: To;
|
14
|
+
}
|
15
|
+
export declare const SimpleCard: React.FC<SimpleCardProps>;
|
16
|
+
//# sourceMappingURL=SimpleCard.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SimpleCard.d.ts","sourceRoot":"","sources":["../../../../src/components/SimpleCard/SimpleCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAU,WAAW,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,EAAE,CAAA;CACR;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8EhD,CAAA"}
|
@@ -1,12 +1,37 @@
|
|
1
|
-
|
1
|
+
// src/components/SimpleCard/SimpleCard.tsx
|
2
2
|
import { ArrowForwardRounded as ArrowForwardRoundedIcon } from "@mui/icons-material";
|
3
3
|
import { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from "@mui/material";
|
4
4
|
import { FlexCol, FlexGrowCol } from "@xylabs/react-flexbox";
|
5
5
|
import { useIsMobile } from "@xyo-network/react-shared";
|
6
6
|
import { useState } from "react";
|
7
7
|
import { useNavigate } from "react-router-dom";
|
8
|
-
|
9
|
-
|
8
|
+
|
9
|
+
// src/components/CardEx.tsx
|
10
|
+
import { Card } from "@mui/material";
|
11
|
+
import { useGradientStyles } from "@xyo-network/react-shared";
|
12
|
+
import { forwardRef } from "react";
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
14
|
+
var CardExWithRef = forwardRef(({ style, gradient, ...props }, ref) => {
|
15
|
+
const { styles } = useGradientStyles();
|
16
|
+
const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
|
17
|
+
return /* @__PURE__ */ jsx(
|
18
|
+
Card,
|
19
|
+
{
|
20
|
+
style: {
|
21
|
+
...gradientStyle,
|
22
|
+
...style
|
23
|
+
},
|
24
|
+
ref,
|
25
|
+
...props
|
26
|
+
}
|
27
|
+
);
|
28
|
+
});
|
29
|
+
CardExWithRef.displayName = "CardEx";
|
30
|
+
var CardEx = CardExWithRef;
|
31
|
+
|
32
|
+
// src/components/SimpleCard/SimpleCard.tsx
|
33
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
34
|
+
var SimpleCard = ({
|
10
35
|
desc,
|
11
36
|
iconImage,
|
12
37
|
interactionVariant = "card",
|
@@ -45,14 +70,14 @@ const SimpleCard = ({
|
|
45
70
|
onClick: () => interactionVariant == "button" ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
|
46
71
|
...props,
|
47
72
|
children: [
|
48
|
-
media ? /* @__PURE__ */
|
49
|
-
/* @__PURE__ */
|
50
|
-
iconImage ? /* @__PURE__ */
|
51
|
-
typeof headline === "string" ? /* @__PURE__ */
|
52
|
-
subtitle ? /* @__PURE__ */
|
53
|
-
/* @__PURE__ */
|
73
|
+
media ? /* @__PURE__ */ jsx2(CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
|
74
|
+
/* @__PURE__ */ jsx2(CardContent, { sx: { height: "100%" }, children: /* @__PURE__ */ jsxs(FlexCol, { width: "100%", alignItems: "flex-start", children: [
|
75
|
+
iconImage ? /* @__PURE__ */ jsx2("img", { src: iconImage, height: "40px", style: { paddingBottom: "8px" } }) : null,
|
76
|
+
typeof headline === "string" ? /* @__PURE__ */ jsx2(Typography, { variant: small ? "body1" : "h6", textAlign: "left", gutterBottom: true, children: headline }) : headline,
|
77
|
+
subtitle ? /* @__PURE__ */ jsx2(Typography, { variant: "subtitle2", textAlign: "left", gutterBottom: true, children: subtitle }) : null,
|
78
|
+
/* @__PURE__ */ jsx2(Typography, { variant: small ? "caption" : "body1", textAlign: "left", gutterBottom: true, children: desc })
|
54
79
|
] }) }),
|
55
|
-
interactionVariant == "button" ? /* @__PURE__ */
|
80
|
+
interactionVariant == "button" ? /* @__PURE__ */ jsx2(CardActions, { children: /* @__PURE__ */ jsx2(FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ jsx2(
|
56
81
|
IconButton,
|
57
82
|
{
|
58
83
|
color: raised ? "secondary" : "primary",
|
@@ -61,7 +86,7 @@ const SimpleCard = ({
|
|
61
86
|
disableFocusRipple: true,
|
62
87
|
disableRipple: true,
|
63
88
|
disableTouchRipple: true,
|
64
|
-
children: /* @__PURE__ */
|
89
|
+
children: /* @__PURE__ */ jsx2(ArrowForwardRoundedIcon, { fontSize: small ? "small" : "medium" })
|
65
90
|
}
|
66
91
|
) }) }) : null
|
67
92
|
]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../../src/components/SimpleCard/SimpleCard.tsx","../../../../src/components/CardEx.tsx"],"sourcesContent":["import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n"],"mappings":"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","names":["jsx","to","href"]}
|