{"version":3,"sources":["webpack:///./node_modules/react-masonry-infinite/lib/index.js","webpack:///./app/javascript/packs/about.js","webpack:///./node_modules/bricks.js/dist/bricks.module.js","webpack:///./node_modules/react-infinite-scroller/index.js","webpack:///./node_modules/react-infinite-scroller/dist/InfiniteScroll.js","webpack:///./app/javascript/mastodon/features/status/containers/detailed_status_container.js","webpack:///./app/javascript/mastodon/features/standalone/public_timeline/index.js","webpack:///./app/javascript/mastodon/features/standalone/hashtag_timeline/index.js","webpack:///./app/javascript/mastodon/containers/timeline_container.js"],"names":["Object","defineProperty","exports","value","default","undefined","_class","_temp2","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_react","_react2","_interopRequireDefault","_propTypes2","_bricks2","_reactInfiniteScroller2","obj","__esModule","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","call","ReferenceError","MasonryInfiniteScroller","_Component","_ref","_temp","_this","this","_len","arguments","args","Array","_key","__proto__","getPrototypeOf","apply","concat","setContainerRef","component","masonryContainer","forcePack","state","pack","forceUpdate","update","createNewInstance","_this$props","packed","sizes","children","position","container","resize","setState","subClass","superClass","create","constructor","setPrototypeOf","_inherits","prevProps","_props","className","style","keys","indexOf","hasOwnProperty","_objectWithoutProperties","createElement","ref","Component","propTypes","arrayOf","element","isRequired","string","initialLoad","bool","array","object","defaultProps","columns","gutter","mq","loaded","TimelineContainer","require","React","ReactDOM","mountNode","document","getElementById","JSON","parse","getAttribute","render","start","loadPolyfills","then","ready","catch","error","console","_extends","assign","source","knot","extended","events","on","name","handler","push","once","_once","off","splice","emit","cache","slice","forEach","options","persist","ticking","sizeIndex","sizeDetail","columnTarget","columnHeights","nodeTop","nodeLeft","nodeWidth","nodeHeight","nodes","nodesWidths","nodesHeights","reverse","nodeType","querySelector","selectors","all","toArray","new","filter","node","hasAttribute","setup","setSizeIndex","setSizeDetail","setColumns","run","setNodes","setNodesDimensions","setNodesStyles","setContainerStyles","runSeries","functions","func","input","fillArray","map","getSizeIndex","size","window","matchMedia","matches","clientWidth","clientHeight","index","Math","min","top","left","transform","setAttribute","width","height","max","resizeFrame","requestAnimationFrame","resizeHandler","flag","action","module","InfiniteScroll","scrollListener","bind","eventListenerOptions","mousewheelListener","pageLoaded","pageStart","attachScrollListener","isReverse","loadMore","parentElement","getParentElement","scrollComponent","scrollTop","scrollHeight","beforeScrollHeight","beforeScrollTop","detachScrollListener","detachMousewheelListener","passive","testOptions","addEventListener","removeEventListener","e","useCapture","isPassiveSupported","loader","defaultLoader","scrollEl","useWindow","parentNode","el","scrollParent","getScrollParent","hasMore","deltaY","preventDefault","offset","doc","documentElement","body","pageYOffset","calculateOffset","Number","threshold","offsetParent","calculateTopPosition","offsetHeight","innerHeight","offsetTop","_this2","renderProps","filterProps","childrenArray","unshift","number","messages","defineMessages","deleteConfirm","deleteMessage","redraftConfirm","redraftMessage","replyConfirm","replyMessage","injectIntl","connect","getStatus","makeGetStatus","getPictureInPicture","makeGetPictureInPicture","status","domain","getIn","pictureInPicture","dispatch","intl","onReply","router","_","getState","trim","openModal","message","formatMessage","confirm","onConfirm","replyCompose","onModalReblog","privacy","reblog","onReblog","get","unreblog","shiftKey","boostModal","initBoostModal","onFavourite","unfavourite","favourite","onPin","unpin","pin","onEmbed","url","onError","showAlertForError","onDelete","history","withRedraft","deleteModal","deleteStatus","onDirect","account","directCompose","onMention","mentionCompose","onOpenMedia","media","onOpenVideo","onBlock","initBlockModal","onReport","initReport","onMute","initMuteModal","onMuteConversation","unmuteStatus","muteStatus","onToggleHidden","revealStatus","hideStatus","DetailedStatus","PublicTimeline","local","timeline","ImmutableMap","statusIds","ImmutableList","isLoading","handleLoadMore","maxId","last","expandCommunityTimeline","expandPublicTimeline","setRef","c","masonry","handleHeightChange","componentDidMount","_connect","componentDidUpdate","isEmpty","statusId","id","compact","measureHeight","onHeightChange","PureComponent","HashtagTimeline","hashtag","expandHashtagTimeline","getLocale","localeData","addLocaleData","store","configureStore","initialState","hydrateStore","locale","createPortal","settings","known_fediverse"],"mappings":"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","file":"js/about-ba6359caad89bcc8b77e.chunk.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _class, _temp2;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _bricks = require('bricks.js');\n\nvar _bricks2 = _interopRequireDefault(_bricks);\n\nvar _reactInfiniteScroller = require('react-infinite-scroller');\n\nvar _reactInfiniteScroller2 = _interopRequireDefault(_reactInfiniteScroller);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar MasonryInfiniteScroller = (_temp2 = _class = function (_Component) {\n _inherits(MasonryInfiniteScroller, _Component);\n\n function MasonryInfiniteScroller() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, MasonryInfiniteScroller);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MasonryInfiniteScroller.__proto__ || Object.getPrototypeOf(MasonryInfiniteScroller)).call.apply(_ref, [this].concat(args))), _this), _this.setContainerRef = function (component) {\n _this.masonryContainer = component;\n }, _this.forcePack = function () {\n if (_this.masonryContainer) {\n _this.state.instance.pack();\n }\n }, _this.forceUpdate = function () {\n if (_this.masonryContainer) {\n _this.state.instance.update();\n }\n }, _this.createNewInstance = function () {\n var _this$props = _this.props,\n packed = _this$props.packed,\n sizes = _this$props.sizes,\n children = _this$props.children,\n position = _this$props.position;\n var instance = (0, _bricks2.default)({\n container: _this.masonryContainer,\n packed: packed,\n sizes: sizes,\n position: position\n });\n instance.resize(true);\n\n if (children.length > 0) {\n instance.pack();\n }\n\n _this.setState(function () {\n return {\n instance: instance\n };\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(MasonryInfiniteScroller, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.createNewInstance();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var children = this.props.children;\n var instance = this.state.instance;\n\n if (prevProps.children.length === 0 && children.length === 0) {\n return;\n }\n\n if (prevProps.children.length === 0 && children.length > 0) {\n return instance.pack();\n }\n\n if (prevProps.children.length !== children.length) {\n if (this.props.pack) {\n return instance.pack();\n } else {\n return instance.update();\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.state) {\n this.state.instance.resize(false);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n style = _props.style,\n pack = _props.pack,\n packed = _props.packed,\n position = _props.position,\n sizes = _props.sizes,\n props = _objectWithoutProperties(_props, ['children', 'className', 'style', 'pack', 'packed', 'position', 'sizes']);\n\n return _react2.default.createElement(_reactInfiniteScroller2.default, props, _react2.default.createElement('div', {\n ref: this.setContainerRef,\n className: className,\n style: style\n }, children));\n }\n }]);\n\n return MasonryInfiniteScroller;\n}(_react.Component), _class.propTypes = {\n children: _propTypes2.default.arrayOf(_propTypes2.default.element).isRequired,\n className: _propTypes2.default.string,\n initialLoad: _propTypes2.default.bool,\n pack: _propTypes2.default.bool,\n packed: _propTypes2.default.string,\n position: _propTypes2.default.bool,\n sizes: _propTypes2.default.array,\n style: _propTypes2.default.object\n}, _class.defaultProps = {\n className: '',\n initialLoad: true,\n pack: false,\n packed: 'data-packed',\n position: true,\n sizes: [{\n columns: 1,\n gutter: 20\n }, {\n mq: '768px',\n columns: 2,\n gutter: 20\n }, {\n mq: '1024px',\n columns: 3,\n gutter: 20\n }],\n style: {}\n}, _temp2);\nexports.default = MasonryInfiniteScroller;","import './public-path';\nimport loadPolyfills from '../mastodon/load_polyfills';\nimport { start } from '../mastodon/common';\n\nstart();\n\nfunction loaded() {\n const TimelineContainer = require('../mastodon/containers/timeline_container').default;\n const React = require('react');\n const ReactDOM = require('react-dom');\n const mountNode = document.getElementById('mastodon-timeline');\n\n if (mountNode !== null) {\n const props = JSON.parse(mountNode.getAttribute('data-props'));\n ReactDOM.render(, mountNode);\n }\n}\n\nfunction main() {\n const ready = require('../mastodon/ready').default;\n ready(loaded);\n}\n\nloadPolyfills().then(main).catch(error => {\n console.error(error);\n});\n","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar knot = function knot() {\n var extended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var events = Object.create(null);\n\n function on(name, handler) {\n events[name] = events[name] || [];\n events[name].push(handler);\n return this;\n }\n\n function once(name, handler) {\n handler._once = true;\n on(name, handler);\n return this;\n }\n\n function off(name) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n handler ? events[name].splice(events[name].indexOf(handler), 1) : delete events[name];\n return this;\n }\n\n function emit(name) {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n } // cache the events, to avoid consequences of mutation\n\n\n var cache = events[name] && events[name].slice(); // only fire handlers if they exist\n\n cache && cache.forEach(function (handler) {\n // remove handlers added with 'once'\n handler._once && off(name, handler); // set 'this' context, pass args to handlers\n\n handler.apply(_this, args);\n });\n return this;\n }\n\n return _extends({}, extended, {\n on: on,\n once: once,\n off: off,\n emit: emit\n });\n};\n\nvar bricks = function bricks() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // privates\n\n var persist = void 0; // packing new elements, or all elements?\n\n var ticking = void 0; // for debounced resize\n\n var sizeIndex = void 0;\n var sizeDetail = void 0;\n var columnTarget = void 0;\n var columnHeights = void 0;\n var nodeTop = void 0;\n var nodeLeft = void 0;\n var nodeWidth = void 0;\n var nodeHeight = void 0;\n var nodes = void 0;\n var nodesWidths = void 0;\n var nodesHeights = void 0; // resolve options\n\n var packed = options.packed.indexOf('data-') === 0 ? options.packed : 'data-' + options.packed;\n var sizes = options.sizes.slice().reverse();\n var position = options.position !== false;\n var container = options.container.nodeType ? options.container : document.querySelector(options.container);\n var selectors = {\n all: function all() {\n return toArray(container.children);\n },\n new: function _new() {\n return toArray(container.children).filter(function (node) {\n return !node.hasAttribute('' + packed);\n });\n }\n }; // series\n\n var setup = [setSizeIndex, setSizeDetail, setColumns];\n var run = [setNodes, setNodesDimensions, setNodesStyles, setContainerStyles]; // instance\n\n var instance = knot({\n pack: pack,\n update: update,\n resize: resize\n });\n return instance; // general helpers\n\n function runSeries(functions) {\n functions.forEach(function (func) {\n return func();\n });\n } // array helpers\n\n\n function toArray(input) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n return Array.prototype.slice.call(input);\n }\n\n function fillArray(length) {\n return Array.apply(null, Array(length)).map(function () {\n return 0;\n });\n } // size helpers\n\n\n function getSizeIndex() {\n // find index of widest matching media query\n return sizes.map(function (size) {\n return size.mq && window.matchMedia('(min-width: ' + size.mq + ')').matches;\n }).indexOf(true);\n }\n\n function setSizeIndex() {\n sizeIndex = getSizeIndex();\n }\n\n function setSizeDetail() {\n // if no media queries matched, use the base case\n sizeDetail = sizeIndex === -1 ? sizes[sizes.length - 1] : sizes[sizeIndex];\n } // column helpers\n\n\n function setColumns() {\n columnHeights = fillArray(sizeDetail.columns);\n } // node helpers\n\n\n function setNodes() {\n nodes = selectors[persist ? 'new' : 'all']();\n }\n\n function setNodesDimensions() {\n // exit if empty container\n if (nodes.length === 0) {\n return;\n }\n\n nodesWidths = nodes.map(function (element) {\n return element.clientWidth;\n });\n nodesHeights = nodes.map(function (element) {\n return element.clientHeight;\n });\n }\n\n function setNodesStyles() {\n nodes.forEach(function (element, index) {\n columnTarget = columnHeights.indexOf(Math.min.apply(Math, columnHeights));\n element.style.position = 'absolute';\n nodeTop = columnHeights[columnTarget] + 'px';\n nodeLeft = columnTarget * nodesWidths[index] + columnTarget * sizeDetail.gutter + 'px'; // support positioned elements (default) or transformed elements\n\n if (position) {\n element.style.top = nodeTop;\n element.style.left = nodeLeft;\n } else {\n element.style.transform = 'translate3d(' + nodeLeft + ', ' + nodeTop + ', 0)';\n }\n\n element.setAttribute(packed, ''); // ignore nodes with no width and/or height\n\n nodeWidth = nodesWidths[index];\n nodeHeight = nodesHeights[index];\n\n if (nodeWidth && nodeHeight) {\n columnHeights[columnTarget] += nodeHeight + sizeDetail.gutter;\n }\n });\n } // container helpers\n\n\n function setContainerStyles() {\n container.style.position = 'relative';\n container.style.width = sizeDetail.columns * nodeWidth + (sizeDetail.columns - 1) * sizeDetail.gutter + 'px';\n container.style.height = Math.max.apply(Math, columnHeights) - sizeDetail.gutter + 'px';\n } // resize helpers\n\n\n function resizeFrame() {\n if (!ticking) {\n window.requestAnimationFrame(resizeHandler);\n ticking = true;\n }\n }\n\n function resizeHandler() {\n if (sizeIndex !== getSizeIndex()) {\n pack();\n instance.emit('resize', sizeDetail);\n }\n\n ticking = false;\n } // API\n\n\n function pack() {\n persist = false;\n runSeries(setup.concat(run));\n return instance.emit('pack');\n }\n\n function update() {\n persist = true;\n runSeries(run);\n return instance.emit('update');\n }\n\n function resize() {\n var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var action = flag ? 'addEventListener' : 'removeEventListener';\n window[action]('resize', resizeFrame);\n return instance;\n }\n};\n\nexport default bricks;","module.exports = require('./dist/InfiniteScroll');","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar InfiniteScroll = function (_Component) {\n _inherits(InfiniteScroll, _Component);\n\n function InfiniteScroll(props) {\n _classCallCheck(this, InfiniteScroll);\n\n var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));\n\n _this.scrollListener = _this.scrollListener.bind(_this);\n _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n return _this;\n }\n\n _createClass(InfiniteScroll, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.pageLoaded = this.props.pageStart;\n this.options = this.eventListenerOptions();\n this.attachScrollListener();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isReverse && this.loadMore) {\n var parentElement = this.getParentElement(this.scrollComponent);\n parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;\n this.loadMore = false;\n }\n\n this.attachScrollListener();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachScrollListener();\n this.detachMousewheelListener();\n }\n }, {\n key: 'isPassiveSupported',\n value: function isPassiveSupported() {\n var passive = false;\n var testOptions = {\n get passive() {\n passive = true;\n }\n\n };\n\n try {\n document.addEventListener('test', null, testOptions);\n document.removeEventListener('test', null, testOptions);\n } catch (e) {// ignore\n }\n\n return passive;\n }\n }, {\n key: 'eventListenerOptions',\n value: function eventListenerOptions() {\n var options = this.props.useCapture;\n\n if (this.isPassiveSupported()) {\n options = {\n useCapture: this.props.useCapture,\n passive: true\n };\n }\n\n return options;\n } // Set a defaut loader for all your `InfiniteScroll` components\n\n }, {\n key: 'setDefaultLoader',\n value: function setDefaultLoader(loader) {\n this.defaultLoader = loader;\n }\n }, {\n key: 'detachMousewheelListener',\n value: function detachMousewheelListener() {\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = this.scrollComponent.parentNode;\n }\n\n scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'detachScrollListener',\n value: function detachScrollListener() {\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = this.getParentElement(this.scrollComponent);\n }\n\n scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'getParentElement',\n value: function getParentElement(el) {\n var scrollParent = this.props.getScrollParent && this.props.getScrollParent();\n\n if (scrollParent != null) {\n return scrollParent;\n }\n\n return el && el.parentNode;\n }\n }, {\n key: 'filterProps',\n value: function filterProps(props) {\n return props;\n }\n }, {\n key: 'attachScrollListener',\n value: function attachScrollListener() {\n var parentElement = this.getParentElement(this.scrollComponent);\n\n if (!this.props.hasMore || !parentElement) {\n return;\n }\n\n var scrollEl = window;\n\n if (this.props.useWindow === false) {\n scrollEl = parentElement;\n }\n\n scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n\n if (this.props.initialLoad) {\n this.scrollListener();\n }\n }\n }, {\n key: 'mousewheelListener',\n value: function mousewheelListener(e) {\n // Prevents Chrome hangups\n // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n if (e.deltaY === 1 && !this.isPassiveSupported()) {\n e.preventDefault();\n }\n }\n }, {\n key: 'scrollListener',\n value: function scrollListener() {\n var el = this.scrollComponent;\n var scrollEl = window;\n var parentNode = this.getParentElement(el);\n var offset = void 0;\n\n if (this.props.useWindow) {\n var doc = document.documentElement || document.body.parentNode || document.body;\n var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;\n\n if (this.props.isReverse) {\n offset = scrollTop;\n } else {\n offset = this.calculateOffset(el, scrollTop);\n }\n } else if (this.props.isReverse) {\n offset = parentNode.scrollTop;\n } else {\n offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n } // Here we make sure the element is visible as well as checking the offset\n\n\n if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {\n this.detachScrollListener();\n this.beforeScrollHeight = parentNode.scrollHeight;\n this.beforeScrollTop = parentNode.scrollTop; // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n\n if (typeof this.props.loadMore === 'function') {\n this.props.loadMore(this.pageLoaded += 1);\n this.loadMore = true;\n }\n }\n }\n }, {\n key: 'calculateOffset',\n value: function calculateOffset(el, scrollTop) {\n if (!el) {\n return 0;\n }\n\n return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);\n }\n }, {\n key: 'calculateTopPosition',\n value: function calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var renderProps = this.filterProps(this.props);\n\n var children = renderProps.children,\n element = renderProps.element,\n hasMore = renderProps.hasMore,\n initialLoad = renderProps.initialLoad,\n isReverse = renderProps.isReverse,\n loader = renderProps.loader,\n loadMore = renderProps.loadMore,\n pageStart = renderProps.pageStart,\n ref = renderProps.ref,\n threshold = renderProps.threshold,\n useCapture = renderProps.useCapture,\n useWindow = renderProps.useWindow,\n getScrollParent = renderProps.getScrollParent,\n props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);\n\n props.ref = function (node) {\n _this2.scrollComponent = node;\n\n if (ref) {\n ref(node);\n }\n };\n\n var childrenArray = [children];\n\n if (hasMore) {\n if (loader) {\n isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);\n } else if (this.defaultLoader) {\n isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);\n }\n }\n\n return _react2.default.createElement(element, props, childrenArray);\n }\n }]);\n\n return InfiniteScroll;\n}(_react.Component);\n\nInfiniteScroll.propTypes = {\n children: _propTypes2.default.node.isRequired,\n element: _propTypes2.default.node,\n hasMore: _propTypes2.default.bool,\n initialLoad: _propTypes2.default.bool,\n isReverse: _propTypes2.default.bool,\n loader: _propTypes2.default.node,\n loadMore: _propTypes2.default.func.isRequired,\n pageStart: _propTypes2.default.number,\n ref: _propTypes2.default.func,\n getScrollParent: _propTypes2.default.func,\n threshold: _propTypes2.default.number,\n useCapture: _propTypes2.default.bool,\n useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n element: 'div',\n hasMore: false,\n initialLoad: true,\n pageStart: 0,\n ref: null,\n threshold: 250,\n useWindow: true,\n isReverse: false,\n useCapture: false,\n loader: null,\n getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];","import { connect } from 'react-redux';\nimport DetailedStatus from '../components/detailed_status';\nimport { makeGetStatus, makeGetPictureInPicture } from '../../../selectors';\nimport {\n replyCompose,\n mentionCompose,\n directCompose,\n} from '../../../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n pin,\n unpin,\n} from '../../../actions/interactions';\nimport {\n muteStatus,\n unmuteStatus,\n deleteStatus,\n hideStatus,\n revealStatus,\n} from '../../../actions/statuses';\nimport { initMuteModal } from '../../../actions/mutes';\nimport { initBlockModal } from '../../../actions/blocks';\nimport { initBoostModal } from '../../../actions/boosts';\nimport { initReport } from '../../../actions/reports';\nimport { openModal } from '../../../actions/modal';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { boostModal, deleteModal } from '../../../initial_state';\nimport { showAlertForError } from '../../../actions/alerts';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },\n redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },\n replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },\n replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n const getPictureInPicture = makeGetPictureInPicture();\n\n const mapStateToProps = (state, props) => ({\n status: getStatus(state, props),\n domain: state.getIn(['meta', 'domain']),\n pictureInPicture: getPictureInPicture(state, props),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onReply (status, router) {\n dispatch((_, getState) => {\n let state = getState();\n if (state.getIn(['compose', 'text']).trim().length !== 0) {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.replyMessage),\n confirm: intl.formatMessage(messages.replyConfirm),\n onConfirm: () => dispatch(replyCompose(status, router)),\n }));\n } else {\n dispatch(replyCompose(status, router));\n }\n });\n },\n\n onModalReblog (status, privacy) {\n dispatch(reblog(status, privacy));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(initBoostModal({ status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onPin (status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n\n onEmbed (status) {\n dispatch(openModal('EMBED', {\n url: status.get('url'),\n onError: error => dispatch(showAlertForError(error)),\n }));\n },\n\n onDelete (status, history, withRedraft = false) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id'), history, withRedraft));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),\n confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),\n }));\n }\n },\n\n onDirect (account, router) {\n dispatch(directCompose(account, router));\n },\n\n onMention (account, router) {\n dispatch(mentionCompose(account, router));\n },\n\n onOpenMedia (media, index) {\n dispatch(openModal('MEDIA', { media, index }));\n },\n\n onOpenVideo (media, options) {\n dispatch(openModal('VIDEO', { media, options }));\n },\n\n onBlock (status) {\n const account = status.get('account');\n dispatch(initBlockModal(account));\n },\n\n onReport (status) {\n dispatch(initReport(status.get('account'), status));\n },\n\n onMute (account) {\n dispatch(initMuteModal(account));\n },\n\n onMuteConversation (status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n },\n\n onToggleHidden (status) {\n if (status.get('hidden')) {\n dispatch(revealStatus(status.get('id')));\n } else {\n dispatch(hideStatus(status.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(DetailedStatus));\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { expandPublicTimeline, expandCommunityTimeline } from 'mastodon/actions/timelines';\nimport Masonry from 'react-masonry-infinite';\nimport { List as ImmutableList, Map as ImmutableMap } from 'immutable';\nimport DetailedStatusContainer from 'mastodon/features/status/containers/detailed_status_container';\nimport { debounce } from 'lodash';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\n\nconst mapStateToProps = (state, { local }) => {\n const timeline = state.getIn(['timelines', local ? 'community' : 'public'], ImmutableMap());\n\n return {\n statusIds: timeline.get('items', ImmutableList()),\n isLoading: timeline.get('isLoading', false),\n hasMore: timeline.get('hasMore', false),\n };\n};\n\nexport default @connect(mapStateToProps)\nclass PublicTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n isLoading: PropTypes.bool.isRequired,\n hasMore: PropTypes.bool.isRequired,\n local: PropTypes.bool,\n };\n\n componentDidMount () {\n this._connect();\n }\n\n componentDidUpdate (prevProps) {\n if (prevProps.local !== this.props.local) {\n this._connect();\n }\n }\n\n _connect () {\n const { dispatch, local } = this.props;\n\n dispatch(local ? expandCommunityTimeline() : expandPublicTimeline());\n }\n\n handleLoadMore = () => {\n const { dispatch, statusIds, local } = this.props;\n const maxId = statusIds.last();\n\n if (maxId) {\n dispatch(local ? expandCommunityTimeline({ maxId }) : expandPublicTimeline({ maxId }));\n }\n }\n\n setRef = c => {\n this.masonry = c;\n }\n\n handleHeightChange = debounce(() => {\n if (!this.masonry) {\n return;\n }\n\n this.masonry.forcePack();\n }, 50)\n\n render () {\n const { statusIds, hasMore, isLoading } = this.props;\n\n const sizes = [\n { columns: 1, gutter: 0 },\n { mq: '415px', columns: 1, gutter: 10 },\n { mq: '640px', columns: 2, gutter: 10 },\n { mq: '960px', columns: 3, gutter: 10 },\n { mq: '1255px', columns: 3, gutter: 10 },\n ];\n\n const loader = (isLoading && statusIds.isEmpty()) ? : undefined;\n\n return (\n \n {statusIds.map(statusId => (\n \n \n
\n )).toArray()}\n \n );\n }\n\n}\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { expandHashtagTimeline } from 'mastodon/actions/timelines';\nimport Masonry from 'react-masonry-infinite';\nimport { List as ImmutableList } from 'immutable';\nimport DetailedStatusContainer from 'mastodon/features/status/containers/detailed_status_container';\nimport { debounce } from 'lodash';\nimport LoadingIndicator from 'mastodon/components/loading_indicator';\n\nconst mapStateToProps = (state, { hashtag }) => ({\n statusIds: state.getIn(['timelines', `hashtag:${hashtag}`, 'items'], ImmutableList()),\n isLoading: state.getIn(['timelines', `hashtag:${hashtag}`, 'isLoading'], false),\n hasMore: state.getIn(['timelines', `hashtag:${hashtag}`, 'hasMore'], false),\n});\n\nexport default @connect(mapStateToProps)\nclass HashtagTimeline extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n statusIds: ImmutablePropTypes.list.isRequired,\n isLoading: PropTypes.bool.isRequired,\n hasMore: PropTypes.bool.isRequired,\n hashtag: PropTypes.string.isRequired,\n local: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n local: false,\n };\n\n componentDidMount () {\n const { dispatch, hashtag, local } = this.props;\n\n dispatch(expandHashtagTimeline(hashtag, { local }));\n }\n\n handleLoadMore = () => {\n const { dispatch, hashtag, local, statusIds } = this.props;\n const maxId = statusIds.last();\n\n if (maxId) {\n dispatch(expandHashtagTimeline(hashtag, { maxId, local }));\n }\n }\n\n setRef = c => {\n this.masonry = c;\n }\n\n handleHeightChange = debounce(() => {\n if (!this.masonry) {\n return;\n }\n\n this.masonry.forcePack();\n }, 50)\n\n render () {\n const { statusIds, hasMore, isLoading } = this.props;\n\n const sizes = [\n { columns: 1, gutter: 0 },\n { mq: '415px', columns: 1, gutter: 10 },\n { mq: '640px', columns: 2, gutter: 10 },\n { mq: '960px', columns: 3, gutter: 10 },\n { mq: '1255px', columns: 3, gutter: 10 },\n ];\n\n const loader = (isLoading && statusIds.isEmpty()) ? : undefined;\n\n return (\n \n {statusIds.map(statusId => (\n \n \n
\n )).toArray()}\n \n );\n }\n\n}\n","import React, { Fragment } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport configureStore from '../store/configureStore';\nimport { hydrateStore } from '../actions/store';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport PublicTimeline from '../features/standalone/public_timeline';\nimport HashtagTimeline from '../features/standalone/hashtag_timeline';\nimport ModalContainer from '../features/ui/containers/modal_container';\nimport initialState from '../initial_state';\n\nconst { localeData, messages } = getLocale();\naddLocaleData(localeData);\n\nconst store = configureStore();\n\nif (initialState) {\n store.dispatch(hydrateStore(initialState));\n}\n\nexport default class TimelineContainer extends React.PureComponent {\n\n static propTypes = {\n locale: PropTypes.string.isRequired,\n hashtag: PropTypes.string,\n local: PropTypes.bool,\n };\n\n static defaultProps = {\n local: !initialState.settings.known_fediverse,\n };\n\n render () {\n const { locale, hashtag, local } = this.props;\n\n let timeline;\n\n if (hashtag) {\n timeline = ;\n } else {\n timeline = ;\n }\n\n return (\n \n \n \n {timeline}\n\n {ReactDOM.createPortal(\n ,\n document.getElementById('modal-container'),\n )}\n \n \n \n );\n }\n\n}\n"],"sourceRoot":""}