{"version":3,"sources":["webpack:///webpack/bootstrap 03de493b526eb148487f","webpack:///./Scripts/src/menu.js","webpack:///./Scripts/src/main.js","webpack:///./Scripts/src/psp.js","webpack:///./Scripts/libraries/tooltip.js"],"names":["Menu","toggler","container","openClass","toggleOpenClass","speed","open","t","tc","c","cc","classList","remove","$","slideUp","add","slideDown","header","document","querySelector","headerHeight","lastScrollTop","scrolled","timer","Settings","windowOffsetY","window","pageYOffset","documentElement","scrollTop","breakpoints","small","medium","large","mainMenu","references","getQueryString","field","reg","RegExp","string","exec","location","href","revealMenu","pos","addEventListener","pageID","attr","AOS","init","once","settings","hb","getBoundingClientRect","height","e","toggle","toggleClass","preventDefault","setInterval","removeClass","w","Math","max","clientWidth","innerWidth","show","hide","winw","width","is","css","addClass","curr","changeVis","fadeOut","setTimeout","fadeIn","on","content","html","contents","interstitial","event","openAll","getElementsByClassName","closeAll","shadeToggles","i","length","shadeToggle","currentTarget","shade","nextElementSibling","contains","fields","radioBttns","phoneViz","checkfields","each","el","myId","val","hasClass","checkradios","patient","careg","age","partName","symptomName","radios","querySelectorAll","phoneno","changeHandler","value","Array","prototype","forEach","call","radio","myAbbrs","abbr","tooltip","Tooltip","innerHTML","positioningTypes","above","Psp","openHeight","closedHeight","visible","options","svgNamespace","defaultViewportMargin","notchSize","spacingAdjustment","outline","color","opacity","radius","dropShadow","size","xOffset","yOffset","revealDuration","revealDistance","hideDuration","slowMoScale","classNames","base","positioningTypeAbove","positioningTypeBelow","positioningTypeLeft","positioningTypeRight","below","left","right","filterCount","numberToPx","toString","hoverElement","targetElement","tooltipContent","positioningType","viewport","originalPositioningType","resizeCallback","top","bottom","innerHeight","createElement","svg","createElementNS","appendChild","filterId","defsNode","filterNode","feMorphologyNode","feOutlineFloodNode","feOutlineCompositeNode","feGaussianBlurNode","feOffsetNode","feBlurFloodNode","feBlurCompositeNode","feMergeNode","feMergeNodeNode","outerGroupNode","polygonGroupNode","polygonNode","textGroupNode","backdropNode","setAttribute","body","style","dimensions","margins","textBox","x","y","clientHeight","tooltipSizeWithoutNotch","removeAttribute","display","timeline","revealCallback","containerOffset","textBoxPositionWithNotch","tooltipSizeWithNotch","targetBoundingBox","containerBoundingBoxTop","containerBoundingBoxBottom","containerBoundingBoxLeft","containerBoundingBoxRight","notchPositioningOffset","ceil","backdropPolygonPoints","doubleRadius","shortWidth","shortHeight","notchPolygonPoints","polygonMidpoint","progress","TimelineLite","fromTo","shiftKey","ease","Power4","easeOut","onUpdate","percentComplete","reversePercentComplete","offset","round","parentNode","transform","onComplete","hideCallback","Power2","touchHideCallback","removeEventListener"],"mappings":"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","file":"./Scripts/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 03de493b526eb148487f","/* base class that provides common menu behaviors\r\n * dependencies: jQuery for sliding behavior on toggle\r\n */\r\n\r\nexport class Menu {\r\n constructor(toggler, container, openClass, toggleOpenClass, speed) {\r\n this.toggler = toggler;\r\n this.container = container;\r\n this.openClass = openClass;\r\n this.toggleOpenClass = toggleOpenClass;\r\n this.speed = speed;\r\n this.open = false;\r\n };\r\n\r\n toggle() {\r\n let t = this.toggler;\r\n let tc = this.toggleOpenClass;\r\n let c = this.container;\r\n let cc = this.openClass;\r\n\r\n if (this.open) {\r\n this.open = false;\r\n c.classList.remove(cc);\r\n t.classList.remove(tc);\r\n\r\n $(this.container).slideUp(this.speed);\r\n } else {\r\n this.open = true;\r\n c.classList.add(cc);\r\n t.classList.add(tc);\r\n\r\n $(this.container).slideDown(this.speed);\r\n }\r\n };\r\n}\n\n\n// WEBPACK FOOTER //\n// ./Scripts/src/menu.js","\"use strict\";\r\n\r\nimport { Menu } from \"./menu.js\";\r\nimport { Psp } from \"./psp.js\";\r\nimport { Tooltip } from \"../libraries/tooltip.js\";\r\n\r\nconst header = document.querySelector(\"header\");\r\n\r\nlet headerHeight = 0;\r\nlet lastScrollTop = 0;\r\nlet scrolled = false;\r\nlet timer;\r\n\r\n\r\nclass Settings {\r\n constructor() {\r\n this.windowOffsetY = window.pageYOffset || window.document.documentElement.scrollTop;\r\n\r\n this.breakpoints = {\r\n small: 920,\r\n medium: 1024,\r\n large: 1366\r\n };\r\n\r\n this.mainMenu = new Menu(\r\n document.querySelector(\".menu-control\"),\r\n document.querySelector(\"nav\"),\r\n \"menu-open\",\r\n \"menu-control-open\",\r\n 500\r\n );\r\n\r\n this.references = new Menu(\r\n document.querySelector(\".references-link\"),\r\n document.querySelector(\".references-list\"),\r\n \"references-open\",\r\n \"references-control-open\",\r\n 300\r\n );\r\n }\r\n}\r\n\r\nfunction getQueryString(field) {\r\n var reg = new RegExp(\"[?&]\" + field + \"=([^&#]*)\", \"i\");\r\n var string = reg.exec(window.location.href);\r\n return string ? string[1] : null;\r\n};\r\n\r\nfunction revealMenu() {\r\n let pos = window.pageYOffset;\r\n\r\n if (pos < headerHeight) {\r\n header.classList.remove(\"header-up\");\r\n\r\n if (pos === 0) {\r\n header.classList.remove(\"header-down\");\r\n }\r\n } else {\r\n if (pos > lastScrollTop) {\r\n header.classList.remove(\"header-down\");\r\n header.classList.add(\"header-up\");\r\n } else {\r\n header.classList.remove(\"header-up\");\r\n header.classList.add(\"header-down\");\r\n }\r\n }\r\n\r\n lastScrollTop = pos;\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\r\n var pageID = $('body').attr('id');\r\n if (pageID === 'home' || pageID === 'aboutpnh' || pageID === 'managingpnh' || pageID === 'community' || pageID === 'restools') {\r\n AOS.init({ once: true });\r\n }\r\n\r\n const settings = new Settings();\r\n\r\n let hb = header.getBoundingClientRect();\r\n\r\n headerHeight = hb.height;\r\n\r\n /* Set up menus */\r\n if (settings.mainMenu.toggler) {\r\n settings.mainMenu.toggler.addEventListener(\"click\", (e) => {\r\n settings.mainMenu.toggle();\r\n $('html').toggleClass('menu-fixed');\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n if (settings.references.toggler) {\r\n settings.references.toggler.addEventListener(\"click\", (e) => {\r\n settings.references.toggle();\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n /* Slide the header back in when the user scrolls up */\r\n setInterval(function () {\r\n if (scrolled) {\r\n revealMenu();\r\n scrolled = false;\r\n }\r\n }, 200);\r\n\r\n window.addEventListener(\"scroll\", (e) => {\r\n scrolled = true;\r\n });\r\n\r\n window.addEventListener(\"resize\", (e) => {\r\n if (settings.mainMenu.toggler) {\r\n if (settings.mainMenu.open) {\r\n settings.mainMenu.toggle();\r\n $('html').removeClass('menu-fixed');\r\n }\r\n\r\n let w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n\r\n if (w > settings.breakpoints[\"small\"]) {\r\n $(settings.mainMenu.container).show();\r\n } else {\r\n $(settings.mainMenu.container).hide();\r\n }\r\n }\r\n\r\n\r\n // open all the
s as any one of them\r\n // may have been closed on desktop\r\n var winw = $(window).width();\r\n if ($('.collapsible-link')[0] !== null && winw <= 768) {\r\n // check w changed and it's not iOS triggering a resize\r\n if (winw !== $(window).width()) { \r\n if ($('dd').is(\":hidden\")) {\r\n $('dd').css('display', 'block');\r\n $('dt').addClass('open-shade');\r\n winw = $(window).width();\r\n }\r\n }\r\n }\r\n });\r\n //Patient experiences switcher\r\n var curr = '';\r\n function changeVis(curr) {\r\n $('a.patname').attr('id', '');\r\n $('a.patname[data-name=\"' + curr + '\"]').attr('id', 'active');\r\n $('.patientvideos[data-patient]').fadeOut(200);\r\n setTimeout(function () {\r\n //cssgrid yes\r\n $('.cssgrid .patientvideos[data-patient=\"' + curr + '\"], .cssgridlegacy .patientvideos[data-patient=\"' + curr + '\"]').css({'display': 'flex' }).fadeIn(200); \r\n //cssgrid no\r\n //$('.no-cssgrid .patientvideos[data-patient=\"' + curr + '\"]').css({ 'display': 'flex' }).fadeIn(200);\r\n },210);\r\n }\r\n $('a.patname[data-name]').on('click', function () {\r\n curr = $(this).attr('data-name');\r\n changeVis(curr);\r\n });\r\n\r\n // Wistia video modal\r\n $('a.showvideo').on('click', function () {\r\n $('#video').css('display', 'block');\r\n\r\n if ($(this).attr('data-video') !== null ) {\r\n var content = $(this).attr('data-video');\r\n $('#video .popup-content p').html('
');\r\n }\r\n else {\r\n var contents = $(this).html();\r\n $('#video .popup-content p').html(contents);\r\n }\r\n });\r\n $('a.close-button, .popup-overlay').on('click', function () {\r\n $('#video').css('display', 'none');\r\n $('#user-interstitial').css('display', 'none');\r\n interstitial = 0;\r\n event.preventDefault();\r\n }); \r\n\r\n // leaving site interstitial \r\n var interstitial = 0;\r\n $('.external').on('click', function (event) {\r\n $('#user-interstitial').css('display', 'block');\r\n var href = $(this).attr('href');\r\n $('#modal-go').attr('href', href);\r\n interstitial = 1;\r\n event.preventDefault();\r\n });\r\n $('#modal-go').on('click', function () {\r\n $('#user-interstitial').css('display', 'none');\r\n interstitial = 0;\r\n });\r\n\r\n $('#modal-cancel').on('click', function (event) {\r\n $('#user-interstitial').css('display', 'none');\r\n interstitial = 0;\r\n event.preventDefault();\r\n });\r\n\r\n // glossary revealer\r\n let openAll = document.getElementsByClassName('open-all');\r\n $('.open-all').on('click', function () {\r\n $('.collapsible-block dt').addClass('open-shade');\r\n $('.collapsible-block dd').css('display', 'block');\r\n });\r\n\r\n let closeAll = document.getElementsByClassName('close-all');\r\n $('.close-all').on('click', function () {\r\n $('.collapsible-block dt').removeClass('open-shade');\r\n $('.collapsible-block dd').css('display', 'none');\r\n });\r\n \r\n let shadeToggles = document.getElementsByClassName(\"collapsible-link\");\r\n \r\n for (let i = 0; i < shadeToggles.length; i++) {\r\n shadeToggles[i].addEventListener(\"click\", (e) => {\r\n let shadeToggle = e.currentTarget;\r\n let shade = shadeToggle.nextElementSibling;\r\n\r\n if (shadeToggle.classList.contains(\"open-shade\")) {\r\n $(shade).slideUp(100, function () {\r\n shadeToggle.classList.remove(\"open-shade\");\r\n });\r\n } else {\r\n $(shade).slideDown(100, function () {\r\n shadeToggle.classList.add(\"open-shade\");\r\n });\r\n }\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n // ambassador form validation\r\n var fields = false,\r\n radioBttns = false,\r\n phoneViz = false;\r\n\r\n function checkfields() {\r\n $('.text-field').each(function () {\r\n var el = $(this);\r\n var myId = $(this).attr('id');\r\n if (el.val().length <= 0) {\r\n $('#' + myId + '-error').css({ 'display': 'inline', 'visibility': 'visible' });\r\n $('#' + myId + '-indicator').css({ 'display': 'block', 'visibility': 'visible' });\r\n $('#' + myId).css('border', '1px solid #d22c49');\r\n } else {\r\n $('#' + myId + '-error').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#' + myId + '-indicator').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#' + myId).css('border', '1px solid #f1f0f0');\r\n fields = true;\r\n }\r\n });\r\n if ($('label[for=\"phone\"]').hasClass('hide') === false) {\r\n if ($('#phone').val().length <= 0) {\r\n $('#phone-error').css({ 'display': 'inline', 'visibility': 'visible' });\r\n $('#phone-indicator').css({ 'display': 'block', 'visibility': 'visible' });\r\n $('#phone').css('border', '1px solid #d22c49');\r\n }\r\n else {\r\n $('#phone-error').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#phone-indicator').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#phone').css('border', '1px solid #f1f0f0');\r\n phoneViz = true;\r\n }\r\n }\r\n else {\r\n phoneViz = true;\r\n }\r\n }\r\n function checkradios() {\r\n var patient = $('input#iam-patient').is(':checked'),\r\n careg = $('input#iam-caregiver').is(':checked'),\r\n age = $('input#ageverify').is(':checked');\r\n\r\n if (!patient && !careg) {\r\n $('#iam-indicator').css({ 'display': 'block', 'visibility': 'visible' });\r\n $('#iam-error').removeClass('hide');\r\n }\r\n if (!age) {\r\n $('#ageverify-indicator').css({ 'display': 'block', 'visibility': 'visible' });\r\n $('#ageverify-error').removeClass('hide');\r\n\r\n }\r\n else {\r\n $('#iam-indicator').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#ageverify-indicator').css({ 'display': 'none', 'visibility': 'hidden' });\r\n $('#ageverify-error').addClass('hide');\r\n $('#iam-error').addClass('hide');\r\n radioBttns = true;\r\n }\r\n }\r\n $('input#ambassador').on('click', function (e) {\r\n checkfields();\r\n checkradios();\r\n if (fields === true && phoneViz === true && radioBttns === true) {\r\n return true;\r\n }\r\n e.preventDefault();\r\n });\r\n\r\n // signs & symptoms interactive states\r\n $('.body-part').on('mouseenter', function () {\r\n var partName = $(this).attr('id');\r\n $('li[name=\"' + partName + '\"]').addClass('active');\r\n $(this).addClass('active');\r\n }).on('mouseleave', function () {\r\n var partName = $(this).attr('id');\r\n $('li[name=\"' + partName + '\"]').removeClass('active');\r\n $(this).removeClass('active');\r\n });\r\n\r\n $('.common li').on('mouseenter', function () {\r\n var symptomName = $(this).attr('name');\r\n $(this).addClass('active');\r\n $('div#' + symptomName).addClass('active');\r\n }).on('mouseleave', function () {\r\n $(this).removeClass('active');\r\n $('div.body-part').removeClass('active');\r\n });\r\n\r\n //sign up form \r\n // show/hide phone number field\r\n var radios = document.querySelectorAll('input[type=radio][name=\"signup\"]'),\r\n phoneno = $('label[for=\"phone\"]');\r\n\r\n function changeHandler(event) {\r\n if (this.value === 'become-ambassador') {\r\n $(phoneno).removeClass('hide');\r\n } else {\r\n $(phoneno).addClass('hide');\r\n }\r\n }\r\n Array.prototype.forEach.call(radios, function (radio) {\r\n radio.addEventListener('change', changeHandler);\r\n });\r\n\r\n // tooltips for glossary terms\r\n var myAbbrs = document.getElementsByClassName('abbr');\r\n for (var i = 0; i < myAbbrs.length; i++) {\r\n var abbr = myAbbrs[i];\r\n abbr.tooltip = new Tooltip(\r\n abbr,\r\n abbr,\r\n abbr.querySelector('.abbrcontent').innerHTML,\r\n Tooltip.positioningTypes.above,\r\n null);\r\n }\r\n\r\n});\n\n\n// WEBPACK FOOTER //\n// ./Scripts/src/main.js","/* Our PSPs act much like menus, but have additional variables for\r\n * remaining partially on screen when \"closed\" and\r\n * for disappearing on scroll\r\n */\r\n\r\nimport { Menu } from \"./menu.js\";\r\n\r\nexport class Psp extends Menu {\r\n constructor(toggler, container, openClass, speed, openHeight, closedHeight, visible) {\r\n super(options);\r\n this.openHeight = openHeight;\r\n this.closedHeight = closedHeight;\r\n this.visible = visible;\r\n };\r\n}\n\n\n// WEBPACK FOOTER //\n// ./Scripts/src/psp.js","var\r\n // Tooltip settings\r\n settings = {\r\n svgNamespace: \"http://www.w3.org/2000/svg\",\r\n\r\n // Minimum space from the viewport's edge when no explicit viewport is provided\r\n defaultViewportMargin: 10,\r\n\r\n // Size of the triangular notch\r\n notchSize: 10,\r\n\r\n // This moves the position of the tooltip closer or further away from the target;\r\n // set to the opposite of the drop shadow size to make the notch touch the target's edge\r\n spacingAdjustment: 0,\r\n\r\n // Outline settings\r\n outline: {\r\n color: \"#f58345\",\r\n opacity: 1,\r\n radius: 10\r\n },\r\n\r\n // Drop shadow settings\r\n dropShadow: {\r\n color: \"#333333\",\r\n opacity: 0.25,\r\n size: 5,\r\n xOffset: 2,\r\n yOffset: 2\r\n },\r\n\r\n // Animation settings\r\n revealDuration: 0.5,\r\n revealDistance: -5,\r\n hideDuration: 0.3,\r\n slowMoScale: 5,\r\n\r\n // Class names\r\n classNames: {\r\n base: \"tooltip\",\r\n\r\n positioningTypeAbove: \"tooltip-above\",\r\n positioningTypeBelow: \"tooltip-below\",\r\n positioningTypeLeft: \"tooltip-left\",\r\n positioningTypeRight: \"tooltip-right\"\r\n }\r\n },\r\n\r\n positioningTypes = {\r\n above: 0,\r\n below: 1,\r\n left: 2,\r\n right: 3\r\n },\r\n\r\n filterCount = 0,\r\n\r\n numberToPx = function (value) {\r\n return value.toString() + \"px\";\r\n };\r\n\r\nexport class Tooltip {\r\n constructor(hoverElement, targetElement, tooltipContent, positioningType, viewport) {\r\n var t = this;\r\n\r\n t.visible = false;\r\n t.originalPositioningType = positioningType;\r\n\r\n // Setup viewport if not specified\r\n if (typeof viewport != \"object\" || viewport === null) {\r\n viewport = {};\r\n\r\n var resizeCallback = function () {\r\n viewport.top = settings.defaultViewportMargin;\r\n viewport.bottom = viewport.top + window.innerHeight - (settings.defaultViewportMargin * 2);\r\n\r\n viewport.left = settings.defaultViewportMargin;\r\n viewport.right = viewport.left + window.innerWidth - (settings.defaultViewportMargin * 2);\r\n };\r\n\r\n window.addEventListener(\"resize\", resizeCallback);\r\n resizeCallback();\r\n }\r\n\r\n // Create our DOM elements\r\n t.container = document.createElement(\"div\");\r\n t.container.classList.add(settings.classNames.base);\r\n\r\n t.svg = document.createElementNS(settings.svgNamespace, \"svg\");\r\n t.container.appendChild(t.svg);\r\n\r\n t.content = document.createElement(\"div\");\r\n t.content.innerHTML = tooltipContent;\r\n t.container.appendChild(t.content);\r\n\r\n // Construct the entire SVG template programmatically... I tried some\r\n // shortcuts to avoid this, but browsers were having none of it\r\n var filterId = \"tooltip-dropshadow-\" + (++filterCount).toString(),\r\n defsNode = document.createElementNS(settings.svgNamespace, \"defs\"),\r\n filterNode = document.createElementNS(settings.svgNamespace, \"filter\"),\r\n feMorphologyNode = document.createElementNS(settings.svgNamespace, \"feMorphology\"),\r\n feOutlineFloodNode = document.createElementNS(settings.svgNamespace, \"feFlood\"),\r\n feOutlineCompositeNode = document.createElementNS(settings.svgNamespace, \"feComposite\"),\r\n feGaussianBlurNode = document.createElementNS(settings.svgNamespace, \"feGaussianBlur\"),\r\n feOffsetNode = document.createElementNS(settings.svgNamespace, \"feOffset\"),\r\n feBlurFloodNode = document.createElementNS(settings.svgNamespace, \"feFlood\"),\r\n feBlurCompositeNode = document.createElementNS(settings.svgNamespace, \"feComposite\"),\r\n feMergeNode = document.createElementNS(settings.svgNamespace, \"feMerge\"),\r\n feMergeNodeNode = document.createElementNS(settings.svgNamespace, \"feMergeNode\"),\r\n outerGroupNode = document.createElementNS(settings.svgNamespace, \"g\"),\r\n polygonGroupNode = document.createElementNS(settings.svgNamespace, \"g\"),\r\n polygonNode = document.createElementNS(settings.svgNamespace, \"polygon\"),\r\n textGroupNode = document.createElementNS(settings.svgNamespace, \"g\"),\r\n backdropNode;\r\n\r\n // If there's a corner radius specified for the tooltip, we'll generate a\r\n // path for the backdrop; otherwise we just make a rect\r\n if (settings.outline.radius > 0)\r\n backdropNode = document.createElementNS(settings.svgNamespace, \"path\");\r\n else\r\n backdropNode = document.createElementNS(settings.svgNamespace, \"rect\");\r\n\r\n // Create defs node to contain the filter\r\n t.svg.appendChild(defsNode);\r\n\r\n // Create filter node to contain the instructions\r\n filterNode.setAttribute(\"id\", filterId);\r\n defsNode.appendChild(filterNode);\r\n\r\n // Apply outline effect\r\n feMorphologyNode.setAttribute(\"operator\", \"dilate\");\r\n feMorphologyNode.setAttribute(\"in\", \"SourceAlpha\");\r\n feMorphologyNode.setAttribute(\"result\", \"dilated\");\r\n feMorphologyNode.setAttribute(\"radius\", \"1\");\r\n filterNode.appendChild(feMorphologyNode);\r\n\r\n // Change the outline's color\r\n feOutlineFloodNode.setAttribute(\"flood-color\", settings.outline.color);\r\n feOutlineFloodNode.setAttribute(\"flood-opacity\", settings.outline.opacity.toString());\r\n feOutlineFloodNode.setAttribute(\"result\", \"colorized1\");\r\n filterNode.appendChild(feOutlineFloodNode);\r\n\r\n // Composite the color with the outline\r\n feOutlineCompositeNode.setAttribute(\"in\", \"colorized1\");\r\n feOutlineCompositeNode.setAttribute(\"in2\", \"dilated\");\r\n feOutlineCompositeNode.setAttribute(\"operator\", \"in\");\r\n feOutlineCompositeNode.setAttribute(\"result\", \"outline\");\r\n filterNode.appendChild(feOutlineCompositeNode);\r\n\r\n // Apply gaussian blur, overwriting the outline - we leave this on screen\r\n feGaussianBlurNode.setAttribute(\"in\", \"SourceAlpha\");\r\n feGaussianBlurNode.setAttribute(\"stdDeviation\", (settings.dropShadow.size / 2).toString());\r\n filterNode.appendChild(feGaussianBlurNode);\r\n\r\n // Offset gaussian blur\r\n feOffsetNode.setAttribute(\"dx\", settings.dropShadow.xOffset.toString());\r\n feOffsetNode.setAttribute(\"dy\", settings.dropShadow.yOffset.toString());\r\n feOffsetNode.setAttribute(\"result\", \"offsetblur\");\r\n filterNode.appendChild(feOffsetNode);\r\n\r\n // Change the blur's color\r\n feBlurFloodNode.setAttribute(\"flood-color\", settings.dropShadow.color);\r\n feBlurFloodNode.setAttribute(\"flood-opacity\", settings.dropShadow.opacity.toString());\r\n feBlurFloodNode.setAttribute(\"result\", \"colorized2\");\r\n filterNode.appendChild(feBlurFloodNode);\r\n\r\n // Composite the color with the blur\r\n feBlurCompositeNode.setAttribute(\"in\", \"colorized2\");\r\n feBlurCompositeNode.setAttribute(\"in2\", \"offsetblur\");\r\n feBlurCompositeNode.setAttribute(\"operator\", \"in\");\r\n feBlurCompositeNode.setAttribute(\"result\", \"colorblur\");\r\n filterNode.appendChild(feBlurCompositeNode);\r\n\r\n // Add merge node\r\n filterNode.appendChild(feMergeNode);\r\n\r\n // An empty merge node includes what's currently on screen (...I think)\r\n feMergeNode.appendChild(document.createElementNS(settings.svgNamespace, \"feMergeNode\"));\r\n\r\n // Merge in the \"outline\" result\r\n feMergeNodeNode.setAttribute(\"in\", \"outline\");\r\n feMergeNode.appendChild(feMergeNodeNode);\r\n\r\n // Merge in the original source graphic\r\n feMergeNodeNode = document.createElementNS(settings.svgNamespace, \"feMergeNode\");\r\n feMergeNodeNode.setAttribute(\"in\", \"SourceGraphic\");\r\n feMergeNode.appendChild(feMergeNodeNode);\r\n\r\n // Apply the filter to the group that includes all our shapes\r\n outerGroupNode.setAttribute(\"style\", \"filter: url(#\" + filterId + \")\");\r\n t.svg.appendChild(outerGroupNode);\r\n\r\n outerGroupNode.appendChild(polygonGroupNode);\r\n\r\n polygonGroupNode.appendChild(polygonNode);\r\n\r\n outerGroupNode.appendChild(textGroupNode);\r\n\r\n textGroupNode.appendChild(backdropNode);\r\n\r\n // Add our elements to the body\r\n document.body.appendChild(t.container);\r\n t.container.style.width = \"100%\";\r\n\r\n // Measure text and adjust positioning of the SVG rect\r\n // and our content div to accomodate for the drop shadow size\r\n var\r\n dimensions = {\r\n margins: {\r\n top: settings.dropShadow.size,\r\n right: settings.dropShadow.size + settings.dropShadow.xOffset,\r\n bottom: settings.dropShadow.size + settings.dropShadow.yOffset,\r\n left: settings.dropShadow.size\r\n },\r\n textBox: {\r\n x: settings.dropShadow.size,\r\n y: settings.dropShadow.size,\r\n width: t.content.clientWidth,\r\n height: t.content.clientHeight\r\n }\r\n },\r\n tooltipSizeWithoutNotch = {\r\n width: dimensions.textBox.width + dimensions.margins.left + dimensions.margins.right,\r\n height: dimensions.textBox.height + dimensions.margins.top + dimensions.margins.bottom\r\n };\r\n\r\n t.container.removeAttribute(\"style\");\r\n\r\n // Hide everything\r\n t.container.style.display = \"none\";\r\n\r\n // Setup mouseover & touch events\r\n var\r\n timeline = null,\r\n\r\n revealCallback = function (event) {\r\n t.visible = true;\r\n\r\n t.container.style.display = \"block\";\r\n\r\n // Reset positioning type\r\n positioningType = t.originalPositioningType;\r\n\r\n // Determine how the tooltip should be positioned, in its primary\r\n // presentation axis, given the requested positioningType value\r\n // (left/right = x axis, above/below = y axis)\r\n var\r\n containerOffset = null,\r\n textBoxPositionWithNotch = null,\r\n tooltipSizeWithNotch = null,\r\n targetBoundingBox = targetElement.getBoundingClientRect();\r\n\r\n switch (positioningType) {\r\n case positioningTypes.above:\r\n // Set tooltipSizeWithNotch value\r\n tooltipSizeWithNotch = {\r\n width: tooltipSizeWithoutNotch.width,\r\n height: tooltipSizeWithoutNotch.height + settings.notchSize\r\n };\r\n\r\n // Determine if there's no room above the target element\r\n // to fit the tooltip on screen\r\n var\r\n containerBoundingBoxTop = (targetBoundingBox.top - settings.spacingAdjustment) - tooltipSizeWithNotch.height,\r\n containerBoundingBoxBottom = containerBoundingBoxTop + tooltipSizeWithNotch.height;\r\n\r\n if (containerBoundingBoxTop < viewport.top) {\r\n // There's no room above - check below\r\n containerBoundingBoxTop = (targetBoundingBox.top + settings.spacingAdjustment) + targetBoundingBox.height;\r\n containerBoundingBoxBottom = containerBoundingBoxTop + tooltipSizeWithNotch.height;\r\n\r\n if (containerBoundingBoxBottom < viewport.bottom) {\r\n // There's room below - switch to that positioning\r\n containerOffset = {\r\n top: (targetBoundingBox.top + settings.spacingAdjustment) + targetBoundingBox.height,\r\n left: targetBoundingBox.left\r\n };\r\n\r\n positioningType = positioningTypes.below;\r\n\r\n // Set textBoxPositionWithNotch value based on below positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y + settings.notchSize\r\n };\r\n }\r\n }\r\n\r\n // If we didn't choose an alternate positioning, go with the default position\r\n if (containerOffset == null) {\r\n containerOffset = {\r\n top: (targetBoundingBox.top - settings.spacingAdjustment) - tooltipSizeWithNotch.height,\r\n left: targetBoundingBox.left\r\n };\r\n\r\n // Set textBoxPositionWithNotch value based on above positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n break;\r\n\r\n case positioningTypes.below:\r\n // Set tooltipSizeWithNotch value\r\n tooltipSizeWithNotch = {\r\n width: tooltipSizeWithoutNotch.width,\r\n height: tooltipSizeWithoutNotch.height + settings.notchSize\r\n };\r\n\r\n // Determine if there's no room below of the target element\r\n // to fit the tooltip on screen\r\n var\r\n containerBoundingBoxTop = (targetBoundingBox.top + settings.spacingAdjustment) + targetBoundingBox.height,\r\n containerBoundingBoxBottom = containerBoundingBoxTop + tooltipSizeWithNotch.height;\r\n\r\n if (containerBoundingBoxBottom > viewport.bottom) {\r\n // There's no room below - check above\r\n containerBoundingBoxTop = (targetBoundingBox.top - settings.spacingAdjustment) - tooltipSizeWithNotch.height;\r\n\r\n if (containerBoundingBoxTop > viewport.top) {\r\n // There's room above - switch to that positioning\r\n containerOffset = {\r\n top: (targetBoundingBox.top - settings.spacingAdjustment) - tooltipSizeWithNotch.height,\r\n left: targetBoundingBox.left\r\n };\r\n\r\n positioningType = positioningTypes.above;\r\n\r\n // Set textBoxPositionWithNotch value based on above positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n }\r\n\r\n // If we didn't choose an alternate positioning, go with the default position\r\n if (containerOffset == null) {\r\n containerOffset = {\r\n top: (targetBoundingBox.top + settings.spacingAdjustment) + targetBoundingBox.height,\r\n left: targetBoundingBox.left\r\n };\r\n\r\n // Set textBoxPositionWithNotch value based on below positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y + settings.notchSize\r\n };\r\n }\r\n break;\r\n\r\n case positioningTypes.left:\r\n // Set tooltipSizeWithNotch value\r\n tooltipSizeWithNotch = {\r\n width: tooltipSizeWithoutNotch.width + settings.notchSize,\r\n height: tooltipSizeWithoutNotch.height\r\n };\r\n\r\n // Determine if there's no room to the left of the target element\r\n // to fit the tooltip on screen\r\n var\r\n containerBoundingBoxLeft = (targetBoundingBox.left - settings.spacingAdjustment) - tooltipSizeWithNotch.width,\r\n containerBoundingBoxRight = containerBoundingBoxLeft + tooltipSizeWithNotch.width;\r\n\r\n if (containerBoundingBoxLeft < viewport.left) {\r\n // There's no room on the left - check on the right\r\n containerBoundingBoxLeft = (targetBoundingBox.left + settings.spacingAdjustment) + targetBoundingBox.width;\r\n containerBoundingBoxRight = containerBoundingBoxLeft + tooltipSizeWithNotch.width;\r\n\r\n if (containerBoundingBoxRight < viewport.right) {\r\n // There's room on the right - switch to that positioning\r\n containerOffset = {\r\n top: targetBoundingBox.top,\r\n left: (targetBoundingBox.left + settings.spacingAdjustment) + targetBoundingBox.width\r\n };\r\n\r\n positioningType = positioningTypes.right;\r\n\r\n // Set textBoxPositionWithNotch value based on right positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x + settings.notchSize,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n }\r\n\r\n // If we didn't choose an alternate positioning, go with the default position\r\n if (containerOffset == null) {\r\n containerOffset = {\r\n top: targetBoundingBox.top,\r\n left: (targetBoundingBox.left - settings.spacingAdjustment) - tooltipSizeWithNotch.width\r\n };\r\n\r\n // Set textBoxPositionWithNotch value based on left positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n break;\r\n\r\n case positioningTypes.right:\r\n // Set tooltipSizeWithNotch value\r\n tooltipSizeWithNotch = {\r\n width: tooltipSizeWithoutNotch.width + settings.notchSize,\r\n height: tooltipSizeWithoutNotch.height\r\n };\r\n\r\n // Determine if there's no room to the right of the target element\r\n // to fit the tooltip on screen\r\n var\r\n containerBoundingBoxLeft = (targetBoundingBox.left + settings.spacingAdjustment) + targetBoundingBox.width,\r\n containerBoundingBoxRight = containerBoundingBoxLeft + tooltipSizeWithNotch.width;\r\n\r\n if (containerBoundingBoxRight > viewport.right) {\r\n // There's no room on the right - check on the left\r\n containerBoundingBoxLeft = (targetBoundingBox.left - settings.spacingAdjustment) - tooltipSizeWithNotch.width;\r\n\r\n if (containerBoundingBoxLeft > viewport.left) {\r\n // There's room on the left - switch to that positioning\r\n containerOffset = {\r\n top: targetBoundingBox.top,\r\n left: (targetBoundingBox.left - settings.spacingAdjustment) - tooltipSizeWithNotch.width\r\n };\r\n\r\n positioningType = positioningTypes.left;\r\n\r\n // Set textBoxPositionWithNotch value based on left positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n }\r\n\r\n // If we didn't choose an alternate positioning, go with the default position\r\n if (containerOffset == null) {\r\n containerOffset = {\r\n top: targetBoundingBox.top,\r\n left: (targetBoundingBox.left + settings.spacingAdjustment) + targetBoundingBox.width\r\n };\r\n\r\n // Set textBoxPositionWithNotch value based on right positioning\r\n textBoxPositionWithNotch = {\r\n x: dimensions.textBox.x + settings.notchSize,\r\n y: dimensions.textBox.y\r\n };\r\n }\r\n break;\r\n }\r\n\r\n // Determine how the tooltip should be positioned in its secondary axis\r\n // NOTE: this is where we should add detection for the primary axis edges overflowing the viewport\r\n // and offset the positioning accordingly... someday\r\n var notchPositioningOffset = 0;\r\n if (positioningType == positioningTypes.above || positioningType == positioningTypes.below) {\r\n // X axis\r\n var\r\n containerBoundingBoxLeft = containerOffset.left + ((targetBoundingBox.width - dimensions.textBox.width) / 2) - settings.dropShadow.size,\r\n containerBoundingBoxRight = containerBoundingBoxLeft + dimensions.textBox.width;\r\n\r\n // Determine if there's no room to fit the tooltip on screen in this axis\r\n if (containerBoundingBoxLeft + settings.dropShadow.size < viewport.left) {\r\n // There's no room on the left - check if there's room on the right\r\n if ((viewport.left + dimensions.textBox.width) < viewport.right) {\r\n // There's room on the right - offset the positioning\r\n notchPositioningOffset = containerBoundingBoxLeft + settings.dropShadow.size - viewport.left;\r\n containerBoundingBoxLeft = viewport.left - settings.dropShadow.size;\r\n }\r\n } else if (containerBoundingBoxRight + settings.dropShadow.size > viewport.right) {\r\n // There's no room on the right - check if there's room on the left\r\n if ((viewport.right - dimensions.textBox.width) > viewport.left) {\r\n // There's room on the left - offset the positioning\r\n notchPositioningOffset = containerBoundingBoxRight + settings.dropShadow.size - viewport.right;\r\n containerBoundingBoxLeft = viewport.right - (dimensions.textBox.width + settings.dropShadow.size);\r\n }\r\n }\r\n\r\n containerOffset.left = containerBoundingBoxLeft;\r\n } else {\r\n // Y axis\r\n var\r\n containerBoundingBoxTop = containerOffset.top + ((targetBoundingBox.height - dimensions.textBox.height) / 2) - settings.dropShadow.size,\r\n containerBoundingBoxBottom = containerBoundingBoxTop + dimensions.textBox.height;\r\n\r\n // Determine if there's no room to fit the tooltip on screen in this axis\r\n if (containerBoundingBoxTop + settings.dropShadow.size < viewport.top) {\r\n // There's no room above - check if there's room below\r\n if ((viewport.top + dimensions.textBox.height) < viewport.bottom) {\r\n // There's room below - offset the positioning\r\n notchPositioningOffset = containerBoundingBoxTop + settings.dropShadow.size - viewport.top;\r\n containerBoundingBoxTop = viewport.top - settings.dropShadow.size;\r\n }\r\n } else if (containerBoundingBoxBottom + settings.dropShadow.size > viewport.bottom) {\r\n // There's no room below - check if there's room above\r\n if ((viewport.bottom - dimensions.textBox.height) > viewport.top) {\r\n // There's room above - offset the positioning\r\n notchPositioningOffset = containerBoundingBoxBottom + settings.dropShadow.size - viewport.bottom;\r\n containerBoundingBoxTop = viewport.bottom - (dimensions.textBox.height + settings.dropShadow.size);\r\n }\r\n }\r\n\r\n containerOffset.top = containerBoundingBoxTop;\r\n }\r\n\r\n // Set the container positioning\r\n t.container.style.top = numberToPx(containerOffset.top);\r\n t.container.style.left = numberToPx(containerOffset.left);\r\n\r\n // Set the dimensions of our container element & SVG\r\n t.svg.style.width = numberToPx(Math.ceil(tooltipSizeWithNotch.width));\r\n t.svg.style.height = numberToPx(Math.ceil(tooltipSizeWithNotch.height));\r\n\r\n t.container.style.width = numberToPx(Math.ceil(tooltipSizeWithNotch.width));\r\n t.container.style.height = numberToPx(Math.ceil(tooltipSizeWithNotch.height));\r\n\r\n // Set the scale of the filter - by default, it's limited to the size of the\r\n // content it's applied to and will end up clipped\r\n // NOTE: the commented out lines work in desktop browsers but not in iOS, so I'm\r\n // hacking it a bit here...\r\n //filterNode.setAttribute(\"width\", Math.ceil(tooltipSizeWithNotch.width).toString());\r\n //filterNode.setAttribute(\"height\", Math.ceil(tooltipSizeWithNotch.height).toString());\r\n filterNode.setAttribute(\"width\", \"200%\");\r\n filterNode.setAttribute(\"height\", \"200%\");\r\n\r\n // Set the positioning & dimensions of our content div\r\n t.content.style.left = numberToPx(textBoxPositionWithNotch.x);\r\n t.content.style.top = numberToPx(textBoxPositionWithNotch.y);\r\n\r\n // Construct the backdrop polygon, if necessary; otherwise just set\r\n // its dimensions\r\n if (settings.outline.radius > 0) {\r\n var\r\n backdropPolygonPoints = `M${textBoxPositionWithNotch.x + settings.outline.radius} ${textBoxPositionWithNotch.y}`,\r\n doubleRadius = settings.outline.radius + settings.outline.radius,\r\n shortWidth = dimensions.textBox.width - doubleRadius,\r\n shortHeight = dimensions.textBox.height - doubleRadius;\r\n\r\n backdropPolygonPoints += ` h ${shortWidth}`;\r\n backdropPolygonPoints += ` q ${settings.outline.radius} ${0} ${settings.outline.radius} ${settings.outline.radius}`;\r\n backdropPolygonPoints += ` v ${shortHeight}`;\r\n backdropPolygonPoints += ` q ${0} ${settings.outline.radius} ${-settings.outline.radius} ${settings.outline.radius}`;\r\n backdropPolygonPoints += ` h ${-shortWidth}`;\r\n backdropPolygonPoints += ` q ${-settings.outline.radius} ${0} ${-settings.outline.radius} ${-settings.outline.radius}`;\r\n backdropPolygonPoints += ` v ${-shortHeight}`;\r\n backdropPolygonPoints += ` q ${0} ${-settings.outline.radius} ${settings.outline.radius} ${-settings.outline.radius}`;\r\n backdropPolygonPoints += \" Z\";\r\n\r\n backdropNode.setAttribute(\"d\", backdropPolygonPoints);\r\n } else {\r\n backdropNode.setAttribute(\"x\", textBoxPositionWithNotch.x.toString());\r\n backdropNode.setAttribute(\"y\", textBoxPositionWithNotch.y.toString());\r\n backdropNode.setAttribute(\"width\", dimensions.textBox.width.toString());\r\n backdropNode.setAttribute(\"height\", dimensions.textBox.height.toString());\r\n }\r\n\r\n // Set container base class\r\n t.container.removeAttribute(\"class\");\r\n t.container.classList.add(settings.classNames.base);\r\n\r\n // Create the notch polygon and set container positioning class\r\n // Note: all the \"+ 1\"s and \"- 1\"s are to provide a slight overlap between the notch\r\n // and the backdrop; some browsers render a slight space artifact between them if their\r\n // edges are at the exact same position, particularly when zoomed in\r\n var notchPolygonPoints = \"\";\r\n switch (positioningType) {\r\n case positioningTypes.above:\r\n var polygonMidpoint = ((tooltipSizeWithNotch.width - settings.dropShadow.xOffset) / 2) + notchPositioningOffset;\r\n if (polygonMidpoint < settings.dropShadow.size)\r\n polygonMidpoint = settings.dropShadow.size;\r\n else if (polygonMidpoint > dimensions.textBox.width + settings.dropShadow.size)\r\n polygonMidpoint = dimensions.textBox.width + settings.dropShadow.size;\r\n\r\n notchPolygonPoints += polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height + settings.notchSize).toString();\r\n if (polygonMidpoint < settings.dropShadow.size + (settings.notchSize + settings.outline.radius)) {\r\n // Clipped on the left\r\n notchPolygonPoints += \" \" + polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height).toString();\r\n } else if (polygonMidpoint > dimensions.textBox.width + settings.dropShadow.size - (settings.notchSize + settings.outline.radius)) {\r\n // Clipped on the right\r\n notchPolygonPoints += \" \" + polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height).toString();\r\n } else {\r\n // Show full polygon\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - 1).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height - 1).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + dimensions.textBox.height).toString();\r\n }\r\n\r\n // Set container positioning class\r\n t.container.classList.add(settings.classNames.positioningTypeAbove);\r\n break;\r\n\r\n case positioningTypes.below:\r\n var polygonMidpoint = ((tooltipSizeWithNotch.width - settings.dropShadow.xOffset) / 2) + notchPositioningOffset;\r\n if (polygonMidpoint < settings.dropShadow.size)\r\n polygonMidpoint = settings.dropShadow.size;\r\n else if (polygonMidpoint > dimensions.textBox.width + settings.dropShadow.size)\r\n polygonMidpoint = dimensions.textBox.width + settings.dropShadow.size;\r\n\r\n notchPolygonPoints += polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y - settings.notchSize).toString();\r\n if (polygonMidpoint < settings.dropShadow.size + (settings.notchSize + settings.outline.radius)) {\r\n // Clipped on the left\r\n notchPolygonPoints += \" \" + polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y + settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y).toString();\r\n } else if (polygonMidpoint > dimensions.textBox.width + settings.dropShadow.size - (settings.notchSize + settings.outline.radius)) {\r\n // Clipped on the right\r\n notchPolygonPoints += \" \" + polygonMidpoint.toString() + \",\" + (textBoxPositionWithNotch.y + settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + settings.outline.radius).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y).toString();\r\n } else {\r\n // Show full polygon\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint + settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + 1).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y + 1).toString();\r\n notchPolygonPoints += \" \" + (polygonMidpoint - settings.notchSize).toString() + \",\" + (textBoxPositionWithNotch.y).toString();\r\n }\r\n\r\n // Set container positioning class\r\n t.container.classList.add(settings.classNames.positioningTypeBelow);\r\n break;\r\n\r\n case positioningTypes.left:\r\n var polygonMidpoint = ((tooltipSizeWithNotch.height - settings.dropShadow.yOffset) / 2) + notchPositioningOffset;\r\n if (polygonMidpoint < settings.dropShadow.size)\r\n polygonMidpoint = settings.dropShadow.size;\r\n else if (polygonMidpoint > dimensions.textBox.height + settings.dropShadow.size)\r\n polygonMidpoint = dimensions.textBox.height + settings.dropShadow.size;\r\n\r\n notchPolygonPoints += (textBoxPositionWithNotch.x + dimensions.textBox.width + settings.notchSize).toString() + \",\" + polygonMidpoint.toString();\r\n if (polygonMidpoint < settings.dropShadow.size + (settings.notchSize + settings.outline.radius)) {\r\n // Clipped above\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - settings.outline.radius).toString() + \",\" + polygonMidpoint.toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - settings.outline.radius).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n } else if (polygonMidpoint > dimensions.textBox.height + settings.dropShadow.size - (settings.notchSize + settings.outline.radius)) {\r\n // Clipped below\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - settings.outline.radius).toString() + \",\" + polygonMidpoint.toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - settings.outline.radius).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n } else {\r\n // Show full polygon\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - 1).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width - 1).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + dimensions.textBox.width).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n }\r\n\r\n // Set container positioning class\r\n t.container.classList.add(settings.classNames.positioningTypeLeft);\r\n break;\r\n\r\n case positioningTypes.right:\r\n var polygonMidpoint = ((tooltipSizeWithNotch.height - settings.dropShadow.yOffset) / 2) + notchPositioningOffset;\r\n if (polygonMidpoint < settings.dropShadow.size)\r\n polygonMidpoint = settings.dropShadow.size;\r\n else if (polygonMidpoint > dimensions.textBox.height + settings.dropShadow.size)\r\n polygonMidpoint = dimensions.textBox.height + settings.dropShadow.size;\r\n\r\n notchPolygonPoints += (textBoxPositionWithNotch.x - settings.notchSize).toString() + \",\" + polygonMidpoint.toString();\r\n if (polygonMidpoint < settings.dropShadow.size + (settings.notchSize + settings.outline.radius)) {\r\n // Clipped above\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + settings.outline.radius).toString() + \",\" + polygonMidpoint.toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + settings.outline.radius).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n } else if (polygonMidpoint > dimensions.textBox.height + settings.dropShadow.size - (settings.notchSize + settings.outline.radius)) {\r\n // Clipped below\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + settings.outline.radius).toString() + \",\" + polygonMidpoint.toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + settings.outline.radius).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n } else {\r\n // Show full polygon\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + 1).toString() + \",\" + (polygonMidpoint + settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x + 1).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n notchPolygonPoints += \" \" + (textBoxPositionWithNotch.x).toString() + \",\" + (polygonMidpoint - settings.notchSize).toString();\r\n }\r\n\r\n // Set container positioning class\r\n t.container.classList.add(settings.classNames.positioningTypeRight);\r\n break;\r\n }\r\n\r\n polygonNode.setAttribute(\"points\", notchPolygonPoints);\r\n\r\n // Stop any ongoing animation\r\n if (timeline)\r\n timeline.progress(1);\r\n\r\n timeline = new TimelineLite();\r\n timeline.fromTo(\r\n t.container,\r\n event.shiftKey === true ? settings.revealDuration * settings.slowMoScale : settings.revealDuration,\r\n {\r\n opacity: 0\r\n },\r\n {\r\n ease: Power4.easeOut,\r\n opacity: 1,\r\n display: \"block\",\r\n onUpdate: function () {\r\n var percentComplete = t.container.style.opacity,\r\n reversePercentComplete = 1 - percentComplete,\r\n offset = reversePercentComplete * settings.notchSize;\r\n\r\n switch (positioningType) {\r\n case positioningTypes.above:\r\n offset = Math.round(offset * 1000) / 1000;\r\n backdropNode.parentNode.setAttribute(\"transform\", `translate(0, ${offset})`);\r\n t.content.style.transform = `translate(0px, ${numberToPx(offset)})`;\r\n\r\n offset = reversePercentComplete * settings.revealDistance;\r\n offset = -Math.round(offset * 1000) / 1000;\r\n t.container.style.transform = `translate(0px, ${numberToPx(offset)})`;\r\n break;\r\n\r\n case positioningTypes.below:\r\n offset = -Math.round(offset * 1000) / 1000;\r\n backdropNode.parentNode.setAttribute(\"transform\", `translate(0, ${offset})`);\r\n t.content.style.transform = `translate(0px, ${numberToPx(offset)})`;\r\n\r\n offset = reversePercentComplete * settings.revealDistance;\r\n offset = Math.round(offset * 1000) / 1000;\r\n t.container.style.transform = `translate(0px, ${numberToPx(offset)})`;\r\n break;\r\n\r\n case positioningTypes.left:\r\n offset = Math.round(offset * 1000) / 1000;\r\n backdropNode.parentNode.setAttribute(\"transform\", `translate(${offset}, 0)`);\r\n t.content.style.transform = `translate(${numberToPx(offset)}, 0px)`;\r\n\r\n offset = reversePercentComplete * settings.revealDistance;\r\n offset = -Math.round(offset * 1000) / 1000;\r\n t.container.style.transform = `translate(${numberToPx(offset)}, 0px)`;\r\n break;\r\n\r\n case positioningTypes.right:\r\n offset = -Math.round(offset * 1000) / 1000;\r\n backdropNode.parentNode.setAttribute(\"transform\", `translate(${offset}, 0)`);\r\n t.content.style.transform = `translate(${numberToPx(offset)}, 0px)`;\r\n\r\n offset = reversePercentComplete * settings.revealDistance;\r\n offset = Math.round(offset * 1000) / 1000;\r\n t.container.style.transform = `translate(${numberToPx(offset)}, 0px)`;\r\n break;\r\n }\r\n },\r\n onComplete: function () {\r\n timeline = null;\r\n }\r\n });\r\n },\r\n\r\n hideCallback = function (event) {\r\n t.container.style.display = \"block\";\r\n\r\n if (timeline)\r\n timeline.progress(1);\r\n\r\n timeline = new TimelineLite();\r\n timeline.fromTo(\r\n t.container,\r\n event.shiftKey === true ? settings.hideDuration * settings.slowMoScale : settings.hideDuration,\r\n {\r\n opacity: 1\r\n },\r\n {\r\n ease: Power2.easeOut,\r\n opacity: 0,\r\n display: \"none\",\r\n onComplete: function () {\r\n t.visible = false;\r\n timeline = null;\r\n }\r\n });\r\n };\r\n\r\n // Install rollover events\r\n hoverElement.addEventListener(\"mouseenter\", revealCallback);\r\n hoverElement.addEventListener(\"mouseleave\", hideCallback);\r\n\r\n hoverElement.addEventListener(\"touchstart\", function (event) {\r\n if (t.visible)\r\n return;\r\n\r\n revealCallback(event);\r\n\r\n // Only perform the hide callback once\r\n var touchHideCallback = function (event) {\r\n document.removeEventListener(\"scroll\", touchHideCallback);\r\n document.removeEventListener(\"resize\", touchHideCallback);\r\n document.removeEventListener(\"touchstart\", touchHideCallback);\r\n\r\n hideCallback(event);\r\n };\r\n\r\n setTimeout(\r\n function () {\r\n document.addEventListener(\"scroll\", touchHideCallback);\r\n document.addEventListener(\"resize\", touchHideCallback);\r\n document.addEventListener(\"touchstart\", touchHideCallback);\r\n },\r\n 100);\r\n });\r\n }\r\n\r\n removeFromDom() {\r\n var t = this;\r\n\r\n t.container.remove();\r\n }\r\n\r\n static get positioningTypes() {\r\n return positioningTypes;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./Scripts/libraries/tooltip.js"],"sourceRoot":""}