@xyo-network/react-card 5.1.0 → 5.1.2

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.
@@ -68,7 +68,7 @@ var CardEx = CardExWithRef;
68
68
  import { ArrowForwardRounded as ArrowForwardRoundedIcon } from "@mui/icons-material";
69
69
  import { alpha, 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 "@xyo-network/react-shared";
71
+ import { 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 }) => {
@@ -199,14 +199,14 @@ var PageCard = PageCardWithRef;
199
199
  import { ArrowForwardRounded as ArrowForwardRoundedIcon2 } from "@mui/icons-material";
200
200
  import { alpha as alpha2, 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 { useIsMobile } from "@xyo-network/react-shared";
202
+ import { 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 }) => {
206
206
  const theme = useTheme2();
207
207
  const [raised, setRaised] = useState2(false);
208
208
  const navigate = useNavigate2();
209
- const isMobile = useIsMobile();
209
+ const isSmall = useIsSmall2();
210
210
  const localRouteChange = /* @__PURE__ */ __name((to2) => {
211
211
  to2 ? void navigate(to2) : void navigate("/404");
212
212
  }, "localRouteChange");
@@ -222,8 +222,8 @@ var SimpleCard = /* @__PURE__ */ __name(({ children, desc, iconImage, interactio
222
222
  "backgroundColor": alpha2(theme.palette.primary.light, 0.05),
223
223
  ...sx
224
224
  },
225
- onMouseEnter: /* @__PURE__ */ __name(() => isMobile ? null : interactionVariant == "button" ? setRaised(true) : null, "onMouseEnter"),
226
- onMouseLeave: /* @__PURE__ */ __name(() => isMobile ? null : interactionVariant == "button" ? setRaised(false) : null, "onMouseLeave"),
225
+ onMouseEnter: /* @__PURE__ */ __name(() => isSmall ? null : interactionVariant == "button" ? setRaised(true) : null, "onMouseEnter"),
226
+ onMouseLeave: /* @__PURE__ */ __name(() => isSmall ? null : interactionVariant == "button" ? setRaised(false) : null, "onMouseLeave"),
227
227
  onClick: /* @__PURE__ */ __name(() => interactionVariant == "button" ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null, "onClick"),
228
228
  ...props
229
229
  }, media ? /* @__PURE__ */ React5.createElement(CardMedia2, {
@@ -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 '@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> = ({\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 { 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 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 isMobile = useIsMobile()\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 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 {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":";;;;AACA,SAASA,aAAaC,cAAc;AACpC,SAASC,4BAA4B;AACrC,OAAOC,SAASC,iBAAiB;AAEjC,IAAMC,oBAAoBC,OAAOC,aAAa;EAC5CC,MAAM;EACNC,mBAAmB,wBAACC,SAAiB,CAAC;IAAC;IAAW;IAAiBC,SAASD,IAAAA,GAAzD;EACnBE,MAAM;AACR,CAAA,EAAuB,CAAC,EAAEC,SAASC,cAAa,OAAQ;EACtD,IAAKD,YAAY,gBAAgBC,kBAAkB;IACjD,CAAC,aAAA,GAAgB;MAAEC,eAAe;IAAE;IACpCC,UAAU;IACVC,YAAY;IACZ,GAAIH,iBAAiB;MAAEI,SAAS;IAAE;EACpC;AACF,EAAA;AASO,IAAMC,uBAAuB,wBAAC,EACnCC,KAAKC,cAAc,GAAGC,aAAa,GAAG,GAAGC,MAAAA,MAC6B;AACtE,QAAMC,YAAYC,qBAAqCL,KAAKE,UAAAA;AAE5DI,YAAU,MAAA;AACR,QAAIF,aAAaH,aAAa;AAC5BG,gBAAUG,SAASC,OAAO;QAAEC,UAAU;QAAUC,KAAK;MAAE,CAAA;IACzD;EACF,GAAG;IAACN;IAAWH;GAAY;AAE3B,SAAO,sBAAA,cAAChB,mBAAAA;IAAkBe,KAAKI;IAAY,GAAGD;;AAChD,GAZoC;AAcpCJ,qBAAqBY,cAAc;AAE5B,IAAMC,gBAAgBb;;;ACxC7B,SAASc,YAAY;AACrB,SAASC,yBAAyB;AAClC,OAAOC,YAAW;AAMX,IAAMC,gBAAgB,wBAAC,EAC5BC,KAAKC,OAAOC,UAAU,GAAGC,MAAAA,MACb;AACZ,QAAMC,SAASC,kBAAAA;AACf,QAAMC,gBACFJ,aAAa,WACXE,OAAOG,SACPL,aAAa,eACXE,OAAOI,aACP,CAAC;AACT,SACE,gBAAAC,OAAA,cAACC,MAAAA;IACCT,OAAO;MACL,GAAGK;MACH,GAAGL;IACL;IACAD;IACC,GAAGG;;AAGV,GApB6B;AAsB7BJ,cAAcY,cAAc;AAErB,IAAMC,SAASb;;;ACjCtB,SAASc,uBAAuBC,+BAA+B;AAE/D,SACEC,OAAOC,QAAAA,OAAMC,aAAaC,eAAAA,cAAaC,WAAWC,MAAMC,YAAYC,YAAYC,UAAUC,YACrF;AACP,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAE3B,OAAOC,UAASC,gBAAgB;AAEhC,SAASC,mBAAmB;AAarB,IAAMC,gBAA8C,wBAAC,EAC1DC,cAAcC,MAAMC,MAAMC,OAAOC,MAAMC,OAAOC,IAAI,GAAGC,MAAAA,MACtD;AACC,QAAMC,QAAQC,SAAAA;AACd,QAAM,CAACC,QAAQC,SAAAA,IAAaC,SAAS,KAAA;AACrC,QAAMC,WAAWC,YAAAA;AACjB,QAAMC,WAAWC,WAAAA;AAEjB,QAAMC,mBAAmB,wBAACX,QAAAA;AAExBA,IAAAA,MAAK,KAAKO,SAASP,GAAAA,IAAM,KAAKO,SAAS,MAAA;EACzC,GAHyB;AAIzB,QAAMK,sBAAsB,wBAAChB,UAAAA;AAE3BA,IAAAA,QAAO,KAAKiB,OAAOC,KAAKlB,KAAAA,IAAQ,KAAKW,SAAS,MAAA;EAChD,GAH4B;AAK5B,SACE,gBAAAQ,OAAA,cAACC,OAAAA;IACCC,WAAWb,SAAS,IAAI;IACxBc,OAAO;MAAEC,QAAQ;MAAQC,OAAO;IAAO;IACtC,GAAGnB;IACJoB,IAAI;MACF,WAAW;QAAEC,QAAQ;MAAU;MAC/B,mBAAmBC,MAAMrB,MAAMsB,QAAQC,QAAQC,OAAO,IAAA;IACxD;IACAC,cAAc,6BACZlB,WACI,OACAf,eACEW,UAAU,IAAA,IACV,MALM;IAMduB,cAAc,6BACZnB,WACI,OACAf,eACEW,UAAU,KAAA,IACV,MALM;IAMdwB,SAAS,6BACPnC,eACIE,OACEgB,oBAAoBhB,IAAAA,IACpBI,KACEW,iBAAiBX,EAAAA,IACjBO,SAAS,MAAA,IACb,MAPG;KASRV,QACG,gBAAAkB,OAAA,cAACe,WAAAA;IAAUC,WAAU;IAAMZ,QAAO;IAAMa,OAAOnC;IAAOoC,KAAI;OAC1D,MAEJ,gBAAAlB,OAAA,cAACmB,cAAAA,MACC,gBAAAnB,OAAA,cAACoB,MAAAA;IAAKC,WAAAA;IAAUC,YAAW;IAASC,UAAU;IAAGC,UAAU;KACzD,gBAAAxB,OAAA,cAACoB,MAAAA;IAAKK,MAAM;MAAEC,IAAI;MAAIC,IAAI;IAAE;KACzB,OAAO5C,SAAS,WAEX,gBAAAiB,OAAA,cAAC4B,YAAAA;IAAWC,YAAY;IAAKC,SAAQ;IAAKC,WAAU;IAAOC,eAAe;KACvEjD,IAAAA,IAGLA,IAAAA,GAEN,gBAAAiB,OAAA,cAACoB,MAAAA;IAAKK,MAAM;MAAEC,IAAI;MAAIC,IAAI;IAAE;KAC1B,gBAAA3B,OAAA,cAAC4B,YAAAA;IAAWE,SAAQ;IAAQD,YAAY;IAAKE,WAAU;KACpDnD,IAAAA,CAAAA,GAGL,gBAAAoB,OAAA,cAACoB,MAAAA;IAAKK,MAAM;MAAEC,IAAI;IAAE;IAAGO,SAASvC,WAAW,SAAS;IAAQwC,gBAAe;KACzE,gBAAAlC,OAAA,cAACmC,MAAAA;IAAKC,IAAI/C;KACR,gBAAAW,OAAA,cAACqC,YAAAA;IACCC,OAAM;IACNb,MAAMzC,QAAQ,UAAU;IACxB8B,SAAS,6BACPjC,OACIgB,oBAAoBhB,IAAAA,IACpBI,KACEW,iBAAiBX,EAAAA,IACjBO,SAAS,MAAA,GALR;IAMT+C,oBAAAA;IACAC,eAAAA;IACAC,oBAAAA;KAEA,gBAAAzC,OAAA,cAAC0C,yBAAAA;IAAwBC,UAAU3D,QAAQ,UAAU;WAM/D,gBAAAgB,OAAA,cAAC4C,aAAAA;IAAYtC,IAAI;MAAE2B,SAAS;QAAEN,IAAIjC,WAAW,SAAS;MAAO;IAAE;KAC7D,gBAAAM,OAAA,cAAC6C,aAAAA;IAAYvB,YAAW;KACtB,gBAAAtB,OAAA,cAACqC,YAAAA;IACCC,OAAM;IACNb,MAAMzC,QAAQ,UAAU;IACxB8B,SAAS,6BACPjC,OACIgB,oBAAoBhB,IAAAA,IACpBI,KACEW,iBAAiBX,EAAAA,IACjBO,SAAS,MAAA,GALR;IAMT+C,oBAAAA;IACAC,eAAAA;IACAC,oBAAAA;KAEA,gBAAAzC,OAAA,cAAC0C,yBAAAA;IAAwBC,UAAU3D,QAAQ,UAAU;;AAMjE,GA7G2D;;;ACvB3D,SAAS8D,WAAWC,mBAAmB;AAEvC,SAASC,YAAYC,cAAAA,mBAAkB;AACvC,SAASC,oBAAoB;AAE7B,OAAOC,YAAW;AAWlB,IAAMC,kBAAkB,wBAAC,EACvBC,KAAKC,WAAWC,OAAOC,WAAWC,UAAUC,QAAQC,OAAO,GAAGC,MAAAA,MAChD;AACd,SACE,gBAAAC,OAAA,cAACC,QAAAA;IACCH,OAAO;MACLI,iBAAiB;MAAeC,UAAU;MAAY,GAAGL;IAC3D;IACAM,WAAW;IACXZ;IACC,GAAGO;KAEJ,gBAAAC,OAAA,cAACK,YAAAA;IACCX,OACE,gBAAAM,OAAA,cAACM,cAAAA;MAAaC,SAAQ;MAAKC,cAAAA;OACxBd,KAAAA;IAGLD,WAAW,gBAAAO,OAAA,cAACM,cAAAA;MAAaC,SAAQ;OAAad,SAAAA;IAC9CI,QACEA,UACE,gBAAAG,OAAA,cAAAA,OAAA,UAAA,MACGL,YAEK,gBAAAK,OAAA,cAACS,aAAAA;MAAWC,SAAS,6BAAMf,YAAAA,GAAN;OACnB,gBAAAK,OAAA,cAACW,aAAAA,IAAAA,CAAAA,IAGL,IAAA;MAKXf,QAAAA;AAGP,GApCwB;AAsCxBL,gBAAgBqB,cAAc;AAEvB,IAAMC,WAAWtB;;;ACxDxB,SAASuB,uBAAuBC,gCAA+B;AAC/D,SACEC,SAAAA,QAAOC,eAAAA,cAAaC,eAAAA,cAAaC,aAAAA,YAAWC,cAAAA,aAAYC,cAAAA,aAAYC,YAAAA,iBAC/D;AACP,SAASC,SAASC,eAAAA,oBAAmB;AACrC,SAASC,mBAAmB;AAE5B,OAAOC,UAASC,YAAAA,iBAAgB;AAEhC,SAASC,eAAAA,oBAAmB;AAiBrB,IAAMC,aAAwC,wBAAC,EACpDC,UACAC,MACAC,WACAC,qBAAqB,QACrBC,UACAC,MACAC,OACAC,OACAC,UACAC,IACAC,IACA,GAAGC,MAAAA,MACJ;AACC,QAAMC,QAAQC,UAAAA;AACd,QAAM,CAACC,QAAQC,SAAAA,IAAaC,UAAS,KAAA;AACrC,QAAMC,WAAWC,aAAAA;AACjB,QAAMC,WAAWC,YAAAA;AACjB,QAAMC,mBAAmB,wBAACX,QAAAA;AAExBA,IAAAA,MAAK,KAAKO,SAASP,GAAAA,IAAM,KAAKO,SAAS,MAAA;EACzC,GAHyB;AAIzB,QAAMK,sBAAsB,wBAACjB,UAAAA;AAE3BA,IAAAA,QAAO,KAAKkB,OAAOC,KAAKnB,KAAAA,IAAQ,KAAKY,SAAS,MAAA;EAChD,GAH4B;AAI5B,SACE,gBAAAQ,OAAA,cAACC,QAAAA;IACCC,WAAWb,SAAS,IAAI;IACxBL,IAAI;MACF,WAAW;QAAEmB,QAAQzB,sBAAsB,WAAW,YAAY;MAAK;MACvE,mBAAmB0B,OAAMjB,MAAMkB,QAAQC,QAAQC,OAAO,IAAA;MACtD,GAAGvB;IACL;IACAwB,cAAc,6BACZd,WACI,OACAhB,sBAAsB,WACpBY,UAAU,IAAA,IACV,MALM;IAMdmB,cAAc,6BACZf,WACI,OACAhB,sBAAsB,WACpBY,UAAU,KAAA,IACV,MALM;IAMdoB,SAAS,6BACPhC,sBAAsB,WAClBE,OACEiB,oBAAoBjB,IAAAA,IACpBK,KACEW,iBAAiBX,EAAAA,IACjBO,SAAS,MAAA,IACb,MAPG;IAQR,GAAGN;KAEHL,QACG,gBAAAmB,OAAA,cAACW,YAAAA;IAAUC,WAAU;IAAMC,QAAO;IAAMC,OAAOjC;IAAOkC,KAAI;OAC1D,MAEJ,gBAAAf,OAAA,cAACgB,cAAAA;IAAYhC,IAAI;MAAE6B,QAAQ;IAAO;KAChC,gBAAAb,OAAA,cAACiB,SAAAA;IAAQC,OAAM;IAAOC,YAAW;KAC9B1C,YACG,gBAAAuB,OAAA,cAACoB,OAAAA;IAAIC,KAAK5C;IAAWoC,QAAO;IAAOS,OAAO;MAAEC,eAAe;IAAM;OACjE,MACH,OAAO5C,aAAa,WAEf,gBAAAqB,OAAA,cAACwB,aAAAA;IAAWC,SAAS3C,QAAQ,UAAU;IAAM4C,WAAU;IAAOC,cAAAA;KAC3DhD,QAAAA,IAGLA,UACHI,WAEK,gBAAAiB,OAAA,cAACwB,aAAAA;IAAWC,SAAQ;IAAYC,WAAU;IAAOC,cAAAA;KAC9C5C,QAAAA,IAGL,MACJ,gBAAAiB,OAAA,cAACwB,aAAAA;IAAWC,SAAS3C,QAAQ,YAAY;IAAS4C,WAAU;IAAOC,cAAAA;KAChEnD,IAAAA,CAAAA,CAAAA,GAIND,UACAG,sBAAsB,WAEjB,gBAAAsB,OAAA,cAAC4B,cAAAA,MACC,gBAAA5B,OAAA,cAAC6B,cAAAA;IAAYV,YAAW;KACtB,gBAAAnB,OAAA,cAAC8B,aAAAA;IACCC,OAAO1C,SAAS,cAAc;IAC9B2C,MAAMlD,QAAQ,UAAU;IACxB4B,SAAS,6BACP9B,OACIiB,oBAAoBjB,IAAAA,IACpBK,KACEW,iBAAiBX,EAAAA,IACjBO,SAAS,MAAA,GALR;IAMTyC,oBAAAA;IACAC,eAAAA;IACAC,oBAAAA;KAEA,gBAAAnC,OAAA,cAACoC,0BAAAA;IAAwBC,UAAUvD,QAAQ,UAAU;UAK7D,IAAA;AAGV,GA9GqD;","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","useIsMobile","React","useState","useNavigate","SimpleCard","children","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, { 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-card",
3
- "version": "5.1.0",
3
+ "version": "5.1.2",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -39,22 +39,22 @@
39
39
  "module": "dist/browser/index.mjs",
40
40
  "types": "dist/types/index.d.ts",
41
41
  "dependencies": {
42
- "@xylabs/react-flexbox": "^6.1.0",
43
- "@xyo-network/react-shared": "^5.1.0",
44
- "react-router-dom": "^7.4.1"
42
+ "@xylabs/react-flexbox": "^6.1.13",
43
+ "@xyo-network/react-shared": "^5.1.2",
44
+ "react-router-dom": "^7.5.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@mui/icons-material": "^7.0.1",
48
48
  "@mui/material": "^7.0.1",
49
- "@storybook/react": "^8.6.11",
50
- "@types/react": "^19.0.12",
51
- "@xylabs/ts-scripts-yarn3": "^6.2.0",
52
- "@xylabs/tsconfig-react": "^6.2.0",
53
- "@xyo-network/react-storybook": "^5.1.0",
49
+ "@storybook/react": "^8.6.12",
50
+ "@types/react": "^19.1.0",
51
+ "@xylabs/ts-scripts-yarn3": "^6.2.1",
52
+ "@xylabs/tsconfig-react": "^6.2.1",
53
+ "@xyo-network/react-storybook": "^5.1.2",
54
54
  "react": "^19.1.0",
55
55
  "react-dom": "^19.1.0",
56
- "storybook": "^8.6.11",
57
- "typescript": "^5.8.2"
56
+ "storybook": "^8.6.12",
57
+ "typescript": "^5.8.3"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@mui/icons-material": ">=6 <=7",
@@ -4,7 +4,7 @@ import {
4
4
  alpha, 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 '@xyo-network/react-shared'
7
+ import { 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'
@@ -3,7 +3,7 @@ import {
3
3
  alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme,
4
4
  } from '@mui/material'
5
5
  import { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'
6
- import { useIsMobile } from '@xyo-network/react-shared'
6
+ import { 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'
@@ -41,7 +41,7 @@ export const SimpleCard: React.FC<SimpleCardProps> = ({
41
41
  const theme = useTheme()
42
42
  const [raised, setRaised] = useState(false)
43
43
  const navigate = useNavigate()
44
- const isMobile = useIsMobile()
44
+ const isSmall = useIsSmall()
45
45
  const localRouteChange = (to: To | undefined) => {
46
46
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
47
47
  to ? void navigate(to) : void navigate('/404')
@@ -59,13 +59,13 @@ export const SimpleCard: React.FC<SimpleCardProps> = ({
59
59
  ...sx,
60
60
  }}
61
61
  onMouseEnter={() =>
62
- isMobile
62
+ isSmall
63
63
  ? null
64
64
  : interactionVariant == 'button'
65
65
  ? setRaised(true)
66
66
  : null}
67
67
  onMouseLeave={() =>
68
- isMobile
68
+ isSmall
69
69
  ? null
70
70
  : interactionVariant == 'button'
71
71
  ? setRaised(false)