{"version":3,"sources":["../../../src/components/transitions/expand-transition.js"],"names":[],"mappings":";;;;;;kBAEc,YAA8C;AAAA,QAAnC,mBAAmC,uEAAb,EAAa;AAAA,QAAT,CAAS,uEAAL,KAAK;;AAC1D,QAAM,eAAe,IAAI,OAAJ,GAAc,QAAnC;AAEA,WAAO;AACL,mBADK,uBACQ,EADR,EACU;AACb,eAAG,OAAH,GAAa,GAAG,UAAhB;AACA,eAAG,aAAH;AACE,4BAAY,GAAG,KAAH,CAAS,UADvB;AAEE,4BAAY,GAAG,KAAH,CAAS,UAFvB;AAGE,0BAAU,GAAG,KAAH,CAAS;AAHrB,eAIG,YAJH,EAIkB,GAAG,KAAH,CAAS,YAAT,CAJlB;AAMD,SATI;AAWL,aAXK,iBAWE,EAXF,EAWI;AACP,gBAAM,eAAe,GAAG,aAAxB;AACA,eAAG,KAAH,CAAS,WAAT,CAAqB,YAArB,EAAmC,MAAnC,EAA2C,WAA3C;AACA,eAAG,KAAH,CAAS,UAAT,GAAsB,QAAtB;AACA,gBAAM,OAAU,GAAG,WAAW,yBAAW,YAAX,CAAd,CAAV,OAAN;AACA,eAAG,KAAH,CAAS,UAAT,GAAsB,aAAa,UAAnC;AACA,eAAG,KAAH,CAAS,QAAT,GAAoB,QAApB;AACA,eAAG,KAAH,CAAS,YAAT,IAAyB,CAAzB;AACA,iBAAK,GAAG,YAAR,CARO,CAQc;AACrB,eAAG,KAAH,CAAS,UAAT,GAAsB,aAAa,UAAnC;AAEA,mCAAuB,GAAG,OAA1B,IAAqC,GAAG,OAAH,CAAW,SAAX,CAAqB,GAArB,CAAyB,mBAAzB,CAArC;AAEA,kCAAsB,YAAK;AACzB,mBAAG,KAAH,CAAS,YAAT,IAAyB,IAAzB;AACD,aAFD;AAGD,SA3BI;;AA6BL,oBAAY,WA7BP;AA8BL,wBAAgB,WA9BX;AAgCL,aAhCK,iBAgCE,EAhCF,EAgCI;AACP,eAAG,aAAH;AACE,0BAAU,GAAG,KAAH,CAAS;AADrB,eAEG,YAFH,EAEkB,GAAG,KAAH,CAAS,YAAT,CAFlB;AAKA,eAAG,KAAH,CAAS,QAAT,GAAoB,QAApB;AACA,eAAG,KAAH,CAAS,YAAT,IAA4B,GAAG,WAAW,yBAAW,YAAX,CAAd,CAA5B;AACA,iBAAK,GAAG,YAAR,CARO,CAQc;AAErB,kCAAsB;AAAA,uBAAM,GAAG,KAAH,CAAS,YAAT,IAAyB,CAA/B;AAAA,aAAtB;AACD,SA3CI;;AA6CL,8BA7CK;AA8CL,wBAAgB;AA9CX,KAAP;AAiDA,aAAS,UAAT,CAAqB,EAArB,EAAuB;AACrB,+BAAuB,GAAG,OAA1B,IAAqC,GAAG,OAAH,CAAW,SAAX,CAAqB,MAArB,CAA4B,mBAA5B,CAArC;AACA,oBAAY,EAAZ;AACD;AAED,aAAS,WAAT,CAAsB,EAAtB,EAAwB;AACtB,WAAG,KAAH,CAAS,QAAT,GAAoB,GAAG,aAAH,CAAiB,QAArC;AACA,WAAG,KAAH,CAAS,YAAT,IAAyB,GAAG,aAAH,CAAiB,YAAjB,CAAzB;AACA,eAAO,GAAG,aAAV;AACD;AACF,C","sourcesContent":["import { upperFirst } from '../../util/helpers'\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height'\n\n return {\n beforeEnter (el) {\n el._parent = el.parentNode\n el._initialStyle = {\n transition: el.style.transition,\n visibility: el.style.visibility,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n }\n },\n\n enter (el) {\n const initialStyle = el._initialStyle\n el.style.setProperty('transition', 'none', 'important')\n el.style.visibility = 'hidden'\n const size = `${el['offset' + upperFirst(sizeProperty)]}px`\n el.style.visibility = initialStyle.visibility\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = 0\n void el.offsetHeight // force reflow\n el.style.transition = initialStyle.transition\n\n expandedParentClass && el._parent && el._parent.classList.add(expandedParentClass)\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = size\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el) {\n el._initialStyle = {\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el['offset' + upperFirst(sizeProperty)]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => el.style[sizeProperty] = 0)\n },\n\n afterLeave,\n leaveCancelled: afterLeave\n }\n\n function afterLeave (el) {\n expandedParentClass && el._parent && el._parent.classList.remove(expandedParentClass)\n resetStyles(el)\n }\n\n function resetStyles (el) {\n el.style.overflow = el._initialStyle.overflow\n el.style[sizeProperty] = el._initialStyle[sizeProperty]\n delete el._initialStyle\n }\n}\n"],"sourceRoot":""}