{"version":3,"file":"~~jquery.showhint.798e6183.js","mappings":"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","sources":["webpack://@ultradent/upi-dev-frontend/./src/scripts/config/selectors.js","webpack://@ultradent/upi-dev-frontend/./src/scripts/modules/jquery-import.js","webpack://@ultradent/upi-dev-frontend/./src/scripts/plugins/jquery.showhint.js"],"sourcesContent":["export const $BODY = 'body';\nexport const $HEADER = '#header--main';\nexport const $NAVBAR = '#nav-bar--desktop';\nexport const $NAVBAR_MOBILE = '#nav-bar--mobile';\nexport const $CONTENT_WINDOW = '#content-pane-inner';\nexport const $CONTENT_PANE = '#content-pane';\nexport const $CONTENT_BODY = '#page-content';\nexport const $SITE_MESSAGE_BAR = '.js-site-message-bar';\n","// NOte -> This file is an Singleton Module that exposes the jQuery vars as globals\n// Note -> then returning the instance on window anywhere this module gets imported\n\nimport $ from 'jquery';\nimport jQuery from 'jquery';\n\nif ( !window.$ ) {\n window.$ = $;\n window.jQuery = jQuery;\n // patch pre v1.7 jquery events ($.event.handle removed) to resolve errors in jquery.validate\n // note -> jquery-migrate plugin is supposed to resolve this but does not seem to help so patched instead\n // resource - https://stackoverflow.com/questions/16527658/jquery-error-typeerror-event-handle-is-undefined#answer-16527841\n $.event.handle = $.event.dispatch;\n}\n\nexport default window.$;\n","import $ from '@modules/jquery-import';\nimport {$CONTENT_WINDOW} from '@config/selectors';\n\n/**\n * Tooltip\n * Display simple tooltip next to target elements that toggles upon give triggers\n * Note: currently always display 15px to right of target\n */\n$.fn.showHint = function () {\n\n var args = arguments,\n isSmallDevice = window.matchMedia( 'screen and (max-width: 640px)' ).matches,\n defaults = {\n type: 'tooltip',\n show_triggers: 'mouseenter',\n hide_trigger: 'mouseleave mousedown',\n message: (typeof args[0] == 'string') ? args[0] : null,\n className: '',\n offset_top: null,\n width: 180,\n fx_speed: 200,\n hide_timeout: 10000,\n touch_enabled: false\n },\n opt = (typeof args[0] == 'object') ? args[0] : args[1] || {};\n\n if ( opt.type === 'error' ) {\n defaults.className = 'error';\n defaults.hide_timeout = 5000;\n // remove default hide triggers\n defaults.hide_trigger = '';\n }\n\n opt = $.extend( defaults, opt );\n\n return $( this ).each( function () {\n var $node = $( this ),\n tooltip = $( '
' ).addClass( opt.className ).addClass( opt.placement ),\n pos = $node.offset(),\n _destroyId;\n\n // if message not passed to constructor, look at -tooltip attr for message\n // if no message exit fuction\n if ( !opt.message ) {\n opt.message = $node[0].getAttribute( 'data-tooltip' );\n if ( !opt.message ) {\n return;\n }\n }\n\n tooltip.text( opt.message );\n\n if ( !isSmallDevice ) {\n tooltip.appendTo( 'body' );\n\n var tooltipWidth = getWidth( tooltip, opt.width );\n tooltip.css( $.extend( {}, {\n maxWidth: tooltipWidth,\n position: 'absolute',\n zIndex: 1000\n } ) );\n\n tooltip.css( getHintPosition( tooltip, opt.placement ) );\n\n tooltip.hide().fadeIn( opt.fx_speed );\n }\n else {\n $node.after( tooltip )\n }\n\n $node.one( opt.hide_trigger, destroy );\n $( $CONTENT_WINDOW ).one( 'scroll', destroy );\n\n // destroy after 4 sec\n _destroyId = setTimeout( destroy, opt.hide_timeout );\n\n //** Helpers\n function getWidth ( el, userDefinedWidth ) {\n var offsetWidth = el[0].offsetWidth;\n return (offsetWidth > userDefinedWidth) ? userDefinedWidth : offsetWidth;\n }\n\n function getHintPosition ( tooltip, placement ) {\n var offsetWidth = tooltip[0].offsetWidth;\n\n if ( 'bottom' === placement ) {\n return {\n top: offset_top( 'bottom' ) + 'px',\n left: offset_left( 'center', offsetWidth ) + 'px'\n }\n }\n else if ( 'left' === placement ) {\n return {\n top: offset_top( 'top' ) + 'px',\n left: offset_left( 'left', offsetWidth ) + 'px'\n }\n }\n else {\n return {\n top: offset_top( 'center' ) + 'px',\n left: offset_left( 'right', offsetWidth ) + 'px'\n }\n }\n }\n\n function destroy () {\n if ( _destroyId ) {\n clearTimeout( _destroyId );\n _destroyId = null;\n }\n tooltip.remove();\n // prevent memory leaks: too many event bindings since this method\n // could be bound to key event on form fields\n $( $CONTENT_WINDOW ).off( 'scroll', destroy );\n $node.unbind( opt.hide_trigger, destroy ).trigger( 'tooltip:removed' );\n }\n\n function offset_top ( offset ) {\n const top = pos.top;\n\n switch ( offset ) {\n case 'center':\n return (top + parseInt( $node[0].offsetHeight / 2 )) -\n parseInt( tooltip[0].offsetHeight / 2 );\n break;\n\n case 'bottom':\n return (top + $node[0].offsetHeight) + 5;\n break;\n\n case 'top':\n default:\n var marginTop = (isNaN( marginTop = parseInt( $node.css( 'marginTop' ) ) )) ? 0 : marginTop;\n return top + marginTop;\n }\n }\n\n function offset_left ( offset, tooltipWidth ) {\n switch ( offset ) {\n case 'left':\n return pos.left - (tooltipWidth + 10);\n break;\n case 'center':\n return pos.left + ($node[0].offsetWidth / 2) - parseInt( tooltipWidth / 2 );\n break;\n case 'right':\n default:\n return pos.left + ($node[0].offsetWidth + 10);\n break;\n\n }\n }\n\n function supressAltText () {\n $node.data( 'atlText', $node.attr( 'alt' ) );\n $node.attr( 'alt', '' );\n }\n\n function restoreAltText () {\n $node.attr( 'alt', $node.data( 'atlText' ) );\n $node.data( 'altText', null );\n }\n } );\n};\n"],"names":["$BODY","$HEADER","$CONTENT_WINDOW","$CONTENT_PANE","$SITE_MESSAGE_BAR","window","$","jQuery","handle","dispatch","fn","showHint","args","arguments","isSmallDevice","matchMedia","matches","defaults","type","show_triggers","hide_trigger","message","className","offset_top","width","fx_speed","hide_timeout","touch_enabled","opt","_typeof","extend","this","each","_destroyId","$node","tooltip","addClass","placement","pos","offset","getAttribute","text","after","appendTo","tooltipWidth","el","userDefinedWidth","offsetWidth","css","maxWidth","position","zIndex","top","left","offset_left","getHintPosition","hide","fadeIn","one","destroy","setTimeout","clearTimeout","remove","off","unbind","trigger","parseInt","offsetHeight","marginTop","isNaN"],"sourceRoot":""}