{"version":3,"file":"get-notification-state-styles.cjs","names":[],"sources":["../src/get-notification-state-styles.ts"],"sourcesContent":["import { TransitionStatus } from 'react-transition-group';\nimport type { NotificationsProps } from './Notifications';\n\ninterface NotificationStateStylesProps {\n  state: TransitionStatus;\n  maxHeight: number | string;\n  position: NotificationsProps['position'];\n  transitionDuration: number;\n}\n\nconst transforms = {\n  left: 'translateX(-100%)',\n  right: 'translateX(100%)',\n  'top-center': 'translateY(-100%)',\n  'bottom-center': 'translateY(100%)',\n};\n\nconst noTransform = {\n  left: 'translateX(0)',\n  right: 'translateX(0)',\n  'top-center': 'translateY(0)',\n  'bottom-center': 'translateY(0)',\n};\n\nexport function getNotificationStateStyles({\n  state,\n  maxHeight,\n  position,\n  transitionDuration,\n}: NotificationStateStylesProps): React.CSSProperties {\n  const [vertical, horizontal] = position!.split('-');\n  const property = (\n    horizontal === 'center' ? `${vertical}-center` : horizontal\n  ) as keyof typeof transforms;\n\n  const commonStyles: React.CSSProperties = {\n    opacity: 0,\n    maxHeight,\n    transform: transforms[property],\n    transitionDuration: `${transitionDuration}ms, ${transitionDuration}ms, ${transitionDuration}ms`,\n    transitionTimingFunction: 'cubic-bezier(.51,.3,0,1.21), cubic-bezier(.51,.3,0,1.21), linear',\n    transitionProperty: 'opacity, transform, max-height',\n  };\n\n  const inState: React.CSSProperties = {\n    opacity: 1,\n    transform: noTransform[property],\n  };\n\n  const outState: React.CSSProperties = {\n    opacity: 0,\n    maxHeight: 0,\n    transform: transforms[property],\n  };\n\n  const transitionStyles = {\n    entering: inState,\n    entered: inState,\n    exiting: outState,\n    exited: outState,\n  };\n\n  return { ...commonStyles, ...transitionStyles[state as keyof typeof transitionStyles] };\n}\n"],"mappings":";;AAUA,MAAM,aAAa;CACjB,MAAM;CACN,OAAO;CACP,cAAc;CACd,iBAAiB;AACnB;AAEA,MAAM,cAAc;CAClB,MAAM;CACN,OAAO;CACP,cAAc;CACd,iBAAiB;AACnB;AAEA,SAAgB,2BAA2B,EACzC,OACA,WACA,UACA,sBACoD;CACpD,MAAM,CAAC,UAAU,cAAc,SAAU,MAAM,GAAG;CAClD,MAAM,WACJ,eAAe,WAAW,GAAG,SAAS,WAAW;CAGnD,MAAM,eAAoC;EACxC,SAAS;EACT;EACA,WAAW,WAAW;EACtB,oBAAoB,GAAG,mBAAmB,MAAM,mBAAmB,MAAM,mBAAmB;EAC5F,0BAA0B;EAC1B,oBAAoB;CACtB;CAEA,MAAM,UAA+B;EACnC,SAAS;EACT,WAAW,YAAY;CACzB;CAEA,MAAM,WAAgC;EACpC,SAAS;EACT,WAAW;EACX,WAAW,WAAW;CACxB;CAEA,MAAM,mBAAmB;EACvB,UAAU;EACV,SAAS;EACT,SAAS;EACT,QAAQ;CACV;CAEA,OAAO;EAAE,GAAG;EAAc,GAAG,iBAAiB;CAAwC;AACxF"}