@xyo-network/react-card 5.2.1 → 5.2.3
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/browser/index.mjs
CHANGED
@@ -66,9 +66,9 @@ var CardEx = CardExWithRef;
|
|
66
66
|
|
67
67
|
// src/components/FullWidthCard/FullWidthCard.tsx
|
68
68
|
import { ArrowForwardRounded as ArrowForwardRoundedIcon } from "@mui/icons-material";
|
69
|
-
import {
|
69
|
+
import { Card as Card2, CardActions, CardContent as CardContent2, CardMedia, Grid, IconButton, Typography, useTheme, Zoom } from "@mui/material";
|
70
70
|
import { FlexGrowCol } from "@xylabs/react-flexbox";
|
71
|
-
import { useIsSmall } from "@xylabs/react-theme";
|
71
|
+
import { alphaCss, useIsSmall } from "@xylabs/react-theme";
|
72
72
|
import React3, { useState } from "react";
|
73
73
|
import { useNavigate } from "react-router-dom";
|
74
74
|
var FullWidthCard = /* @__PURE__ */ __name(({ cardIsButton, desc, href, media, name, small, to, ...props }) => {
|
@@ -93,7 +93,7 @@ var FullWidthCard = /* @__PURE__ */ __name(({ cardIsButton, desc, href, media, n
|
|
93
93
|
"&:hover": {
|
94
94
|
cursor: "pointer"
|
95
95
|
},
|
96
|
-
"backgroundColor":
|
96
|
+
"backgroundColor": alphaCss(theme.vars.palette.primary.light, 0.05)
|
97
97
|
},
|
98
98
|
onMouseEnter: /* @__PURE__ */ __name(() => isMobile ? null : cardIsButton ? setRaised(true) : null, "onMouseEnter"),
|
99
99
|
onMouseLeave: /* @__PURE__ */ __name(() => isMobile ? null : cardIsButton ? setRaised(false) : null, "onMouseLeave"),
|
@@ -197,9 +197,9 @@ var PageCard = PageCardWithRef;
|
|
197
197
|
|
198
198
|
// src/components/SimpleCard/SimpleCard.tsx
|
199
199
|
import { ArrowForwardRounded as ArrowForwardRoundedIcon2 } from "@mui/icons-material";
|
200
|
-
import {
|
200
|
+
import { CardActions as CardActions2, CardContent as CardContent3, CardMedia as CardMedia2, IconButton as IconButton3, Typography as Typography2, useTheme as useTheme2 } from "@mui/material";
|
201
201
|
import { FlexCol, FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
202
|
-
import { useIsSmall as useIsSmall2 } from "@xylabs/react-theme";
|
202
|
+
import { alphaCss as alphaCss2, useIsSmall as useIsSmall2 } from "@xylabs/react-theme";
|
203
203
|
import React5, { useState as useState2 } from "react";
|
204
204
|
import { useNavigate as useNavigate2 } from "react-router-dom";
|
205
205
|
var SimpleCard = /* @__PURE__ */ __name(({ children, desc, iconImage, interactionVariant = "card", headline, href, media, small, subtitle, sx, to, ...props }) => {
|
@@ -219,7 +219,7 @@ var SimpleCard = /* @__PURE__ */ __name(({ children, desc, iconImage, interactio
|
|
219
219
|
"&:hover": {
|
220
220
|
cursor: interactionVariant == "button" ? "pointer" : null
|
221
221
|
},
|
222
|
-
"backgroundColor":
|
222
|
+
"backgroundColor": alphaCss2(theme.vars.palette.primary.light, 0.05),
|
223
223
|
...sx
|
224
224
|
},
|
225
225
|
onMouseEnter: /* @__PURE__ */ __name(() => isSmall ? null : interactionVariant == "button" ? setRaised(true) : null, "onMouseEnter"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["import type { CardContentProps } from '@mui/material'\nimport { CardContent, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport React, { useEffect } from 'react'\n\nconst CardContentExRoot = styled(CardContent, {\n name: 'CardContentEx',\n shouldForwardProp: (prop: string) => !['variant', 'removePadding'].includes(prop),\n slot: 'Root',\n})<CardContentExProps>(({ variant, removePadding }) => ({\n ...((variant === 'scrollable' || removePadding) && {\n [':last-child']: { paddingBottom: 0 },\n overflow: 'auto',\n paddingTop: 0,\n ...(removePadding && { padding: 0 }),\n }),\n}))\n\nexport type CardContentExProps = CardContentProps & {\n refreshRef?: number\n removePadding?: boolean\n scrollToTop?: number\n variant?: 'scrollable' | 'normal'\n}\n\nexport const CardContentExWithRef = ({\n ref, scrollToTop = 0, refreshRef = 0, ...props\n}: CardContentExProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n const sharedRef = useShareForwardedRef<HTMLDivElement>(ref, refreshRef)\n\n useEffect(() => {\n if (sharedRef && scrollToTop) {\n sharedRef.current?.scroll({ behavior: 'smooth', top: 0 })\n }\n }, [sharedRef, scrollToTop])\n\n return <CardContentExRoot ref={sharedRef} {...props} />\n}\n\nCardContentExWithRef.displayName = 'CardContentEx'\n\nexport const CardContentEx = CardContentExWithRef\n","import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface CardExProps extends CardProps {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef = ({\n ref, style, gradient, ...props\n}: CardExProps) => {\n const styles = useGradientStyles()\n const gradientStyle\n = gradient === 'border'\n ? styles.border\n : gradient === 'background'\n ? styles.background\n : {}\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","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport type { CardProps } from '@mui/material'\nimport {\n alpha, Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom,\n} from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsSmall } from '@xylabs/react-theme'\nimport type { ReactNode } from 'react'\nimport React, { useState } from 'react'\nimport type { To } from 'react-router-dom'\nimport { 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> = ({\n cardIsButton, desc, href, media, name, small, to, ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsSmall()\n\n const localRouteChange = (to: To | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? void navigate(to) : void navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n href ? void window.open(href) : void 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': { cursor: 'pointer' },\n 'backgroundColor': alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() =>\n isMobile\n ? null\n : cardIsButton\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isMobile\n ? null\n : cardIsButton\n ? setRaised(false)\n : null}\n onClick={() =>\n cardIsButton\n ? href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')\n : null}\n >\n {media\n ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" />\n : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid size={{ xs: 12, md: 6 }}>\n {typeof name === 'string'\n ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n )\n : name}\n </Grid>\n <Grid size={{ xs: 12, md: 5 }}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid size={{ xs: 1 }} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : 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={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : 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","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport type { CardHeaderProps } from '@mui/material'\nimport { CardHeader, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { CardExProps } from './CardEx.tsx'\nimport { CardEx } from './CardEx.tsx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef = ({\n ref, subheader, title, onRefresh, children, action, style, ...props\n}: PageCardProps) => {\n return (\n <CardEx\n style={{\n backgroundColor: 'transparent', position: 'relative', ...style,\n }}\n elevation={0}\n ref={ref}\n {...props}\n >\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 <>\n {onRefresh\n ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n )\n : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n}\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport {\n alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme,\n} from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsSmall } from '@xylabs/react-theme'\nimport type { ReactNode } from 'react'\nimport React, { useState } from 'react'\nimport type { To } from 'react-router-dom'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { CardExProps } from '../CardEx.tsx'\nimport { CardEx } from '../CardEx.tsx'\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 children,\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 isSmall = useIsSmall()\n const localRouteChange = (to: To | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? void navigate(to) : void navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n href ? void window.open(href) : void navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': { cursor: interactionVariant == 'button' ? 'pointer' : null },\n 'backgroundColor': alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() =>\n isSmall\n ? null\n : interactionVariant == 'button'\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isSmall\n ? null\n : interactionVariant == 'button'\n ? setRaised(false)\n : null}\n onClick={() =>\n interactionVariant == 'button'\n ? href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')\n : null}\n {...props}\n >\n {media\n ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" />\n : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage\n ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} />\n : null}\n {typeof headline === 'string'\n ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n )\n : headline}\n {subtitle\n ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n )\n : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {children}\n {interactionVariant == 'button'\n ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n )\n : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["CardContent","styled","useShareForwardedRef","React","useEffect","CardContentExRoot","styled","CardContent","name","shouldForwardProp","prop","includes","slot","variant","removePadding","paddingBottom","overflow","paddingTop","padding","CardContentExWithRef","ref","scrollToTop","refreshRef","props","sharedRef","useShareForwardedRef","useEffect","current","scroll","behavior","top","displayName","CardContentEx","Card","useGradientStyles","React","CardExWithRef","ref","style","gradient","props","styles","useGradientStyles","gradientStyle","border","background","React","Card","displayName","CardEx","ArrowForwardRounded","ArrowForwardRoundedIcon","alpha","Card","CardActions","CardContent","CardMedia","Grid","IconButton","Typography","useTheme","Zoom","FlexGrowCol","useIsSmall","React","useState","useNavigate","FullWidthCard","cardIsButton","desc","href","media","name","small","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsSmall","localRouteChange","externalRouteChange","window","open","React","Card","elevation","style","height","width","sx","cursor","alpha","palette","primary","light","onMouseEnter","onMouseLeave","onClick","CardMedia","component","image","alt","CardContent","Grid","container","alignItems","paddingY","paddingX","size","xs","md","Typography","fontWeight","variant","textAlign","paddingBottom","display","justifyContent","Zoom","in","IconButton","color","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize","CardActions","FlexGrowCol","Refresh","RefreshIcon","CardHeader","IconButton","TypographyEx","React","PageCardWithRef","ref","subheader","title","onRefresh","children","action","style","props","React","CardEx","backgroundColor","position","elevation","CardHeader","TypographyEx","variant","gutterBottom","IconButton","onClick","RefreshIcon","displayName","PageCard","ArrowForwardRounded","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexCol","FlexGrowCol","useIsSmall","React","useState","useNavigate","SimpleCard","children","desc","iconImage","interactionVariant","headline","href","media","small","subtitle","sx","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isSmall","useIsSmall","localRouteChange","externalRouteChange","window","open","React","CardEx","elevation","cursor","alpha","palette","primary","light","onMouseEnter","onMouseLeave","onClick","CardMedia","component","height","image","alt","CardContent","FlexCol","width","alignItems","img","src","style","paddingBottom","Typography","variant","textAlign","gutterBottom","CardActions","FlexGrowCol","IconButton","color","size","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize"]}
|
1
|
+
{"version":3,"sources":["../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["import type { CardContentProps } from '@mui/material'\nimport { CardContent, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport React, { useEffect } from 'react'\n\nconst CardContentExRoot = styled(CardContent, {\n name: 'CardContentEx',\n shouldForwardProp: (prop: string) => !['variant', 'removePadding'].includes(prop),\n slot: 'Root',\n})<CardContentExProps>(({ variant, removePadding }) => ({\n ...((variant === 'scrollable' || removePadding) && {\n [':last-child']: { paddingBottom: 0 },\n overflow: 'auto',\n paddingTop: 0,\n ...(removePadding && { padding: 0 }),\n }),\n}))\n\nexport type CardContentExProps = CardContentProps & {\n refreshRef?: number\n removePadding?: boolean\n scrollToTop?: number\n variant?: 'scrollable' | 'normal'\n}\n\nexport const CardContentExWithRef = ({\n ref, scrollToTop = 0, refreshRef = 0, ...props\n}: CardContentExProps & { ref?: React.RefObject<HTMLDivElement | null> }) => {\n const sharedRef = useShareForwardedRef<HTMLDivElement>(ref, refreshRef)\n\n useEffect(() => {\n if (sharedRef && scrollToTop) {\n sharedRef.current?.scroll({ behavior: 'smooth', top: 0 })\n }\n }, [sharedRef, scrollToTop])\n\n return <CardContentExRoot ref={sharedRef} {...props} />\n}\n\nCardContentExWithRef.displayName = 'CardContentEx'\n\nexport const CardContentEx = CardContentExWithRef\n","import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface CardExProps extends CardProps {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef = ({\n ref, style, gradient, ...props\n}: CardExProps) => {\n const styles = useGradientStyles()\n const gradientStyle\n = gradient === 'border'\n ? styles.border\n : gradient === 'background'\n ? styles.background\n : {}\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","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport type { CardProps } from '@mui/material'\nimport {\n Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom,\n} from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { alphaCss, useIsSmall } from '@xylabs/react-theme'\nimport type { ReactNode } from 'react'\nimport React, { useState } from 'react'\nimport type { To } from 'react-router-dom'\nimport { 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> = ({\n cardIsButton, desc, href, media, name, small, to, ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsSmall()\n\n const localRouteChange = (to: To | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? void navigate(to) : void navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n href ? void window.open(href) : void 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': { cursor: 'pointer' },\n 'backgroundColor': alphaCss(theme.vars.palette.primary.light, 0.05),\n }}\n onMouseEnter={() =>\n isMobile\n ? null\n : cardIsButton\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isMobile\n ? null\n : cardIsButton\n ? setRaised(false)\n : null}\n onClick={() =>\n cardIsButton\n ? href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')\n : null}\n >\n {media\n ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" />\n : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid size={{ xs: 12, md: 6 }}>\n {typeof name === 'string'\n ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n )\n : name}\n </Grid>\n <Grid size={{ xs: 12, md: 5 }}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid size={{ xs: 1 }} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : 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={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : 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","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport type { CardHeaderProps } from '@mui/material'\nimport { CardHeader, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport type { CardExProps } from './CardEx.tsx'\nimport { CardEx } from './CardEx.tsx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef = ({\n ref, subheader, title, onRefresh, children, action, style, ...props\n}: PageCardProps) => {\n return (\n <CardEx\n style={{\n backgroundColor: 'transparent', position: 'relative', ...style,\n }}\n elevation={0}\n ref={ref}\n {...props}\n >\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 <>\n {onRefresh\n ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n )\n : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n}\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport {\n CardActions, CardContent, CardMedia, IconButton, Typography, useTheme,\n} from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { alphaCss, useIsSmall } from '@xylabs/react-theme'\nimport type { ReactNode } from 'react'\nimport React, { useState } from 'react'\nimport type { To } from 'react-router-dom'\nimport { useNavigate } from 'react-router-dom'\n\nimport type { CardExProps } from '../CardEx.tsx'\nimport { CardEx } from '../CardEx.tsx'\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 children,\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 isSmall = useIsSmall()\n const localRouteChange = (to: To | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? void navigate(to) : void navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n href ? void window.open(href) : void navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': { cursor: interactionVariant == 'button' ? 'pointer' : null },\n 'backgroundColor': alphaCss(theme.vars.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() =>\n isSmall\n ? null\n : interactionVariant == 'button'\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isSmall\n ? null\n : interactionVariant == 'button'\n ? setRaised(false)\n : null}\n onClick={() =>\n interactionVariant == 'button'\n ? href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')\n : null}\n {...props}\n >\n {media\n ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" />\n : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage\n ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} />\n : null}\n {typeof headline === 'string'\n ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n )\n : headline}\n {subtitle\n ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n )\n : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {children}\n {interactionVariant == 'button'\n ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() =>\n href\n ? externalRouteChange(href)\n : to\n ? localRouteChange(to)\n : navigate('/404')}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n )\n : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["CardContent","styled","useShareForwardedRef","React","useEffect","CardContentExRoot","styled","CardContent","name","shouldForwardProp","prop","includes","slot","variant","removePadding","paddingBottom","overflow","paddingTop","padding","CardContentExWithRef","ref","scrollToTop","refreshRef","props","sharedRef","useShareForwardedRef","useEffect","current","scroll","behavior","top","displayName","CardContentEx","Card","useGradientStyles","React","CardExWithRef","ref","style","gradient","props","styles","useGradientStyles","gradientStyle","border","background","React","Card","displayName","CardEx","ArrowForwardRounded","ArrowForwardRoundedIcon","Card","CardActions","CardContent","CardMedia","Grid","IconButton","Typography","useTheme","Zoom","FlexGrowCol","alphaCss","useIsSmall","React","useState","useNavigate","FullWidthCard","cardIsButton","desc","href","media","name","small","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsSmall","localRouteChange","externalRouteChange","window","open","React","Card","elevation","style","height","width","sx","cursor","alphaCss","vars","palette","primary","light","onMouseEnter","onMouseLeave","onClick","CardMedia","component","image","alt","CardContent","Grid","container","alignItems","paddingY","paddingX","size","xs","md","Typography","fontWeight","variant","textAlign","paddingBottom","display","justifyContent","Zoom","in","IconButton","color","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize","CardActions","FlexGrowCol","Refresh","RefreshIcon","CardHeader","IconButton","TypographyEx","React","PageCardWithRef","ref","subheader","title","onRefresh","children","action","style","props","React","CardEx","backgroundColor","position","elevation","CardHeader","TypographyEx","variant","gutterBottom","IconButton","onClick","RefreshIcon","displayName","PageCard","ArrowForwardRounded","ArrowForwardRoundedIcon","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexCol","FlexGrowCol","alphaCss","useIsSmall","React","useState","useNavigate","SimpleCard","children","desc","iconImage","interactionVariant","headline","href","media","small","subtitle","sx","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isSmall","useIsSmall","localRouteChange","externalRouteChange","window","open","React","CardEx","elevation","cursor","alphaCss","vars","palette","primary","light","onMouseEnter","onMouseLeave","onClick","CardMedia","component","height","image","alt","CardContent","FlexCol","width","alignItems","img","src","style","paddingBottom","Typography","variant","textAlign","gutterBottom","CardActions","FlexGrowCol","IconButton","color","size","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@xyo-network/react-card",
|
3
|
-
"version": "5.2.
|
3
|
+
"version": "5.2.3",
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
5
5
|
"keywords": [
|
6
6
|
"xyo",
|
@@ -39,18 +39,18 @@
|
|
39
39
|
"module": "dist/browser/index.mjs",
|
40
40
|
"types": "dist/types/index.d.ts",
|
41
41
|
"dependencies": {
|
42
|
-
"@xylabs/react-flexbox": "^6.2.
|
43
|
-
"@xyo-network/react-shared": "^5.2.
|
44
|
-
"react-router-dom": "^7.5.
|
42
|
+
"@xylabs/react-flexbox": "^6.2.8",
|
43
|
+
"@xyo-network/react-shared": "^5.2.3",
|
44
|
+
"react-router-dom": "^7.5.1"
|
45
45
|
},
|
46
46
|
"devDependencies": {
|
47
47
|
"@mui/icons-material": "^7.0.2",
|
48
48
|
"@mui/material": "^7.0.2",
|
49
49
|
"@storybook/react": "^8.6.12",
|
50
50
|
"@types/react": "^19.1.2",
|
51
|
-
"@xylabs/ts-scripts-yarn3": "^6.
|
52
|
-
"@xylabs/tsconfig-react": "^6.
|
53
|
-
"@xyo-network/react-storybook": "^5.2.
|
51
|
+
"@xylabs/ts-scripts-yarn3": "^6.3.5",
|
52
|
+
"@xylabs/tsconfig-react": "^6.3.5",
|
53
|
+
"@xyo-network/react-storybook": "^5.2.3",
|
54
54
|
"react": "^19.1.0",
|
55
55
|
"react-dom": "^19.1.0",
|
56
56
|
"storybook": "^8.6.12",
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'
|
2
2
|
import type { CardProps } from '@mui/material'
|
3
3
|
import {
|
4
|
-
|
4
|
+
Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom,
|
5
5
|
} from '@mui/material'
|
6
6
|
import { FlexGrowCol } from '@xylabs/react-flexbox'
|
7
|
-
import { useIsSmall } from '@xylabs/react-theme'
|
7
|
+
import { alphaCss, useIsSmall } from '@xylabs/react-theme'
|
8
8
|
import type { ReactNode } from 'react'
|
9
9
|
import React, { useState } from 'react'
|
10
10
|
import type { To } from 'react-router-dom'
|
@@ -45,7 +45,7 @@ export const FullWidthCard: React.FC<FullWidthCardProps> = ({
|
|
45
45
|
{...props}
|
46
46
|
sx={{
|
47
47
|
'&:hover': { cursor: 'pointer' },
|
48
|
-
'backgroundColor':
|
48
|
+
'backgroundColor': alphaCss(theme.vars.palette.primary.light, 0.05),
|
49
49
|
}}
|
50
50
|
onMouseEnter={() =>
|
51
51
|
isMobile
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'
|
2
2
|
import {
|
3
|
-
|
3
|
+
CardActions, CardContent, CardMedia, IconButton, Typography, useTheme,
|
4
4
|
} from '@mui/material'
|
5
5
|
import { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'
|
6
|
-
import { useIsSmall } from '@xylabs/react-theme'
|
6
|
+
import { alphaCss, useIsSmall } from '@xylabs/react-theme'
|
7
7
|
import type { ReactNode } from 'react'
|
8
8
|
import React, { useState } from 'react'
|
9
9
|
import type { To } from 'react-router-dom'
|
@@ -55,7 +55,7 @@ export const SimpleCard: React.FC<SimpleCardProps> = ({
|
|
55
55
|
elevation={raised ? 3 : 0}
|
56
56
|
sx={{
|
57
57
|
'&:hover': { cursor: interactionVariant == 'button' ? 'pointer' : null },
|
58
|
-
'backgroundColor':
|
58
|
+
'backgroundColor': alphaCss(theme.vars.palette.primary.light, 0.05),
|
59
59
|
...sx,
|
60
60
|
}}
|
61
61
|
onMouseEnter={() =>
|
@@ -0,0 +1 @@
|
|
1
|
+
import type {} from '@mui/material/themeCssVarsAugmentation'
|