{"version":3,"sources":["../src/fade.tsx"],"sourcesContent":["import { cx } from \"@chakra-ui/shared-utils\"\nimport {\n  AnimatePresence,\n  HTMLMotionProps,\n  motion,\n  Variants as _Variants,\n} from \"framer-motion\"\nimport { forwardRef } from \"react\"\nimport {\n  TRANSITION_DEFAULTS,\n  Variants,\n  withDelay,\n  WithTransitionConfig,\n} from \"./transition-utils\"\n\nexport interface FadeProps\n  extends WithTransitionConfig<HTMLMotionProps<\"div\">> {}\n\nconst variants: Variants = {\n  enter: ({ transition, transitionEnd, delay } = {}) => ({\n    opacity: 1,\n    transition:\n      transition?.enter ?? withDelay.enter(TRANSITION_DEFAULTS.enter, delay),\n    transitionEnd: transitionEnd?.enter,\n  }),\n  exit: ({ transition, transitionEnd, delay } = {}) => ({\n    opacity: 0,\n    transition:\n      transition?.exit ?? withDelay.exit(TRANSITION_DEFAULTS.exit, delay),\n    transitionEnd: transitionEnd?.exit,\n  }),\n}\n\nexport const fadeConfig: HTMLMotionProps<\"div\"> = {\n  initial: \"exit\",\n  animate: \"enter\",\n  exit: \"exit\",\n  variants: variants as _Variants,\n}\n\nexport const Fade = forwardRef<HTMLDivElement, FadeProps>(function Fade(\n  props,\n  ref,\n) {\n  const {\n    unmountOnExit,\n    in: isOpen,\n    className,\n    transition,\n    transitionEnd,\n    delay,\n    ...rest\n  } = props\n\n  const animate = isOpen || unmountOnExit ? \"enter\" : \"exit\"\n  const show = unmountOnExit ? isOpen && unmountOnExit : true\n\n  const custom = { transition, transitionEnd, delay }\n\n  return (\n    <AnimatePresence custom={custom}>\n      {show && (\n        <motion.div\n          ref={ref}\n          className={cx(\"chakra-fade\", className)}\n          custom={custom}\n          {...fadeConfig}\n          animate={animate}\n          {...rest}\n        />\n      )}\n    </AnimatePresence>\n  )\n})\n\nFade.displayName = \"Fade\"\n"],"mappings":";;;;;;;AAAA,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EAEA;AAAA,OAEK;AACP,SAAS,kBAAkB;AAuDnB;AA5CR,IAAM,WAAqB;AAAA,EACzB,OAAO,CAAC,EAAE,YAAY,eAAe,MAAM,IAAI,CAAC,MAAG;AAnBrD;AAmByD;AAAA,MACrD,SAAS;AAAA,MACT,aACE,8CAAY,UAAZ,YAAqB,UAAU,MAAM,oBAAoB,OAAO,KAAK;AAAA,MACvE,eAAe,+CAAe;AAAA,IAChC;AAAA;AAAA,EACA,MAAM,CAAC,EAAE,YAAY,eAAe,MAAM,IAAI,CAAC,MAAG;AAzBpD;AAyBwD;AAAA,MACpD,SAAS;AAAA,MACT,aACE,8CAAY,SAAZ,YAAoB,UAAU,KAAK,oBAAoB,MAAM,KAAK;AAAA,MACpE,eAAe,+CAAe;AAAA,IAChC;AAAA;AACF;AAEO,IAAM,aAAqC;AAAA,EAChD,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN;AACF;AAEO,IAAM,OAAO,WAAsC,SAASA,MACjE,OACA,KACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,IAAI;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,UAAU,UAAU,gBAAgB,UAAU;AACpD,QAAM,OAAO,gBAAgB,UAAU,gBAAgB;AAEvD,QAAM,SAAS,EAAE,YAAY,eAAe,MAAM;AAElD,SACE,oBAAC,mBAAgB,QACd,kBACC;AAAA,IAAC,OAAO;AAAA,IAAP;AAAA,MACC;AAAA,MACA,WAAW,GAAG,eAAe,SAAS;AAAA,MACtC;AAAA,MACC,GAAG;AAAA,MACJ;AAAA,MACC,GAAG;AAAA;AAAA,EACN,GAEJ;AAEJ,CAAC;AAED,KAAK,cAAc;","names":["Fade"]}