@xyo-network/react-card 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport React, { forwardRef, 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']: {\n paddingBottom: 0,\n },\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 = forwardRef<HTMLDivElement | null, CardContentExProps>(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {\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 { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nexport interface CardExProps extends CardProps {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef = forwardRef<HTMLDivElement, CardExProps>(({ style, gradient, ...props }, ref) => {\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 { 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 React, { 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 // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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={() =>\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 item 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 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={() =>\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 { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport React, { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx.tsx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef = forwardRef<HTMLDivElement, PageCardProps>(({ 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 <>\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 { 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 React, { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } 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 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 // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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={() =>\n isMobile\n ? null\n : interactionVariant == 'button'\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isMobile\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 {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","forwardRef","useEffect","CardContentExRoot","styled","CardContent","name","shouldForwardProp","prop","includes","slot","variant","removePadding","paddingBottom","overflow","paddingTop","padding","CardContentExWithRef","forwardRef","scrollToTop","refreshRef","props","ref","sharedRef","useShareForwardedRef","useEffect","current","scroll","behavior","top","displayName","CardContentEx","Card","useGradientStyles","React","forwardRef","CardExWithRef","style","gradient","props","ref","styles","gradientStyle","border","background","displayName","CardEx","ArrowForwardRounded","ArrowForwardRoundedIcon","alpha","Card","CardActions","CardContent","CardMedia","Grid","IconButton","Typography","useTheme","Zoom","FlexGrowCol","useIsMobile","React","useState","useNavigate","FullWidthCard","cardIsButton","desc","href","media","name","small","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsMobile","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","item","xs","md","Typography","fontWeight","variant","textAlign","paddingBottom","display","justifyContent","Zoom","in","IconButton","color","size","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize","CardActions","FlexGrowCol","Refresh","RefreshIcon","CardHeader","IconButton","TypographyEx","React","forwardRef","PageCardWithRef","forwardRef","subheader","title","onRefresh","children","action","style","props","ref","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","useIsMobile","React","useState","useNavigate","SimpleCard","desc","iconImage","interactionVariant","headline","href","media","small","subtitle","sx","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsMobile","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, { forwardRef, 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']: {\n paddingBottom: 0,\n },\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 = forwardRef<HTMLDivElement | null, CardContentExProps>(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {\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, { forwardRef } from 'react'\n\nexport interface CardExProps extends CardProps {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef = forwardRef<HTMLDivElement, CardExProps>(({ style, gradient, ...props }, ref) => {\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 { alpha, Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\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> = ({ 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 // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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={() =>\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 item 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 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={() =>\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, { forwardRef } 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 = forwardRef<HTMLDivElement, PageCardProps>(({ 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 <>\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 { 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 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 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 // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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={() =>\n isMobile\n ? null\n : interactionVariant == 'button'\n ? setRaised(true)\n : null}\n onMouseLeave={() =>\n isMobile\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 {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","forwardRef","useEffect","CardContentExRoot","styled","CardContent","name","shouldForwardProp","prop","includes","slot","variant","removePadding","paddingBottom","overflow","paddingTop","padding","CardContentExWithRef","forwardRef","scrollToTop","refreshRef","props","ref","sharedRef","useShareForwardedRef","useEffect","current","scroll","behavior","top","displayName","CardContentEx","Card","useGradientStyles","React","forwardRef","CardExWithRef","style","gradient","props","ref","styles","gradientStyle","border","background","displayName","CardEx","ArrowForwardRounded","ArrowForwardRoundedIcon","alpha","Card","CardActions","CardContent","CardMedia","Grid","IconButton","Typography","useTheme","Zoom","FlexGrowCol","useIsMobile","React","useState","useNavigate","FullWidthCard","cardIsButton","desc","href","media","name","small","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsMobile","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","item","xs","md","Typography","fontWeight","variant","textAlign","paddingBottom","display","justifyContent","Zoom","in","IconButton","color","size","disableFocusRipple","disableRipple","disableTouchRipple","ArrowForwardRoundedIcon","fontSize","CardActions","FlexGrowCol","Refresh","RefreshIcon","CardHeader","IconButton","TypographyEx","React","forwardRef","PageCardWithRef","forwardRef","subheader","title","onRefresh","children","action","style","props","ref","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","useIsMobile","React","useState","useNavigate","SimpleCard","desc","iconImage","interactionVariant","headline","href","media","small","subtitle","sx","to","props","theme","useTheme","raised","setRaised","useState","navigate","useNavigate","isMobile","useIsMobile","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"]}
package/package.json CHANGED
@@ -7,12 +7,12 @@
7
7
  },
8
8
  "bugs": {
9
9
  "email": "support@xyo.network",
10
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
10
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-flexbox": "^4.0.1",
14
- "@xyo-network/react-shared": "^3.0.1",
15
- "react-router-dom": "^6.26.0"
13
+ "@xylabs/react-flexbox": "^4.0.3",
14
+ "@xyo-network/react-shared": "^3.0.2",
15
+ "react-router-dom": "^6.26.1"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@mui/icons-material": "^5",
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@storybook/react": "^8.2.9",
26
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
27
- "@xylabs/tsconfig-react": "^4.0.0-rc.15",
28
- "@xyo-network/react-storybook": "^3.0.1",
26
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
27
+ "@xylabs/tsconfig-react": "^4.0.0-rc.20",
28
+ "@xyo-network/react-storybook": "^3.0.2",
29
29
  "typescript": "^5.5.4"
30
30
  },
31
31
  "description": "Common React library for all XYO projects that use React",
@@ -55,7 +55,7 @@
55
55
  },
56
56
  "repository": {
57
57
  "type": "git",
58
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
58
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
59
59
  },
60
60
  "scripts": {
61
61
  "lint-pkg": "npmPkgJsonLint .",
@@ -63,6 +63,6 @@
63
63
  },
64
64
  "sideEffects": false,
65
65
  "types": "dist/browser/index.d.ts",
66
- "version": "3.0.1",
66
+ "version": "3.0.2",
67
67
  "type": "module"
68
68
  }
@@ -1,5 +1,5 @@
1
1
  import { Button, Typography } from '@mui/material'
2
- import { Decorator, Meta, StoryFn } from '@storybook/react'
2
+ import type { Decorator, Meta, StoryFn } from '@storybook/react'
3
3
  import { FlexGrowCol } from '@xylabs/react-flexbox'
4
4
  import { WithRefDecorator } from '@xyo-network/react-storybook'
5
5
  import React, { useRef, useState } from 'react'
@@ -1,4 +1,5 @@
1
- import { CardContent, CardContentProps, styled } from '@mui/material'
1
+ import type { CardContentProps } from '@mui/material'
2
+ import { CardContent, styled } from '@mui/material'
2
3
  import { useShareForwardedRef } from '@xyo-network/react-shared'
3
4
  import React, { forwardRef, useEffect } from 'react'
4
5
 
@@ -1,4 +1,5 @@
1
- import { Card, CardProps } from '@mui/material'
1
+ import type { CardProps } from '@mui/material'
2
+ import { Card } from '@mui/material'
2
3
  import { useGradientStyles } from '@xyo-network/react-shared'
3
4
  import React, { forwardRef } from 'react'
4
5
 
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import React from 'react'
3
3
  import { BrowserRouter } from 'react-router-dom'
4
4
 
@@ -1,9 +1,12 @@
1
1
  import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'
2
- import { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'
2
+ import type { CardProps } from '@mui/material'
3
+ import { alpha, Card, CardActions, CardContent, CardMedia, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'
3
4
  import { FlexGrowCol } from '@xylabs/react-flexbox'
4
5
  import { useIsMobile } from '@xyo-network/react-shared'
5
- import React, { ReactNode, useState } from 'react'
6
- import { To, useNavigate } from 'react-router-dom'
6
+ import type { ReactNode } from 'react'
7
+ import React, { useState } from 'react'
8
+ import type { To } from 'react-router-dom'
9
+ import { useNavigate } from 'react-router-dom'
7
10
 
8
11
  export interface FullWidthCardProps extends CardProps {
9
12
  cardIsButton?: boolean
@@ -1,5 +1,5 @@
1
1
  import { CardContent, Typography } from '@mui/material'
2
- import { Meta, StoryFn } from '@storybook/react'
2
+ import type { Meta, StoryFn } from '@storybook/react'
3
3
  import { WithRefDecorator } from '@xyo-network/react-storybook'
4
4
  import React, { useState } from 'react'
5
5
 
@@ -1,9 +1,12 @@
1
1
  import { Refresh as RefreshIcon } from '@mui/icons-material'
2
- import { CardHeader, CardHeaderProps, IconButton } from '@mui/material'
2
+ import type { CardHeaderProps } from '@mui/material'
3
+ import { CardHeader, IconButton } from '@mui/material'
3
4
  import { TypographyEx } from '@xyo-network/react-shared'
4
- import React, { forwardRef, ReactNode } from 'react'
5
+ import type { ReactNode } from 'react'
6
+ import React, { forwardRef } from 'react'
5
7
 
6
- import { CardEx, CardExProps } from './CardEx.tsx'
8
+ import type { CardExProps } from './CardEx.tsx'
9
+ import { CardEx } from './CardEx.tsx'
7
10
 
8
11
  export interface PageCardProps extends CardExProps {
9
12
  action?: ReactNode
@@ -1,5 +1,5 @@
1
1
  import { Grid } from '@mui/material'
2
- import { Meta, StoryFn } from '@storybook/react'
2
+ import type { Meta, StoryFn } from '@storybook/react'
3
3
  import React from 'react'
4
4
  import { BrowserRouter } from 'react-router-dom'
5
5
 
@@ -2,10 +2,13 @@ import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-mater
2
2
  import { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'
3
3
  import { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'
4
4
  import { useIsMobile } from '@xyo-network/react-shared'
5
- import React, { ReactNode, useState } from 'react'
6
- import { To, useNavigate } from 'react-router-dom'
5
+ import type { ReactNode } from 'react'
6
+ import React, { useState } from 'react'
7
+ import type { To } from 'react-router-dom'
8
+ import { useNavigate } from 'react-router-dom'
7
9
 
8
- import { CardEx, CardExProps } from '../CardEx.tsx'
10
+ import type { CardExProps } from '../CardEx.tsx'
11
+ import { CardEx } from '../CardEx.tsx'
9
12
 
10
13
  export interface SimpleCardProps extends CardExProps {
11
14
  desc?: ReactNode
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import React from 'react'
3
3
  import { BrowserRouter } from 'react-router-dom'
4
4
 
@@ -1,7 +1,9 @@
1
- import { Grid, GridProps } from '@mui/material'
1
+ import type { GridProps } from '@mui/material'
2
+ import { Grid } from '@mui/material'
2
3
  import React from 'react'
3
4
 
4
- import { SimpleCard, SimpleCardProps } from '../SimpleCard/index.ts'
5
+ import type { SimpleCardProps } from '../SimpleCard/index.ts'
6
+ import { SimpleCard } from '../SimpleCard/index.ts'
5
7
 
6
8
  export interface SimpleCardGridProps extends GridProps {
7
9
  cards?: SimpleCardProps[]
package/xy.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
1
+ import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
4
  browser: {