{"version":3,"file":"get-transition-styles.cjs","names":["transitions"],"sources":["../../../../src/components/Transition/get-transition-styles/get-transition-styles.ts"],"sourcesContent":["import { MantineTransition, transitions } from '../transitions';\n\nconst transitionStatuses = {\n  entering: 'in',\n  entered: 'in',\n  exiting: 'out',\n  exited: 'out',\n  'pre-exiting': 'out',\n  'pre-entering': 'out',\n} as const;\n\nexport function getTransitionStyles({\n  transition,\n  state,\n  duration,\n  timingFunction,\n}: {\n  transition: MantineTransition;\n  state: keyof typeof transitionStatuses;\n  duration: number;\n  timingFunction: React.CSSProperties['transitionTimingFunction'];\n}): React.CSSProperties {\n  const shared: React.CSSProperties = {\n    WebkitBackfaceVisibility: 'hidden',\n    transitionDuration: `${duration}ms`,\n    transitionTimingFunction: timingFunction,\n  };\n\n  if (typeof transition === 'string') {\n    if (!(transition in transitions)) {\n      return {};\n    }\n\n    return {\n      transitionProperty: transitions[transition].transitionProperty,\n      ...shared,\n      ...transitions[transition].common,\n      ...transitions[transition][transitionStatuses[state]],\n    };\n  }\n\n  return {\n    transitionProperty: transition.transitionProperty,\n    ...shared,\n    ...transition.common,\n    ...transition[transitionStatuses[state]],\n  };\n}\n"],"mappings":";;;AAEA,MAAM,qBAAqB;CACzB,UAAU;CACV,SAAS;CACT,SAAS;CACT,QAAQ;CACR,eAAe;CACf,gBAAgB;CACjB;AAED,SAAgB,oBAAoB,EAClC,YACA,OACA,UACA,kBAMsB;CACtB,MAAM,SAA8B;EAClC,0BAA0B;EAC1B,oBAAoB,GAAG,SAAS;EAChC,0BAA0B;EAC3B;AAED,KAAI,OAAO,eAAe,UAAU;AAClC,MAAI,EAAE,cAAcA,oBAAAA,aAClB,QAAO,EAAE;AAGX,SAAO;GACL,oBAAoBA,oBAAAA,YAAY,YAAY;GAC5C,GAAG;GACH,GAAGA,oBAAAA,YAAY,YAAY;GAC3B,GAAGA,oBAAAA,YAAY,YAAY,mBAAmB;GAC/C;;AAGH,QAAO;EACL,oBAAoB,WAAW;EAC/B,GAAG;EACH,GAAG,WAAW;EACd,GAAG,WAAW,mBAAmB;EAClC"}