Merge branch 'configurable-federator' into 'develop'
[akkoma] / priv / static / packs / public.js.map
index 4bb64556a3878e29bb005131558c8ac1628e38fc..afcd4f258582221f98719aac5b763b43cb77cdf2 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///public.js","webpack:///./app/javascript/packs/public.js"],"names":["webpackJsonp","682","module","__webpack_exports__","__webpack_require__","main","_require","length","IntlRelativeFormat","default","_require2","delegate","emojify","_require3","getLocale","_getLocale","localeData","ReactDOM","forEach","__addLocaleData","Object","__WEBPACK_IMPORTED_MODULE_2__mastodon_ready__","locale","document","documentElement","lang","dateTimeFormat","Intl","DateTimeFormat","year","month","day","hour","minute","relativeFormat","call","querySelectorAll","content","innerHTML","datetime","Date","getAttribute","formattedDate","format","title","textContent","addEventListener","e","preventDefault","window","open","target","href","reactComponents","then","bind","_ref","MediaContainer","createElement","render","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","components","body","appendChild","catch","error","console","_ref2","button","location","_ref3","contentEl","parentNode","querySelector","style","display","marginBottom","_ref4","nameCounter","value","_ref5","noteCounter","_ref6","avatar","_ref7","files","file","url","URL","createObjectURL","dataset","originalSrc","src","_ref8","header","_ref9","backgroundImage","defineProperty","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","n","__WEBPACK_IMPORTED_MODULE_1__mastodon_load_polyfills__","data","parent","type","postMessage","id","height","getElementsByTagName","scrollHeight"],"mappings":"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","file":"public.js","sourcesContent":["webpackJsonp([84],{\n\n/***/ 682:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mastodon_load_polyfills__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mastodon_ready__ = __webpack_require__(89);\n\n\n\n\nwindow.addEventListener('message', function (e) {\n  var data = e.data || {};\n\n  if (!window.parent || data.type !== 'setHeight') {\n    return;\n  }\n\n  Object(__WEBPACK_IMPORTED_MODULE_2__mastodon_ready__[\"default\"])(function () {\n    window.parent.postMessage({\n      type: 'setHeight',\n      id: data.id,\n      height: document.getElementsByTagName('html')[0].scrollHeight\n    }, '*');\n  });\n});\n\nfunction main() {\n  var _require = __webpack_require__(99),\n      length = _require.length;\n\n  var IntlRelativeFormat = __webpack_require__(76).default;\n\n  var _require2 = __webpack_require__(152),\n      delegate = _require2.delegate;\n\n  var emojify = __webpack_require__(73).default;\n\n  var _require3 = __webpack_require__(6),\n      getLocale = _require3.getLocale;\n\n  var _getLocale = getLocale(),\n      localeData = _getLocale.localeData;\n\n  var React = __webpack_require__(0);\n  var ReactDOM = __webpack_require__(20);\n\n  localeData.forEach(IntlRelativeFormat.__addLocaleData);\n\n  Object(__WEBPACK_IMPORTED_MODULE_2__mastodon_ready__[\"default\"])(function () {\n    var locale = document.documentElement.lang;\n\n    var dateTimeFormat = new Intl.DateTimeFormat(locale, {\n      year: 'numeric',\n      month: 'long',\n      day: 'numeric',\n      hour: 'numeric',\n      minute: 'numeric'\n    });\n\n    var relativeFormat = new IntlRelativeFormat(locale);\n\n    [].forEach.call(document.querySelectorAll('.emojify'), function (content) {\n      content.innerHTML = emojify(content.innerHTML);\n    });\n\n    [].forEach.call(document.querySelectorAll('time.formatted'), function (content) {\n      var datetime = new Date(content.getAttribute('datetime'));\n      var formattedDate = dateTimeFormat.format(datetime);\n\n      content.title = formattedDate;\n      content.textContent = formattedDate;\n    });\n\n    [].forEach.call(document.querySelectorAll('time.time-ago'), function (content) {\n      var datetime = new Date(content.getAttribute('datetime'));\n\n      content.title = dateTimeFormat.format(datetime);\n      content.textContent = relativeFormat.format(datetime);\n    });\n\n    [].forEach.call(document.querySelectorAll('.logo-button'), function (content) {\n      content.addEventListener('click', function (e) {\n        e.preventDefault();\n        window.open(e.target.href, 'mastodon-intent', 'width=400,height=400,resizable=no,menubar=no,status=no,scrollbars=yes');\n      });\n    });\n\n    var reactComponents = document.querySelectorAll('[data-component]');\n    if (reactComponents.length > 0) {\n      __webpack_require__.e/* import() */(34).then(__webpack_require__.bind(null, 839)).then(function (_ref) {\n        var MediaContainer = _ref.default;\n\n        var content = document.createElement('div');\n\n        ReactDOM.render(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(MediaContainer, {\n          locale: locale,\n          components: reactComponents\n        }), content);\n        document.body.appendChild(content);\n      }).catch(function (error) {\n        return console.error(error);\n      });\n    }\n  });\n\n  delegate(document, '.webapp-btn', 'click', function (_ref2) {\n    var target = _ref2.target,\n        button = _ref2.button;\n\n    if (button !== 0) {\n      return true;\n    }\n    window.location.href = target.href;\n    return false;\n  });\n\n  delegate(document, '.status__content__spoiler-link', 'click', function (_ref3) {\n    var target = _ref3.target;\n\n    var contentEl = target.parentNode.parentNode.querySelector('.e-content');\n\n    if (contentEl.style.display === 'block') {\n      contentEl.style.display = 'none';\n      target.parentNode.style.marginBottom = 0;\n    } else {\n      contentEl.style.display = 'block';\n      target.parentNode.style.marginBottom = null;\n    }\n\n    return false;\n  });\n\n  delegate(document, '.account_display_name', 'input', function (_ref4) {\n    var target = _ref4.target;\n\n    var nameCounter = document.querySelector('.name-counter');\n\n    if (nameCounter) {\n      nameCounter.textContent = 30 - length(target.value);\n    }\n  });\n\n  delegate(document, '.account_note', 'input', function (_ref5) {\n    var target = _ref5.target;\n\n    var noteCounter = document.querySelector('.note-counter');\n\n    if (noteCounter) {\n      noteCounter.textContent = 160 - length(target.value);\n    }\n  });\n\n  delegate(document, '#account_avatar', 'change', function (_ref6) {\n    var target = _ref6.target;\n\n    var avatar = document.querySelector('.card.compact .avatar img');\n\n    var _ref7 = target.files || [],\n        file = _ref7[0];\n\n    var url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;\n\n    avatar.src = url;\n  });\n\n  delegate(document, '#account_header', 'change', function (_ref8) {\n    var target = _ref8.target;\n\n    var header = document.querySelector('.card.compact');\n\n    var _ref9 = target.files || [],\n        file = _ref9[0];\n\n    var url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;\n\n    header.style.backgroundImage = 'url(' + url + ')';\n  });\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1__mastodon_load_polyfills__[\"a\" /* default */])().then(main).catch(function (error) {\n  console.error(error);\n});\n\n/***/ })\n\n},[682]);\n\n\n// WEBPACK FOOTER //\n// public.js","import loadPolyfills from '../mastodon/load_polyfills';\nimport ready from '../mastodon/ready';\n\nwindow.addEventListener('message', e => {\n  const data = e.data || {};\n\n  if (!window.parent || data.type !== 'setHeight') {\n    return;\n  }\n\n  ready(() => {\n    window.parent.postMessage({\n      type: 'setHeight',\n      id: data.id,\n      height: document.getElementsByTagName('html')[0].scrollHeight,\n    }, '*');\n  });\n});\n\nfunction main() {\n  const { length } = require('stringz');\n  const IntlRelativeFormat = require('intl-relativeformat').default;\n  const { delegate } = require('rails-ujs');\n  const emojify = require('../mastodon/features/emoji/emoji').default;\n  const { getLocale } = require('../mastodon/locales');\n  const { localeData } = getLocale();\n  const React = require('react');\n  const ReactDOM = require('react-dom');\n\n  localeData.forEach(IntlRelativeFormat.__addLocaleData);\n\n  ready(() => {\n    const locale = document.documentElement.lang;\n\n    const dateTimeFormat = new Intl.DateTimeFormat(locale, {\n      year: 'numeric',\n      month: 'long',\n      day: 'numeric',\n      hour: 'numeric',\n      minute: 'numeric',\n    });\n\n    const relativeFormat = new IntlRelativeFormat(locale);\n\n    [].forEach.call(document.querySelectorAll('.emojify'), (content) => {\n      content.innerHTML = emojify(content.innerHTML);\n    });\n\n    [].forEach.call(document.querySelectorAll('time.formatted'), (content) => {\n      const datetime = new Date(content.getAttribute('datetime'));\n      const formattedDate = dateTimeFormat.format(datetime);\n\n      content.title = formattedDate;\n      content.textContent = formattedDate;\n    });\n\n    [].forEach.call(document.querySelectorAll('time.time-ago'), (content) => {\n      const datetime = new Date(content.getAttribute('datetime'));\n\n      content.title = dateTimeFormat.format(datetime);\n      content.textContent = relativeFormat.format(datetime);\n    });\n\n    [].forEach.call(document.querySelectorAll('.logo-button'), (content) => {\n      content.addEventListener('click', (e) => {\n        e.preventDefault();\n        window.open(e.target.href, 'mastodon-intent', 'width=400,height=400,resizable=no,menubar=no,status=no,scrollbars=yes');\n      });\n    });\n\n    const reactComponents = document.querySelectorAll('[data-component]');\n    if (reactComponents.length > 0) {\n      import(/* webpackChunkName: \"containers/media_container\" */ '../mastodon/containers/media_container')\n        .then(({ default: MediaContainer }) => {\n          const content = document.createElement('div');\n\n          ReactDOM.render(<MediaContainer locale={locale} components={reactComponents} />, content);\n          document.body.appendChild(content);\n        })\n        .catch(error => console.error(error));\n    }\n  });\n\n  delegate(document, '.webapp-btn', 'click', ({ target, button }) => {\n    if (button !== 0) {\n      return true;\n    }\n    window.location.href = target.href;\n    return false;\n  });\n\n  delegate(document, '.status__content__spoiler-link', 'click', ({ target }) => {\n    const contentEl = target.parentNode.parentNode.querySelector('.e-content');\n\n    if (contentEl.style.display === 'block') {\n      contentEl.style.display = 'none';\n      target.parentNode.style.marginBottom = 0;\n    } else {\n      contentEl.style.display = 'block';\n      target.parentNode.style.marginBottom = null;\n    }\n\n    return false;\n  });\n\n  delegate(document, '.account_display_name', 'input', ({ target }) => {\n    const nameCounter = document.querySelector('.name-counter');\n\n    if (nameCounter) {\n      nameCounter.textContent = 30 - length(target.value);\n    }\n  });\n\n  delegate(document, '.account_note', 'input', ({ target }) => {\n    const noteCounter = document.querySelector('.note-counter');\n\n    if (noteCounter) {\n      noteCounter.textContent = 160 - length(target.value);\n    }\n  });\n\n  delegate(document, '#account_avatar', 'change', ({ target }) => {\n    const avatar = document.querySelector('.card.compact .avatar img');\n    const [file] = target.files || [];\n    const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;\n\n    avatar.src = url;\n  });\n\n  delegate(document, '#account_header', 'change', ({ target }) => {\n    const header = document.querySelector('.card.compact');\n    const [file] = target.files || [];\n    const url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;\n\n    header.style.backgroundImage = `url(${url})`;\n  });\n}\n\nloadPolyfills().then(main).catch(error => {\n  console.error(error);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/packs/public.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./node_modules/rellax/rellax.js","webpack:///./app/javascript/packs/public.js"],"names":["__WEBPACK_AMD_DEFINE_ARRAY__","undefined","__WEBPACK_AMD_DEFINE_RESULT__","__WEBPACK_AMD_DEFINE_FACTORY__","Rellax","el","options","self","Object","create","prototype","posY","screenY","posX","screenX","blocks","pause","loop","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","callback","setTimeout","transformProp","testEl","document","createElement","style","transform","vendors","vendor","speed","center","wrapper","round","vertical","horizontal","keys","forEach","key","elements","querySelectorAll","length","Error","elems","nodeType","querySelector","init","i","cssText","innerHeight","innerWidth","setPosition","block","createBlock","push","cacheBlocks","addEventListener","animate","dataPercentage","getAttribute","dataSpeed","dataZindex","wrapperPosY","scrollTop","pageYOffset","documentElement","body","pageXOffset","scrollLeft","blockTop","getBoundingClientRect","top","blockHeight","clientHeight","offsetHeight","scrollHeight","blockLeft","left","blockWidth","clientWidth","offsetWidth","scrollWidth","percentageY","percentageX","bases","updatePosition","indexOf","index","trimmedStyle","slice","delimiter","replace","baseX","x","baseY","y","height","width","zindex","oldY","oldX","parentNode","result","valueX","valueY","Math","update","positions","positionY","positionX","translate","destroy","removeEventListener","refresh","apply","exports","module","_mastodon_common__WEBPACK_IMPORTED_MODULE_3__","e","data","parent","type","_mastodon_ready__WEBPACK_IMPORTED_MODULE_2__","postMessage","id","getElementsByTagName","_mastodon_load_polyfills__WEBPACK_IMPORTED_MODULE_1__","then","__webpack_require__","IntlMessageFormat","default","timeAgoString","delegate","emojify","messages","getLocale","ReactDOM","createHistory","createBrowserHistory","locale","lang","dateTimeFormat","Intl","DateTimeFormat","year","month","day","hour","minute","call","content","innerHTML","datetime","Date","formattedDate","format","title","textContent","now","formatMessage","_ref","values","defaultMessage","formatDate","date","getFullYear","reactComponents","bind","_ref2","MediaContainer","render","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_0___default","components","appendChild","catch","error","console","history","detailedStatuses","location","state","scrolledToDetailedStatus","scrollIntoView","pathname","assign","_ref3","target","button","href","_ref4","contentEl","display","marginBottom","preventDefault","nodeName","open","_ref5","nameCounter","name","value","_ref6","noteCounter","_ref7","avatar","file","files","url","URL","createObjectURL","dataset","originalSrc","src","_ref9","header","_ref11","lock","checked"],"mappings":"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","file":"public.js","sourcesContent":["\n// ------------------------------------------\n// Rellax.js\n// Buttery smooth parallax library\n// Copyright (c) 2016 Moe Amaya (@moeamaya)\n// MIT license\n//\n// Thanks to Paraxify.js and Jaime Cabllero\n// for parallax concepts\n// ------------------------------------------\n\n(function (root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    // AMD. Register as an anonymous module.\n    define([], factory);\n  } else if (typeof module === 'object' && module.exports) {\n    // Node. Does not work with strict CommonJS, but\n    // only CommonJS-like environments that support module.exports,\n    // like Node.\n    module.exports = factory();\n  } else {\n    // Browser globals (root is window)\n    root.Rellax = factory();\n  }\n}(this, function () {\n  var Rellax = function(el, options){\n    \"use strict\";\n\n    var self = Object.create(Rellax.prototype);\n\n    var posY = 0;\n    var screenY = 0;\n    var posX = 0;\n    var screenX = 0;\n    var blocks = [];\n    var pause = true;\n\n    // check what requestAnimationFrame to use, and if\n    // it's not supported, use the onscroll event\n    var loop = window.requestAnimationFrame ||\n      window.webkitRequestAnimationFrame ||\n      window.mozRequestAnimationFrame ||\n      window.msRequestAnimationFrame ||\n      window.oRequestAnimationFrame ||\n      function(callback){ setTimeout(callback, 1000 / 60); };\n\n    // check which transform property to use\n    var transformProp = window.transformProp || (function(){\n        var testEl = document.createElement('div');\n        if (testEl.style.transform === null) {\n          var vendors = ['Webkit', 'Moz', 'ms'];\n          for (var vendor in vendors) {\n            if (testEl.style[ vendors[vendor] + 'Transform' ] !== undefined) {\n              return vendors[vendor] + 'Transform';\n            }\n          }\n        }\n        return 'transform';\n      })();\n\n    // Default Settings\n    self.options = {\n      speed: -2,\n      center: false,\n      wrapper: null,\n      round: true,\n      vertical: true,\n      horizontal: false,\n      callback: function() {},\n    };\n\n    // User defined options (might have more in the future)\n    if (options){\n      Object.keys(options).forEach(function(key){\n        self.options[key] = options[key];\n      });\n    }\n\n    // By default, rellax class\n    if (!el) {\n      el = '.rellax';\n    }\n\n    // check if el is a className or a node\n    var elements = typeof el === 'string' ? document.querySelectorAll(el) : [el];\n\n    // Now query selector\n    if (elements.length > 0) {\n      self.elems = elements;\n    }\n\n    // The elements don't exist\n    else {\n      throw new Error(\"The elements you're trying to select don't exist.\");\n    }\n\n    // Has a wrapper and it exists\n    if (self.options.wrapper) {\n      if (!self.options.wrapper.nodeType) {\n        var wrapper = document.querySelector(self.options.wrapper);\n\n        if (wrapper) {\n          self.options.wrapper = wrapper;\n        } else {\n          throw new Error(\"The wrapper you're trying to use don't exist.\");\n        }\n      }\n    }\n\n\n    // Get and cache initial position of all elements\n    var cacheBlocks = function() {\n      for (var i = 0; i < self.elems.length; i++){\n        var block = createBlock(self.elems[i]);\n        blocks.push(block);\n      }\n    };\n\n\n    // Let's kick this script off\n    // Build array for cached element values\n    var init = function() {\n      for (var i = 0; i < blocks.length; i++){\n        self.elems[i].style.cssText = blocks[i].style;\n      }\n\n      blocks = [];\n\n      screenY = window.innerHeight;\n      screenX = window.innerWidth;\n      setPosition();\n\n      cacheBlocks();\n\n      // If paused, unpause and set listener for window resizing events\n      if (pause) {\n        window.addEventListener('resize', init);\n        pause = false;\n      }\n      animate();\n    };\n\n    // We want to cache the parallax blocks'\n    // values: base, top, height, speed\n    // el: is dom object, return: el cache values\n    var createBlock = function(el) {\n      var dataPercentage = el.getAttribute( 'data-rellax-percentage' );\n      var dataSpeed = el.getAttribute( 'data-rellax-speed' );\n      var dataZindex = el.getAttribute( 'data-rellax-zindex' ) || 0;\n\n      // initializing at scrollY = 0 (top of browser), scrollX = 0 (left of browser)\n      // ensures elements are positioned based on HTML layout.\n      //\n      // If the element has the percentage attribute, the posY and posX needs to be\n      // the current scroll position's value, so that the elements are still positioned based on HTML layout\n      var wrapperPosY = self.options.wrapper ? self.options.wrapper.scrollTop : (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\n      var posY = self.options.vertical ? ( dataPercentage || self.options.center ? wrapperPosY : 0 ) : 0;\n      var posX = self.options.horizontal ? ( dataPercentage || self.options.center ? (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) : 0 ) : 0;\n\n      var blockTop = posY + el.getBoundingClientRect().top;\n      var blockHeight = el.clientHeight || el.offsetHeight || el.scrollHeight;\n\n      var blockLeft = posX + el.getBoundingClientRect().left;\n      var blockWidth = el.clientWidth || el.offsetWidth || el.scrollWidth;\n\n      // apparently parallax equation everyone uses\n      var percentageY = dataPercentage ? dataPercentage : (posY - blockTop + screenY) / (blockHeight + screenY);\n      var percentageX = dataPercentage ? dataPercentage : (posX - blockLeft + screenX) / (blockWidth + screenX);\n      if(self.options.center){ percentageX = 0.5; percentageY = 0.5; }\n\n      // Optional individual block speed as data attr, otherwise global speed\n      var speed = dataSpeed ? dataSpeed : self.options.speed;\n\n      var bases = updatePosition(percentageX, percentageY, speed);\n\n      // ~~Store non-translate3d transforms~~\n      // Store inline styles and extract transforms\n      var style = el.style.cssText;\n      var transform = '';\n\n      // Check if there's an inline styled transform\n      if (style.indexOf('transform') >= 0) {\n        // Get the index of the transform\n        var index = style.indexOf('transform');\n\n        // Trim the style to the transform point and get the following semi-colon index\n        var trimmedStyle = style.slice(index);\n        var delimiter = trimmedStyle.indexOf(';');\n\n        // Remove \"transform\" string and save the attribute\n        if (delimiter) {\n          transform = \" \" + trimmedStyle.slice(11, delimiter).replace(/\\s/g,'');\n        } else {\n          transform = \" \" + trimmedStyle.slice(11).replace(/\\s/g,'');\n        }\n      }\n\n      return {\n        baseX: bases.x,\n        baseY: bases.y,\n        top: blockTop,\n        left: blockLeft,\n        height: blockHeight,\n        width: blockWidth,\n        speed: speed,\n        style: style,\n        transform: transform,\n        zindex: dataZindex\n      };\n    };\n\n    // set scroll position (posY, posX)\n    // side effect method is not ideal, but okay for now\n    // returns true if the scroll changed, false if nothing happened\n    var setPosition = function() {\n      var oldY = posY;\n      var oldX = posX;\n\n      posY = self.options.wrapper ? self.options.wrapper.scrollTop : (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\n      posX = self.options.wrapper ? self.options.wrapper.scrollLeft : (document.documentElement || document.body.parentNode || document.body).scrollLeft || window.pageXOffset;\n\n\n      if (oldY != posY && self.options.vertical) {\n        // scroll changed, return true\n        return true;\n      }\n\n      if (oldX != posX && self.options.horizontal) {\n        // scroll changed, return true\n        return true;\n      }\n\n      // scroll did not change\n      return false;\n    };\n\n    // Ahh a pure function, gets new transform value\n    // based on scrollPosition and speed\n    // Allow for decimal pixel values\n    var updatePosition = function(percentageX, percentageY, speed) {\n      var result = {};\n      var valueX = (speed * (100 * (1 - percentageX)));\n      var valueY = (speed * (100 * (1 - percentageY)));\n\n      result.x = self.options.round ? Math.round(valueX) : Math.round(valueX * 100) / 100;\n      result.y = self.options.round ? Math.round(valueY) : Math.round(valueY * 100) / 100;\n\n      return result;\n    };\n\n    // Loop\n    var update = function() {\n      if (setPosition() && pause === false) {\n        animate();\n      }\n\n      // loop again\n      loop(update);\n    };\n\n    // Transform3d on parallax element\n    var animate = function() {\n      var positions;\n      for (var i = 0; i < self.elems.length; i++){\n        var percentageY = ((posY - blocks[i].top + screenY) / (blocks[i].height + screenY));\n        var percentageX = ((posX - blocks[i].left + screenX) / (blocks[i].width + screenX));\n\n        // Subtracting initialize value, so element stays in same spot as HTML\n        positions = updatePosition(percentageX, percentageY, blocks[i].speed);// - blocks[i].baseX;\n        var positionY = positions.y - blocks[i].baseY;\n        var positionX = positions.x - blocks[i].baseX;\n\n        var zindex = blocks[i].zindex;\n\n        // Move that element\n        // (Set the new translation and append initial inline transforms.)\n        var translate = 'translate3d(' + (self.options.horizontal ? positionX : '0') + 'px,' + (self.options.vertical ? positionY : '0') + 'px,' + zindex + 'px) ' + blocks[i].transform;\n        self.elems[i].style[transformProp] = translate;\n      }\n      self.options.callback(positions);\n    };\n\n    self.destroy = function() {\n      for (var i = 0; i < self.elems.length; i++){\n        self.elems[i].style.cssText = blocks[i].style;\n      }\n\n      // Remove resize event listener if not pause, and pause\n      if (!pause) {\n        window.removeEventListener('resize', init);\n        pause = true;\n      }\n    };\n\n    // Init\n    init();\n\n    // Start the loop\n    update();\n\n    // Allow to recalculate the initial values whenever we want\n    self.refresh = init;\n\n    return self;\n  };\n  return Rellax;\n}));\n","import loadPolyfills from '../mastodon/load_polyfills';\nimport ready from '../mastodon/ready';\nimport { start } from '../mastodon/common';\n\nstart();\n\nwindow.addEventListener('message', e => {\n  const data = e.data || {};\n\n  if (!window.parent || data.type !== 'setHeight') {\n    return;\n  }\n\n  ready(() => {\n    window.parent.postMessage({\n      type: 'setHeight',\n      id: data.id,\n      height: document.getElementsByTagName('html')[0].scrollHeight,\n    }, '*');\n  });\n});\n\nfunction main() {\n  const { length } = require('stringz');\n  const IntlMessageFormat = require('intl-messageformat').default;\n  const { timeAgoString } = require('../mastodon/components/relative_timestamp');\n  const { delegate } = require('rails-ujs');\n  const emojify = require('../mastodon/features/emoji/emoji').default;\n  const { getLocale } = require('../mastodon/locales');\n  const { messages } = getLocale();\n  const React = require('react');\n  const ReactDOM = require('react-dom');\n  const Rellax = require('rellax');\n  const createHistory = require('history').createBrowserHistory;\n\n  ready(() => {\n    const locale = document.documentElement.lang;\n\n    const dateTimeFormat = new Intl.DateTimeFormat(locale, {\n      year: 'numeric',\n      month: 'long',\n      day: 'numeric',\n      hour: 'numeric',\n      minute: 'numeric',\n    });\n\n    [].forEach.call(document.querySelectorAll('.emojify'), (content) => {\n      content.innerHTML = emojify(content.innerHTML);\n    });\n\n    [].forEach.call(document.querySelectorAll('time.formatted'), (content) => {\n      const datetime = new Date(content.getAttribute('datetime'));\n      const formattedDate = dateTimeFormat.format(datetime);\n\n      content.title = formattedDate;\n      content.textContent = formattedDate;\n    });\n\n    [].forEach.call(document.querySelectorAll('time.time-ago'), (content) => {\n      const datetime = new Date(content.getAttribute('datetime'));\n      const now      = new Date();\n\n      content.title = dateTimeFormat.format(datetime);\n      content.textContent = timeAgoString({\n        formatMessage: ({ id, defaultMessage }, values) => (new IntlMessageFormat(messages[id] || defaultMessage, locale)).format(values),\n        formatDate: (date, options) => (new Intl.DateTimeFormat(locale, options)).format(date),\n      }, datetime, now, datetime.getFullYear());\n    });\n\n    const reactComponents = document.querySelectorAll('[data-component]');\n    if (reactComponents.length > 0) {\n      import(/* webpackChunkName: \"containers/media_container\" */ '../mastodon/containers/media_container')\n        .then(({ default: MediaContainer }) => {\n          const content = document.createElement('div');\n\n          ReactDOM.render(<MediaContainer locale={locale} components={reactComponents} />, content);\n          document.body.appendChild(content);\n        })\n        .catch(error => console.error(error));\n    }\n\n    const parallaxComponents = document.querySelectorAll('.parallax');\n    if (parallaxComponents.length > 0 ) {\n      new Rellax('.parallax', { speed: -1 });\n    }\n\n    const history = createHistory();\n    const detailedStatuses = document.querySelectorAll('.public-layout .detailed-status');\n    const location = history.location;\n    if (detailedStatuses.length === 1 && (!location.state || !location.state.scrolledToDetailedStatus)) {\n      detailedStatuses[0].scrollIntoView();\n      history.replace(location.pathname, { ...location.state, scrolledToDetailedStatus: true });\n    }\n  });\n\n  delegate(document, '.webapp-btn', 'click', ({ target, button }) => {\n    if (button !== 0) {\n      return true;\n    }\n    window.location.href = target.href;\n    return false;\n  });\n\n  delegate(document, '.status__content__spoiler-link', 'click', ({ target }) => {\n    const contentEl = target.parentNode.parentNode.querySelector('.e-content');\n\n    if (contentEl.style.display === 'block') {\n      contentEl.style.display = 'none';\n      target.parentNode.style.marginBottom = 0;\n    } else {\n      contentEl.style.display = 'block';\n      target.parentNode.style.marginBottom = null;\n    }\n\n    return false;\n  });\n\n  delegate(document, '.modal-button', 'click', e => {\n    e.preventDefault();\n\n    let href;\n\n    if (e.target.nodeName !== 'A') {\n      href = e.target.parentNode.href;\n    } else {\n      href = e.target.href;\n    }\n\n    window.open(href, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');\n  });\n\n  delegate(document, '#account_display_name', 'input', ({ target }) => {\n    const nameCounter = document.querySelector('.name-counter');\n    const name        = document.querySelector('.card .display-name strong');\n\n    if (nameCounter) {\n      nameCounter.textContent = 30 - length(target.value);\n    }\n\n    if (name) {\n      name.innerHTML = emojify(target.value);\n    }\n  });\n\n  delegate(document, '#account_note', 'input', ({ target }) => {\n    const noteCounter = document.querySelector('.note-counter');\n\n    if (noteCounter) {\n      noteCounter.textContent = 160 - length(target.value);\n    }\n  });\n\n  delegate(document, '#account_avatar', 'change', ({ target }) => {\n    const avatar = document.querySelector('.card .avatar img');\n    const [file] = target.files || [];\n    const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc;\n\n    avatar.src = url;\n  });\n\n  delegate(document, '#account_header', 'change', ({ target }) => {\n    const header = document.querySelector('.card .card__img img');\n    const [file] = target.files || [];\n    const url = file ? URL.createObjectURL(file) : header.dataset.originalSrc;\n\n    header.src = url;\n  });\n\n  delegate(document, '#account_locked', 'change', ({ target }) => {\n    const lock = document.querySelector('.card .display-name i');\n\n    if (target.checked) {\n      lock.style.display = 'inline';\n    } else {\n      lock.style.display = 'none';\n    }\n  });\n}\n\nloadPolyfills().then(main).catch(error => {\n  console.error(error);\n});\n"],"sourceRoot":""}
\ No newline at end of file