Welcome to mirror list, hosted at ThFree Co, Russian Federation.

tab.js.map « dist « js - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 2cb270864444d96b090da7c0f74f3ffd8fa4fe16 (plain)
1
{"version":3,"sources":["../src/tab.js"],"names":["Tab","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","document","querySelector","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","_transitionComplete","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","removeClass","dropdownChild","getAttribute","setAttribute","addClass","reflow","dropdownElement","dropdownToggleList","slice","call","querySelectorAll","_jQueryInterface","config","each","$this","data","TypeError","on","event","preventDefault","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n  /**\n   * ------------------------------------------------------------------------\n   * Constants\n   * ------------------------------------------------------------------------\n   */\n\n  const NAME               = 'tab'\n  const VERSION            = '4.1.2'\n  const DATA_KEY           = 'bs.tab'\n  const EVENT_KEY          = `.${DATA_KEY}`\n  const DATA_API_KEY       = '.data-api'\n  const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n  const Event = {\n    HIDE           : `hide${EVENT_KEY}`,\n    HIDDEN         : `hidden${EVENT_KEY}`,\n    SHOW           : `show${EVENT_KEY}`,\n    SHOWN          : `shown${EVENT_KEY}`,\n    CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n  }\n\n  const ClassName = {\n    DROPDOWN_MENU : 'dropdown-menu',\n    ACTIVE        : 'active',\n    DISABLED      : 'disabled',\n    FADE          : 'fade',\n    SHOW          : 'show'\n  }\n\n  const Selector = {\n    DROPDOWN              : '.dropdown',\n    NAV_LIST_GROUP        : '.nav, .list-group',\n    ACTIVE                : '.active',\n    ACTIVE_UL             : '> li > .active',\n    DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n    DROPDOWN_TOGGLE       : '.dropdown-toggle',\n    DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Class Definition\n   * ------------------------------------------------------------------------\n   */\n\n  class Tab {\n    constructor(element) {\n      this._element = element\n    }\n\n    // Getters\n\n    static get VERSION() {\n      return VERSION\n    }\n\n    // Public\n\n    show() {\n      if (this._element.parentNode &&\n          this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n          $(this._element).hasClass(ClassName.ACTIVE) ||\n          $(this._element).hasClass(ClassName.DISABLED)) {\n        return\n      }\n\n      let target\n      let previous\n      const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n      const selector = Util.getSelectorFromElement(this._element)\n\n      if (listElement) {\n        const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n        previous = $.makeArray($(listElement).find(itemSelector))\n        previous = previous[previous.length - 1]\n      }\n\n      const hideEvent = $.Event(Event.HIDE, {\n        relatedTarget: this._element\n      })\n\n      const showEvent = $.Event(Event.SHOW, {\n        relatedTarget: previous\n      })\n\n      if (previous) {\n        $(previous).trigger(hideEvent)\n      }\n\n      $(this._element).trigger(showEvent)\n\n      if (showEvent.isDefaultPrevented() ||\n         hideEvent.isDefaultPrevented()) {\n        return\n      }\n\n      if (selector) {\n        target = document.querySelector(selector)\n      }\n\n      this._activate(\n        this._element,\n        listElement\n      )\n\n      const complete = () => {\n        const hiddenEvent = $.Event(Event.HIDDEN, {\n          relatedTarget: this._element\n        })\n\n        const shownEvent = $.Event(Event.SHOWN, {\n          relatedTarget: previous\n        })\n\n        $(previous).trigger(hiddenEvent)\n        $(this._element).trigger(shownEvent)\n      }\n\n      if (target) {\n        this._activate(target, target.parentNode, complete)\n      } else {\n        complete()\n      }\n    }\n\n    dispose() {\n      $.removeData(this._element, DATA_KEY)\n      this._element = null\n    }\n\n    // Private\n\n    _activate(element, container, callback) {\n      let activeElements\n      if (container.nodeName === 'UL') {\n        activeElements = $(container).find(Selector.ACTIVE_UL)\n      } else {\n        activeElements = $(container).children(Selector.ACTIVE)\n      }\n\n      const active = activeElements[0]\n      const isTransitioning = callback &&\n        (active && $(active).hasClass(ClassName.FADE))\n\n      const complete = () => this._transitionComplete(\n        element,\n        active,\n        callback\n      )\n\n      if (active && isTransitioning) {\n        const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n        $(active)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n\n    _transitionComplete(element, active, callback) {\n      if (active) {\n        $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n        const dropdownChild = $(active.parentNode).find(\n          Selector.DROPDOWN_ACTIVE_CHILD\n        )[0]\n\n        if (dropdownChild) {\n          $(dropdownChild).removeClass(ClassName.ACTIVE)\n        }\n\n        if (active.getAttribute('role') === 'tab') {\n          active.setAttribute('aria-selected', false)\n        }\n      }\n\n      $(element).addClass(ClassName.ACTIVE)\n      if (element.getAttribute('role') === 'tab') {\n        element.setAttribute('aria-selected', true)\n      }\n\n      Util.reflow(element)\n      $(element).addClass(ClassName.SHOW)\n\n      if (element.parentNode &&\n          $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n        const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n        if (dropdownElement) {\n          const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n          $(dropdownToggleList).addClass(ClassName.ACTIVE)\n        }\n\n        element.setAttribute('aria-expanded', true)\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    // Static\n\n    static _jQueryInterface(config) {\n      return this.each(function () {\n        const $this = $(this)\n        let data = $this.data(DATA_KEY)\n\n        if (!data) {\n          data = new Tab(this)\n          $this.data(DATA_KEY, data)\n        }\n\n        if (typeof config === 'string') {\n          if (typeof data[config] === 'undefined') {\n            throw new TypeError(`No method named \"${config}\"`)\n          }\n          data[config]()\n        }\n      })\n    }\n  }\n\n  /**\n   * ------------------------------------------------------------------------\n   * Data Api implementation\n   * ------------------------------------------------------------------------\n   */\n\n  $(document)\n    .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n      event.preventDefault()\n      Tab._jQueryInterface.call($(this), 'show')\n    })\n\n  /**\n   * ------------------------------------------------------------------------\n   * jQuery\n   * ------------------------------------------------------------------------\n   */\n\n  $.fn[NAME] = Tab._jQueryInterface\n  $.fn[NAME].Constructor = Tab\n  $.fn[NAME].noConflict = function () {\n    $.fn[NAME] = JQUERY_NO_CONFLICT\n    return Tab._jQueryInterface\n  }\n\n  return Tab\n})($)\n\nexport default Tab\n"],"file":"tab.js"}