{"version":3,"file":"chunk.9078.342e348d8348effb4f62.64e778ba.js","mappings":"6IAAO,I,EAAMA,EAAc,QACdC,EAAkB,YAClBC,EAAgB,UAChBC,EAAqB,eACrBC,EAAe,S,wHCI5B,SAAAC,EAAAC,EAAA,GACGN,EAAc,CACb,CACEO,GAAIJ,EACJK,KAAM,SAAAC,GAAC,MAAI,EACiB,IAA1BA,EAAEC,qBAC4B,IAA9BD,EAAEE,wBACFF,EAAEG,gBAAkBH,EAAEI,gBAAkBJ,EAAEK,cAC3C,GAEH,CACEP,GAAIN,EACJO,KAAM,SAAAC,GAAC,MAAI,EACiB,IAA1BA,EAAEC,qBAC4B,IAA9BD,EAAEE,wBACFF,EAAEM,aAAeN,EAAEO,WAAaP,EAAEQ,WACnC,KAEJZ,EAAAC,EAEAL,EAAkB,CACjB,CACEM,GAAIP,EACJQ,KAAM,SAAAC,GAAC,MAAI,EAA2B,IAA1BA,EAAEC,oBAA8B,GAE9C,CACEH,GAAIP,EACJQ,KAAM,SAAAC,GAAC,MAAI,CAACA,EAAEM,aAAeN,EAAEO,WAAaP,EAAEQ,WAAW,GAE3D,CACEV,GAAIH,EACJI,KAAM,SAAAC,GAAC,MAAI,CAACA,EAAEI,iBAAmBJ,EAAES,YAAY,GAEjD,CACEX,GAAIL,EACJM,KAAM,SAAAC,GAAC,MAAI,CACa,SAAtBA,EAAEU,iBAC4B,IAA9BV,EAAEE,wBACH,KAEJN,EAAAC,EAEAJ,EAAgB,CACf,CACEK,GAAIP,EACJQ,KAAM,SAAAC,GAAC,MAAI,EAA2B,IAA1BA,EAAEC,oBAA8B,GAE9C,CACEH,GAAIN,EACJO,KAAM,SAAAC,GAAC,MAAI,CAACA,EAAEM,aAAeN,EAAEW,aAAeX,EAAEQ,WAAW,GAE7D,CACEV,GAAIN,EACJO,KAAM,SAAAC,GAAC,MAAI,EACqB,IAA9BA,EAAEE,wBACFF,EAAEG,gBAAkBH,EAAEI,gBAAkBJ,EAAEK,cAC3C,GAEH,CACEP,GAAIJ,EACJK,KAAM,SAAAC,GAAC,MAAI,EACqB,IAA9BA,EAAEE,wBACFF,EAAEG,gBAAkBH,EAAEI,gBAAkBJ,EAAEK,cAC3C,KAEJT,EAAAC,EAEAH,EAAqB,CACpB,CACEI,GAAIP,EACJQ,KAAM,SAAAC,GAAC,MAAI,EAA2B,IAA1BA,EAAEC,oBAA8B,GAE9C,CACEH,GAAIL,EACJM,KAAM,SAAAC,GAAC,MAAI,CAAuB,OAAtBA,EAAEU,gBAAyB,GAEzC,CACEZ,GAAIN,EACJO,KAAM,SAAAC,GAAC,MAAI,EAA+B,IAA9BA,EAAEE,wBAAkC,GAElD,CACEJ,GAAIH,EACJI,KAAM,SAAAC,GAAC,MAAI,CAACA,EAAEI,iBAAmBJ,EAAES,YAAY,KAElDb,EAAAC,EAEAF,EAAe,CACd,CACEG,GAAIP,EACJQ,KAAM,SAAAC,GAAC,MAAI,EAA2B,IAA1BA,EAAEC,oBAA8B,GAE9C,CACEH,GAAIJ,EACJK,KAAM,SAAAC,GAAC,MAAI,CACTA,EAAEI,gBAAkBJ,EAAEK,eAAiBL,EAAES,YACzCT,EAAEG,gBAAkBH,EAAES,YACvB,GAEH,CACEX,GAAIN,EACJO,KAAM,SAAAC,GAAC,MAAI,CAACA,EAAEM,aAAeN,EAAEW,aAAeX,EAAEQ,WAAW,KAE9DX,G,8HCtGH,SAAAD,EAAAC,EAAA,GACGN,GAAc,SAACS,EAACY,GAAqB,IAAjBC,EAAUD,EAAVC,WACnBA,EAAWC,MAAMC,SAAW,WAC5BF,EAAWC,MAAME,IAAM,IACvBH,EAAWC,MAAMG,OAAS,MAC5B,IAACrB,EAAAC,EAEAL,GAAkB,SAACQ,EAACkB,GAAqB,IAAjBL,EAAUK,EAAVL,WACvBA,EAAWC,MAAMC,SAAW,QAC5BF,EAAWC,MAAME,IAAM,GAAHG,OAAMnB,EAAEQ,WAAU,MACtCK,EAAWC,MAAMG,OAAS,MAC5B,IAACrB,EAAAC,EAEAJ,GAAgB,SAACO,EAACoB,GAAqB,IAAjBP,EAAUO,EAAVP,WACrBA,EAAWC,MAAMC,SAAW,WAC5BF,EAAWC,MAAME,IAAM,GAAHG,OAAMnB,EAAEW,aAAeX,EAAEO,WAAU,MACvDM,EAAWC,MAAMG,OAAS,MAC5B,IAACrB,EAAAC,EAEAH,GAAqB,SAACM,EAACqB,GAAqB,IAAjBR,EAAUQ,EAAVR,WAC1BA,EAAWC,MAAMC,SAAW,QAC5BF,EAAWC,MAAME,IAAM,OACvBH,EAAWC,MAAMG,OAAS,GAAHE,OAAMnB,EAAEK,cAAa,KAC9C,IAACT,EAAAC,EAEAF,GAAe,SAACK,EAACsB,GAAqB,IAAjBT,EAAUS,EAAVT,WACpBA,EAAWC,MAAMC,SAAW,WAC5BF,EAAWC,MAAME,IAAM,OACvBH,EAAWC,MAAMG,OAAS,GAC5B,IAACpB,GCnCH,IAQM0B,EAA2B,SAACC,EAAUlB,GAAmC,IAAtBmB,EAAaC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EACjEG,EAAOL,EAASM,wBAChBd,EAAMa,EAAKb,IAAMV,EAEvB,MAAO,CACLU,IAAKA,EAAMS,EAAgBA,EAAgBT,EAC3CC,OAAQY,EAAKZ,OAASX,EACtByB,OAAQF,EAAKE,OAEjB,EAwFA,QAtFA,SAAgCnB,EAM7BoB,GAAU,IALXnB,EAAUD,EAAVC,WACAoB,EAAUrB,EAAVqB,WACAC,EAAStB,EAATsB,UACA1B,EAAUI,EAAVJ,WACAH,EAAaO,EAAbP,cAEI8B,EAAiB,CAAC,EAwDhBC,ECpFR,SAAqBJ,GACnB,IAAIK,EAEJ,OAAO,WACAA,IACHA,EAAYC,uBAAsB,WAChCD,EAAY,KACZL,GACF,IAEJ,CACF,CDyEeO,EAAY,WACvB,IAlFIR,EACAf,EA+B0BwB,EAEvBlC,EACGH,EACAsC,EAIHC,EAAFC,EAIEhC,EACGP,EACAwC,EAIAC,EAGJnC,EAIAoC,EAEA5C,EACAD,EAsBA8C,GAlFFhB,EAASiB,OAAOC,YAgCUT,EA5BzB,CAAExB,IAHHA,EAAMgC,OAAOE,YAGLjC,OAFCD,EAAMe,EAECA,OAAAA,GA8BbzB,EAAWkC,EAAhBxB,IACQb,EAAcqC,EAAtBvB,OACQwB,EAAcD,EAAtBT,OAIKW,EACHnB,EAAyBU,EAAY3B,GADvCU,IAAG2B,EAODpB,EAAyBV,EAAYP,EAAaoC,GAH/C/B,EAAYgC,EAAjB3B,IACQZ,EAAeuC,EAAvB1B,OACQ2B,EAAeD,EAAvBZ,OAIQc,EACNtB,EAAyBW,EAAW5B,GADtCW,OAGIP,EA1BuB,SAAAJ,GAAW,OACxC6B,EAAe7B,YAAcA,EAAc,OACzC6B,EAAe7B,YAAcA,EAAc,KAAO,YAAY,CAwBxC6C,CAAuB7C,GAMzCJ,EAA0B0C,EAAkBpC,EAAaH,EAAgBoC,EACzExC,EAAsB2C,GAHtBE,EADcD,EADDH,GASZ,CACLnC,WAViBmC,EAWjBjC,YAVkBoC,EAWlBvC,YAAAA,EACAH,eAAAA,EACAiD,gBAPsBC,KAAKC,IAAIV,EAAiBE,GAQhDnC,aAAAA,EACAP,gBAAAA,EACAwC,gBAAAA,EACA1C,wBAAAA,EACAD,oBAAAA,EACAS,gBAAAA,EACAF,WAAAA,EACAH,cAAAA,IAOF2B,EAASG,EAAgBY,GAEzBZ,EAAiBY,CACnB,IAcA,MAAO,CAAEQ,MAZK,WACZP,OAAOQ,iBAAiB,SAAUpB,GAClCY,OAAOQ,iBAAiB,SAAUpB,GAElCA,GACF,EAOgBqB,KALH,WACXT,OAAOU,oBAAoB,SAAUtB,GACrCY,OAAOU,oBAAoB,SAAUtB,EACvC,EAEsBA,KAAAA,EACxB,EE9BA,EApEA,SAAsBuB,GACpB,ICRgB/C,EAAGgD,EAASC,EACxBC,EDOE7B,EAAa0B,EAAQI,QACrBlD,EAAa8C,EAAQK,cAAgB/B,EAAWgC,kBAChD/B,EAAYyB,EAAQO,SAEpB1D,EAAamD,EAAQnD,YAAc,EACnCH,EAAgBsD,EAAQtD,eAAiB,EAEzC8D,GCfaP,GAAHhD,EDeM,CACpBgD,QAASQ,EACTP,YAAaQ,EACbC,aAAcC,IClBGX,QAASC,EAAWjD,EAAXiD,YACxBC,EADiDlD,EAAZ0D,aAgBlC,CAAEE,kBAbiB,WAAa,QAAAC,EAAA/C,UAAAC,OAAT+C,EAAI,IAAAC,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJF,EAAIE,GAAAlD,UAAAkD,GAChC,OAAOf,EAAYC,GAChBe,MAAK,SAAA3D,GACJ,OADWA,EAAJnB,KACI+E,WAAC,EAAGJ,GAAMK,OAAM,SAACC,GAAS,OAAKA,CAAS,GACrD,GACJ,EAQ4BC,kBANF,SAAH7D,GAAA,IAAU8D,EAAQ9D,EAAZtB,GAAE,OAAiB,WAC9CgE,EAAeoB,EAEftB,EAAQsB,GAASJ,MAAjBlB,EAAOlC,UACT,CAAC,IDOKyD,EAAoBC,EACxB,CACEnD,WAAAA,EACApB,WAAAA,EACAqB,UAAAA,EACA1B,WAAAA,EACAH,cAAAA,IAGF,SAAC8B,EAAgBY,GACf,IAAMsC,EAAalB,EAAIK,kBAAkBzB,GAErCsC,GACFlB,EAAIc,kBAAkBI,EAAtBlB,CAAkCpB,EAAY,CAC5ClC,WAAAA,EACAoB,WAAAA,EACAC,UAAAA,IAIJoD,EAAsBnD,EAAgBY,EACxC,IAGIuC,EAAwB,SAACnD,EAAgBY,GACrBM,KAAKkC,KAC1BpD,EAAeiB,iBAAmB,GAAKL,EAAWK,kBAChD,IAGHnB,EAAWnB,MAAMiB,OAAS,GAAHZ,OAAM4B,EAAWK,gBAAe,MAE3D,EAmBA,OAFAd,uBAPa,WACXL,EAAWnB,MAAM0E,WAAa,SAC9B3E,EAAWC,MAAM2E,MAAQ,UAEzBN,EAAkB5B,OACpB,IAIO,CAAEmC,YAjBW,WAClBP,EAAkB/C,MACpB,EAesBuD,QAbN,WACdR,EAAkB1B,MACpB,EAYF,EEvEO,SAASmC,EAAoBC,EAASC,GACzC,IAAIC,EAAeC,EAAa,CAC5BjC,QAAS8B,EAAQ,GACjB7B,aAAc6B,EAAQhB,KAAK,4BAA4B,GACvDX,SAAU4B,EAAMG,WAChBzF,WAAYsF,EAAMtF,WAClBH,cAAeyF,EAAMzF,gBAEzB,MAAO,CACHqF,YAAaK,EAAaL,YAC1BC,QAASI,EAAaJ,QAE9B,CACA,S","sources":["webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/constants/fsmStates.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/constants/fsmTransitions.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/constants/fsmActions.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/utils/createDimensionObserver.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/utils/rAFThrottle.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/index.js","webpack:///../jarvis/app/assets/javascripts/core/services/FloatSidebar/utils/createFSM.js","webpack:///../jarvis/app/assets/javascripts/site/widgets/StickySidebarWidget.ts"],"sourcesContent":["export const STATE_START = 'START'\nexport const STATE_TOP_FIXED = 'TOP_FIXED'\nexport const STATE_UNFIXED = 'UNFIXED'\nexport const STATE_BOTTOM_FIXED = 'BOTTOM_FIXED'\nexport const STATE_FINISH = 'FINISH'\n","import {\n STATE_START,\n STATE_TOP_FIXED,\n STATE_UNFIXED,\n STATE_BOTTOM_FIXED,\n STATE_FINISH\n} from './fsmStates.js'\n\nexport default {\n [STATE_START]: [\n {\n to: STATE_BOTTOM_FIXED,\n when: d => [\n d.isSideInnerFitsPath === true,\n d.isSideInnerFitsViewport === false,\n d.viewportBottom >= d.sideInnerBottom + d.bottomSpacing\n ],\n },\n {\n to: STATE_TOP_FIXED,\n when: d => [\n d.isSideInnerFitsPath === true,\n d.isSideInnerFitsViewport === true,\n d.viewportTop >= d.startPoint - d.topSpacing\n ]\n }\n ],\n\n [STATE_TOP_FIXED]: [\n {\n to: STATE_START,\n when: d => [d.isSideInnerFitsPath === false],\n },\n {\n to: STATE_START,\n when: d => [d.viewportTop <= d.startPoint - d.topSpacing]\n },\n {\n to: STATE_FINISH,\n when: d => [d.sideInnerBottom >= d.finishPoint]\n },\n {\n to: STATE_UNFIXED,\n when: d => [\n d.scrollDirection === 'down',\n d.isSideInnerFitsViewport === false\n ]\n },\n ],\n\n [STATE_UNFIXED]: [\n {\n to: STATE_START,\n when: d => [d.isSideInnerFitsPath === false],\n },\n {\n to: STATE_TOP_FIXED,\n when: d => [d.viewportTop <= d.sideInnerTop - d.topSpacing]\n },\n {\n to: STATE_TOP_FIXED,\n when: d => [\n d.isSideInnerFitsViewport === true,\n d.viewportBottom >= d.sideInnerBottom + d.bottomSpacing\n ]\n },\n {\n to: STATE_BOTTOM_FIXED,\n when: d => [\n d.isSideInnerFitsViewport === false,\n d.viewportBottom >= d.sideInnerBottom + d.bottomSpacing\n ]\n }\n ],\n\n [STATE_BOTTOM_FIXED]: [\n {\n to: STATE_START,\n when: d => [d.isSideInnerFitsPath === false],\n },\n {\n to: STATE_UNFIXED,\n when: d => [d.scrollDirection === 'up']\n },\n {\n to: STATE_TOP_FIXED,\n when: d => [d.isSideInnerFitsViewport === true,]\n },\n {\n to: STATE_FINISH,\n when: d => [d.sideInnerBottom >= d.finishPoint]\n }\n ],\n\n [STATE_FINISH]: [\n {\n to: STATE_START,\n when: d => [d.isSideInnerFitsPath === false],\n },\n {\n to: STATE_BOTTOM_FIXED,\n when: d => [\n d.sideInnerBottom + d.bottomSpacing <= d.finishPoint,\n d.viewportBottom <= d.finishPoint\n ]\n },\n {\n to: STATE_TOP_FIXED,\n when: d => [d.viewportTop <= d.sideInnerTop - d.topSpacing]\n }\n ]\n}\n","import {\n STATE_START,\n STATE_TOP_FIXED,\n STATE_UNFIXED,\n STATE_BOTTOM_FIXED,\n STATE_FINISH\n} from './fsmStates.js'\n\nexport default {\n [STATE_START]: (d, { $sideInner }) => {\n $sideInner.style.position = 'absolute'\n $sideInner.style.top = '0'\n $sideInner.style.bottom = 'auto'\n },\n\n [STATE_TOP_FIXED]: (d, { $sideInner }) => {\n $sideInner.style.position = 'fixed'\n $sideInner.style.top = `${d.topSpacing}px`\n $sideInner.style.bottom = 'auto'\n },\n\n [STATE_UNFIXED]: (d, { $sideInner }) => {\n $sideInner.style.position = 'absolute'\n $sideInner.style.top = `${d.sideInnerTop - d.startPoint}px`\n $sideInner.style.bottom = 'auto'\n },\n\n [STATE_BOTTOM_FIXED]: (d, { $sideInner }) => {\n $sideInner.style.position = 'fixed'\n $sideInner.style.top = 'auto'\n $sideInner.style.bottom = `${d.bottomSpacing}px`\n },\n\n [STATE_FINISH]: (d, { $sideInner }) => {\n $sideInner.style.position = 'absolute'\n $sideInner.style.top = 'auto'\n $sideInner.style.bottom = '0'\n }\n}\n","import rAFThrottle from './rAFThrottle'\n\nconst computeViewportDimensions = () => {\n const height = window.innerHeight\n const top = window.pageYOffset\n const bottom = top + height\n\n return { top, bottom, height }\n}\n\nconst computeElementDimensions = ($element, viewportTop, topConstraint = 0) => {\n const rect = $element.getBoundingClientRect()\n const top = rect.top + viewportTop\n\n return {\n top: top < topConstraint ? topConstraint : top,\n bottom: rect.bottom + viewportTop,\n height: rect.height\n }\n}\n\nfunction createDimensionObserver({\n $sideInner,\n $sideOuter,\n $relative,\n topSpacing,\n bottomSpacing\n}, callback) {\n let prevDimensions = {}\n\n const computeScrollDirection = viewportTop => (\n prevDimensions.viewportTop < viewportTop ? 'down' :\n prevDimensions.viewportTop > viewportTop ? 'up' : 'notChanged'\n )\n\n const computeDimensions = () => {\n const {\n top: viewportTop,\n bottom: viewportBottom,\n height: viewportHeight\n } = computeViewportDimensions()\n\n const {\n top: sideOuterTop,\n } = computeElementDimensions($sideOuter, viewportTop)\n\n const {\n top: sideInnerTop,\n bottom: sideInnerBottom,\n height: sideInnerHeight\n } = computeElementDimensions($sideInner, viewportTop, sideOuterTop)\n\n const {\n bottom: relativeBottom\n } = computeElementDimensions($relative, viewportTop)\n\n const scrollDirection = computeScrollDirection(viewportTop)\n\n const startPoint = sideOuterTop\n const finishPoint = relativeBottom\n const pathHeight = finishPoint - startPoint\n\n const isSideInnerFitsViewport = sideInnerHeight + topSpacing + bottomSpacing < viewportHeight\n const isSideInnerFitsPath = sideInnerHeight < pathHeight\n\n const sideOuterHeight = Math.max(sideInnerHeight, pathHeight)\n\n return {\n startPoint,\n finishPoint,\n viewportTop,\n viewportBottom,\n sideOuterHeight,\n sideInnerTop,\n sideInnerBottom,\n sideInnerHeight,\n isSideInnerFitsViewport,\n isSideInnerFitsPath,\n scrollDirection,\n topSpacing,\n bottomSpacing\n }\n }\n\n const tick = rAFThrottle(() => {\n const dimensions = computeDimensions()\n\n callback(prevDimensions, dimensions)\n\n prevDimensions = dimensions\n })\n\n const start = () => {\n window.addEventListener('scroll', tick)\n window.addEventListener('resize', tick)\n\n tick()\n }\n\n const stop = () => {\n window.removeEventListener('scroll', tick)\n window.removeEventListener('resize', tick)\n }\n\n return { start, stop, tick }\n}\n\nexport default createDimensionObserver\n","function rAFThrottle(callback) {\n let requestId\n\n return () => {\n if (!requestId) {\n requestId = requestAnimationFrame(() => {\n requestId = null\n callback()\n })\n }\n }\n}\n\nexport default rAFThrottle\n","import fsmTransitions from './constants/fsmTransitions'\nimport fsmActions from './constants/fsmActions'\nimport * as fsmStates from './constants/fsmStates'\n\nimport createFSM from './utils/createFSM'\nimport createDimensionObserver from './utils/createDimensionObserver'\n\nfunction FloatSidebar(options) {\n const $sideOuter = options.sidebar\n const $sideInner = options.sidebarInner || $sideOuter.firstElementChild\n const $relative = options.relative\n\n const topSpacing = options.topSpacing || 0\n const bottomSpacing = options.bottomSpacing || 0\n\n const fsm = createFSM({\n actions: fsmActions,\n transitions: fsmTransitions,\n initialState: fsmStates.STATE_START\n })\n\n const dimensionObserver = createDimensionObserver(\n {\n $sideOuter,\n $sideInner,\n $relative,\n topSpacing,\n bottomSpacing\n },\n\n (prevDimensions, dimensions) => {\n const transition = fsm.findTransitionFor(dimensions)\n\n if (transition) {\n fsm.performTransition(transition)(dimensions, {\n $sideInner,\n $sideOuter,\n $relative\n })\n }\n\n updateSideOuterHeight(prevDimensions, dimensions)\n }\n )\n\n const updateSideOuterHeight = (prevDimensions, dimensions) => {\n const isHeightChanged = Math.abs(\n (prevDimensions.sideOuterHeight || 0) - dimensions.sideOuterHeight\n ) >= 1\n\n if (isHeightChanged) {\n $sideOuter.style.height = `${dimensions.sideOuterHeight}px`\n }\n }\n\n const forceUpdate = () => {\n dimensionObserver.tick()\n }\n\n const destroy = () => {\n dimensionObserver.stop()\n }\n\n const init = () => {\n $sideOuter.style.willChange = 'height'\n $sideInner.style.width = 'inherit'\n\n dimensionObserver.start()\n }\n\n requestAnimationFrame(init)\n\n return { forceUpdate, destroy }\n}\n\nexport default FloatSidebar\n","function createFSM({ actions, transitions, initialState }) {\n let currentState = initialState\n\n const findTransitionFor = (...args) => {\n return transitions[currentState]\n .find(({ when }) => {\n return when(...args).every((condition) => condition)\n })\n }\n\n const performTransition = ({ to: newState }) => (...args) => {\n currentState = newState\n\n actions[newState](...args)\n }\n\n return { findTransitionFor, performTransition }\n}\n\nexport default createFSM\n","//@ts-ignore\nimport FloatSidebar from 'core/services/FloatSidebar';\nexport function StickySidebarWidget($widget, props) {\n let floatSidebar = FloatSidebar({\n sidebar: $widget[0],\n sidebarInner: $widget.find('%{w-StickySidebar/inner}')[0],\n relative: props.relativeEl,\n topSpacing: props.topSpacing,\n bottomSpacing: props.bottomSpacing\n });\n return {\n forceUpdate: floatSidebar.forceUpdate,\n destroy: floatSidebar.destroy\n };\n}\nexport default StickySidebarWidget;\n"],"names":["STATE_START","STATE_TOP_FIXED","STATE_UNFIXED","STATE_BOTTOM_FIXED","STATE_FINISH","_defineProperty","_STATE_START$STATE_TO","to","when","d","isSideInnerFitsPath","isSideInnerFitsViewport","viewportBottom","sideInnerBottom","bottomSpacing","viewportTop","startPoint","topSpacing","finishPoint","scrollDirection","sideInnerTop","_ref","$sideInner","style","position","top","bottom","_ref2","concat","_ref3","_ref4","_ref5","computeElementDimensions","$element","topConstraint","arguments","length","undefined","rect","getBoundingClientRect","height","callback","$sideOuter","$relative","prevDimensions","tick","requestId","requestAnimationFrame","rAFThrottle","_computeViewportDimen","viewportHeight","sideOuterTop","_computeElementDimens2","sideInnerHeight","relativeBottom","pathHeight","dimensions","window","innerHeight","pageYOffset","computeScrollDirection","sideOuterHeight","Math","max","start","addEventListener","stop","removeEventListener","options","actions","transitions","currentState","sidebar","sidebarInner","firstElementChild","relative","fsm","fsmActions","fsmTransitions","initialState","fsmStates","findTransitionFor","_len","args","Array","_key","find","apply","every","condition","performTransition","newState","dimensionObserver","createDimensionObserver","transition","updateSideOuterHeight","abs","willChange","width","forceUpdate","destroy","StickySidebarWidget","$widget","props","floatSidebar","FloatSidebar","relativeEl"],"sourceRoot":""}