Update mastodon frontend
[akkoma] / priv / static / packs / modals / onboarding_modal.js.map
index 633125142f6011d5b8709641548b1030f747f7b1..5e70e5e5b70e7f1fcbcedf489070442d06a5e232 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///modals/onboarding_modal.js","webpack:///./app/javascript/mastodon/features/ui/components/column_header.js","webpack:///./app/javascript/mastodon/features/compose/components/compose_form.js","webpack:///./app/javascript/mastodon/features/compose/components/character_counter.js","webpack:///./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","webpack:///./app/javascript/mastodon/features/compose/components/reply_indicator.js","webpack:///./app/javascript/mastodon/components/autosuggest_textarea.js","webpack:///./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","webpack:///./app/javascript/mastodon/features/compose/components/autosuggest_account.js","webpack:///./app/javascript/mastodon/components/autosuggest_emoji.js","webpack:///./node_modules/react-textarea-autosize/es/index.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_button_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_button.js","webpack:///./app/javascript/mastodon/components/collapsable.js","webpack:///./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","webpack:///./app/javascript/mastodon/features/compose/components/text_icon_button.js","webpack:///./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","webpack:///./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","webpack:///./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","webpack:///./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_form_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_form.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_progress.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload.js","webpack:///./app/javascript/mastodon/features/compose/containers/warning_container.js","webpack:///./app/javascript/mastodon/features/compose/components/warning.js","webpack:///./app/javascript/mastodon/features/compose/util/counter.js","webpack:///./app/javascript/mastodon/features/compose/util/url_regex.js","webpack:///./app/javascript/mastodon/features/ui/components/onboarding_modal.js","webpack:///./app/javascript/mastodon/features/compose/components/navigation_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/search.js"],"names":["webpackJsonp","153","module","__webpack_exports__","__webpack_require__","d","ColumnHeader","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_4_react__","__WEBPACK_IMPORTED_MODULE_4_react___default","__WEBPACK_IMPORTED_MODULE_5_classnames__","__WEBPACK_IMPORTED_MODULE_5_classnames___default","_React$PureComponent","_temp","_this","_ret","this","_len","arguments","length","args","Array","_key","call","apply","concat","handleClick","props","onClick","prototype","render","_props","icon","type","active","columnHeaderId","iconElement","className","id","a","PureComponent","302","ComposeForm","_class","_class2","_temp2","__WEBPACK_IMPORTED_MODULE_5__character_counter__","__WEBPACK_IMPORTED_MODULE_6__components_button__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_8_prop_types__","__WEBPACK_IMPORTED_MODULE_8_prop_types___default","__WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__","__WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__","__WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__","__WEBPACK_IMPORTED_MODULE_12_react_intl__","__WEBPACK_IMPORTED_MODULE_13__components_collapsable__","__WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__","__WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__","__WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__","__WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__","__WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__","__WEBPACK_IMPORTED_MODULE_19__containers_warning_container__","__WEBPACK_IMPORTED_MODULE_20__is_mobile__","__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_22_stringz__","__WEBPACK_IMPORTED_MODULE_23__util_counter__","__WEBPACK_IMPORTED_MODULE_24__initial_state__","allowedAroundShortCode","messages","Object","placeholder","defaultMessage","spoiler_placeholder","publish","publishLoud","_ImmutablePureCompone","handleChange","e","onChange","target","value","handleKeyDown","keyCode","ctrlKey","metaKey","handleSubmit","text","autosuggestTextarea","textarea","_this$props","is_submitting","is_uploading","anyMedia","fulltext","spoiler_text","join","trim","onSubmit","onSuggestionsClearRequested","onClearSuggestions","onSuggestionsFetchRequested","token","onFetchSuggestions","onSuggestionSelected","tokenStart","handleChangeSpoilerText","onChangeSpoilerText","setAutosuggestTextarea","c","handleEmojiPick","data","position","selectionStart","needsSpace","custom","includes","onPickEmoji","componentDidUpdate","prevProps","focusDate","selectionEnd","preselectDate","search","caretPosition","setSelectionRange","focus","intl","onPaste","showSearch","disabled","disabledButton","publishText","privacy","formatMessage","isVisible","spoiler","fullHeight","style","display","onKeyDown","createElement","ref","suggestions","autoFocus","window","innerWidth","max","block","propTypes","object","isRequired","string","suggestion_token","list","bool","instanceOf","Date","number","func","defaultProps","303","CharacterCounter","__WEBPACK_IMPORTED_MODULE_5_stringz__","checkRemainingText","diff","304","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__actions_compose__","__WEBPACK_IMPORTED_MODULE_2__selectors__","__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__","makeMapStateToProps","getStatus","state","status","getIn","mapDispatchToProps","dispatch","onCancel","305","ReplyIndicator","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","__WEBPACK_IMPORTED_MODULE_7__components_avatar__","__WEBPACK_IMPORTED_MODULE_8__components_icon_button__","__WEBPACK_IMPORTED_MODULE_9__components_display_name__","__WEBPACK_IMPORTED_MODULE_10_react_intl__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_12__rtl__","cancel","handleAccountClick","button","preventDefault","context","router","history","push","content","__html","get","direction","title","inverted","href","account","size","dangerouslySetInnerHTML","contextTypes","map","306","AutosuggestTextarea","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_5_react__","__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__","__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9_prop_types__","__WEBPACK_IMPORTED_MODULE_9_prop_types___default","__WEBPACK_IMPORTED_MODULE_10__rtl__","__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__","__WEBPACK_IMPORTED_MODULE_13_classnames__","__WEBPACK_IMPORTED_MODULE_13_classnames___default","textAtCursorMatchesToken","str","word","left","slice","right","indexOf","toLowerCase","suggestionsHidden","selectedSuggestion","lastToken","_textAtCursorMatchesT","setState","_this$state","which","isComposing","key","document","querySelector","parentElement","Math","min","stopPropagation","defaultPrevented","onBlur","onSuggestionClick","suggestion","currentTarget","getAttribute","setTextarea","clipboardData","files","renderSuggestion","i","inner","emoji","role","tabIndex","data-index","selected","onMouseDown","componentWillReceiveProps","nextProps","onKeyUp","inputRef","aria-autocomplete","isEmpty","307","__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__","getAccount","_ref","308","AutosuggestAccount","__WEBPACK_IMPORTED_MODULE_5__components_avatar__","__WEBPACK_IMPORTED_MODULE_6__components_display_name__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default","309","process","AutosuggestEmoji","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default","assetHost","env","CDN_HOST","url","imageUrl","mapping","native","replace","filename","src","alt","colons","310","_extends","assign","source","hasOwnProperty","_inheritsLoose","subClass","superClass","create","constructor","__proto__","_objectWithoutProperties","excluded","sourceKeys","keys","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","calculateNodeHeight","uiTextNode","uid","useCache","minRows","maxRows","hiddenTextarea","parentNode","body","appendChild","nodeStyling","calculateNodeStyling","paddingSize","borderSize","boxSizing","sizingStyle","forEach","HIDDEN_TEXTAREA_STYLE","setProperty","minHeight","Infinity","maxHeight","height","scrollHeight","singleRowHeight","rowCount","floor","node","computedStyleCache","getComputedStyle","SIZING_STYLE","reduce","obj","name","getPropertyValue","isIE","width","parseFloat","nodeInfo","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_prop_types__","isBrowser","documentElement","currentStyle","min-height","max-height","visibility","overflow","z-index","top","purgeCache","seed","noop","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","onNextFrame","clearNextFrameAction","TextareaAutosize","_React$Component","_resizeLock","_onRootDOMNode","_rootDOMNode","_onChange","event","_controlled","_resizeComponent","callback","nodeHeight","_uid","useCacheForDOMMeasurements","_proto","onHeightChange","componentDidMount","_this2","_resizeListener","addEventListener","_this3","_clearNextFrame","_onNextFrameActionId","prevState","componentWillUnmount","removeEventListener","Component","311","__WEBPACK_IMPORTED_MODULE_1__components_upload_button__","__WEBPACK_IMPORTED_MODULE_2__actions_compose__","mapStateToProps","some","m","resetFileKey","onSelectFile","312","UploadButton","_dec","__WEBPACK_IMPORTED_MODULE_5__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_8_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default","upload","acceptContentTypes","iconStyle","lineHeight","fileElement","click","setRef","multiple","accept","toArray","listOf","313","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default","Collapsable","children","defaultStyle","opacity","_ref2","314","__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__","__WEBPACK_IMPORTED_MODULE_3_react_intl__","marked","unmarked","label","ariaControls","315","TextIconButton","aria-label","aria-expanded","aria-controls","316","__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__","__WEBPACK_IMPORTED_MODULE_3__actions_modal__","__WEBPACK_IMPORTED_MODULE_4__is_mobile__","isModalOpen","modalType","isUserTouching","onModalOpen","onModalClose","317","PrivacyDropdown","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_11_classnames__","__WEBPACK_IMPORTED_MODULE_11_classnames___default","public_short","public_long","unlisted_short","unlisted_long","private_short","private_long","direct_short","direct_long","change_privacy","listenerOptions","hasSupport","passive","PrivacyDropdownMenu","mounted","handleDocumentClick","contains","onClose","items","index","findIndex","item","element","childNodes","firstChild","lastChild","setFocusRef","focusedItem","scaleX","scaleY","damping","stiffness","transform","aria-selected","meta","_React$PureComponent2","_ret2","_len2","_key2","open","placement","handleToggle","actions","options","option","handleModalActionClick","_target$getBoundingCl","getBoundingClientRect","innerHeight","handleClose","componentWillMount","_props2","_state","valueOption","find","expanded","show","318","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_6_classnames__","__WEBPACK_IMPORTED_MODULE_6_classnames___default","__WEBPACK_IMPORTED_MODULE_7__components_icon_button__","__WEBPACK_IMPORTED_MODULE_8__actions_compose__","__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_11_react_intl__","visible","SensitiveButton","scale","compose-form__sensitive-button--visible","319","__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__","__WEBPACK_IMPORTED_MODULE_2__actions_settings__","__WEBPACK_IMPORTED_MODULE_3_reselect__","__WEBPACK_IMPORTED_MODULE_4_immutable__","__WEBPACK_IMPORTED_MODULE_5__actions_emojis__","DEFAULTS","getFrequentlyUsedEmojis","emojiCounters","emojis","keySeq","sort","b","reverse","perLine","uniqueDefaults","filter","getCustomEmojis","aShort","bShort","custom_emojis","skinTone","frequentlyUsedEmojis","onSkinTone","320","EmojiPickerDropdown","_class3","_class4","_temp4","_class5","__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__","__WEBPACK_IMPORTED_MODULE_8_classnames__","__WEBPACK_IMPORTED_MODULE_8_classnames___default","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__","emoji_search","emoji_not_found","recent","search_results","people","nature","food","activity","travel","objects","symbols","flags","EmojiPicker","Emoji","backgroundImageFn","categoriesSort","ModifierPickerMenu","onSelect","attachListeners","removeListeners","set","sheetSize","skin","ModifierPicker","onOpen","handleSelect","modifier","EmojiPickerMenu","_React$PureComponent3","_temp3","_ret3","_len3","_key3","modifierOpen","getI18n","notfound","categories","foods","places","onPick","handleModifierOpen","handleModifierClose","handleModifierChange","loading","selecting","emojiSize","color","i18n","include","showPreview","emojiTooltip","_React$PureComponent4","_temp5","_this4","_ret4","_len4","_key4","dropdown","onShowDropdown","then","EmojiMart","Picker","catch","onHideDropdown","onToggle","setTargetRef","findTarget","_props3","pulse-loading","321","__WEBPACK_IMPORTED_MODULE_1__components_upload_form__","mediaIds","322","UploadForm","__WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_8__containers_upload_container__","323","__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__","progress","324","UploadProgress","__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default","325","__WEBPACK_IMPORTED_MODULE_1__components_upload__","media","onUndo","onDescriptionChange","description","onOpenFocalPoint","326","Upload","__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default","hovered","focused","dirtyDescription","handleUndoClick","handleFocalPointClick","handleInputChange","handleMouseEnter","handleMouseLeave","handleInputFocus","handleInputBlur","focusX","focusY","x","y","onMouseEnter","onMouseLeave","backgroundImage","backgroundPosition","maxLength","onFocus","327","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_warning__","__WEBPACK_IMPORTED_MODULE_4_react_intl__","__WEBPACK_IMPORTED_MODULE_5__initial_state__","APPROX_HASHTAG_RE","needsLockWarning","hashtagWarning","test","directMessageWarning","WarningWrapper","message","values","locked","328","Warning","329","countableText","inputText","330","regexen","regexSupplant","regex","global","ignoreCase","multiline","RegExp","match","newRegex","stringSupplant","spaces_group","invalid_chars_group","punct","validUrlPrecedingChars","invalidDomainChars","validDomainChars","validSubdomain","validDomainName","validGTLD","validCCTLD","validPunycode","validSpecialCCTLD","validDomain","validPortNumber","pd","validGeneralUrlPathChars","validUrlBalancedParens","validUrlPathEndingChars","validUrlPath","validUrlQueryChars","validUrlQueryEndingChars","validUrl","849","defineProperty","OnboardingModal","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__","__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default","__WEBPACK_IMPORTED_MODULE_9__components_permalink__","__WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__","__WEBPACK_IMPORTED_MODULE_11__compose_components_search__","__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__","__WEBPACK_IMPORTED_MODULE_13__column_header__","__WEBPACK_IMPORTED_MODULE_14_immutable__","__WEBPACK_IMPORTED_MODULE_15__initial_state__","home_title","notifications_title","local_title","federated_title","PageOne","acct","domain","PageTwo","myAccount","mentionedDomains","PageThree","_ref3","onClear","onShow","illustration","to","introductions","PageFour","_ref4","marginBottom","PageSix","_ref5","admin","adminSection","guidelines","github","rel","apps","currentIndex","handleSkip","handleDot","Number","handlePrev","_ref6","handleNext","pages","_ref7","handleSwipe","handleKeyUp","_ref8","hasMore","nextOrDoneBtn","onChangeIndex","page","onboarding-modal__page__wrapper--active","_","906","NavigationBar","__WEBPACK_IMPORTED_MODULE_5_prop_types__","__WEBPACK_IMPORTED_MODULE_5_prop_types___default","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default","907","Search","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_9__initial_state__","SearchPopout","extraInformation","handleClear","submitted","handleFocus","handleBlur","hasValue"],"mappings":"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","file":"modals/onboarding_modal.js","sourcesContent":["webpackJsonp([3],{\n\n/***/ 153:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnHeader; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_classnames__);\n\n\n\n\n\n\n\n\nvar ColumnHeader = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnHeader, _React$PureComponent);\n\n  function ColumnHeader() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnHeader);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n      _this.props.onClick();\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ColumnHeader.prototype.render = function render() {\n    var _props = this.props,\n        icon = _props.icon,\n        type = _props.type,\n        active = _props.active,\n        columnHeaderId = _props.columnHeaderId;\n\n    var iconElement = '';\n\n    if (icon) {\n      iconElement = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-fw fa-' + icon + ' column-header__icon'\n      });\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h1', {\n      className: __WEBPACK_IMPORTED_MODULE_5_classnames___default()('column-header', { active: active }),\n      id: columnHeaderId || null\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n      onClick: this.handleClick\n    }, void 0, iconElement, type));\n  };\n\n  return ColumnHeader;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 302:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ComposeForm; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__character_counter__ = __webpack_require__(303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_button__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__ = __webpack_require__(306);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_collapsable__ = __webpack_require__(313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__ = __webpack_require__(314);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__ = __webpack_require__(318);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__ = __webpack_require__(319);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__containers_warning_container__ = __webpack_require__(327);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__is_mobile__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_stringz__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22_stringz__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__util_counter__ = __webpack_require__(329);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar allowedAroundShortCode = '><\\x85 \\xA0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\t\\n\\x0B\\f\\r';\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"f\" /* defineMessages */])({\n  placeholder: {\n    'id': 'compose_form.placeholder',\n    'defaultMessage': 'What is on your mind?'\n  },\n  spoiler_placeholder: {\n    'id': 'compose_form.spoiler_placeholder',\n    'defaultMessage': 'Write your warning here'\n  },\n  publish: {\n    'id': 'compose_form.publish',\n    'defaultMessage': 'Toot'\n  },\n  publishLoud: {\n    'id': 'compose_form.publish_loud',\n    'defaultMessage': '{publish}!'\n  }\n});\n\nvar ComposeForm = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ComposeForm, _ImmutablePureCompone);\n\n  function ComposeForm() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ComposeForm);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n      _this.props.onChange(e.target.value);\n    }, _this.handleKeyDown = function (e) {\n      if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n        _this.handleSubmit();\n      }\n    }, _this.handleSubmit = function () {\n      if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n        // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n        // Update the state to match the current text\n        _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n      }\n\n      // Submit disabled:\n      var _this$props = _this.props,\n          is_submitting = _this$props.is_submitting,\n          is_uploading = _this$props.is_uploading,\n          anyMedia = _this$props.anyMedia;\n\n      var fulltext = [_this.props.spoiler_text, Object(__WEBPACK_IMPORTED_MODULE_23__util_counter__[\"a\" /* countableText */])(_this.props.text)].join('');\n\n      if (is_submitting || is_uploading || Object(__WEBPACK_IMPORTED_MODULE_22_stringz__[\"length\"])(fulltext) > __WEBPACK_IMPORTED_MODULE_24__initial_state__[\"c\" /* charLimit */] || fulltext.length !== 0 && fulltext.trim().length === 0 && !anyMedia) {\n        return;\n      }\n\n      _this.props.onSubmit();\n    }, _this.onSuggestionsClearRequested = function () {\n      _this.props.onClearSuggestions();\n    }, _this.onSuggestionsFetchRequested = function (token) {\n      _this.props.onFetchSuggestions(token);\n    }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n      _this.props.onSuggestionSelected(tokenStart, token, value);\n    }, _this.handleChangeSpoilerText = function (e) {\n      _this.props.onChangeSpoilerText(e.target.value);\n    }, _this.setAutosuggestTextarea = function (c) {\n      _this.autosuggestTextarea = c;\n    }, _this.handleEmojiPick = function (data) {\n      var text = _this.props.text;\n\n      var position = _this.autosuggestTextarea.textarea.selectionStart;\n      var needsSpace = data.custom && position > 0 && !allowedAroundShortCode.includes(text[position - 1]);\n\n      _this.props.onPickEmoji(position, data, needsSpace);\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n    // This statement does several things:\n    // - If we're beginning a reply, and,\n    //     - Replying to zero or one users, places the cursor at the end of the textbox.\n    //     - Replying to more than one user, selects any usernames past the first;\n    //       this provides a convenient shortcut to drop everyone else from the conversation.\n    if (this.props.focusDate !== prevProps.focusDate) {\n      var selectionEnd = void 0,\n          selectionStart = void 0;\n\n      if (this.props.preselectDate !== prevProps.preselectDate) {\n        selectionEnd = this.props.text.length;\n        selectionStart = this.props.text.search(/\\s/) + 1;\n      } else if (typeof this.props.caretPosition === 'number') {\n        selectionStart = this.props.caretPosition;\n        selectionEnd = this.props.caretPosition;\n      } else {\n        selectionEnd = this.props.text.length;\n        selectionStart = selectionEnd;\n      }\n\n      this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n      this.autosuggestTextarea.textarea.focus();\n    } else if (prevProps.is_submitting && !this.props.is_submitting) {\n      this.autosuggestTextarea.textarea.focus();\n    }\n  };\n\n  ComposeForm.prototype.render = function render() {\n    var _props = this.props,\n        intl = _props.intl,\n        onPaste = _props.onPaste,\n        showSearch = _props.showSearch,\n        anyMedia = _props.anyMedia;\n\n    var disabled = this.props.is_submitting;\n    var text = [this.props.spoiler_text, Object(__WEBPACK_IMPORTED_MODULE_23__util_counter__[\"a\" /* countableText */])(this.props.text)].join('');\n    var disabledButton = disabled || this.props.is_uploading || Object(__WEBPACK_IMPORTED_MODULE_22_stringz__[\"length\"])(text) > __WEBPACK_IMPORTED_MODULE_24__initial_state__[\"c\" /* charLimit */] || text.length !== 0 && text.trim().length === 0 && !anyMedia;\n    var publishText = '';\n\n    if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n      publishText = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'compose-form__publish-private'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-lock'\n      }), ' ', intl.formatMessage(messages.publish));\n    } else {\n      publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__containers_warning_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__components_collapsable__[\"a\" /* default */], {\n      isVisible: this.props.spoiler,\n      fullHeight: 50\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'spoiler-input'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      style: { display: 'none' }\n    }, void 0, intl.formatMessage(messages.spoiler_placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n      placeholder: intl.formatMessage(messages.spoiler_placeholder),\n      value: this.props.spoiler_text,\n      onChange: this.handleChangeSpoilerText,\n      onKeyDown: this.handleKeyDown,\n      type: 'text',\n      className: 'spoiler-input__input',\n      id: 'cw-spoiler-input'\n    })))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__autosuggest-wrapper'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__[\"a\" /* default */], {\n      ref: this.setAutosuggestTextarea,\n      placeholder: intl.formatMessage(messages.placeholder),\n      disabled: disabled,\n      value: this.props.text,\n      onChange: this.handleChange,\n      suggestions: this.props.suggestions,\n      onKeyDown: this.handleKeyDown,\n      onSuggestionsFetchRequested: this.onSuggestionsFetchRequested,\n      onSuggestionsClearRequested: this.onSuggestionsClearRequested,\n      onSuggestionSelected: this.onSuggestionSelected,\n      onPaste: onPaste,\n      autoFocus: !showSearch && !Object(__WEBPACK_IMPORTED_MODULE_20__is_mobile__[\"b\" /* isMobile */])(window.innerWidth)\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__[\"a\" /* default */], {\n      onPickEmoji: this.handleEmojiPick\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__modifiers'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__buttons-wrapper'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__buttons'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'character-counter__wrapper'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__character_counter__[\"a\" /* default */], {\n      max: __WEBPACK_IMPORTED_MODULE_24__initial_state__[\"c\" /* charLimit */],\n      text: text\n    }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__publish'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__publish-button-wrapper'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_button__[\"a\" /* default */], {\n      text: publishText,\n      onClick: this.handleSubmit,\n      disabled: disabledButton,\n      block: true\n    }))));\n  };\n\n  return ComposeForm;\n}(__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default.a), _class2.propTypes = {\n  intl: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.object.isRequired,\n  text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string.isRequired,\n  suggestion_token: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n  suggestions: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.list,\n  spoiler: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n  privacy: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n  spoiler_text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n  focusDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n  caretPosition: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.number,\n  preselectDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n  is_submitting: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n  is_uploading: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n  onChange: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onSubmit: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onClearSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onFetchSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onChangeSpoilerText: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onPaste: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  onPickEmoji: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n  showSearch: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n  anyMedia: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool\n}, _class2.defaultProps = {\n  showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 303:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CharacterCounter; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_stringz__);\n\n\n\n\n\n\n\n\nvar CharacterCounter = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(CharacterCounter, _React$PureComponent);\n\n  function CharacterCounter() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, CharacterCounter);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n    if (diff < 0) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'character-counter character-counter--over'\n      }, void 0, diff);\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      className: 'character-counter'\n    }, void 0, diff);\n  };\n\n  CharacterCounter.prototype.render = function render() {\n    var diff = this.props.max - Object(__WEBPACK_IMPORTED_MODULE_5_stringz__[\"length\"])(this.props.text);\n    return this.checkRemainingText(diff);\n  };\n\n  return CharacterCounter;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 304:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(305);\n\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getStatus = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"e\" /* makeGetStatus */])();\n\n  var mapStateToProps = function mapStateToProps(state) {\n    return {\n      status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n    onCancel: function onCancel() {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_compose__[\"E\" /* cancelReplyCompose */])());\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 305:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ReplyIndicator; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__rtl__ = __webpack_require__(98);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n  cancel: {\n    'id': 'reply_indicator.cancel',\n    'defaultMessage': 'Cancel'\n  }\n});\n\nvar ReplyIndicator = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ReplyIndicator, _ImmutablePureCompone);\n\n  function ReplyIndicator() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ReplyIndicator);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n      _this.props.onCancel();\n    }, _this.handleAccountClick = function (e) {\n      if (e.button === 0) {\n        e.preventDefault();\n        _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n      }\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ReplyIndicator.prototype.render = function render() {\n    var _props = this.props,\n        status = _props.status,\n        intl = _props.intl;\n\n\n    if (!status) {\n      return null;\n    }\n\n    var content = { __html: status.get('contentHtml') };\n    var style = {\n      direction: Object(__WEBPACK_IMPORTED_MODULE_12__rtl__[\"a\" /* isRtl */])(status.get('search_index')) ? 'rtl' : 'ltr'\n    };\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'reply-indicator'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'reply-indicator__header'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'reply-indicator__cancel'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n      title: intl.formatMessage(messages.cancel),\n      icon: 'times',\n      onClick: this.handleClick,\n      inverted: true\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      href: status.getIn(['account', 'url']),\n      onClick: this.handleAccountClick,\n      className: 'reply-indicator__display-name'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'reply-indicator__display-avatar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n      account: status.get('account'),\n      size: 24\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_display_name__[\"a\" /* default */], {\n      account: status.get('account')\n    }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'reply-indicator__content',\n      style: style,\n      dangerouslySetInnerHTML: content\n    }));\n  };\n\n  return ReplyIndicator;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class2.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _class2.propTypes = {\n  status: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map,\n  onCancel: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n  intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 306:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestTextarea; });\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_babel_runtime_helpers_typeof__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__ = __webpack_require__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(309);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__rtl__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__ = __webpack_require__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_classnames__);\n\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n  var word = void 0;\n\n  var left = str.slice(0, caretPosition).search(/\\S+$/);\n  var right = str.slice(caretPosition).search(/\\s/);\n\n  if (right < 0) {\n    word = str.slice(left);\n  } else {\n    word = str.slice(left, right + caretPosition);\n  }\n\n  if (!word || word.trim().length < 3 || ['@', ':', '#'].indexOf(word[0]) === -1) {\n    return [null, null];\n  }\n\n  word = word.trim().toLowerCase();\n\n  if (word.length > 0) {\n    return [left + 1, word];\n  } else {\n    return [null, null];\n  }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(AutosuggestTextarea, _ImmutablePureCompone);\n\n  function AutosuggestTextarea() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestTextarea);\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 = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n      suggestionsHidden: false,\n      selectedSuggestion: 0,\n      lastToken: null,\n      tokenStart: 0\n    }, _this.onChange = function (e) {\n      var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n          tokenStart = _textAtCursorMatchesT[0],\n          token = _textAtCursorMatchesT[1];\n\n      if (token !== null && _this.state.lastToken !== token) {\n        _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n        _this.props.onSuggestionsFetchRequested(token);\n      } else if (token === null) {\n        _this.setState({ lastToken: null });\n        _this.props.onSuggestionsClearRequested();\n      }\n\n      _this.props.onChange(e);\n    }, _this.onKeyDown = function (e) {\n      var _this$props = _this.props,\n          suggestions = _this$props.suggestions,\n          disabled = _this$props.disabled;\n      var _this$state = _this.state,\n          selectedSuggestion = _this$state.selectedSuggestion,\n          suggestionsHidden = _this$state.suggestionsHidden;\n\n\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      if (e.which === 229 || e.isComposing) {\n        // Ignore key events during text composition\n        // e.key may be a name of the physical key even in this case (e.x. Safari / Chrome on Mac)\n        return;\n      }\n\n      switch (e.key) {\n        case 'Escape':\n          if (suggestions.size === 0 || suggestionsHidden) {\n            document.querySelector('.ui').parentElement.focus();\n          } else {\n            e.preventDefault();\n            _this.setState({ suggestionsHidden: true });\n          }\n\n          break;\n        case 'ArrowDown':\n          if (suggestions.size > 0 && !suggestionsHidden) {\n            e.preventDefault();\n            _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n          }\n\n          break;\n        case 'ArrowUp':\n          if (suggestions.size > 0 && !suggestionsHidden) {\n            e.preventDefault();\n            _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n          }\n\n          break;\n        case 'Enter':\n        case 'Tab':\n          // Select suggestion\n          if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n            e.preventDefault();\n            e.stopPropagation();\n            _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n          }\n\n          break;\n      }\n\n      if (e.defaultPrevented || !_this.props.onKeyDown) {\n        return;\n      }\n\n      _this.props.onKeyDown(e);\n    }, _this.onBlur = function () {\n      _this.setState({ suggestionsHidden: true });\n    }, _this.onSuggestionClick = function (e) {\n      var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n      e.preventDefault();\n      _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n      _this.textarea.focus();\n    }, _this.setTextarea = function (c) {\n      _this.textarea = c;\n    }, _this.onPaste = function (e) {\n      if (e.clipboardData && e.clipboardData.files.length === 1) {\n        _this.props.onPaste(e.clipboardData.files);\n        e.preventDefault();\n      }\n    }, _this.renderSuggestion = function (suggestion, i) {\n      var selectedSuggestion = _this.state.selectedSuggestion;\n\n      var inner = void 0,\n          key = void 0;\n\n      if ((typeof suggestion === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(suggestion)) === 'object') {\n        inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__[\"a\" /* default */], {\n          emoji: suggestion\n        });\n        key = suggestion.id;\n      } else if (suggestion[0] === '#') {\n        inner = suggestion;\n        key = suggestion;\n      } else {\n        inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__[\"a\" /* default */], {\n          id: suggestion\n        });\n        key = suggestion;\n      }\n\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        role: 'button',\n        tabIndex: '0',\n        'data-index': i,\n        className: __WEBPACK_IMPORTED_MODULE_13_classnames___default()('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n        onMouseDown: _this.onSuggestionClick\n      }, key, inner);\n    }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n      this.setState({ suggestionsHidden: false });\n    }\n  };\n\n  AutosuggestTextarea.prototype.render = function render() {\n    var _props = this.props,\n        value = _props.value,\n        suggestions = _props.suggestions,\n        disabled = _props.disabled,\n        placeholder = _props.placeholder,\n        onKeyUp = _props.onKeyUp,\n        autoFocus = _props.autoFocus;\n    var suggestionsHidden = this.state.suggestionsHidden;\n\n    var style = { direction: 'ltr' };\n\n    if (Object(__WEBPACK_IMPORTED_MODULE_10__rtl__[\"a\" /* isRtl */])(value)) {\n      style.direction = 'rtl';\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'autosuggest-textarea'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      style: { display: 'none' }\n    }, void 0, placeholder), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__[\"a\" /* default */], {\n      inputRef: this.setTextarea,\n      className: 'autosuggest-textarea__textarea',\n      disabled: disabled,\n      placeholder: placeholder,\n      autoFocus: autoFocus,\n      value: value,\n      onChange: this.onChange,\n      onKeyDown: this.onKeyDown,\n      onKeyUp: onKeyUp,\n      onBlur: this.onBlur,\n      onPaste: this.onPaste,\n      style: style,\n      'aria-autocomplete': 'list'\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n    }, void 0, suggestions.map(this.renderSuggestion)));\n  };\n\n  return AutosuggestTextarea;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n  value: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n  suggestions: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n  disabled: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool,\n  placeholder: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n  onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n  onSuggestionsClearRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n  onSuggestionsFetchRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n  onChange: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n  onKeyUp: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n  onKeyDown: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n  onPaste: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n  autoFocus: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool\n}, _class.defaultProps = {\n  autoFocus: true\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 307:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__ = __webpack_require__(308);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(68);\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getAccount = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"c\" /* makeGetAccount */])();\n\n  var mapStateToProps = function mapStateToProps(state, _ref) {\n    var id = _ref.id;\n    return {\n      account: getAccount(state, id)\n    };\n  };\n\n  return mapStateToProps;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 308:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestAccount; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestAccount, _ImmutablePureCompone);\n\n  function AutosuggestAccount() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestAccount);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n  }\n\n  AutosuggestAccount.prototype.render = function render() {\n    var account = this.props.account;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'autosuggest-account'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'autosuggest-account-icon'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_avatar__[\"a\" /* default */], {\n      account: account,\n      size: 18\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_display_name__[\"a\" /* default */], {\n      account: account\n    }));\n  };\n\n  return AutosuggestAccount;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class.propTypes = {\n  account: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 309:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestEmoji; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__ = __webpack_require__(159);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__);\n\n\n\n\n\n\n\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestEmoji, _React$PureComponent);\n\n  function AutosuggestEmoji() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestEmoji);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  AutosuggestEmoji.prototype.render = function render() {\n    var emoji = this.props.emoji;\n\n    var url = void 0;\n\n    if (emoji.custom) {\n      url = emoji.imageUrl;\n    } else {\n      var mapping = __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native] || __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native.replace(/\\uFE0F$/, '')];\n\n      if (!mapping) {\n        return null;\n      }\n\n      url = assetHost + '/emoji/' + mapping.filename + '.svg';\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'autosuggest-emoji'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n      className: 'emojione',\n      src: url,\n      alt: emoji.native || emoji.colons\n    }), emoji.colons);\n  };\n\n  return AutosuggestEmoji;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(35)))\n\n/***/ }),\n\n/***/ 310:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nfunction _extends() {\n  _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\n  return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\nvar HIDDEN_TEXTAREA_STYLE = {\n  'min-height': '0',\n  'max-height': 'none',\n  height: '0',\n  visibility: 'hidden',\n  overflow: 'hidden',\n  position: 'absolute',\n  'z-index': '-1000',\n  top: '0',\n  right: '0'\n};\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'tab-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\nvar computedStyleCache = {};\nfunction calculateNodeHeight(uiTextNode, uid, useCache, minRows, maxRows) {\n  if (useCache === void 0) {\n    useCache = false;\n  }\n\n  if (minRows === void 0) {\n    minRows = null;\n  }\n\n  if (maxRows === void 0) {\n    maxRows = null;\n  }\n\n  if (hiddenTextarea.parentNode === null) {\n    document.body.appendChild(hiddenTextarea);\n  } // Copy all CSS properties that have an impact on the height of the content in\n  // the textbox\n\n\n  var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n  if (nodeStyling === null) {\n    return null;\n  }\n\n  var paddingSize = nodeStyling.paddingSize,\n      borderSize = nodeStyling.borderSize,\n      boxSizing = nodeStyling.boxSizing,\n      sizingStyle = nodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n  // text-lines will not calculated properly as the shadow will technically be\n  // narrower for content\n\n  Object.keys(sizingStyle).forEach(function (key) {\n    hiddenTextarea.style[key] = sizingStyle[key];\n  });\n  Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n    hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n  });\n  hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n  var minHeight = -Infinity;\n  var maxHeight = Infinity;\n  var height = hiddenTextarea.scrollHeight;\n\n  if (boxSizing === 'border-box') {\n    // border-box: add border, since height = content + padding + border\n    height = height + borderSize;\n  } else if (boxSizing === 'content-box') {\n    // remove padding, since height = content\n    height = height - paddingSize;\n  } // measure height of a textarea with a single row\n\n\n  hiddenTextarea.value = 'x';\n  var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n  if (minRows !== null || maxRows !== null) {\n    if (minRows !== null) {\n      minHeight = singleRowHeight * minRows;\n\n      if (boxSizing === 'border-box') {\n        minHeight = minHeight + paddingSize + borderSize;\n      }\n\n      height = Math.max(minHeight, height);\n    }\n\n    if (maxRows !== null) {\n      maxHeight = singleRowHeight * maxRows;\n\n      if (boxSizing === 'border-box') {\n        maxHeight = maxHeight + paddingSize + borderSize;\n      }\n\n      height = Math.min(maxHeight, height);\n    }\n  }\n\n  var rowCount = Math.floor(height / singleRowHeight);\n  return {\n    height: height,\n    minHeight: minHeight,\n    maxHeight: maxHeight,\n    rowCount: rowCount\n  };\n}\n\nfunction calculateNodeStyling(node, uid, useCache) {\n  if (useCache === void 0) {\n    useCache = false;\n  }\n\n  if (useCache && computedStyleCache[uid]) {\n    return computedStyleCache[uid];\n  }\n\n  var style = window.getComputedStyle(node);\n\n  if (style === null) {\n    return null;\n  }\n\n  var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n    obj[name] = style.getPropertyValue(name);\n    return obj;\n  }, {});\n  var boxSizing = sizingStyle['box-sizing']; // IE (Edge has already correct behaviour) returns content width as computed width\n  // so we need to add manually padding and border widths\n\n  if (isIE && boxSizing === 'border-box') {\n    sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n  }\n\n  var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n  var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n  var nodeInfo = {\n    sizingStyle: sizingStyle,\n    paddingSize: paddingSize,\n    borderSize: borderSize,\n    boxSizing: boxSizing\n  };\n\n  if (useCache) {\n    computedStyleCache[uid] = nodeInfo;\n  }\n\n  return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n  return delete computedStyleCache[uid];\n};\n\nfunction autoInc(seed) {\n  if (seed === void 0) {\n    seed = 0;\n  }\n\n  return function () {\n    return ++seed;\n  };\n}\n\nvar uid = autoInc();\n\n/**\n * <TextareaAutosize />\n */\nvar noop = function noop() {}; // IE11 has a problem with eval source maps, can be reproduced with:\n// eval('\"use strict\"; var onNextFrame = window.cancelAnimationFrame; onNextFrame(4);')\n// so we bind window as context in dev modes\n\n\nvar _ref = isBrowser && window.requestAnimationFrame ?  true ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [window.requestAnimationFrame.bind(window), window.cancelAnimationFrame.bind(window)] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TextareaAutosize, _React$Component);\n\n  function TextareaAutosize(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this._resizeLock = false;\n\n    _this._onRootDOMNode = function (node) {\n      _this._rootDOMNode = node;\n\n      if (_this.props.inputRef) {\n        _this.props.inputRef(node);\n      }\n    };\n\n    _this._onChange = function (event) {\n      if (!_this._controlled) {\n        _this._resizeComponent();\n      }\n\n      _this.props.onChange(event);\n    };\n\n    _this._resizeComponent = function (callback) {\n      if (callback === void 0) {\n        callback = noop;\n      }\n\n      if (typeof _this._rootDOMNode === 'undefined') {\n        callback();\n        return;\n      }\n\n      var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n      if (nodeHeight === null) {\n        callback();\n        return;\n      }\n\n      var height = nodeHeight.height,\n          minHeight = nodeHeight.minHeight,\n          maxHeight = nodeHeight.maxHeight,\n          rowCount = nodeHeight.rowCount;\n      _this.rowCount = rowCount;\n\n      if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n        _this.setState({\n          height: height,\n          minHeight: minHeight,\n          maxHeight: maxHeight\n        }, callback);\n\n        return;\n      }\n\n      callback();\n    };\n\n    _this.state = {\n      height: props.style && props.style.height || 0,\n      minHeight: -Infinity,\n      maxHeight: Infinity\n    };\n    _this._uid = uid();\n    _this._controlled = typeof props.value === 'string';\n    return _this;\n  }\n\n  var _proto = TextareaAutosize.prototype;\n\n  _proto.render = function render() {\n    var _props = this.props,\n        _minRows = _props.minRows,\n        _maxRows = _props.maxRows,\n        _onHeightChange = _props.onHeightChange,\n        _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n        _inputRef = _props.inputRef,\n        props = _objectWithoutProperties(_props, [\"minRows\", \"maxRows\", \"onHeightChange\", \"useCacheForDOMMeasurements\", \"inputRef\"]);\n    props.style = _extends({}, props.style, {\n      height: this.state.height\n    });\n    var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n    if (maxHeight < this.state.height) {\n      props.style.overflow = 'hidden';\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"textarea\", _extends({}, props, {\n      onChange: this._onChange,\n      ref: this._onRootDOMNode\n    }));\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    var _this2 = this;\n\n    this._resizeComponent(); // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n    // causing competing rerenders (due to setState in the listener) in React.\n    // More can be found here - facebook/react#6324\n\n\n    this._resizeListener = function () {\n      if (_this2._resizeLock) {\n        return;\n      }\n\n      _this2._resizeLock = true;\n\n      _this2._resizeComponent(function () {\n        return _this2._resizeLock = false;\n      });\n    };\n\n    window.addEventListener('resize', this._resizeListener);\n  };\n\n  _proto.componentWillReceiveProps = function componentWillReceiveProps() {\n    var _this3 = this;\n\n    this._clearNextFrame();\n\n    this._onNextFrameActionId = onNextFrame(function () {\n      return _this3._resizeComponent();\n    });\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n    if (this.state.height !== prevState.height) {\n      this.props.onHeightChange(this.state.height, this);\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this._clearNextFrame();\n\n    window.removeEventListener('resize', this._resizeListener);\n    purgeCache(this._uid);\n  };\n\n  _proto._clearNextFrame = function _clearNextFrame() {\n    clearNextFrameAction(this._onNextFrameActionId);\n  };\n\n  return TextareaAutosize;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nTextareaAutosize.defaultProps = {\n  onChange: noop,\n  onHeightChange: noop,\n  useCacheForDOMMeasurements: false\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextareaAutosize);\n\n/***/ }),\n\n/***/ 311:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_button__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n      return m.get('type') === 'video';\n    }),\n    resetFileKey: state.getIn(['compose', 'resetFileKey'])\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n    onSelectFile: function onSelectFile(files) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Z\" /* uploadCompose */])(files));\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_button__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 312:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadButton; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__);\n\n\n\n\n\nvar _dec, _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n  upload: {\n    'id': 'upload_button.label',\n    'defaultMessage': 'Add media'\n  }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var mapStateToProps = function mapStateToProps(state) {\n    return {\n      acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar iconStyle = {\n  height: null,\n  lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = Object(__WEBPACK_IMPORTED_MODULE_8_react_redux__[\"connect\"])(makeMapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadButton, _ImmutablePureCompone);\n\n  function UploadButton() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n      if (e.target.files.length > 0) {\n        _this.props.onSelectFile(e.target.files);\n      }\n    }, _this.handleClick = function () {\n      _this.fileElement.click();\n    }, _this.setRef = function (c) {\n      _this.fileElement = c;\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  UploadButton.prototype.render = function render() {\n    var _props = this.props,\n        intl = _props.intl,\n        resetFileKey = _props.resetFileKey,\n        disabled = _props.disabled,\n        acceptContentTypes = _props.acceptContentTypes;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__upload-button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_icon_button__[\"a\" /* default */], {\n      icon: 'camera',\n      title: intl.formatMessage(messages.upload),\n      disabled: disabled,\n      onClick: this.handleClick,\n      className: 'compose-form__upload-button-icon',\n      size: 18,\n      inverted: true,\n      style: iconStyle\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      style: { display: 'none' }\n    }, void 0, intl.formatMessage(messages.upload)), __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n      key: resetFileKey,\n      ref: this.setRef,\n      type: 'file',\n      multiple: false,\n      accept: acceptContentTypes.toArray().join(','),\n      onChange: this.handleChange,\n      disabled: disabled,\n      style: { display: 'none' }\n    })));\n  };\n\n  return UploadButton;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n  disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n  onSelectFile: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n  style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n  resetFileKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n  acceptContentTypes: __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default.a.listOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string).isRequired,\n  intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 313:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\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_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__);\n\n\n\n\n\n\nvar Collapsable = function Collapsable(_ref) {\n  var fullHeight = _ref.fullHeight,\n      isVisible = _ref.isVisible,\n      children = _ref.children;\n  return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__[\"a\" /* default */], {\n    defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n    style: { opacity: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : 100), height: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : fullHeight) }\n  }, void 0, function (_ref2) {\n    var opacity = _ref2.opacity,\n        height = _ref2.height;\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n    }, void 0, children);\n  });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Collapsable);\n\n/***/ }),\n\n/***/ 314:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(7);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n  marked: {\n    'id': 'compose_form.spoiler.marked',\n    'defaultMessage': 'Text is hidden behind warning'\n  },\n  unmarked: {\n    'id': 'compose_form.spoiler.unmarked',\n    'defaultMessage': 'Text is not hidden'\n  }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n  var intl = _ref.intl;\n  return {\n    label: 'CW',\n    title: intl.formatMessage(state.getIn(['compose', 'spoiler']) ? messages.marked : messages.unmarked),\n    active: state.getIn(['compose', 'spoiler']),\n    ariaControls: 'cw-spoiler-input'\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n    onClick: function onClick() {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeComposeSpoilerness */])());\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 315:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TextIconButton; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n\n\n\n\n\n\nvar TextIconButton = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(TextIconButton, _React$PureComponent);\n\n  function TextIconButton() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, TextIconButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n      e.preventDefault();\n      _this.props.onClick();\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  TextIconButton.prototype.render = function render() {\n    var _props = this.props,\n        label = _props.label,\n        title = _props.title,\n        active = _props.active,\n        ariaControls = _props.ariaControls;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n      title: title,\n      'aria-label': title,\n      className: 'text-icon-button ' + (active ? 'active' : ''),\n      'aria-expanded': active,\n      onClick: this.handleClick,\n      'aria-controls': ariaControls\n    }, void 0, label);\n  };\n\n  return TextIconButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 316:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__ = __webpack_require__(317);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(43);\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    isModalOpen: state.get('modal').modalType === 'ACTIONS',\n    value: state.getIn(['compose', 'privacy'])\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n    onChange: function onChange(value) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* changeComposeVisibility */])(value));\n    },\n\n\n    isUserTouching: __WEBPACK_IMPORTED_MODULE_4__is_mobile__[\"c\" /* isUserTouching */],\n    onModalOpen: function onModalOpen(props) {\n      return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('ACTIONS', props));\n    },\n    onModalClose: function onModalClose() {\n      return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"c\" /* closeModal */])());\n    }\n\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 317:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PrivacyDropdown; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n  public_short: {\n    'id': 'privacy.public.short',\n    'defaultMessage': 'Public'\n  },\n  public_long: {\n    'id': 'privacy.public.long',\n    'defaultMessage': 'Post to public timelines'\n  },\n  unlisted_short: {\n    'id': 'privacy.unlisted.short',\n    'defaultMessage': 'Unlisted'\n  },\n  unlisted_long: {\n    'id': 'privacy.unlisted.long',\n    'defaultMessage': 'Do not show in public timelines'\n  },\n  private_short: {\n    'id': 'privacy.private.short',\n    'defaultMessage': 'Followers-only'\n  },\n  private_long: {\n    'id': 'privacy.private.long',\n    'defaultMessage': 'Post to followers only'\n  },\n  direct_short: {\n    'id': 'privacy.direct.short',\n    'defaultMessage': 'Direct'\n  },\n  direct_long: {\n    'id': 'privacy.direct.long',\n    'defaultMessage': 'Post to mentioned users only'\n  },\n  change_privacy: {\n    'id': 'privacy.change',\n    'defaultMessage': 'Adjust status privacy'\n  }\n});\n\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdownMenu, _React$PureComponent);\n\n  function PrivacyDropdownMenu() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdownMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n      mounted: false\n    }, _this.handleDocumentClick = function (e) {\n      if (_this.node && !_this.node.contains(e.target)) {\n        _this.props.onClose();\n      }\n    }, _this.handleKeyDown = function (e) {\n      var items = _this.props.items;\n\n      var value = e.currentTarget.getAttribute('data-index');\n      var index = items.findIndex(function (item) {\n        return item.value === value;\n      });\n      var element = void 0;\n\n      switch (e.key) {\n        case 'Escape':\n          _this.props.onClose();\n          break;\n        case 'Enter':\n          _this.handleClick(e);\n          break;\n        case 'ArrowDown':\n          element = _this.node.childNodes[index + 1];\n          if (element) {\n            element.focus();\n            _this.props.onChange(element.getAttribute('data-index'));\n          }\n          break;\n        case 'ArrowUp':\n          element = _this.node.childNodes[index - 1];\n          if (element) {\n            element.focus();\n            _this.props.onChange(element.getAttribute('data-index'));\n          }\n          break;\n        case 'Home':\n          element = _this.node.firstChild;\n          if (element) {\n            element.focus();\n            _this.props.onChange(element.getAttribute('data-index'));\n          }\n          break;\n        case 'End':\n          element = _this.node.lastChild;\n          if (element) {\n            element.focus();\n            _this.props.onChange(element.getAttribute('data-index'));\n          }\n          break;\n      }\n    }, _this.handleClick = function (e) {\n      var value = e.currentTarget.getAttribute('data-index');\n\n      e.preventDefault();\n\n      _this.props.onClose();\n      _this.props.onChange(value);\n    }, _this.setRef = function (c) {\n      _this.node = c;\n    }, _this.setFocusRef = function (c) {\n      _this.focusedItem = c;\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n    if (this.focusedItem) this.focusedItem.focus();\n    this.setState({ mounted: true });\n  };\n\n  PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  };\n\n  PrivacyDropdownMenu.prototype.render = function render() {\n    var _this2 = this;\n\n    var mounted = this.state.mounted;\n    var _props = this.props,\n        style = _props.style,\n        items = _props.items,\n        value = _props.value;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n      style: { opacity: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n    }, void 0, function (_ref) {\n      var opacity = _ref.opacity,\n          scaleX = _ref.scaleX,\n          scaleY = _ref.scaleY;\n      return (\n        // It should not be transformed when mounting because the resulting\n        // size will be used to determine the coordinate of the menu by\n        // react-overlays\n        __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n          'div',\n          { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: mounted ? 'scale(' + scaleX + ', ' + scaleY + ')' : null }), role: 'listbox', ref: _this2.setRef },\n          items.map(function (item) {\n            return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n              'div',\n              { role: 'option', tabIndex: '0', key: item.value, 'data-index': item.value, onKeyDown: _this2.handleKeyDown, onClick: _this2.handleClick, className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value }), 'aria-selected': item.value === value, ref: item.value === value ? _this2.setFocusRef : null },\n              __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n                className: 'privacy-dropdown__option__icon'\n              }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n                className: 'fa fa-fw fa-' + item.icon\n              })),\n              __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n                className: 'privacy-dropdown__option__content'\n              }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, item.text), item.meta)\n            );\n          })\n        )\n      );\n    });\n  };\n\n  return PrivacyDropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar PrivacyDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class2 = function (_React$PureComponent2) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdown, _React$PureComponent2);\n\n  function PrivacyDropdown() {\n    var _temp2, _this3, _ret2;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdown);\n\n    for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return _ret2 = (_temp2 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n      open: false,\n      placement: null\n    }, _this3.handleToggle = function (_ref2) {\n      var target = _ref2.target;\n\n      if (_this3.props.isUserTouching()) {\n        if (_this3.state.open) {\n          _this3.props.onModalClose();\n        } else {\n          _this3.props.onModalOpen({\n            actions: _this3.options.map(function (option) {\n              return Object.assign({}, option, { active: option.value === _this3.props.value });\n            }),\n            onClick: _this3.handleModalActionClick\n          });\n        }\n      } else {\n        var _target$getBoundingCl = target.getBoundingClientRect(),\n            top = _target$getBoundingCl.top;\n\n        _this3.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n        _this3.setState({ open: !_this3.state.open });\n      }\n    }, _this3.handleModalActionClick = function (e) {\n      e.preventDefault();\n\n      var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n      _this3.props.onModalClose();\n      _this3.props.onChange(value);\n    }, _this3.handleKeyDown = function (e) {\n      switch (e.key) {\n        case 'Escape':\n          _this3.handleClose();\n          break;\n      }\n    }, _this3.handleClose = function () {\n      _this3.setState({ open: false });\n    }, _this3.handleChange = function (value) {\n      _this3.props.onChange(value);\n    }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret2);\n  }\n\n  PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n    var formatMessage = this.props.intl.formatMessage;\n\n\n    this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n  };\n\n  PrivacyDropdown.prototype.render = function render() {\n    var _props2 = this.props,\n        value = _props2.value,\n        intl = _props2.intl;\n    var _state = this.state,\n        open = _state.open,\n        placement = _state.placement;\n\n\n    var valueOption = this.options.find(function (item) {\n      return item.value === value;\n    });\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown', { active: open }),\n      onKeyDown: this.handleKeyDown\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      className: 'privacy-dropdown__value-icon',\n      icon: valueOption.icon,\n      title: intl.formatMessage(messages.change_privacy),\n      size: 18,\n      expanded: open,\n      active: open,\n      inverted: true,\n      onClick: this.handleToggle,\n      style: { height: null, lineHeight: '27px' }\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n      show: open,\n      placement: placement,\n      target: this\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(PrivacyDropdownMenu, {\n      items: this.options,\n      value: value,\n      onClose: this.handleClose,\n      onChange: this.handleChange\n    })));\n  };\n\n  return PrivacyDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 318:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(7);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n  marked: {\n    'id': 'compose_form.sensitive.marked',\n    'defaultMessage': 'Media is marked as sensitive'\n  },\n  unmarked: {\n    'id': 'compose_form.sensitive.unmarked',\n    'defaultMessage': 'Media is not marked as sensitive'\n  }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    visible: state.getIn(['compose', 'media_attachments']).size > 0,\n    active: state.getIn(['compose', 'sensitive']),\n    disabled: state.getIn(['compose', 'spoiler'])\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n    onClick: function onClick() {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"G\" /* changeComposeSensitivity */])());\n    }\n  };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SensitiveButton, _React$PureComponent);\n\n  function SensitiveButton() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SensitiveButton);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  SensitiveButton.prototype.render = function render() {\n    var _props = this.props,\n        visible = _props.visible,\n        active = _props.active,\n        disabled = _props.disabled,\n        onClick = _props.onClick,\n        intl = _props.intl;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { scale: 0.87 },\n      style: { scale: __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default()(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n    }, void 0, function (_ref) {\n      var scale = _ref.scale;\n\n      var icon = active ? 'eye-slash' : 'eye';\n      var className = __WEBPACK_IMPORTED_MODULE_6_classnames___default()('compose-form__sensitive-button', {\n        'compose-form__sensitive-button--visible': visible\n      });\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: className,\n        style: { transform: 'scale(' + scale + ')' }\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n        className: 'compose-form__sensitive-button__icon',\n        title: intl.formatMessage(active ? messages.marked : messages.unmarked),\n        icon: icon,\n        onClick: onClick,\n        size: 18,\n        active: active,\n        disabled: disabled,\n        style: { lineHeight: null, height: null },\n        inverted: true\n      }));\n    });\n  };\n\n  return SensitiveButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(SensitiveButton)));\n\n/***/ }),\n\n/***/ 319:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__ = __webpack_require__(320);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_reselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_emojis__ = __webpack_require__(102);\n\n\n\n\n\n\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n  return state.getIn(['settings', 'frequentlyUsedEmojis'], Object(__WEBPACK_IMPORTED_MODULE_4_immutable__[\"Map\"])());\n}], function (emojiCounters) {\n  var emojis = emojiCounters.keySeq().sort(function (a, b) {\n    return emojiCounters.get(a) - emojiCounters.get(b);\n  }).reverse().slice(0, perLine * lines).toArray();\n\n  if (emojis.length < DEFAULTS.length) {\n    var uniqueDefaults = DEFAULTS.filter(function (emoji) {\n      return !emojis.includes(emoji);\n    });\n    emojis = emojis.concat(uniqueDefaults.slice(0, DEFAULTS.length - emojis.length));\n  }\n\n  return emojis;\n});\n\nvar getCustomEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n  return state.get('custom_emojis');\n}], function (emojis) {\n  return emojis.filter(function (e) {\n    return e.get('visible_in_picker');\n  }).sort(function (a, b) {\n    var aShort = a.get('shortcode').toLowerCase();\n    var bShort = b.get('shortcode').toLowerCase();\n\n    if (aShort < bShort) {\n      return -1;\n    } else if (aShort > bShort) {\n      return 1;\n    } else {\n      return 0;\n    }\n  });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    custom_emojis: getCustomEmojis(state),\n    skinTone: state.getIn(['settings', 'skinTone']),\n    frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n  var _onPickEmoji = _ref.onPickEmoji;\n  return {\n    onSkinTone: function onSkinTone(skinTone) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_settings__[\"c\" /* changeSetting */])(['skinTone'], skinTone));\n    },\n\n    onPickEmoji: function onPickEmoji(emoji) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_emojis__[\"b\" /* useEmoji */])(emoji));\n\n      if (_onPickEmoji) {\n        _onPickEmoji(emoji);\n      }\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 320:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmojiPickerDropdown; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__emoji_emoji__ = __webpack_require__(73);\n\n\n\n\n\nvar _class3, _class4, _temp4, _class5;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n  emoji: {\n    'id': 'emoji_button.label',\n    'defaultMessage': 'Insert emoji'\n  },\n  emoji_search: {\n    'id': 'emoji_button.search',\n    'defaultMessage': 'Search...'\n  },\n  emoji_not_found: {\n    'id': 'emoji_button.not_found',\n    'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n  },\n  custom: {\n    'id': 'emoji_button.custom',\n    'defaultMessage': 'Custom'\n  },\n  recent: {\n    'id': 'emoji_button.recent',\n    'defaultMessage': 'Frequently used'\n  },\n  search_results: {\n    'id': 'emoji_button.search_results',\n    'defaultMessage': 'Search results'\n  },\n  people: {\n    'id': 'emoji_button.people',\n    'defaultMessage': 'People'\n  },\n  nature: {\n    'id': 'emoji_button.nature',\n    'defaultMessage': 'Nature'\n  },\n  food: {\n    'id': 'emoji_button.food',\n    'defaultMessage': 'Food & Drink'\n  },\n  activity: {\n    'id': 'emoji_button.activity',\n    'defaultMessage': 'Activity'\n  },\n  travel: {\n    'id': 'emoji_button.travel',\n    'defaultMessage': 'Travel & Places'\n  },\n  objects: {\n    'id': 'emoji_button.objects',\n    'defaultMessage': 'Objects'\n  },\n  symbols: {\n    'id': 'emoji_button.symbols',\n    'defaultMessage': 'Symbols'\n  },\n  flags: {\n    'id': 'emoji_button.flags',\n    'defaultMessage': 'Flags'\n  }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n    Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n  return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPickerMenu, _React$PureComponent);\n\n  function ModifierPickerMenu() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPickerMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n      _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n    }, _this.handleDocumentClick = function (e) {\n      if (_this.node && !_this.node.contains(e.target)) {\n        _this.props.onClose();\n      }\n    }, _this.setRef = function (c) {\n      _this.node = c;\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (nextProps.active) {\n      this.attachListeners();\n    } else {\n      this.removeListeners();\n    }\n  };\n\n  ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n    this.removeListeners();\n  };\n\n  ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  };\n\n  ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  };\n\n  ModifierPickerMenu.prototype.render = function render() {\n    var active = this.props.active;\n\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 1\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 1,\n        backgroundImageFn: backgroundImageFn\n      })),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 2\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 2,\n        backgroundImageFn: backgroundImageFn\n      })),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 3\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 3,\n        backgroundImageFn: backgroundImageFn\n      })),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 4\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 4,\n        backgroundImageFn: backgroundImageFn\n      })),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 5\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 5,\n        backgroundImageFn: backgroundImageFn\n      })),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        onClick: this.handleClick,\n        'data-index': 6\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n        emoji: 'fist',\n        set: 'twitter',\n        size: 22,\n        sheetSize: 32,\n        skin: 6,\n        backgroundImageFn: backgroundImageFn\n      }))\n    );\n  };\n\n  return ModifierPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPicker, _React$PureComponent2);\n\n  function ModifierPicker() {\n    var _temp2, _this2, _ret2;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPicker);\n\n    for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return _ret2 = (_temp2 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n      if (_this2.props.active) {\n        _this2.props.onClose();\n      } else {\n        _this2.props.onOpen();\n      }\n    }, _this2.handleSelect = function (modifier) {\n      _this2.props.onChange(modifier);\n      _this2.props.onClose();\n    }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n  }\n\n  ModifierPicker.prototype.render = function render() {\n    var _props = this.props,\n        active = _props.active,\n        modifier = _props.modifier;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'emoji-picker-dropdown__modifiers'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n      emoji: 'fist',\n      set: 'twitter',\n      size: 22,\n      sheetSize: 32,\n      skin: modifier,\n      onClick: this.handleClick,\n      backgroundImageFn: backgroundImageFn\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPickerMenu, {\n      active: active,\n      onSelect: this.handleSelect,\n      onClose: this.props.onClose\n    }));\n  };\n\n  return ModifierPicker;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar EmojiPickerMenu = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerMenu, _React$PureComponent3);\n\n  function EmojiPickerMenu() {\n    var _temp3, _this3, _ret3;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerMenu);\n\n    for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n      args[_key3] = arguments[_key3];\n    }\n\n    return _ret3 = (_temp3 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n      modifierOpen: false,\n      placement: null\n    }, _this3.handleDocumentClick = function (e) {\n      if (_this3.node && !_this3.node.contains(e.target)) {\n        _this3.props.onClose();\n      }\n    }, _this3.setRef = function (c) {\n      _this3.node = c;\n    }, _this3.getI18n = function () {\n      var intl = _this3.props.intl;\n\n\n      return {\n        search: intl.formatMessage(messages.emoji_search),\n        notfound: intl.formatMessage(messages.emoji_not_found),\n        categories: {\n          search: intl.formatMessage(messages.search_results),\n          recent: intl.formatMessage(messages.recent),\n          people: intl.formatMessage(messages.people),\n          nature: intl.formatMessage(messages.nature),\n          foods: intl.formatMessage(messages.food),\n          activity: intl.formatMessage(messages.activity),\n          places: intl.formatMessage(messages.travel),\n          objects: intl.formatMessage(messages.objects),\n          symbols: intl.formatMessage(messages.symbols),\n          flags: intl.formatMessage(messages.flags),\n          custom: intl.formatMessage(messages.custom)\n        }\n      };\n    }, _this3.handleClick = function (emoji) {\n      if (!emoji.native) {\n        emoji.native = emoji.colons;\n      }\n\n      _this3.props.onClose();\n      _this3.props.onPick(emoji);\n    }, _this3.handleModifierOpen = function () {\n      _this3.setState({ modifierOpen: true });\n    }, _this3.handleModifierClose = function () {\n      _this3.setState({ modifierOpen: false });\n    }, _this3.handleModifierChange = function (modifier) {\n      _this3.props.onSkinTone(modifier);\n    }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret3);\n  }\n\n  EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  };\n\n  EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  };\n\n  EmojiPickerMenu.prototype.render = function render() {\n    var _props2 = this.props,\n        loading = _props2.loading,\n        style = _props2.style,\n        intl = _props2.intl,\n        custom_emojis = _props2.custom_emojis,\n        skinTone = _props2.skinTone,\n        frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n    if (loading) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        style: { width: 299 }\n      });\n    }\n\n    var title = intl.formatMessage(messages.emoji);\n    var modifierOpen = this.state.modifierOpen;\n\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPicker, {\n        perLine: 8,\n        emojiSize: 22,\n        sheetSize: 32,\n        custom: Object(__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__[\"buildCustomEmojis\"])(custom_emojis),\n        color: '',\n        emoji: '',\n        set: 'twitter',\n        title: title,\n        i18n: this.getI18n(),\n        onClick: this.handleClick,\n        include: categoriesSort,\n        recent: frequentlyUsedEmojis,\n        skin: skinTone,\n        showPreview: false,\n        backgroundImageFn: backgroundImageFn,\n        emojiTooltip: true\n      }),\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPicker, {\n        active: modifierOpen,\n        modifier: skinTone,\n        onOpen: this.handleModifierOpen,\n        onClose: this.handleModifierClose,\n        onChange: this.handleModifierChange\n      })\n    );\n  };\n\n  return EmojiPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class4.defaultProps = {\n  style: {},\n  loading: true,\n  frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class5 = function (_React$PureComponent4) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerDropdown, _React$PureComponent4);\n\n  function EmojiPickerDropdown() {\n    var _temp5, _this4, _ret4;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerDropdown);\n\n    for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n      args[_key4] = arguments[_key4];\n    }\n\n    return _ret4 = (_temp5 = (_this4 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n      active: false,\n      loading: false\n    }, _this4.setRef = function (c) {\n      _this4.dropdown = c;\n    }, _this4.onShowDropdown = function (_ref) {\n      var target = _ref.target;\n\n      _this4.setState({ active: true });\n\n      if (!EmojiPicker) {\n        _this4.setState({ loading: true });\n\n        Object(__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__[\"i\" /* EmojiPicker */])().then(function (EmojiMart) {\n          EmojiPicker = EmojiMart.Picker;\n          Emoji = EmojiMart.Emoji;\n\n          _this4.setState({ loading: false });\n        }).catch(function () {\n          _this4.setState({ loading: false });\n        });\n      }\n\n      var _target$getBoundingCl = target.getBoundingClientRect(),\n          top = _target$getBoundingCl.top;\n\n      _this4.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n    }, _this4.onHideDropdown = function () {\n      _this4.setState({ active: false });\n    }, _this4.onToggle = function (e) {\n      if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n        if (_this4.state.active) {\n          _this4.onHideDropdown();\n        } else {\n          _this4.onShowDropdown(e);\n        }\n      }\n    }, _this4.handleKeyDown = function (e) {\n      if (e.key === 'Escape') {\n        _this4.onHideDropdown();\n      }\n    }, _this4.setTargetRef = function (c) {\n      _this4.target = c;\n    }, _this4.findTarget = function () {\n      return _this4.target;\n    }, _temp5), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this4, _ret4);\n  }\n\n  EmojiPickerDropdown.prototype.render = function render() {\n    var _props3 = this.props,\n        intl = _props3.intl,\n        onPickEmoji = _props3.onPickEmoji,\n        onSkinTone = _props3.onSkinTone,\n        skinTone = _props3.skinTone,\n        frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n    var title = intl.formatMessage(messages.emoji);\n    var _state = this.state,\n        active = _state.active,\n        loading = _state.loading,\n        placement = _state.placement;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'emoji-picker-dropdown',\n      onKeyDown: this.handleKeyDown\n    }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n        className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emojione', { 'pulse-loading': active && loading }),\n        alt: '\\uD83D\\uDE42',\n        src: assetHost + '/emoji/1f602.svg'\n      })\n    ), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n      show: active,\n      placement: placement,\n      target: this.findTarget\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPickerMenu, {\n      custom_emojis: this.props.custom_emojis,\n      loading: loading,\n      onClose: this.onHideDropdown,\n      onPick: onPickEmoji,\n      onSkinTone: onSkinTone,\n      skinTone: skinTone,\n      frequentlyUsedEmojis: frequentlyUsedEmojis\n    })));\n  };\n\n  return EmojiPickerDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class5;\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(35)))\n\n/***/ }),\n\n/***/ 321:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_form__ = __webpack_require__(322);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n      return item.get('id');\n    })\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 322:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadForm; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__ = __webpack_require__(323);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_upload_container__ = __webpack_require__(325);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadForm, _ImmutablePureCompone);\n\n  function UploadForm() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadForm);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n  }\n\n  UploadForm.prototype.render = function render() {\n    var mediaIds = this.props.mediaIds;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__upload-wrapper'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__uploads-wrapper'\n    }, void 0, mediaIds.map(function (id) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_upload_container__[\"a\" /* default */], {\n        id: id\n      }, id);\n    })));\n  };\n\n  return UploadForm;\n}(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default.a), _class.propTypes = {\n  mediaIds: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.list.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 323:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_progress__ = __webpack_require__(324);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    active: state.getIn(['compose', 'is_uploading']),\n    progress: state.getIn(['compose', 'progress'])\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 324:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadProgress; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(7);\n\n\n\n\n\n\n\n\n\n\nvar UploadProgress = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadProgress, _React$PureComponent);\n\n  function UploadProgress() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadProgress);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  UploadProgress.prototype.render = function render() {\n    var _props = this.props,\n        active = _props.active,\n        progress = _props.progress;\n\n\n    if (!active) {\n      return null;\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'upload-progress'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'upload-progress__icon'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-upload'\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'upload-progress__message'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'upload_progress.label',\n      defaultMessage: 'Uploading...'\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'upload-progress__backdrop'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { width: 0 },\n      style: { width: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(progress) }\n    }, void 0, function (_ref) {\n      var width = _ref.width;\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'upload-progress__tracker',\n        style: { width: width + '%' }\n      });\n    }))));\n  };\n\n  return UploadProgress;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 325:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload__ = __webpack_require__(326);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(26);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n  var id = _ref.id;\n  return {\n    media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n      return item.get('id') === id;\n    })\n  };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n  return {\n\n    onUndo: function onUndo(id) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"X\" /* undoUploadCompose */])(id));\n    },\n\n    onDescriptionChange: function onDescriptionChange(id, description) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* changeUploadCompose */])(id, { description: description }));\n    },\n\n    onOpenFocalPoint: function onOpenFocalPoint(id) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('FOCAL_POINT', { id: id }));\n    }\n\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 326:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Upload; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n  description: {\n    'id': 'upload_form.description',\n    'defaultMessage': 'Describe for the visually impaired'\n  }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Upload, _ImmutablePureCompone);\n\n  function Upload() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Upload);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n      hovered: false,\n      focused: false,\n      dirtyDescription: null\n    }, _this.handleUndoClick = function () {\n      _this.props.onUndo(_this.props.media.get('id'));\n    }, _this.handleFocalPointClick = function () {\n      _this.props.onOpenFocalPoint(_this.props.media.get('id'));\n    }, _this.handleInputChange = function (e) {\n      _this.setState({ dirtyDescription: e.target.value });\n    }, _this.handleMouseEnter = function () {\n      _this.setState({ hovered: true });\n    }, _this.handleMouseLeave = function () {\n      _this.setState({ hovered: false });\n    }, _this.handleInputFocus = function () {\n      _this.setState({ focused: true });\n    }, _this.handleInputBlur = function () {\n      var dirtyDescription = _this.state.dirtyDescription;\n\n\n      _this.setState({ focused: false, dirtyDescription: null });\n\n      if (dirtyDescription !== null) {\n        _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n      }\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Upload.prototype.render = function render() {\n    var _this2 = this;\n\n    var _props = this.props,\n        intl = _props.intl,\n        media = _props.media;\n\n    var active = this.state.hovered || this.state.focused;\n    var description = this.state.dirtyDescription || this.state.dirtyDescription !== '' && media.get('description') || '';\n    var focusX = media.getIn(['meta', 'focus', 'x']);\n    var focusY = media.getIn(['meta', 'focus', 'y']);\n    var x = (focusX / 2 + .5) * 100;\n    var y = (focusY / -2 + .5) * 100;\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'compose-form__upload',\n      onMouseEnter: this.handleMouseEnter,\n      onMouseLeave: this.handleMouseLeave\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { scale: 0.8 },\n      style: { scale: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { stiffness: 180, damping: 12 }) }\n    }, void 0, function (_ref) {\n      var scale = _ref.scale;\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'compose-form__upload-thumbnail',\n        style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')', backgroundPosition: x + '% ' + y + '%' }\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('compose-form__upload__actions', { active: active })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        className: 'icon-button',\n        onClick: _this2.handleUndoClick\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-times'\n      }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'upload_form.undo',\n        defaultMessage: 'Delete'\n      })), media.get('type') === 'image' && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        className: 'icon-button',\n        onClick: _this2.handleFocalPointClick\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-crosshairs'\n      }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'upload_form.focus',\n        defaultMessage: 'Crop'\n      }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('compose-form__upload-description', { active: active })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        style: { display: 'none' }\n      }, void 0, intl.formatMessage(messages.description)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n        placeholder: intl.formatMessage(messages.description),\n        type: 'text',\n        value: description,\n        maxLength: 420,\n        onFocus: _this2.handleInputFocus,\n        onChange: _this2.handleInputChange,\n        onBlur: _this2.handleInputBlur\n      }))));\n    }));\n  };\n\n  return Upload;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n  media: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n  intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n  onUndo: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n  onDescriptionChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n  onOpenFocalPoint: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 327:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\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_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_warning__ = __webpack_require__(328);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(13);\n\n\n\n\n\n\n\n\nvar APPROX_HASHTAG_RE = /(?:^|[^\\/\\)\\w])#(\\w*[a-zA-Z·]\\w*)/i;\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"g\" /* me */], 'locked']),\n    hashtagWarning: state.getIn(['compose', 'privacy']) !== 'public' && APPROX_HASHTAG_RE.test(state.getIn(['compose', 'text'])),\n    directMessageWarning: state.getIn(['compose', 'privacy']) === 'direct'\n  };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n  var needsLockWarning = _ref.needsLockWarning,\n      hashtagWarning = _ref.hashtagWarning,\n      directMessageWarning = _ref.directMessageWarning;\n\n  if (needsLockWarning) {\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n      message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'compose_form.lock_disclaimer',\n        defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n        values: { locked: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n            href: '/user-settings'\n          }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n            id: 'compose_form.lock_disclaimer.lock',\n            defaultMessage: 'locked'\n          })) }\n      })\n    });\n  }\n\n  if (hashtagWarning) {\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n      message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'compose_form.hashtag_warning',\n        defaultMessage: 'This toot won\\'t be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.'\n      })\n    });\n  }\n\n  if (directMessageWarning) {\n    var message = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'compose_form.direct_message_warning',\n      defaultMessage: 'This toot will only be sent to all the mentioned users.'\n    }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      href: '/terms',\n      target: '_blank'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'compose_form.direct_message_warning_learn_more',\n      defaultMessage: 'Learn more'\n    })));\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n      message: message\n    });\n  }\n\n  return null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(mapStateToProps)(WarningWrapper));\n\n/***/ }),\n\n/***/ 328:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Warning; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n\n\n\n\n\n\n\n\n\nvar Warning = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Warning, _React$PureComponent);\n\n  function Warning() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Warning);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  Warning.prototype.render = function render() {\n    var message = this.props.message;\n\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n      style: { opacity: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n    }, void 0, function (_ref) {\n      var opacity = _ref.opacity,\n          scaleX = _ref.scaleX,\n          scaleY = _ref.scaleY;\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'compose-form__warning',\n        style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n      }, void 0, message);\n    });\n  };\n\n  return Warning;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 329:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = countableText;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__url_regex__ = __webpack_require__(330);\n\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nfunction countableText(inputText) {\n  return inputText;\n};\n\n/***/ }),\n\n/***/ 330:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export urlRegex */\nvar regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n  flags = flags || '';\n  if (typeof regex !== 'string') {\n    if (regex.global && flags.indexOf('g') < 0) {\n      flags += 'g';\n    }\n    if (regex.ignoreCase && flags.indexOf('i') < 0) {\n      flags += 'i';\n    }\n    if (regex.multiline && flags.indexOf('m') < 0) {\n      flags += 'm';\n    }\n\n    regex = regex.source;\n  }\n  return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n    var newRegex = regexen[name] || '';\n    if (typeof newRegex !== 'string') {\n      newRegex = newRegex.source;\n    }\n    return newRegex;\n  }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n  return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n    return values[name] || '';\n  });\n};\n\nvar urlRegex = function () {\n  regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n  regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n  regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n  regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n  regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n  regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n  regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n  regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n  regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n  regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n  regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n  regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n  regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n  regexen.validPortNumber = /[0-9]+/;\n  regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n  regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n  // Allow URL paths to contain up to two nested levels of balanced parens\n  //  1. Used in Wikipedia URLs like /Primer_(film)\n  //  2. Used in IIS sessions like /S(dfd346)/\n  //  3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n  regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n  // allow one nested level of balanced parentheses\n  '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n  // Valid end-of-path chracters (so /foo. does not gobble the period).\n  // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n  regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n  // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n  regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n  regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n  regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n  regexen.validUrl = regexSupplant('(' + // $1 URL\n  '(https?:\\\\/\\\\/)' + // $2 Protocol\n  '(#{validDomain})' + // $3 Domain(s)\n  '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n  '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n  '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n  ')', 'gi');\n  return regexen.validUrl;\n}();\n\n/***/ }),\n\n/***/ 849:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return OnboardingModal; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__compose_components_search__ = __webpack_require__(907);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__ = __webpack_require__(906);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__column_header__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar noop = function noop() {};\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"f\" /* defineMessages */])({\n  home_title: {\n    'id': 'column.home',\n    'defaultMessage': 'Home'\n  },\n  notifications_title: {\n    'id': 'column.notifications',\n    'defaultMessage': 'Notifications'\n  },\n  local_title: {\n    'id': 'column.community',\n    'defaultMessage': 'Local timeline'\n  },\n  federated_title: {\n    'id': 'column.public',\n    'defaultMessage': 'Federated timeline'\n  }\n});\n\nvar PageOne = function PageOne(_ref) {\n  var acct = _ref.acct,\n      domain = _ref.domain;\n  return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page onboarding-modal__page-one'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page-one__lead'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('h1', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_one.welcome',\n    defaultMessage: 'Welcome to Mastodon!'\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_one.federation',\n    defaultMessage: 'Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.'\n  }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page-one__extra'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'display-case'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'display-case__label'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_one.full_handle',\n    defaultMessage: 'Your full handle'\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'display-case__case'\n  }, void 0, '@', acct, '@', domain)), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_one.handle_hint',\n    defaultMessage: 'This is what you would tell your friends to search for.'\n  }))));\n};\n\nvar PageTwo = function PageTwo(_ref2) {\n  var myAccount = _ref2.myAccount;\n  return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page onboarding-modal__page-two'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'pseudo-drawer'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__[\"a\" /* default */], {\n    account: myAccount\n  }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__[\"a\" /* default */], {\n    text: 'Awoo! #introductions',\n    suggestions: Object(__WEBPACK_IMPORTED_MODULE_14_immutable__[\"List\"])(),\n    mentionedDomains: [],\n    spoiler: false,\n    onChange: noop,\n    onSubmit: noop,\n    onPaste: noop,\n    onPickEmoji: noop,\n    onChangeSpoilerText: noop,\n    onClearSuggestions: noop,\n    onFetchSuggestions: noop,\n    onSuggestionSelected: noop,\n    showSearch: true\n  }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_two.compose',\n    defaultMessage: 'Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.'\n  })));\n};\n\nvar PageThree = function PageThree(_ref3) {\n  var myAccount = _ref3.myAccount;\n  return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page onboarding-modal__page-three'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__compose_components_search__[\"a\" /* default */], {\n    value: '',\n    onChange: noop,\n    onSubmit: noop,\n    onClear: noop,\n    onShow: noop\n  }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'pseudo-drawer'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__[\"a\" /* default */], {\n    account: myAccount\n  }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_three.search',\n    defaultMessage: 'Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.',\n    values: { illustration: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n        to: '/timelines/tag/illustration',\n        href: '/tags/illustration'\n      }, void 0, '#illustration'), introductions: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n        to: '/timelines/tag/introductions',\n        href: '/tags/introductions'\n      }, void 0, '#introductions') }\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_three.profile',\n    defaultMessage: 'Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.'\n  })));\n};\n\nvar PageFour = function PageFour(_ref4) {\n  var domain = _ref4.domain,\n      intl = _ref4.intl;\n  return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page onboarding-modal__page-four'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page-four__columns'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'row'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n    icon: 'home',\n    type: intl.formatMessage(messages.home_title)\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_four.home',\n    defaultMessage: 'The home timeline shows posts from people you follow.'\n  }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n    icon: 'bell',\n    type: intl.formatMessage(messages.notifications_title)\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_four.notifications',\n    defaultMessage: 'The notifications column shows when someone interacts with you.'\n  })))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'row'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive',\n    style: { marginBottom: 0 }\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n    icon: 'users',\n    type: intl.formatMessage(messages.local_title)\n  }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'figure non-interactive',\n    style: { marginBottom: 0 }\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n    icon: 'globe',\n    type: intl.formatMessage(messages.federated_title)\n  })))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_five.public_timelines',\n    defaultMessage: 'The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.',\n    values: { domain: domain }\n  }))));\n};\n\nvar PageSix = function PageSix(_ref5) {\n  var admin = _ref5.admin,\n      domain = _ref5.domain;\n\n  var adminSection = '';\n\n  if (admin) {\n    adminSection = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'onboarding.page_six.admin',\n      defaultMessage: 'Your instance\\'s admin is {admin}.',\n      values: { admin: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n          href: admin.get('url'),\n          to: '/accounts/' + admin.get('id')\n        }, void 0, '@', admin.get('acct')) }\n    }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('br', {}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'onboarding.page_six.read_guidelines',\n      defaultMessage: 'Please read {domain}\\'s {guidelines}!',\n      values: { domain: domain, guidelines: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n          href: '/about/more',\n          target: '_blank'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'onboarding.page_six.guidelines',\n          defaultMessage: 'community guidelines'\n        })) }\n    }));\n  }\n\n  return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n    className: 'onboarding-modal__page onboarding-modal__page-six'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('h1', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_six.almost_done',\n    defaultMessage: 'Almost done...'\n  })), adminSection, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_six.github',\n    defaultMessage: 'Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.',\n    values: { github: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n        href: 'https://github.com/tootsuite/mastodon',\n        target: '_blank',\n        rel: 'noopener'\n      }, void 0, 'GitHub') }\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_six.apps_available',\n    defaultMessage: 'There are {apps} available for iOS, Android and other platforms.',\n    values: { apps: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n        href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md',\n        target: '_blank',\n        rel: 'noopener'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'onboarding.page_six.various_app',\n        defaultMessage: 'mobile apps'\n      })) }\n  })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('em', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'onboarding.page_six.appetoot',\n    defaultMessage: 'Bon Appetoot!'\n  }))));\n};\n\nvar mapStateToProps = function mapStateToProps(state) {\n  return {\n    myAccount: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_15__initial_state__[\"g\" /* me */]]),\n    admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n    domain: state.getIn(['meta', 'domain'])\n  };\n};\n\nvar OnboardingModal = (_dec = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(OnboardingModal, _React$PureComponent);\n\n  function OnboardingModal() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, OnboardingModal);\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 = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n      currentIndex: 0\n    }, _this.handleSkip = function (e) {\n      e.preventDefault();\n      _this.props.onClose();\n    }, _this.handleDot = function (e) {\n      var i = Number(e.currentTarget.getAttribute('data-index'));\n      e.preventDefault();\n      _this.setState({ currentIndex: i });\n    }, _this.handlePrev = function () {\n      _this.setState(function (_ref6) {\n        var currentIndex = _ref6.currentIndex;\n        return {\n          currentIndex: Math.max(0, currentIndex - 1)\n        };\n      });\n    }, _this.handleNext = function () {\n      var _this2 = _this,\n          pages = _this2.pages;\n\n      _this.setState(function (_ref7) {\n        var currentIndex = _ref7.currentIndex;\n        return {\n          currentIndex: Math.min(currentIndex + 1, pages.length - 1)\n        };\n      });\n    }, _this.handleSwipe = function (index) {\n      _this.setState({ currentIndex: index });\n    }, _this.handleKeyUp = function (_ref8) {\n      var key = _ref8.key;\n\n      switch (key) {\n        case 'ArrowLeft':\n          _this.handlePrev();\n          break;\n        case 'ArrowRight':\n          _this.handleNext();\n          break;\n      }\n    }, _this.handleClose = function () {\n      _this.props.onClose();\n    }, _temp), __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  OnboardingModal.prototype.componentWillMount = function componentWillMount() {\n    var _props = this.props,\n        myAccount = _props.myAccount,\n        admin = _props.admin,\n        domain = _props.domain,\n        intl = _props.intl;\n\n    this.pages = [__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageOne, {\n      acct: myAccount.get('acct'),\n      domain: domain\n    }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageTwo, {\n      myAccount: myAccount\n    }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageThree, {\n      myAccount: myAccount\n    }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageFour, {\n      domain: domain,\n      intl: intl\n    }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageSix, {\n      admin: admin,\n      domain: domain\n    })];\n  };\n\n  OnboardingModal.prototype.componentDidMount = function componentDidMount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  };\n\n  OnboardingModal.prototype.componentWillUnmount = function componentWillUnmount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  };\n\n  OnboardingModal.prototype.render = function render() {\n    var _this3 = this;\n\n    var pages = this.pages;\n    var currentIndex = this.state.currentIndex;\n\n    var hasMore = currentIndex < pages.length - 1;\n\n    var nextOrDoneBtn = hasMore ? __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n      onClick: this.handleNext,\n      className: 'onboarding-modal__nav onboarding-modal__next shake-bottom'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'onboarding.next',\n      defaultMessage: 'Next'\n    }), ' ', __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-fw fa-chevron-right'\n    })) : __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n      onClick: this.handleClose,\n      className: 'onboarding-modal__nav onboarding-modal__done shake-bottom'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'onboarding.done',\n      defaultMessage: 'Done'\n    }), ' ', __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-fw fa-check'\n    }));\n\n    return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n      className: 'modal-root__modal onboarding-modal'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default.a, {\n      index: currentIndex,\n      onChangeIndex: this.handleSwipe,\n      className: 'onboarding-modal__pager'\n    }, void 0, pages.map(function (page, i) {\n      var className = __WEBPACK_IMPORTED_MODULE_8_classnames___default()('onboarding-modal__page__wrapper', 'onboarding-modal__page__wrapper-' + i, {\n        'onboarding-modal__page__wrapper--active': i === currentIndex\n      });\n\n      return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n        className: className\n      }, i, page);\n    })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n      className: 'onboarding-modal__paginator'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n      onClick: this.handleSkip,\n      className: 'onboarding-modal__nav onboarding-modal__skip'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'onboarding.skip',\n      defaultMessage: 'Skip'\n    }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n      className: 'onboarding-modal__dots'\n    }, void 0, pages.map(function (_, i) {\n      var className = __WEBPACK_IMPORTED_MODULE_8_classnames___default()('onboarding-modal__dot', {\n        active: i === currentIndex\n      });\n\n      return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n        role: 'button',\n        tabIndex: '0',\n        'data-index': i,\n        onClick: _this3.handleDot,\n        className: className\n      }, 'dot-' + i);\n    })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, nextOrDoneBtn)));\n  };\n\n  return OnboardingModal;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 906:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavigationBar; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\n\nvar NavigationBar = (_temp = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(NavigationBar, _ImmutablePureCompone);\n\n  function NavigationBar() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, NavigationBar);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n  }\n\n  NavigationBar.prototype.render = function render() {\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'navigation-bar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n      href: this.props.account.get('url'),\n      to: '/accounts/' + this.props.account.get('id')\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      style: { display: 'none' }\n    }, void 0, this.props.account.get('acct')), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n      account: this.props.account,\n      size: 40\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'navigation-bar__profile'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n      href: this.props.account.get('url'),\n      to: '/accounts/' + this.props.account.get('id')\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {\n      className: 'navigation-bar__profile-account'\n    }, void 0, '@', this.props.account.get('acct'))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      href: '/user-settings',\n      className: 'navigation-bar__profile-edit'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'navigation_bar.edit_profile',\n      defaultMessage: 'Edit profile'\n    }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n      title: '',\n      icon: 'close',\n      onClick: this.props.onClose\n    }));\n  };\n\n  return NavigationBar;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n  account: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n  onClose: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func\n}, _temp);\n\n\n/***/ }),\n\n/***/ 907:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Search; });\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_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n  placeholder: {\n    'id': 'search.placeholder',\n    'defaultMessage': 'Search'\n  }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchPopout, _React$PureComponent);\n\n  function SearchPopout() {\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchPopout);\n\n    return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n  }\n\n  SearchPopout.prototype.render = function render() {\n    var style = this.props.style;\n\n    var extraInformation = __WEBPACK_IMPORTED_MODULE_9__initial_state__[\"i\" /* searchEnabled */] ? __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'search_popout.tips.full_text',\n      defaultMessage: 'Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.'\n    }) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n      id: 'search_popout.tips.text',\n      defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n    });\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      style: Object.assign({}, style, { position: 'absolute', width: 285 })\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n      defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n      style: { opacity: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n    }, void 0, function (_ref) {\n      var opacity = _ref.opacity,\n          scaleX = _ref.scaleX,\n          scaleY = _ref.scaleY;\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'search-popout',\n        style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h4', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'search_popout.search_format',\n        defaultMessage: 'Advanced search format'\n      })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('ul', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '#example'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'search_popout.tips.hashtag',\n        defaultMessage: 'hashtag'\n      })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '@username@domain'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'search_popout.tips.user',\n        defaultMessage: 'user'\n      })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'search_popout.tips.user',\n        defaultMessage: 'user'\n      })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n        id: 'search_popout.tips.status',\n        defaultMessage: 'status'\n      }))), extraInformation);\n    }));\n  };\n\n  return SearchPopout;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar Search = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent2) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Search, _React$PureComponent2);\n\n  function Search() {\n    var _temp, _this2, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Search);\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 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n      expanded: false\n    }, _this2.handleChange = function (e) {\n      _this2.props.onChange(e.target.value);\n    }, _this2.handleClear = function (e) {\n      e.preventDefault();\n\n      if (_this2.props.value.length > 0 || _this2.props.submitted) {\n        _this2.props.onClear();\n      }\n    }, _this2.handleKeyDown = function (e) {\n      if (e.key === 'Enter') {\n        e.preventDefault();\n        _this2.props.onSubmit();\n      } else if (e.key === 'Escape') {\n        document.querySelector('.ui').parentElement.focus();\n      }\n    }, _this2.handleFocus = function () {\n      _this2.setState({ expanded: true });\n      _this2.props.onShow();\n    }, _this2.handleBlur = function () {\n      _this2.setState({ expanded: false });\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret);\n  }\n\n  Search.prototype.noop = function noop() {};\n\n  Search.prototype.render = function render() {\n    var _props = this.props,\n        intl = _props.intl,\n        value = _props.value,\n        submitted = _props.submitted;\n    var expanded = this.state.expanded;\n\n    var hasValue = value.length > 0 || submitted;\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'search'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      style: { display: 'none' }\n    }, void 0, intl.formatMessage(messages.placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n      className: 'search__input',\n      type: 'text',\n      placeholder: intl.formatMessage(messages.placeholder),\n      value: value,\n      onChange: this.handleChange,\n      onKeyUp: this.handleKeyDown,\n      onFocus: this.handleFocus,\n      onBlur: this.handleBlur\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      role: 'button',\n      tabIndex: '0',\n      className: 'search__icon',\n      onClick: this.handleClear\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-search ' + (hasValue ? '' : 'active')\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n      'aria-label': intl.formatMessage(messages.placeholder),\n      className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default.a, {\n      show: expanded && !hasValue,\n      placement: 'bottom',\n      target: this\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SearchPopout, {})));\n  };\n\n  return Search;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class;\n\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// modals/onboarding_modal.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport default class ColumnHeader extends React.PureComponent {\n\n  static propTypes = {\n    icon: PropTypes.string,\n    type: PropTypes.string,\n    active: PropTypes.bool,\n    onClick: PropTypes.func,\n    columnHeaderId: PropTypes.string,\n  };\n\n  handleClick = () => {\n    this.props.onClick();\n  }\n\n  render () {\n    const { icon, type, active, columnHeaderId } = this.props;\n    let iconElement = '';\n\n    if (icon) {\n      iconElement = <i className={`fa fa-fw fa-${icon} column-header__icon`} />;\n    }\n\n    return (\n      <h1 className={classNames('column-header', { active })} id={columnHeaderId || null}>\n        <button onClick={this.handleClick}>\n          {iconElement}\n          {type}\n        </button>\n      </h1>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/column_header.js","import React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\nimport { charLimit } from \"../../../initial_state\"\n\nconst allowedAroundShortCode = '><\\u0085\\u0020\\u00a0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029\\u0009\\u000a\\u000b\\u000c\\u000d';\n\nconst messages = defineMessages({\n  placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },\n  spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' },\n  publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },\n  publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },\n});\n\n@injectIntl\nexport default class ComposeForm extends ImmutablePureComponent {\n\n  static propTypes = {\n    intl: PropTypes.object.isRequired,\n    text: PropTypes.string.isRequired,\n    suggestion_token: PropTypes.string,\n    suggestions: ImmutablePropTypes.list,\n    spoiler: PropTypes.bool,\n    privacy: PropTypes.string,\n    spoiler_text: PropTypes.string,\n    focusDate: PropTypes.instanceOf(Date),\n    caretPosition: PropTypes.number,\n    preselectDate: PropTypes.instanceOf(Date),\n    is_submitting: PropTypes.bool,\n    is_uploading: PropTypes.bool,\n    onChange: PropTypes.func.isRequired,\n    onSubmit: PropTypes.func.isRequired,\n    onClearSuggestions: PropTypes.func.isRequired,\n    onFetchSuggestions: PropTypes.func.isRequired,\n    onSuggestionSelected: PropTypes.func.isRequired,\n    onChangeSpoilerText: PropTypes.func.isRequired,\n    onPaste: PropTypes.func.isRequired,\n    onPickEmoji: PropTypes.func.isRequired,\n    showSearch: PropTypes.bool,\n    anyMedia: PropTypes.bool,\n  };\n\n  static defaultProps = {\n    showSearch: false,\n  };\n\n  handleChange = (e) => {\n    this.props.onChange(e.target.value);\n  }\n\n  handleKeyDown = (e) => {\n    if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n      this.handleSubmit();\n    }\n  }\n\n  handleSubmit = () => {\n    if (this.props.text !== this.autosuggestTextarea.textarea.value) {\n      // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n      // Update the state to match the current text\n      this.props.onChange(this.autosuggestTextarea.textarea.value);\n    }\n\n    // Submit disabled:\n    const { is_submitting, is_uploading, anyMedia } = this.props;\n    const fulltext = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n    if (is_submitting || is_uploading || length(fulltext) > charLimit || (fulltext.length !== 0 && fulltext.trim().length === 0 && !anyMedia)) {\n      return;\n    }\n\n    this.props.onSubmit();\n  }\n\n  onSuggestionsClearRequested = () => {\n    this.props.onClearSuggestions();\n  }\n\n  onSuggestionsFetchRequested = (token) => {\n    this.props.onFetchSuggestions(token);\n  }\n\n  onSuggestionSelected = (tokenStart, token, value) => {\n    this.props.onSuggestionSelected(tokenStart, token, value);\n  }\n\n  handleChangeSpoilerText = (e) => {\n    this.props.onChangeSpoilerText(e.target.value);\n  }\n\n  componentDidUpdate (prevProps) {\n    // This statement does several things:\n    // - If we're beginning a reply, and,\n    //     - Replying to zero or one users, places the cursor at the end of the textbox.\n    //     - Replying to more than one user, selects any usernames past the first;\n    //       this provides a convenient shortcut to drop everyone else from the conversation.\n    if (this.props.focusDate !== prevProps.focusDate) {\n      let selectionEnd, selectionStart;\n\n      if (this.props.preselectDate !== prevProps.preselectDate) {\n        selectionEnd   = this.props.text.length;\n        selectionStart = this.props.text.search(/\\s/) + 1;\n      } else if (typeof this.props.caretPosition === 'number') {\n        selectionStart = this.props.caretPosition;\n        selectionEnd   = this.props.caretPosition;\n      } else {\n        selectionEnd   = this.props.text.length;\n        selectionStart = selectionEnd;\n      }\n\n      this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n      this.autosuggestTextarea.textarea.focus();\n    } else if(prevProps.is_submitting && !this.props.is_submitting) {\n      this.autosuggestTextarea.textarea.focus();\n    }\n  }\n\n  setAutosuggestTextarea = (c) => {\n    this.autosuggestTextarea = c;\n  }\n\n  handleEmojiPick = (data) => {\n    const { text }     = this.props;\n    const position     = this.autosuggestTextarea.textarea.selectionStart;\n    const needsSpace   = data.custom && position > 0 && !allowedAroundShortCode.includes(text[position - 1]);\n\n    this.props.onPickEmoji(position, data, needsSpace);\n  }\n\n  render () {\n    const { intl, onPaste, showSearch, anyMedia } = this.props;\n    const disabled = this.props.is_submitting;\n    const text     = [this.props.spoiler_text, countableText(this.props.text)].join('');\n    const disabledButton = disabled || this.props.is_uploading || length(text) > charLimit || (text.length !== 0 && text.trim().length === 0 && !anyMedia);\n    let publishText = '';\n\n    if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n      publishText = <span className='compose-form__publish-private'><i className='fa fa-lock' /> {intl.formatMessage(messages.publish)}</span>;\n    } else {\n      publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n    }\n\n    return (\n      <div className='compose-form'>\n        <WarningContainer />\n\n        <Collapsable isVisible={this.props.spoiler} fullHeight={50}>\n          <div className='spoiler-input'>\n            <label>\n              <span style={{ display: 'none' }}>{intl.formatMessage(messages.spoiler_placeholder)}</span>\n              <input placeholder={intl.formatMessage(messages.spoiler_placeholder)} value={this.props.spoiler_text} onChange={this.handleChangeSpoilerText} onKeyDown={this.handleKeyDown} type='text' className='spoiler-input__input'  id='cw-spoiler-input' />\n            </label>\n          </div>\n        </Collapsable>\n\n        <ReplyIndicatorContainer />\n\n        <div className='compose-form__autosuggest-wrapper'>\n          <AutosuggestTextarea\n            ref={this.setAutosuggestTextarea}\n            placeholder={intl.formatMessage(messages.placeholder)}\n            disabled={disabled}\n            value={this.props.text}\n            onChange={this.handleChange}\n            suggestions={this.props.suggestions}\n            onKeyDown={this.handleKeyDown}\n            onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}\n            onSuggestionsClearRequested={this.onSuggestionsClearRequested}\n            onSuggestionSelected={this.onSuggestionSelected}\n            onPaste={onPaste}\n            autoFocus={!showSearch && !isMobile(window.innerWidth)}\n          />\n\n          <EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />\n        </div>\n\n        <div className='compose-form__modifiers'>\n          <UploadFormContainer />\n        </div>\n\n        <div className='compose-form__buttons-wrapper'>\n          <div className='compose-form__buttons'>\n            <UploadButtonContainer />\n            <PrivacyDropdownContainer />\n            <SensitiveButtonContainer />\n            <SpoilerButtonContainer />\n          </div>\n          <div className='character-counter__wrapper'><CharacterCounter max={charLimit} text={text} /></div>\n        </div>\n\n        <div className='compose-form__publish'>\n          <div className='compose-form__publish-button-wrapper'><Button text={publishText} onClick={this.handleSubmit} disabled={disabledButton} block /></div>\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/compose_form.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { length } from 'stringz';\n\nexport default class CharacterCounter extends React.PureComponent {\n\n  static propTypes = {\n    text: PropTypes.string.isRequired,\n    max: PropTypes.number.isRequired,\n  };\n\n  checkRemainingText (diff) {\n    if (diff < 0) {\n      return <span className='character-counter character-counter--over'>{diff}</span>;\n    }\n\n    return <span className='character-counter'>{diff}</span>;\n  }\n\n  render () {\n    const diff = this.props.max - length(this.props.text);\n    return this.checkRemainingText(diff);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/character_counter.js","import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nconst makeMapStateToProps = () => {\n  const getStatus = makeGetStatus();\n\n  const mapStateToProps = state => ({\n    status: getStatus(state, state.getIn(['compose', 'in_reply_to'])),\n  });\n\n  return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n\n  onCancel () {\n    dispatch(cancelReplyCompose());\n  },\n\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { isRtl } from '../../../rtl';\n\nconst messages = defineMessages({\n  cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },\n});\n\n@injectIntl\nexport default class ReplyIndicator extends ImmutablePureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    status: ImmutablePropTypes.map,\n    onCancel: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleClick = () => {\n    this.props.onCancel();\n  }\n\n  handleAccountClick = (e) => {\n    if (e.button === 0) {\n      e.preventDefault();\n      this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n    }\n  }\n\n  render () {\n    const { status, intl } = this.props;\n\n    if (!status) {\n      return null;\n    }\n\n    const content = { __html: status.get('contentHtml') };\n    const style   = {\n      direction: isRtl(status.get('search_index')) ? 'rtl' : 'ltr',\n    };\n\n    return (\n      <div className='reply-indicator'>\n        <div className='reply-indicator__header'>\n          <div className='reply-indicator__cancel'><IconButton title={intl.formatMessage(messages.cancel)} icon='times' onClick={this.handleClick} inverted /></div>\n\n          <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='reply-indicator__display-name'>\n            <div className='reply-indicator__display-avatar'><Avatar account={status.get('account')} size={24} /></div>\n            <DisplayName account={status.get('account')} />\n          </a>\n        </div>\n\n        <div className='reply-indicator__content' style={style} dangerouslySetInnerHTML={content} />\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/reply_indicator.js","import React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nconst textAtCursorMatchesToken = (str, caretPosition) => {\n  let word;\n\n  let left  = str.slice(0, caretPosition).search(/\\S+$/);\n  let right = str.slice(caretPosition).search(/\\s/);\n\n  if (right < 0) {\n    word = str.slice(left);\n  } else {\n    word = str.slice(left, right + caretPosition);\n  }\n\n  if (!word || word.trim().length < 3 || ['@', ':', '#'].indexOf(word[0]) === -1) {\n    return [null, null];\n  }\n\n  word = word.trim().toLowerCase();\n\n  if (word.length > 0) {\n    return [left + 1, word];\n  } else {\n    return [null, null];\n  }\n};\n\nexport default class AutosuggestTextarea extends ImmutablePureComponent {\n\n  static propTypes = {\n    value: PropTypes.string,\n    suggestions: ImmutablePropTypes.list,\n    disabled: PropTypes.bool,\n    placeholder: PropTypes.string,\n    onSuggestionSelected: PropTypes.func.isRequired,\n    onSuggestionsClearRequested: PropTypes.func.isRequired,\n    onSuggestionsFetchRequested: PropTypes.func.isRequired,\n    onChange: PropTypes.func.isRequired,\n    onKeyUp: PropTypes.func,\n    onKeyDown: PropTypes.func,\n    onPaste: PropTypes.func.isRequired,\n    autoFocus: PropTypes.bool,\n  };\n\n  static defaultProps = {\n    autoFocus: true,\n  };\n\n  state = {\n    suggestionsHidden: false,\n    selectedSuggestion: 0,\n    lastToken: null,\n    tokenStart: 0,\n  };\n\n  onChange = (e) => {\n    const [ tokenStart, token ] = textAtCursorMatchesToken(e.target.value, e.target.selectionStart);\n\n    if (token !== null && this.state.lastToken !== token) {\n      this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart });\n      this.props.onSuggestionsFetchRequested(token);\n    } else if (token === null) {\n      this.setState({ lastToken: null });\n      this.props.onSuggestionsClearRequested();\n    }\n\n    this.props.onChange(e);\n  }\n\n  onKeyDown = (e) => {\n    const { suggestions, disabled } = this.props;\n    const { selectedSuggestion, suggestionsHidden } = this.state;\n\n    if (disabled) {\n      e.preventDefault();\n      return;\n    }\n\n    if (e.which === 229 || e.isComposing) {\n      // Ignore key events during text composition\n      // e.key may be a name of the physical key even in this case (e.x. Safari / Chrome on Mac)\n      return;\n    }\n\n    switch(e.key) {\n    case 'Escape':\n      if (suggestions.size === 0 || suggestionsHidden) {\n        document.querySelector('.ui').parentElement.focus();\n      } else {\n        e.preventDefault();\n        this.setState({ suggestionsHidden: true });\n      }\n\n      break;\n    case 'ArrowDown':\n      if (suggestions.size > 0 && !suggestionsHidden) {\n        e.preventDefault();\n        this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n      }\n\n      break;\n    case 'ArrowUp':\n      if (suggestions.size > 0 && !suggestionsHidden) {\n        e.preventDefault();\n        this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n      }\n\n      break;\n    case 'Enter':\n    case 'Tab':\n      // Select suggestion\n      if (this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n        e.preventDefault();\n        e.stopPropagation();\n        this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestions.get(selectedSuggestion));\n      }\n\n      break;\n    }\n\n    if (e.defaultPrevented || !this.props.onKeyDown) {\n      return;\n    }\n\n    this.props.onKeyDown(e);\n  }\n\n  onBlur = () => {\n    this.setState({ suggestionsHidden: true });\n  }\n\n  onSuggestionClick = (e) => {\n    const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n    e.preventDefault();\n    this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);\n    this.textarea.focus();\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n      this.setState({ suggestionsHidden: false });\n    }\n  }\n\n  setTextarea = (c) => {\n    this.textarea = c;\n  }\n\n  onPaste = (e) => {\n    if (e.clipboardData && e.clipboardData.files.length === 1) {\n      this.props.onPaste(e.clipboardData.files);\n      e.preventDefault();\n    }\n  }\n\n  renderSuggestion = (suggestion, i) => {\n    const { selectedSuggestion } = this.state;\n    let inner, key;\n\n    if (typeof suggestion === 'object') {\n      inner = <AutosuggestEmoji emoji={suggestion} />;\n      key   = suggestion.id;\n    } else if (suggestion[0] === '#') {\n      inner = suggestion;\n      key   = suggestion;\n    } else {\n      inner = <AutosuggestAccountContainer id={suggestion} />;\n      key   = suggestion;\n    }\n\n    return (\n      <div role='button' tabIndex='0' key={key} data-index={i} className={classNames('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion })} onMouseDown={this.onSuggestionClick}>\n        {inner}\n      </div>\n    );\n  }\n\n  render () {\n    const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props;\n    const { suggestionsHidden } = this.state;\n    const style = { direction: 'ltr' };\n\n    if (isRtl(value)) {\n      style.direction = 'rtl';\n    }\n\n    return (\n      <div className='autosuggest-textarea'>\n        <label>\n          <span style={{ display: 'none' }}>{placeholder}</span>\n\n          <Textarea\n            inputRef={this.setTextarea}\n            className='autosuggest-textarea__textarea'\n            disabled={disabled}\n            placeholder={placeholder}\n            autoFocus={autoFocus}\n            value={value}\n            onChange={this.onChange}\n            onKeyDown={this.onKeyDown}\n            onKeyUp={onKeyUp}\n            onBlur={this.onBlur}\n            onPaste={this.onPaste}\n            style={style}\n            aria-autocomplete='list'\n          />\n        </label>\n\n        <div className={`autosuggest-textarea__suggestions ${suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible'}`}>\n          {suggestions.map(this.renderSuggestion)}\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_textarea.js","import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nconst makeMapStateToProps = () => {\n  const getAccount = makeGetAccount();\n\n  const mapStateToProps = (state, { id }) => ({\n    account: getAccount(state, id),\n  });\n\n  return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","import React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class AutosuggestAccount extends ImmutablePureComponent {\n\n  static propTypes = {\n    account: ImmutablePropTypes.map.isRequired,\n  };\n\n  render () {\n    const { account } = this.props;\n\n    return (\n      <div className='autosuggest-account'>\n        <div className='autosuggest-account-icon'><Avatar account={account} size={18} /></div>\n        <DisplayName account={account} />\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/autosuggest_account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nconst assetHost = process.env.CDN_HOST || '';\n\nexport default class AutosuggestEmoji extends React.PureComponent {\n\n  static propTypes = {\n    emoji: PropTypes.object.isRequired,\n  };\n\n  render () {\n    const { emoji } = this.props;\n    let url;\n\n    if (emoji.custom) {\n      url = emoji.imageUrl;\n    } else {\n      const mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n      if (!mapping) {\n        return null;\n      }\n\n      url = `${assetHost}/emoji/${mapping.filename}.svg`;\n    }\n\n    return (\n      <div className='autosuggest-emoji'>\n        <img\n          className='emojione'\n          src={url}\n          alt={emoji.native || emoji.colons}\n        />\n\n        {emoji.colons}\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_emoji.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n  _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\n  return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\nvar HIDDEN_TEXTAREA_STYLE = {\n  'min-height': '0',\n  'max-height': 'none',\n  height: '0',\n  visibility: 'hidden',\n  overflow: 'hidden',\n  position: 'absolute',\n  'z-index': '-1000',\n  top: '0',\n  right: '0'\n};\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'tab-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\nvar computedStyleCache = {};\nfunction calculateNodeHeight(uiTextNode, uid, useCache, minRows, maxRows) {\n  if (useCache === void 0) {\n    useCache = false;\n  }\n\n  if (minRows === void 0) {\n    minRows = null;\n  }\n\n  if (maxRows === void 0) {\n    maxRows = null;\n  }\n\n  if (hiddenTextarea.parentNode === null) {\n    document.body.appendChild(hiddenTextarea);\n  } // Copy all CSS properties that have an impact on the height of the content in\n  // the textbox\n\n\n  var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n  if (nodeStyling === null) {\n    return null;\n  }\n\n  var paddingSize = nodeStyling.paddingSize,\n      borderSize = nodeStyling.borderSize,\n      boxSizing = nodeStyling.boxSizing,\n      sizingStyle = nodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n  // text-lines will not calculated properly as the shadow will technically be\n  // narrower for content\n\n  Object.keys(sizingStyle).forEach(function (key) {\n    hiddenTextarea.style[key] = sizingStyle[key];\n  });\n  Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n    hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n  });\n  hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n  var minHeight = -Infinity;\n  var maxHeight = Infinity;\n  var height = hiddenTextarea.scrollHeight;\n\n  if (boxSizing === 'border-box') {\n    // border-box: add border, since height = content + padding + border\n    height = height + borderSize;\n  } else if (boxSizing === 'content-box') {\n    // remove padding, since height = content\n    height = height - paddingSize;\n  } // measure height of a textarea with a single row\n\n\n  hiddenTextarea.value = 'x';\n  var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n  if (minRows !== null || maxRows !== null) {\n    if (minRows !== null) {\n      minHeight = singleRowHeight * minRows;\n\n      if (boxSizing === 'border-box') {\n        minHeight = minHeight + paddingSize + borderSize;\n      }\n\n      height = Math.max(minHeight, height);\n    }\n\n    if (maxRows !== null) {\n      maxHeight = singleRowHeight * maxRows;\n\n      if (boxSizing === 'border-box') {\n        maxHeight = maxHeight + paddingSize + borderSize;\n      }\n\n      height = Math.min(maxHeight, height);\n    }\n  }\n\n  var rowCount = Math.floor(height / singleRowHeight);\n  return {\n    height: height,\n    minHeight: minHeight,\n    maxHeight: maxHeight,\n    rowCount: rowCount\n  };\n}\n\nfunction calculateNodeStyling(node, uid, useCache) {\n  if (useCache === void 0) {\n    useCache = false;\n  }\n\n  if (useCache && computedStyleCache[uid]) {\n    return computedStyleCache[uid];\n  }\n\n  var style = window.getComputedStyle(node);\n\n  if (style === null) {\n    return null;\n  }\n\n  var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n    obj[name] = style.getPropertyValue(name);\n    return obj;\n  }, {});\n  var boxSizing = sizingStyle['box-sizing']; // IE (Edge has already correct behaviour) returns content width as computed width\n  // so we need to add manually padding and border widths\n\n  if (isIE && boxSizing === 'border-box') {\n    sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n  }\n\n  var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n  var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n  var nodeInfo = {\n    sizingStyle: sizingStyle,\n    paddingSize: paddingSize,\n    borderSize: borderSize,\n    boxSizing: boxSizing\n  };\n\n  if (useCache) {\n    computedStyleCache[uid] = nodeInfo;\n  }\n\n  return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n  return delete computedStyleCache[uid];\n};\n\nfunction autoInc(seed) {\n  if (seed === void 0) {\n    seed = 0;\n  }\n\n  return function () {\n    return ++seed;\n  };\n}\n\nvar uid = autoInc();\n\n/**\n * <TextareaAutosize />\n */\nvar noop = function noop() {}; // IE11 has a problem with eval source maps, can be reproduced with:\n// eval('\"use strict\"; var onNextFrame = window.cancelAnimationFrame; onNextFrame(4);')\n// so we bind window as context in dev modes\n\n\nvar _ref = isBrowser && window.requestAnimationFrame ? process.env.NODE_ENV !== 'development' ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [window.requestAnimationFrame.bind(window), window.cancelAnimationFrame.bind(window)] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TextareaAutosize, _React$Component);\n\n  function TextareaAutosize(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this._resizeLock = false;\n\n    _this._onRootDOMNode = function (node) {\n      _this._rootDOMNode = node;\n\n      if (_this.props.inputRef) {\n        _this.props.inputRef(node);\n      }\n    };\n\n    _this._onChange = function (event) {\n      if (!_this._controlled) {\n        _this._resizeComponent();\n      }\n\n      _this.props.onChange(event);\n    };\n\n    _this._resizeComponent = function (callback) {\n      if (callback === void 0) {\n        callback = noop;\n      }\n\n      if (typeof _this._rootDOMNode === 'undefined') {\n        callback();\n        return;\n      }\n\n      var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n      if (nodeHeight === null) {\n        callback();\n        return;\n      }\n\n      var height = nodeHeight.height,\n          minHeight = nodeHeight.minHeight,\n          maxHeight = nodeHeight.maxHeight,\n          rowCount = nodeHeight.rowCount;\n      _this.rowCount = rowCount;\n\n      if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n        _this.setState({\n          height: height,\n          minHeight: minHeight,\n          maxHeight: maxHeight\n        }, callback);\n\n        return;\n      }\n\n      callback();\n    };\n\n    _this.state = {\n      height: props.style && props.style.height || 0,\n      minHeight: -Infinity,\n      maxHeight: Infinity\n    };\n    _this._uid = uid();\n    _this._controlled = typeof props.value === 'string';\n    return _this;\n  }\n\n  var _proto = TextareaAutosize.prototype;\n\n  _proto.render = function render() {\n    var _props = this.props,\n        _minRows = _props.minRows,\n        _maxRows = _props.maxRows,\n        _onHeightChange = _props.onHeightChange,\n        _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n        _inputRef = _props.inputRef,\n        props = _objectWithoutProperties(_props, [\"minRows\", \"maxRows\", \"onHeightChange\", \"useCacheForDOMMeasurements\", \"inputRef\"]);\n    props.style = _extends({}, props.style, {\n      height: this.state.height\n    });\n    var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n    if (maxHeight < this.state.height) {\n      props.style.overflow = 'hidden';\n    }\n\n    return React.createElement(\"textarea\", _extends({}, props, {\n      onChange: this._onChange,\n      ref: this._onRootDOMNode\n    }));\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    var _this2 = this;\n\n    this._resizeComponent(); // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n    // causing competing rerenders (due to setState in the listener) in React.\n    // More can be found here - facebook/react#6324\n\n\n    this._resizeListener = function () {\n      if (_this2._resizeLock) {\n        return;\n      }\n\n      _this2._resizeLock = true;\n\n      _this2._resizeComponent(function () {\n        return _this2._resizeLock = false;\n      });\n    };\n\n    window.addEventListener('resize', this._resizeListener);\n  };\n\n  _proto.componentWillReceiveProps = function componentWillReceiveProps() {\n    var _this3 = this;\n\n    this._clearNextFrame();\n\n    this._onNextFrameActionId = onNextFrame(function () {\n      return _this3._resizeComponent();\n    });\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n    if (this.state.height !== prevState.height) {\n      this.props.onHeightChange(this.state.height, this);\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this._clearNextFrame();\n\n    window.removeEventListener('resize', this._resizeListener);\n    purgeCache(this._uid);\n  };\n\n  _proto._clearNextFrame = function _clearNextFrame() {\n    clearNextFrameAction(this._onNextFrameActionId);\n  };\n\n  return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.propTypes = {\n  value: PropTypes.string,\n  onChange: PropTypes.func,\n  onHeightChange: PropTypes.func,\n  useCacheForDOMMeasurements: PropTypes.bool,\n  minRows: PropTypes.number,\n  maxRows: PropTypes.number,\n  inputRef: PropTypes.func\n};\nTextareaAutosize.defaultProps = {\n  onChange: noop,\n  onHeightChange: noop,\n  useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/react-textarea-autosize/es/index.js","import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n  disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),\n  resetFileKey: state.getIn(['compose', 'resetFileKey']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n  onSelectFile (files) {\n    dispatch(uploadCompose(files));\n  },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_button_container.js","import React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nconst messages = defineMessages({\n  upload: { id: 'upload_button.label', defaultMessage: 'Add media' },\n});\n\nconst makeMapStateToProps = () => {\n  const mapStateToProps = state => ({\n    acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']),\n  });\n\n  return mapStateToProps;\n};\n\nconst iconStyle = {\n  height: null,\n  lineHeight: '27px',\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class UploadButton extends ImmutablePureComponent {\n\n  static propTypes = {\n    disabled: PropTypes.bool,\n    onSelectFile: PropTypes.func.isRequired,\n    style: PropTypes.object,\n    resetFileKey: PropTypes.number,\n    acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleChange = (e) => {\n    if (e.target.files.length > 0) {\n      this.props.onSelectFile(e.target.files);\n    }\n  }\n\n  handleClick = () => {\n    this.fileElement.click();\n  }\n\n  setRef = (c) => {\n    this.fileElement = c;\n  }\n\n  render () {\n\n    const { intl, resetFileKey, disabled, acceptContentTypes } = this.props;\n\n    return (\n      <div className='compose-form__upload-button'>\n        <IconButton icon='camera' title={intl.formatMessage(messages.upload)} disabled={disabled} onClick={this.handleClick} className='compose-form__upload-button-icon' size={18} inverted style={iconStyle} />\n        <label>\n          <span style={{ display: 'none' }}>{intl.formatMessage(messages.upload)}</span>\n          <input\n            key={resetFileKey}\n            ref={this.setRef}\n            type='file'\n            multiple={false}\n            accept={acceptContentTypes.toArray().join(',')}\n            onChange={this.handleChange}\n            disabled={disabled}\n            style={{ display: 'none' }}\n          />\n        </label>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_button.js","import React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport PropTypes from 'prop-types';\n\nconst Collapsable = ({ fullHeight, isVisible, children }) => (\n  <Motion defaultStyle={{ opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 }} style={{ opacity: spring(!isVisible ? 0 : 100), height: spring(!isVisible ? 0 : fullHeight) }}>\n    {({ opacity, height }) => (\n      <div style={{ height: `${height}px`, overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }}>\n        {children}\n      </div>\n    )}\n  </Motion>\n);\n\nCollapsable.propTypes = {\n  fullHeight: PropTypes.number.isRequired,\n  isVisible: PropTypes.bool.isRequired,\n  children: PropTypes.node.isRequired,\n};\n\nexport default Collapsable;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/collapsable.js","import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n  marked: { id: 'compose_form.spoiler.marked', defaultMessage: 'Text is hidden behind warning' },\n  unmarked: { id: 'compose_form.spoiler.unmarked', defaultMessage: 'Text is not hidden' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n  label: 'CW',\n  title: intl.formatMessage(state.getIn(['compose', 'spoiler']) ? messages.marked : messages.unmarked),\n  active: state.getIn(['compose', 'spoiler']),\n  ariaControls: 'cw-spoiler-input',\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n  onClick () {\n    dispatch(changeComposeSpoilerness());\n  },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class TextIconButton extends React.PureComponent {\n\n  static propTypes = {\n    label: PropTypes.string.isRequired,\n    title: PropTypes.string,\n    active: PropTypes.bool,\n    onClick: PropTypes.func.isRequired,\n    ariaControls: PropTypes.string,\n  };\n\n  handleClick = (e) => {\n    e.preventDefault();\n    this.props.onClick();\n  }\n\n  render () {\n    const { label, title, active, ariaControls } = this.props;\n\n    return (\n      <button title={title} aria-label={title} className={`text-icon-button ${active ? 'active' : ''}`} aria-expanded={active} onClick={this.handleClick} aria-controls={ariaControls}>\n        {label}\n      </button>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/text_icon_button.js","import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nconst mapStateToProps = state => ({\n  isModalOpen: state.get('modal').modalType === 'ACTIONS',\n  value: state.getIn(['compose', 'privacy']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n  onChange (value) {\n    dispatch(changeComposeVisibility(value));\n  },\n\n  isUserTouching,\n  onModalOpen: props => dispatch(openModal('ACTIONS', props)),\n  onModalClose: () => dispatch(closeModal()),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n  public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },\n  public_long: { id: 'privacy.public.long', defaultMessage: 'Post to public timelines' },\n  unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },\n  unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Do not show in public timelines' },\n  private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },\n  private_long: { id: 'privacy.private.long', defaultMessage: 'Post to followers only' },\n  direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },\n  direct_long: { id: 'privacy.direct.long', defaultMessage: 'Post to mentioned users only' },\n  change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },\n});\n\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nclass PrivacyDropdownMenu extends React.PureComponent {\n\n  static propTypes = {\n    style: PropTypes.object,\n    items: PropTypes.array.isRequired,\n    value: PropTypes.string.isRequired,\n    onClose: PropTypes.func.isRequired,\n    onChange: PropTypes.func.isRequired,\n  };\n\n  state = {\n    mounted: false,\n  };\n\n  handleDocumentClick = e => {\n    if (this.node && !this.node.contains(e.target)) {\n      this.props.onClose();\n    }\n  }\n\n  handleKeyDown = e => {\n    const { items } = this.props;\n    const value = e.currentTarget.getAttribute('data-index');\n    const index = items.findIndex(item => {\n      return (item.value === value);\n    });\n    let element;\n\n    switch(e.key) {\n    case 'Escape':\n      this.props.onClose();\n      break;\n    case 'Enter':\n      this.handleClick(e);\n      break;\n    case 'ArrowDown':\n      element = this.node.childNodes[index + 1];\n      if (element) {\n        element.focus();\n        this.props.onChange(element.getAttribute('data-index'));\n      }\n      break;\n    case 'ArrowUp':\n      element = this.node.childNodes[index - 1];\n      if (element) {\n        element.focus();\n        this.props.onChange(element.getAttribute('data-index'));\n      }\n      break;\n    case 'Home':\n      element = this.node.firstChild;\n      if (element) {\n        element.focus();\n        this.props.onChange(element.getAttribute('data-index'));\n      }\n      break;\n    case 'End':\n      element = this.node.lastChild;\n      if (element) {\n        element.focus();\n        this.props.onChange(element.getAttribute('data-index'));\n      }\n      break;\n    }\n  }\n\n  handleClick = e => {\n    const value = e.currentTarget.getAttribute('data-index');\n\n    e.preventDefault();\n\n    this.props.onClose();\n    this.props.onChange(value);\n  }\n\n  componentDidMount () {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n    if (this.focusedItem) this.focusedItem.focus();\n    this.setState({ mounted: true });\n  }\n\n  componentWillUnmount () {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  }\n\n  setRef = c => {\n    this.node = c;\n  }\n\n  setFocusRef = c => {\n    this.focusedItem = c;\n  }\n\n  render () {\n    const { mounted } = this.state;\n    const { style, items, value } = this.props;\n\n    return (\n      <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n        {({ opacity, scaleX, scaleY }) => (\n          // It should not be transformed when mounting because the resulting\n          // size will be used to determine the coordinate of the menu by\n          // react-overlays\n          <div className='privacy-dropdown__dropdown' style={{ ...style, opacity: opacity, transform: mounted ? `scale(${scaleX}, ${scaleY})` : null }} role='listbox' ref={this.setRef}>\n            {items.map(item => (\n              <div role='option' tabIndex='0' key={item.value} data-index={item.value} onKeyDown={this.handleKeyDown} onClick={this.handleClick} className={classNames('privacy-dropdown__option', { active: item.value === value })} aria-selected={item.value === value} ref={item.value === value ? this.setFocusRef : null}>\n                <div className='privacy-dropdown__option__icon'>\n                  <i className={`fa fa-fw fa-${item.icon}`} />\n                </div>\n\n                <div className='privacy-dropdown__option__content'>\n                  <strong>{item.text}</strong>\n                  {item.meta}\n                </div>\n              </div>\n            ))}\n          </div>\n        )}\n      </Motion>\n    );\n  }\n\n}\n\n@injectIntl\nexport default class PrivacyDropdown extends React.PureComponent {\n\n  static propTypes = {\n    isUserTouching: PropTypes.func,\n    isModalOpen: PropTypes.bool.isRequired,\n    onModalOpen: PropTypes.func,\n    onModalClose: PropTypes.func,\n    value: PropTypes.string.isRequired,\n    onChange: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  state = {\n    open: false,\n    placement: null,\n  };\n\n  handleToggle = ({ target }) => {\n    if (this.props.isUserTouching()) {\n      if (this.state.open) {\n        this.props.onModalClose();\n      } else {\n        this.props.onModalOpen({\n          actions: this.options.map(option => ({ ...option, active: option.value === this.props.value })),\n          onClick: this.handleModalActionClick,\n        });\n      }\n    } else {\n      const { top } = target.getBoundingClientRect();\n      this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n      this.setState({ open: !this.state.open });\n    }\n  }\n\n  handleModalActionClick = (e) => {\n    e.preventDefault();\n\n    const { value } = this.options[e.currentTarget.getAttribute('data-index')];\n\n    this.props.onModalClose();\n    this.props.onChange(value);\n  }\n\n  handleKeyDown = e => {\n    switch(e.key) {\n    case 'Escape':\n      this.handleClose();\n      break;\n    }\n  }\n\n  handleClose = () => {\n    this.setState({ open: false });\n  }\n\n  handleChange = value => {\n    this.props.onChange(value);\n  }\n\n  componentWillMount () {\n    const { intl: { formatMessage } } = this.props;\n\n    this.options = [\n      { icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) },\n      { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) },\n      { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) },\n      { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) },\n    ];\n  }\n\n  render () {\n    const { value, intl } = this.props;\n    const { open, placement } = this.state;\n\n    const valueOption = this.options.find(item => item.value === value);\n\n    return (\n      <div className={classNames('privacy-dropdown', { active: open })} onKeyDown={this.handleKeyDown}>\n        <div className={classNames('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })}>\n          <IconButton\n            className='privacy-dropdown__value-icon'\n            icon={valueOption.icon}\n            title={intl.formatMessage(messages.change_privacy)}\n            size={18}\n            expanded={open}\n            active={open}\n            inverted\n            onClick={this.handleToggle}\n            style={{ height: null, lineHeight: '27px' }}\n          />\n        </div>\n\n        <Overlay show={open} placement={placement} target={this}>\n          <PrivacyDropdownMenu\n            items={this.options}\n            value={value}\n            onClose={this.handleClose}\n            onChange={this.handleChange}\n          />\n        </Overlay>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n  marked: { id: 'compose_form.sensitive.marked', defaultMessage: 'Media is marked as sensitive' },\n  unmarked: { id: 'compose_form.sensitive.unmarked', defaultMessage: 'Media is not marked as sensitive' },\n});\n\nconst mapStateToProps = state => ({\n  visible: state.getIn(['compose', 'media_attachments']).size > 0,\n  active: state.getIn(['compose', 'sensitive']),\n  disabled: state.getIn(['compose', 'spoiler']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n  onClick () {\n    dispatch(changeComposeSensitivity());\n  },\n\n});\n\nclass SensitiveButton extends React.PureComponent {\n\n  static propTypes = {\n    visible: PropTypes.bool,\n    active: PropTypes.bool,\n    disabled: PropTypes.bool,\n    onClick: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  render () {\n    const { visible, active, disabled, onClick, intl } = this.props;\n\n    return (\n      <Motion defaultStyle={{ scale: 0.87 }} style={{ scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }}>\n        {({ scale }) => {\n          const icon = active ? 'eye-slash' : 'eye';\n          const className = classNames('compose-form__sensitive-button', {\n            'compose-form__sensitive-button--visible': visible,\n          });\n          return (\n            <div className={className} style={{ transform: `scale(${scale})` }}>\n              <IconButton\n                className='compose-form__sensitive-button__icon'\n                title={intl.formatMessage(active ? messages.marked : messages.unmarked)}\n                icon={icon}\n                onClick={onClick}\n                size={18}\n                active={active}\n                disabled={disabled}\n                style={{ lineHeight: null, height: null }}\n                inverted\n              />\n            </div>\n          );\n        }}\n      </Motion>\n    );\n  }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nconst perLine = 8;\nconst lines   = 2;\n\nconst DEFAULTS = [\n  '+1',\n  'grinning',\n  'kissing_heart',\n  'heart_eyes',\n  'laughing',\n  'stuck_out_tongue_winking_eye',\n  'sweat_smile',\n  'joy',\n  'yum',\n  'disappointed',\n  'thinking_face',\n  'weary',\n  'sob',\n  'sunglasses',\n  'heart',\n  'ok_hand',\n];\n\nconst getFrequentlyUsedEmojis = createSelector([\n  state => state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap()),\n], emojiCounters => {\n  let emojis = emojiCounters\n    .keySeq()\n    .sort((a, b) => emojiCounters.get(a) - emojiCounters.get(b))\n    .reverse()\n    .slice(0, perLine * lines)\n    .toArray();\n\n  if (emojis.length < DEFAULTS.length) {\n    let uniqueDefaults = DEFAULTS.filter(emoji => !emojis.includes(emoji));\n    emojis = emojis.concat(uniqueDefaults.slice(0, DEFAULTS.length - emojis.length));\n  }\n\n  return emojis;\n});\n\nconst getCustomEmojis = createSelector([\n  state => state.get('custom_emojis'),\n], emojis => emojis.filter(e => e.get('visible_in_picker')).sort((a, b) => {\n  const aShort = a.get('shortcode').toLowerCase();\n  const bShort = b.get('shortcode').toLowerCase();\n\n  if (aShort < bShort) {\n    return -1;\n  } else if (aShort > bShort ) {\n    return 1;\n  } else {\n    return 0;\n  }\n}));\n\nconst mapStateToProps = state => ({\n  custom_emojis: getCustomEmojis(state),\n  skinTone: state.getIn(['settings', 'skinTone']),\n  frequentlyUsedEmojis: getFrequentlyUsedEmojis(state),\n});\n\nconst mapDispatchToProps = (dispatch, { onPickEmoji }) => ({\n  onSkinTone: skinTone => {\n    dispatch(changeSetting(['skinTone'], skinTone));\n  },\n\n  onPickEmoji: emoji => {\n    dispatch(useEmoji(emoji));\n\n    if (onPickEmoji) {\n      onPickEmoji(emoji);\n    }\n  },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nconst messages = defineMessages({\n  emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },\n  emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },\n  emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },\n  custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },\n  recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },\n  search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },\n  people: { id: 'emoji_button.people', defaultMessage: 'People' },\n  nature: { id: 'emoji_button.nature', defaultMessage: 'Nature' },\n  food: { id: 'emoji_button.food', defaultMessage: 'Food & Drink' },\n  activity: { id: 'emoji_button.activity', defaultMessage: 'Activity' },\n  travel: { id: 'emoji_button.travel', defaultMessage: 'Travel & Places' },\n  objects: { id: 'emoji_button.objects', defaultMessage: 'Objects' },\n  symbols: { id: 'emoji_button.symbols', defaultMessage: 'Symbols' },\n  flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },\n});\n\nconst assetHost = process.env.CDN_HOST || '';\nlet EmojiPicker, Emoji; // load asynchronously\n\nconst backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nconst categoriesSort = [\n  'recent',\n  'custom',\n  'people',\n  'nature',\n  'foods',\n  'activity',\n  'places',\n  'objects',\n  'symbols',\n  'flags',\n];\n\nclass ModifierPickerMenu extends React.PureComponent {\n\n  static propTypes = {\n    active: PropTypes.bool,\n    onSelect: PropTypes.func.isRequired,\n    onClose: PropTypes.func.isRequired,\n  };\n\n  handleClick = e => {\n    this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (nextProps.active) {\n      this.attachListeners();\n    } else {\n      this.removeListeners();\n    }\n  }\n\n  componentWillUnmount () {\n    this.removeListeners();\n  }\n\n  handleDocumentClick = e => {\n    if (this.node && !this.node.contains(e.target)) {\n      this.props.onClose();\n    }\n  }\n\n  attachListeners () {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  }\n\n  removeListeners () {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  }\n\n  setRef = c => {\n    this.node = c;\n  }\n\n  render () {\n    const { active } = this.props;\n\n    return (\n      <div className='emoji-picker-dropdown__modifiers__menu' style={{ display: active ? 'block' : 'none' }} ref={this.setRef}>\n        <button onClick={this.handleClick} data-index={1}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={1} backgroundImageFn={backgroundImageFn} /></button>\n        <button onClick={this.handleClick} data-index={2}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={2} backgroundImageFn={backgroundImageFn} /></button>\n        <button onClick={this.handleClick} data-index={3}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={3} backgroundImageFn={backgroundImageFn} /></button>\n        <button onClick={this.handleClick} data-index={4}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={4} backgroundImageFn={backgroundImageFn} /></button>\n        <button onClick={this.handleClick} data-index={5}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={5} backgroundImageFn={backgroundImageFn} /></button>\n        <button onClick={this.handleClick} data-index={6}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={6} backgroundImageFn={backgroundImageFn} /></button>\n      </div>\n    );\n  }\n\n}\n\nclass ModifierPicker extends React.PureComponent {\n\n  static propTypes = {\n    active: PropTypes.bool,\n    modifier: PropTypes.number,\n    onChange: PropTypes.func,\n    onClose: PropTypes.func,\n    onOpen: PropTypes.func,\n  };\n\n  handleClick = () => {\n    if (this.props.active) {\n      this.props.onClose();\n    } else {\n      this.props.onOpen();\n    }\n  }\n\n  handleSelect = modifier => {\n    this.props.onChange(modifier);\n    this.props.onClose();\n  }\n\n  render () {\n    const { active, modifier } = this.props;\n\n    return (\n      <div className='emoji-picker-dropdown__modifiers'>\n        <Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={modifier} onClick={this.handleClick} backgroundImageFn={backgroundImageFn} />\n        <ModifierPickerMenu active={active} onSelect={this.handleSelect} onClose={this.props.onClose} />\n      </div>\n    );\n  }\n\n}\n\n@injectIntl\nclass EmojiPickerMenu extends React.PureComponent {\n\n  static propTypes = {\n    custom_emojis: ImmutablePropTypes.list,\n    frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n    loading: PropTypes.bool,\n    onClose: PropTypes.func.isRequired,\n    onPick: PropTypes.func.isRequired,\n    style: PropTypes.object,\n    placement: PropTypes.string,\n    arrowOffsetLeft: PropTypes.string,\n    arrowOffsetTop: PropTypes.string,\n    intl: PropTypes.object.isRequired,\n    skinTone: PropTypes.number.isRequired,\n    onSkinTone: PropTypes.func.isRequired,\n  };\n\n  static defaultProps = {\n    style: {},\n    loading: true,\n    frequentlyUsedEmojis: [],\n  };\n\n  state = {\n    modifierOpen: false,\n    placement: null,\n  };\n\n  handleDocumentClick = e => {\n    if (this.node && !this.node.contains(e.target)) {\n      this.props.onClose();\n    }\n  }\n\n  componentDidMount () {\n    document.addEventListener('click', this.handleDocumentClick, false);\n    document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  }\n\n  componentWillUnmount () {\n    document.removeEventListener('click', this.handleDocumentClick, false);\n    document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n  }\n\n  setRef = c => {\n    this.node = c;\n  }\n\n  getI18n = () => {\n    const { intl } = this.props;\n\n    return {\n      search: intl.formatMessage(messages.emoji_search),\n      notfound: intl.formatMessage(messages.emoji_not_found),\n      categories: {\n        search: intl.formatMessage(messages.search_results),\n        recent: intl.formatMessage(messages.recent),\n        people: intl.formatMessage(messages.people),\n        nature: intl.formatMessage(messages.nature),\n        foods: intl.formatMessage(messages.food),\n        activity: intl.formatMessage(messages.activity),\n        places: intl.formatMessage(messages.travel),\n        objects: intl.formatMessage(messages.objects),\n        symbols: intl.formatMessage(messages.symbols),\n        flags: intl.formatMessage(messages.flags),\n        custom: intl.formatMessage(messages.custom),\n      },\n    };\n  }\n\n  handleClick = emoji => {\n    if (!emoji.native) {\n      emoji.native = emoji.colons;\n    }\n\n    this.props.onClose();\n    this.props.onPick(emoji);\n  }\n\n  handleModifierOpen = () => {\n    this.setState({ modifierOpen: true });\n  }\n\n  handleModifierClose = () => {\n    this.setState({ modifierOpen: false });\n  }\n\n  handleModifierChange = modifier => {\n    this.props.onSkinTone(modifier);\n  }\n\n  render () {\n    const { loading, style, intl, custom_emojis, skinTone, frequentlyUsedEmojis } = this.props;\n\n    if (loading) {\n      return <div style={{ width: 299 }} />;\n    }\n\n    const title = intl.formatMessage(messages.emoji);\n    const { modifierOpen } = this.state;\n\n    return (\n      <div className={classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen })} style={style} ref={this.setRef}>\n        <EmojiPicker\n          perLine={8}\n          emojiSize={22}\n          sheetSize={32}\n          custom={buildCustomEmojis(custom_emojis)}\n          color=''\n          emoji=''\n          set='twitter'\n          title={title}\n          i18n={this.getI18n()}\n          onClick={this.handleClick}\n          include={categoriesSort}\n          recent={frequentlyUsedEmojis}\n          skin={skinTone}\n          showPreview={false}\n          backgroundImageFn={backgroundImageFn}\n          emojiTooltip\n        />\n\n        <ModifierPicker\n          active={modifierOpen}\n          modifier={skinTone}\n          onOpen={this.handleModifierOpen}\n          onClose={this.handleModifierClose}\n          onChange={this.handleModifierChange}\n        />\n      </div>\n    );\n  }\n\n}\n\n@injectIntl\nexport default class EmojiPickerDropdown extends React.PureComponent {\n\n  static propTypes = {\n    custom_emojis: ImmutablePropTypes.list,\n    frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n    intl: PropTypes.object.isRequired,\n    onPickEmoji: PropTypes.func.isRequired,\n    onSkinTone: PropTypes.func.isRequired,\n    skinTone: PropTypes.number.isRequired,\n  };\n\n  state = {\n    active: false,\n    loading: false,\n  };\n\n  setRef = (c) => {\n    this.dropdown = c;\n  }\n\n  onShowDropdown = ({ target }) => {\n    this.setState({ active: true });\n\n    if (!EmojiPicker) {\n      this.setState({ loading: true });\n\n      EmojiPickerAsync().then(EmojiMart => {\n        EmojiPicker = EmojiMart.Picker;\n        Emoji       = EmojiMart.Emoji;\n\n        this.setState({ loading: false });\n      }).catch(() => {\n        this.setState({ loading: false });\n      });\n    }\n\n    const { top } = target.getBoundingClientRect();\n    this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n  }\n\n  onHideDropdown = () => {\n    this.setState({ active: false });\n  }\n\n  onToggle = (e) => {\n    if (!this.state.loading && (!e.key || e.key === 'Enter')) {\n      if (this.state.active) {\n        this.onHideDropdown();\n      } else {\n        this.onShowDropdown(e);\n      }\n    }\n  }\n\n  handleKeyDown = e => {\n    if (e.key === 'Escape') {\n      this.onHideDropdown();\n    }\n  }\n\n  setTargetRef = c => {\n    this.target = c;\n  }\n\n  findTarget = () => {\n    return this.target;\n  }\n\n  render () {\n    const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;\n    const title = intl.formatMessage(messages.emoji);\n    const { active, loading, placement } = this.state;\n\n    return (\n      <div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}>\n        <div ref={this.setTargetRef} className='emoji-button' title={title} aria-label={title} aria-expanded={active} role='button' onClick={this.onToggle} onKeyDown={this.onToggle} tabIndex={0}>\n          <img\n            className={classNames('emojione', { 'pulse-loading': active && loading })}\n            alt='🙂'\n            src={`${assetHost}/emoji/1f602.svg`}\n          />\n        </div>\n\n        <Overlay show={active} placement={placement} target={this.findTarget}>\n          <EmojiPickerMenu\n            custom_emojis={this.props.custom_emojis}\n            loading={loading}\n            onClose={this.onHideDropdown}\n            onPick={onPickEmoji}\n            onSkinTone={onSkinTone}\n            skinTone={skinTone}\n            frequentlyUsedEmojis={frequentlyUsedEmojis}\n          />\n        </Overlay>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nconst mapStateToProps = state => ({\n  mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),\n});\n\nexport default connect(mapStateToProps)(UploadForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_form_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nexport default class UploadForm extends ImmutablePureComponent {\n\n  static propTypes = {\n    mediaIds: ImmutablePropTypes.list.isRequired,\n  };\n\n  render () {\n    const { mediaIds } = this.props;\n\n    return (\n      <div className='compose-form__upload-wrapper'>\n        <UploadProgressContainer />\n\n        <div className='compose-form__uploads-wrapper'>\n          {mediaIds.map(id => (\n            <UploadContainer id={id} key={id} />\n          ))}\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_form.js","import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nconst mapStateToProps = state => ({\n  active: state.getIn(['compose', 'is_uploading']),\n  progress: state.getIn(['compose', 'progress']),\n});\n\nexport default connect(mapStateToProps)(UploadProgress);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class UploadProgress extends React.PureComponent {\n\n  static propTypes = {\n    active: PropTypes.bool,\n    progress: PropTypes.number,\n  };\n\n  render () {\n    const { active, progress } = this.props;\n\n    if (!active) {\n      return null;\n    }\n\n    return (\n      <div className='upload-progress'>\n        <div className='upload-progress__icon'>\n          <i className='fa fa-upload' />\n        </div>\n\n        <div className='upload-progress__message'>\n          <FormattedMessage id='upload_progress.label' defaultMessage='Uploading...' />\n\n          <div className='upload-progress__backdrop'>\n            <Motion defaultStyle={{ width: 0 }} style={{ width: spring(progress) }}>\n              {({ width }) =>\n                <div className='upload-progress__tracker' style={{ width: `${width}%` }} />\n              }\n            </Motion>\n          </div>\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_progress.js","import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\nimport { openModal } from '../../../actions/modal';\n\nconst mapStateToProps = (state, { id }) => ({\n  media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n  onUndo: id => {\n    dispatch(undoUploadCompose(id));\n  },\n\n  onDescriptionChange: (id, description) => {\n    dispatch(changeUploadCompose(id, { description }));\n  },\n\n  onOpenFocalPoint: id => {\n    dispatch(openModal('FOCAL_POINT', { id }));\n  },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n  description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' },\n});\n\n@injectIntl\nexport default class Upload extends ImmutablePureComponent {\n\n  static propTypes = {\n    media: ImmutablePropTypes.map.isRequired,\n    intl: PropTypes.object.isRequired,\n    onUndo: PropTypes.func.isRequired,\n    onDescriptionChange: PropTypes.func.isRequired,\n    onOpenFocalPoint: PropTypes.func.isRequired,\n  };\n\n  state = {\n    hovered: false,\n    focused: false,\n    dirtyDescription: null,\n  };\n\n  handleUndoClick = () => {\n    this.props.onUndo(this.props.media.get('id'));\n  }\n\n  handleFocalPointClick = () => {\n    this.props.onOpenFocalPoint(this.props.media.get('id'));\n  }\n\n  handleInputChange = e => {\n    this.setState({ dirtyDescription: e.target.value });\n  }\n\n  handleMouseEnter = () => {\n    this.setState({ hovered: true });\n  }\n\n  handleMouseLeave = () => {\n    this.setState({ hovered: false });\n  }\n\n  handleInputFocus = () => {\n    this.setState({ focused: true });\n  }\n\n  handleInputBlur = () => {\n    const { dirtyDescription } = this.state;\n\n    this.setState({ focused: false, dirtyDescription: null });\n\n    if (dirtyDescription !== null) {\n      this.props.onDescriptionChange(this.props.media.get('id'), dirtyDescription);\n    }\n  }\n\n  render () {\n    const { intl, media } = this.props;\n    const active          = this.state.hovered || this.state.focused;\n    const description     = this.state.dirtyDescription || (this.state.dirtyDescription !== '' && media.get('description')) || '';\n    const focusX = media.getIn(['meta', 'focus', 'x']);\n    const focusY = media.getIn(['meta', 'focus', 'y']);\n    const x = ((focusX /  2) + .5) * 100;\n    const y = ((focusY / -2) + .5) * 100;\n\n    return (\n      <div className='compose-form__upload' onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n        <Motion defaultStyle={{ scale: 0.8 }} style={{ scale: spring(1, { stiffness: 180, damping: 12 }) }}>\n          {({ scale }) => (\n            <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}>\n              <div className={classNames('compose-form__upload__actions', { active })}>\n                <button className='icon-button' onClick={this.handleUndoClick}><i className='fa fa-times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button>\n                {media.get('type') === 'image' && <button className='icon-button' onClick={this.handleFocalPointClick}><i className='fa fa-crosshairs' /> <FormattedMessage id='upload_form.focus' defaultMessage='Crop' /></button>}\n              </div>\n\n              <div className={classNames('compose-form__upload-description', { active })}>\n                <label>\n                  <span style={{ display: 'none' }}>{intl.formatMessage(messages.description)}</span>\n\n                  <input\n                    placeholder={intl.formatMessage(messages.description)}\n                    type='text'\n                    value={description}\n                    maxLength={420}\n                    onFocus={this.handleInputFocus}\n                    onChange={this.handleInputChange}\n                    onBlur={this.handleInputBlur}\n                  />\n                </label>\n              </div>\n            </div>\n          )}\n        </Motion>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst APPROX_HASHTAG_RE = /(?:^|[^\\/\\)\\w])#(\\w*[a-zA-Z·]\\w*)/i;\n\nconst mapStateToProps = state => ({\n  needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n  hashtagWarning: state.getIn(['compose', 'privacy']) !== 'public' && APPROX_HASHTAG_RE.test(state.getIn(['compose', 'text'])),\n  directMessageWarning: state.getIn(['compose', 'privacy']) === 'direct',\n});\n\nconst WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning }) => {\n  if (needsLockWarning) {\n    return <Warning message={<FormattedMessage id='compose_form.lock_disclaimer' defaultMessage='Your account is not {locked}. Anyone can follow you to view your follower-only posts.' values={{ locked: <a href='/user-settings'><FormattedMessage id='compose_form.lock_disclaimer.lock' defaultMessage='locked' /></a> }} />} />;\n  }\n\n  if (hashtagWarning) {\n    return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage=\"This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.\" />} />;\n  }\n\n  if (directMessageWarning) {\n    const message = (\n      <span>\n        <FormattedMessage id='compose_form.direct_message_warning' defaultMessage='This toot will only be sent to all the mentioned users.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a>\n      </span>\n    );\n\n    return <Warning message={message} />;\n  }\n\n  return null;\n};\n\nWarningWrapper.propTypes = {\n  needsLockWarning: PropTypes.bool,\n  hashtagWarning: PropTypes.bool,\n  directMessageWarning: PropTypes.bool,\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/warning_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nexport default class Warning extends React.PureComponent {\n\n  static propTypes = {\n    message: PropTypes.node.isRequired,\n  };\n\n  render () {\n    const { message } = this.props;\n\n    return (\n      <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n        {({ opacity, scaleX, scaleY }) => (\n          <div className='compose-form__warning' style={{ opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }}>\n            {message}\n          </div>\n        )}\n      </Motion>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/warning.js","import { urlRegex } from './url_regex';\n\nconst urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n  return inputText;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/counter.js","const regexen = {};\n\nconst regexSupplant = function(regex, flags) {\n  flags = flags || '';\n  if (typeof regex !== 'string') {\n    if (regex.global && flags.indexOf('g') < 0) {\n      flags += 'g';\n    }\n    if (regex.ignoreCase && flags.indexOf('i') < 0) {\n      flags += 'i';\n    }\n    if (regex.multiline && flags.indexOf('m') < 0) {\n      flags += 'm';\n    }\n\n    regex = regex.source;\n  }\n  return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n    var newRegex = regexen[name] || '';\n    if (typeof newRegex !== 'string') {\n      newRegex = newRegex.source;\n    }\n    return newRegex;\n  }), flags);\n};\n\nconst stringSupplant = function(str, values) {\n  return str.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n    return values[name] || '';\n  });\n};\n\nexport const urlRegex = (function() {\n  regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n  regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n  regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n  regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n  regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n  regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n  regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n  regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n  regexen.validGTLD = regexSupplant(RegExp(\n    '(?:(?:' +\n      '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' +\n      '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' +\n      'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' +\n      'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' +\n      'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' +\n      'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' +\n      'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' +\n      'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' +\n      'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' +\n      'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' +\n      'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' +\n      'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' +\n      'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' +\n      'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' +\n      'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' +\n      'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' +\n      'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' +\n      'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' +\n      'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' +\n      'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' +\n      'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' +\n      'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' +\n      'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' +\n      'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' +\n      'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' +\n      'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' +\n      'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' +\n      'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' +\n      'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' +\n      'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' +\n      'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' +\n      'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' +\n      'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' +\n      'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' +\n      'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' +\n      'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' +\n      'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' +\n      'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' +\n      'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' +\n      'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' +\n      'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' +\n      'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' +\n      'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' +\n      'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' +\n      'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' +\n      'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' +\n      'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' +\n      'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' +\n      'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' +\n      'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' +\n      'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' +\n      'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' +\n      'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' +\n      'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' +\n      'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' +\n      'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' +\n      'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' +\n      'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' +\n      'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' +\n      'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' +\n      'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' +\n      'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' +\n      'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' +\n      'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' +\n      'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' +\n      'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' +\n      'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' +\n      'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' +\n      'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' +\n      'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' +\n      'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' +\n      'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' +\n      'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' +\n      'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' +\n      'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' +\n      'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' +\n      'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' +\n      'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' +\n      'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' +\n      'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' +\n      'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' +\n      'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' +\n      'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' +\n      'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' +\n      'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' +\n      'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' +\n      'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' +\n      'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' +\n    ')(?=[^0-9a-zA-Z@]|$))'));\n  regexen.validCCTLD = regexSupplant(RegExp(\n    '(?:(?:' +\n      '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' +\n      'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' +\n      'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' +\n      'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' +\n      'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' +\n      're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' +\n      'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' +\n      'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' +\n      'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' +\n      'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' +\n      'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' +\n    ')(?=[^0-9a-zA-Z@]|$))'));\n  regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n  regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n  regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n  regexen.validPortNumber = /[0-9]+/;\n  regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n  regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n  // Allow URL paths to contain up to two nested levels of balanced parens\n  //  1. Used in Wikipedia URLs like /Primer_(film)\n  //  2. Used in IIS sessions like /S(dfd346)/\n  //  3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n  regexen.validUrlBalancedParens = regexSupplant(\n    '\\\\('                                   +\n      '(?:'                                 +\n        '#{validGeneralUrlPathChars}+'      +\n        '|'                                 +\n        // allow one nested level of balanced parentheses\n        '(?:'                               +\n          '#{validGeneralUrlPathChars}*'    +\n          '\\\\('                             +\n            '#{validGeneralUrlPathChars}+'  +\n          '\\\\)'                             +\n          '#{validGeneralUrlPathChars}*'    +\n        ')'                                 +\n      ')'                                   +\n    '\\\\)',\n    'i');\n  // Valid end-of-path chracters (so /foo. does not gobble the period).\n  // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n  regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n  // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n  regexen.validUrlPath = regexSupplant('(?:' +\n    '(?:' +\n      '#{validGeneralUrlPathChars}*' +\n        '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' +\n        '#{validUrlPathEndingChars}'+\n      ')|(?:@#{validGeneralUrlPathChars}+\\/)'+\n    ')', 'i');\n  regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n  regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n  regexen.validUrl = regexSupplant(\n    '('                                                          + // $1 URL\n      '(https?:\\\\/\\\\/)'                                          + // $2 Protocol\n      '(#{validDomain})'                                         + // $3 Domain(s)\n      '(?::(#{validPortNumber}))?'                               + // $4 Port number (optional)\n      '(\\\\/#{validUrlPath}*)?'                                   + // $5 URL Path\n      '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?'  + // $6 Query String\n    ')',\n    'gi');\n  return regexen.validUrl;\n}());\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/url_regex.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from '../../../components/permalink';\nimport ComposeForm from '../../compose/components/compose_form';\nimport Search from '../../compose/components/search';\nimport NavigationBar from '../../compose/components/navigation_bar';\nimport ColumnHeader from './column_header';\nimport { List as ImmutableList } from 'immutable';\nimport { me } from '../../../initial_state';\n\nconst noop = () => { };\n\nconst messages = defineMessages({\n  home_title: { id: 'column.home', defaultMessage: 'Home' },\n  notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n  local_title: { id: 'column.community', defaultMessage: 'Local timeline' },\n  federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst PageOne = ({ acct, domain }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-one'>\n    <div className='onboarding-modal__page-one__lead'>\n      <h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to Mastodon!' /></h1>\n      <p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' /></p>\n    </div>\n\n    <div className='onboarding-modal__page-one__extra'>\n      <div className='display-case'>\n        <div className='display-case__label'>\n          <FormattedMessage id='onboarding.page_one.full_handle' defaultMessage='Your full handle' />\n        </div>\n\n        <div className='display-case__case'>\n          @{acct}@{domain}\n        </div>\n      </div>\n\n      <p><FormattedMessage id='onboarding.page_one.handle_hint' defaultMessage='This is what you would tell your friends to search for.' /></p>\n    </div>\n  </div>\n);\n\nPageOne.propTypes = {\n  acct: PropTypes.string.isRequired,\n  domain: PropTypes.string.isRequired,\n};\n\nconst PageTwo = ({ myAccount }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-two'>\n    <div className='figure non-interactive'>\n      <div className='pseudo-drawer'>\n        <NavigationBar account={myAccount} />\n\n        <ComposeForm\n          text='Awoo! #introductions'\n          suggestions={ImmutableList()}\n          mentionedDomains={[]}\n          spoiler={false}\n          onChange={noop}\n          onSubmit={noop}\n          onPaste={noop}\n          onPickEmoji={noop}\n          onChangeSpoilerText={noop}\n          onClearSuggestions={noop}\n          onFetchSuggestions={noop}\n          onSuggestionSelected={noop}\n          showSearch\n        />\n      </div>\n    </div>\n\n    <p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>\n  </div>\n);\n\nPageTwo.propTypes = {\n  myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageThree = ({ myAccount }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-three'>\n    <div className='figure non-interactive'>\n      <Search\n        value=''\n        onChange={noop}\n        onSubmit={noop}\n        onClear={noop}\n        onShow={noop}\n      />\n\n      <div className='pseudo-drawer'>\n        <NavigationBar account={myAccount} />\n      </div>\n    </div>\n\n    <p><FormattedMessage id='onboarding.page_three.search' defaultMessage='Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.' values={{ illustration: <Permalink to='/timelines/tag/illustration' href='/tags/illustration'>#illustration</Permalink>, introductions: <Permalink to='/timelines/tag/introductions' href='/tags/introductions'>#introductions</Permalink> }} /></p>\n    <p><FormattedMessage id='onboarding.page_three.profile' defaultMessage='Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.' /></p>\n  </div>\n);\n\nPageThree.propTypes = {\n  myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageFour = ({ domain, intl }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-four'>\n    <div className='onboarding-modal__page-four__columns'>\n      <div className='row'>\n        <div>\n          <div className='figure non-interactive'><ColumnHeader icon='home' type={intl.formatMessage(messages.home_title)} /></div>\n          <p><FormattedMessage id='onboarding.page_four.home' defaultMessage='The home timeline shows posts from people you follow.' /></p>\n        </div>\n\n        <div>\n          <div className='figure non-interactive'><ColumnHeader icon='bell' type={intl.formatMessage(messages.notifications_title)} /></div>\n          <p><FormattedMessage id='onboarding.page_four.notifications' defaultMessage='The notifications column shows when someone interacts with you.' /></p>\n        </div>\n      </div>\n\n      <div className='row'>\n        <div>\n          <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='users' type={intl.formatMessage(messages.local_title)} /></div>\n        </div>\n\n        <div>\n          <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='globe' type={intl.formatMessage(messages.federated_title)} /></div>\n        </div>\n      </div>\n\n      <p><FormattedMessage id='onboarding.page_five.public_timelines' defaultMessage='The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.' values={{ domain }} /></p>\n    </div>\n  </div>\n);\n\nPageFour.propTypes = {\n  domain: PropTypes.string.isRequired,\n  intl: PropTypes.object.isRequired,\n};\n\nconst PageSix = ({ admin, domain }) => {\n  let adminSection = '';\n\n  if (admin) {\n    adminSection = (\n      <p>\n        <FormattedMessage id='onboarding.page_six.admin' defaultMessage=\"Your instance's admin is {admin}.\" values={{ admin: <Permalink href={admin.get('url')} to={`/accounts/${admin.get('id')}`}>@{admin.get('acct')}</Permalink> }} />\n        <br />\n        <FormattedMessage id='onboarding.page_six.read_guidelines' defaultMessage=\"Please read {domain}'s {guidelines}!\" values={{ domain, guidelines: <a href='/about/more' target='_blank'><FormattedMessage id='onboarding.page_six.guidelines' defaultMessage='community guidelines' /></a> }} />\n      </p>\n    );\n  }\n\n  return (\n    <div className='onboarding-modal__page onboarding-modal__page-six'>\n      <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>\n      {adminSection}\n      <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ github: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>\n      <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ apps: <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>\n      <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>\n    </div>\n  );\n};\n\nPageSix.propTypes = {\n  admin: ImmutablePropTypes.map,\n  domain: PropTypes.string.isRequired,\n};\n\nconst mapStateToProps = state => ({\n  myAccount: state.getIn(['accounts', me]),\n  admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n  domain: state.getIn(['meta', 'domain']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class OnboardingModal extends React.PureComponent {\n\n  static propTypes = {\n    onClose: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n    myAccount: ImmutablePropTypes.map.isRequired,\n    domain: PropTypes.string.isRequired,\n    admin: ImmutablePropTypes.map,\n  };\n\n  state = {\n    currentIndex: 0,\n  };\n\n  componentWillMount() {\n    const { myAccount, admin, domain, intl } = this.props;\n    this.pages = [\n      <PageOne acct={myAccount.get('acct')} domain={domain} />,\n      <PageTwo myAccount={myAccount} />,\n      <PageThree myAccount={myAccount} />,\n      <PageFour domain={domain} intl={intl} />,\n      <PageSix admin={admin} domain={domain} />,\n    ];\n  };\n\n  componentDidMount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  }\n\n  componentWillUnmount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  }\n\n  handleSkip = (e) => {\n    e.preventDefault();\n    this.props.onClose();\n  }\n\n  handleDot = (e) => {\n    const i = Number(e.currentTarget.getAttribute('data-index'));\n    e.preventDefault();\n    this.setState({ currentIndex: i });\n  }\n\n  handlePrev = () => {\n    this.setState(({ currentIndex }) => ({\n      currentIndex: Math.max(0, currentIndex - 1),\n    }));\n  }\n\n  handleNext = () => {\n    const { pages } = this;\n    this.setState(({ currentIndex }) => ({\n      currentIndex: Math.min(currentIndex + 1, pages.length - 1),\n    }));\n  }\n\n  handleSwipe = (index) => {\n    this.setState({ currentIndex: index });\n  }\n\n  handleKeyUp = ({ key }) => {\n    switch (key) {\n    case 'ArrowLeft':\n      this.handlePrev();\n      break;\n    case 'ArrowRight':\n      this.handleNext();\n      break;\n    }\n  }\n\n  handleClose = () => {\n    this.props.onClose();\n  }\n\n  render () {\n    const { pages } = this;\n    const { currentIndex } = this.state;\n    const hasMore = currentIndex < pages.length - 1;\n\n    const nextOrDoneBtn = hasMore ? (\n      <button onClick={this.handleNext} className='onboarding-modal__nav onboarding-modal__next shake-bottom'>\n        <FormattedMessage id='onboarding.next' defaultMessage='Next' /> <i className='fa fa-fw fa-chevron-right' />\n      </button>\n    ) : (\n      <button onClick={this.handleClose} className='onboarding-modal__nav onboarding-modal__done shake-bottom'>\n        <FormattedMessage id='onboarding.done' defaultMessage='Done' /> <i className='fa fa-fw fa-check' />\n      </button>\n    );\n\n    return (\n      <div className='modal-root__modal onboarding-modal'>\n        <ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>\n          {pages.map((page, i) => {\n            const className = classNames('onboarding-modal__page__wrapper', `onboarding-modal__page__wrapper-${i}`, {\n              'onboarding-modal__page__wrapper--active': i === currentIndex,\n            });\n\n            return (\n              <div key={i} className={className}>{page}</div>\n            );\n          })}\n        </ReactSwipeableViews>\n\n        <div className='onboarding-modal__paginator'>\n          <div>\n            <button\n              onClick={this.handleSkip}\n              className='onboarding-modal__nav onboarding-modal__skip'\n            >\n              <FormattedMessage id='onboarding.skip' defaultMessage='Skip' />\n            </button>\n          </div>\n\n          <div className='onboarding-modal__dots'>\n            {pages.map((_, i) => {\n              const className = classNames('onboarding-modal__dot', {\n                active: i === currentIndex,\n              });\n\n              return (\n                <div\n                  key={`dot-${i}`}\n                  role='button'\n                  tabIndex='0'\n                  data-index={i}\n                  onClick={this.handleDot}\n                  className={className}\n                />\n              );\n            })}\n          </div>\n\n          <div>\n            {nextOrDoneBtn}\n          </div>\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/onboarding_modal.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport Permalink from '../../../components/permalink';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class NavigationBar extends ImmutablePureComponent {\n\n  static propTypes = {\n    account: ImmutablePropTypes.map.isRequired,\n    onClose: PropTypes.func,\n  };\n\n  render () {\n    return (\n      <div className='navigation-bar'>\n        <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>\n          <span style={{ display: 'none' }}>{this.props.account.get('acct')}</span>\n          <Avatar account={this.props.account} size={40} />\n        </Permalink>\n\n        <div className='navigation-bar__profile'>\n          <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>\n            <strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong>\n          </Permalink>\n\n          <a href='/user-settings' className='navigation-bar__profile-edit'><FormattedMessage id='navigation_bar.edit_profile' defaultMessage='Edit profile' /></a>\n        </div>\n\n        <IconButton title='' icon='close' onClick={this.props.onClose} />\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/navigation_bar.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { searchEnabled } from '../../../initial_state';\n\nconst messages = defineMessages({\n  placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },\n});\n\nclass SearchPopout extends React.PureComponent {\n\n  static propTypes = {\n    style: PropTypes.object,\n  };\n\n  render () {\n    const { style } = this.props;\n    const extraInformation = searchEnabled ? <FormattedMessage id='search_popout.tips.full_text' defaultMessage='Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.' /> : <FormattedMessage id='search_popout.tips.text' defaultMessage='Simple text returns matching display names, usernames and hashtags' />;\n    return (\n      <div style={{ ...style, position: 'absolute', width: 285 }}>\n        <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n          {({ opacity, scaleX, scaleY }) => (\n            <div className='search-popout' style={{ opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }}>\n              <h4><FormattedMessage id='search_popout.search_format' defaultMessage='Advanced search format' /></h4>\n\n              <ul>\n                <li><em>#example</em> <FormattedMessage id='search_popout.tips.hashtag' defaultMessage='hashtag' /></li>\n                <li><em>@username@domain</em> <FormattedMessage id='search_popout.tips.user' defaultMessage='user' /></li>\n                <li><em>URL</em> <FormattedMessage id='search_popout.tips.user' defaultMessage='user' /></li>\n                <li><em>URL</em> <FormattedMessage id='search_popout.tips.status' defaultMessage='status' /></li>\n              </ul>\n\n              {extraInformation}\n            </div>\n          )}\n        </Motion>\n      </div>\n    );\n  }\n\n}\n\n@injectIntl\nexport default class Search extends React.PureComponent {\n\n  static propTypes = {\n    value: PropTypes.string.isRequired,\n    submitted: PropTypes.bool,\n    onChange: PropTypes.func.isRequired,\n    onSubmit: PropTypes.func.isRequired,\n    onClear: PropTypes.func.isRequired,\n    onShow: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  state = {\n    expanded: false,\n  };\n\n  handleChange = (e) => {\n    this.props.onChange(e.target.value);\n  }\n\n  handleClear = (e) => {\n    e.preventDefault();\n\n    if (this.props.value.length > 0 || this.props.submitted) {\n      this.props.onClear();\n    }\n  }\n\n  handleKeyDown = (e) => {\n    if (e.key === 'Enter') {\n      e.preventDefault();\n      this.props.onSubmit();\n    } else if (e.key === 'Escape') {\n      document.querySelector('.ui').parentElement.focus();\n    }\n  }\n\n  noop () {\n\n  }\n\n  handleFocus = () => {\n    this.setState({ expanded: true });\n    this.props.onShow();\n  }\n\n  handleBlur = () => {\n    this.setState({ expanded: false });\n  }\n\n  render () {\n    const { intl, value, submitted } = this.props;\n    const { expanded } = this.state;\n    const hasValue = value.length > 0 || submitted;\n\n    return (\n      <div className='search'>\n        <label>\n          <span style={{ display: 'none' }}>{intl.formatMessage(messages.placeholder)}</span>\n          <input\n            className='search__input'\n            type='text'\n            placeholder={intl.formatMessage(messages.placeholder)}\n            value={value}\n            onChange={this.handleChange}\n            onKeyUp={this.handleKeyDown}\n            onFocus={this.handleFocus}\n            onBlur={this.handleBlur}\n          />\n        </label>\n\n        <div role='button' tabIndex='0' className='search__icon' onClick={this.handleClear}>\n          <i className={`fa fa-search ${hasValue ? '' : 'active'}`} />\n          <i aria-label={intl.formatMessage(messages.placeholder)} className={`fa fa-times-circle ${hasValue ? 'active' : ''}`} />\n        </div>\n\n        <Overlay show={expanded && !hasValue} placement='bottom' target={this}>\n          <SearchPopout />\n        </Overlay>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/ui/components/onboarding_modal.js"],"names":["noop","messages","Object","react_intl__WEBPACK_IMPORTED_MODULE_6__","home_title","id","defaultMessage","notifications_title","local_title","federated_title","PageOne","_ref","acct","domain","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_3___default","className","PageTwo","_ref2","myAccount","_compose_components_navigation_bar__WEBPACK_IMPORTED_MODULE_12__","account","_compose_components_compose_form__WEBPACK_IMPORTED_MODULE_10__","text","suggestions","immutable__WEBPACK_IMPORTED_MODULE_14__","mentionedDomains","spoiler","onChange","onSubmit","onPaste","onPickEmoji","onChangeSpoilerText","onClearSuggestions","onFetchSuggestions","onSuggestionSelected","showSearch","PageThree","_ref3","_compose_components_search__WEBPACK_IMPORTED_MODULE_11__","value","onClear","onShow","values","illustration","_components_permalink__WEBPACK_IMPORTED_MODULE_9__","to","href","introductions","PageFour","_ref4","intl","_column_header__WEBPACK_IMPORTED_MODULE_13__","icon","type","formatMessage","style","marginBottom","PageSix","_ref5","admin","adminSection","get","guidelines","target","github","rel","apps","OnboardingModal","react_redux__WEBPACK_IMPORTED_MODULE_5__","state","getIn","_initial_state__WEBPACK_IMPORTED_MODULE_15__","currentIndex","handleSkip","e","preventDefault","_this","props","onClose","handleDot","i","Number","currentTarget","getAttribute","setState","handlePrev","_ref6","Math","max","handleNext","pages","_ref7","min","length","handleSwipe","index","handleKeyUp","_ref8","key","handleClose","componentWillMount","_props","this","componentDidMount","window","addEventListener","componentWillUnmount","render","_this3","nextOrDoneBtn","hasMore","onClick","react_swipeable_views__WEBPACK_IMPORTED_MODULE_7___default","a","onChangeIndex","map","page","classnames__WEBPACK_IMPORTED_MODULE_8___default","onboarding-modal__page__wrapper--active","_","active","role","tabIndex","data-index","react__WEBPACK_IMPORTED_MODULE_4___default","PureComponent"],"mappings":"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","file":"modals/onboarding_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from '../../../components/permalink';\nimport ComposeForm from '../../compose/components/compose_form';\nimport Search from '../../compose/components/search';\nimport NavigationBar from '../../compose/components/navigation_bar';\nimport ColumnHeader from './column_header';\nimport { List as ImmutableList } from 'immutable';\nimport { me } from '../../../initial_state';\n\nconst noop = () => { };\n\nconst messages = defineMessages({\n  home_title: { id: 'column.home', defaultMessage: 'Home' },\n  notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n  local_title: { id: 'column.community', defaultMessage: 'Local timeline' },\n  federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst PageOne = ({ acct, domain }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-one'>\n    <div className='onboarding-modal__page-one__lead'>\n      <h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to Mastodon!' /></h1>\n      <p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' /></p>\n    </div>\n\n    <div className='onboarding-modal__page-one__extra'>\n      <div className='display-case'>\n        <div className='display-case__label'>\n          <FormattedMessage id='onboarding.page_one.full_handle' defaultMessage='Your full handle' />\n        </div>\n\n        <div className='display-case__case'>\n          @{acct}@{domain}\n        </div>\n      </div>\n\n      <p><FormattedMessage id='onboarding.page_one.handle_hint' defaultMessage='This is what you would tell your friends to search for.' /></p>\n    </div>\n  </div>\n);\n\nPageOne.propTypes = {\n  acct: PropTypes.string.isRequired,\n  domain: PropTypes.string.isRequired,\n};\n\nconst PageTwo = ({ myAccount }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-two'>\n    <div className='figure non-interactive'>\n      <div className='pseudo-drawer'>\n        <NavigationBar account={myAccount} />\n\n        <ComposeForm\n          text='Awoo! #introductions'\n          suggestions={ImmutableList()}\n          mentionedDomains={[]}\n          spoiler={false}\n          onChange={noop}\n          onSubmit={noop}\n          onPaste={noop}\n          onPickEmoji={noop}\n          onChangeSpoilerText={noop}\n          onClearSuggestions={noop}\n          onFetchSuggestions={noop}\n          onSuggestionSelected={noop}\n          showSearch\n        />\n      </div>\n    </div>\n\n    <p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>\n  </div>\n);\n\nPageTwo.propTypes = {\n  myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageThree = ({ myAccount }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-three'>\n    <div className='figure non-interactive'>\n      <Search\n        value=''\n        onChange={noop}\n        onSubmit={noop}\n        onClear={noop}\n        onShow={noop}\n      />\n\n      <div className='pseudo-drawer'>\n        <NavigationBar account={myAccount} />\n      </div>\n    </div>\n\n    <p><FormattedMessage id='onboarding.page_three.search' defaultMessage='Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.' values={{ illustration: <Permalink to='/timelines/tag/illustration' href='/tags/illustration'>#illustration</Permalink>, introductions: <Permalink to='/timelines/tag/introductions' href='/tags/introductions'>#introductions</Permalink> }} /></p>\n    <p><FormattedMessage id='onboarding.page_three.profile' defaultMessage='Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.' /></p>\n  </div>\n);\n\nPageThree.propTypes = {\n  myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageFour = ({ domain, intl }) => (\n  <div className='onboarding-modal__page onboarding-modal__page-four'>\n    <div className='onboarding-modal__page-four__columns'>\n      <div className='row'>\n        <div>\n          <div className='figure non-interactive'><ColumnHeader icon='home' type={intl.formatMessage(messages.home_title)} /></div>\n          <p><FormattedMessage id='onboarding.page_four.home' defaultMessage='The home timeline shows posts from people you follow.' /></p>\n        </div>\n\n        <div>\n          <div className='figure non-interactive'><ColumnHeader icon='bell' type={intl.formatMessage(messages.notifications_title)} /></div>\n          <p><FormattedMessage id='onboarding.page_four.notifications' defaultMessage='The notifications column shows when someone interacts with you.' /></p>\n        </div>\n      </div>\n\n      <div className='row'>\n        <div>\n          <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='users' type={intl.formatMessage(messages.local_title)} /></div>\n        </div>\n\n        <div>\n          <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='globe' type={intl.formatMessage(messages.federated_title)} /></div>\n        </div>\n      </div>\n\n      <p><FormattedMessage id='onboarding.page_five.public_timelines' defaultMessage='The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.' values={{ domain }} /></p>\n    </div>\n  </div>\n);\n\nPageFour.propTypes = {\n  domain: PropTypes.string.isRequired,\n  intl: PropTypes.object.isRequired,\n};\n\nconst PageSix = ({ admin, domain }) => {\n  let adminSection = '';\n\n  if (admin) {\n    adminSection = (\n      <p>\n        <FormattedMessage id='onboarding.page_six.admin' defaultMessage=\"Your instance's admin is {admin}.\" values={{ admin: <Permalink href={admin.get('url')} to={`/accounts/${admin.get('id')}`}>@{admin.get('acct')}</Permalink> }} />\n        <br />\n        <FormattedMessage id='onboarding.page_six.read_guidelines' defaultMessage=\"Please read {domain}'s {guidelines}!\" values={{ domain, guidelines: <a href='/about/more' target='_blank'><FormattedMessage id='onboarding.page_six.guidelines' defaultMessage='community guidelines' /></a> }} />\n      </p>\n    );\n  }\n\n  return (\n    <div className='onboarding-modal__page onboarding-modal__page-six'>\n      <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>\n      {adminSection}\n      <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ github: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>\n      <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ apps: <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>\n      <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>\n    </div>\n  );\n};\n\nPageSix.propTypes = {\n  admin: ImmutablePropTypes.map,\n  domain: PropTypes.string.isRequired,\n};\n\nconst mapStateToProps = state => ({\n  myAccount: state.getIn(['accounts', me]),\n  admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n  domain: state.getIn(['meta', 'domain']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class OnboardingModal extends React.PureComponent {\n\n  static propTypes = {\n    onClose: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n    myAccount: ImmutablePropTypes.map.isRequired,\n    domain: PropTypes.string.isRequired,\n    admin: ImmutablePropTypes.map,\n  };\n\n  state = {\n    currentIndex: 0,\n  };\n\n  componentWillMount() {\n    const { myAccount, admin, domain, intl } = this.props;\n    this.pages = [\n      <PageOne acct={myAccount.get('acct')} domain={domain} />,\n      <PageTwo myAccount={myAccount} />,\n      <PageThree myAccount={myAccount} />,\n      <PageFour domain={domain} intl={intl} />,\n      <PageSix admin={admin} domain={domain} />,\n    ];\n  };\n\n  componentDidMount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  }\n\n  componentWillUnmount() {\n    window.addEventListener('keyup', this.handleKeyUp);\n  }\n\n  handleSkip = (e) => {\n    e.preventDefault();\n    this.props.onClose();\n  }\n\n  handleDot = (e) => {\n    const i = Number(e.currentTarget.getAttribute('data-index'));\n    e.preventDefault();\n    this.setState({ currentIndex: i });\n  }\n\n  handlePrev = () => {\n    this.setState(({ currentIndex }) => ({\n      currentIndex: Math.max(0, currentIndex - 1),\n    }));\n  }\n\n  handleNext = () => {\n    const { pages } = this;\n    this.setState(({ currentIndex }) => ({\n      currentIndex: Math.min(currentIndex + 1, pages.length - 1),\n    }));\n  }\n\n  handleSwipe = (index) => {\n    this.setState({ currentIndex: index });\n  }\n\n  handleKeyUp = ({ key }) => {\n    switch (key) {\n    case 'ArrowLeft':\n      this.handlePrev();\n      break;\n    case 'ArrowRight':\n      this.handleNext();\n      break;\n    }\n  }\n\n  handleClose = () => {\n    this.props.onClose();\n  }\n\n  render () {\n    const { pages } = this;\n    const { currentIndex } = this.state;\n    const hasMore = currentIndex < pages.length - 1;\n\n    const nextOrDoneBtn = hasMore ? (\n      <button onClick={this.handleNext} className='onboarding-modal__nav onboarding-modal__next shake-bottom'>\n        <FormattedMessage id='onboarding.next' defaultMessage='Next' /> <i className='fa fa-fw fa-chevron-right' />\n      </button>\n    ) : (\n      <button onClick={this.handleClose} className='onboarding-modal__nav onboarding-modal__done shake-bottom'>\n        <FormattedMessage id='onboarding.done' defaultMessage='Done' /> <i className='fa fa-fw fa-check' />\n      </button>\n    );\n\n    return (\n      <div className='modal-root__modal onboarding-modal'>\n        <ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>\n          {pages.map((page, i) => {\n            const className = classNames('onboarding-modal__page__wrapper', `onboarding-modal__page__wrapper-${i}`, {\n              'onboarding-modal__page__wrapper--active': i === currentIndex,\n            });\n\n            return (\n              <div key={i} className={className}>{page}</div>\n            );\n          })}\n        </ReactSwipeableViews>\n\n        <div className='onboarding-modal__paginator'>\n          <div>\n            <button\n              onClick={this.handleSkip}\n              className='onboarding-modal__nav onboarding-modal__skip'\n            >\n              <FormattedMessage id='onboarding.skip' defaultMessage='Skip' />\n            </button>\n          </div>\n\n          <div className='onboarding-modal__dots'>\n            {pages.map((_, i) => {\n              const className = classNames('onboarding-modal__dot', {\n                active: i === currentIndex,\n              });\n\n              return (\n                <div\n                  key={`dot-${i}`}\n                  role='button'\n                  tabIndex='0'\n                  data-index={i}\n                  onClick={this.handleDot}\n                  className={className}\n                />\n              );\n            })}\n          </div>\n\n          <div>\n            {nextOrDoneBtn}\n          </div>\n        </div>\n      </div>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file