{"version":3,"file":"block_program-intro.bundle.js","mappings":"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","sources":["webpack://wombat/./src/blocks/program-intro/program-intro.js","webpack://wombat/./src/js/front/campuses.js","webpack://wombat/./src/blocks/program-intro/_program-intro-styles.scss?4384","webpack://wombat/webpack/bootstrap","webpack://wombat/webpack/runtime/define property getters","webpack://wombat/webpack/runtime/hasOwnProperty shorthand","webpack://wombat/webpack/runtime/make namespace object","webpack://wombat/./src/blocks/program-intro/block-program-intro.js"],"sourcesContent":["import { CampusesTooltips } from './../../js/front/campuses';\n\nwindow.addEventListener( 'DOMContentLoaded', () => {\n\n\tconst tooltips = new CampusesTooltips();\n\ttooltips.toggleTooltips();\n\n} );\n\n/**\n * Set the height of the block.\n */\nconst setBlockHeight = () => {\n\n\tconst mq = \"(max-width: 1199px)\";\n\tconst mediaQueryList = window.matchMedia( mq );\n\tconst blockProgramIntro = document.querySelector( '.b-program-intro' );\n\tconst blockNotifications = document.querySelector( '.c-notification-bar' );\n\tconst pageHeader = document.querySelector( '.page-header' );\n\tconst componentPageHeader = document.querySelector( '.c-page-header.js-c-page-header' );\n\n\t/**\n\t * Get the current height of the block.\n\t */\n\tconst getCurrentHeight = () => {\n\n\t\tlet blockHeight = window.innerHeight;\n\t\tif ( mediaQueryList.matches ) {\n\n\t\t\tblockHeight = blockHeight - 344;\n\n\t\t}\n\n\t\tif ( blockNotifications ) {\n\n\t\t\tconst blockNotificationsHeight = blockNotifications.offsetHeight;\n\t\t\tblockHeight = blockHeight - blockNotificationsHeight;\n\n\t\t}\n\n\t\tif ( pageHeader ) {\n\n\t\t\tconst pageHeaderHeight = pageHeader.offsetHeight;\n\t\t\tblockHeight = blockHeight - pageHeaderHeight;\n\n\t\t}\n\n\t\tif ( componentPageHeader ) {\n\n\t\t\tconst componentPageHeaderHeight = componentPageHeader.offsetHeight;\n\t\t\tblockHeight = blockHeight - componentPageHeaderHeight;\n\n\t\t}\n\n\t\tif ( blockProgramIntro ) {\n\n\t\t\tblockProgramIntro.style.height = `${blockHeight}px`;\n\n\t\t}\n\n\t}\n\n\tgetCurrentHeight();\n\n\twindow.addEventListener( \"resize\", () => {\n\n\t\tgetCurrentHeight();\n\n\t} );\n\n}\nsetBlockHeight();\n","/**\n * Header Class\n */\nexport class CampusesTooltips {\n\n\ttooltips;\n\n\t/**\n\t * Constructor\n\t *\n\t * @return {void}\n\t */\n\tconstructor() {\n\n\t\tthis.tooltips = document.querySelectorAll( '.campus-tooltip-wrapper' );\n\n\t}\n\n\t/**\n\t * toggle campuses tooltips on mobile\n\t *\n\t */\n\ttoggleTooltips = () => {\n\n\t\tif ( this.tooltips.length > 0 ) {\n\n\t\t\tthis.tooltips.forEach( tooltip => {\n\n\t\t\t\tconst tooltipContent = tooltip.querySelector( '.campus-tooltip' );\n\n\t\t\t\tif ( tooltipContent ) {\n\n\t\t\t\t\tthis.setTooltipPosition( tooltip, tooltipContent );\n\n\t\t\t\t\t// toggle tooltip on mobile.\n\t\t\t\t\ttooltip.addEventListener( 'click', ( e ) => {\n\n\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\tconst isMobile = window.matchMedia( '(max-width: 992px)' ).matches;\n\n\t\t\t\t\t\tif ( isMobile && e.target.closest( '.campus-tooltip-wrapper' ) === tooltip ) {\n\n\t\t\t\t\t\t\t// hide all tooltips.\n\t\t\t\t\t\t\tthis.hideAllTooltips( tooltip );\n\n\t\t\t\t\t\t\t// show current tooltip.\n\t\t\t\t\t\t\ttooltip.classList.toggle( 'campus-tooltip-wrapper--visible' );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} )\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n\n\t/**\n\t * Set tooltip position if it extends beyond the screen on the right or left side.\n\t *\n\t * @param {node} tooltip\n\t * @param {node} tooltipContent\n\t */\n\tsetTooltipPosition = ( tooltip, tooltipContent ) => {\n\n\t\tconst mobilePadding = 20;\n\t\tconst tooltipContentWidth = tooltipContent.offsetWidth;\n\t\tconst tooltipPosition = tooltip.getBoundingClientRect();\n\t\tconst tooltipLeftPosition = tooltipPosition.left;\n\t\tconst tooltipRightPosition = window.innerWidth - tooltipPosition.right;\n\t\tconst extendLeft = tooltipLeftPosition < tooltipContentWidth / 2;\n\t\tconst extendRight = tooltipRightPosition < tooltipContentWidth / 2;\n\t\tlet tooltipContentPos = 0;\n\t\tlet afterPos = 0;\n\n\t\tif ( extendLeft ) {\n\n\t\t\ttooltipContentPos = ( tooltipContentWidth / 2 ) - ( ( tooltipContentWidth / 2 ) - tooltipLeftPosition + mobilePadding );\n\t\t\tafterPos = tooltipLeftPosition - 8;\n\n\t\t}\n\n\t\tif ( extendRight ) {\n\n\t\t\ttooltipContentPos = ( tooltipContentWidth / 2 ) + ( ( tooltipContentWidth / 2 ) - tooltipRightPosition ) + mobilePadding;\n\t\t\tafterPos = tooltipContentWidth - ( tooltipRightPosition - tooltip.offsetWidth - 8 );\n\n\t\t}\n\n\t\tif ( extendLeft || extendRight ) {\n\n\t\t\ttooltipContent.style.left = `-${ tooltipContentPos }px`;\n\t\t\ttooltipContent.style.transform = 'none';\n\t\t\ttooltipContent.style.setProperty( '--campus-tooltip-after-position', `${ afterPos }px` );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Hide all campuses tooltips, except current one\n\t *\n\t * @param {node} tooltip\n\t */\n\thideAllTooltips = ( tooltip ) => {\n\n\t\tthis.tooltips.forEach( ( singleTooltip ) => {\n\n\t\t\tconst notRemove = tooltip === singleTooltip && tooltip.classList.contains( 'campus-tooltip-wrapper--visible' );\n\n\t\t\tif ( ! notRemove ) {\n\n\t\t\t\tsingleTooltip.classList.remove( 'campus-tooltip-wrapper--visible' );\n\n\t\t\t}\n\n\t\t} );\n\n\t}\n\n}\n","// extracted by mini-css-extract-plugin\nexport {};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"./_program-intro-styles.scss\";\n\nimport './program-intro';\n"],"names":["CampusesTooltips","window","addEventListener","tooltips","toggleTooltips","setBlockHeight","mq","mediaQueryList","matchMedia","blockProgramIntro","document","querySelector","blockNotifications","pageHeader","componentPageHeader","getCurrentHeight","blockHeight","innerHeight","matches","blockNotificationsHeight","offsetHeight","pageHeaderHeight","componentPageHeaderHeight","style","height","concat","_createClass","_this","_classCallCheck","_defineProperty","length","forEach","tooltip","tooltipContent","setTooltipPosition","e","preventDefault","isMobile","target","closest","hideAllTooltips","classList","toggle","mobilePadding","tooltipContentWidth","offsetWidth","tooltipPosition","getBoundingClientRect","tooltipLeftPosition","left","tooltipRightPosition","innerWidth","right","extendLeft","extendRight","tooltipContentPos","afterPos","transform","setProperty","singleTooltip","notRemove","contains","remove","querySelectorAll"],"sourceRoot":""}