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

util.js.map « dist « js - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0bdb70ec0e00b886d882a387da1fe0066e03f9b4 (plain)
1
{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","test","reflow","Function","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","expectedTypes","value","valueType","RegExp","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n\n\n  /**\n   * ------------------------------------------------------------------------\n   * Private TransitionEnd Helpers\n   * ------------------------------------------------------------------------\n   */\n\n  let transition = false\n\n  const MAX_UID = 1000000\n\n  const TransitionEndEvent = {\n    WebkitTransition : 'webkitTransitionEnd',\n    MozTransition    : 'transitionend',\n    OTransition      : 'oTransitionEnd otransitionend',\n    transition       : 'transitionend'\n  }\n\n  // shoutout AngusCroll (https://goo.gl/pxwQGp)\n  function toType(obj) {\n    return ({}).toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n  }\n\n  function isElement(obj) {\n    return (obj[0] || obj).nodeType\n  }\n\n  function getSpecialTransitionEndEvent() {\n    return {\n      bindType: transition.end,\n      delegateType: transition.end,\n      handle(event) {\n        if ($(event.target).is(this)) {\n          return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n        }\n        return undefined\n      }\n    }\n  }\n\n  function transitionEndTest() {\n    if (window.QUnit) {\n      return false\n    }\n\n    let el = document.createElement('bootstrap')\n\n    for (let name in TransitionEndEvent) {\n      if (el.style[name] !== undefined) {\n        return { end: TransitionEndEvent[name] }\n      }\n    }\n\n    return false\n  }\n\n  function transitionEndEmulator(duration) {\n    let called = false\n\n    $(this).one(Util.TRANSITION_END, () => {\n      called = true\n    })\n\n    setTimeout(() => {\n      if (!called) {\n        Util.triggerTransitionEnd(this)\n      }\n    }, duration)\n\n    return this\n  }\n\n  function setTransitionEndSupport() {\n    transition = transitionEndTest()\n\n    $.fn.emulateTransitionEnd = transitionEndEmulator\n\n    if (Util.supportsTransitionEnd()) {\n      $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n    }\n  }\n\n\n  /**\n   * --------------------------------------------------------------------------\n   * Public Util Api\n   * --------------------------------------------------------------------------\n   */\n\n  let Util = {\n\n    TRANSITION_END: 'bsTransitionEnd',\n\n    getUID(prefix) {\n      do {\n        /* eslint-disable no-bitwise */\n        prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n        /* eslint-enable no-bitwise */\n      } while (document.getElementById(prefix))\n      return prefix\n    },\n\n    getSelectorFromElement(element) {\n      let selector = element.getAttribute('data-target')\n\n      if (!selector) {\n        selector = element.getAttribute('href') || ''\n        selector = /^#[a-z]/i.test(selector) ? selector : null\n      }\n\n      return selector\n    },\n\n    reflow(element) {\n      new Function('bs', 'return bs')(element.offsetHeight)\n    },\n\n    triggerTransitionEnd(element) {\n      $(element).trigger(transition.end)\n    },\n\n    supportsTransitionEnd() {\n      return Boolean(transition)\n    },\n\n    typeCheckConfig(componentName, config, configTypes) {\n      for (let property in configTypes) {\n        if (configTypes.hasOwnProperty(property)) {\n          let expectedTypes = configTypes[property]\n          let value         = config[property]\n          let valueType\n\n          if (value && isElement(value)) {\n            valueType = 'element'\n          } else {\n            valueType = toType(value)\n          }\n\n          if (!new RegExp(expectedTypes).test(valueType)) {\n            throw new Error(\n              `${componentName.toUpperCase()}: ` +\n              `Option \"${property}\" provided type \"${valueType}\" ` +\n              `but expected type \"${expectedTypes}\".`)\n          }\n        }\n      }\n    }\n  }\n\n  setTransitionEndSupport()\n\n  return Util\n\n})(jQuery)\n\nexport default Util\n"]}