forked from AkkomaGang/akkoma
1 line
No EOL
26 KiB
Text
1 line
No EOL
26 KiB
Text
{"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":""} |