(function (global, factory) { if (typeof define === 'function' && define.amd) { define(['exports', 'module', './tooltip'], factory); } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') { factory(exports, module, require('./tooltip')); } else { var mod = { exports: {} }; factory(mod.exports, mod, global.Tooltip); global.popover = mod.exports; } })(this, function (exports, module, _tooltip) { 'use strict'; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } var _Tooltip2 = _interopRequireDefault(_tooltip); /** * -------------------------------------------------------------------------- * Bootstrap (v4.0.0): popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ var Popover = (function ($) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'popover'; var VERSION = '4.0.0'; var DATA_KEY = 'bs.popover'; var EVENT_KEY = '.' + DATA_KEY; var JQUERY_NO_CONFLICT = $.fn[NAME]; var Default = $.extend({}, _Tooltip2['default'].Default, { placement: 'right', trigger: 'click', content: '', template: '' }); var DefaultType = $.extend({}, _Tooltip2['default'].DefaultType, { content: '(string|function)' }); var ClassName = { FADE: 'fade', IN: 'in' }; var Selector = { TITLE: '.popover-title', CONTENT: '.popover-content', ARROW: '.popover-arrow' }; var Event = { HIDE: 'hide' + EVENT_KEY, HIDDEN: 'hidden' + EVENT_KEY, SHOW: 'show' + EVENT_KEY, SHOWN: 'shown' + EVENT_KEY, INSERTED: 'inserted' + EVENT_KEY, CLICK: 'click' + EVENT_KEY, FOCUSIN: 'focusin' + EVENT_KEY, FOCUSOUT: 'focusout' + EVENT_KEY, MOUSEENTER: 'mouseenter' + EVENT_KEY, MOUSELEAVE: 'mouseleave' + EVENT_KEY }; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Popover = (function (_Tooltip) { function Popover() { _classCallCheck(this, Popover); if (_Tooltip != null) { _Tooltip.apply(this, arguments); } } _inherits(Popover, _Tooltip); _createClass(Popover, [{ key: 'isWithContent', // overrides value: function isWithContent() { return this.getTitle() || this._getContent(); } }, { key: 'getTipElement', value: function getTipElement() { return this.tip = this.tip || $(this.config.template)[0]; } }, { key: 'setContent', value: function setContent() { var tip = this.getTipElement(); var title = this.getTitle(); var content = this._getContent(); var titleElement = $(tip).find(Selector.TITLE)[0]; if (titleElement) { titleElement[this.config.html ? 'innerHTML' : 'innerText'] = title; } // we use append for html objects to maintain js events $(tip).find(Selector.CONTENT).children().detach().end()[this.config.html ? typeof content === 'string' ? 'html' : 'append' : 'text'](content); $(tip).removeClass(ClassName.FADE).removeClass(ClassName.IN); this.cleanupTether(); } }, { key: '_getContent', // private value: function _getContent() { return this.element.getAttribute('data-content') || (typeof this.config.content == 'function' ? this.config.content.call(this.element) : this.config.content); } }], [{ key: '_jQueryInterface', // static value: function _jQueryInterface(config) { return this.each(function () { var data = $(this).data(DATA_KEY); var _config = typeof config === 'object' ? config : null; if (!data && /destroy|hide/.test(config)) { return; } if (!data) { data = new Popover(this, _config); $(this).data(DATA_KEY, data); } if (typeof config === 'string') { data[config](); } }); } }, { key: 'VERSION', // getters get: function () { return VERSION; } }, { key: 'Default', get: function () { return Default; } }, { key: 'NAME', get: function () { return NAME; } }, { key: 'DATA_KEY', get: function () { return DATA_KEY; } }, { key: 'Event', get: function () { return Event; } }, { key: 'EVENT_KEY', get: function () { return EVENT_KEY; } }, { key: 'DefaultType', get: function () { return DefaultType; } }]); return Popover; })(_Tooltip2['default']); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $.fn[NAME] = Popover._jQueryInterface; $.fn[NAME].Constructor = Popover; $.fn[NAME].noConflict = function () { $.fn[NAME] = JQUERY_NO_CONFLICT; return Popover._jQueryInterface; }; return Popover; })(jQuery); module.exports = Popover; });