@xyo-network/react-card 2.67.6 → 2.67.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -166,7 +166,7 @@ var PageCardWithRef = (0, import_react4.forwardRef)(({ subheader, title, onRefre
166
166
  {
167
167
  title: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
168
168
  subheader: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "subtitle1", children: subheader }),
169
- action: action ? action : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.IconButton, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material2.Refresh, {}) }) : null })
169
+ action: action ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.IconButton, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material2.Refresh, {}) }) : null })
170
170
  }
171
171
  ),
172
172
  children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["export * from './components'\n","import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAsD;AACtD,0BAAqC;AACrC,mBAAsC;AAiC7B;AA/BT,IAAM,wBAAoB,wBAAO,6BAAa;AAAA,EAC5C,MAAM;AAAA,EACN,mBAAmB,CAAC,SAAiB,CAAC,CAAC,WAAW,eAAe,EAAE,SAAS,IAAI;AAAA,EAChF,MAAM;AACR,CAAC,EAAsB,CAAC,EAAE,SAAS,cAAc,OAAO;AAAA,EACtD,IAAK,YAAY,gBAAgB,kBAAkB;AAAA,IACjD,CAAC,aAAa,GAAG;AAAA,MACf,eAAe;AAAA,IACjB;AAAA,IACA,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,GAAI,iBAAiB,EAAE,SAAS,EAAE;AAAA,EACpC;AACF,EAAE;AASK,IAAM,2BAAuB,yBAAsD,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,GAAG,MAAM,GAAG,QAAQ;AAChJ,QAAM,gBAAY,0CAAqC,KAAK,UAAU;AAEtE,8BAAU,MAAM;AACd,QAAI,aAAa,aAAa;AAC5B,gBAAU,SAAS,OAAO,EAAE,UAAU,UAAU,KAAK,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,WAAW,WAAW,CAAC;AAE3B,SAAO,4CAAC,qBAAkB,KAAK,WAAY,GAAG,OAAO;AACvD,CAAC;AAED,qBAAqB,cAAc;AAE5B,IAAM,gBAAgB;;;ACxC7B,IAAAA,mBAAgC;AAChC,IAAAC,uBAAkC;AAClC,IAAAC,gBAA2B;AAUvB,IAAAC,sBAAA;AAJG,IAAM,oBAAuC,0BAAW,CAAC,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ;AACrG,QAAM,EAAE,OAAO,QAAI,wCAAkB;AACrC,QAAM,gBAAgB,aAAa,WAAW,OAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC;AAC/G,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,cAAc,cAAc;AAErB,IAAM,SAAS;;;ACzBtB,4BAA+D;AAC/D,IAAAC,mBAA0H;AAC1H,2BAA4B;AAC5B,IAAAC,uBAA4B;AAC5B,IAAAC,gBAAoC;AACpC,8BAAgC;AAyCjB,IAAAC,sBAAA;AA5BR,IAAM,gBAA8C,CAAC,EAAE,cAAc,MAAM,MAAM,OAAO,MAAM,OAAO,IAAI,GAAG,MAAM,MAAM;AAC7H,QAAM,YAAQ,2BAAS;AACvB,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAS,KAAK;AAC1C,QAAM,eAAW,qCAAY;AAC7B,QAAM,eAAW,kCAAY;AAE7B,QAAM,mBAAmB,CAACC,QAAuB;AAC/C,IAAAA,MAAK,SAASA,GAAE,IAAI,SAAS,MAAM;AAAA,EACrC;AACA,QAAM,sBAAsB,CAACC,UAA6B;AACxD,IAAAA,QAAO,OAAO,KAAKA,KAAI,IAAI,SAAS,MAAM;AAAA,EAC5C;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,IAAI;AAAA,MACxB,OAAO,EAAE,QAAQ,QAAQ,OAAO,OAAO;AAAA,MACtC,GAAG;AAAA,MACJ,IAAI;AAAA,QACF,WAAW;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,qBAAiB,wBAAM,MAAM,QAAQ,QAAQ,OAAO,IAAI;AAAA,MAC1D;AAAA,MACA,cAAc,MAAO,WAAW,OAAO,eAAe,UAAU,IAAI,IAAI;AAAA,MACxE,cAAc,MAAO,WAAW,OAAO,eAAe,UAAU,KAAK,IAAI;AAAA,MACzE,SAAS,MAAO,eAAgB,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM,IAAK;AAAA,MAElH;AAAA,gBAAQ,6CAAC,8BAAU,WAAU,OAAM,QAAO,OAAM,OAAO,OAAO,KAAI,IAAG,IAAK;AAAA,QAE3E,6CAAC,gCACC,wDAAC,yBAAK,WAAS,MAAC,YAAW,UAAS,UAAU,GAAG,UAAU,GACzD;AAAA,uDAAC,yBAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GACpB,iBAAO,SAAS,WACf,6CAAC,+BAAW,YAAY,KAAK,SAAQ,MAAK,WAAU,QAAO,eAAe,GACvE,gBACH,IAEA,MAEJ;AAAA,UACA,6CAAC,yBAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GACrB,uDAAC,+BAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,gBACH,GACF;AAAA,UACA,6CAAC,yBAAK,MAAI,MAAC,IAAI,GAAG,SAAS,WAAW,SAAS,QAAQ,gBAAe,UACpE,uDAAC,yBAAK,IAAI,QACR;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAM,QAAQ,UAAU;AAAA,cACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,cAC9F,oBAAkB;AAAA,cAClB,eAAa;AAAA,cACb,oBAAkB;AAAA,cAElB,uDAAC,sBAAAC,qBAAA,EAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,UACjE,GACF,GACF;AAAA,WACF,GACF;AAAA,QACA,6CAAC,gCAAY,IAAI,EAAE,SAAS,EAAE,IAAI,WAAW,SAAS,OAAO,EAAE,GAC7D,uDAAC,oCAAY,YAAW,YACtB;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,MAAM,QAAQ,UAAU;AAAA,YACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,YAC9F,oBAAkB;AAAA,YAClB,eAAa;AAAA,YACb,oBAAkB;AAAA,YAElB,uDAAC,sBAAAA,qBAAA,EAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,QACjE,GACF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AChGA,IAAAC,yBAAuC;AACvC,IAAAC,mBAAwD;AACxD,IAAAC,uBAA6B;AAC7B,IAAAC,gBAAsC;AAYlC,IAAAC,sBAAA;AAFJ,IAAM,sBAA2C,0BAAW,CAAC,EAAE,WAAW,OAAO,WAAW,UAAU,QAAQ,OAAO,GAAG,MAAM,GAAG,QAAQ;AACvI,SACE,8CAAC,UAAO,OAAO,EAAE,iBAAiB,eAAe,UAAU,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,KAAW,GAAG,OAC7G;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OACE,6CAAC,qCAAa,SAAQ,MAAK,cAAY,MACpC,iBACH;AAAA,QAEF,WAAW,6CAAC,qCAAa,SAAQ,aAAa,qBAAU;AAAA,QACxD,QACE,SACE,SAEA,6EACG,sBACC,6CAAC,+BAAW,SAAS,MAAM,YAAY,GACrC,uDAAC,uBAAAC,SAAA,EAAY,GACf,IACE,MACN;AAAA;AAAA,IAGN;AAAA,IACC;AAAA,KACH;AAEJ,CAAC;AAED,gBAAgB,cAAc;AAEvB,IAAM,WAAW;;;AC5CxB,IAAAC,yBAA+D;AAC/D,IAAAC,mBAA6F;AAC7F,IAAAC,wBAAqC;AACrC,IAAAC,uBAA4B;AAC5B,IAAAC,gBAAoC;AACpC,IAAAC,2BAAgC;AAsDjB,IAAAC,sBAAA;AAtCR,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,YAAQ,2BAAS;AACvB,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAS,KAAK;AAC1C,QAAM,eAAW,sCAAY;AAC7B,QAAM,eAAW,kCAAY;AAC7B,QAAM,mBAAmB,CAACC,QAAuB;AAC/C,IAAAA,MAAK,SAASA,GAAE,IAAI,SAAS,MAAM;AAAA,EACrC;AACA,QAAM,sBAAsB,CAACC,UAA6B;AACxD,IAAAA,QAAO,OAAO,KAAKA,KAAI,IAAI,SAAS,MAAM;AAAA,EAC5C;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,IAAI;AAAA,MACxB,IAAI;AAAA,QACF,WAAW;AAAA,UACT,QAAQ,sBAAsB,WAAW,YAAY;AAAA,QACvD;AAAA,QACA,qBAAiB,wBAAM,MAAM,QAAQ,QAAQ,OAAO,IAAI;AAAA,QACxD,GAAG;AAAA,MACL;AAAA,MACA,cAAc,MAAO,WAAW,OAAO,sBAAsB,WAAW,UAAU,IAAI,IAAI;AAAA,MAC1F,cAAc,MAAO,WAAW,OAAO,sBAAsB,WAAW,UAAU,KAAK,IAAI;AAAA,MAC3F,SAAS,MAAO,sBAAsB,WAAY,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM,IAAK;AAAA,MACpI,GAAG;AAAA,MAEH;AAAA,gBAAQ,6CAAC,8BAAU,WAAU,OAAM,QAAO,OAAM,OAAO,OAAO,KAAI,IAAG,IAAK;AAAA,QAE3E,6CAAC,gCAAY,IAAI,EAAE,QAAQ,OAAO,GAChC,wDAAC,iCAAQ,OAAM,QAAO,YAAW,cAC9B;AAAA,sBAAY,6CAAC,SAAI,KAAK,WAAW,QAAO,QAAO,OAAO,EAAE,eAAe,MAAM,GAAG,IAAK;AAAA,UACrF,OAAO,aAAa,WACnB,6CAAC,+BAAW,SAAS,QAAQ,UAAU,MAAM,WAAU,QAAO,cAAY,MACvE,oBACH,IAEA;AAAA,UAED,WACC,6CAAC,+BAAW,SAAQ,aAAY,WAAU,QAAO,cAAY,MAC1D,oBACH,IACE;AAAA,UACJ,6CAAC,+BAAW,SAAS,QAAQ,YAAY,SAAS,WAAU,QAAO,cAAY,MAC5E,gBACH;AAAA,WACF,GACF;AAAA,QACC,sBAAsB,WACrB,6CAAC,gCACC,uDAAC,qCAAY,YAAW,YACtB;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,SAAS,cAAc;AAAA,YAC9B,MAAM,QAAQ,UAAU;AAAA,YACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,YAC9F,oBAAkB;AAAA,YAClB,eAAa;AAAA,YACb,oBAAkB;AAAA,YAElB,uDAAC,uBAAAC,qBAAA,EAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,QACjE,GACF,GACF,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;","names":["import_material","import_react_shared","import_react","import_jsx_runtime","import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon","import_icons_material","import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon","import_icons_material","import_material","import_react_flexbox","import_react_shared","import_react","import_react_router_dom","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["export * from './components'\n","import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ?? (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["import_material","import_react_shared","import_react","import_jsx_runtime","import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon","import_icons_material","import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon","import_icons_material","import_material","import_react_flexbox","import_react_shared","import_react","import_react_router_dom","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
@@ -134,7 +134,7 @@ var PageCardWithRef = forwardRef3(({ subheader, title, onRefresh, children, acti
134
134
  {
135
135
  title: /* @__PURE__ */ jsx4(TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
136
136
  subheader: /* @__PURE__ */ jsx4(TypographyEx, { variant: "subtitle1", children: subheader }),
137
- action: action ? action : /* @__PURE__ */ jsx4(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx4(IconButton2, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ jsx4(RefreshIcon, {}) }) : null })
137
+ action: action ?? /* @__PURE__ */ jsx4(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx4(IconButton2, { onClick: () => onRefresh?.(), children: /* @__PURE__ */ jsx4(RefreshIcon, {}) }) : null })
138
138
  }
139
139
  ),
140
140
  children
@@ -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 { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["forwardRef","jsx","Card","CardContent","jsx","to","href","IconButton","forwardRef","jsx","jsxs","forwardRef","IconButton","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexGrowCol","useIsMobile","useState","useNavigate","jsx","jsxs","useTheme","useState","useNavigate","useIsMobile","to","href","alpha","CardMedia","CardContent","Typography","CardActions","FlexGrowCol","IconButton","ArrowForwardRoundedIcon"]}
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 { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ?? (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["forwardRef","jsx","Card","CardContent","jsx","to","href","IconButton","forwardRef","jsx","jsxs","forwardRef","IconButton","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexGrowCol","useIsMobile","useState","useNavigate","jsx","jsxs","useTheme","useState","useNavigate","useIsMobile","to","href","alpha","CardMedia","CardContent","Typography","CardActions","FlexGrowCol","IconButton","ArrowForwardRoundedIcon"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AAiCD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
1
+ {"version":3,"file":"PageCard.d.ts","sourceRoot":"","sources":["../../../src/components/PageCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,eAAe,EAAc,MAAM,eAAe,CAAA;AAEvE,OAAO,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACzC;AA+BD,eAAO,MAAM,QAAQ,mCAAkB,CAAA"}
@@ -167,7 +167,7 @@ var PageCardWithRef = (0, import_react4.forwardRef)(({ subheader, title, onRefre
167
167
  {
168
168
  title: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
169
169
  subheader: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "subtitle1", children: subheader }),
170
- action: action ? action : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.IconButton, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material2.Refresh, {}) }) : null })
170
+ action: action ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.IconButton, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material2.Refresh, {}) }) : null })
171
171
  }
172
172
  ),
173
173
  children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["export * from './components'\n","import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["import_material","import_react_shared","import_react","import_jsx_runtime","import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon","import_icons_material","import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon","import_icons_material","import_material","import_react_flexbox","import_react_shared","import_react","import_react_router_dom","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["export * from './components'\n","import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ?? (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["import_material","import_react_shared","import_react","import_jsx_runtime","import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon","import_icons_material","import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon","import_icons_material","import_material","import_react_flexbox","import_react_shared","import_react","import_react_router_dom","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
@@ -135,7 +135,7 @@ var PageCardWithRef = forwardRef3(({ subheader, title, onRefresh, children, acti
135
135
  {
136
136
  title: /* @__PURE__ */ jsx4(TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
137
137
  subheader: /* @__PURE__ */ jsx4(TypographyEx, { variant: "subtitle1", children: subheader }),
138
- action: action ? action : /* @__PURE__ */ jsx4(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx4(IconButton2, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ jsx4(RefreshIcon, {}) }) : null })
138
+ action: action ?? /* @__PURE__ */ jsx4(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx4(IconButton2, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ jsx4(RefreshIcon, {}) }) : null })
139
139
  }
140
140
  ),
141
141
  children
@@ -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 { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":";AAAA,SAAS,aAA+B,cAAc;AACtD,SAAS,4BAA4B;AACrC,SAAS,YAAY,iBAAiB;AAiC7B;AA/BT,IAAM,oBAAoB,OAAO,aAAa;AAAA,EAC5C,MAAM;AAAA,EACN,mBAAmB,CAAC,SAAiB,CAAC,CAAC,WAAW,eAAe,EAAE,SAAS,IAAI;AAAA,EAChF,MAAM;AACR,CAAC,EAAsB,CAAC,EAAE,SAAS,cAAc,OAAO;AAAA,EACtD,IAAK,YAAY,gBAAgB,kBAAkB;AAAA,IACjD,CAAC,aAAa,GAAG;AAAA,MACf,eAAe;AAAA,IACjB;AAAA,IACA,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,GAAI,iBAAiB,EAAE,SAAS,EAAE;AAAA,EACpC;AACF,EAAE;AASK,IAAM,uBAAuB,WAAsD,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,GAAG,MAAM,GAAG,QAAQ;AAChJ,QAAM,YAAY,qBAAqC,KAAK,UAAU;AAEtE,YAAU,MAAM;AA7BlB;AA8BI,QAAI,aAAa,aAAa;AAC5B,sBAAU,YAAV,mBAAmB,OAAO,EAAE,UAAU,UAAU,KAAK,EAAE;AAAA,IACzD;AAAA,EACF,GAAG,CAAC,WAAW,WAAW,CAAC;AAE3B,SAAO,oBAAC,qBAAkB,KAAK,WAAY,GAAG,OAAO;AACvD,CAAC;AAED,qBAAqB,cAAc;AAE5B,IAAM,gBAAgB;;;ACxC7B,SAAS,YAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,cAAAA,mBAAkB;AAUvB,gBAAAC,YAAA;AAJG,IAAM,gBAAuCD,YAAW,CAAC,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ;AACrG,QAAM,EAAE,OAAO,IAAI,kBAAkB;AACrC,QAAM,gBAAgB,aAAa,WAAW,OAAO,SAAS,aAAa,eAAe,OAAO,aAAa,CAAC;AAC/G,SACE,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,cAAc,cAAc;AAErB,IAAM,SAAS;;;ACzBtB,SAAS,uBAAuB,+BAA+B;AAC/D,SAAS,OAAO,QAAAC,OAAM,aAAa,eAAAC,cAAa,WAAsB,MAAM,YAAY,YAAY,UAAU,YAAY;AAC1H,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAoB,gBAAgB;AACpC,SAAa,mBAAmB;AAyCjB,gBAAAC,MAGP,YAHO;AA5BR,IAAM,gBAA8C,CAAC,EAAE,cAAc,MAAM,MAAM,OAAO,MAAM,OAAO,IAAI,GAAG,MAAM,MAAM;AAC7H,QAAM,QAAQ,SAAS;AACvB,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,QAAM,WAAW,YAAY;AAC7B,QAAM,WAAW,YAAY;AAE7B,QAAM,mBAAmB,CAACC,QAAuB;AAC/C,IAAAA,MAAK,SAASA,GAAE,IAAI,SAAS,MAAM;AAAA,EACrC;AACA,QAAM,sBAAsB,CAACC,UAA6B;AACxD,IAAAA,QAAO,OAAO,KAAKA,KAAI,IAAI,SAAS,MAAM;AAAA,EAC5C;AAEA,SACE;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,WAAW,SAAS,IAAI;AAAA,MACxB,OAAO,EAAE,QAAQ,QAAQ,OAAO,OAAO;AAAA,MACtC,GAAG;AAAA,MACJ,IAAI;AAAA,QACF,WAAW;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,QACA,iBAAiB,MAAM,MAAM,QAAQ,QAAQ,OAAO,IAAI;AAAA,MAC1D;AAAA,MACA,cAAc,MAAO,WAAW,OAAO,eAAe,UAAU,IAAI,IAAI;AAAA,MACxE,cAAc,MAAO,WAAW,OAAO,eAAe,UAAU,KAAK,IAAI;AAAA,MACzE,SAAS,MAAO,eAAgB,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM,IAAK;AAAA,MAElH;AAAA,gBAAQ,gBAAAE,KAAC,aAAU,WAAU,OAAM,QAAO,OAAM,OAAO,OAAO,KAAI,IAAG,IAAK;AAAA,QAE3E,gBAAAA,KAACD,cAAA,EACC,+BAAC,QAAK,WAAS,MAAC,YAAW,UAAS,UAAU,GAAG,UAAU,GACzD;AAAA,0BAAAC,KAAC,QAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GACpB,iBAAO,SAAS,WACf,gBAAAA,KAAC,cAAW,YAAY,KAAK,SAAQ,MAAK,WAAU,QAAO,eAAe,GACvE,gBACH,IAEA,MAEJ;AAAA,UACA,gBAAAA,KAAC,QAAK,MAAI,MAAC,IAAI,IAAI,IAAI,GACrB,0BAAAA,KAAC,cAAW,SAAQ,SAAQ,YAAY,KAAK,WAAU,QACpD,gBACH,GACF;AAAA,UACA,gBAAAA,KAAC,QAAK,MAAI,MAAC,IAAI,GAAG,SAAS,WAAW,SAAS,QAAQ,gBAAe,UACpE,0BAAAA,KAAC,QAAK,IAAI,QACR,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,MAAM,QAAQ,UAAU;AAAA,cACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,cAC9F,oBAAkB;AAAA,cAClB,eAAa;AAAA,cACb,oBAAkB;AAAA,cAElB,0BAAAA,KAAC,2BAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,UACjE,GACF,GACF;AAAA,WACF,GACF;AAAA,QACA,gBAAAA,KAAC,eAAY,IAAI,EAAE,SAAS,EAAE,IAAI,WAAW,SAAS,OAAO,EAAE,GAC7D,0BAAAA,KAAC,eAAY,YAAW,YACtB,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,MAAM,QAAQ,UAAU;AAAA,YACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,YAC9F,oBAAkB;AAAA,YAClB,eAAa;AAAA,YACb,oBAAkB;AAAA,YAElB,0BAAAA,KAAC,2BAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,QACjE,GACF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AChGA,SAAS,WAAW,mBAAmB;AACvC,SAAS,YAA6B,cAAAG,mBAAkB;AACxD,SAAS,oBAAoB;AAC7B,SAAS,cAAAC,mBAA6B;AAYlC,SAYQ,UATF,OAAAC,MAHN,QAAAC,aAAA;AAFJ,IAAM,kBAA2CC,YAAW,CAAC,EAAE,WAAW,OAAO,WAAW,UAAU,QAAQ,OAAO,GAAG,MAAM,GAAG,QAAQ;AACvI,SACE,gBAAAD,MAAC,UAAO,OAAO,EAAE,iBAAiB,eAAe,UAAU,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,KAAW,GAAG,OAC7G;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,OACE,gBAAAA,KAAC,gBAAa,SAAQ,MAAK,cAAY,MACpC,iBACH;AAAA,QAEF,WAAW,gBAAAA,KAAC,gBAAa,SAAQ,aAAa,qBAAU;AAAA,QACxD,QACE,SACE,SAEA,gBAAAA,KAAA,YACG,sBACC,gBAAAA,KAACG,aAAA,EAAW,SAAS,MAAM,0CACzB,0BAAAH,KAAC,eAAY,GACf,IACE,MACN;AAAA;AAAA,IAGN;AAAA,IACC;AAAA,KACH;AAEJ,CAAC;AAED,gBAAgB,cAAc;AAEvB,IAAM,WAAW;;;AC5CxB,SAAS,uBAAuBI,gCAA+B;AAC/D,SAAS,SAAAC,QAAO,eAAAC,cAAa,eAAAC,cAAa,aAAAC,YAAW,cAAAC,aAAY,cAAAC,aAAY,YAAAC,iBAAgB;AAC7F,SAAS,SAAS,eAAAC,oBAAmB;AACrC,SAAS,eAAAC,oBAAmB;AAC5B,SAAoB,YAAAC,iBAAgB;AACpC,SAAa,eAAAC,oBAAmB;AAsDjB,gBAAAC,MAGP,QAAAC,aAHO;AAtCR,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,QAAQC,UAAS;AACvB,QAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAC1C,QAAM,WAAWC,aAAY;AAC7B,QAAM,WAAWC,aAAY;AAC7B,QAAM,mBAAmB,CAACC,QAAuB;AAC/C,IAAAA,MAAK,SAASA,GAAE,IAAI,SAAS,MAAM;AAAA,EACrC;AACA,QAAM,sBAAsB,CAACC,UAA6B;AACxD,IAAAA,QAAO,OAAO,KAAKA,KAAI,IAAI,SAAS,MAAM;AAAA,EAC5C;AACA,SACE,gBAAAN;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,SAAS,IAAI;AAAA,MACxB,IAAI;AAAA,QACF,WAAW;AAAA,UACT,QAAQ,sBAAsB,WAAW,YAAY;AAAA,QACvD;AAAA,QACA,iBAAiBO,OAAM,MAAM,QAAQ,QAAQ,OAAO,IAAI;AAAA,QACxD,GAAG;AAAA,MACL;AAAA,MACA,cAAc,MAAO,WAAW,OAAO,sBAAsB,WAAW,UAAU,IAAI,IAAI;AAAA,MAC1F,cAAc,MAAO,WAAW,OAAO,sBAAsB,WAAW,UAAU,KAAK,IAAI;AAAA,MAC3F,SAAS,MAAO,sBAAsB,WAAY,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM,IAAK;AAAA,MACpI,GAAG;AAAA,MAEH;AAAA,gBAAQ,gBAAAR,KAACS,YAAA,EAAU,WAAU,OAAM,QAAO,OAAM,OAAO,OAAO,KAAI,IAAG,IAAK;AAAA,QAE3E,gBAAAT,KAACU,cAAA,EAAY,IAAI,EAAE,QAAQ,OAAO,GAChC,0BAAAT,MAAC,WAAQ,OAAM,QAAO,YAAW,cAC9B;AAAA,sBAAY,gBAAAD,KAAC,SAAI,KAAK,WAAW,QAAO,QAAO,OAAO,EAAE,eAAe,MAAM,GAAG,IAAK;AAAA,UACrF,OAAO,aAAa,WACnB,gBAAAA,KAACW,aAAA,EAAW,SAAS,QAAQ,UAAU,MAAM,WAAU,QAAO,cAAY,MACvE,oBACH,IAEA;AAAA,UAED,WACC,gBAAAX,KAACW,aAAA,EAAW,SAAQ,aAAY,WAAU,QAAO,cAAY,MAC1D,oBACH,IACE;AAAA,UACJ,gBAAAX,KAACW,aAAA,EAAW,SAAS,QAAQ,YAAY,SAAS,WAAU,QAAO,cAAY,MAC5E,gBACH;AAAA,WACF,GACF;AAAA,QACC,sBAAsB,WACrB,gBAAAX,KAACY,cAAA,EACC,0BAAAZ,KAACa,cAAA,EAAY,YAAW,YACtB,0BAAAb;AAAA,UAACc;AAAA,UAAA;AAAA,YACC,OAAO,SAAS,cAAc;AAAA,YAC9B,MAAM,QAAQ,UAAU;AAAA,YACxB,SAAS,MAAO,OAAO,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,EAAE,IAAI,SAAS,MAAM;AAAA,YAC9F,oBAAkB;AAAA,YAClB,eAAa;AAAA,YACb,oBAAkB;AAAA,YAElB,0BAAAd,KAACe,0BAAA,EAAwB,UAAU,QAAQ,UAAU,UAAU;AAAA;AAAA,QACjE,GACF,GACF,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;","names":["forwardRef","jsx","Card","CardContent","jsx","to","href","IconButton","forwardRef","jsx","jsxs","forwardRef","IconButton","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexGrowCol","useIsMobile","useState","useNavigate","jsx","jsxs","useTheme","useState","useNavigate","useIsMobile","to","href","alpha","CardMedia","CardContent","Typography","CardActions","FlexGrowCol","IconButton","ArrowForwardRoundedIcon"]}
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 { 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 { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ?? (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["forwardRef","jsx","Card","CardContent","jsx","to","href","IconButton","forwardRef","jsx","jsxs","forwardRef","IconButton","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexGrowCol","useIsMobile","useState","useNavigate","jsx","jsxs","useTheme","useState","useNavigate","useIsMobile","to","href","alpha","CardMedia","CardContent","Typography","CardActions","FlexGrowCol","IconButton","ArrowForwardRoundedIcon"]}
package/package.json CHANGED
@@ -11,8 +11,8 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/react-flexbox": "^3.0.35",
14
- "@xyo-network/react-shared": "~2.67.6",
15
- "react-router-dom": "^6.21.0"
14
+ "@xyo-network/react-shared": "~2.67.8",
15
+ "react-router-dom": "^6.21.1"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@mui/icons-material": "^5",
@@ -25,7 +25,7 @@
25
25
  "@storybook/react": "^7.6.6",
26
26
  "@xylabs/ts-scripts-yarn3": "^3.2.25",
27
27
  "@xylabs/tsconfig-react": "^3.2.25",
28
- "@xyo-network/react-storybook": "~2.67.6",
28
+ "@xyo-network/react-storybook": "~2.67.8",
29
29
  "typescript": "^5.3.3"
30
30
  },
31
31
  "description": "Common React library for all XYO projects that use React",
@@ -79,6 +79,6 @@
79
79
  },
80
80
  "sideEffects": false,
81
81
  "types": "dist/browser/index.d.ts",
82
- "version": "2.67.6",
82
+ "version": "2.67.8",
83
83
  "type": "module"
84
84
  }
@@ -22,9 +22,7 @@ const PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title,
22
22
  }
23
23
  subheader={<TypographyEx variant="subtitle1">{subheader}</TypographyEx>}
24
24
  action={
25
- action ? (
26
- action
27
- ) : (
25
+ action ?? (
28
26
  <>
29
27
  {onRefresh ? (
30
28
  <IconButton onClick={() => onRefresh?.()}>