UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

91 lines (79 loc) 2.81 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['./jquery', '../../js-vendor/jquery/jquery.tipsy'], factory); } else if (typeof exports !== "undefined") { factory(require('./jquery'), require('../../js-vendor/jquery/jquery.tipsy')); } else { var mod = { exports: {} }; factory(global.jquery, global.jquery); global.tooltip = mod.exports; } })(this, function (_jquery) { 'use strict'; var _jquery2 = _interopRequireDefault(_jquery); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function handleStringOption($self, options, stringOption) { // Pass string values straight to tipsy $self.tipsy(stringOption); if (stringOption === 'destroy') { if (options.live) { (0, _jquery2.default)($self.context).off('.tipsy', $self.selector); } else { $self.unbind('.tipsy'); } } return $self; } function bindTooltip($self, options) { $self.tipsy(options); var hideOnClick = options && options.hideOnClick && (options.trigger === 'hover' || !options.trigger && $self.tipsy.defaults.trigger === 'hover'); if (hideOnClick) { var onClick = function onClick() { (0, _jquery2.default)(this).tipsy('hide'); }; if (options.live) { (0, _jquery2.default)($self.context).on('click.tipsy', $self.selector, onClick); } else { $self.bind('click.tipsy', onClick); } } return $self; } _jquery2.default.fn.tooltip = function (options) { var allOptions = _jquery2.default.extend({}, _jquery2.default.fn.tooltip.defaults, options); // Handle live option if (allOptions.live) { if (typeof options === 'string') { handleStringOption(this, allOptions, options); } else { bindTooltip(this, allOptions); } return this; } // If not live, bind each object in the collection return this.each(function () { var $this = (0, _jquery2.default)(this); if (typeof options === 'string') { handleStringOption($this, allOptions, options); } else { bindTooltip($this, allOptions); } return $this; }); }; _jquery2.default.fn.tooltip.defaults = { opacity: 1.0, offset: 1, delayIn: 500, hoverable: true, hideOnClick: true, aria: true }; }); //# sourceMappingURL=tooltip.js.map