UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.85 kB
{"version":3,"file":"get-transition-styles.mjs","names":[],"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,cAAc,aAClB,QAAO,EAAE;AAGX,SAAO;GACL,oBAAoB,YAAY,YAAY;GAC5C,GAAG;GACH,GAAG,YAAY,YAAY;GAC3B,GAAG,YAAY,YAAY,mBAAmB;GAC/C;;AAGH,QAAO;EACL,oBAAoB,WAAW;EAC/B,GAAG;EACH,GAAG,WAAW;EACd,GAAG,WAAW,mBAAmB;EAClC"}