-{"version":3,"sources":["webpack:///features/compose-4617f6e912b5bfa71c43.js","webpack:///./app/javascript/mastodon/containers/status_container.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/compose/containers/compose_form_container.js","webpack:///./app/javascript/mastodon/features/compose/index.js","webpack:///./app/javascript/mastodon/containers/account_container.js","webpack:///./app/javascript/mastodon/components/account.js","webpack:///./app/javascript/mastodon/features/compose/components/navigation_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/search.js","webpack:///./app/javascript/mastodon/features/compose/containers/navigation_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_results_container.js","webpack:///./app/javascript/mastodon/features/compose/components/search_results.js"],"names":["webpackJsonp","261","module","__webpack_exports__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_status__","__WEBPACK_IMPORTED_MODULE_4__selectors__","__WEBPACK_IMPORTED_MODULE_5__actions_compose__","__WEBPACK_IMPORTED_MODULE_6__actions_interactions__","__WEBPACK_IMPORTED_MODULE_7__actions_accounts__","__WEBPACK_IMPORTED_MODULE_8__actions_statuses__","__WEBPACK_IMPORTED_MODULE_9__actions_reports__","__WEBPACK_IMPORTED_MODULE_10__actions_modal__","__WEBPACK_IMPORTED_MODULE_11_react_intl__","__WEBPACK_IMPORTED_MODULE_12__initial_state__","messages","Object","deleteConfirm","id","defaultMessage","deleteMessage","blockConfirm","muteConfirm","makeMapStateToProps","getStatus","state","props","status","mapDispatchToProps","dispatch","_ref","intl","onReply","router","onModalReblog","onReblog","e","get","shiftKey","this","onFavourite","onPin","onEmbed","url","onDelete","message","formatMessage","confirm","onConfirm","onMention","account","onOpenMedia","media","index","onOpenVideo","time","onBlock","values","name","onReport","onMute","onMuteConversation","286","d","ComposeForm","_class","_class2","_temp2","__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__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__","placeholder","spoiler_placeholder","publish","publishLoud","_ImmutablePureCompone","_temp","_this","_ret","_len","arguments","length","args","Array","_key","call","apply","concat","handleChange","onChange","target","value","handleKeyDown","keyCode","ctrlKey","metaKey","handleSubmit","text","autosuggestTextarea","textarea","onSubmit","onSuggestionsClearRequested","onClearSuggestions","onSuggestionsFetchRequested","token","onFetchSuggestions","onSuggestionSelected","tokenStart","_restoreCaret","handleChangeSpoilerText","onChangeSpoilerText","setAutosuggestTextarea","c","handleEmojiPick","data","position","selectionStart","emojiChar","native","onPickEmoji","prototype","componentWillReceiveProps","nextProps","is_uploading","componentDidUpdate","prevProps","focusDate","selectionEnd","preselectDate","search","setSelectionRange","focus","is_submitting","render","_props","onPaste","showSearch","disabled","spoiler_text","join","publishText","privacy","className","isVisible","spoiler","fullHeight","style","display","onKeyDown","type","a","createElement","ref","suggestions","autoFocus","window","innerWidth","max","onClick","trim","block","propTypes","object","isRequired","string","suggestion_token","list","bool","instanceOf","Date","func","defaultProps","287","CharacterCounter","__WEBPACK_IMPORTED_MODULE_5_stringz__","_React$PureComponent","checkRemainingText","diff","PureComponent","288","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__actions_compose__","__WEBPACK_IMPORTED_MODULE_2__selectors__","__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__","getIn","onCancel","289","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","cancel","handleClick","handleAccountClick","button","preventDefault","context","history","push","content","__html","title","icon","href","size","dangerouslySetInnerHTML","contextTypes","map","290","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","caretPosition","word","left","slice","right","indexOf","toLowerCase","suggestionsHidden","selectedSuggestion","lastToken","_textAtCursorMatchesT","setState","_this$props","_this$state","key","Math","min","stopPropagation","defaultPrevented","onKeyUp","document","querySelector","parentElement","onBlur","onSuggestionClick","suggestion","currentTarget","getAttribute","setTextarea","clipboardData","files","renderSuggestion","i","inner","emoji","role","tabIndex","data-index","selected","onMouseDown","direction","inputRef","isEmpty","291","__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__","getAccount","292","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","293","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","custom","imageUrl","mapping","replace","filename","src","alt","colons","294","calculateNodeHeight","uiTextNode","uid","useCache","undefined","minRows","maxRows","hiddenTextarea","parentNode","body","appendChild","nodeStyling","calculateNodeStyling","paddingSize","borderSize","boxSizing","sizingStyle","keys","forEach","HIDDEN_TEXTAREA_STYLE","setProperty","minHeight","Infinity","maxHeight","height","scrollHeight","singleRowHeight","rowCount","floor","node","computedStyleCache","getComputedStyle","SIZING_STYLE","reduce","obj","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","classCallCheck","instance","Constructor","TypeError","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","noop","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","onNextFrame","clearNextFrameAction","TextareaAutosize","_React$Component","_resizeLock","_onRootDOMNode","_rootDOMNode","_onChange","event","_controlled","_resizeComponent","callback","nodeHeight","_uid","useCacheForDOMMeasurements","onHeightChange","componentDidMount","_this2","_resizeListener","addEventListener","_this3","_clearNextFrame","_onNextFrameActionId","prevState","componentWillUnmount","removeEventListener","Component","295","__WEBPACK_IMPORTED_MODULE_1__components_upload_button__","__WEBPACK_IMPORTED_MODULE_2__actions_compose__","mapStateToProps","some","m","resetFileKey","onSelectFile","296","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","inverted","multiple","accept","toArray","number","listOf","297","__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","298","__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__","__WEBPACK_IMPORTED_MODULE_3_react_intl__","label","active","ariaControls","299","TextIconButton","aria-label","aria-expanded","aria-controls","300","__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__","__WEBPACK_IMPORTED_MODULE_3__actions_modal__","__WEBPACK_IMPORTED_MODULE_4__is_mobile__","isModalOpen","modalType","isUserTouching","onModalOpen","onModalClose","301","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","handleDocumentClick","contains","onClose","items","scaleX","scaleY","damping","stiffness","transform","item","meta","_React$PureComponent2","_ret2","_len2","_key2","open","handleToggle","actions","options","option","handleModalActionClick","handleClose","componentWillMount","_props2","valueOption","find","expanded","show","placement","302","__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","visible","SensitiveButton","scale","compose-form__sensitive-button--visible","303","__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","getCustomEmojis","filter","aShort","bShort","custom_emojis","skinTone","frequentlyUsedEmojis","onSkinTone","304","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","_state","pulse-loading","305","__WEBPACK_IMPORTED_MODULE_1__components_upload_form__","mediaIds","306","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__","307","__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__","progress","308","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","309","__WEBPACK_IMPORTED_MODULE_1__components_upload__","onUndo","onDescriptionChange","description","310","Upload","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_12_classnames__","__WEBPACK_IMPORTED_MODULE_12_classnames___default","undo","hovered","focused","dirtyDescription","handleUndoClick","handleInputChange","handleMouseEnter","handleMouseLeave","handleInputFocus","handleInputBlur","onMouseEnter","onMouseLeave","backgroundImage","maxLength","onFocus","311","__WEBPACK_IMPORTED_MODULE_3__components_warning__","__WEBPACK_IMPORTED_MODULE_4_react_intl__","__WEBPACK_IMPORTED_MODULE_5__initial_state__","needsLockWarning","WarningWrapper","locked","312","Warning","313","countableText","inputText","__WEBPACK_IMPORTED_MODULE_0__url_regex__","urlPlaceholder","314","urlRegex","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","315","__WEBPACK_IMPORTED_MODULE_1__components_compose_form__","accountId","checked","752","defineProperty","Compose","__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__","__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__","__WEBPACK_IMPORTED_MODULE_7_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_router_dom__","__WEBPACK_IMPORTED_MODULE_11__containers_search_container__","__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__","start","home_timeline","notifications","public","community","preferences","logout","columns","multiColumn","header","to","column","data-method","x","777","__WEBPACK_IMPORTED_MODULE_5__components_account__","__WEBPACK_IMPORTED_MODULE_6__actions_accounts__","__WEBPACK_IMPORTED_MODULE_7__actions_modal__","__WEBPACK_IMPORTED_MODULE_8__initial_state__","unfollowConfirm","onFollow","778","Account","__WEBPACK_IMPORTED_MODULE_7__avatar__","__WEBPACK_IMPORTED_MODULE_8__display_name__","__WEBPACK_IMPORTED_MODULE_9__permalink__","__WEBPACK_IMPORTED_MODULE_10__icon_button__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_13__initial_state__","follow","unfollow","requested","unblock","unmute","handleFollow","handleBlock","handleMute","hidden","buttons","following","blocking","muting","802","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","__WEBPACK_IMPORTED_MODULE_9__components_permalink__","803","Search","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default","__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","SearchPopout","handleClear","submitted","onClear","handleFocus","onShow","handleBlur","hasValue","879","__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__","__WEBPACK_IMPORTED_MODULE_2__initial_state__","880","__WEBPACK_IMPORTED_MODULE_1__actions_search__","__WEBPACK_IMPORTED_MODULE_2__components_search__","881","__WEBPACK_IMPORTED_MODULE_1__components_search_results__","results","882","SearchResults","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7__containers_account_container__","__WEBPACK_IMPORTED_MODULE_8__containers_status_container__","accounts","statuses","hashtags","count","statusId","hashtag"],"mappings":"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","file":"features/compose-4617f6e912b5bfa71c43.js","sourcesContent":["webpackJsonp([2],{\n\n/***/ 261:\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_status__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_interactions__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_statuses__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_reports__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__initial_state__ = __webpack_require__(18);\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 deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"O\" /* replyCompose */])(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"q\" /* reblog */])(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"t\" /* unreblog */])(status));\n } else {\n if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"b\" /* boostModal */]) {\n this.onModalReblog(status);\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"r\" /* unfavourite */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"m\" /* favourite */])(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"s\" /* unpin */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"p\" /* pin */])(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"d\" /* deleteModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"M\" /* mentionCompose */])(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_reports__[\"i\" /* initReport */])(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"h\" /* unmuteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"g\" /* muteStatus */])(status.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_status__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 286:\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__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_button__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\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__(288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__ = __webpack_require__(290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_collapsable__ = __webpack_require__(297);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__ = __webpack_require__(300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__ = __webpack_require__(303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__containers_warning_container__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__is_mobile__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__ = __webpack_require__(11);\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__(100);\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__(313);\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\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 _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._restoreCaret = null;\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 position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\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 we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\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._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\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\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\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_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_19__containers_warning_container__[\"a\" /* default */], {}), __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: 'compose-form__publish'\n }, void 0, __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: 500,\n text: text\n })), __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: disabled || this.props.is_uploading || Object(__WEBPACK_IMPORTED_MODULE_22_stringz__[\"length\"])(text) > 500 || text.length !== 0 && text.trim().length === 0,\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 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}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 287:\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__(100);\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/***/ 288:\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__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(289);\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__[\"B\" /* 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/***/ 289:\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__(12);\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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, _class2, _temp2;\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\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 })), __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 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/***/ 290:\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__(35);\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__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(12);\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__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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__(294);\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 switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\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.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\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 {\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 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: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\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/***/ 291:\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__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\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/***/ 292:\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\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__(11);\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/***/ 293:\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__(160);\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__(34)))\n\n/***/ }),\n\n/***/ 294:\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\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\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};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', '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'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\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;\n\n // 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\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 }\n\n // measure height of a textarea with a single row\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 if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\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\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\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\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\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() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * <TextareaAutosize />\n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\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 _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\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\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\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\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.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\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\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 TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // 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 this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._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/***/ 295:\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__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\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__[\"U\" /* 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/***/ 296:\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__(19);\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__(6);\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__(11);\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__(12);\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/***/ 297:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__ = __webpack_require__(27);\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/***/ 298:\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__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\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__[\"F\" /* 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/***/ 299:\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/***/ 300:\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__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(33);\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__[\"G\" /* 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/***/ 301:\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__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(19);\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\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__(46);\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.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\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 PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\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 _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 __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value })\n }, item.value, __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 })), __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 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 }, _this3.handleToggle = function () {\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 _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 'Enter':\n _this3.handleToggle();\n break;\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 open = this.state.open;\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: 'bottom',\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/***/ 302:\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__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__ = __webpack_require__(27);\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__(6);\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 title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media 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__[\"D\" /* 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(messages.title),\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/***/ 303:\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__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(96);\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 emojis = emojis.concat(DEFAULTS.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/***/ 304:\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__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(61);\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__(46);\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__(60);\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 }, _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 placement: 'bottom',\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 () {\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__[\"g\" /* 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 }, _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();\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\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: 'bottom',\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__(34)))\n\n/***/ }),\n\n/***/ 305:\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__(306);\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/***/ 306:\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__(12);\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__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(11);\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__(309);\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/***/ 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_upload_progress__ = __webpack_require__(308);\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/***/ 308:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\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__(6);\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/***/ 309:\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__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\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__[\"S\" /* undoUploadCompose */])(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeUploadCompose */])(id, description));\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/***/ 310:\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__(12);\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_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\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_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_classnames__);\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_11_react_intl__[\"f\" /* defineMessages */])({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_11_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.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 || media.get('description') || '';\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_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.8 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_9_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') + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_12_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_10_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}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 311:\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__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"e\" /* me */], 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\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: '/settings/profile'\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 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/***/ 312:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\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/***/ 313:\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__(314);\n\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nfunction countableText(inputText) {\n return inputText.replace(__WEBPACK_IMPORTED_MODULE_0__url_regex__[\"a\" /* urlRegex */], urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n/***/ }),\n\n/***/ 314:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return 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/***/ 315:\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_compose_form__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"C\" /* changeCompose */])(text));\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"R\" /* submitCompose */])());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* clearComposeSuggestions */])());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"K\" /* fetchComposeSuggestions */])(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Q\" /* selectComposeSuggestion */])(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"E\" /* changeComposeSpoilerText */])(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* insertEmojiCompose */])(position, data));\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_compose_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 752:\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 Compose; });\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__containers_compose_form_container__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__ = __webpack_require__(879);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_search_container__ = __webpack_require__(880);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__ = __webpack_require__(881);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n start: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n community: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n logout: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar Compose = (_dec = Object(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Compose, _React$PureComponent);\n\n function Compose() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Compose);\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.onFocus = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(true));\n }, _this.onBlur = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(false));\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Compose.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"N\" /* mountCompose */])());\n };\n\n Compose.prototype.componentWillUnmount = function componentWillUnmount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"T\" /* unmountCompose */])());\n };\n\n Compose.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n showSearch = _props.showSearch,\n intl = _props.intl;\n\n\n var header = '';\n\n if (multiColumn) {\n var columns = this.props.columns;\n\n header = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('nav', {\n className: 'drawer__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/getting-started',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.start),\n 'aria-label': intl.formatMessage(messages.start)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-asterisk'\n })), !columns.some(function (column) {\n return column.get('id') === 'HOME';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/home',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.home_timeline),\n 'aria-label': intl.formatMessage(messages.home_timeline)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-home'\n })), !columns.some(function (column) {\n return column.get('id') === 'NOTIFICATIONS';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/notifications',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.notifications),\n 'aria-label': intl.formatMessage(messages.notifications)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-bell'\n })), !columns.some(function (column) {\n return column.get('id') === 'COMMUNITY';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public/local',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.community),\n 'aria-label': intl.formatMessage(messages.community)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-users'\n })), !columns.some(function (column) {\n return column.get('id') === 'PUBLIC';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.public),\n 'aria-label': intl.formatMessage(messages.public)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-globe'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/preferences',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.preferences),\n 'aria-label': intl.formatMessage(messages.preferences)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-cog'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/auth/sign_out',\n className: 'drawer__tab',\n 'data-method': 'delete',\n title: intl.formatMessage(messages.logout),\n 'aria-label': intl.formatMessage(messages.logout)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-sign-out'\n })));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer'\n }, void 0, header, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_search_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__pager'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner',\n onFocus: this.onFocus\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__[\"a\" /* default */], {\n onClose: this.onBlur\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { x: -100 },\n style: { x: __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default()(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }\n }, void 0, function (_ref) {\n var x = _ref.x;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner darker',\n style: { transform: 'translateX(' + x + '%)', visibility: x === -100 ? 'hidden' : 'visible' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__[\"a\" /* default */], {}));\n })));\n };\n\n return Compose;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 777:\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_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_account__ = __webpack_require__(778);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (__WEBPACK_IMPORTED_MODULE_8__initial_state__[\"g\" /* unfollowModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n }));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"A\" /* followAccount */])(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"D\" /* unblockAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"F\" /* unmuteAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_5__components_account__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 778:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Account; });\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__(12);\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__avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(18);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Account);\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.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {});\n }\n\n if (hidden) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== __WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* me */] && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__permalink__[\"a\" /* default */], {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__avatar-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__avatar__[\"a\" /* default */], {\n account: account,\n size: 36\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__display_name__[\"a\" /* default */], {\n account: account\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default.a), _class2.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n onFollow: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onBlock: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onMute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n hidden: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 802:\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__(12);\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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: '/settings/profile',\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.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 803:\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__(6);\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(27);\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\n\n\n\n\nvar _class;\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\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 }))), __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 }));\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/***/ 879:\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_navigation_bar__ = __webpack_require__(802);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__initial_state__ = __webpack_require__(18);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n account: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_2__initial_state__[\"e\" /* me */]])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 880:\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_search__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_search__ = __webpack_require__(803);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"e\" /* changeSearch */])(value));\n },\n onClear: function onClear() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"f\" /* clearSearch */])());\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"h\" /* submitSearch */])());\n },\n onShow: function onShow() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"g\" /* showSearch */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_2__components_search__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 881:\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_search_results__ = __webpack_require__(882);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n results: state.getIn(['search', 'results'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_search_results__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 882:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SearchResults; });\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__(12);\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_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_account_container__ = __webpack_require__(777);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_status_container__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\nvar SearchResults = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchResults, _ImmutablePureCompone);\n\n function SearchResults() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchResults);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n SearchResults.prototype.render = function render() {\n var results = this.props.results;\n\n\n var accounts = void 0,\n statuses = void 0,\n hashtags = void 0;\n var count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('accounts').map(function (accountId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_account_container__[\"a\" /* default */], {\n id: accountId\n }, accountId);\n }));\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('statuses').map(function (statusId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_status_container__[\"a\" /* default */], {\n id: statusId\n }, statusId);\n }));\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('hashtags').map(function (hashtag) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n className: 'search-results__hashtag',\n to: '/timelines/tag/' + hashtag\n }, hashtag, '#', hashtag);\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_results.total',\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n values: { count: count }\n })), accounts, statuses, hashtags);\n };\n\n return SearchResults;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class.propTypes = {\n results: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/compose-4617f6e912b5bfa71c43.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n replyCompose,\n mentionCompose,\n} from '../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n pin,\n unpin,\n} from '../actions/interactions';\nimport {\n blockAccount,\n muteAccount,\n} from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n muteConfirm: { id: 'confirmations.mute.confirm', defaultMessage: 'Mute' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => ({\n status: getStatus(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onReply (status, router) {\n dispatch(replyCompose(status, router));\n },\n\n onModalReblog (status) {\n dispatch(reblog(status));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onPin (status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n\n onEmbed (status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n\n onDelete (status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n }));\n }\n },\n\n onMention (account, router) {\n dispatch(mentionCompose(account, router));\n },\n\n onOpenMedia (media, index) {\n dispatch(openModal('MEDIA', { media, index }));\n },\n\n onOpenVideo (media, time) {\n dispatch(openModal('VIDEO', { media, time }));\n },\n\n onBlock (account) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n },\n\n onReport (status) {\n dispatch(initReport(status.get('account'), status));\n },\n\n onMute (account) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.mute.message' defaultMessage='Are you sure you want to mute {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: () => dispatch(muteAccount(account.get('id'))),\n }));\n },\n\n onMuteConversation (status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.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';\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 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 };\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 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._restoreCaret = null;\n this.props.onSuggestionSelected(tokenStart, token, value);\n }\n\n handleChangeSpoilerText = (e) => {\n this.props.onChangeSpoilerText(e.target.value);\n }\n\n componentWillReceiveProps (nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\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 we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || (prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number')) {\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._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\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 position = this.autosuggestTextarea.textarea.selectionStart;\n const emojiChar = data.native;\n this._restoreCaret = position + emojiChar.length + 1;\n this.props.onPickEmoji(position, data);\n }\n\n render () {\n const { intl, onPaste, showSearch } = this.props;\n const disabled = this.props.is_submitting;\n const text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\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 <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 <WarningContainer />\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\n <div className='compose-form__publish'>\n <div className='character-counter__wrapper'><CharacterCounter max={500} text={text} /></div>\n <div className='compose-form__publish-button-wrapper'><Button text={publishText} onClick={this.handleSubmit} disabled={disabled || this.props.is_uploading || length(text) > 500 || (text.length !== 0 && text.trim().length === 0)} block /></div>\n </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';\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\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} /></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' 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 switch(e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\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 onKeyUp = e => {\n if (e.key === 'Escape' && this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (this.props.onKeyUp) {\n this.props.onKeyUp(e);\n }\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 {\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, 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={this.onKeyUp}\n onBlur={this.onBlur}\n onPaste={this.onPaste}\n style={style}\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\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\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};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', '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'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\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;\n\n // 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\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 }\n\n // measure height of a textarea with a single row\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 if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\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\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\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\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\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() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\nvar _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\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * <TextareaAutosize />\n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\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 _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\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\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\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\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.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\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\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 TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // 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 this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._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 title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n label: 'CW',\n title: intl.formatMessage(messages.title),\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 handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n handleClick = e => {\n if (e.key === 'Escape') {\n this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\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\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 render () {\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 <div className='privacy-dropdown__dropdown' style={{ ...style, opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }} ref={this.setRef}>\n {items.map(item =>\n <div role='button' tabIndex='0' key={item.value} data-index={item.value} onKeyDown={this.handleClick} onClick={this.handleClick} className={classNames('privacy-dropdown__option', { active: item.value === value })}>\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 };\n\n handleToggle = () => {\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 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 'Enter':\n this.handleToggle();\n break;\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 } = 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='bottom' 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 title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media 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(messages.title)}\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 emojis = emojis.concat(DEFAULTS.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 placement: 'bottom',\n frequentlyUsedEmojis: [],\n };\n\n state = {\n modifierOpen: false,\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 = () => {\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\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();\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 } = 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='bottom' 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';\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});\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 IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },\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 };\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 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 || media.get('description') || '';\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')})` }}>\n <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.handleUndoClick} />\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 mapStateToProps = state => ({\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n});\n\nconst WarningWrapper = ({ needsLockWarning }) => {\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='/settings/profile'><FormattedMessage id='compose_form.lock_disclaimer.lock' defaultMessage='locked' /></a> }} />} />;\n }\n\n return null;\n};\n\nWarningWrapper.propTypes = {\n needsLockWarning: 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 .replace(urlRegex, urlPlaceholder)\n .replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\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 { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport {\n changeCompose,\n submitCompose,\n clearComposeSuggestions,\n fetchComposeSuggestions,\n selectComposeSuggestion,\n changeComposeSpoilerText,\n insertEmojiCompose,\n} from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n\n onChange (text) {\n dispatch(changeCompose(text));\n },\n\n onSubmit () {\n dispatch(submitCompose());\n },\n\n onClearSuggestions () {\n dispatch(clearComposeSuggestions());\n },\n\n onFetchSuggestions (token) {\n dispatch(fetchComposeSuggestions(token));\n },\n\n onSuggestionSelected (position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n\n onChangeSpoilerText (checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n\n onPaste (files) {\n dispatch(uploadCompose(files));\n },\n\n onPickEmoji (position, data) {\n dispatch(insertEmojiCompose(position, data));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/compose_form_container.js","import React from 'react';\nimport ComposeFormContainer from './containers/compose_form_container';\nimport NavigationContainer from './containers/navigation_container';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport { mountCompose, unmountCompose } from '../../actions/compose';\nimport { Link } from 'react-router-dom';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport SearchContainer from './containers/search_container';\nimport Motion from '../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport SearchResultsContainer from './containers/search_results_container';\nimport { changeComposing } from '../../actions/compose';\n\nconst messages = defineMessages({\n start: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n});\n\nconst mapStateToProps = state => ({\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Compose extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n multiColumn: PropTypes.bool,\n showSearch: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount () {\n this.props.dispatch(mountCompose());\n }\n\n componentWillUnmount () {\n this.props.dispatch(unmountCompose());\n }\n\n onFocus = () => {\n this.props.dispatch(changeComposing(true));\n }\n\n onBlur = () => {\n this.props.dispatch(changeComposing(false));\n }\n\n render () {\n const { multiColumn, showSearch, intl } = this.props;\n\n let header = '';\n\n if (multiColumn) {\n const { columns } = this.props;\n header = (\n <nav className='drawer__header'>\n <Link to='/getting-started' className='drawer__tab' title={intl.formatMessage(messages.start)} aria-label={intl.formatMessage(messages.start)}><i role='img' className='fa fa-fw fa-asterisk' /></Link>\n {!columns.some(column => column.get('id') === 'HOME') && (\n <Link to='/timelines/home' className='drawer__tab' title={intl.formatMessage(messages.home_timeline)} aria-label={intl.formatMessage(messages.home_timeline)}><i role='img' className='fa fa-fw fa-home' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'NOTIFICATIONS') && (\n <Link to='/notifications' className='drawer__tab' title={intl.formatMessage(messages.notifications)} aria-label={intl.formatMessage(messages.notifications)}><i role='img' className='fa fa-fw fa-bell' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'COMMUNITY') && (\n <Link to='/timelines/public/local' className='drawer__tab' title={intl.formatMessage(messages.community)} aria-label={intl.formatMessage(messages.community)}><i role='img' className='fa fa-fw fa-users' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'PUBLIC') && (\n <Link to='/timelines/public' className='drawer__tab' title={intl.formatMessage(messages.public)} aria-label={intl.formatMessage(messages.public)}><i role='img' className='fa fa-fw fa-globe' /></Link>\n )}\n <a href='/settings/preferences' className='drawer__tab' title={intl.formatMessage(messages.preferences)} aria-label={intl.formatMessage(messages.preferences)}><i role='img' className='fa fa-fw fa-cog' /></a>\n <a href='/auth/sign_out' className='drawer__tab' data-method='delete' title={intl.formatMessage(messages.logout)} aria-label={intl.formatMessage(messages.logout)}><i role='img' className='fa fa-fw fa-sign-out' /></a>\n </nav>\n );\n }\n\n return (\n <div className='drawer'>\n {header}\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner' onFocus={this.onFocus}>\n <NavigationContainer onClose={this.onBlur} />\n <ComposeFormContainer />\n </div>\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n <div className='drawer__inner darker' style={{ transform: `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n <SearchResultsContainer />\n </div>\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/index.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport {\n followAccount,\n unfollowAccount,\n blockAccount,\n unblockAccount,\n muteAccount,\n unmuteAccount,\n} from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nconst messages = defineMessages({\n unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onFollow (account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.unfollow.message' defaultMessage='Are you sure you want to unfollow {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: () => dispatch(unfollowAccount(account.get('id'))),\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n\n onBlock (account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n\n onMute (account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/account_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nconst messages = defineMessages({\n follow: { id: 'account.follow', defaultMessage: 'Follow' },\n unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },\n requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' },\n unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },\n unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool,\n };\n\n handleFollow = () => {\n this.props.onFollow(this.props.account);\n }\n\n handleBlock = () => {\n this.props.onBlock(this.props.account);\n }\n\n handleMute = () => {\n this.props.onMute(this.props.account);\n }\n\n render () {\n const { account, intl, hidden } = this.props;\n\n if (!account) {\n return <div />;\n }\n\n if (hidden) {\n return (\n <div>\n {account.get('display_name')}\n {account.get('username')}\n </div>\n );\n }\n\n let buttons;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n const following = account.getIn(['relationship', 'following']);\n const requested = account.getIn(['relationship', 'requested']);\n const blocking = account.getIn(['relationship', 'blocking']);\n const muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = <IconButton disabled icon='hourglass' title={intl.formatMessage(messages.requested)} />;\n } else if (blocking) {\n buttons = <IconButton active icon='unlock-alt' title={intl.formatMessage(messages.unblock, { name: account.get('username') })} onClick={this.handleBlock} />;\n } else if (muting) {\n buttons = <IconButton active icon='volume-up' title={intl.formatMessage(messages.unmute, { name: account.get('username') })} onClick={this.handleMute} />;\n } else {\n buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />;\n }\n }\n\n return (\n <div className='account'>\n <div className='account__wrapper'>\n <Permalink key={account.get('id')} className='account__display-name' href={account.get('url')} to={`/accounts/${account.get('id')}`}>\n <div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div>\n <DisplayName account={account} />\n </Permalink>\n\n <div className='account__relationship'>\n {buttons}\n </div>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/account.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.isRequired,\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='/settings/profile' 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';\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\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 <FormattedMessage id='search_popout.tips.text' defaultMessage='Simple text returns matching display names, usernames and hashtags' />\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","import { connect } from 'react-redux';\nimport NavigationBar from '../components/navigation_bar';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => {\n return {\n account: state.getIn(['accounts', me]),\n };\n};\n\nexport default connect(mapStateToProps)(NavigationBar);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/navigation_container.js","import { connect } from 'react-redux';\nimport {\n changeSearch,\n clearSearch,\n submitSearch,\n showSearch,\n} from '../../../actions/search';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeSearch(value));\n },\n\n onClear () {\n dispatch(clearSearch());\n },\n\n onSubmit () {\n dispatch(submitSearch());\n },\n\n onShow () {\n dispatch(showSearch());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_container.js","import { connect } from 'react-redux';\nimport SearchResults from '../components/search_results';\n\nconst mapStateToProps = state => ({\n results: state.getIn(['search', 'results']),\n});\n\nexport default connect(mapStateToProps)(SearchResults);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_results_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../../containers/account_container';\nimport StatusContainer from '../../../containers/status_container';\nimport { Link } from 'react-router-dom';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class SearchResults extends ImmutablePureComponent {\n\n static propTypes = {\n results: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { results } = this.props;\n\n let accounts, statuses, hashtags;\n let count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = (\n <div className='search-results__section'>\n {results.get('accounts').map(accountId => <AccountContainer key={accountId} id={accountId} />)}\n </div>\n );\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = (\n <div className='search-results__section'>\n {results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)}\n </div>\n );\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = (\n <div className='search-results__section'>\n {results.get('hashtags').map(hashtag =>\n <Link key={hashtag} className='search-results__hashtag' to={`/timelines/tag/${hashtag}`}>\n #{hashtag}\n </Link>\n )}\n </div>\n );\n }\n\n return (\n <div className='search-results'>\n <div className='search-results__header'>\n <FormattedMessage id='search_results.total' defaultMessage='{count, number} {count, plural, one {result} other {results}}' values={{ count }} />\n </div>\n\n {accounts}\n {statuses}\n {hashtags}\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search_results.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///features/compose-4617f6e912b5bfa71c43.js","webpack:///./app/javascript/mastodon/containers/status_container.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/compose/containers/compose_form_container.js","webpack:///./app/javascript/mastodon/features/compose/index.js","webpack:///./app/javascript/mastodon/containers/account_container.js","webpack:///./app/javascript/mastodon/components/account.js","webpack:///./app/javascript/mastodon/features/compose/components/navigation_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/search.js","webpack:///./app/javascript/mastodon/features/compose/containers/navigation_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_results_container.js","webpack:///./app/javascript/mastodon/features/compose/components/search_results.js"],"names":["webpackJsonp","261","module","__webpack_exports__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_status__","__WEBPACK_IMPORTED_MODULE_4__selectors__","__WEBPACK_IMPORTED_MODULE_5__actions_compose__","__WEBPACK_IMPORTED_MODULE_6__actions_interactions__","__WEBPACK_IMPORTED_MODULE_7__actions_accounts__","__WEBPACK_IMPORTED_MODULE_8__actions_statuses__","__WEBPACK_IMPORTED_MODULE_9__actions_reports__","__WEBPACK_IMPORTED_MODULE_10__actions_modal__","__WEBPACK_IMPORTED_MODULE_11_react_intl__","__WEBPACK_IMPORTED_MODULE_12__initial_state__","messages","Object","deleteConfirm","id","defaultMessage","deleteMessage","blockConfirm","muteConfirm","makeMapStateToProps","getStatus","state","props","status","mapDispatchToProps","dispatch","_ref","intl","onReply","router","onModalReblog","onReblog","e","get","shiftKey","this","onFavourite","onPin","onEmbed","url","onDelete","message","formatMessage","confirm","onConfirm","onMention","account","onOpenMedia","media","index","onOpenVideo","time","onBlock","values","name","onReport","onMute","onMuteConversation","286","d","ComposeForm","_class","_class2","_temp2","__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__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__","placeholder","spoiler_placeholder","publish","publishLoud","_ImmutablePureCompone","_temp","_this","_ret","_len","arguments","length","args","Array","_key","call","apply","concat","handleChange","onChange","target","value","handleKeyDown","keyCode","ctrlKey","metaKey","handleSubmit","text","autosuggestTextarea","textarea","onSubmit","onSuggestionsClearRequested","onClearSuggestions","onSuggestionsFetchRequested","token","onFetchSuggestions","onSuggestionSelected","tokenStart","_restoreCaret","handleChangeSpoilerText","onChangeSpoilerText","setAutosuggestTextarea","c","handleEmojiPick","data","position","selectionStart","emojiChar","native","onPickEmoji","prototype","componentWillReceiveProps","nextProps","is_uploading","componentDidUpdate","prevProps","focusDate","selectionEnd","preselectDate","search","setSelectionRange","focus","is_submitting","render","_props","onPaste","showSearch","disabled","spoiler_text","join","publishText","privacy","className","isVisible","spoiler","fullHeight","style","display","onKeyDown","type","a","createElement","ref","suggestions","autoFocus","window","innerWidth","max","onClick","trim","block","propTypes","object","isRequired","string","suggestion_token","list","bool","instanceOf","Date","func","defaultProps","287","CharacterCounter","__WEBPACK_IMPORTED_MODULE_5_stringz__","_React$PureComponent","checkRemainingText","diff","PureComponent","288","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__actions_compose__","__WEBPACK_IMPORTED_MODULE_2__selectors__","__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__","getIn","onCancel","289","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","cancel","handleClick","handleAccountClick","button","preventDefault","context","history","push","content","__html","title","icon","href","size","dangerouslySetInnerHTML","contextTypes","map","290","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","caretPosition","word","left","slice","right","indexOf","toLowerCase","suggestionsHidden","selectedSuggestion","lastToken","_textAtCursorMatchesT","setState","_this$props","_this$state","key","Math","min","stopPropagation","defaultPrevented","onKeyUp","document","querySelector","parentElement","onBlur","onSuggestionClick","suggestion","currentTarget","getAttribute","setTextarea","clipboardData","files","renderSuggestion","i","inner","emoji","role","tabIndex","data-index","selected","onMouseDown","direction","inputRef","isEmpty","291","__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__","getAccount","292","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","293","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","custom","imageUrl","mapping","replace","filename","src","alt","colons","294","calculateNodeHeight","uiTextNode","uid","useCache","undefined","minRows","maxRows","hiddenTextarea","parentNode","body","appendChild","nodeStyling","calculateNodeStyling","paddingSize","borderSize","boxSizing","sizingStyle","keys","forEach","HIDDEN_TEXTAREA_STYLE","setProperty","minHeight","Infinity","maxHeight","height","scrollHeight","singleRowHeight","rowCount","floor","node","computedStyleCache","getComputedStyle","SIZING_STYLE","reduce","obj","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","classCallCheck","instance","Constructor","TypeError","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","noop","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","onNextFrame","clearNextFrameAction","TextareaAutosize","_React$Component","_resizeLock","_onRootDOMNode","_rootDOMNode","_onChange","event","_controlled","_resizeComponent","callback","nodeHeight","_uid","useCacheForDOMMeasurements","onHeightChange","componentDidMount","_this2","_resizeListener","addEventListener","_this3","_clearNextFrame","_onNextFrameActionId","prevState","componentWillUnmount","removeEventListener","Component","295","__WEBPACK_IMPORTED_MODULE_1__components_upload_button__","__WEBPACK_IMPORTED_MODULE_2__actions_compose__","mapStateToProps","some","m","resetFileKey","onSelectFile","296","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","inverted","multiple","accept","toArray","number","listOf","297","__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","298","__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__","__WEBPACK_IMPORTED_MODULE_3_react_intl__","label","active","ariaControls","299","TextIconButton","aria-label","aria-expanded","aria-controls","300","__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__","__WEBPACK_IMPORTED_MODULE_3__actions_modal__","__WEBPACK_IMPORTED_MODULE_4__is_mobile__","isModalOpen","modalType","isUserTouching","onModalOpen","onModalClose","301","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","handleDocumentClick","contains","onClose","items","scaleX","scaleY","damping","stiffness","transform","item","meta","_React$PureComponent2","_ret2","_len2","_key2","open","handleToggle","actions","options","option","handleModalActionClick","handleClose","componentWillMount","_props2","valueOption","find","expanded","show","placement","302","__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","visible","SensitiveButton","scale","compose-form__sensitive-button--visible","303","__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","getCustomEmojis","filter","aShort","bShort","custom_emojis","skinTone","frequentlyUsedEmojis","onSkinTone","304","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","_state","pulse-loading","305","__WEBPACK_IMPORTED_MODULE_1__components_upload_form__","mediaIds","306","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__","307","__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__","progress","308","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","309","__WEBPACK_IMPORTED_MODULE_1__components_upload__","onUndo","onDescriptionChange","description","310","Upload","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_12_classnames__","__WEBPACK_IMPORTED_MODULE_12_classnames___default","undo","hovered","focused","dirtyDescription","handleUndoClick","handleInputChange","handleMouseEnter","handleMouseLeave","handleInputFocus","handleInputBlur","onMouseEnter","onMouseLeave","backgroundImage","maxLength","onFocus","311","__WEBPACK_IMPORTED_MODULE_3__components_warning__","__WEBPACK_IMPORTED_MODULE_4_react_intl__","__WEBPACK_IMPORTED_MODULE_5__initial_state__","needsLockWarning","WarningWrapper","locked","312","Warning","313","countableText","inputText","__WEBPACK_IMPORTED_MODULE_0__url_regex__","urlPlaceholder","314","urlRegex","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","315","__WEBPACK_IMPORTED_MODULE_1__components_compose_form__","accountId","checked","752","defineProperty","Compose","__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__","__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__","__WEBPACK_IMPORTED_MODULE_7_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_router_dom__","__WEBPACK_IMPORTED_MODULE_11__containers_search_container__","__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__","start","home_timeline","notifications","public","community","preferences","logout","columns","multiColumn","header","to","column","data-method","x","777","__WEBPACK_IMPORTED_MODULE_5__components_account__","__WEBPACK_IMPORTED_MODULE_6__actions_accounts__","__WEBPACK_IMPORTED_MODULE_7__actions_modal__","__WEBPACK_IMPORTED_MODULE_8__initial_state__","unfollowConfirm","onFollow","778","Account","__WEBPACK_IMPORTED_MODULE_7__avatar__","__WEBPACK_IMPORTED_MODULE_8__display_name__","__WEBPACK_IMPORTED_MODULE_9__permalink__","__WEBPACK_IMPORTED_MODULE_10__icon_button__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_13__initial_state__","follow","unfollow","requested","unblock","unmute","handleFollow","handleBlock","handleMute","hidden","buttons","following","blocking","muting","802","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","__WEBPACK_IMPORTED_MODULE_9__components_permalink__","803","Search","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default","__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","SearchPopout","handleClear","submitted","onClear","handleFocus","onShow","handleBlur","hasValue","879","__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__","__WEBPACK_IMPORTED_MODULE_2__initial_state__","880","__WEBPACK_IMPORTED_MODULE_1__actions_search__","__WEBPACK_IMPORTED_MODULE_2__components_search__","881","__WEBPACK_IMPORTED_MODULE_1__components_search_results__","results","882","SearchResults","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7__containers_account_container__","__WEBPACK_IMPORTED_MODULE_8__containers_status_container__","accounts","statuses","hashtags","count","statusId","hashtag"],"mappings":"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","file":"features/compose-4617f6e912b5bfa71c43.js","sourcesContent":["webpackJsonp([2],{\n\n/***/ 261:\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_status__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_interactions__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_statuses__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_reports__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__initial_state__ = __webpack_require__(18);\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 deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"O\" /* replyCompose */])(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"q\" /* reblog */])(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"t\" /* unreblog */])(status));\n } else {\n if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"b\" /* boostModal */]) {\n this.onModalReblog(status);\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"r\" /* unfavourite */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"m\" /* favourite */])(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"s\" /* unpin */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"p\" /* pin */])(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"d\" /* deleteModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"M\" /* mentionCompose */])(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_reports__[\"i\" /* initReport */])(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"h\" /* unmuteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"g\" /* muteStatus */])(status.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_status__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 286:\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__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_button__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\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__(288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__ = __webpack_require__(290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_collapsable__ = __webpack_require__(297);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__ = __webpack_require__(300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__ = __webpack_require__(303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__containers_warning_container__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__is_mobile__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__ = __webpack_require__(11);\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__(100);\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__(313);\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\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 _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._restoreCaret = null;\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 position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\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 we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\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._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\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\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\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_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_19__containers_warning_container__[\"a\" /* default */], {}), __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: 'compose-form__publish'\n }, void 0, __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: 5000,\n text: text\n })), __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: disabled || this.props.is_uploading || Object(__WEBPACK_IMPORTED_MODULE_22_stringz__[\"length\"])(text) > 500 || text.length !== 0 && text.trim().length === 0,\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 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}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 287:\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__(100);\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/***/ 288:\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__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(289);\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__[\"B\" /* 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/***/ 289:\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__(12);\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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, _class2, _temp2;\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\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 })), __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 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/***/ 290:\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__(35);\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__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(12);\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__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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__(294);\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 switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\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.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\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 {\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 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: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\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/***/ 291:\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__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\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/***/ 292:\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\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__(11);\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/***/ 293:\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__(160);\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__(34)))\n\n/***/ }),\n\n/***/ 294:\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\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\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};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', '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'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\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;\n\n // 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\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 }\n\n // measure height of a textarea with a single row\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 if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\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\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\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\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\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() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * <TextareaAutosize />\n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\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 _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\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\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\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\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.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\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\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 TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // 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 this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._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/***/ 295:\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__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\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__[\"U\" /* 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/***/ 296:\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__(19);\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__(6);\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__(11);\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__(12);\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/***/ 297:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__ = __webpack_require__(27);\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/***/ 298:\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__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\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__[\"F\" /* 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/***/ 299:\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/***/ 300:\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__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(33);\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__[\"G\" /* 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/***/ 301:\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__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(19);\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\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__(46);\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.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\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 PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\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 _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 __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value })\n }, item.value, __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 })), __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 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 }, _this3.handleToggle = function () {\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 _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 'Enter':\n _this3.handleToggle();\n break;\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 open = this.state.open;\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: 'bottom',\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/***/ 302:\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__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__ = __webpack_require__(27);\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__(6);\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 title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media 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__[\"D\" /* 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(messages.title),\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/***/ 303:\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__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(96);\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 emojis = emojis.concat(DEFAULTS.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/***/ 304:\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__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(61);\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__(46);\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__(60);\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 }, _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 placement: 'bottom',\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 () {\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__[\"g\" /* 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 }, _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();\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\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: 'bottom',\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__(34)))\n\n/***/ }),\n\n/***/ 305:\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__(306);\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/***/ 306:\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__(12);\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__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(11);\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__(309);\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/***/ 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_upload_progress__ = __webpack_require__(308);\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/***/ 308:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\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__(6);\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/***/ 309:\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__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\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__[\"S\" /* undoUploadCompose */])(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeUploadCompose */])(id, description));\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/***/ 310:\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__(12);\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_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\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_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_classnames__);\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_11_react_intl__[\"f\" /* defineMessages */])({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_11_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.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 || media.get('description') || '';\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_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.8 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_9_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') + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_12_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_10_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}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 311:\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__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"e\" /* me */], 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\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: '/settings/profile'\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 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/***/ 312:\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\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/***/ 313:\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__(314);\n\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nfunction countableText(inputText) {\n return inputText.replace(__WEBPACK_IMPORTED_MODULE_0__url_regex__[\"a\" /* urlRegex */], urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n/***/ }),\n\n/***/ 314:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return 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/***/ 315:\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_compose_form__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"C\" /* changeCompose */])(text));\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"R\" /* submitCompose */])());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* clearComposeSuggestions */])());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"K\" /* fetchComposeSuggestions */])(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Q\" /* selectComposeSuggestion */])(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"E\" /* changeComposeSpoilerText */])(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* insertEmojiCompose */])(position, data));\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_compose_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 752:\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 Compose; });\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__containers_compose_form_container__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__ = __webpack_require__(879);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_search_container__ = __webpack_require__(880);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__ = __webpack_require__(881);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n start: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n community: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n logout: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar Compose = (_dec = Object(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Compose, _React$PureComponent);\n\n function Compose() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Compose);\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.onFocus = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(true));\n }, _this.onBlur = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(false));\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Compose.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"N\" /* mountCompose */])());\n };\n\n Compose.prototype.componentWillUnmount = function componentWillUnmount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"T\" /* unmountCompose */])());\n };\n\n Compose.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n showSearch = _props.showSearch,\n intl = _props.intl;\n\n\n var header = '';\n\n if (multiColumn) {\n var columns = this.props.columns;\n\n header = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('nav', {\n className: 'drawer__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/getting-started',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.start),\n 'aria-label': intl.formatMessage(messages.start)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-asterisk'\n })), !columns.some(function (column) {\n return column.get('id') === 'HOME';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/home',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.home_timeline),\n 'aria-label': intl.formatMessage(messages.home_timeline)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-home'\n })), !columns.some(function (column) {\n return column.get('id') === 'NOTIFICATIONS';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/notifications',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.notifications),\n 'aria-label': intl.formatMessage(messages.notifications)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-bell'\n })), !columns.some(function (column) {\n return column.get('id') === 'COMMUNITY';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public/local',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.community),\n 'aria-label': intl.formatMessage(messages.community)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-users'\n })), !columns.some(function (column) {\n return column.get('id') === 'PUBLIC';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.public),\n 'aria-label': intl.formatMessage(messages.public)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-globe'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/preferences',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.preferences),\n 'aria-label': intl.formatMessage(messages.preferences)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-cog'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/auth/sign_out',\n className: 'drawer__tab',\n 'data-method': 'delete',\n title: intl.formatMessage(messages.logout),\n 'aria-label': intl.formatMessage(messages.logout)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-sign-out'\n })));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer'\n }, void 0, header, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_search_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__pager'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner',\n onFocus: this.onFocus\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__[\"a\" /* default */], {\n onClose: this.onBlur\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { x: -100 },\n style: { x: __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default()(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }\n }, void 0, function (_ref) {\n var x = _ref.x;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner darker',\n style: { transform: 'translateX(' + x + '%)', visibility: x === -100 ? 'hidden' : 'visible' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__[\"a\" /* default */], {}));\n })));\n };\n\n return Compose;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 777:\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_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_account__ = __webpack_require__(778);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (__WEBPACK_IMPORTED_MODULE_8__initial_state__[\"g\" /* unfollowModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n }));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"A\" /* followAccount */])(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"D\" /* unblockAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"F\" /* unmuteAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_5__components_account__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 778:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Account; });\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__(12);\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__avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(18);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Account);\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.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {});\n }\n\n if (hidden) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== __WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* me */] && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__permalink__[\"a\" /* default */], {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__avatar-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__avatar__[\"a\" /* default */], {\n account: account,\n size: 36\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__display_name__[\"a\" /* default */], {\n account: account\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default.a), _class2.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n onFollow: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onBlock: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onMute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n hidden: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 802:\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__(12);\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__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\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: '/settings/profile',\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.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 803:\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__(6);\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__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(27);\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\n\n\n\n\nvar _class;\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\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 }))), __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 }));\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/***/ 879:\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_navigation_bar__ = __webpack_require__(802);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__initial_state__ = __webpack_require__(18);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n account: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_2__initial_state__[\"e\" /* me */]])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 880:\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_search__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_search__ = __webpack_require__(803);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"e\" /* changeSearch */])(value));\n },\n onClear: function onClear() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"f\" /* clearSearch */])());\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"h\" /* submitSearch */])());\n },\n onShow: function onShow() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"g\" /* showSearch */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_2__components_search__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 881:\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_search_results__ = __webpack_require__(882);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n results: state.getIn(['search', 'results'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_search_results__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 882:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SearchResults; });\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__(12);\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_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_account_container__ = __webpack_require__(777);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_status_container__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\nvar SearchResults = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchResults, _ImmutablePureCompone);\n\n function SearchResults() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchResults);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n SearchResults.prototype.render = function render() {\n var results = this.props.results;\n\n\n var accounts = void 0,\n statuses = void 0,\n hashtags = void 0;\n var count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('accounts').map(function (accountId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_account_container__[\"a\" /* default */], {\n id: accountId\n }, accountId);\n }));\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('statuses').map(function (statusId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_status_container__[\"a\" /* default */], {\n id: statusId\n }, statusId);\n }));\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('hashtags').map(function (hashtag) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n className: 'search-results__hashtag',\n to: '/timelines/tag/' + hashtag\n }, hashtag, '#', hashtag);\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_results.total',\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n values: { count: count }\n })), accounts, statuses, hashtags);\n };\n\n return SearchResults;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class.propTypes = {\n results: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/compose-4617f6e912b5bfa71c43.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n replyCompose,\n mentionCompose,\n} from '../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n pin,\n unpin,\n} from '../actions/interactions';\nimport {\n blockAccount,\n muteAccount,\n} from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n muteConfirm: { id: 'confirmations.mute.confirm', defaultMessage: 'Mute' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => ({\n status: getStatus(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onReply (status, router) {\n dispatch(replyCompose(status, router));\n },\n\n onModalReblog (status) {\n dispatch(reblog(status));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onPin (status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n\n onEmbed (status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n\n onDelete (status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n }));\n }\n },\n\n onMention (account, router) {\n dispatch(mentionCompose(account, router));\n },\n\n onOpenMedia (media, index) {\n dispatch(openModal('MEDIA', { media, index }));\n },\n\n onOpenVideo (media, time) {\n dispatch(openModal('VIDEO', { media, time }));\n },\n\n onBlock (account) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n },\n\n onReport (status) {\n dispatch(initReport(status.get('account'), status));\n },\n\n onMute (account) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.mute.message' defaultMessage='Are you sure you want to mute {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: () => dispatch(muteAccount(account.get('id'))),\n }));\n },\n\n onMuteConversation (status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.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';\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 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 };\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 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._restoreCaret = null;\n this.props.onSuggestionSelected(tokenStart, token, value);\n }\n\n handleChangeSpoilerText = (e) => {\n this.props.onChangeSpoilerText(e.target.value);\n }\n\n componentWillReceiveProps (nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\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 we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || (prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number')) {\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._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\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 position = this.autosuggestTextarea.textarea.selectionStart;\n const emojiChar = data.native;\n this._restoreCaret = position + emojiChar.length + 1;\n this.props.onPickEmoji(position, data);\n }\n\n render () {\n const { intl, onPaste, showSearch } = this.props;\n const disabled = this.props.is_submitting;\n const text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\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 <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 <WarningContainer />\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\n <div className='compose-form__publish'>\n <div className='character-counter__wrapper'><CharacterCounter max={500} text={text} /></div>\n <div className='compose-form__publish-button-wrapper'><Button text={publishText} onClick={this.handleSubmit} disabled={disabled || this.props.is_uploading || length(text) > 500 || (text.length !== 0 && text.trim().length === 0)} block /></div>\n </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';\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\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} /></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' 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 switch(e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\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 onKeyUp = e => {\n if (e.key === 'Escape' && this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (this.props.onKeyUp) {\n this.props.onKeyUp(e);\n }\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 {\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, 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={this.onKeyUp}\n onBlur={this.onBlur}\n onPaste={this.onPaste}\n style={style}\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\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\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};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', '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'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\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;\n\n // 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\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 }\n\n // measure height of a textarea with a single row\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 if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\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\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\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\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\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() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\nvar _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\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * <TextareaAutosize />\n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\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 _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\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\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\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\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.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\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\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 TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // 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 this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._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 title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n label: 'CW',\n title: intl.formatMessage(messages.title),\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 handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n handleClick = e => {\n if (e.key === 'Escape') {\n this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\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\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 render () {\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 <div className='privacy-dropdown__dropdown' style={{ ...style, opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }} ref={this.setRef}>\n {items.map(item =>\n <div role='button' tabIndex='0' key={item.value} data-index={item.value} onKeyDown={this.handleClick} onClick={this.handleClick} className={classNames('privacy-dropdown__option', { active: item.value === value })}>\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 };\n\n handleToggle = () => {\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 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 'Enter':\n this.handleToggle();\n break;\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 } = 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='bottom' 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 title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media 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(messages.title)}\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 emojis = emojis.concat(DEFAULTS.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 placement: 'bottom',\n frequentlyUsedEmojis: [],\n };\n\n state = {\n modifierOpen: false,\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 = () => {\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\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();\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 } = 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='bottom' 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';\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});\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 IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },\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 };\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 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 || media.get('description') || '';\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')})` }}>\n <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.handleUndoClick} />\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 mapStateToProps = state => ({\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n});\n\nconst WarningWrapper = ({ needsLockWarning }) => {\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='/settings/profile'><FormattedMessage id='compose_form.lock_disclaimer.lock' defaultMessage='locked' /></a> }} />} />;\n }\n\n return null;\n};\n\nWarningWrapper.propTypes = {\n needsLockWarning: 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 .replace(urlRegex, urlPlaceholder)\n .replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\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 { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport {\n changeCompose,\n submitCompose,\n clearComposeSuggestions,\n fetchComposeSuggestions,\n selectComposeSuggestion,\n changeComposeSpoilerText,\n insertEmojiCompose,\n} from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n\n onChange (text) {\n dispatch(changeCompose(text));\n },\n\n onSubmit () {\n dispatch(submitCompose());\n },\n\n onClearSuggestions () {\n dispatch(clearComposeSuggestions());\n },\n\n onFetchSuggestions (token) {\n dispatch(fetchComposeSuggestions(token));\n },\n\n onSuggestionSelected (position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n\n onChangeSpoilerText (checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n\n onPaste (files) {\n dispatch(uploadCompose(files));\n },\n\n onPickEmoji (position, data) {\n dispatch(insertEmojiCompose(position, data));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/compose_form_container.js","import React from 'react';\nimport ComposeFormContainer from './containers/compose_form_container';\nimport NavigationContainer from './containers/navigation_container';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport { mountCompose, unmountCompose } from '../../actions/compose';\nimport { Link } from 'react-router-dom';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport SearchContainer from './containers/search_container';\nimport Motion from '../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport SearchResultsContainer from './containers/search_results_container';\nimport { changeComposing } from '../../actions/compose';\n\nconst messages = defineMessages({\n start: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n});\n\nconst mapStateToProps = state => ({\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Compose extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n multiColumn: PropTypes.bool,\n showSearch: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount () {\n this.props.dispatch(mountCompose());\n }\n\n componentWillUnmount () {\n this.props.dispatch(unmountCompose());\n }\n\n onFocus = () => {\n this.props.dispatch(changeComposing(true));\n }\n\n onBlur = () => {\n this.props.dispatch(changeComposing(false));\n }\n\n render () {\n const { multiColumn, showSearch, intl } = this.props;\n\n let header = '';\n\n if (multiColumn) {\n const { columns } = this.props;\n header = (\n <nav className='drawer__header'>\n <Link to='/getting-started' className='drawer__tab' title={intl.formatMessage(messages.start)} aria-label={intl.formatMessage(messages.start)}><i role='img' className='fa fa-fw fa-asterisk' /></Link>\n {!columns.some(column => column.get('id') === 'HOME') && (\n <Link to='/timelines/home' className='drawer__tab' title={intl.formatMessage(messages.home_timeline)} aria-label={intl.formatMessage(messages.home_timeline)}><i role='img' className='fa fa-fw fa-home' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'NOTIFICATIONS') && (\n <Link to='/notifications' className='drawer__tab' title={intl.formatMessage(messages.notifications)} aria-label={intl.formatMessage(messages.notifications)}><i role='img' className='fa fa-fw fa-bell' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'COMMUNITY') && (\n <Link to='/timelines/public/local' className='drawer__tab' title={intl.formatMessage(messages.community)} aria-label={intl.formatMessage(messages.community)}><i role='img' className='fa fa-fw fa-users' /></Link>\n )}\n {!columns.some(column => column.get('id') === 'PUBLIC') && (\n <Link to='/timelines/public' className='drawer__tab' title={intl.formatMessage(messages.public)} aria-label={intl.formatMessage(messages.public)}><i role='img' className='fa fa-fw fa-globe' /></Link>\n )}\n <a href='/settings/preferences' className='drawer__tab' title={intl.formatMessage(messages.preferences)} aria-label={intl.formatMessage(messages.preferences)}><i role='img' className='fa fa-fw fa-cog' /></a>\n <a href='/auth/sign_out' className='drawer__tab' data-method='delete' title={intl.formatMessage(messages.logout)} aria-label={intl.formatMessage(messages.logout)}><i role='img' className='fa fa-fw fa-sign-out' /></a>\n </nav>\n );\n }\n\n return (\n <div className='drawer'>\n {header}\n\n <SearchContainer />\n\n <div className='drawer__pager'>\n <div className='drawer__inner' onFocus={this.onFocus}>\n <NavigationContainer onClose={this.onBlur} />\n <ComposeFormContainer />\n </div>\n\n <Motion defaultStyle={{ x: -100 }} style={{ x: spring(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }}>\n {({ x }) =>\n <div className='drawer__inner darker' style={{ transform: `translateX(${x}%)`, visibility: x === -100 ? 'hidden' : 'visible' }}>\n <SearchResultsContainer />\n </div>\n }\n </Motion>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/index.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport {\n followAccount,\n unfollowAccount,\n blockAccount,\n unblockAccount,\n muteAccount,\n unmuteAccount,\n} from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nconst messages = defineMessages({\n unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onFollow (account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: <FormattedMessage id='confirmations.unfollow.message' defaultMessage='Are you sure you want to unfollow {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: () => dispatch(unfollowAccount(account.get('id'))),\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n\n onBlock (account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n\n onMute (account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/account_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nconst messages = defineMessages({\n follow: { id: 'account.follow', defaultMessage: 'Follow' },\n unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },\n requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' },\n unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },\n unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool,\n };\n\n handleFollow = () => {\n this.props.onFollow(this.props.account);\n }\n\n handleBlock = () => {\n this.props.onBlock(this.props.account);\n }\n\n handleMute = () => {\n this.props.onMute(this.props.account);\n }\n\n render () {\n const { account, intl, hidden } = this.props;\n\n if (!account) {\n return <div />;\n }\n\n if (hidden) {\n return (\n <div>\n {account.get('display_name')}\n {account.get('username')}\n </div>\n );\n }\n\n let buttons;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n const following = account.getIn(['relationship', 'following']);\n const requested = account.getIn(['relationship', 'requested']);\n const blocking = account.getIn(['relationship', 'blocking']);\n const muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = <IconButton disabled icon='hourglass' title={intl.formatMessage(messages.requested)} />;\n } else if (blocking) {\n buttons = <IconButton active icon='unlock-alt' title={intl.formatMessage(messages.unblock, { name: account.get('username') })} onClick={this.handleBlock} />;\n } else if (muting) {\n buttons = <IconButton active icon='volume-up' title={intl.formatMessage(messages.unmute, { name: account.get('username') })} onClick={this.handleMute} />;\n } else {\n buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />;\n }\n }\n\n return (\n <div className='account'>\n <div className='account__wrapper'>\n <Permalink key={account.get('id')} className='account__display-name' href={account.get('url')} to={`/accounts/${account.get('id')}`}>\n <div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div>\n <DisplayName account={account} />\n </Permalink>\n\n <div className='account__relationship'>\n {buttons}\n </div>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/account.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.isRequired,\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='/settings/profile' 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';\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\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 <FormattedMessage id='search_popout.tips.text' defaultMessage='Simple text returns matching display names, usernames and hashtags' />\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","import { connect } from 'react-redux';\nimport NavigationBar from '../components/navigation_bar';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => {\n return {\n account: state.getIn(['accounts', me]),\n };\n};\n\nexport default connect(mapStateToProps)(NavigationBar);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/navigation_container.js","import { connect } from 'react-redux';\nimport {\n changeSearch,\n clearSearch,\n submitSearch,\n showSearch,\n} from '../../../actions/search';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeSearch(value));\n },\n\n onClear () {\n dispatch(clearSearch());\n },\n\n onSubmit () {\n dispatch(submitSearch());\n },\n\n onShow () {\n dispatch(showSearch());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_container.js","import { connect } from 'react-redux';\nimport SearchResults from '../components/search_results';\n\nconst mapStateToProps = state => ({\n results: state.getIn(['search', 'results']),\n});\n\nexport default connect(mapStateToProps)(SearchResults);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_results_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../../containers/account_container';\nimport StatusContainer from '../../../containers/status_container';\nimport { Link } from 'react-router-dom';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class SearchResults extends ImmutablePureComponent {\n\n static propTypes = {\n results: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { results } = this.props;\n\n let accounts, statuses, hashtags;\n let count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = (\n <div className='search-results__section'>\n {results.get('accounts').map(accountId => <AccountContainer key={accountId} id={accountId} />)}\n </div>\n );\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = (\n <div className='search-results__section'>\n {results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)}\n </div>\n );\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = (\n <div className='search-results__section'>\n {results.get('hashtags').map(hashtag =>\n <Link key={hashtag} className='search-results__hashtag' to={`/timelines/tag/${hashtag}`}>\n #{hashtag}\n </Link>\n )}\n </div>\n );\n }\n\n return (\n <div className='search-results'>\n <div className='search-results__header'>\n <FormattedMessage id='search_results.total' defaultMessage='{count, number} {count, plural, one {result} other {results}}' values={{ count }} />\n </div>\n\n {accounts}\n {statuses}\n {hashtags}\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search_results.js"],"sourceRoot":""}