-{"version":3,"sources":["webpack:///modals/onboarding_modal.js","webpack:///./app/javascript/mastodon/features/ui/components/column_header.js","webpack:///./app/javascript/mastodon/features/compose/components/compose_form.js","webpack:///./app/javascript/mastodon/features/compose/components/character_counter.js","webpack:///./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","webpack:///./app/javascript/mastodon/features/compose/components/reply_indicator.js","webpack:///./app/javascript/mastodon/components/autosuggest_textarea.js","webpack:///./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","webpack:///./app/javascript/mastodon/features/compose/components/autosuggest_account.js","webpack:///./app/javascript/mastodon/components/autosuggest_emoji.js","webpack:///./node_modules/react-textarea-autosize/es/index.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_button_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_button.js","webpack:///./app/javascript/mastodon/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/ui/components/onboarding_modal.js","webpack:///./app/javascript/mastodon/features/compose/components/navigation_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/action_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/search.js"],"names":["webpackJsonp","155","module","__webpack_exports__","__webpack_require__","d","ColumnHeader","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_4_react__","__WEBPACK_IMPORTED_MODULE_4_react___default","__WEBPACK_IMPORTED_MODULE_5_classnames__","__WEBPACK_IMPORTED_MODULE_5_classnames___default","_React$PureComponent","_temp","_this","_ret","this","_len","arguments","length","args","Array","_key","call","apply","concat","handleClick","props","onClick","prototype","render","_props","icon","type","active","columnHeaderId","iconElement","className","id","a","PureComponent","293","ComposeForm","_class","_class2","_temp2","__WEBPACK_IMPORTED_MODULE_5__character_counter__","__WEBPACK_IMPORTED_MODULE_6__components_button__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_8_prop_types__","__WEBPACK_IMPORTED_MODULE_8_prop_types___default","__WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__","__WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__","__WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__","__WEBPACK_IMPORTED_MODULE_12_react_intl__","__WEBPACK_IMPORTED_MODULE_13__containers_spoiler_button_container__","__WEBPACK_IMPORTED_MODULE_14__containers_privacy_dropdown_container__","__WEBPACK_IMPORTED_MODULE_15__containers_sensitive_button_container__","__WEBPACK_IMPORTED_MODULE_16__containers_emoji_picker_dropdown_container__","__WEBPACK_IMPORTED_MODULE_17__containers_upload_form_container__","__WEBPACK_IMPORTED_MODULE_18__containers_warning_container__","__WEBPACK_IMPORTED_MODULE_19__is_mobile__","__WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_21_stringz__","__WEBPACK_IMPORTED_MODULE_22__initial_state__","allowedAroundShortCode","messages","Object","placeholder","defaultMessage","spoiler_placeholder","publish","publishLoud","_ImmutablePureCompone","handleChange","e","onChange","target","value","handleKeyDown","keyCode","ctrlKey","metaKey","handleSubmit","text","autosuggestTextarea","textarea","_this$props","is_submitting","is_uploading","anyMedia","fulltext","spoiler_text","join","trim","onSubmit","onSuggestionsClearRequested","onClearSuggestions","onSuggestionsFetchRequested","token","onFetchSuggestions","onSuggestionSelected","tokenStart","handleChangeSpoilerText","onChangeSpoilerText","setAutosuggestTextarea","c","setSpoilerText","spoilerText","handleEmojiPick","data","position","selectionStart","needsSpace","custom","includes","onPickEmoji","componentDidUpdate","prevProps","focusDate","selectionEnd","preselectDate","search","caretPosition","setSelectionRange","focus","spoiler","intl","onPaste","showSearch","disabled","disabledButton","publishText","privacy","formatMessage","style","display","createElement","onKeyDown","ref","suggestions","autoFocus","window","innerWidth","max","block","propTypes","object","isRequired","string","suggestion_token","list","bool","instanceOf","Date","number","func","defaultProps","294","CharacterCounter","__WEBPACK_IMPORTED_MODULE_5_stringz__","checkRemainingText","diff","295","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__actions_compose__","__WEBPACK_IMPORTED_MODULE_2__selectors__","__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__","makeMapStateToProps","getStatus","state","status","getIn","mapDispatchToProps","dispatch","onCancel","296","ReplyIndicator","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","__WEBPACK_IMPORTED_MODULE_7__components_avatar__","__WEBPACK_IMPORTED_MODULE_8__components_icon_button__","__WEBPACK_IMPORTED_MODULE_9__components_display_name__","__WEBPACK_IMPORTED_MODULE_10_react_intl__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_12__rtl__","cancel","handleAccountClick","button","preventDefault","context","router","history","push","content","__html","get","direction","title","inverted","href","account","size","dangerouslySetInnerHTML","contextTypes","map","297","AutosuggestTextarea","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_5_react__","__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__","__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9_prop_types__","__WEBPACK_IMPORTED_MODULE_9_prop_types___default","__WEBPACK_IMPORTED_MODULE_10__rtl__","__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__","__WEBPACK_IMPORTED_MODULE_13_classnames__","__WEBPACK_IMPORTED_MODULE_13_classnames___default","textAtCursorMatchesToken","str","word","left","slice","right","indexOf","toLowerCase","suggestionsHidden","selectedSuggestion","lastToken","_textAtCursorMatchesT","setState","_this$state","which","isComposing","key","document","querySelector","parentElement","Math","min","stopPropagation","defaultPrevented","onBlur","onSuggestionClick","suggestion","currentTarget","getAttribute","setTextarea","clipboardData","files","renderSuggestion","i","inner","emoji","role","tabIndex","data-index","selected","onMouseDown","componentWillReceiveProps","nextProps","onKeyUp","inputRef","aria-autocomplete","isEmpty","298","__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__","getAccount","_ref","299","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","300","process","AutosuggestEmoji","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default","assetHost","env","CDN_HOST","url","imageUrl","mapping","native","replace","filename","src","alt","colons","301","_extends","assign","source","hasOwnProperty","_inheritsLoose","subClass","superClass","create","constructor","__proto__","_objectWithoutProperties","excluded","sourceKeys","keys","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","calculateNodeHeight","uiTextNode","uid","useCache","minRows","maxRows","hiddenTextarea","parentNode","body","appendChild","nodeStyling","calculateNodeStyling","paddingSize","borderSize","boxSizing","sizingStyle","forEach","HIDDEN_TEXTAREA_STYLE","setProperty","minHeight","Infinity","maxHeight","height","scrollHeight","singleRowHeight","rowCount","floor","node","computedStyleCache","getComputedStyle","SIZING_STYLE","reduce","obj","name","getPropertyValue","isIE","width","parseFloat","nodeInfo","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_prop_types__","isBrowser","documentElement","currentStyle","min-height","max-height","visibility","overflow","z-index","top","purgeCache","seed","noop","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","onNextFrame","clearNextFrameAction","TextareaAutosize","_React$Component","_resizeLock","_onRootDOMNode","_rootDOMNode","_onChange","event","_controlled","_resizeComponent","callback","nodeHeight","_uid","useCacheForDOMMeasurements","_proto","onHeightChange","componentDidMount","_this2","_resizeListener","addEventListener","_this3","_clearNextFrame","_onNextFrameActionId","prevState","componentWillUnmount","removeEventListener","Component","302","__WEBPACK_IMPORTED_MODULE_1__components_upload_button__","__WEBPACK_IMPORTED_MODULE_2__actions_compose__","mapStateToProps","some","m","resetFileKey","onSelectFile","303","UploadButton","_dec","__WEBPACK_IMPORTED_MODULE_5__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_8_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default","upload","acceptContentTypes","iconStyle","lineHeight","fileElement","click","setRef","multiple","accept","toArray","listOf","304","__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__","__WEBPACK_IMPORTED_MODULE_3_react_intl__","marked","unmarked","label","ariaControls","305","TextIconButton","aria-label","aria-expanded","aria-controls","306","__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__","__WEBPACK_IMPORTED_MODULE_3__actions_modal__","__WEBPACK_IMPORTED_MODULE_4__is_mobile__","isModalOpen","modalType","isUserTouching","onModalOpen","onModalClose","307","PrivacyDropdown","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_11_classnames__","__WEBPACK_IMPORTED_MODULE_11_classnames___default","public_short","public_long","unlisted_short","unlisted_long","private_short","private_long","direct_short","direct_long","change_privacy","listenerOptions","hasSupport","passive","PrivacyDropdownMenu","mounted","handleDocumentClick","contains","onClose","items","index","findIndex","item","element","childNodes","firstChild","lastChild","setFocusRef","focusedItem","defaultStyle","opacity","scaleX","scaleY","damping","stiffness","transform","aria-selected","meta","_React$PureComponent2","_ret2","_len2","_key2","open","placement","handleToggle","_ref2","actions","options","option","handleModalActionClick","_target$getBoundingCl","getBoundingClientRect","innerHeight","handleClose","componentWillMount","_props2","_state","valueOption","find","expanded","show","308","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_6_classnames__","__WEBPACK_IMPORTED_MODULE_6_classnames___default","__WEBPACK_IMPORTED_MODULE_7__components_icon_button__","__WEBPACK_IMPORTED_MODULE_8__actions_compose__","__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_11_react_intl__","visible","SensitiveButton","scale","compose-form__sensitive-button--visible","309","__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__","__WEBPACK_IMPORTED_MODULE_2__actions_settings__","__WEBPACK_IMPORTED_MODULE_3_reselect__","__WEBPACK_IMPORTED_MODULE_4_immutable__","__WEBPACK_IMPORTED_MODULE_5__actions_emojis__","DEFAULTS","getFrequentlyUsedEmojis","emojiCounters","emojis","keySeq","sort","b","reverse","perLine","uniqueDefaults","filter","getCustomEmojis","aShort","bShort","custom_emojis","skinTone","frequentlyUsedEmojis","onSkinTone","310","EmojiPickerDropdown","_class3","_class4","_temp4","_class5","__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__","__WEBPACK_IMPORTED_MODULE_8_classnames__","__WEBPACK_IMPORTED_MODULE_8_classnames___default","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__","emoji_search","emoji_not_found","recent","search_results","people","nature","food","activity","travel","objects","symbols","flags","EmojiPicker","Emoji","backgroundImageFn","categoriesSort","ModifierPickerMenu","onSelect","attachListeners","removeListeners","set","sheetSize","skin","ModifierPicker","onOpen","handleSelect","modifier","EmojiPickerMenu","_React$PureComponent3","_temp3","_ret3","_len3","_key3","modifierOpen","getI18n","notfound","categories","foods","places","onPick","handleModifierOpen","handleModifierClose","handleModifierChange","loading","selecting","emojiSize","color","i18n","include","showPreview","emojiTooltip","_React$PureComponent4","_temp5","_this4","_ret4","_len4","_key4","dropdown","onShowDropdown","then","EmojiMart","Picker","catch","onHideDropdown","onToggle","setTargetRef","findTarget","_props3","pulse-loading","311","__WEBPACK_IMPORTED_MODULE_1__components_upload_form__","mediaIds","312","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__","313","__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__","progress","314","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","315","__WEBPACK_IMPORTED_MODULE_1__components_upload__","media","onUndo","onDescriptionChange","description","onOpenFocalPoint","316","Upload","__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default","hovered","focused","dirtyDescription","handleUndoClick","handleFocalPointClick","handleInputChange","handleMouseEnter","handleMouseLeave","handleInputFocus","handleInputBlur","focusX","focusY","x","y","onMouseEnter","onMouseLeave","backgroundImage","backgroundPosition","maxLength","onFocus","317","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_warning__","__WEBPACK_IMPORTED_MODULE_4_react_intl__","__WEBPACK_IMPORTED_MODULE_5__initial_state__","APPROX_HASHTAG_RE","needsLockWarning","hashtagWarning","test","directMessageWarning","WarningWrapper","message","values","locked","318","Warning","834","defineProperty","OnboardingModal","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__","__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default","__WEBPACK_IMPORTED_MODULE_9__components_permalink__","__WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__","__WEBPACK_IMPORTED_MODULE_11__compose_components_search__","__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__","__WEBPACK_IMPORTED_MODULE_13__column_header__","__WEBPACK_IMPORTED_MODULE_14_immutable__","__WEBPACK_IMPORTED_MODULE_15__initial_state__","home_title","notifications_title","local_title","federated_title","PageOne","acct","domain","PageTwo","myAccount","mentionedDomains","PageThree","_ref3","onClear","onShow","illustration","to","introductions","PageFour","_ref4","marginBottom","PageSix","_ref5","admin","adminSection","guidelines","github","rel","apps","currentIndex","handleSkip","handleDot","Number","handlePrev","_ref6","handleNext","pages","_ref7","handleSwipe","handleKeyUp","_ref8","hasMore","nextOrDoneBtn","onChangeIndex","page","onboarding-modal__page__wrapper--active","_","886","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_7__action_bar__","__WEBPACK_IMPORTED_MODULE_8__components_avatar__","__WEBPACK_IMPORTED_MODULE_10__components_icon_button__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default","887","ActionBar","__WEBPACK_IMPORTED_MODULE_5__containers_dropdown_menu_container__","edit_profile","pins","preferences","follow_requests","favourites","lists","blocks","domain_blocks","mutes","menu","895","Search","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_9__initial_state__","SearchPopout","extraInformation","handleClear","submitted","handleFocus","handleBlur","hasValue"],"mappings":"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","file":"modals/onboarding_modal.js","sourcesContent":["webpackJsonp([3],{\n\n/***/ 155:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnHeader; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_classnames__);\n\n\n\n\n\n\n\n\nvar ColumnHeader = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n icon = _props.icon,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n var iconElement = '';\n\n if (icon) {\n iconElement = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-' + icon + ' column-header__icon'\n });\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h1', {\n className: __WEBPACK_IMPORTED_MODULE_5_classnames___default()('column-header', { active: active }),\n id: columnHeaderId || null\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick\n }, void 0, iconElement, type));\n };\n\n return ColumnHeader;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 293:\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__(294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_button__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__ = __webpack_require__(297);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__containers_spoiler_button_container__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_privacy_dropdown_container__ = __webpack_require__(306);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__containers_sensitive_button_container__ = __webpack_require__(308);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__containers_emoji_picker_dropdown_container__ = __webpack_require__(309);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__containers_upload_form_container__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__containers_warning_container__ = __webpack_require__(317);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__is_mobile__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_stringz__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21_stringz__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar allowedAroundShortCode = '><\\x85 \\xA0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\t\\n\\x0B\\f\\r';\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"f\" /* defineMessages */])({\n placeholder: {\n 'id': 'compose_form.placeholder',\n 'defaultMessage': 'What is on your mind?'\n },\n spoiler_placeholder: {\n 'id': 'compose_form.spoiler_placeholder',\n 'defaultMessage': 'Write your warning here'\n },\n publish: {\n 'id': 'compose_form.publish',\n 'defaultMessage': 'Toot'\n },\n publishLoud: {\n 'id': 'compose_form.publish_loud',\n 'defaultMessage': '{publish}!'\n }\n});\n\nvar ComposeForm = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ComposeForm, _ImmutablePureCompone);\n\n function ComposeForm() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ComposeForm);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(e.target.value);\n }, _this.handleKeyDown = function (e) {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n _this.handleSubmit();\n }\n }, _this.handleSubmit = function () {\n if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n }\n\n // Submit disabled:\n var _this$props = _this.props,\n is_submitting = _this$props.is_submitting,\n is_uploading = _this$props.is_uploading,\n anyMedia = _this$props.anyMedia;\n\n var fulltext = [_this.props.spoiler_text, _this.props.text].join('');\n\n if (is_submitting || is_uploading || Object(__WEBPACK_IMPORTED_MODULE_21_stringz__[\"length\"])(fulltext) > __WEBPACK_IMPORTED_MODULE_22__initial_state__[\"h\" /* maxChars */] || fulltext.length !== 0 && fulltext.trim().length === 0 && !anyMedia) {\n return;\n }\n\n _this.props.onSubmit();\n }, _this.onSuggestionsClearRequested = function () {\n _this.props.onClearSuggestions();\n }, _this.onSuggestionsFetchRequested = function (token) {\n _this.props.onFetchSuggestions(token);\n }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n _this.props.onSuggestionSelected(tokenStart, token, value);\n }, _this.handleChangeSpoilerText = function (e) {\n _this.props.onChangeSpoilerText(e.target.value);\n }, _this.setAutosuggestTextarea = function (c) {\n _this.autosuggestTextarea = c;\n }, _this.setSpoilerText = function (c) {\n _this.spoilerText = c;\n }, _this.handleEmojiPick = function (data) {\n var text = _this.props.text;\n\n var position = _this.autosuggestTextarea.textarea.selectionStart;\n var needsSpace = data.custom && position > 0 && !allowedAroundShortCode.includes(text[position - 1]);\n\n _this.props.onPickEmoji(position, data, needsSpace);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n if (this.props.focusDate !== prevProps.focusDate) {\n var selectionEnd = void 0,\n selectionStart = void 0;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this.props.caretPosition === 'number') {\n selectionStart = this.props.caretPosition;\n selectionEnd = this.props.caretPosition;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if (prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n } else if (this.props.spoiler !== prevProps.spoiler) {\n if (this.props.spoiler) {\n this.spoilerText.focus();\n } else {\n this.autosuggestTextarea.textarea.focus();\n }\n }\n };\n\n ComposeForm.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n onPaste = _props.onPaste,\n showSearch = _props.showSearch,\n anyMedia = _props.anyMedia;\n\n var disabled = this.props.is_submitting;\n var text = [this.props.spoiler_text, this.props.text].join('');\n var disabledButton = disabled || this.props.is_uploading || Object(__WEBPACK_IMPORTED_MODULE_21_stringz__[\"length\"])(text) > __WEBPACK_IMPORTED_MODULE_22__initial_state__[\"h\" /* maxChars */] || text.length !== 0 && text.trim().length === 0 && !anyMedia;\n var publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'compose-form__publish-private'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-lock'\n }), ' ', intl.formatMessage(messages.publish));\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_18__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: 'spoiler-input ' + (this.props.spoiler ? 'spoiler-input--visible' : '')\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_4_react___default.a.createElement('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', ref: this.setSpoilerText }))), __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_19__is_mobile__[\"b\" /* isMobile */])(window.innerWidth)\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_16__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_17__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_14__containers_privacy_dropdown_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_15__containers_sensitive_button_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__containers_spoiler_button_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'character-counter__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__character_counter__[\"a\" /* default */], {\n max: __WEBPACK_IMPORTED_MODULE_22__initial_state__[\"h\" /* maxChars */],\n text: text\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__publish'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__publish-button-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_button__[\"a\" /* default */], {\n text: publishText,\n onClick: this.handleSubmit,\n disabled: disabledButton,\n block: true\n }))));\n };\n\n return ComposeForm;\n}(__WEBPACK_IMPORTED_MODULE_20_react_immutable_pure_component___default.a), _class2.propTypes = {\n intl: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.object.isRequired,\n text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string.isRequired,\n suggestion_token: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.list,\n spoiler: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n privacy: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n spoiler_text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n focusDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n caretPosition: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.number,\n preselectDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n is_submitting: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n is_uploading: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n onChange: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSubmit: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onClearSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onFetchSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onChangeSpoilerText: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPaste: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPickEmoji: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n showSearch: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n anyMedia: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 294:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CharacterCounter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_stringz__);\n\n\n\n\n\n\n\n\nvar CharacterCounter = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, CharacterCounter);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - Object(__WEBPACK_IMPORTED_MODULE_5_stringz__[\"length\"])(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 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__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(296);\n\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_compose__[\"E\" /* cancelReplyCompose */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 296:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ReplyIndicator; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__rtl__ = __webpack_require__(98);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ReplyIndicator);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n var style = {\n direction: Object(__WEBPACK_IMPORTED_MODULE_12__rtl__[\"a\" /* isRtl */])(status.get('search_index')) ? 'rtl' : 'ltr'\n };\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__cancel'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick,\n inverted: true\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n account: status.get('account'),\n size: 24\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_display_name__[\"a\" /* default */], {\n account: status.get('account')\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__content',\n style: style,\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class2.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _class2.propTypes = {\n status: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map,\n onCancel: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 297:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestTextarea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__rtl__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__ = __webpack_require__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_classnames__);\n\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':', '#'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestTextarea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n if (e.which === 229 || e.isComposing) {\n // Ignore key events during text composition\n // e.key may be a name of the physical key even in this case (e.x. Safari / Chrome on Mac)\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (suggestions.size === 0 || suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n } else {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(suggestion)) === 'object') {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__[\"a\" /* default */], {\n emoji: suggestion\n });\n key = suggestion.id;\n } else if (suggestion[0] === '#') {\n inner = suggestion;\n key = suggestion;\n } else {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__[\"a\" /* default */], {\n id: suggestion\n });\n key = suggestion;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: __WEBPACK_IMPORTED_MODULE_13_classnames___default()('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n onKeyUp = _props.onKeyUp,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (Object(__WEBPACK_IMPORTED_MODULE_10__rtl__[\"a\" /* isRtl */])(value)) {\n style.direction = 'rtl';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, placeholder), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__[\"a\" /* default */], {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style,\n 'aria-autocomplete': 'list'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n value: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n disabled: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool,\n placeholder: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsClearRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsFetchRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onChange: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onKeyUp: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onKeyDown: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onPaste: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n autoFocus: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 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_autosuggest_account__ = __webpack_require__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(67);\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/***/ 299:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestAccount; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestAccount);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account-icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_avatar__[\"a\" /* default */], {\n account: account,\n size: 18\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_display_name__[\"a\" /* default */], {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 300:\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__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__);\n\n\n\n\n\n\n\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestEmoji);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native] || __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-emoji'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(35)))\n\n/***/ }),\n\n/***/ 301:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'tab-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\nvar computedStyleCache = {};\nfunction calculateNodeHeight(uiTextNode, uid, useCache, minRows, maxRows) {\n if (useCache === void 0) {\n useCache = false;\n }\n\n if (minRows === void 0) {\n minRows = null;\n }\n\n if (maxRows === void 0) {\n maxRows = null;\n }\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n } // measure height of a textarea with a single row\n\n\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n return {\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n rowCount: rowCount\n };\n}\n\nfunction calculateNodeStyling(node, uid, useCache) {\n if (useCache === void 0) {\n useCache = false;\n }\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n var boxSizing = sizingStyle['box-sizing']; // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\n/**\n * <TextareaAutosize />\n */\nvar noop = function noop() {}; // IE11 has a problem with eval source maps, can be reproduced with:\n// eval('\"use strict\"; var onNextFrame = window.cancelAnimationFrame; onNextFrame(4);')\n// so we bind window as context in dev modes\n\n\nvar _ref = isBrowser && window.requestAnimationFrame ? true ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [window.requestAnimationFrame.bind(window), window.cancelAnimationFrame.bind(window)] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function (callback) {\n if (callback === void 0) {\n callback = noop;\n }\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight\n }, callback);\n\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n var _proto = TextareaAutosize.prototype;\n\n _proto.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = _objectWithoutProperties(_props, [\"minRows\", \"maxRows\", \"onHeightChange\", \"useCacheForDOMMeasurements\", \"inputRef\"]);\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"textarea\", _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent(); // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n\n\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n\n _this2._resizeLock = true;\n\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n\n window.addEventListener('resize', this._resizeListener);\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n _proto._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextareaAutosize);\n\n/***/ }),\n\n/***/ 302:\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__(303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Z\" /* uploadCompose */])(files));\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_button__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 303:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__);\n\n\n\n\n\nvar _dec, _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = Object(__WEBPACK_IMPORTED_MODULE_8_react_redux__[\"connect\"])(makeMapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-button'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_icon_button__[\"a\" /* default */], {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n onSelectFile: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n resetFileKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n acceptContentTypes: __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default.a.listOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string).isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 304:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(7);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n marked: {\n 'id': 'compose_form.spoiler.marked',\n 'defaultMessage': 'Text is hidden behind warning'\n },\n unmarked: {\n 'id': 'compose_form.spoiler.unmarked',\n 'defaultMessage': 'Text is not hidden'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(state.getIn(['compose', 'spoiler']) ? messages.marked : messages.unmarked),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeComposeSpoilerness */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 305:\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/***/ 306:\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__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(43);\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* changeComposeVisibility */])(value));\n },\n\n\n isUserTouching: __WEBPACK_IMPORTED_MODULE_4__is_mobile__[\"c\" /* isUserTouching */],\n onModalOpen: function onModalOpen(props) {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"c\" /* closeModal */])());\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 307:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PrivacyDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(28);\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__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdownMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n mounted: false\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleKeyDown = function (e) {\n var items = _this.props.items;\n\n var value = e.currentTarget.getAttribute('data-index');\n var index = items.findIndex(function (item) {\n return item.value === value;\n });\n var element = void 0;\n\n switch (e.key) {\n case 'Escape':\n _this.props.onClose();\n break;\n case 'Enter':\n _this.handleClick(e);\n break;\n case 'ArrowDown':\n element = _this.node.childNodes[index + 1];\n if (element) {\n element.focus();\n _this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'ArrowUp':\n element = _this.node.childNodes[index - 1];\n if (element) {\n element.focus();\n _this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'Home':\n element = _this.node.firstChild;\n if (element) {\n element.focus();\n _this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'End':\n element = _this.node.lastChild;\n if (element) {\n element.focus();\n _this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n }\n }, _this.handleClick = function (e) {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _this.setFocusRef = function (c) {\n _this.focusedItem = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n if (this.focusedItem) this.focusedItem.focus();\n this.setState({ mounted: true });\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var mounted = this.state.mounted;\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return (\n // It should not be transformed when mounting because the resulting\n // size will be used to determine the coordinate of the menu by\n // react-overlays\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: mounted ? 'scale(' + scaleX + ', ' + scaleY + ')' : null }), role: 'listbox', ref: _this2.setRef },\n items.map(function (item) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { role: 'option', tabIndex: '0', key: item.value, 'data-index': item.value, onKeyDown: _this2.handleKeyDown, onClick: _this2.handleClick, className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value }), 'aria-selected': item.value === value, ref: item.value === value ? _this2.setFocusRef : null },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-' + item.icon\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, item.text), item.meta)\n );\n })\n )\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar PrivacyDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class2 = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false,\n placement: null\n }, _this3.handleToggle = function (_ref2) {\n var target = _ref2.target;\n\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n var _target$getBoundingCl = target.getBoundingClientRect(),\n top = _target$getBoundingCl.top;\n\n _this3.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var _state = this.state,\n open = _state.open,\n placement = _state.placement;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: open,\n placement: placement,\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 308:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(28);\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__(7);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n marked: {\n 'id': 'compose_form.sensitive.marked',\n 'defaultMessage': 'Media is marked as sensitive'\n },\n unmarked: {\n 'id': 'compose_form.sensitive.unmarked',\n 'defaultMessage': 'Media is not marked as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"G\" /* changeComposeSensitivity */])());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SensitiveButton);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.87 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default()(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = __WEBPACK_IMPORTED_MODULE_6_classnames___default()('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(active ? messages.marked : messages.unmarked),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(SensitiveButton)));\n\n/***/ }),\n\n/***/ 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_emoji_picker_dropdown__ = __webpack_require__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_reselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_emojis__ = __webpack_require__(102);\n\n\n\n\n\n\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], Object(__WEBPACK_IMPORTED_MODULE_4_immutable__[\"Map\"])());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n var uniqueDefaults = DEFAULTS.filter(function (emoji) {\n return !emojis.includes(emoji);\n });\n emojis = emojis.concat(uniqueDefaults.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_settings__[\"c\" /* changeSetting */])(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_emojis__[\"b\" /* useEmoji */])(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 310:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmojiPickerDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__emoji_emoji__ = __webpack_require__(73);\n\n\n\n\n\nvar _class3, _class4, _temp4, _class5;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet_10.png';\n};\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPickerMenu);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar EmojiPickerMenu = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false,\n placement: null\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: Object(__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__[\"buildCustomEmojis\"])(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class5 = function (_React$PureComponent4) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function (_ref) {\n var target = _ref.target;\n\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n Object(__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__[\"i\" /* EmojiPicker */])().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n top = _target$getBoundingCl.top;\n\n _this4.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown(e);\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading,\n placement = _state.placement;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: active,\n placement: placement,\n target: this.findTarget\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class5;\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(35)))\n\n/***/ }),\n\n/***/ 311:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_form__ = __webpack_require__(312);\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/***/ 312:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__ = __webpack_require__(313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_upload_container__ = __webpack_require__(315);\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/***/ 313:\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__(314);\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/***/ 314:\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__(28);\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__(7);\n\n\n\n\n\n\n\n\n\n\nvar UploadProgress = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadProgress);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-upload'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__message'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__backdrop'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { width: 0 },\n style: { width: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 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_upload__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(26);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"X\" /* undoUploadCompose */])(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* changeUploadCompose */])(id, { description: description }));\n },\n\n onOpenFocalPoint: function onOpenFocalPoint(id) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('FOCAL_POINT', { id: id }));\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 316:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Upload; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(28);\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Upload);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleFocalPointClick = function () {\n _this.props.onOpenFocalPoint(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || this.state.dirtyDescription !== '' && media.get('description') || '';\n var focusX = media.getIn(['meta', 'focus', 'x']);\n var focusY = media.getIn(['meta', 'focus', 'y']);\n var x = (focusX / 2 + .5) * 100;\n var y = (focusY / -2 + .5) * 100;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.8 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')', backgroundPosition: x + '% ' + y + '%' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('compose-form__upload__actions', { active: active })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n className: 'icon-button',\n onClick: _this2.handleUndoClick\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-times'\n }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_form.undo',\n defaultMessage: 'Delete'\n })), media.get('type') === 'image' && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n className: 'icon-button',\n onClick: _this2.handleFocalPointClick\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-crosshairs'\n }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_form.focus',\n defaultMessage: 'Crop'\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('compose-form__upload-description', { active: active })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n media: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n onUndo: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onDescriptionChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onOpenFocalPoint: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 317:\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__(318);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(13);\n\n\n\n\n\n\n\n\nvar APPROX_HASHTAG_RE = /(?:^|[^\\/\\)\\w])#(\\w*[a-zA-Z·]\\w*)/i;\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"i\" /* me */], 'locked']),\n hashtagWarning: state.getIn(['compose', 'privacy']) !== 'public' && APPROX_HASHTAG_RE.test(state.getIn(['compose', 'text'])),\n directMessageWarning: state.getIn(['compose', 'privacy']) === 'direct'\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning,\n hashtagWarning = _ref.hashtagWarning,\n directMessageWarning = _ref.directMessageWarning;\n\n if (needsLockWarning) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/user-settings'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n if (hashtagWarning) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.hashtag_warning',\n defaultMessage: 'This toot won\\'t be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.'\n })\n });\n }\n\n if (directMessageWarning) {\n var message = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.direct_message_warning',\n defaultMessage: 'This toot will only be sent to all the mentioned users.'\n }), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/terms',\n target: '_blank'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.direct_message_warning_learn_more',\n defaultMessage: 'Learn more'\n })));\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n message: message\n });\n }\n\n return null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(mapStateToProps)(WarningWrapper));\n\n/***/ }),\n\n/***/ 318:\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__(28);\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/***/ 834:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return OnboardingModal; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__compose_components_search__ = __webpack_require__(895);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__ = __webpack_require__(886);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__column_header__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar noop = function noop() {};\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"f\" /* defineMessages */])({\n home_title: {\n 'id': 'column.home',\n 'defaultMessage': 'Home'\n },\n notifications_title: {\n 'id': 'column.notifications',\n 'defaultMessage': 'Notifications'\n },\n local_title: {\n 'id': 'column.community',\n 'defaultMessage': 'Local timeline'\n },\n federated_title: {\n 'id': 'column.public',\n 'defaultMessage': 'Federated timeline'\n }\n});\n\nvar PageOne = function PageOne(_ref) {\n var acct = _ref.acct,\n domain = _ref.domain;\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page onboarding-modal__page-one'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page-one__lead'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('h1', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_one.welcome',\n defaultMessage: 'Welcome to Mastodon!'\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_one.federation',\n defaultMessage: 'Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.'\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page-one__extra'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'display-case'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'display-case__label'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_one.full_handle',\n defaultMessage: 'Your full handle'\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'display-case__case'\n }, void 0, '@', acct, '@', domain)), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_one.handle_hint',\n defaultMessage: 'This is what you would tell your friends to search for.'\n }))));\n};\n\nvar PageTwo = function PageTwo(_ref2) {\n var myAccount = _ref2.myAccount;\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page onboarding-modal__page-two'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'pseudo-drawer'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__[\"a\" /* default */], {\n account: myAccount\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__compose_components_compose_form__[\"a\" /* default */], {\n text: 'Awoo! #introductions',\n suggestions: Object(__WEBPACK_IMPORTED_MODULE_14_immutable__[\"List\"])(),\n mentionedDomains: [],\n spoiler: false,\n onChange: noop,\n onSubmit: noop,\n onPaste: noop,\n onPickEmoji: noop,\n onChangeSpoilerText: noop,\n onClearSuggestions: noop,\n onFetchSuggestions: noop,\n onSuggestionSelected: noop,\n showSearch: true\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_two.compose',\n defaultMessage: 'Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.'\n })));\n};\n\nvar PageThree = function PageThree(_ref3) {\n var myAccount = _ref3.myAccount;\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page onboarding-modal__page-three'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__compose_components_search__[\"a\" /* default */], {\n value: '',\n onChange: noop,\n onSubmit: noop,\n onClear: noop,\n onShow: noop\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'pseudo-drawer'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__compose_components_navigation_bar__[\"a\" /* default */], {\n account: myAccount\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_three.search',\n defaultMessage: 'Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.',\n values: { illustration: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n to: '/timelines/tag/illustration',\n href: '/tags/illustration'\n }, void 0, '#illustration'), introductions: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n to: '/timelines/tag/introductions',\n href: '/tags/introductions'\n }, void 0, '#introductions') }\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_three.profile',\n defaultMessage: 'Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.'\n })));\n};\n\nvar PageFour = function PageFour(_ref4) {\n var domain = _ref4.domain,\n intl = _ref4.intl;\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page onboarding-modal__page-four'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page-four__columns'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'row'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n icon: 'home',\n type: intl.formatMessage(messages.home_title)\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_four.home',\n defaultMessage: 'The home timeline shows posts from people you follow.'\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n icon: 'bell',\n type: intl.formatMessage(messages.notifications_title)\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_four.notifications',\n defaultMessage: 'The notifications column shows when someone interacts with you.'\n })))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'row'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive',\n style: { marginBottom: 0 }\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n icon: 'users',\n type: intl.formatMessage(messages.local_title)\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'figure non-interactive',\n style: { marginBottom: 0 }\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_header__[\"a\" /* default */], {\n icon: 'globe',\n type: intl.formatMessage(messages.federated_title)\n })))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_five.public_timelines',\n defaultMessage: 'The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.',\n values: { domain: domain }\n }))));\n};\n\nvar PageSix = function PageSix(_ref5) {\n var admin = _ref5.admin,\n domain = _ref5.domain;\n\n var adminSection = '';\n\n if (admin) {\n adminSection = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.admin',\n defaultMessage: 'Your instance\\'s admin is {admin}.',\n values: { admin: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n href: admin.get('url'),\n to: '/accounts/' + admin.get('id')\n }, void 0, '@', admin.get('acct')) }\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('br', {}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.read_guidelines',\n defaultMessage: 'Please read {domain}\\'s {guidelines}!',\n values: { domain: domain, guidelines: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n href: '/about/more',\n target: '_blank'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.guidelines',\n defaultMessage: 'community guidelines'\n })) }\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__page onboarding-modal__page-six'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('h1', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.almost_done',\n defaultMessage: 'Almost done...'\n })), adminSection, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.github',\n defaultMessage: 'Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.',\n values: { github: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n href: 'https://github.com/tootsuite/mastodon',\n target: '_blank',\n rel: 'noopener'\n }, void 0, 'GitHub') }\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.apps_available',\n defaultMessage: 'There are {apps} available for iOS, Android and other platforms.',\n values: { apps: __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('a', {\n href: 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md',\n target: '_blank',\n rel: 'noopener'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.various_app',\n defaultMessage: 'mobile apps'\n })) }\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('p', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('em', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.page_six.appetoot',\n defaultMessage: 'Bon Appetoot!'\n }))));\n};\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n myAccount: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_15__initial_state__[\"i\" /* me */]]),\n admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n domain: state.getIn(['meta', 'domain'])\n };\n};\n\nvar OnboardingModal = (_dec = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(OnboardingModal, _React$PureComponent);\n\n function OnboardingModal() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, OnboardingModal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n currentIndex: 0\n }, _this.handleSkip = function (e) {\n e.preventDefault();\n _this.props.onClose();\n }, _this.handleDot = function (e) {\n var i = Number(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.setState({ currentIndex: i });\n }, _this.handlePrev = function () {\n _this.setState(function (_ref6) {\n var currentIndex = _ref6.currentIndex;\n return {\n currentIndex: Math.max(0, currentIndex - 1)\n };\n });\n }, _this.handleNext = function () {\n var _this2 = _this,\n pages = _this2.pages;\n\n _this.setState(function (_ref7) {\n var currentIndex = _ref7.currentIndex;\n return {\n currentIndex: Math.min(currentIndex + 1, pages.length - 1)\n };\n });\n }, _this.handleSwipe = function (index) {\n _this.setState({ currentIndex: index });\n }, _this.handleKeyUp = function (_ref8) {\n var key = _ref8.key;\n\n switch (key) {\n case 'ArrowLeft':\n _this.handlePrev();\n break;\n case 'ArrowRight':\n _this.handleNext();\n break;\n }\n }, _this.handleClose = function () {\n _this.props.onClose();\n }, _temp), __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n OnboardingModal.prototype.componentWillMount = function componentWillMount() {\n var _props = this.props,\n myAccount = _props.myAccount,\n admin = _props.admin,\n domain = _props.domain,\n intl = _props.intl;\n\n this.pages = [__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageOne, {\n acct: myAccount.get('acct'),\n domain: domain\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageTwo, {\n myAccount: myAccount\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageThree, {\n myAccount: myAccount\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageFour, {\n domain: domain,\n intl: intl\n }), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(PageSix, {\n admin: admin,\n domain: domain\n })];\n };\n\n OnboardingModal.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp);\n };\n\n OnboardingModal.prototype.componentWillUnmount = function componentWillUnmount() {\n window.addEventListener('keyup', this.handleKeyUp);\n };\n\n OnboardingModal.prototype.render = function render() {\n var _this3 = this;\n\n var pages = this.pages;\n var currentIndex = this.state.currentIndex;\n\n var hasMore = currentIndex < pages.length - 1;\n\n var nextOrDoneBtn = hasMore ? __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleNext,\n className: 'onboarding-modal__nav onboarding-modal__next shake-bottom'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.next',\n defaultMessage: 'Next'\n }), ' ', __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-chevron-right'\n })) : __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClose,\n className: 'onboarding-modal__nav onboarding-modal__done shake-bottom'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.done',\n defaultMessage: 'Done'\n }), ' ', __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-check'\n }));\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'modal-root__modal onboarding-modal'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_swipeable_views___default.a, {\n index: currentIndex,\n onChangeIndex: this.handleSwipe,\n className: 'onboarding-modal__pager'\n }, void 0, pages.map(function (page, i) {\n var className = __WEBPACK_IMPORTED_MODULE_8_classnames___default()('onboarding-modal__page__wrapper', 'onboarding-modal__page__wrapper-' + i, {\n 'onboarding-modal__page__wrapper--active': i === currentIndex\n });\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: className\n }, i, page);\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__paginator'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleSkip,\n className: 'onboarding-modal__nav onboarding-modal__skip'\n }, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'onboarding.skip',\n defaultMessage: 'Skip'\n }))), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n className: 'onboarding-modal__dots'\n }, void 0, pages.map(function (_, i) {\n var className = __WEBPACK_IMPORTED_MODULE_8_classnames___default()('onboarding-modal__dot', {\n active: i === currentIndex\n });\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n onClick: _this3.handleDot,\n className: className\n }, 'dot-' + i);\n })), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('div', {}, void 0, nextOrDoneBtn)));\n };\n\n return OnboardingModal;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 886:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavigationBar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__action_bar__ = __webpack_require__(887);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__ = __webpack_require__(12);\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\n\n\n\n\nvar _class, _temp;\n\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_8__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()('div', {\n className: 'navigation-bar__actions'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__components_icon_button__[\"a\" /* default */], {\n className: 'close',\n title: '',\n icon: 'close',\n onClick: this.props.onClose\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__action_bar__[\"a\" /* default */], {\n account: this.props.account\n })));\n };\n\n return NavigationBar;\n}(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n onClose: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func\n}, _temp);\n\n\n/***/ }),\n\n/***/ 887:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ActionBar; });\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_dropdown_menu_container__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(7);\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"f\" /* defineMessages */])({\n edit_profile: {\n 'id': 'account.edit_profile',\n 'defaultMessage': 'Edit profile'\n },\n pins: {\n 'id': 'navigation_bar.pins',\n 'defaultMessage': 'Pinned toots'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n follow_requests: {\n 'id': 'navigation_bar.follow_requests',\n 'defaultMessage': 'Follow requests'\n },\n favourites: {\n 'id': 'navigation_bar.favourites',\n 'defaultMessage': 'Favourites'\n },\n lists: {\n 'id': 'navigation_bar.lists',\n 'defaultMessage': 'Lists'\n },\n blocks: {\n 'id': 'navigation_bar.blocks',\n 'defaultMessage': 'Blocked users'\n },\n domain_blocks: {\n 'id': 'navigation_bar.domain_blocks',\n 'defaultMessage': 'Hidden domains'\n },\n mutes: {\n 'id': 'navigation_bar.mutes',\n 'defaultMessage': 'Muted users'\n }\n});\n\nvar ActionBar = Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ActionBar, _React$PureComponent);\n\n function ActionBar() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ActionBar);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n ActionBar.prototype.render = function render() {\n var intl = this.props.intl;\n\n\n var menu = [];\n\n menu.push({ text: intl.formatMessage(messages.preferences), href: '/user-settings' });\n menu.push({ text: intl.formatMessage(messages.pins), to: '/pinned' });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.follow_requests), to: '/follow_requests' });\n menu.push({ text: intl.formatMessage(messages.favourites), to: '/favourites' });\n menu.push({ text: intl.formatMessage(messages.lists), to: '/lists' });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.mutes), to: '/mutes' });\n menu.push({ text: intl.formatMessage(messages.blocks), to: '/blocks' });\n menu.push({ text: intl.formatMessage(messages.domain_blocks), to: '/domain_blocks' });\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose__action-bar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose__action-bar-dropdown'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__containers_dropdown_menu_container__[\"a\" /* default */], {\n items: menu,\n icon: 'ellipsis-v',\n size: 24,\n direction: 'right'\n })));\n };\n\n return ActionBar;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class;\n\n\n\n/***/ }),\n\n/***/ 895:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Search; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(28);\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n placeholder: {\n 'id': 'search.placeholder',\n 'defaultMessage': 'Search'\n }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchPopout, _React$PureComponent);\n\n function SearchPopout() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchPopout);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SearchPopout.prototype.render = function render() {\n var style = this.props.style;\n\n var extraInformation = __WEBPACK_IMPORTED_MODULE_9__initial_state__[\"k\" /* searchEnabled */] ? __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.full_text',\n defaultMessage: 'Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.'\n }) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.text',\n defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n });\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: Object.assign({}, style, { position: 'absolute', width: 315 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-popout',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h4', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.search_format',\n defaultMessage: 'Advanced search format'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('ul', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '#example'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.hashtag',\n defaultMessage: 'hashtag'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '@username@domain'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.status',\n defaultMessage: 'status'\n }))), extraInformation);\n }));\n };\n\n return SearchPopout;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar Search = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Search, _React$PureComponent2);\n\n function Search() {\n var _temp, _this2, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Search);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n expanded: false\n }, _this2.handleChange = function (e) {\n _this2.props.onChange(e.target.value);\n }, _this2.handleClear = function (e) {\n e.preventDefault();\n\n if (_this2.props.value.length > 0 || _this2.props.submitted) {\n _this2.props.onClear();\n }\n }, _this2.handleKeyDown = function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n _this2.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }, _this2.handleFocus = function () {\n _this2.setState({ expanded: true });\n _this2.props.onShow();\n }, _this2.handleBlur = function () {\n _this2.setState({ expanded: false });\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret);\n }\n\n Search.prototype.noop = function noop() {};\n\n Search.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n value = _props.value,\n submitted = _props.submitted;\n var expanded = this.state.expanded;\n\n var hasValue = value.length > 0 || submitted;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n className: 'search__input',\n type: 'text',\n placeholder: intl.formatMessage(messages.placeholder),\n value: value,\n onChange: this.handleChange,\n onKeyUp: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n className: 'search__icon',\n onClick: this.handleClear\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-search ' + (hasValue ? '' : 'active')\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n 'aria-label': intl.formatMessage(messages.placeholder),\n className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default.a, {\n show: expanded && !hasValue,\n placement: 'bottom',\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SearchPopout, {})));\n };\n\n return Search;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class;\n\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// modals/onboarding_modal.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport default class ColumnHeader extends React.PureComponent {\n\n static propTypes = {\n icon: PropTypes.string,\n type: PropTypes.string,\n active: PropTypes.bool,\n onClick: PropTypes.func,\n columnHeaderId: PropTypes.string,\n };\n\n handleClick = () => {\n this.props.onClick();\n }\n\n render () {\n const { icon, type, active, columnHeaderId } = this.props;\n let iconElement = '';\n\n if (icon) {\n iconElement = <i className={`fa fa-fw fa-${icon} column-header__icon`} />;\n }\n\n return (\n <h1 className={classNames('column-header', { active })} id={columnHeaderId || null}>\n <button onClick={this.handleClick}>\n {iconElement}\n {type}\n </button>\n </h1>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/column_header.js","import React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport 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 { maxChars } from '../../../initial_state';\n\nconst allowedAroundShortCode = '><\\u0085\\u0020\\u00a0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029\\u0009\\u000a\\u000b\\u000c\\u000d';\n\nconst messages = defineMessages({\n placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },\n spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' },\n publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },\n publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },\n});\n\n@injectIntl\nexport default class ComposeForm extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n caretPosition: PropTypes.number,\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool,\n anyMedia: PropTypes.bool,\n };\n\n static defaultProps = {\n showSearch: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n handleSubmit = () => {\n if (this.props.text !== this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n this.props.onChange(this.autosuggestTextarea.textarea.value);\n }\n\n // Submit disabled:\n const { is_submitting, is_uploading, anyMedia } = this.props;\n const fulltext = [this.props.spoiler_text, this.props.text].join('');\n\n if (is_submitting || is_uploading || length(fulltext) > maxChars || (fulltext.length !== 0 && fulltext.trim().length === 0 && !anyMedia)) {\n return;\n }\n\n this.props.onSubmit();\n }\n\n onSuggestionsClearRequested = () => {\n this.props.onClearSuggestions();\n }\n\n onSuggestionsFetchRequested = (token) => {\n this.props.onFetchSuggestions(token);\n }\n\n onSuggestionSelected = (tokenStart, token, value) => {\n this.props.onSuggestionSelected(tokenStart, token, value);\n }\n\n handleChangeSpoilerText = (e) => {\n this.props.onChangeSpoilerText(e.target.value);\n }\n\n componentDidUpdate (prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n if (this.props.focusDate !== prevProps.focusDate) {\n let selectionEnd, selectionStart;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this.props.caretPosition === 'number') {\n selectionStart = this.props.caretPosition;\n selectionEnd = this.props.caretPosition;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if(prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n } else if (this.props.spoiler !== prevProps.spoiler) {\n if (this.props.spoiler) {\n this.spoilerText.focus();\n } else {\n this.autosuggestTextarea.textarea.focus();\n }\n }\n }\n\n setAutosuggestTextarea = (c) => {\n this.autosuggestTextarea = c;\n }\n\n setSpoilerText = (c) => {\n this.spoilerText = c;\n }\n\n handleEmojiPick = (data) => {\n const { text } = this.props;\n const position = this.autosuggestTextarea.textarea.selectionStart;\n const needsSpace = data.custom && position > 0 && !allowedAroundShortCode.includes(text[position - 1]);\n\n this.props.onPickEmoji(position, data, needsSpace);\n }\n\n render () {\n const { intl, onPaste, showSearch, anyMedia } = this.props;\n const disabled = this.props.is_submitting;\n const text = [this.props.spoiler_text, this.props.text].join('');\n const disabledButton = disabled || this.props.is_uploading || length(text) > maxChars || (text.length !== 0 && text.trim().length === 0 && !anyMedia);\n let publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = <span className='compose-form__publish-private'><i className='fa fa-lock' /> {intl.formatMessage(messages.publish)}</span>;\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return (\n <div className='compose-form'>\n <WarningContainer />\n\n <ReplyIndicatorContainer />\n\n <div className={`spoiler-input ${this.props.spoiler ? 'spoiler-input--visible' : ''}`}>\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' ref={this.setSpoilerText} />\n </label>\n </div>\n\n <div className='compose-form__autosuggest-wrapper'>\n <AutosuggestTextarea\n ref={this.setAutosuggestTextarea}\n placeholder={intl.formatMessage(messages.placeholder)}\n disabled={disabled}\n value={this.props.text}\n onChange={this.handleChange}\n suggestions={this.props.suggestions}\n onKeyDown={this.handleKeyDown}\n onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}\n onSuggestionsClearRequested={this.onSuggestionsClearRequested}\n onSuggestionSelected={this.onSuggestionSelected}\n onPaste={onPaste}\n autoFocus={!showSearch && !isMobile(window.innerWidth)}\n />\n\n <EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} />\n </div>\n\n <div className='compose-form__modifiers'>\n <UploadFormContainer />\n </div>\n\n <div className='compose-form__buttons-wrapper'>\n <div className='compose-form__buttons'>\n <UploadButtonContainer />\n <PrivacyDropdownContainer />\n <SensitiveButtonContainer />\n <SpoilerButtonContainer />\n </div>\n <div className='character-counter__wrapper'><CharacterCounter max={maxChars} text={text} /></div>\n </div>\n\n <div className='compose-form__publish'>\n <div className='compose-form__publish-button-wrapper'><Button text={publishText} onClick={this.handleSubmit} disabled={disabledButton} block /></div>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/compose_form.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { length } from 'stringz';\n\nexport default class CharacterCounter extends React.PureComponent {\n\n static propTypes = {\n text: PropTypes.string.isRequired,\n max: PropTypes.number.isRequired,\n };\n\n checkRemainingText (diff) {\n if (diff < 0) {\n return <span className='character-counter character-counter--over'>{diff}</span>;\n }\n\n return <span className='character-counter'>{diff}</span>;\n }\n\n render () {\n const diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/character_counter.js","import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = state => ({\n status: getStatus(state, state.getIn(['compose', 'in_reply_to'])),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n\n onCancel () {\n dispatch(cancelReplyCompose());\n },\n\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { isRtl } from '../../../rtl';\n\nconst messages = defineMessages({\n cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },\n});\n\n@injectIntl\nexport default class ReplyIndicator extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleClick = () => {\n this.props.onCancel();\n }\n\n handleAccountClick = (e) => {\n if (e.button === 0) {\n e.preventDefault();\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n }\n\n render () {\n const { status, intl } = this.props;\n\n if (!status) {\n return null;\n }\n\n const content = { __html: status.get('contentHtml') };\n const style = {\n direction: isRtl(status.get('search_index')) ? 'rtl' : 'ltr',\n };\n\n return (\n <div className='reply-indicator'>\n <div className='reply-indicator__header'>\n <div className='reply-indicator__cancel'><IconButton title={intl.formatMessage(messages.cancel)} icon='times' onClick={this.handleClick} inverted /></div>\n\n <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='reply-indicator__display-name'>\n <div className='reply-indicator__display-avatar'><Avatar account={status.get('account')} size={24} /></div>\n <DisplayName account={status.get('account')} />\n </a>\n </div>\n\n <div className='reply-indicator__content' style={style} dangerouslySetInnerHTML={content} />\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/reply_indicator.js","import React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nconst textAtCursorMatchesToken = (str, caretPosition) => {\n let word;\n\n let left = str.slice(0, caretPosition).search(/\\S+$/);\n let right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':', '#'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nexport default class AutosuggestTextarea extends ImmutablePureComponent {\n\n static propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool,\n };\n\n static defaultProps = {\n autoFocus: true,\n };\n\n state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0,\n };\n\n onChange = (e) => {\n const [ tokenStart, token ] = textAtCursorMatchesToken(e.target.value, e.target.selectionStart);\n\n if (token !== null && this.state.lastToken !== token) {\n this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart });\n this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n this.setState({ lastToken: null });\n this.props.onSuggestionsClearRequested();\n }\n\n this.props.onChange(e);\n }\n\n onKeyDown = (e) => {\n const { suggestions, disabled } = this.props;\n const { selectedSuggestion, suggestionsHidden } = this.state;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n if (e.which === 229 || e.isComposing) {\n // Ignore key events during text composition\n // e.key may be a name of the physical key even in this case (e.x. Safari / Chrome on Mac)\n return;\n }\n\n switch(e.key) {\n case 'Escape':\n if (suggestions.size === 0 || suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n } else {\n e.preventDefault();\n this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !this.props.onKeyDown) {\n return;\n }\n\n this.props.onKeyDown(e);\n }\n\n onBlur = () => {\n this.setState({ suggestionsHidden: true });\n }\n\n onSuggestionClick = (e) => {\n const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);\n this.textarea.focus();\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n }\n\n setTextarea = (c) => {\n this.textarea = c;\n }\n\n onPaste = (e) => {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }\n\n renderSuggestion = (suggestion, i) => {\n const { selectedSuggestion } = this.state;\n let inner, key;\n\n if (typeof suggestion === 'object') {\n inner = <AutosuggestEmoji emoji={suggestion} />;\n key = suggestion.id;\n } else if (suggestion[0] === '#') {\n inner = suggestion;\n key = suggestion;\n } else {\n inner = <AutosuggestAccountContainer id={suggestion} />;\n key = suggestion;\n }\n\n return (\n <div role='button' tabIndex='0' key={key} data-index={i} className={classNames('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion })} onMouseDown={this.onSuggestionClick}>\n {inner}\n </div>\n );\n }\n\n render () {\n const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props;\n const { suggestionsHidden } = this.state;\n const style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return (\n <div className='autosuggest-textarea'>\n <label>\n <span style={{ display: 'none' }}>{placeholder}</span>\n\n <Textarea\n inputRef={this.setTextarea}\n className='autosuggest-textarea__textarea'\n disabled={disabled}\n placeholder={placeholder}\n autoFocus={autoFocus}\n value={value}\n onChange={this.onChange}\n onKeyDown={this.onKeyDown}\n onKeyUp={onKeyUp}\n onBlur={this.onBlur}\n onPaste={this.onPaste}\n style={style}\n aria-autocomplete='list'\n />\n </label>\n\n <div className={`autosuggest-textarea__suggestions ${suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible'}`}>\n {suggestions.map(this.renderSuggestion)}\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_textarea.js","import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { id }) => ({\n account: getAccount(state, id),\n });\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","import React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class AutosuggestAccount extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { account } = this.props;\n\n return (\n <div className='autosuggest-account'>\n <div className='autosuggest-account-icon'><Avatar account={account} size={18} /></div>\n <DisplayName account={account} />\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/autosuggest_account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nconst assetHost = process.env.CDN_HOST || '';\n\nexport default class AutosuggestEmoji extends React.PureComponent {\n\n static propTypes = {\n emoji: PropTypes.object.isRequired,\n };\n\n render () {\n const { emoji } = this.props;\n let url;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n const mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = `${assetHost}/emoji/${mapping.filename}.svg`;\n }\n\n return (\n <div className='autosuggest-emoji'>\n <img\n className='emojione'\n src={url}\n alt={emoji.native || emoji.colons}\n />\n\n {emoji.colons}\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_emoji.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'tab-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\nvar computedStyleCache = {};\nfunction calculateNodeHeight(uiTextNode, uid, useCache, minRows, maxRows) {\n if (useCache === void 0) {\n useCache = false;\n }\n\n if (minRows === void 0) {\n minRows = null;\n }\n\n if (maxRows === void 0) {\n maxRows = null;\n }\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n } // measure height of a textarea with a single row\n\n\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n return {\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n rowCount: rowCount\n };\n}\n\nfunction calculateNodeStyling(node, uid, useCache) {\n if (useCache === void 0) {\n useCache = false;\n }\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n var boxSizing = sizingStyle['box-sizing']; // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\n/**\n * <TextareaAutosize />\n */\nvar noop = function noop() {}; // IE11 has a problem with eval source maps, can be reproduced with:\n// eval('\"use strict\"; var onNextFrame = window.cancelAnimationFrame; onNextFrame(4);')\n// so we bind window as context in dev modes\n\n\nvar _ref = isBrowser && window.requestAnimationFrame ? process.env.NODE_ENV !== 'development' ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [window.requestAnimationFrame.bind(window), window.cancelAnimationFrame.bind(window)] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function (callback) {\n if (callback === void 0) {\n callback = noop;\n }\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight\n }, callback);\n\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n var _proto = TextareaAutosize.prototype;\n\n _proto.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = _objectWithoutProperties(_props, [\"minRows\", \"maxRows\", \"onHeightChange\", \"useCacheForDOMMeasurements\", \"inputRef\"]);\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement(\"textarea\", _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent(); // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n\n\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n\n _this2._resizeLock = true;\n\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n\n window.addEventListener('resize', this._resizeListener);\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n _proto._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n onHeightChange: PropTypes.func,\n useCacheForDOMMeasurements: PropTypes.bool,\n minRows: PropTypes.number,\n maxRows: PropTypes.number,\n inputRef: PropTypes.func\n};\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/react-textarea-autosize/es/index.js","import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),\n resetFileKey: state.getIn(['compose', 'resetFileKey']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onSelectFile (files) {\n dispatch(uploadCompose(files));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_button_container.js","import React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nconst messages = defineMessages({\n upload: { id: 'upload_button.label', defaultMessage: 'Add media' },\n});\n\nconst makeMapStateToProps = () => {\n const mapStateToProps = state => ({\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']),\n });\n\n return mapStateToProps;\n};\n\nconst iconStyle = {\n height: null,\n lineHeight: '27px',\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class UploadButton extends ImmutablePureComponent {\n\n static propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleChange = (e) => {\n if (e.target.files.length > 0) {\n this.props.onSelectFile(e.target.files);\n }\n }\n\n handleClick = () => {\n this.fileElement.click();\n }\n\n setRef = (c) => {\n this.fileElement = c;\n }\n\n render () {\n\n const { intl, resetFileKey, disabled, acceptContentTypes } = this.props;\n\n return (\n <div className='compose-form__upload-button'>\n <IconButton icon='camera' title={intl.formatMessage(messages.upload)} disabled={disabled} onClick={this.handleClick} className='compose-form__upload-button-icon' size={18} inverted style={iconStyle} />\n <label>\n <span style={{ display: 'none' }}>{intl.formatMessage(messages.upload)}</span>\n <input\n key={resetFileKey}\n ref={this.setRef}\n type='file'\n multiple={false}\n accept={acceptContentTypes.toArray().join(',')}\n onChange={this.handleChange}\n disabled={disabled}\n style={{ display: 'none' }}\n />\n </label>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_button.js","import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n marked: { id: 'compose_form.spoiler.marked', defaultMessage: 'Text is hidden behind warning' },\n unmarked: { id: 'compose_form.spoiler.unmarked', defaultMessage: 'Text is not hidden' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n label: 'CW',\n title: intl.formatMessage(state.getIn(['compose', 'spoiler']) ? messages.marked : messages.unmarked),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input',\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSpoilerness());\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class TextIconButton extends React.PureComponent {\n\n static propTypes = {\n label: PropTypes.string.isRequired,\n title: PropTypes.string,\n active: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n ariaControls: PropTypes.string,\n };\n\n handleClick = (e) => {\n e.preventDefault();\n this.props.onClick();\n }\n\n render () {\n const { label, title, active, ariaControls } = this.props;\n\n return (\n <button title={title} aria-label={title} className={`text-icon-button ${active ? 'active' : ''}`} aria-expanded={active} onClick={this.handleClick} aria-controls={ariaControls}>\n {label}\n </button>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/text_icon_button.js","import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nconst mapStateToProps = state => ({\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeComposeVisibility(value));\n },\n\n isUserTouching,\n onModalOpen: props => dispatch(openModal('ACTIONS', props)),\n onModalClose: () => dispatch(closeModal()),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },\n public_long: { id: 'privacy.public.long', defaultMessage: 'Post to public timelines' },\n unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },\n unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Do not show in public timelines' },\n private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },\n private_long: { id: 'privacy.private.long', defaultMessage: 'Post to followers only' },\n direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },\n direct_long: { id: 'privacy.direct.long', defaultMessage: 'Post to mentioned users only' },\n change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },\n});\n\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nclass PrivacyDropdownMenu extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n items: PropTypes.array.isRequired,\n value: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n state = {\n mounted: false,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n handleKeyDown = e => {\n const { items } = this.props;\n const value = e.currentTarget.getAttribute('data-index');\n const index = items.findIndex(item => {\n return (item.value === value);\n });\n let element;\n\n switch(e.key) {\n case 'Escape':\n this.props.onClose();\n break;\n case 'Enter':\n this.handleClick(e);\n break;\n case 'ArrowDown':\n element = this.node.childNodes[index + 1];\n if (element) {\n element.focus();\n this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'ArrowUp':\n element = this.node.childNodes[index - 1];\n if (element) {\n element.focus();\n this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'Home':\n element = this.node.firstChild;\n if (element) {\n element.focus();\n this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n case 'End':\n element = this.node.lastChild;\n if (element) {\n element.focus();\n this.props.onChange(element.getAttribute('data-index'));\n }\n break;\n }\n }\n\n handleClick = e => {\n const value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n this.props.onClose();\n this.props.onChange(value);\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n if (this.focusedItem) this.focusedItem.focus();\n this.setState({ mounted: true });\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n setFocusRef = c => {\n this.focusedItem = c;\n }\n\n render () {\n const { mounted } = this.state;\n const { style, items, value } = this.props;\n\n return (\n <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n {({ opacity, scaleX, scaleY }) => (\n // It should not be transformed when mounting because the resulting\n // size will be used to determine the coordinate of the menu by\n // react-overlays\n <div className='privacy-dropdown__dropdown' style={{ ...style, opacity: opacity, transform: mounted ? `scale(${scaleX}, ${scaleY})` : null }} role='listbox' ref={this.setRef}>\n {items.map(item => (\n <div role='option' tabIndex='0' key={item.value} data-index={item.value} onKeyDown={this.handleKeyDown} onClick={this.handleClick} className={classNames('privacy-dropdown__option', { active: item.value === value })} aria-selected={item.value === value} ref={item.value === value ? this.setFocusRef : null}>\n <div className='privacy-dropdown__option__icon'>\n <i className={`fa fa-fw fa-${item.icon}`} />\n </div>\n\n <div className='privacy-dropdown__option__content'>\n <strong>{item.text}</strong>\n {item.meta}\n </div>\n </div>\n ))}\n </div>\n )}\n </Motion>\n );\n }\n\n}\n\n@injectIntl\nexport default class PrivacyDropdown extends React.PureComponent {\n\n static propTypes = {\n isUserTouching: PropTypes.func,\n isModalOpen: PropTypes.bool.isRequired,\n onModalOpen: PropTypes.func,\n onModalClose: PropTypes.func,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: false,\n placement: null,\n };\n\n handleToggle = ({ target }) => {\n if (this.props.isUserTouching()) {\n if (this.state.open) {\n this.props.onModalClose();\n } else {\n this.props.onModalOpen({\n actions: this.options.map(option => ({ ...option, active: option.value === this.props.value })),\n onClick: this.handleModalActionClick,\n });\n }\n } else {\n const { top } = target.getBoundingClientRect();\n this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n this.setState({ open: !this.state.open });\n }\n }\n\n handleModalActionClick = (e) => {\n e.preventDefault();\n\n const { value } = this.options[e.currentTarget.getAttribute('data-index')];\n\n this.props.onModalClose();\n this.props.onChange(value);\n }\n\n handleKeyDown = e => {\n switch(e.key) {\n case 'Escape':\n this.handleClose();\n break;\n }\n }\n\n handleClose = () => {\n this.setState({ open: false });\n }\n\n handleChange = value => {\n this.props.onChange(value);\n }\n\n componentWillMount () {\n const { intl: { formatMessage } } = this.props;\n\n this.options = [\n { icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) },\n { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) },\n { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) },\n { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) },\n ];\n }\n\n render () {\n const { value, intl } = this.props;\n const { open, placement } = this.state;\n\n const valueOption = this.options.find(item => item.value === value);\n\n return (\n <div className={classNames('privacy-dropdown', { active: open })} onKeyDown={this.handleKeyDown}>\n <div className={classNames('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })}>\n <IconButton\n className='privacy-dropdown__value-icon'\n icon={valueOption.icon}\n title={intl.formatMessage(messages.change_privacy)}\n size={18}\n expanded={open}\n active={open}\n inverted\n onClick={this.handleToggle}\n style={{ height: null, lineHeight: '27px' }}\n />\n </div>\n\n <Overlay show={open} placement={placement} target={this}>\n <PrivacyDropdownMenu\n items={this.options}\n value={value}\n onClose={this.handleClose}\n onChange={this.handleChange}\n />\n </Overlay>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n marked: { id: 'compose_form.sensitive.marked', defaultMessage: 'Media is marked as sensitive' },\n unmarked: { id: 'compose_form.sensitive.unmarked', defaultMessage: 'Media is not marked as sensitive' },\n});\n\nconst mapStateToProps = state => ({\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSensitivity());\n },\n\n});\n\nclass SensitiveButton extends React.PureComponent {\n\n static propTypes = {\n visible: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { visible, active, disabled, onClick, intl } = this.props;\n\n return (\n <Motion defaultStyle={{ scale: 0.87 }} style={{ scale: spring(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }}>\n {({ scale }) => {\n const icon = active ? 'eye-slash' : 'eye';\n const className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible,\n });\n return (\n <div className={className} style={{ transform: `scale(${scale})` }}>\n <IconButton\n className='compose-form__sensitive-button__icon'\n title={intl.formatMessage(active ? messages.marked : messages.unmarked)}\n icon={icon}\n onClick={onClick}\n size={18}\n active={active}\n disabled={disabled}\n style={{ lineHeight: null, height: null }}\n inverted\n />\n </div>\n );\n }}\n </Motion>\n );\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nconst perLine = 8;\nconst lines = 2;\n\nconst DEFAULTS = [\n '+1',\n 'grinning',\n 'kissing_heart',\n 'heart_eyes',\n 'laughing',\n 'stuck_out_tongue_winking_eye',\n 'sweat_smile',\n 'joy',\n 'yum',\n 'disappointed',\n 'thinking_face',\n 'weary',\n 'sob',\n 'sunglasses',\n 'heart',\n 'ok_hand',\n];\n\nconst getFrequentlyUsedEmojis = createSelector([\n state => state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap()),\n], emojiCounters => {\n let emojis = emojiCounters\n .keySeq()\n .sort((a, b) => emojiCounters.get(a) - emojiCounters.get(b))\n .reverse()\n .slice(0, perLine * lines)\n .toArray();\n\n if (emojis.length < DEFAULTS.length) {\n let uniqueDefaults = DEFAULTS.filter(emoji => !emojis.includes(emoji));\n emojis = emojis.concat(uniqueDefaults.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nconst getCustomEmojis = createSelector([\n state => state.get('custom_emojis'),\n], emojis => emojis.filter(e => e.get('visible_in_picker')).sort((a, b) => {\n const aShort = a.get('shortcode').toLowerCase();\n const bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort ) {\n return 1;\n } else {\n return 0;\n }\n}));\n\nconst mapStateToProps = state => ({\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state),\n});\n\nconst mapDispatchToProps = (dispatch, { onPickEmoji }) => ({\n onSkinTone: skinTone => {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: emoji => {\n dispatch(useEmoji(emoji));\n\n if (onPickEmoji) {\n onPickEmoji(emoji);\n }\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nconst messages = defineMessages({\n emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },\n emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },\n emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },\n custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },\n recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },\n search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },\n people: { id: 'emoji_button.people', defaultMessage: 'People' },\n nature: { id: 'emoji_button.nature', defaultMessage: 'Nature' },\n food: { id: 'emoji_button.food', defaultMessage: 'Food & Drink' },\n activity: { id: 'emoji_button.activity', defaultMessage: 'Activity' },\n travel: { id: 'emoji_button.travel', defaultMessage: 'Travel & Places' },\n objects: { id: 'emoji_button.objects', defaultMessage: 'Objects' },\n symbols: { id: 'emoji_button.symbols', defaultMessage: 'Symbols' },\n flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },\n});\n\nconst assetHost = process.env.CDN_HOST || '';\nlet EmojiPicker, Emoji; // load asynchronously\n\nconst backgroundImageFn = () => `${assetHost}/emoji/sheet_10.png`;\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nconst categoriesSort = [\n 'recent',\n 'custom',\n 'people',\n 'nature',\n 'foods',\n 'activity',\n 'places',\n 'objects',\n 'symbols',\n 'flags',\n];\n\nclass ModifierPickerMenu extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n };\n\n handleClick = e => {\n this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n }\n\n componentWillUnmount () {\n this.removeListeners();\n }\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n attachListeners () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n removeListeners () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n render () {\n const { active } = this.props;\n\n return (\n <div className='emoji-picker-dropdown__modifiers__menu' style={{ display: active ? 'block' : 'none' }} ref={this.setRef}>\n <button onClick={this.handleClick} data-index={1}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={1} backgroundImageFn={backgroundImageFn} /></button>\n <button onClick={this.handleClick} data-index={2}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={2} backgroundImageFn={backgroundImageFn} /></button>\n <button onClick={this.handleClick} data-index={3}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={3} backgroundImageFn={backgroundImageFn} /></button>\n <button onClick={this.handleClick} data-index={4}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={4} backgroundImageFn={backgroundImageFn} /></button>\n <button onClick={this.handleClick} data-index={5}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={5} backgroundImageFn={backgroundImageFn} /></button>\n <button onClick={this.handleClick} data-index={6}><Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={6} backgroundImageFn={backgroundImageFn} /></button>\n </div>\n );\n }\n\n}\n\nclass ModifierPicker extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n modifier: PropTypes.number,\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n };\n\n handleClick = () => {\n if (this.props.active) {\n this.props.onClose();\n } else {\n this.props.onOpen();\n }\n }\n\n handleSelect = modifier => {\n this.props.onChange(modifier);\n this.props.onClose();\n }\n\n render () {\n const { active, modifier } = this.props;\n\n return (\n <div className='emoji-picker-dropdown__modifiers'>\n <Emoji emoji='fist' set='twitter' size={22} sheetSize={32} skin={modifier} onClick={this.handleClick} backgroundImageFn={backgroundImageFn} />\n <ModifierPickerMenu active={active} onSelect={this.handleSelect} onClose={this.props.onClose} />\n </div>\n );\n }\n\n}\n\n@injectIntl\nclass EmojiPickerMenu extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n loading: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onPick: PropTypes.func.isRequired,\n style: PropTypes.object,\n placement: PropTypes.string,\n arrowOffsetLeft: PropTypes.string,\n arrowOffsetTop: PropTypes.string,\n intl: PropTypes.object.isRequired,\n skinTone: PropTypes.number.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n style: {},\n loading: true,\n frequentlyUsedEmojis: [],\n };\n\n state = {\n modifierOpen: false,\n placement: null,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n getI18n = () => {\n const { intl } = this.props;\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom),\n },\n };\n }\n\n handleClick = emoji => {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n this.props.onClose();\n this.props.onPick(emoji);\n }\n\n handleModifierOpen = () => {\n this.setState({ modifierOpen: true });\n }\n\n handleModifierClose = () => {\n this.setState({ modifierOpen: false });\n }\n\n handleModifierChange = modifier => {\n this.props.onSkinTone(modifier);\n }\n\n render () {\n const { loading, style, intl, custom_emojis, skinTone, frequentlyUsedEmojis } = this.props;\n\n if (loading) {\n return <div style={{ width: 299 }} />;\n }\n\n const title = intl.formatMessage(messages.emoji);\n const { modifierOpen } = this.state;\n\n return (\n <div className={classNames('emoji-picker-dropdown__menu', { selecting: modifierOpen })} style={style} ref={this.setRef}>\n <EmojiPicker\n perLine={8}\n emojiSize={22}\n sheetSize={32}\n custom={buildCustomEmojis(custom_emojis)}\n color=''\n emoji=''\n set='twitter'\n title={title}\n i18n={this.getI18n()}\n onClick={this.handleClick}\n include={categoriesSort}\n recent={frequentlyUsedEmojis}\n skin={skinTone}\n showPreview={false}\n backgroundImageFn={backgroundImageFn}\n emojiTooltip\n />\n\n <ModifierPicker\n active={modifierOpen}\n modifier={skinTone}\n onOpen={this.handleModifierOpen}\n onClose={this.handleModifierClose}\n onChange={this.handleModifierChange}\n />\n </div>\n );\n }\n\n}\n\n@injectIntl\nexport default class EmojiPickerDropdown extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n intl: PropTypes.object.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n skinTone: PropTypes.number.isRequired,\n };\n\n state = {\n active: false,\n loading: false,\n };\n\n setRef = (c) => {\n this.dropdown = c;\n }\n\n onShowDropdown = ({ target }) => {\n this.setState({ active: true });\n\n if (!EmojiPicker) {\n this.setState({ loading: true });\n\n EmojiPickerAsync().then(EmojiMart => {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n this.setState({ loading: false });\n }).catch(() => {\n this.setState({ loading: false });\n });\n }\n\n const { top } = target.getBoundingClientRect();\n this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' });\n }\n\n onHideDropdown = () => {\n this.setState({ active: false });\n }\n\n onToggle = (e) => {\n if (!this.state.loading && (!e.key || e.key === 'Enter')) {\n if (this.state.active) {\n this.onHideDropdown();\n } else {\n this.onShowDropdown(e);\n }\n }\n }\n\n handleKeyDown = e => {\n if (e.key === 'Escape') {\n this.onHideDropdown();\n }\n }\n\n setTargetRef = c => {\n this.target = c;\n }\n\n findTarget = () => {\n return this.target;\n }\n\n render () {\n const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;\n const title = intl.formatMessage(messages.emoji);\n const { active, loading, placement } = this.state;\n\n return (\n <div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}>\n <div ref={this.setTargetRef} className='emoji-button' title={title} aria-label={title} aria-expanded={active} role='button' onClick={this.onToggle} onKeyDown={this.onToggle} tabIndex={0}>\n <img\n className={classNames('emojione', { 'pulse-loading': active && loading })}\n alt='🙂'\n src={`${assetHost}/emoji/1f602.svg`}\n />\n </div>\n\n <Overlay show={active} placement={placement} target={this.findTarget}>\n <EmojiPickerMenu\n custom_emojis={this.props.custom_emojis}\n loading={loading}\n onClose={this.onHideDropdown}\n onPick={onPickEmoji}\n onSkinTone={onSkinTone}\n skinTone={skinTone}\n frequentlyUsedEmojis={frequentlyUsedEmojis}\n />\n </Overlay>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nconst mapStateToProps = state => ({\n mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),\n});\n\nexport default connect(mapStateToProps)(UploadForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_form_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nexport default class UploadForm extends ImmutablePureComponent {\n\n static propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired,\n };\n\n render () {\n const { mediaIds } = this.props;\n\n return (\n <div className='compose-form__upload-wrapper'>\n <UploadProgressContainer />\n\n <div className='compose-form__uploads-wrapper'>\n {mediaIds.map(id => (\n <UploadContainer id={id} key={id} />\n ))}\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_form.js","import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nconst mapStateToProps = state => ({\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress']),\n});\n\nexport default connect(mapStateToProps)(UploadProgress);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class UploadProgress extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n progress: PropTypes.number,\n };\n\n render () {\n const { active, progress } = this.props;\n\n if (!active) {\n return null;\n }\n\n return (\n <div className='upload-progress'>\n <div className='upload-progress__icon'>\n <i className='fa fa-upload' />\n </div>\n\n <div className='upload-progress__message'>\n <FormattedMessage id='upload_progress.label' defaultMessage='Uploading...' />\n\n <div className='upload-progress__backdrop'>\n <Motion defaultStyle={{ width: 0 }} style={{ width: spring(progress) }}>\n {({ width }) =>\n <div className='upload-progress__tracker' style={{ width: `${width}%` }} />\n }\n </Motion>\n </div>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_progress.js","import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\nimport { openModal } from '../../../actions/modal';\n\nconst mapStateToProps = (state, { id }) => ({\n media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onUndo: id => {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: (id, description) => {\n dispatch(changeUploadCompose(id, { description }));\n },\n\n onOpenFocalPoint: id => {\n dispatch(openModal('FOCAL_POINT', { id }));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' },\n});\n\n@injectIntl\nexport default class Upload extends ImmutablePureComponent {\n\n static propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired,\n onOpenFocalPoint: PropTypes.func.isRequired,\n };\n\n state = {\n hovered: false,\n focused: false,\n dirtyDescription: null,\n };\n\n handleUndoClick = () => {\n this.props.onUndo(this.props.media.get('id'));\n }\n\n handleFocalPointClick = () => {\n this.props.onOpenFocalPoint(this.props.media.get('id'));\n }\n\n handleInputChange = e => {\n this.setState({ dirtyDescription: e.target.value });\n }\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n }\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n }\n\n handleInputFocus = () => {\n this.setState({ focused: true });\n }\n\n handleInputBlur = () => {\n const { dirtyDescription } = this.state;\n\n this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n this.props.onDescriptionChange(this.props.media.get('id'), dirtyDescription);\n }\n }\n\n render () {\n const { intl, media } = this.props;\n const active = this.state.hovered || this.state.focused;\n const description = this.state.dirtyDescription || (this.state.dirtyDescription !== '' && media.get('description')) || '';\n const focusX = media.getIn(['meta', 'focus', 'x']);\n const focusY = media.getIn(['meta', 'focus', 'y']);\n const x = ((focusX / 2) + .5) * 100;\n const y = ((focusY / -2) + .5) * 100;\n\n return (\n <div className='compose-form__upload' onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}>\n <Motion defaultStyle={{ scale: 0.8 }} style={{ scale: spring(1, { stiffness: 180, damping: 12 }) }}>\n {({ scale }) => (\n <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}>\n <div className={classNames('compose-form__upload__actions', { active })}>\n <button className='icon-button' onClick={this.handleUndoClick}><i className='fa fa-times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button>\n {media.get('type') === 'image' && <button className='icon-button' onClick={this.handleFocalPointClick}><i className='fa fa-crosshairs' /> <FormattedMessage id='upload_form.focus' defaultMessage='Crop' /></button>}\n </div>\n\n <div className={classNames('compose-form__upload-description', { active })}>\n <label>\n <span style={{ display: 'none' }}>{intl.formatMessage(messages.description)}</span>\n\n <input\n placeholder={intl.formatMessage(messages.description)}\n type='text'\n value={description}\n maxLength={420}\n onFocus={this.handleInputFocus}\n onChange={this.handleInputChange}\n onBlur={this.handleInputBlur}\n />\n </label>\n </div>\n </div>\n )}\n </Motion>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst APPROX_HASHTAG_RE = /(?:^|[^\\/\\)\\w])#(\\w*[a-zA-Z·]\\w*)/i;\n\nconst mapStateToProps = state => ({\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n hashtagWarning: state.getIn(['compose', 'privacy']) !== 'public' && APPROX_HASHTAG_RE.test(state.getIn(['compose', 'text'])),\n directMessageWarning: state.getIn(['compose', 'privacy']) === 'direct',\n});\n\nconst WarningWrapper = ({ needsLockWarning, hashtagWarning, directMessageWarning }) => {\n if (needsLockWarning) {\n return <Warning message={<FormattedMessage id='compose_form.lock_disclaimer' defaultMessage='Your account is not {locked}. Anyone can follow you to view your follower-only posts.' values={{ locked: <a href='/user-settings'><FormattedMessage id='compose_form.lock_disclaimer.lock' defaultMessage='locked' /></a> }} />} />;\n }\n\n if (hashtagWarning) {\n return <Warning message={<FormattedMessage id='compose_form.hashtag_warning' defaultMessage=\"This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.\" />} />;\n }\n\n if (directMessageWarning) {\n const message = (\n <span>\n <FormattedMessage id='compose_form.direct_message_warning' defaultMessage='This toot will only be sent to all the mentioned users.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a>\n </span>\n );\n\n return <Warning message={message} />;\n }\n\n return null;\n};\n\nWarningWrapper.propTypes = {\n needsLockWarning: PropTypes.bool,\n hashtagWarning: PropTypes.bool,\n directMessageWarning: PropTypes.bool,\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/warning_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nexport default class Warning extends React.PureComponent {\n\n static propTypes = {\n message: PropTypes.node.isRequired,\n };\n\n render () {\n const { message } = this.props;\n\n return (\n <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n {({ opacity, scaleX, scaleY }) => (\n <div className='compose-form__warning' style={{ opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }}>\n {message}\n </div>\n )}\n </Motion>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/warning.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport classNames from 'classnames';\nimport Permalink from '../../../components/permalink';\nimport ComposeForm from '../../compose/components/compose_form';\nimport Search from '../../compose/components/search';\nimport NavigationBar from '../../compose/components/navigation_bar';\nimport ColumnHeader from './column_header';\nimport { List as ImmutableList } from 'immutable';\nimport { me } from '../../../initial_state';\n\nconst noop = () => { };\n\nconst messages = defineMessages({\n home_title: { id: 'column.home', defaultMessage: 'Home' },\n notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' },\n local_title: { id: 'column.community', defaultMessage: 'Local timeline' },\n federated_title: { id: 'column.public', defaultMessage: 'Federated timeline' },\n});\n\nconst PageOne = ({ acct, domain }) => (\n <div className='onboarding-modal__page onboarding-modal__page-one'>\n <div className='onboarding-modal__page-one__lead'>\n <h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to Mastodon!' /></h1>\n <p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' /></p>\n </div>\n\n <div className='onboarding-modal__page-one__extra'>\n <div className='display-case'>\n <div className='display-case__label'>\n <FormattedMessage id='onboarding.page_one.full_handle' defaultMessage='Your full handle' />\n </div>\n\n <div className='display-case__case'>\n @{acct}@{domain}\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_one.handle_hint' defaultMessage='This is what you would tell your friends to search for.' /></p>\n </div>\n </div>\n);\n\nPageOne.propTypes = {\n acct: PropTypes.string.isRequired,\n domain: PropTypes.string.isRequired,\n};\n\nconst PageTwo = ({ myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-two'>\n <div className='figure non-interactive'>\n <div className='pseudo-drawer'>\n <NavigationBar account={myAccount} />\n\n <ComposeForm\n text='Awoo! #introductions'\n suggestions={ImmutableList()}\n mentionedDomains={[]}\n spoiler={false}\n onChange={noop}\n onSubmit={noop}\n onPaste={noop}\n onPickEmoji={noop}\n onChangeSpoilerText={noop}\n onClearSuggestions={noop}\n onFetchSuggestions={noop}\n onSuggestionSelected={noop}\n showSearch\n />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>\n </div>\n);\n\nPageTwo.propTypes = {\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageThree = ({ myAccount }) => (\n <div className='onboarding-modal__page onboarding-modal__page-three'>\n <div className='figure non-interactive'>\n <Search\n value=''\n onChange={noop}\n onSubmit={noop}\n onClear={noop}\n onShow={noop}\n />\n\n <div className='pseudo-drawer'>\n <NavigationBar account={myAccount} />\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_three.search' defaultMessage='Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.' values={{ illustration: <Permalink to='/timelines/tag/illustration' href='/tags/illustration'>#illustration</Permalink>, introductions: <Permalink to='/timelines/tag/introductions' href='/tags/introductions'>#introductions</Permalink> }} /></p>\n <p><FormattedMessage id='onboarding.page_three.profile' defaultMessage='Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.' /></p>\n </div>\n);\n\nPageThree.propTypes = {\n myAccount: ImmutablePropTypes.map.isRequired,\n};\n\nconst PageFour = ({ domain, intl }) => (\n <div className='onboarding-modal__page onboarding-modal__page-four'>\n <div className='onboarding-modal__page-four__columns'>\n <div className='row'>\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='home' type={intl.formatMessage(messages.home_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.home' defaultMessage='The home timeline shows posts from people you follow.' /></p>\n </div>\n\n <div>\n <div className='figure non-interactive'><ColumnHeader icon='bell' type={intl.formatMessage(messages.notifications_title)} /></div>\n <p><FormattedMessage id='onboarding.page_four.notifications' defaultMessage='The notifications column shows when someone interacts with you.' /></p>\n </div>\n </div>\n\n <div className='row'>\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='users' type={intl.formatMessage(messages.local_title)} /></div>\n </div>\n\n <div>\n <div className='figure non-interactive' style={{ marginBottom: 0 }}><ColumnHeader icon='globe' type={intl.formatMessage(messages.federated_title)} /></div>\n </div>\n </div>\n\n <p><FormattedMessage id='onboarding.page_five.public_timelines' defaultMessage='The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.' values={{ domain }} /></p>\n </div>\n </div>\n);\n\nPageFour.propTypes = {\n domain: PropTypes.string.isRequired,\n intl: PropTypes.object.isRequired,\n};\n\nconst PageSix = ({ admin, domain }) => {\n let adminSection = '';\n\n if (admin) {\n adminSection = (\n <p>\n <FormattedMessage id='onboarding.page_six.admin' defaultMessage=\"Your instance's admin is {admin}.\" values={{ admin: <Permalink href={admin.get('url')} to={`/accounts/${admin.get('id')}`}>@{admin.get('acct')}</Permalink> }} />\n <br />\n <FormattedMessage id='onboarding.page_six.read_guidelines' defaultMessage=\"Please read {domain}'s {guidelines}!\" values={{ domain, guidelines: <a href='/about/more' target='_blank'><FormattedMessage id='onboarding.page_six.guidelines' defaultMessage='community guidelines' /></a> }} />\n </p>\n );\n }\n\n return (\n <div className='onboarding-modal__page onboarding-modal__page-six'>\n <h1><FormattedMessage id='onboarding.page_six.almost_done' defaultMessage='Almost done...' /></h1>\n {adminSection}\n <p><FormattedMessage id='onboarding.page_six.github' defaultMessage='Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.' values={{ github: <a href='https://github.com/tootsuite/mastodon' target='_blank' rel='noopener'>GitHub</a> }} /></p>\n <p><FormattedMessage id='onboarding.page_six.apps_available' defaultMessage='There are {apps} available for iOS, Android and other platforms.' values={{ apps: <a href='https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' target='_blank' rel='noopener'><FormattedMessage id='onboarding.page_six.various_app' defaultMessage='mobile apps' /></a> }} /></p>\n <p><em><FormattedMessage id='onboarding.page_six.appetoot' defaultMessage='Bon Appetoot!' /></em></p>\n </div>\n );\n};\n\nPageSix.propTypes = {\n admin: ImmutablePropTypes.map,\n domain: PropTypes.string.isRequired,\n};\n\nconst mapStateToProps = state => ({\n myAccount: state.getIn(['accounts', me]),\n admin: state.getIn(['accounts', state.getIn(['meta', 'admin'])]),\n domain: state.getIn(['meta', 'domain']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class OnboardingModal extends React.PureComponent {\n\n static propTypes = {\n onClose: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n myAccount: ImmutablePropTypes.map.isRequired,\n domain: PropTypes.string.isRequired,\n admin: ImmutablePropTypes.map,\n };\n\n state = {\n currentIndex: 0,\n };\n\n componentWillMount() {\n const { myAccount, admin, domain, intl } = this.props;\n this.pages = [\n <PageOne acct={myAccount.get('acct')} domain={domain} />,\n <PageTwo myAccount={myAccount} />,\n <PageThree myAccount={myAccount} />,\n <PageFour domain={domain} intl={intl} />,\n <PageSix admin={admin} domain={domain} />,\n ];\n };\n\n componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n componentWillUnmount() {\n window.addEventListener('keyup', this.handleKeyUp);\n }\n\n handleSkip = (e) => {\n e.preventDefault();\n this.props.onClose();\n }\n\n handleDot = (e) => {\n const i = Number(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.setState({ currentIndex: i });\n }\n\n handlePrev = () => {\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.max(0, currentIndex - 1),\n }));\n }\n\n handleNext = () => {\n const { pages } = this;\n this.setState(({ currentIndex }) => ({\n currentIndex: Math.min(currentIndex + 1, pages.length - 1),\n }));\n }\n\n handleSwipe = (index) => {\n this.setState({ currentIndex: index });\n }\n\n handleKeyUp = ({ key }) => {\n switch (key) {\n case 'ArrowLeft':\n this.handlePrev();\n break;\n case 'ArrowRight':\n this.handleNext();\n break;\n }\n }\n\n handleClose = () => {\n this.props.onClose();\n }\n\n render () {\n const { pages } = this;\n const { currentIndex } = this.state;\n const hasMore = currentIndex < pages.length - 1;\n\n const nextOrDoneBtn = hasMore ? (\n <button onClick={this.handleNext} className='onboarding-modal__nav onboarding-modal__next shake-bottom'>\n <FormattedMessage id='onboarding.next' defaultMessage='Next' /> <i className='fa fa-fw fa-chevron-right' />\n </button>\n ) : (\n <button onClick={this.handleClose} className='onboarding-modal__nav onboarding-modal__done shake-bottom'>\n <FormattedMessage id='onboarding.done' defaultMessage='Done' /> <i className='fa fa-fw fa-check' />\n </button>\n );\n\n return (\n <div className='modal-root__modal onboarding-modal'>\n <ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>\n {pages.map((page, i) => {\n const className = classNames('onboarding-modal__page__wrapper', `onboarding-modal__page__wrapper-${i}`, {\n 'onboarding-modal__page__wrapper--active': i === currentIndex,\n });\n\n return (\n <div key={i} className={className}>{page}</div>\n );\n })}\n </ReactSwipeableViews>\n\n <div className='onboarding-modal__paginator'>\n <div>\n <button\n onClick={this.handleSkip}\n className='onboarding-modal__nav onboarding-modal__skip'\n >\n <FormattedMessage id='onboarding.skip' defaultMessage='Skip' />\n </button>\n </div>\n\n <div className='onboarding-modal__dots'>\n {pages.map((_, i) => {\n const className = classNames('onboarding-modal__dot', {\n active: i === currentIndex,\n });\n\n return (\n <div\n key={`dot-${i}`}\n role='button'\n tabIndex='0'\n data-index={i}\n onClick={this.handleDot}\n className={className}\n />\n );\n })}\n </div>\n\n <div>\n {nextOrDoneBtn}\n </div>\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/onboarding_modal.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ActionBar from './action_bar';\nimport Avatar from '../../../components/avatar';\nimport Permalink from '../../../components/permalink';\nimport IconButton from '../../../components/icon_button';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class NavigationBar extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onClose: PropTypes.func,\n };\n\n render () {\n return (\n <div className='navigation-bar'>\n <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>\n <span style={{ display: 'none' }}>{this.props.account.get('acct')}</span>\n <Avatar account={this.props.account} size={40} />\n </Permalink>\n\n <div className='navigation-bar__profile'>\n <Permalink href={this.props.account.get('url')} to={`/accounts/${this.props.account.get('id')}`}>\n <strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong>\n </Permalink>\n </div>\n\n <div className='navigation-bar__actions'>\n <IconButton className='close' title='' icon='close' onClick={this.props.onClose} />\n <ActionBar account={this.props.account} />\n </div>\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 ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\n\nconst messages = defineMessages({\n edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' },\n pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },\n favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },\n lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },\n blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },\n domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },\n mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },\n});\n\n@injectIntl\nexport default class ActionBar extends React.PureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { intl } = this.props;\n\n let menu = [];\n\n menu.push({ text: intl.formatMessage(messages.preferences), href: '/user-settings' });\n menu.push({ text: intl.formatMessage(messages.pins), to: '/pinned' });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.follow_requests), to: '/follow_requests' });\n menu.push({ text: intl.formatMessage(messages.favourites), to: '/favourites' });\n menu.push({ text: intl.formatMessage(messages.lists), to: '/lists' });\n menu.push(null);\n menu.push({ text: intl.formatMessage(messages.mutes), to: '/mutes' });\n menu.push({ text: intl.formatMessage(messages.blocks), to: '/blocks' });\n menu.push({ text: intl.formatMessage(messages.domain_blocks), to: '/domain_blocks' });\n\n return (\n <div className='compose__action-bar'>\n <div className='compose__action-bar-dropdown'>\n <DropdownMenuContainer items={menu} icon='ellipsis-v' size={24} direction='right' />\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/action_bar.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { searchEnabled } from '../../../initial_state';\n\nconst messages = defineMessages({\n placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },\n});\n\nclass SearchPopout extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n };\n\n render () {\n const { style } = this.props;\n const extraInformation = searchEnabled ? <FormattedMessage id='search_popout.tips.full_text' defaultMessage='Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.' /> : <FormattedMessage id='search_popout.tips.text' defaultMessage='Simple text returns matching display names, usernames and hashtags' />;\n return (\n <div style={{ ...style, position: 'absolute', width: 315 }}>\n <Motion defaultStyle={{ opacity: 0, scaleX: 0.85, scaleY: 0.75 }} style={{ opacity: spring(1, { damping: 35, stiffness: 400 }), scaleX: spring(1, { damping: 35, stiffness: 400 }), scaleY: spring(1, { damping: 35, stiffness: 400 }) }}>\n {({ opacity, scaleX, scaleY }) => (\n <div className='search-popout' style={{ opacity: opacity, transform: `scale(${scaleX}, ${scaleY})` }}>\n <h4><FormattedMessage id='search_popout.search_format' defaultMessage='Advanced search format' /></h4>\n\n <ul>\n <li><em>#example</em> <FormattedMessage id='search_popout.tips.hashtag' defaultMessage='hashtag' /></li>\n <li><em>@username@domain</em> <FormattedMessage id='search_popout.tips.user' defaultMessage='user' /></li>\n <li><em>URL</em> <FormattedMessage id='search_popout.tips.user' defaultMessage='user' /></li>\n <li><em>URL</em> <FormattedMessage id='search_popout.tips.status' defaultMessage='status' /></li>\n </ul>\n\n {extraInformation}\n </div>\n )}\n </Motion>\n </div>\n );\n }\n\n}\n\n@injectIntl\nexport default class Search extends React.PureComponent {\n\n static propTypes = {\n value: PropTypes.string.isRequired,\n submitted: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onShow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n expanded: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleClear = (e) => {\n e.preventDefault();\n\n if (this.props.value.length > 0 || this.props.submitted) {\n this.props.onClear();\n }\n }\n\n handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }\n\n noop () {\n\n }\n\n handleFocus = () => {\n this.setState({ expanded: true });\n this.props.onShow();\n }\n\n handleBlur = () => {\n this.setState({ expanded: false });\n }\n\n render () {\n const { intl, value, submitted } = this.props;\n const { expanded } = this.state;\n const hasValue = value.length > 0 || submitted;\n\n return (\n <div className='search'>\n <label>\n <span style={{ display: 'none' }}>{intl.formatMessage(messages.placeholder)}</span>\n <input\n className='search__input'\n type='text'\n placeholder={intl.formatMessage(messages.placeholder)}\n value={value}\n onChange={this.handleChange}\n onKeyUp={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </label>\n\n <div role='button' tabIndex='0' className='search__icon' onClick={this.handleClear}>\n <i className={`fa fa-search ${hasValue ? '' : 'active'}`} />\n <i aria-label={intl.formatMessage(messages.placeholder)} className={`fa fa-times-circle ${hasValue ? 'active' : ''}`} />\n </div>\n\n <Overlay show={expanded && !hasValue} placement='bottom' target={this}>\n <SearchPopout />\n </Overlay>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search.js"],"sourceRoot":""}
\ No newline at end of file