{
  "version": 3,
  "sources": ["../../src/modules/drawer/components/Drawer.tsx"],
  "sourcesContent": ["import { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport type { DrawerProps } from '@mui/material'\nimport {\n  Drawer, Paper, styled, Typography,\n} from '@mui/material'\nimport type { MouseEvent, PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\n/** Props for {@link DrawerEx}. */\nexport interface DrawerExProps extends PropsWithChildren<DrawerProps> {\n  heightVariant?: 'full' | 'auto'\n  subTitle?: string\n  title?: string\n  widthVariant?: 'full' | 'partial'\n}\n\n/** Top-anchored drawer with optional title, subtitle, and width/height variants. */\nexport const DrawerEx: React.FC<DrawerExProps> = ({\n  children,\n  heightVariant = 'full',\n  subTitle,\n  title,\n  onClose,\n  widthVariant = 'partial',\n  ...props\n}) => {\n  const variantBasedProps = useMemo(() => {\n    return {\n      PaperProps: {\n        sx: {\n          alignItems: 'center',\n          background: 'transparent',\n          boxShadow: 'none',\n          height: heightVariant === 'full' ? '100%' : 'auto',\n          width: widthVariant === 'partial' ? 'auto' : '100%',\n        },\n      },\n      onClick: (event: MouseEvent) => onClose?.(event, 'backdropClick'),\n    }\n  }, [heightVariant, onClose, widthVariant])\n\n  return (\n    <Drawer anchor=\"top\" onClose={onClose} {...variantBasedProps} {...props}>\n      {/* Trap the event to prevent triggering the backdrop onClick */}\n      <StyledDrawerContentPaper\n        widthVariant={widthVariant}\n        elevation={16}\n        onClick={(event: MouseEvent) => event.stopPropagation()}\n        sx={{ width: widthVariant === 'full' ? '100%' : undefined }}\n      >\n        {title || subTitle\n          ? (\n              <FlexCol\n                sx={{\n                  alignItems: 'start',\n                  gap: 1,\n                }}\n              >\n                {title\n                  ? <StyledEllipsisTypography variant=\"h3\">{title}</StyledEllipsisTypography>\n                  : null}\n                {subTitle\n                  ? (\n                      <Typography\n                        variant=\"subtitle1\"\n                        sx={{ textTransform: 'none' }}\n                      >\n                        {subTitle}\n                      </Typography>\n                    )\n                  : null}\n              </FlexCol>\n            )\n          : null}\n        {children}\n      </StyledDrawerContentPaper>\n    </Drawer>\n  )\n}\n\nconst StyledEllipsisTypography = styled(Typography, { name: 'StyledEllipsisTypography' })(() => ({\n  maxWidth: '100%',\n  overflowX: 'hidden',\n  textOverflow: 'ellipsis',\n  whiteSpace: 'nowrap',\n}))\n\nconst StyledDrawerContentPaper = styled(Paper, {\n  name: 'StyledDrawerContentPaper',\n  shouldForwardProp: prop => !['widthVariant'].includes(prop as string),\n})<DrawerExProps>(({ theme, widthVariant }) => ({\n  alignItems: 'stretch',\n  borderRadius: `0 0 ${theme.shape.borderRadius}px ${theme.shape.borderRadius}px`,\n  display: 'flex',\n  flexDirection: 'column',\n  gap: theme.spacing(2),\n  height: '100%',\n  maxWidth: '100%',\n  overflowX: 'hidden',\n  padding: theme.spacing(3),\n  [theme.breakpoints.up('lg')]: { width: widthVariant === 'full' ? '100%' : '50%' },\n  [theme.breakpoints.up('md')]: { width: widthVariant === 'full' ? '100%' : '75%' },\n}))\n"],
  "mappings": ";AAAA,SAAS,eAAe;AAExB;AAAA,EACE;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAQ;AAAA,OAClB;AAEP,SAAgB,eAAe;AA8CjB,SAOM,KAPN;AAnCP,IAAM,WAAoC,CAAC;AAAA,EAChD;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,GAAG;AACL,MAAM;AACJ,QAAM,oBAAoB,QAAQ,MAAM;AACtC,WAAO;AAAA,MACL,YAAY;AAAA,QACV,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,QAAQ,kBAAkB,SAAS,SAAS;AAAA,UAC5C,OAAO,iBAAiB,YAAY,SAAS;AAAA,QAC/C;AAAA,MACF;AAAA,MACA,SAAS,CAAC,UAAsB,UAAU,OAAO,eAAe;AAAA,IAClE;AAAA,EACF,GAAG,CAAC,eAAe,SAAS,YAAY,CAAC;AAEzC,SACE,oBAAC,UAAO,QAAO,OAAM,SAAmB,GAAG,mBAAoB,GAAG,OAEhE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,MACX,SAAS,CAAC,UAAsB,MAAM,gBAAgB;AAAA,MACtD,IAAI,EAAE,OAAO,iBAAiB,SAAS,SAAS,OAAU;AAAA,MAEzD;AAAA,iBAAS,WAEJ;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,KAAK;AAAA,YACP;AAAA,YAEC;AAAA,sBACG,oBAAC,4BAAyB,SAAQ,MAAM,iBAAM,IAC9C;AAAA,cACH,WAEK;AAAA,gBAAC;AAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,IAAI,EAAE,eAAe,OAAO;AAAA,kBAE3B;AAAA;AAAA,cACH,IAEF;AAAA;AAAA;AAAA,QACN,IAEF;AAAA,QACH;AAAA;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,IAAM,2BAA2B,OAAO,YAAY,EAAE,MAAM,2BAA2B,CAAC,EAAE,OAAO;AAAA,EAC/F,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd,EAAE;AAEF,IAAM,2BAA2B,OAAO,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,mBAAmB,UAAQ,CAAC,CAAC,cAAc,EAAE,SAAS,IAAc;AACtE,CAAC,EAAiB,CAAC,EAAE,OAAO,aAAa,OAAO;AAAA,EAC9C,YAAY;AAAA,EACZ,cAAc,OAAO,MAAM,MAAM,YAAY,MAAM,MAAM,MAAM,YAAY;AAAA,EAC3E,SAAS;AAAA,EACT,eAAe;AAAA,EACf,KAAK,MAAM,QAAQ,CAAC;AAAA,EACpB,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS,MAAM,QAAQ,CAAC;AAAA,EACxB,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,iBAAiB,SAAS,SAAS,MAAM;AAAA,EAChF,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,iBAAiB,SAAS,SAAS,MAAM;AAClF,EAAE;",
  "names": []
}
